python中怎样提取姓和名,python爬虫提取人名
本文主要为你介绍一个小工具:可以提取句子中的人名。本文中的示例代码简单易懂,感兴趣的朋友可以和边肖一起学习。
00-1010前言环境依赖于代码验证。总结一下。
目录
本文提供了一种提取句子中人名的工具方法,可以直接使用。
前言
您需要安装两个库。其实一个也行,不过我这里准备了两个库做对比。
安装命令如下:
pip安装LAC-I https://pypi.douban.com/simple
pip安装LTP-I https://pypi.douban.com/simple
环境依赖
不废话,码吧。
#!/user/bin/env python
#编码=utf-8
@项目: csdn
@作者:剑客阿良_阿良
@ file : extract _ sentence _ name _ tool . py
@ide : PyCharm
@时间: 2022-01-25 11:11:43
从紫胶进口紫胶
从ltp导入LTP
导入时间
lac=LAC(mode=lac )
ltp=LTP()
#句子提取名称
def extract_name(句子:字符串,类型=lac):
user_name_lis=[]
如果type==lac:
_result=lac.run(句子)
对于_index,枚举中的_ label(_ result[1]):
if _label==PER:
user _ name _ lis . append(_ result[0][_ index])
elif type==ltp:
_seg,_ hidden=LTP . seg([句子])
_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:
引发异常(“类型不是假设的”)
返回用户名列表
if __name__==__main__:
_start_lac=time.time()
Lis1=extract_name(就因为我看了沈腾和贾玲的王牌对王牌节目,杨迪肯定是偷了标题。, lac )
_end_lac=time.time()
打印( lac 3360 { }-耗时[{}]秒。格式(Lis1,(_ end _ lac-_ start _ lac)))
_start_ltp=time.time()
Lis2=extract_name(就因为我看了沈腾和贾玲的面对面秀,杨迪肯定偷了冠军头衔。, ltp )
_end_ltp=time.time()
打印( LTP : { }-耗时[{}]秒。格式(Lis2,(_ end _ LTP-_ start _ LTP)))
代码描述:
1.extract_name方法的参数是语句参数和类型参数。默认为lac模式,可以选择ltp模式。
其中,lac模型提取姓名的速度更快,而ltp的准确率更高。
代码
看执行效率。
验证一下
使用时,可以尝试一下两个库的区别。ltp的准确率略高。
关于Python在语句中提取人名的实现,本文到此结束。有关Python提取名称的更多信息,请搜索热门IT软件开发工作室之前的文章或继续浏览下面的相关文章。希望大家以后多多支持热门IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。