bojone / bert4keras

keras implement of transformers for humans
https://kexue.fm/archives/6915
Apache License 2.0
5.37k stars 929 forks source link

【NER示例】 将输入加载为文本段的问题 #290

Open wwwjljj opened 3 years ago

wwwjljj commented 3 years ago

提问时请尽可能提供如下信息:

基本信息

问题描述

examples/task_sequence_labeling_ner_crf.py

其中的load_data 函数,把原始输入划分成了文本片段和标签的形式,比如 [[['1976年冬,配合兴建', 'O'], ['涡河', 'RIV'], ['闸水利工程,开挖了', 'O'],...]] 这感觉不是一个NER的序列的问题了,否则的话,预测时,来了一段文本,这个文本段和标签该如何划分呢?

请大佬指教~

i4never commented 3 years ago

训练/评估/测试需要监督数据,只不过以这个形式喂给模型,如果你接着看代码、data_generator里处理了这个token/label序列 https://github.com/bojone/bert4keras/blob/ba1780e1951519e5cb8de556bb0bb39483e618c1/examples/task_sequence_labeling_ner_crf.py#L75 可能需要搞清楚ner问题模型的输入是什么、输出是什么、怎么解码输出、怎么计算loss

bojone commented 3 years ago

https://github.com/bojone/bert4keras/blob/ba1780e1951519e5cb8de556bb0bb39483e618c1/examples/task_sequence_labeling_ner_crf.py#L142

wwwjljj commented 3 years ago

https://github.com/bojone/bert4keras/blob/ba1780e1951519e5cb8de556bb0bb39483e618c1/examples/task_sequence_labeling_ner_crf.py#L142

谢谢大佬,明白了,已经看完示例并运行 下次一定全部看完代码再问

wwwjljj commented 3 years ago

训练/评估/测试需要监督数据,只不过以这个形式喂给模型,如果你接着看代码、data_generator里处理了这个token/label序列 https://github.com/bojone/bert4keras/blob/ba1780e1951519e5cb8de556bb0bb39483e618c1/examples/task_sequence_labeling_ner_crf.py#L75

可能需要搞清楚ner问题模型的输入是什么、输出是什么、怎么解码输出、怎么计算loss

收到,多谢,已经搞明白了,可能为了输入效率来预处理的,模型很棒