现在有很多命名实体识别开源工具,stanfordnlp,hanlp等等,但都不适用于本项目,经过一一尝试学习,觉得可以用,但没必要
本项目NER思路:(主要通过自定义词典定义关键词词性,对用户输入文本进行词性标注,然后根据词性进行命名实体识别)
-
对之前处理得到的所有关键词构建本地用户词典,
eg:
利用jieba.load_userdict("…/data/userdict.txt")加载本地词典进行分词。得到在词典中的关键词 -
对问题进行词性标注,每个分的词后还有一个标注的词性
abstract_seged = jieba.posseg.cut(str(clean_abstract)) -
对分词词性后的对象分析,只要关键词
for w in abstract_seged:
if w.flag=='ngg':
# 预处理问题
word= w.word
abstract_word.append(str(word).strip())
abstract_word=list(set(abstract_word))