当前位置: 首页 > 工具软件 > FoolNLTK > 使用案例 >

基于Foolnltk的《三体》文本命名实体分析

赵飞语
2023-12-01

FoolNLTK是一个使用双向 LSTM 构建的中文处理工具包,该工具不仅可以实现分词、词性标注和命名实体识别,同时还能使用用户自定义字典加强分词的效果。

中文处理工具包 GitHub 地址:https://github.com/rockyzhengwu/FoolNLTK

本文中应用了FoolNLTK,对三体的第一部中的命名实体进行了分析,统计了相关人物,相关企业和相关组织在文中出现的次数占比。


 贴上代码:

import fool

person_dict = {}
company_dict = {}
org_dict = {}
person_count = 0
company_count =0
org_count =0

def dict2list(dic:dict):
    ''' 将字典转化为列表 '''
    keys = dic.keys()
    vals = dic.values()
    lst = [(key, val) for key, val in zip(keys, vals)]
    return lst

f =open('E:\\santi\\santi1.txt')
lines = f.readlines()

for line in lines:
    line = line.replace('\t', '').replace('\n', '').replace('\r', '').replace(' ', '').replace('=', '').replace(u'\u3000', u'')
    words, ners = fool.analysis(line)
    for ner in ners:
        ner_type = ner[2]
        ner_name = ner[3]
        #滤除长度只有1的命名实体
        if len(ner_name)==1:
            continue
        if ner_type == 'company':
            if ner_name not in company_dict.keys():
                company_dict[ner_name] = 1
                company_count +=1
            else:
                company_dict[ner_name] += 1
        elif ner_type == 'person':
            if ner_name not in person_dict.keys():
                person_dict[ner_name] = 1
                person_count +=1
            else:
                person_dict[ner_name] += 1
        elif ner_type == 'org':
            if ner_name not in org_dict.keys():
                org_dict[ner_name] = 1
                org_count +=1
            else:
                org_dict[ner_name] += 1


for person in person_dict:
    person_dict[person] /= person_count
for company in company_dict:
    company_dict[company] /= company_count
for org in org_dict:
    org_dict[org] /= org_count

print("相关人物:",sorted(dict2list(person_dict),key = lambda x:x[1],reverse=True),
      "相关企业:",sorted(dict2list(company_dict),key = lambda x:x[1],reverse=True),
    "相关组织:",sorted(dict2list(org_dict),key = lambda x:x[1],reverse=True))

