基于统计的中文分词算法研究

基于统计的中文分词算法研究
基于统计的中文分词算法研究

龙源期刊网 https://www.360docs.net/doc/a39711222.html,

基于统计的中文分词算法研究

作者:邹佳伦文汉云王同喜

来源:《电脑知识与技术》2019年第04期

中文分词算法概述_龙树全

软件设计开发本栏目责任编辑:谢媛媛中文分词算法概述 龙树全,赵正文,唐华 (西南石油大学计算机科学学院,四川成都610500) 摘要:当前搜索引擎技术被广泛地应用,这使得全文检索技术和中文分词技术的研究逐渐深入。中文分词是中文信息的关键技术之一,其质量高低直接影响中文信息处理效率。文章致力于研究中文分词算法,对多种中文分词算法、自动分词系统的理论模型进行了详细的阐述和讨论,为中文分词的进一步发展提供基础和方向。 关键词:中文分词;全文检索;算法;搜索引擎;歧义切分 中图分类号:TP391.1文献标识码:A 文章编号:1009-3044(2009)10-2605-03 Overview on Chinese Segmentation Algorithm LONG Shu-quan,ZHAO Zheng-wen,TANG Hua (Department of Computer Science and Technology,Southwest Petroleum University,Chengdu 610500,China) Abstract:Currently,the search engine technology has been widely used,which brings in-depth researches to full-text search technology and Chinese segmentations;Chinese Segmentation is one of the key technologies of Chinese information,it directly affects the quality of Chinese information processing efficiency.This article dedicated to Research on Chinese Segmentation Algorithm,described in detail and discuss to some kinds of Chinese Segmentation Algorithms,Theoretical model of Auto-Segmentation system.Provide foundation and di -rection for the further development of Chinese segmentations. Key words:chinese segmentations;full-text search;algorithm;search engine;ambiguous word segmentation 1引言 自然语言处理是人工智能的一个重要分支。中文分词是中文自然语言处理的一项基础性工作,也是中文信息处理的一个重要问题。随着搜索引擎技术的广泛应用,全文检索技术和中文分词技术也逐步受到广泛的研究和应用,然而到目前为止,还没有完全成熟实用的中文分词系统面世,这成为严重制约中文信息处理发展的瓶颈之一。本文致力于研究中文分词算法,通过分词算法对分词的质量做出客观的判断和评估,从而为中文分词的进一步发展提供基础和方向。 2中文分词技术综述 2.1全文检索技术 所谓全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。在中文文档中根据是否采用分词技术,索引项可以是字、词或词组,由此可分为基于字的全文索引和基于词的全文索引。 基于字的全文索引是指对于文章中的每一个字都建立索引,检索时将词分解为字的组合。对于各种不同的语言而言,字有不同的含义,比如英文中字与词实际上是合一的,而中文中字和词有很大分别。此方法查全率较高,但查准率较低。有时会出现令人啼笑皆非的检索结果,如检索货币单位“马克”时,会把“马克思”检索出来。 基于词的全文索引是指对文章中的词,即语义单位建立索引,检索时按词检索,并且可以处理同义项等。英文等西方文字由于按照空白切分词,因此实现上与按字处理类似,添加同义处理也很容易。中文文字则需要切分字词,以达到按词索引的目的。对中文文档进行切词,提高分词的准确性,抽取关键词作为索引项,实现按词索引可以大大提高检索的准确率。 2.2中文分词技术 中文分词与英文分词有很大的不同,对英文而言,一个单词就是一个词,而汉语是以字为基本的书写单位,词语之间没有明显的区分标记,需要人为切分。中文分词系统是利用计算机对中文文本进行词语自动识别的系统,对其研究已经取得了很多成果,出现了众多的算法。根据其特点,可以将现有的分词算法分为四大类:基于字符串匹配的分词方法、基于理解的分词方法、基于统计的分词方法和基于语义的分词方法等。 3中文分词方法 中文分词方法的基本原理是针对输入文字串进行分词、过滤 处理,输出中文单词、英文单词和数字串等一系列分割好的字符 串。中文分词模块的输入输出如图1所示。3.1基于字符串匹配的分词方法 这种方法又叫作机械分词方法、基于字典的分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行匹配。若在词典中找到某个字符串,则匹配成功(识别出一个词)。该方法有三个要素,即分词词典、文本扫描顺序和匹配原则。文本的扫描顺序有正向扫描、逆向扫描和双向扫描。匹配原则主要有最大匹配、最小匹配、逐词匹配和最佳匹配。 收稿日期:2009-02-11 图1中文分词原理图 ISSN 1009-3044 Computer Knowledge and Technology 电脑知识与技术 Vol.5,No.10,April 2009,pp.2605-2607E-mail:xsjl@https://www.360docs.net/doc/a39711222.html, https://www.360docs.net/doc/a39711222.html, Tel:+86-551-569096356909642605

中文分词技术的研究

3 2009209218收到,2010201203改回 33 基金项目:国家级课题资助项目(30800446)。 333刘红芝,女,1980年生,硕士,研究方向:电子信息咨询与服务,计算机网络及数据库技术。 文章编号:100325850(2010)0320001203 中文分词技术的研究 Research on Ch i nese W ord Segm en ta tion Techn iques 刘红芝 (徐州医学院图书馆 江苏徐州 221004) 【摘 要】对中文分词的主要算法进行了研究,阐述了中文分词中存在的困难及其解决方法,最后指出了中文分词的未来研究工作。 【关键词】中文分词,算法,歧义,未登录词,停用词 中图分类号:T P 391 文献标识码:A ABSTRACT T h is paper analyzes the m ain am biguities of Ch inese w o rd segm entati on ,elabo rates difficulties in Ch inese w o rd segm entati on and their so luti ons ,and finally po ints out the existing p roblem s in Ch inese w o rd segm entati on and the future research w o rk 1 KEYWOR D S ch inese w o rd segm entati on ,algo ris m ,am biguity ,unknow n w o rd ,stop 2w o rd 随着因特网上信息给人们带来方便的同时,也存在信息查找不便、不良信息过多等弊端,信息过滤技术应运而生。信息过滤[1]就是根据用户的信息需求,利用一定的工具从大规模的动态信息流中自动筛选出满足用户需求的信息,同时屏蔽掉无用信息的过程。目前很多信息过滤系统的设计都是基于内容的过滤,即查找信息文本中是否含有特征词库中设置的关键词。这种设计思想符合人们正常的思维习惯,比较容易实现。但是在实际应用中,特别是在处理中文信息的时候由于缺乏中文策略,处理结果很难让人满意。 因此,进行中文信息过滤,首先就要对文本预处理,进行中文分词,将其表示成可计算和推理的模型。中文分词是中文文本过滤的首要基础性工作、难点问题,也是自然语言信息处理中最基本的一步。 1 中文分词技术 将连续的字序列按照一定的规范重新组合成词序列的过程被称为分词;中文分词就是把中文的汉字序列分成有意义的词[2]。分词只是中文信息处理的一部分,分词本身并不是目的,而是后续处理过程的必要阶段,是中文信息处理的基础技术。 2 中文分词的必要性 如何让计算机更好地读懂人类的语言,理解人类的思想,更好地让用户快速方便地搜索到自己所需要的资源,中文分词技术的产生是中文搜索质量提高的 至关重要的因素。众所周知,中文文本与英文文本的表示方法有所不同,英文文本中词与词中间都由空格或标点符号隔开,因而词与词之间的界限很明显,可以很容易地获取关键词,而中文文本中词与词则无明显的界限,这就影响了关键词的获取和匹配[3]。 3 分词的主要算法 中文分词技术属于自然语言处理技术的范畴,是语义理解过程中最初的一个环节,它将组成语句的核心词提炼出来供语义分析模块使用,在分词的过程中,如何能够恰当地提供足够的词来供分析程序处理,计算机如何完成这一过程?其处理过程就称为分词算法。 现有的分词算法按照是否使用分词词典来分,可分为基于词典的分词算法和基于无词典的分词算法[4]。基于词典的分词算法的分词精度在很大程度上依赖于分词词典的好坏,基于无词典的分词算法不需要利用词典信息,它通过对大规模的生语料库进行统计分析,自动地发现和学习词汇,从分词精度来看,基于词典的分词算法要大大优于无词典的分词算法。311 基于词典的分词算法 基于词典的分词算法主要基于一个词典和一个基本的切分评估规则。早期主要采取机械匹配的方法,但由于缺乏歧义切分的处理,故切分的精度较低,后来随着研究的发展,加入了规则的切分,但规则的制订不仅需要大量的人力而且对系统的开放性有很大的局限,因此后来又引入了从基于统计的分词方法,不仅统计 ? 1? 第23卷 第3期 电脑开发与应用(总173)

中文分词切词超详细分析

前面我们讲个搜索引擎如何搜集网页,今天说下第二个过程网页预处理,其中中文分词就显得尤其重要,下面就详细讲解一下搜索引擎是怎么进行网页预处理的: 网页预处理的第一步就是为原始网页建立索引,有了索引就可以为搜索引擎提供网页快照功能;接下来针对索引网页库进行网页切分,将每一篇网页转化为一组词的集合;最后将网页到索引词的映射转化为索引词到网页的映射,形成倒排文件(包括倒排表和索引词表),同时将网页中包含的不重复的索引词汇聚成索引词表。如下图所示: 一个原始网页库由若干个记录组成,每个记录包括记录头部信息(HEAD)和数据(DATA),每个数据由网页头信息(header),网页内容信息(content)组成。索引网页库的任务就是完成给定一个URL,在原始网页库中定位到该URL所指向的记录。 如下图所示:

对索引网页库信息进行预处理包括网页分析和建立倒排文件索引两个部分。中文自动分词是网页分析的前提。文档由被称作特征项的索引词(词或者字)组成,网页分析是将一个文档表示为特征项的过程。在对中文文本进行自动分析前,先将整句切割成小的词汇单元,即中文分词(或中文切词)。切词软件中使用的基本词典包括词条及其对应词频。 自动分词的基本方法有两种:基于字符串匹配的分词方法和基于统计的分词方法。 1) 基于字符串匹配的分词方法 这种方法又称为机械分词方法,它是按照一定的策略将待分析的汉字串与一个充分大的词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。 按照扫描方向的不同,串匹配分词方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,可以分为最大或最长匹配,和最小或最短匹配;按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。常用的几种机械分词方法如下:

中文分词实验

中文分词实验 一、实验目的: 目的:了解并掌握基于匹配的分词方法,以及分词效果的评价方法。 实验要求: 1、从互联网上查找并构建不低于10万词的词典,构建词典的存储结构; 2、选择实现一种机械分词方法(双向最大匹配、双向最小匹配、正向减字最大匹配法等)。 3、在不低于1000个文本文件,每个文件大于1000字的文档中进行中文分词测试,记录并分析所选分词算法的准确率、分词速度。 预期效果: 1、平均准确率达到85%以上 二、实验方案: 1.实验平台 系统:win10 软件平台:spyder 语言:python 2.算法选择 选择正向减字最大匹配法,参照《搜索引擎-原理、技术与系统》教材第62页的描述,使用python语言在spyder软件环境下完成代码的编辑。 算法流程图:

Figure Error! No sequence specified.. 正向减字最大匹配算法流程

Figure Error! No sequence specified.. 切词算法流程算法伪代码描述:

3.实验步骤 1)在网上查找语料和词典文本文件; 2)思考并编写代码构建词典存储结构; 3)编写代码将语料分割为1500个文本文件,每个文件的字数大于1000字; 4)编写分词代码; 5)思考并编写代码将语料标注为可计算准确率的文本; 6)对测试集和分词结果集进行合并; 7)对分词结果进行统计,计算准确率,召回率及F值(正确率和召回率的 调和平均值); 8)思考总结,分析结论。 4.实验实施 我进行了两轮实验,第一轮实验效果比较差,于是仔细思考了原因,进行了第二轮实验,修改参数,代码,重新分词以及计算准确率,效果一下子提升了很多。 实验过程:

国内中文分词技术研究新进展

国内中文分词技术研究新进展 冯书晓 徐 新 杨春梅 (石河子大学药学院 乌鲁木齐 832002) 摘 要 就开发中文搜索引擎在汉语语言方面的关键技术之一,即中文分词技术进行综述。 关键词 中文搜索引擎 中文分词 文献检索 搜索引擎通常由信息收集和信息检索两部分组成。对于英文,由于英文中词与词之间是用空格隔开,检索起来很方便,故计算机采用了词处理的方式,大大减轻了用户与计算机的工作量;相对来讲,中文的情形就复杂得多。中文的词与词之间是没有分隔符的,因此若想建立基于词的索引,就需要专门的技术,这种技术被称之为 汉语词语切分技术 。根据是否采用词语切分技术,中文搜索引擎又可分为基于字的搜索引擎和基于词的搜索引擎。由于中文信息处理的特殊性和复杂性,中文搜索引擎技术还很不成熟,开发中文搜索引擎决不像西文软件的汉化那样简单。在实现中文搜索引擎时,不能照搬国外现成的技术,需要对中文的信息处理技术作专门地研究。自然语言理解领域的应用已经越来越广,但是几乎任何一个基于汉语的系统,都必须经过分词这一步。自动分词系统是中文信息处理中的一个主要组成部分,是中文自然语言理解、文献检索、机器翻译即语音合成系统中最基本的一部分。在搜索引擎中,为了进行中文信息小型化,需要提取关键知识,也就是说首先要分隔出单个的中文词语,然后进行词频统计得到关键词。要开发中文搜索引擎,快速的汉语分词算法和可靠的汉化技术是至关重要的。本文将针对中文分词技术及近年来中文分词技术的发展作一综述。 1 中文分词技术 1.1 中文词的特点 与英文不同,字是汉语的基本独立单位,但是具有一定语义的最小单位却是词。词由单个或多个字构成,一般用得最多的是二字词,其次是单字词,另外还有一些多字词(如成语、专有名词等)。 1.1.1 数量多。汉语中常用的词有 几万条, 现代汉语词典 中收录的词就达 6万个之多。而且,随着社会的发展,不断 地有新词产生。 1.1.2 使用灵活、变化多样,容易产 生歧义。例如同样的两个连续汉字,在有 的句子中构成一个词,而在另外的句子环 境中,却可能不构成词。这给计算机的词 法分析工作带来了极大的困难。 1.1.3 书写习惯。在英文系统中, 词与词之间在书写上用空格隔开,计算机 处理时可以非常容易地从文档中识别出 一个一个的词。而在汉语系统中,书写以 句子为单位,句间有标点隔开,在句内,字 和词则是连续排列的,它们之间没有任何 分隔。这样,如果要对中文文档进行基于 词的处理,必须先要进行词的切分处理, 以正确地识别出每一个词。 1.1.4 其它特点。诸如汉字同音 字、同音异形字等等。 1.2 一般分词方法 目前采用的分词 方法主要有以下几种:最大匹配法、反向 最大匹配方法、逐词遍历法、设立切分标 志法、最佳匹配法、有穷多层次列举法、二 次扫描法、邻接约束方法、邻接知识约束 方法、专家系统方法、最少分词词频选择 方法、神经网络方法等等。除了这些,许 多基于统计的方法也引入到分词过程中。 例如分词与词性标注一体化方法,随机有 限状态算法用于分词,模拟物理研究中结 晶过程的统计方法也被尝试于分词过程。 此外,还有大量的基于统计或规则的汉语 未登录词识别的研究,这里不能一一列 举。但归纳起来不外乎两类:一类是理解 式切词法,即利用汉语的语法知识和语义 知识以及心理学知识进行分词,需要建立 分词数据库、知识库和推理机;另一类是 机械式分词法,一般以分词词典为依据, 通过文档中的汉字串和词表中的词逐一 匹配来完成词的切分。下面笔者就以此 对近年来中文分词技术的进展分类作一 综述。 2 中文分词技术的进展 目前的分词算法多种多样,基本上可 分为两大类:机械性分词和理解性分词 法。后者可谓理想的方法,但在语法分 析、语义分析乃至篇章理解还没有得到解 决之前,其分词实用系统主要采用机械分 词法,但实际上纯机械性分词也无人在 用,一般都使用介于二者之间的某种分词 法。在此,本人称之为综合式分词法,收 录了由作者本人明确指出同时采用了机 械式分词法和理解式分词法的文章。 2.1 机械式分词法 邹海山等在现有 分词技术的基础上,提出了一种基于词典 的正向最大匹配和逆向最大匹配相结合 的中文分词方案,可以高效、准确地实现 中文文档的主题词条的抽取和词频统计。 应志伟等基于一个实际的文语转换系统, 介绍了它的一些处理方法,采用了一种改 进的最大匹配法,可以切分出所有的交集 歧义,提出了一种基于统计模型的算法来 处理其中的多交集歧义字段,并用穷举法 和一些简单的规则相组合的方法从实用 角度解决多音字的异读问题以及中文姓 名的自动识别问题,达到实现文语转换的 目的。陈桂林等首先介绍了一种高效的 中文电子词表数据结构,它支持首字Hasb 和标准的二分查找,且不限词条长度,然 后提出了一种改进的快速分词算法。在 快速查找两字词的基础上,利用近邻匹配 方法来查找多字词,明显提高了分词效 情报杂志2002年第11期 情报检索

