Python實現(xiàn)提取語句中的人名
前言
本文提供將語句中的人名提取出來的工具方法,可以拿去直接使用。
環(huá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ù)。其中默認為lac模式,可以選擇ltp模式。
其中l(wèi)ac模型提取人名的速率較快,但是ltp的提取人名準確率更高。
驗證一下
執(zhí)行看看效率。

總結(jié)
使用的時候可以多試試兩個庫的區(qū)別,ltp的準確率稍微高一點。
到此這篇關(guān)于Python實現(xiàn)提取語句中的人名的文章就介紹到這了,更多相關(guān)Python提取人名內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python3對接mysql數(shù)據(jù)庫實例詳解
這篇文章主要介紹了python3對接mysql數(shù)據(jù)庫,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
基于python實現(xiàn)matlab filter函數(shù)過程詳解
這篇文章主要介紹了基于python實現(xiàn)matlab filter函數(shù)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-06-06
Flask框架使用DBUtils模塊連接數(shù)據(jù)庫操作示例
這篇文章主要介紹了Flask框架使用DBUtils模塊連接數(shù)據(jù)庫操作,結(jié)合實例形式較為詳細的分析了flask框架使用DBUtils模塊連接數(shù)據(jù)庫的常見操作技巧與相關(guān)注意事項,需要的朋友可以參考下2018-07-07
在python中對變量判斷是否為None的三種方法總結(jié)
今天小編就為大家分享一篇在python中對變量判斷是否為None的三種方法總結(jié),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01