结果如下:
person =[('汪淼', 0.7758007117437722), ('叶文洁', 0.48398576512455516), ('杨卫宁', 0.18505338078291814), ('周文王', 0.1601423487544484), ('审问者', 0.15658362989323843), ('大史', 0.1494661921708185), ('秦始皇', 0.12455516014234876), ('丁仪', 0.099644128113879), ('冯·诺伊曼', 0.07473309608540925), ('史强', 0.05693950177935943), ('杨母', 0.05693950177935943), ('伊文斯', 0.05693950177935943), ('常伟思', 0.0498220640569395), ('魏成', 0.0498220640569395), ('沙瑞山', 0.046263345195729534), ('墨子', 0.046263345195729534), ('爱因斯坦', 0.042704626334519574), ('白沐霖', 0.042704626334519574), ('雷志成', 0.042704626334519574), ('雷政委', 0.042704626334519574), ('潘寒', 0.042704626334519574), ('申玉菲', 0.03558718861209965), ('绍琳', 0.03202846975088968), ('杨总', 0.03202846975088968), ('叶老师', 0.03202846975088968), ('牛顿', 0.03202846975088968), ('斯坦顿', 0.03202846975088968), ('叶哲泰', 0.028469750889679714), ('红岸', 0.02491103202846975), ('纣王', 0.02491103202846975), ('小汪', 0.02491103202846975), ('监听员', 0.02491103202846975), ('冬冬', 0.021352313167259787), ('红卫兵', 0.017793594306049824), ('张主任', 0.017793594306049824), ('指指', 0.017793594306049824), ('杨冬', 0.017793594306049824), ('姬昌', 0.017793594306049824), ('麦克', 0.017793594306049824), ('叶文治', 0.017793594306049824), ('执政官', 0.017793594306049824), ('斯坦', 0.014234875444839857), ('程丽华', 0.014234875444839857), ('汪教授', 0.014234875444839857), ('伏羲', 0.014234875444839857), ('口口口', 0.014234875444839857), ('教皇', 0.014234875444839857), ('伽利略', 0.014234875444839857), ('上校', 0.014234875444839857), ('智子', 0.014234875444839857), ('阮老师', 0.010676156583629894), ('程代表', 0.010676156583629894), ('这人', 0.010676156583629894), ('常将军', 0.010676156583629894), ('丁博士', 0.010676156583629894), ('汪森', 0.010676156583629894), ('孔子', 0.010676156583629894), ('徐冰冰', 0.010676156583629894), ('小徐', 0.010676156583629894), ('扬卫宁', 0.010676156583629894), ('独臂', 0.010676156583629894), ('厉声', 0.0071174377224199285), ('小红', 0.0071174377224199285), ('卫兵', 0.0071174377224199285), ('雷达峰', 0.0071174377224199285), ('那人', 0.0071174377224199285), ('叶文雪', 0.0071174377224199285), ('戴眼镜', 0.0071174377224199285), ('伟思', 0.0071174377224199285), ('常伟', 0.0071174377224199285), ('钱钟书', 0.0071174377224199285), ('莱卡', 0.0071174377224199285), ('豆豆', 0.0071174377224199285), ('1187', 0.0071174377224199285), ('1186', 0.0071174377224199285), ('老张', 0.0071174377224199285), ('李瑶', 0.0071174377224199285), ('l75', 0.0071174377224199285), ('ll74', 0.0071174377224199285), ('恒纪元', 0.0071174377224199285), ('居里', 0.0071174377224199285), ('东西', 0.0071174377224199285), ('巨日', 0.0071174377224199285), ('亚历士多德', 0.0071174377224199285), ('福尔摩斯', 0.0071174377224199285), ('诺伊曼', 0.0071174377224199285), ('莫扎特', 0.0071174377224199285), ('马座三星', 0.0071174377224199285), ('马座', 0.0071174377224199285), ('马座星', 0.0071174377224199285), ('常伟恩', 0.0071174377224199285), ('江森', 0.0071174377224199285), ('三体舰队', 0.0071174377224199285), ('地球人', 0.0071174377224199285), ('老舍', 0.0035587188612099642), ('吴晗', 0.0035587188612099642), ('葛伯赞', 0.0035587188612099642), ('傅雷', 0.0035587188612099642), ('押送', 0.0035587188612099642), ('同系', 0.0035587188612099642), ('于右任', 0.0035587188612099642), ('曹谷冰', 0.0035587188612099642), ('无言以对', 0.0035587188612099642), ('柞树', 0.0035587188612099642), ('山榆', 0.0035587188612099642), ('水曲柳', 0.0035587188612099642), ('陈年', 0.0035587188612099642), ('自顾', 0.0035587188612099642), ('卡逊', 0.0035587188612099642), ('遥望文洁', 0.0035587188612099642), ('同室', 0.0035587188612099642), ('女干部', 0.0035587188612099642), ('随行者', 0.0035587188612099642), ('文雪', 0.0035587188612099642), ('军管', 0.0035587188612099642), ('叶文沽', 0.0035587188612099642), ('史强厉声', 0.0035587188612099642), ('凑近', 0.0035587188612099642), ('粗嗓门', 0.0035587188612099642), ('丁仪点', 0.0035587188612099642), ('返身', 0.0035587188612099642), ('霍金才', 0.0035587188612099642), ('阿西莫夫', 0.0035587188612099642), ('汗淼', 0.0035587188612099642), ('ll99', 0.0035587188612099642), ('l5', 0.0035587188612099642), ('1199:07', 0.0035587188612099642), ('l194', 0.0035587188612099642), ('汪淼教', 0.0035587188612099642), ('胶卷冲', 0.0035587188612099642), ('l186', 0.0035587188612099642), ('ll86', 0.0035587188612099642), ('张教授', 0.0035587188612099642), ('申博士', 0.0035587188612099642), ('玉菲', 0.0035587188612099642), ('外勤费', 0.0035587188612099642), ('1180:05:00', 0.0035587188612099642), ('ll80', 0.0035587188612099642), ('ll75', 0.0035587188612099642), ('话刚', 0.0035587188612099642), ('长夜', 0.0035587188612099642), ('想请', 0.0035587188612099642), ('遣随者', 0.0035587188612099642), ('说话间', 0.0035587188612099642), ('大鼎', 0.0035587188612099642), ('周文', 0.0035587188612099642), ('梦初醒', 0.0035587188612099642), ('复活者', 0.0035587188612099642), ('大三', 0.0035587188612099642), ('汪淼常', 0.0035587188612099642), ('小杨', 0.0035587188612099642), ('稚拙', 0.0035587188612099642), ('巴赫', 0.0035587188612099642), ('木盒', 0.0035587188612099642), ('字宙', 0.0035587188612099642), ('汪先生', 0.0035587188612099642), ('沙博士', 0.0035587188612099642), ('威尔逊', 0.0035587188612099642), ('临别时', 0.0035587188612099642), ('惺忪', 0.0035587188612099642), ('邪乎', 0.0035587188612099642), ('仰天', 0.0035587188612099642), ('诺贝尔', 0.0035587188612099642), ('靓妹', 0.0035587188612099642), ('别管', 0.0035587188612099642), ('三体', 0.0035587188612099642), ('照大史', 0.0035587188612099642), ('小下去', 0.0035587188612099642), ('飞星', 0.0035587188612099642), ('记录员', 0.0035587188612099642), ('汉武帝', 0.0035587188612099642), ('小沙', 0.0035587188612099642), ('雷志', 0.0035587188612099642), ('一不过', 0.0035587188612099642), ('绿光', 0.0035587188612099642), ('突变型', 0.0035587188612099642), ('年口', 0.0035587188612099642), ('世界语', 0.0035587188612099642), ('比尔·马修', 0.0035587188612099642), ('马修', 0.0035587188612099642), ('卡达', 0.0035587188612099642), ('谢夫', 0.0035587188612099642), ('声调', 0.0035587188612099642), ('哪天', 0.0035587188612099642), ('戴金冠', 0.0035587188612099642), ('汪淼点', 0.0035587188612099642), ('翘山羊胡', 0.0035587188612099642), ('讥讽', 0.0035587188612099642), ('汪淼镇', 0.0035587188612099642), ('定地', 0.0035587188612099642), ('焦尸', 0.0035587188612099642), ('伽利略怪', 0.0035587188612099642), ('德狞', 0.0035587188612099642), ('合上书', 0.0035587188612099642), ('说得对', 0.0035587188612099642), ('硕十', 0.0035587188612099642), ('长老', 0.0035587188612099642), ('也就是', 0.0035587188612099642), ('魏成眨', 0.0035587188612099642), ('汪老师', 0.0035587188612099642), ('原话', 0.0035587188612099642), ('魏成站', 0.0035587188612099642), ('冯·诺依曼', 0.0035587188612099642), ('三日连珠', 0.0035587188612099642), ('长剑剑柄', 0.0035587188612099642), ('列回', 0.0035587188612099642), ('冯·诺伊', 0.0035587188612099642), ('长剑', 0.0035587188612099642), ('冯,诺伊曼', 0.0035587188612099642), ('半直', 0.0035587188612099642), ('牛顿松', 0.0035587188612099642), ('太阳升', 0.0035587188612099642), ('烟斗柄', 0.0035587188612099642), ('潘寒摇', 0.0035587188612099642), ('汪淼问', 0.0035587188612099642), ('老哲', 0.0035587188612099642), ('侵者', 0.0035587188612099642), ('哥白尼', 0.0035587188612099642), ('爱因斯坦拉着琴', 0.0035587188612099642), ('巨月', 0.0035587188612099642), ('洛希', 0.0035587188612099642), ('潘寒镇', 0.0035587188612099642), ('静地', 0.0035587188612099642), ('叶文杰', 0.0035587188612099642), ('叶文清', 0.0035587188612099642), ('婷婷', 0.0035587188612099642), ('哈里', 0.0035587188612099642), ('比德森', 0.0035587188612099642), ('回波', 0.0035587188612099642), ('初升', 0.0035587188612099642), ('儿神', 0.0035587188612099642), ('值班事', 0.0035587188612099642), ('岗哨', 0.0035587188612099642), ('刘海', 0.0035587188612099642), ('大凤', 0.0035587188612099642), ('郭沫若', 0.0035587188612099642), ('受迫害', 0.0035587188612099642), ('白求恩', 0.0035587188612099642), ('辛格', 0.0035587188612099642), ('西北褐燕', 0.0035587188612099642), ('小树', 0.0035587188612099642), ('这似', 0.0035587188612099642), ('可白求恩', 0.0035587188612099642), ('叶同志', 0.0035587188612099642), ('必说', 0.0035587188612099642), ('来接', 0.0035587188612099642), ('三体叛军', 0.0035587188612099642), ('叶文法', 0.0035587188612099642), ('伊斯兰教', 0.0035587188612099642), ('稍顿', 0.0035587188612099642), ('叶文活', 0.0035587188612099642), ('王星', 0.0035587188612099642), ('震昏', 0.0035587188612099642), ('炸坝', 0.0035587188612099642), ('别看', 0.0035587188612099642), ('常伟思厉声', 0.0035587188612099642), ('杰克逊', 0.0035587188612099642), ('坦顿', 0.0035587188612099642), ('盖拉德水道', 0.0035587188612099642), ('船尾', 0.0035587188612099642), ('悬停', 0.0035587188612099642), ('看得上', 0.0035587188612099642), ('星海', 0.0035587188612099642), ('马区', 0.0035587188612099642), ('冷静地', 0.0035587188612099642), ('监听站', 0.0035587188612099642), ('狂喜', 0.0035587188612099642), ('谢谢元首', 0.0035587188612099642), ('南半玲', 0.0035587188612099642), ('林云', 0.0035587188612099642), ('真像', 0.0035587188612099642), ('汪院士', 0.0035587188612099642), ('颓废', 0.0035587188612099642), ('醉意', 0.0035587188612099642), ('1989.03.21', 0.0035587188612099642), ('黑雾', 0.0035587188612099642), ('小处', 0.0035587188612099642), ('大处', 0.0035587188612099642), ('金涛', 0.0035587188612099642), ('刘慈欣', 0.0035587188612099642)] 
company =  [('红光', 0.14285714285714285), ('马钢', 0.08928571428571429), ('纪元', 0.05357142857142857), ('太阳神', 0.05357142857142857), ('国电公司', 0.05357142857142857), ('中文', 0.03571428571428571), ('天马行空', 0.03571428571428571), ('柯达', 0.03571428571428571), ('华约集团', 0.03571428571428571), ('华生', 0.03571428571428571), ('冯·诺伊曼', 0.03571428571428571), ('维纳', 0.03571428571428571), ('凯撒', 0.03571428571428571), ('大鼎', 0.03571428571428571), ('丁仪', 0.03571428571428571), ('普朗克', 0.017857142857142856), ('中海', 0.017857142857142856), ('华力', 0.017857142857142856), ('磁控电子', 0.017857142857142856), ('中华', 0.017857142857142856), ('三菱电机', 0.017857142857142856), ('中国良湘', 0.017857142857142856), ('乌托邦社团', 0.017857142857142856), ('中北', 0.017857142857142856), ('恒纪元能', 0.017857142857142856), ('太阳运行', 0.017857142857142856), ('大鼎中', 0.017857142857142856), ('中宇', 0.017857142857142856), ('联通', 0.017857142857142856), ('网通', 0.017857142857142856), ('印度洋海啸', 0.017857142857142856), ('汪淼', 0.017857142857142856), ('北约集团', 0.017857142857142856), ('金冠', 0.017857142857142856), ('伽利略', 0.017857142857142856), ('墨子', 0.017857142857142856), ('三体', 0.017857142857142856), ('成计', 0.017857142857142856), ('埃菲尔铁塔', 0.017857142857142856), ('新世界', 0.017857142857142856), ('四光年外', 0.017857142857142856), ('开开河', 0.017857142857142856), ('旺旺', 0.017857142857142856), ('关东烟', 0.017857142857142856), ('新北大公社', 0.017857142857142856), ('法拉利', 0.017857142857142856), ('佛教', 0.017857142857142856), ('次声波武器', 0.017857142857142856), ('昌明', 0.017857142857142856), ('中远', 0.017857142857142856), ('磐石', 0.017857142857142856), ('当聚变发电站', 0.017857142857142856), ('四维视角', 0.017857142857142856), ('四维', 0.017857142857142856), ('华北大平', 0.017857142857142856), ('上科', 0.017857142857142856)] 
org = [('雷政委', 0.1774193548387097), ('北约', 0.11290322580645161), ('中科院', 0.08064516129032258), ('联合国', 0.04838709677419355), ('内蒙古建设兵团', 0.03225806451612903), ('联合国教科文组织', 0.03225806451612903), ('中国科学院', 0.03225806451612903), ('镇医院', 0.03225806451612903), ('美国政府', 0.03225806451612903), ('海军', 0.03225806451612903), ('红卫兵、文革工作组', 0.016129032258064516), ('上海大学', 0.016129032258064516), ('内蒙古生产建设兵团', 0.016129032258064516), ('师政治部', 0.016129032258064516), ('科协', 0.016129032258064516), ('渥太华一所华语学校', 0.016129032258064516), ('中级法院军管会', 0.016129032258064516), ('苏维埃社会主义联盟', 0.016129032258064516), ('看守所', 0.016129032258064516), ('雷志成政委', 0.016129032258064516), ('中国人民解放军', 0.016129032258064516), ('美军空军上校和英国陆军', 0.016129032258064516), ('美国中央情报局', 0.016129032258064516), ('美国中情局', 0.016129032258064516), ('纳米研究中心', 0.016129032258064516), ('同仁医院', 0.016129032258064516), ('中科院空间环境观测中心', 0.016129032258064516), ('北大', 0.016129032258064516), ('中科院国家天文观测中心', 0.016129032258064516), ('国家无线电管理委员会', 0.016129032258064516), ('一大帮子解放军', 0.016129032258064516), ('基础科学', 0.016129032258064516), ('总参测绘局', 0.016129032258064516), ('基地总部办公室', 0.016129032258064516), ('兵种政治部', 0.016129032258064516), ('国防科工委', 0.016129032258064516), ('兵红岸部队', 0.016129032258064516), ('兰德思想库社会', 0.016129032258064516), ('格里高利教皇', 0.016129032258064516), ('重案组办公室', 0.016129032258064516), ('加利福尼亚大学', 0.016129032258064516), ('秦国军队', 0.016129032258064516), ('联合国大厦', 0.016129032258064516), ('欧洲分队', 0.016129032258064516), ('国家科学院', 0.016129032258064516), ('清华大学物理系天体物理专业', 0.016129032258064516), ('基地政委', 0.016129032258064516), ('镇中学', 0.016129032258064516), ('清华', 0.016129032258064516), ('清华校园', 0.016129032258064516), ('县林业局', 0.016129032258064516), ('三体叛军', 0.016129032258064516), ('美国海军陆战队', 0.016129032258064516), ('巴拿马运河管理局', 0.016129032258064516), ('日本自卫队', 0.016129032258064516), ('俄罗斯军官', 0.016129032258064516), ('斯坦顿上校', 0.016129032258064516), ('梵蒂冈大使馆', 0.016129032258064516), ('联合国大会', 0.016129032258064516), ('三体舰队', 0.016129032258064516), ('星际舰队', 0.016129032258064516), ('TURBOC', 0.016129032258064516)]
结果中各个分类结果中人物和组织的分类还都不错。

汪淼的比重超过了女神叶文洁,夺得了人物第一的权重值;组织中,除去雷政委,前三的分别是北约,中科院和联合国。


 类似资料: