entity_dict = defaultdict(list) i = 0 for char, tag inzip(sent, tags_list): if'B-'in tag: entity = char j = i+1 entity_type = tag.split('-')[-1] while j < min(len(sent), len(tags_list)) and'I-%s' % entity_type in tags_list[j]: entity += sent[j] j += 1
entity_dict[entity_type].append(entity)
i += 1
returndict(entity_dict)
# 输入句子,进行预测 while1: # 输入句子 text = input("Please enter an sentence: ").replace(' ', '') # 利用训练好的模型进行预测 train_x = np.array([f(text)]) y = np.argmax(ner_model.predict(train_x), axis=2) y = [id_label_dict[_] for _ in y[0] if _]
# 输出预测结果 pprint(get_entity(text, y))
在网上找几条新闻,预测结果如下:
1 2 3 4 5 6 7 8 9 10
Please enter an sentence: 驴妈妈旅游网创始人洪清华近日接受媒体采访谈及驴妈妈的发展模式时表示:现在,电商有两种做法——小而美的电商追求盈利,大而全的电商钟情规模。 {'PER': ['洪清华']} Please enter an sentence: EF英孚教育集团是全球最大的私人英语教育机构,主要致力于英语培训、留学旅游以及英语文化交流等方面。 {'ORG': ['EF英孚教育集团']} Please enter an sentence: 宋元时期起,在台湾早期开发的过程中,中华文化传统已随着大陆垦民传入台湾。 {'LOC': ['台湾', '中华', '台湾']} Please enter an sentence: 吸引了众多投资者来津发展,康师傅红烧牛肉面就是于1992年在天津诞生。 {'LOC': ['天津']} Please enter an sentence: 经过激烈角逐,那英战队成功晋级16强的学员有实力非凡的姚贝娜、挚情感打动观众的朱克、音乐创作能力十分突出的侯磊。 {'PER': ['姚贝娜', '朱克', '侯磊']}
sentenceslength: 10748 lastsentence: 艺术家也讨厌画廊的老板,内心恨他们,这样的话,你是在这样的状态下,两年都是一次性合作,甚至两年、 start ALBERT encding endALBERTencoding sentenceslength: 1343 lastsentence: 另外意大利的PlayGeneration杂志也刚刚给出了92%的高分。 start ALBERT encding endALBERTencoding sentenceslength: 1343 lastsentence: 另外意大利的PlayGeneration杂志也刚刚给出了92%的高分。 start ALBERT encding endALBERTencoding ...... ....... precision recall f1-score support
book 0.93430.84210.8858152 position 0.95490.89650.9248425 government 0.93720.91800.9275244 game 0.69680.67250.6844287 organization 0.88360.86050.8719344 company 0.86590.77600.8184366 address 0.83940.81870.8289364 movie 0.92170.70670.8000150 name 0.87710.80710.8406451 scene 0.99390.81910.8981199