Python實現(xiàn)提取語句中的人名
前言
本文提供將語句中的人名提取出來的工具方法,可以拿去直接使用。
環(huán)境依賴
需要安裝兩個庫,其實一個也可以,但是我這邊準(zhǔn)備了兩個庫做個比較。
安裝命令如下:
pip install LAC -i https://pypi.douban.com/simple pip install ltp -i https://pypi.douban.com/simple
代碼
不廢話,上代碼。
#!/user/bin/env python # coding=utf-8 """ @project : csdn @author : 劍客阿良_ALiang @file : extract_sentence_name_tool.py @ide : PyCharm @time : 2022-01-25 11:11:43 """ from LAC import LAC from ltp import LTP import time lac = LAC(mode="lac") ltp = LTP() # 句子提取名字 def extract_name(sentence: str, type='lac'): user_name_lis = [] if type == 'lac': _result = lac.run(sentence) for _index, _label in enumerate(_result[1]): if _label == "PER": user_name_lis.append(_result[0][_index]) elif type == 'ltp': _seg, _hidden = ltp.seg([sentence]) _pos_hidden = ltp.pos(_hidden) for _seg_i, _seg_v in enumerate(_seg): _hidden_v = _pos_hidden[_seg_i] for _h_i, _h_v in enumerate(_hidden_v): if _h_v == "nh": user_name_lis.append(_seg_v[_h_i]) else: raise Exception('type not suppose') return user_name_lis if __name__ == '__main__': _start_lac = time.time() lis1 = extract_name("就因為看了沈騰和賈玲的王牌對王牌節(jié)目,所以楊迪肯定偷題了。", 'lac') _end_lac = time.time() print("LAC: {} <- 耗時[{}]秒".format(lis1, (_end_lac - _start_lac))) _start_ltp = time.time() lis2 = extract_name("就因為看了沈騰和賈玲的王牌對王牌節(jié)目,所以楊迪肯定偷題了。", 'ltp') _end_ltp = time.time() print("LTP: {} <- 耗時[{}]秒".format(lis2, (_end_ltp - _start_ltp)))
代碼說明:
1、extract_name方法入?yún)⒎謩e為:語句參數(shù)、類型參數(shù)。其中默認(rèn)為lac模式,可以選擇ltp模式。
其中l(wèi)ac模型提取人名的速率較快,但是ltp的提取人名準(zhǔn)確率更高。
驗證一下
執(zhí)行看看效率。
總結(jié)
使用的時候可以多試試兩個庫的區(qū)別,ltp的準(zhǔn)確率稍微高一點。
到此這篇關(guān)于Python實現(xiàn)提取語句中的人名的文章就介紹到這了,更多相關(guān)Python提取人名內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python os.listdir按文件存取時間順序列出目錄的實例
今天小編就為大家分享一篇python os.listdir按文件存取時間順序列出目錄的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-10-10Python實現(xiàn)的單向循環(huán)鏈表功能示例
這篇文章主要介紹了Python實現(xiàn)的單向循環(huán)鏈表功能,簡單描述了單向循環(huán)鏈表的概念、原理并結(jié)合實例形式分析了Python定義與使用單向循環(huán)鏈表的相關(guān)操作技巧,需要的朋友可以參考下2017-11-11python實現(xiàn)一次性封裝多條sql語句(begin end)
這篇文章主要介紹了python實現(xiàn)一次性封裝多條sql語句(begin end),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06