一种基于词典的中文分词法的设计与实现

一种基于词典的中文分词法的设计与实 现 摘要:中文分词就是把没有明显分隔标志的中文字串切分为词串,它是其他中文信息处理的基础,广泛应用于搜索引擎、自动翻译、语音合成、自动分类、自动摘要、自动校对等领域。就中文分词的基本方法作了简单阐述,并介绍了一种基于词典采用最大匹配法实现中文分词的方法。 关键词:中文分词;词库索引;正向最大匹配法 1 中文分词 中文分词技术属于自然语言处理技术范畴,对于一句话,人可以通过自己的知识来明白哪些是词,哪些不是词,但如何让计算机也能理解?其处理过程就是分词算法。 1.1中文分词方法的种类 中文自动分词方法有多种,一般来说大致可归结为以下三大类:基于词典的分词方法、基于统计的分词方法、基于规则和基于统计相结合的分词方法[2]。1.1.1基于词典的分词方法。基于词典的分词方法,又叫做基于字符串匹配的分词方法。其基本思想是:事先建立词库,其中包含所有可能出现的词。对于给定的待分词的汉子串Str,按照某种确定的原则切取Str 的子串,若该子串与词库中的某词条相匹配,则该子串是就是词,继续分割其余的部分,直到剩余部分为空;否则,该子串不是词,转到上面重新切取Str的子串进行匹配。1.1.2基于统计的分词方法。基于词典分词方法要借助词典来进行,而中文的构词非常灵活,词的数目几乎是无限的,因此要构造完备的词典几乎是不可能的。鉴于上述分词方法存在的这些缺点,一种基于统计的分词方法应运而生。这种方法撇开词典,根据字串出现的频率来判断这个字串是否是词。该方法对于大的语料,分全率还可以,但是对于小的语料分全率就比较低。该方法的另一个缺点就是不够准确,有些经常一起出现的单字构成的字串其实不是词。但是由于出现的频率很高,就被分出来当作词处理了,而且这样的“词”还非常多, 例如“这一”、“之一”、“有的”、“我的”、“许多的”等。实际应用的统计分词系统都要使用一部基本的分词词典进行串匹配分词,同时使用统计方法识别一些新的词,即将串频统计和串匹配结合起来,既发挥匹配分词切分速度快、效率高的特点,又利用了无词典分词结合上下文识别生词、自动消除歧义的优点。1.1.3基于规则和基于统计相结合的分词方法。该方法首先运用最大匹配作初步切分,然后对切分的边界处进行歧义探测,发现歧义,最后运用统计和规则相结合的方法来判断正确的切分[4]。运用不同的规则解决人名、地名、机构名识别,运用词法结构规则来生成复合词和衍生词。日前这种方法可以解决汉语中最常见的歧义类型:单字交集型歧义。并对人名、地名、机构名、后缀、动词/形容词重叠、衍生词等词法结构进行识别处理,基本解决了分词所面临的最关键的问题。若词典结构和算法设计优秀,分词速度将非常快。 1.2分词中的难题 有了成熟的分词算法,是否就能容易的解决中文分词的问题呢?事实远非如此。中文是一种十分复杂的语言,让计算机理解中文语言更是困难。在中文分词过程中,有两大难题一直没有完全突破。1.2.1歧义识别。歧义是指同样的一句话,可能有两种或者更多的切分方法。例如:“表面的”,因为“表面”和“面的”都是词,那么这个短语就可以分成“表面的”和“表面的”,这种称为交叉歧义,像这种交叉歧义十分常见。“化妆和服装”可以分成“化妆和服装”或者“化妆和服装”。由于没有人的知识去理解,计算机很难知道到底哪个方案正确。交叉歧义

百度中文分词技巧

百度中文分词技巧 什么是中文分词?我们都知道,英文句子都是由一个一个单词按空格分开组成,所以在分词方面就方便多了,但我们中文是一个一个汉字连接而成,所以相对来说是比较复杂的。中文分词指的是将一个汉语句子切分成一个一个单独的词,按照一定的规则重新组合成词序列的过程。这个也称做“中文切词”。 分词对于搜索引擎有着很大的作用,是文本挖掘的基础,可以帮助程序自动识别语句的含义,以达到搜索结果的高度匹配,分词的质量直接影响了搜索结果的精确度。目前搜索引擎分词的方法主要通过字典匹配和统计学两种方法。 一、基于字典匹配的分词方法 这种方法首先得有一个超大的字典,也就是分词索引库,然后按照一定的规则将待分词的字符串与分词库中的词进行匹配,若找到某个词语,则匹配成功,这种匹配有分以下四种方式: 1、正向最大匹配法(由左到右的方向); 2、逆向最大匹配法(由右到左的方向); 3、最少切分(使每一句中切出的词数最小); 4、双向最大匹配法(进行由左到右、由右到左两次扫描) 通常,搜索引擎会采用多种方式组合使用。但这种方式也同样给搜索引擎带来了难道,比如对于歧义的处理(关键是我们汉语的博大精深啊),为了提高匹配的准确率,搜索引擎还会模拟人对句子的理解,达到识别词语的效果。基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即它模拟了人对句子的理解过程。这种分词方法需要使用大量的语言知识和信息,当然我们的搜索引擎也在不断进步。 二、基于统计的分词方法 虽然分词字典解决了很多问题,但还是远远不够的,搜索引擎还要具备不断的发现新的词语的能力,通过计算词语相邻出现的概率来确定是否是一个单独的词语。所以,掌握的上下文越多,对句子的理解就越准确,分词也越精确。举个例子说,“搜索引擎优化”,在字典中匹配出来可能是:搜索/引擎/优化、搜/索引/擎/优化,但经过后期的概率计算,发现“搜索引擎优化”在上下文相邻出现的次数非常多,那么基于统计就会将这个词语也加入进分词索引库。关于这点我在《关于电商与圈的分词测试》就是同样的一个例子。 中文分词的应用分词准确性对搜索引擎来说十分重要,但如果分词速度太慢,即使准确性再高,对于搜索引擎来说也是不可用的,因为搜索引擎需要处理数以亿计的网页,如果分词耗用的时间过长,会严重影响搜索引擎内容更新的速度。因此对于搜索引擎来说,分词的准确性和速度,二者都需要达到很高的要求。 参考文档及网站: https://www.360docs.net/doc/a39711222.html, https://www.360docs.net/doc/a39711222.html, https://www.360docs.net/doc/a39711222.html, https://www.360docs.net/doc/a39711222.html,

中文自动分词技术

中文自动分词技术是以“词”为基础,但汉语书面语不是像西方文字那样有天然的分隔符(空格),而是在语句中以汉字为单位,词与词之间没有明显的界限。因此,对于一段汉字,人可以通过自己的知识来明白哪些是词,哪些不是词,但如何让计算机也能理解?其处理过程词,就要应用到中文自动分词技术。下面依次介绍三种中文自动分词算法:基于词典的机械匹配的分词方法、基于统计的分词方法和基于人工智能的分词方法。 1、基于词典的机械匹配的分词方法: 该算法的思想是,事先建立词库,让它它是按照一定的策略将待分析的汉字串与一个充分大的词典中的词条进行匹配,若在词典中找到该字符串,则识别出一个词。按照扫描方向的不同,串匹配分词的方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,又可以分为最大匹配和最小匹配。按这种分类方法,可以产生正向最大匹配、逆向最大匹配,甚至是将他们结合起来形成双向匹配。由于汉字是单字成词的,所以很少使用最小匹配法。一般来说,逆向匹配的切分精度略高于正向匹配,这可能和汉语习惯将词的重心放在后面的缘故。可见,这里的“机械”是因为该算法仅仅依靠分词词表进行匹配分词 a)、正向减字最大匹配法(MM) 这种方法的基本思想是:对于每一个汉字串s,先从正向取出maxLength 个字,拿这几个字到字典中查找,如果字典中有此字,则说明该字串是一个词,放入该T的分词表中,并从s中切除这几个字,然后继续此操作;如果在字典中找不到,说明这个字串不是一个词,将字串最右边的那个字删除,继续与字典比较,直到该字串为一个词或者是单独一个字时结束。 b)、逆向减字最大匹配法(RMM ) 与正向减字最大匹配法相比,这种方法就是从逆向开始遍历。过程与正向减字最大匹配法基本相同,可以对文本和字典先做些处理,把他们都倒过来排列,然后使用正向减字最大匹法。 机械匹配算法简洁、易于实现.其中,最大匹配法体现了长词优先的原则,在实际工程中应用最为广泛。机械匹配算法实现比较简单,但其局限也是很明显的:效率和准确性受到词库

自然语言检索中的中文分词技术研究进展及应用_何莘

自然语言检索中的中文分词技术研究进展及应用 何 莘1 ,王琬芜 2 (1.西安石油大学机械工程学院,陕西西安710065;2.浙江大学信息科学与工程学院,浙江杭州310058)摘 要:中文分词技术是实现自然语言检索的重要基础,是信息检索领域研究的关键课题,无论是专业信息检索系统还是搜索引擎都依赖于分词技术的研究成果。本文通过在国内外著名数据库中进行相关检索,分析了研究中文分词技术及其在著名搜索引擎中的应用。 关键词:中文分词;自动分词;分词算法 中图分类号:TP391,G354 文献标识码:A 文章编号:1007-7634(2008)05-0787-05 Research and Application of Chinese Word Segmentation Technical Based on Natural Language Information Retrieval HE Xin 1 ,W ANG Wan -wu 2 (1.School o f Mechanical Engineering ,Xi p an Shiyou University ,Xi p an 710065,China ;2.School o f In f o rmation Science and Engineering ,Zhejiang University ,Hangzhou 310058,China )Abstract :Chinese word segmentation technique is the important foundation that realize the natural language re -trieval,also is the key topic of the research in information retrieval domain.Professional information retrieval sys -te m and search engine both depend on the research achievements of word segmentation technique.This paper in -dexes in the domestic and international famous database,then Chinese word segmentation technique has been ana -lyzed in fa mous search engines is sum marized. Key words :Chinese word segmentation;automatic word se gmentation;word segmentation algorithm 收稿日期:2007-10-23 作者简介:何 莘(1968-),女,河北保定人,工程师,从事信息存储与检索技术、数字资源管理、搜索引擎技术等研究. 1 分词及分词算法 从中文自然语言句子中划分出有独立意义词的过程被称为分词。众所周知,英文是以词为单位的,词和词之间是靠空格隔开,而中文是以字为单位。由于中文词与词之间没有明确的边界,因此,中文分词技术中文信息处理的基础是机器翻译、分类、搜索引擎以及信息检索。中文分词技术属于自然语言处理技术的范畴,是语义理解过程中最初的一个环节,它将组成语句的核心词提炼出来供语义分析模块使用,在分词的过程中,如何能够恰当地提供足够的词来供分析程序处理,计算机如何完成这一过程?其处理过程就称为分词算法。现有的分 词算法可分为三大类:基于字符串匹配的分词方 法、基于理解的分词方法和基于统计的分词方法。 111 基于字符串匹配的分词方法 这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个/充分大的0机器词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。按照扫描方向的不同,串匹配分词方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,可以分为最大(最长)匹配和最小(最短)匹配;按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。 (1)正向最大匹配法(MM 法)。其基本思想 第26卷第5期2008年5月 情 报 科 学 Vol.26,No.5May,2008

百度_baidu_搜索分词算法

Baidu查询分词算法 查询处理以及分词技术 如何设计一个高效的搜索引擎?我们可以以百度所采取的技术手段来探讨如何设计一个实用的搜索引擎.搜索引擎涉及到许多技术点,比如查询处理,排序算法,页面抓取算法,CACHE机制,ANTI-SPAM等等.这些技术细节,作为商业公司的搜索引擎服务提供商比如百度,GOOGLE等是不会公之于众的.我们可以将现有的搜索引擎看作一个黑盒,通过向黑盒提交输入,判断黑盒返回的输出大致判断黑盒里面不为人知的技术细节. 查询处理与分词是一个中文搜索引擎必不可少的工作,而百度作为一个典型的中文搜索引擎一直强调其”中文处理”方面具有其它搜索引擎所不具有的关键技术和优势.那么我们就来看看百度到底采用了哪些所谓的核心技术. 我们分两个部分来讲述:查询处理/中文分词. 一. 查询处理 用户向搜索引擎提交查询,搜索引擎一般在接受到用户查询后要做一些处理,然后在索引数据库里面提取相关的信息.那么百度在接受到用户查询后做了些什么工作呢? 1. 假设用户提交了不只一个查询串,比如”信息检索理论工具”.那么搜 索引擎首先做的是根据分隔符比如空格,标点符号,将查询串分割成若干子查询串,比如上面的查询就会被解析为:<信息检索,理论,工具>三个子字符串;这个道理 简单,我们接着往下看. 2. 假设提交的查询有重复的内容,搜索引擎怎么处理呢?比如查询”理论 工具理论”,百度是将重复的字符串当作只出现过一次,也就是处理成等价的”理论工具”,而GOOGLE显然是没有进行归并,而是将重复查询子串的权重增大进行处理.那么是如何得出这个结论的呢?我们可以将”理论工具”提交给百度,返回341,000篇文档,大致看看第一页的返回内容.OK.继续,我们提交查询”理论工具理论”,在看看返回结果,仍然是那么多返回文档,当然这个不能说明太多问题,那 看看第一页返回结果的排序,看出来了吗?顺序完全没有变化,而GOOGLE则排序有些变动,这说明百度是将重复的查询归并成一个处理的,而且字符串之间的先后出现顺序基本不予考虑(GOOGLE是考虑了这个顺序关系的). 3. 假设提交的中文查询包含英文单词,搜索引擎是怎么处理的?比如查询”电影BT下载”,百度的方法是将中文字符串中的英文当作一个整体保留,并以此为断点将中文切分开,这样上述的查询就切为<电影,BT,下载>,不论中间的英文是否一个字典里能查到的单词也好,还是随机的字符也好,都会当作一个整体来对待.

词位标注汉语分词技术详解

[收稿日期]2010-06-26 [基金项目]河南省教育厅高等学校青年骨干教师项目(2009G GJS -108)。 [作者简介]于江德(1971-),男,博士,副教授,主要从事自然语言处理、信息抽取、文本数据挖掘等。①可以从以下地址下载:http ://cr fpp .so ur cefo rg e .net [汉语词法·甲骨文] 汉语词法分析是中文信息处理的首要任务,主要包括分词、词性标注、命名实体识别三项子任务,它是句法分析与语义分析的基础,其性能将直接影响到中文信息处理的后续应用。安阳师范学院计算机与信息工程学院依托河南省高等学校“甲骨文信息处理”重点实验室培育基地,“中文信息处理”校级重点实验室“计算语言学”校级研究所等平台。对汉语词法分析中的这三项子任务、甲骨文进行了较深入的研究,取得了部分研究成果,现借学报这个平台展示给各位同仁,敬请各位专家学者指正。 词位标注汉语分词技术详解 于江德,王希杰 (安阳师范学院计算机与信息工程学院,河南安阳455002) [摘 要]近年来基于字的词位标注的方法极大地提高了汉语分词的性能,该方法将汉语分词转化为字的词位标注问题,借助于优秀的序列标注模型,基于字的词位标注汉语分词方法逐渐成为分词的主要技术路线。本文简要介绍了词位标注汉语分词的基本思想,探析了基于条件随机场实现词位标注汉语分词的机理,并对采用四词位标注集,使用CRF ++0.53工具包实现字串序列词位标注进行了详解。最后在Bakeo ff2006的评测语料上进行了封闭测试。 [关键词]汉语分词;条件随机场;词位标注;特征模板 [中图分类号]T P391 [文献标识码]A [文章编号]1671-5330(2010)05-0001-05 在中文信息处理领域,词是最小的能够独立运用的有意义的语言单位。但汉语书写时却以字为基本的书写单位,词语之间不存在明显的分隔标记,因此,中文信息处理领域的一项基础性研究课题是如何将汉语的字串切分为合理的词语序列,即汉语分词。它不仅是句法分析、语义分析、篇章理解等深层中文信息处理的基础,也是机器翻译、自动问答系统、信息检索和信息抽取等应用的关键环节[1,2]。 近年来,尤其是2003年7月首届国际中文分词评测活动Bakeo ff 开展以来,汉语分词技术取得了可喜的进步,该领域的研究取得了令人振奋 的成果[3,4]。其中,基于字的词位标注汉语分词技术(也称为基于字标注的汉语分词或由字构词)得到了广泛关注,在可比的评测中性能领先的系统几乎无一例外都应用了类似的标注思想[3,5]。基于字的词位标注汉语分词将分词看作序列数据的标注问题,使用序列数据标注模型实现,例如,可采用条件随机场(Co nditional Random Fields ,简称CRFs )实现。CRFs 是Lafferty 等[6]于2001年提出的一种用于序列数据标注的条件概率模型。本文简要介绍了词位标注汉语分词的基本思想,探析了基于条件随机场实现词位标注汉语分词的机理,并对采用B 、M 、E 、S 四词位标注集,使 1 2010年 安阳师范学院学报

中文分词技术研究

分词算法一般有三类:基于字符串匹配、基于语义分析、基于统计。复杂的分词程序会将各种算法结合起来以便提高准确率。Lucene被很多公司用来提供站内搜索,但是Lucene本身并没有支持中文分词的组件,只是在Sandbox里面有两个组件支持中文分词:ChineseAnalyzer和CJKAnalyzer。ChineseAnalyzer 采取一个字符一个字符切分的方法,例如"我想去北京天安门广场"用ChineseAnalyzer分词后结果为:我#想#去#北#京#天#安#门#广#场。CJKAnalyzer 则是二元分词法,即将相邻的两个字当成一个词,同样前面那句用CJKAnalyzer 分词之后结果为:我想#想去#去北#北京#京天#天安#安门#门广#广场。 这两种分词方法都不支持中文和英文及数字混合的文本分词,例如:IBM T60HKU现在只要11000元就可以买到。用上述两种分词方法建立索引,不管是搜索IBM还是11000都是没办法搜索到的。另外,假如我们使用"服务器"作为关键字进行搜索时,只要文档包含"服务"和"器"就会出现在搜索结果中,但这显然是错误的。因此,ChineseAnalyzer和CJKAnalyzer虽然能够简单实现中文的分词,但是在应用中仍然会感觉到诸多不便。基于字符串匹配的分词算法用得很多的是正向最大匹配和逆向最大匹配。其实这两种算法是大同小异的,只不过扫描的方向不同而已,但是逆向匹配的准确率会稍微高一些。"我想去北京天安门广场"这句使用最大正向分词匹配分词结果:我#想去#北京#天安门广场。这样分显然比ChineseAnalyzer和CJKAnalyzer来得准确,但是正向最大匹配是基于词典的,因此不同的词典对分词结果影响很大,比如有的词典里面会认为"北京天安门"是一个词,那么上面那句的分词结果则是:我#想去#北京天安门#广场。 如果用"广场"作为关键字进行检索,那么使用后一个词典分出来的便可检索到,而使用前一个的则不行,而事实上应该是不管搜索北京天安门、天安门广场、天安门、广场都能检索到这篇文档。使用全切分可以实现这个想法,同样是那句使用正向全切分分词结果为:我#想去#北京天安门#北京#天安门#天安门广场#广场,这样不管用"北京天安门"、"天安门广场"、"天安门"、"广场"中的哪一个作为关键字搜索都可以搜索到。采取这种分法会在一定程度上提高分词的准确率,但也会出现问题,例如"我要在上海南站上车"这句采用正向全切分结果为:我#要在#上海#海南#南站,分出海南这个词显然是错误的,这属于交叉歧义。 正如前面所说,基于字符串匹配的分词算法都是依赖于词典的,但是不管再

