python中怎样提取姓和名,python爬虫提取人名

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: