《基于python的中文分词的实现及应用》

《基于python的中文分词的实现及应用》

ID:37016143

大小:63.00 KB

页数:7页

时间:2019-05-13

《基于python的中文分词的实现及应用》_第1页
《基于python的中文分词的实现及应用》_第2页
《基于python的中文分词的实现及应用》_第3页
《基于python的中文分词的实现及应用》_第4页
《基于python的中文分词的实现及应用》_第5页
资源描述:

《《基于python的中文分词的实现及应用》》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于python的中文分词的实现及应用刘新亮严姗姗(北京工商大学计算机学院,100037)    摘 要 中文分词的实现及应用属于自然语言处理范畴,完成的是中文分词在Python语言环境下的实现,以及利用这个实现的一个应用程序接口和一个中文文本处理的应用。设计共分为五个部分,分别是:分词模块、包装模块、应用程序接口、Nonsense模块,这个项目是为了下一步开放源代码的中文搜索引擎提供中文分词功能,同时通过表现代码的娱乐性达到促进公开源代码的发展。   关键词 中文分词;Python语言;程序接口 1 引言   自然语言处理是研究实

2、现人与计算机之间用自然语言进行有效通信的各种理论和方法的一个领域,是计算机科学领域和人工智能领域的重要发展方向之一。它大体包括自然语言理解和自然语言生成两个部分,前者是使计算机理解自然语言文本,后者是使计算机以自然语言文本来表达给定的意图、思想等。   自然语言处理是目前比较前沿的学科,拥有广阔的前景,但同时是非常有难度的。现在已经出现了能够针对一定应用的实用系统,但是通用的、高质量的自然语言系统仍然是较长期的努力目标。这些实用系统已经具有相当的自然语言处理能力,其中有些已经商品化、甚至产业化。典型的例子有:各种数据库和专家系统的自

3、然语言接口、各种机器翻译系统、全文信息检索系统、自动文摘系统等[1]。2 中文分词技术   中文分词技术属于自然语言处理技术范畴,对于一句话,人可以通过自己的知识来明白哪些是词,哪些不是词,但如何让计算机也能理解,其处理过程就是分词算法。现有的分词算法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法[2]。   (1)基于字符串匹配的分词方法:这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。按

4、照扫描方向的不同,串匹配分词方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配;按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。   (2)基于理解的分词方法:这种分词方法是通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行

5、判断,即模拟人对句子的理解过程。   (3)基于统计的分词方法:从形式上看,词是稳定的字的组合,因此在上下文中,相邻的字同时出现的次数越多,就越有可能构成一个词。   到底哪种分词算法的准确度更高,目前并无定论。对于任何一个成熟的分词系统来说,不可能单独依靠某一种算法来实现,都需要综合不同的算法。笔者了解,海量科技的分词算法就采用“复方分词法”。所谓复方,相当于用中药中的复方概念,即用不同的药材综合起来去医治疾病。同样,对于中文词的识别,需要多种算法来处理不同的问题。3 分词中的难题   有了成熟的分词算法,是否就能容易的解决中文分

6、词的问题呢?事实远非如此。中文是一种十分复杂的语言,让计算机理解中文语言更是困难。在中文分词过程中,有两大难题一直没有完全突破。   (1)歧义识别:歧义是指同样的一句话,可能有两种或者更多的切分方法。例如:表面的,因为“表面”和“面的”都是词,那么这个短语就可以分成“表面的”和“表面的”。这种称为交叉歧义。   (2)新词识别:新词,专业术语称为未登录词。也就是那些在字典中都没有收录过,但又确实能称为词的那些词。最典型的是人名,人可以很容易理解句子“王军虎去广州了”中,“王军虎”是个词,因为是一个人的名字,但要是让计算机去识别就困

7、难了。如果把“王军虎”作为一个词收录到字典中去,全世界有那么多名字,而且每时每刻都有新增的人名,收录这些人名本身就是一项巨大的工程。即使这项工作可以完成,还是会存在问题,例如:在句子“王军虎头虎脑的”中,“王军虎”还能不能算词?新词中除了人名以外,还有机构名、地名、产品名、商标名、简称、省略语等都是很难处理的问题,而且这些又正好是人们经常使用的词,因此对于搜索引擎来说,分词系统中的新词识别十分重要。目前新词识别准确率已经成为评价一个分词系统好坏的重要标志之一。4 软件结构   如图1所示,软件实现过程大体是:首先由分词模块用C语言实

8、现分词,这部分主要运用了中国科学院的ICTCLAS,对它进行研究及处理;然后用SWIG对分词模块进行包装,使其能够被Python语言调用,在Python语言环境下实现中文分词图1 软件结构图4.1 分词模块结构   分词模块包括两个部

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。