中文分词技术

一、为什么要进行中文分词? 词是最小的能够独立活动的有意义的语言成分,英文单词之间是以空格作为自然分界符的,而汉语是以字为基本的书写单位,词语之间没有明显的区分标记,因此,中文词语分析是中文信息处理的基础与关键。 Lucene中对中文的处理是基于自动切分的单字切分,或者二元切分。除此之外,还有最大切分(包括向前、向后、以及前后相结合)、最少切分、全切分等等。 二、中文分词技术的分类 我们讨论的分词算法可分为三大类:基于字典、词库匹配的分词方法;基于词频度统计的分词方法和基于知识理解的分词方法。 第一类方法应用词典匹配、汉语词法或其它汉语语言知识进行分词,如:最大匹配法、最小分词方法等。这类方法简单、分词效率较高,但汉语语言现象复杂丰富,词典的完备性、规则的一致性等问题使其难以适应开放的大规模文本的分词处理。第二类基于统计的分词方法则基于字和词的统计信息,如把相邻字间的信息、词频及相应的共现信息等应用于分词,由于这些信息是通过调查真实语料而取得的,因而基于统计的分词方法具有较好的实用性。 下面简要介绍几种常用方法: 1).逐词遍历法。 逐词遍历法将词典中的所有词按由长到短的顺序在文章中逐字搜索,直至文章结束。也就是说,不管文章有多短,词典有多大,都要将词典遍历一遍。这种方法效率比较低,大一点的系统一般都不使用。 2).基于字典、词库匹配的分词方法(机械分词法) 这种方法按照一定策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功。识别出一个词,根据扫描方向的不同分为正向匹配和逆向匹配。根据不同长度优先匹配的情况,分为最大(最长)匹配和最小(最短)匹配。根据与词性标注过程是否相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。常用的方法如下: (一)最大正向匹配法 (MaximumMatchingMethod)通常简称为MM法。其基本思想为:假定分词词典中的最长词有i个汉字字符,则用被处理文档的当前字串中的前i个字作为匹配字段,查找字典。若字典中存在这样的一个i字词,则匹配成功,匹配字段被作为一个词切分出来。如果词典中找不到这样的一个i字词,则匹配失败,将匹配字段中的最后一个字去掉,对剩下的字串重新进行匹配处理……如此进行下去,直到匹配成功,即切分出一个词或剩余字串的长度为零为止。这样就完成了一轮匹配,然后取下一个i字字串进行匹配处理,直到文档被扫描完为止。

一种中文分词算法

一种中文分词算法 1.1.1 最大匹配法分词的缺陷 尽管最大匹配法分词是常用的解决的方案,但是无疑它存在很多明显的缺陷,这些缺陷也限制了最大匹配法在大型搜索系统中的使用频率。最大匹配法的问题有以下几点: 一、长度限制 由于最大匹配法必须首先设定一个匹配词长的初始值,这个长度限制是最大匹配法在效率与词长之间的一种妥协。我们来看一下以下两种情况: (1)词长过短,长词就会被切错。例如当词长被设成5时,也就意味着它只能分出长度为5以下词,例如当这个词为“中华人民共和国”长度为7的词时,我们只能取出其中的5个字去词库里匹配,例如“中华人民共”,显然词库里是不可能有这样的词存在的。因此我们无法下确的划分出“中华人民共和国”这样的词长大于5的词。 (2)词长过长,效率就比较低。也许有人会认为既然5个字无法满足我们的分词要求,何不将词长加大,例如加到10或者100,毕竟这个世界超过100个字长的词还是很少见的,我们的词长问题不就解决了?然而当词长过长时,我们却要付出另一方面的代价:效率。效率是分词算法、甚至是整个算法理论体系的关键,毕竟算法书里所有的高深的查询或排序算法都是从效率出发的,否则任何笨办法都可以解决分词效率低的问题。设想到我们把字长设成100个词时,我们必须将词从100开始一直往下匹配直到找到要查的字为止,而我们大多数词的字长却只有两三个字,这意味着前97次的匹配算法是徒劳的。 因此我们必须要在词长与效率之间进行妥协,既要求分词尽量准确,又要求我们的词长不能太长。尽管我们可能找到这样一个比较优化的字长值使两者都达到比较满足的状态,但是毕竟不管我们怎么设定,总会有些太长词分出来,或者带来效率问题。 二、效率低 效率低是最大匹配法分词必然会来的问题。即使我们可以将字长设成相当短,例如5(注意,我们不能再缩短字长了,毕竟字长为5以上的词太多了,我们不能牺牲分词的准确),然而当我们的大数词长为2时,至少有3次的匹配算法是浪费掉的。回想一下算法书里提到

相关文档
最新文档