python中文分词第三方库,用python语言中文分词第三方库jieba

  python中文分词第三方库,用python语言中文分词第三方库jieba

  算法

  中文分词技术的实现完成了很多算法。现在,算法可以大致分为三类:

  基于字符串匹配的分词方法

  基于理解的分词方法

  基于统计的分词方法。

  其中,基于字符串匹配的分词方法是将中文句子与待分析的中文字符串和已知且足够大的中文词典按照一定的策略进行比较,达到分词的效果。一般我们使用最多的分词策略是正向最大匹配法、反向最大匹配法和最小切分法。

  基于理解的分词是指计算机能够模拟句子的理解。基于统计的分词方法是在上下文中找出大量的汉字组合,把这些组合当作词汇,代入原文进行分词。

  本文采用字符串匹配法和反向最大匹配策略对汉语句子进行简单切分。

  算法的思想

  反向最大匹配法的总体思路是将整个字符串作为一个“短语”在字典中进行检查。如果不成功,删除第一个字符,继续这个操作直到成功或者只剩下最后一个字符,然后把结果放入一个字符串数组,最后删除原语句中的结果。我举个例子来说明。

  今晚的月亮很美

  字典:《今夜》《月儿》《美丽》

  第一次换人:今晚的月亮很美。那个词不在字典里。删除首字母继续查)。

  删除首字母:夜晚的月亮很美。那个词不在字典里。删除首字母继续查)。

  删除首字母:月亮太美了。那个词不在字典里。删除首字母继续查)。

  删首字母:太亮了。那个词不在字典里。删除首字母继续查)。

  删除首字母:啊(字典里没有这个词,只剩下一个词。放到结果数组中,删除文本末尾的最后一个字符,第二次替换)。

  第二次换人:今晚的月亮很美。那个词不在字典里。删除首字母继续查)。

  删除首字母:“clean”(在字典中找到“clean”这个词,放入结果数组中,删除文末的结果“clean”,第三次替换)。

  算法实现

  评价

  按照逆向最大匹配法的思想,这种策略非常容易实现,具有明显易懂的特点,实现代码也不是很长。然而,反向最大匹配算法可能会降低特殊句子的分割精度。例如,下面的语句:

  Wjdwl发明了很多东西。

  如果字典够大,按照逆向最大匹配法,你会发现计算机把“明”当成了一个汉字。如果你继续下去,计算机会把单词分成“头发”。这样就会造成“凉凉冷风吹”的错误。

  没关系!还有正向最大匹配法。可以用正向最大匹配法对这句话进行切分。结果是正确的。但是正向最大匹配法也会有误差。我该怎么办?您可以组合正向和反向。这是另一种分词策略。双向最大匹配法大大降低了出错的概率。

  标签

  任何算法都有其优点和缺点。我们在使用算法的时候,不仅要使用算法,还要考虑如何优化算法,使其完全满足自己的需求。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • python语言基本语句用法总结大全,python语言基本语句用法总结怎么写
  • python语言基本语句用法总结大全,python语言基本语句用法总结怎么写,python语言基本语句用法总结
  • python是一种什么类型的计算机语言,python语言是一种什么类型的编程语言
  • Python的保留字符,python语言中的保留字
  • python的指数e怎么表示,指数函数在python语言中怎么表示
  • python语言合法的变量命名,在python中变量的命名要注意哪些问题
  • python变量命名可以用中文吗,下面哪一个不是python语言合法的变量命名
  • Python分词库,用python语言中文分词第三方库jieba对文件data
  • python中复数类型的实部和虚部都是浮点数,python语言中,复数类型中实数部分和虚数部分
  • 用python语言判断一个数是否为素数,Python判断是不是素数
  • python语句变量命名规则,python语言命名变量规则
  • 简述python语言程序的特点,以下关于python语言技术特点
  • matlab中for循环的用法例子,python语言for循环语句
  • Python主网站,python语言的官方网站
  • 用python开发的软件有哪些,哪些工具可以使用python语言开发软件
  • 留言与评论(共有 条评论)
       
    验证码: