命名实体识别定义:识别文本中具有特殊意义的实体,如人名,机构,地点,专有名词等。
查阅相关知识:https://easyai.tech/ai-definition/ner/
这里我使用的BiLSTM+CRF算法
注意:BiLSTM+CRF模型输入的是Word Embedding,因此对样本先需要进行分词,词性标注及BIO标注
思路:上一章提到“客服问答清单”及“楼盘/小区信息”经过简单处理成规范格式,通过“楼盘/小区信息”的实体字段标注“客服问答清单”来训练深度学习模型,从而提取“客服问答清单”中content的命名实体。即“楼盘/小区信息”中的字段提取后作为用户词典/房产领域词典导入分词器,分词的同时进行词性标注。
#导出mysql数据库中自定义选择的实体数据(去重,简单排序)
#加载用户自定义的实体词典
jieba.load_userdict()
#对问答内容进行分词及标注
jieba.posseg.cut()
#继续文本标注生产ann标注文件
tmp = 'T{}\t{} {} {}\t{}\n'.format(count, tag, n_index, n_index + len(word), word)
BIO标注:将每个元素标注为“B-X”、“I-X”或者“O”。其中,“B-X”表示此元素所在的片段属于X类型并且此元素在此片段的开头,“I-X”表示此元素所在的片段属于X类型并且此元素在此片段的中间位置,“O”表示不属于任何类型。
利用"问答内容"文本+ann标注文件生成,每一行一个字符,字符后面跟上空格,然后跟上该字符的标注, 每个样本之间用空行分隔。
链接地址: