金庸小说人物知识图谱构建——人名提取

本步的思路是运用命名实体识别工具来提取小说中的人名

我用的工具是stanfordcorenlp,当然还有其他的工具可以选择,如snownlp,THULAC等,我将提取的人名保存在txt文件中,经过人工去错后,得到如下人名:

金庸小说人物知识图谱构建——人名提取_第1张图片

提取人名的代码如下

#写入txt文件
from stanfordcorenlp import StanfordCoreNLP

nlp = StanfordCoreNLP(r'D:\java\stanford-corenlp-4.2.2', lang='zh')

with open('XXXXXXX\雪山飞狐.txt','r',encoding='gb18030') as f1:
    book = f1.readlines()

name_list = []
for line in book:
    res = nlp.ner(line)
    for i in res:
        if i[1] == 'PERSON':
            if i[0] in name_list:
                continue
            else:
                name_list.append(i[0])

with open("XXXXXXX\roles.txt","w") as f2:
    for name in name_list:
        f2.writelines(name)
        f2.writelines('\n')
f2.close()

注意!
这样的写法需要自己有小说数据集。

你可能感兴趣的:(知识图谱,知识图谱)