基于搜索统计技术中文分词算法的应用研究
http://www.paper.edu.cn
-1- 基于搜索统计技术中文分词算法的应用研究1
付青华
绵阳师范学院计算机科学与工程系,四川绵阳(637002)
E-mail:fuhuamy@sohu.com
摘 要:中文分词是影响中文搜索引擎性能的一个重要因素,而歧义识别则是中文分词中需
要解决的一个问题,本文简要介绍了目前主要的几种中文分词算法,并提出了基于搜索统计
技术的中文分词算法,通过实验证明,它具有良好的歧义识别能力。
关键词:搜索统计; 中文分词
图书法分类号:TP391
1. 引言
随着网络信息量的丰富,用户面对成千上万的搜索结果,逐一浏览是不可能的。因此判
断一个搜索引擎性能的好坏并不在于其能否找到所有的信息,而是在于其能否找到用户最需
要的信息。对用户提交的搜索关键字进行分词,是影响搜索引擎性能的一个重要功能模块,
中文分词把输入的计算机汉语语句自动切分为词的序列的过程[1]
。中文分词对于中文页面检
索有重要的意义,对它的评价不应依据人的主观看法,而应该考察其是否有助于提高信息检
索的准确度[2]
。中文分词是汉语自然语言处理存在一些难以解决的问题[3]
主要体现在两方
面:①对新词识别②歧义解决[4]
。
面对着这些中文分词问题,目前的解决方法主要有:基于字符串匹配的分词方法、基于
理解的分词方法和基于统计的分词方法。针对这三种方法各自的优缺点,本文基于搜索统计
技术,提出了一种新的中文分词算法。经过实验证明,本算法具有比较良好的中文分词性能。
2. 研究现状
目前常用的中文分词方法主要有:基于字符串匹配的分词方法、基于语义的分词方法、
基于统计原理的分词方法。
2.1基于字符串匹配的分词方法
又称为机械分词方法,其实现原理较为简单。主要步骤是将准备分析的汉字串与一个事
先预备好的机器词库中的词进行字符串匹配,若在词典中找到某个字符串,则匹配成功,也
即认为识别出一个词。
串匹配分词方法显然不具有良好的歧义识别能力,它基于机械的字符串匹配,不具有语
义上的分析。虽然通过在串匹配算法过程中加入一些技术改进,如:正向匹配、逆向匹配、
最大(最长)匹配、最小(最短)匹配等使得机械分词技术的性能有所提高,但其精度并不
能完全满足实际的需要。实际使用中,机械分词只是作为一种初始划分的手段,还需通过利
用各种其它的技术辅助,来进一步提高切分的准确率。
2.2基于语义的分词方法
该分词方法是让计算机了解句子语义,从而实现识别词、划分词的功能。它的基本方法
是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。它一般由
1
本课题得到绵阳师范学院重点实验项目的资助。 http://www.paper.edu.cn
-2- 三个模块组成:控制模块、分词子系统模块、句法语义子系统模块。在控制模块的调控下,
分词子系统模块获得相关词、句子等的句法和语义信息,然后对分词歧义进行判断,实现人
对句子的理解的模拟过程。
2.3基于统计原理的分词方法
词是稳定的字的组合,因此在上下文中,相邻的字若同时出现的次数越多,其构成一个
词的概率就越高。因此字与字相邻共现的频率能够较好的反映成词的置信度。可以对现有文
字资料中相邻出现的各个字组合的频度进行统计,计算它们的互现信息。互现信息即两个汉
字相邻出现的概率。互现信息体现了汉字之间结合关系的紧密程度。当结合紧密程度高于某
一个阈值时,便可认为相关的字可能构成了一个词。
2.4 以上方法的优缺点
串匹配分词方法显然不具有良好的歧义识别能力,它基于机械的字符串匹配,不具有语
义上的分析。虽然通过在串匹配算法过程中加入一些技术改进,如:正向匹配、逆向匹配、
最大(最长)匹配、最小(最短)匹配等,使得机械分词技术的性能有所提高,但其精度并
不能完全满足实际的需要。实际使用中,机械分词只是作为一种初始划分的手段,还需通过
利用各种其它的技术辅助,来进一步提高切分的准确率。
基于语义的分词方法需要使用大量的语言知识和信息。与当前的语义表述信息技术如:
XOL,语义WEB技术不同的是:基于语义的分词方法,需要计算机对任意的汉语句子进行
理解,而由于汉语语言知识的复杂性,将汉语信息组织成机器可直接读取的形式具有相当的
难度。因此目前基于语义的分词系统还处在试验阶段。
这种方法只需要对中的字组合的频度进行统计,不需要切分词典,因而又叫做无词典分
词法或统计取词方法。但这种方法的局限性在于:其经常抽出一些共现频度高、但并不是词
的常用字组,并且对常用词的识别精度差,时空开销大。
通过对上述分析可以看出,它们都有各自的优缺点。为了实现一个较为理想的分词效果,
目前实际使用的分词系统一般都是以上三种技术的综合应用,如使用串匹配分词进行初始分
配,再使用统计方法识别新词,达到分词切分速度快、效率高的特点,又可以实现识别新词,
实现一定程度上的消除歧义。
3. 基于搜索统计技术的中文分词算法
3.1基于搜索统计的中文分词技术原理
通过对以上分词技术的介绍可以看出,这些技术都存在一个共同的难以解决的问题,即:
歧义识别问题。串匹配方法通过字符串匹配来实现分词,基于统计原理的分词方法是根据字
组合的频度来判断分词。因而这两种方法都不能从根本上解决歧义识别问题。而基于语义的
分词方法,从理论是可以达到良好的歧义识别能力,但是其实现难度很大,就目前计算机技
术发展水平而言是很难达到的。因此本文基于搜索统计技术,提出一种新的中文分词技术。
在阐述基于搜索统计的中文分词技术之前,本文首先对分词歧义的本质,以及造成分词歧义
的因素进行分析。
设字符串S,分词算法F,那么即有:
F(S) =
1,w
2,…w
n>,其中{w
i | w
i∈WD},WD为预设的词库。(1)
分词歧义的本质在于当某个关键词进行分词划分时,可以形成不同的划分方式,即F(S)http://www.paper.edu.cn
-3- 的结果并不唯一:
F(S) =
1,w
2,…w
n>||
1,w’
2,…w’
n> 其中{w
i | w
i∈WD}, {w’
i | w’
i∈WD}(2)
从而造成搜索引擎无法准确识别用户输入关键字的意图,给搜索工作产生影响。同样值
得注意的是,分词歧义与真歧义不同,分词歧义是指计算机无法正确分词,但人可以正确做
到正确识别,而真歧义就算是人也无法正确领会关键字的含义。从这一点出发可见,造成分
词歧义的本质是因为仅使用词库中的词进行匹配划分,而没有考虑到这些词的应用上下文。
人可以进行正确分词,是因为人知道正常情况下,错误的词划分那种词组合情况是不会出现
的或极少出现。也即:
S(
1,w
2,…w
n>)>S(
1,w’
2,…w’
n>)(3)
其中S为频率统计,
1,w
2,…w
n>为词划分向量。
由此可以提出新的分词方法,即可以先统计词出现组成的频率,然后建立对应的统计资
料库,当出现字符串匹配出现歧义时,再按统计资料库中词组合的出现频率进行查找,找到
频率最高的一组划分词的组合方式,即认为是正确的词划分结果。
这样的方法从理论上可行,但在实现在存在一些问题,主要是汉语的词数目较多,词语
的组合方式规模巨大,而且一个关键词中可能有多个词,这时词组合方式会出现爆炸式的增
长。因此造成频率统计工作困难,统计资料库的设计、维护难以实现。
3.2 基于搜索统计的分词方法的实现
通过式(3)可得错误的词划分组合出现的频率比正确词划分组合出现的频率要低,也
即意味着正确词划分组合使用的频率更高。由此提出基于搜索统计的分词方法,其步骤如下
所示:
第一步:按字符串匹配的方式对关键字进行词划分;
第二步:若词划分不存在多种结果,则直接输出划分结果;如果存在多种划分结果,则
进行第三步;
第三步:对于多种划分结果,分别将相应的词使用直接搜索,搜索中文页面,获得不同
的搜索结果;
第四步:对搜索结果进行,将搜索页面数最多的词组合,作为正确的词划分组合输出。
3.3 算法代码及分析
以上分词方法的主要依据在于,中文页面实际上代表了汉语言应用情况,其主身就是一
个非常丰富的汉语使用资料库。因此通过词组合对中文页面直接搜索,所得页面数即体现出
该词组合使用的频率。通过这种方式,避免了对词组合的频率统计以及统计资料库的设计,
使用、维护等难以克服的问题。以下是该算法的伪代码:
produce word_partition
Link partition_output; //词划分结果输出链表
Array search_count; //对应不同词划分进行搜索的页面数结果
int max; //最大页面数对应的词划分位置
begin
input keywords;
call string_match(keywords,partition_output); //调用字符串匹配算法
if (partition.length()==1) //结果唯一,则输出 http://www.paper.edu.cn
-4- return partition_output;
else
begin
p = partition.getpoint();
while (p<>null) //遍历链表,分别对应不同词组合进行搜索
begin
call search(paratition.get(p),search_count);
end
call find_max(search_count,max); //找到最大搜索页面数的词组合位置
return paratition.get(max); //作为正确划分结果输出
end
3.4算法实验效果分析
实现的界面如下:
图1 界面
针对以上的算法,本文进行了验证。
“三年中将增长”这个关键词是用于词划分歧义识别测试的一个重要例子。从字符串匹配
的角度来看,它既可以划分成:和两种形式,显然
增长>是正确的词划分结果。通过以上算法的实验,利用GOOGLE搜索引擎,进行直接搜
索的结果分别是:搜索结果为225000,而搜索结果为
3270000。按照以上算法即可获得正确的词划分形式。
“高性能绿色环保”同样可划分成,也可划分成二种
形式,同样经过GOOGLE搜索引擎所得的结果分别为:1670000和58800。按以算法也可
获得正确的词划分形式。通过以上的实验可见,基于搜索统计的中文分词技术以中文页面作
为汉语言使用资料库,可以实现较为良好的词划分效果。
4. 结束语
本文提出的基于搜索统计的中文分词技术利用中文页面作为汉语言使用资料库,基于汉
语言正常使用中的词组合频率可以实现良好的词划分效果。它不需要庞大的频率统计资料
库,算法空间效率较高。但是它使用了搜索引擎对中文页面进行搜索,使得其时间复杂度较
高,在下一步的工作中将通过实现简化的词组合频率统计库来进一步解决这个问题。同时,
随着互联网的发展中,本体的语义网将成为当今研究的主流。
中文分词技术在电子病历系统中的应用
中文分词技术在电子病历系统中的应用
二〇一二年十月 《中文分词技术在电子病历系统中的应用》
- 1 -
摘 要
电子病历(Electronic Medical Record,EMR)是医疗机构医务人员对门诊、住院患者临床诊疗和指导干预的、使用信息系统生成的文字、符号、图表、图形、数据、影像等数字化的医疗服务工作记录,是居民个人在医疗机构历次就诊过程中产生和被记录的完整、详细的临床信息资源,它可在医疗卫生服务中作为主要的信息源,取代纸张病历,医院通过电子病历以电子化方式记录患者就诊的信息,包括:首页、病程记录、检查检验结果、医嘱、手术记录、护理记录等等,其中既有结构化信息,也有非结构化的自由文本,还有图形图象信息,在医疗中作为主要的信息源,提供超越纸张病历的服务,满足医疗、法律和管理需求。
电子病历系统(Electronic Medical Record System, EMRs)是针对基于计算机和信息网络的电子病历进行采集、储存、传输、展现、检索、质量控制、统计和利用的系统。
为了进一步推进以电子病历为核心的医院信息化建设工作,提高医院信息化管理水平,截止2012年1月底,卫生部先后制定下发了《电子病历基本规范(试行)》、《电子病历系统功能规范(试行)》、《电子病历系统功能应用水平分级评价方法及标准》、《电子病历基本数据集(征求意见稿)》等法规和规范性文件。
在《电子病历系统功能规范(试行)》中明确了对电子病历书写需要将自然语言方式录入的医疗文书按照医学信息学的要求进行结构化以及对结构化数据的检索和统计进行了要求。在《电子病历基本数据集(征求意见稿)》中进一步确定了电子病历数据进行数据交换的基本数据集模型。由此可见电子病历的“结构化”是电子病历系统设计和实施的重点和难点。
本文将阐述如何通过在目前新版电子病历系统中引入中文分词技术,解决目前电子病历系统中电子病历数据的“结构化”难题,实现电子病历用户在实际应用中通过自然语言进行自由文本方式的输入的同时,能够通过计算机的辅助进行病历内容的结构化,为日后的查询、统计、数据交换提供基础。
基于Python语言的中文分词技术的研究
基于Python语言的中文分词技术的研究
祝永志;荆静
【摘 要】Python作为一种解释性高级编程语言,已经深入大数据、人工智能等热门领域.Python在数据科学领域具有广泛的应用,比如Python爬虫、数据挖掘等等.将连续的字序列划分为具有一定规范的词序列的过程称为分词.在英文中,空格是单词间的分界符,然而中文比较复杂.一般来说对字、句子和段落的划分比较简单,但中文中词的划分没有明显的标志,所以对中文文本进行分词的难度较大.运用Python爬虫对网页数据进行抓取作为实验文本数据,使用python强大的分词库jieba对中文文本进行分词处理.对分词结果分别采用TF-IDF算法和TextRank算法进行提取关键词,实验结果明显优于基于词频的分词算法.最后采用词云的方式对关键词进行展现,使得分词结果一目了然.
【期刊名称】《通信技术》
【年(卷),期】2019(052)007
【总页数】8页(P1612-1619)
【关键词】python;文本分词;jieba;词云;数据可视化
【作 者】祝永志;荆静
【作者单位】曲阜师范大学 信息科学与工程学院,山东 日照 276826;曲阜师范大学
信息科学与工程学院,山东 日照 276826
【正文语种】中 文
【中图分类】TP312
0 引 言
Python是当今最热门的编程语言之一,仅次于Java语言、C语言。国内的知名互联网企业也有很多使用python语言搭建的,比如网易、豆瓣等。由于很多公司使用Python进行开发和其他工作,导致Python招聘相关工作岗位的范围很广,涉及到从后台维护到前端开发。Python适用于数据科学方面,比如数据采集、数据分析和数据可视化等,社会发展的需求也是Python热门的原因之一。
用高级语言编程可以大大提高生产力的想法并不新鲜,当今社会各个领域都离不开数据的支持,获取和充分利用数据是一个巨大的问题,而Python就是一门可以解决这种问题的高级编程语言。Python爬虫是众多数据来源渠道中重要的一条,运用它可以提供优质和价值丰富的数据集[1]。除了获取数据,Python在后续的数据处理等过程中也展现出了巨大的优势,它的应用范围十分广泛,几乎覆盖了整个程序设计的领域[2]。在本文中首先运用Python爬虫爬取新闻网页数据,为后续实验提供文本数据,然后对文本进行切分,对切分结果进行去除停用词处理后对分词进行了加权处理筛选出关键词,在加权时采用了TF-IDF算法和TextRank算法对分词的重要性进行计算,根据加权结果提取出关键词,最后运用WordCloud库采用词云的方式对关键词进行展现。数据的获取和分析处理过程都程序化,不仅可以节省时间,使得阅读过程更加方便快捷,而且可以迅速地从中文文本中提取到高价值的信息。
语言模型中的分词(tokenization)算法
语言模型中的分词(tokenization)算法
语言模型中的分词算法是一种将连续的文本切分为一个个独立的词汇单元的过程。这些词汇单元被称为“令牌”(tokens),它们是语言模型处理和理解文本的基本单位。分词算法在自然语言处理(NLP)中起着至关重要的作用,因为它们可以帮助模型更好地理解和生成文本。
以下是几种常见的分词算法:
1. 基于规则的分词算法:这种算法通过定义一套规则来将文本切分成令牌。例如,可以通过定义某些单词不能被拆分或某些字符只能与特定字符一起出现的规则。然而,这种方法需要人工制定和维护规则,且对于某些复杂的语言现象可能难以处理。
2. 基于统计的分词算法:这种方法利用语言学和统计学的知识,通过训练一个模型来预测每个位置的令牌。常见的基于统计的分词算法包括最大匹配法(MM)、逆向最大匹配法(RMM)等。这些方法通常能够处理更复杂的语言现象,但也需要大量的训练数据。
3. 深度学习分词算法:近年来,深度学习模型在许多任务上取得了显著的成功,包括分词。例如,循环神经网络(RNN)、长短期记忆网络(LSTM)和Transformer等模型可以学习从输入序列中预测令牌序列。这些方法通常能够处理更复杂的语言现象,但也需要大量的计算资源和训练时间。
不同的分词算法有各自的优缺点,选择哪种分词算法取决于具体的应用场景和需求。例如,对于需要快速且简单的分词任务,基于规则的方法可能是一个更好的选择;而对于需要处理复杂语言现象的任务,深度学习模型可能更有效。
自然语言处理中的分词技术
自然语言处理中的分词技术
随着人工智能技术的发展,自然语言处理已经成为人工智能领域中的重要分支。分词技术是自然语言处理中的一项基础技术,它将汉字序列经过分析和处理,将其切分成一个一个的词语,为后续的处理提供了基础。本文将着重介绍自然语言处理中的分词技术。
一、分词技术的分类
在自然语言处理中,分词技术主要分为两种:基于词典的分词技术和基于统计的分词技术。
基于词典的分词技术主要是依靠事先准备好的词典,通过匹配输入的汉字序列中所有可能的词语,将其切分为离散的词语。词典中的词汇通常是人工手动构建的,可以通过收集大量的语料库,或者人工整理的方式进行构建。由于词典是静态的,无法应对一些新出现的词语,因此在处理新的数据时,可能会出现切分错误的情况。
与基于词典的分词技术不同,基于统计的分词技术则是基于统计学习算法来进行分词的。这种方法的主要思路是,通过构建训练集,利用统计学习算法学习到一些规律和分布,从而对未知的数据进行切分。这种方法的优点是可以应对新出现的词语,但是需要大量的训练数据,且训练过程比较复杂。
二、中文分词技术的难点
中文与其他语言的分词不同,主要因为中文中的词语通常不是离散的,而是紧密相连的。这就意味着,对于一个汉字序列,往往存在多种可能的切分方式。例如,“我爱北京天安门”这个句子可以切分为“我/爱/北京/天安门”,也可以切分为“我爱/北京/天安门”等等。因此,中文分词的难点主要在如何确定一个最合适的切分方式。
此外,中文中还存在许多不同的词形变化和语法结构。例如,“你在干什么呢”这句话中,“在”这个字并不是一个独立的词语,而是一个表示“正在进行”功能的助动词。因此,在进行中文分词时,还需要考虑这些语法结构的影响。
三、中文分词技术的应用
中文分词技术在自然语言处理中有着广泛的应用。其中,搜索引擎是最常见的应用之一。搜索引擎在对用户输入的搜索词进行处理时,需要对其进行分词,以便于匹配相关的网页内容。
结巴分词原理
结巴分词原理
结巴分词是一种基于Python语言开发的中文分词工具,它采用了基于统计的分词方法,能够有效地对中文文本进行分词处理。结巴分词的原理主要包括三个方面,基于统计的分词算法、词典与HMM模型以及关键词提取与词性标注。下面将对这三个方面进行详细介绍。
首先,结巴分词采用了基于统计的分词算法。这种算法是通过分析大量的中文语料库,统计词语之间的搭配和频率,然后根据统计结果来确定词语之间的切分位置。这种算法能够较好地处理一些新词、专有名词以及一些特殊的词语搭配,具有一定的鲁棒性和适应性。
其次,结巴分词还采用了词典与HMM模型相结合的方法。词典是指结巴分词内置的一些常用词语和词语搭配,通过词典可以快速地判断出一些常见词语的切分位置。而HMM模型则是一种隐马尔可夫模型,通过对词语的隐含状态进行建模,来确定最可能的切分位置。这种方法能够有效地处理一些生僻词和歧义词,提高了分词的准确性。
最后,结巴分词还包括了关键词提取与词性标注功能。关键词提取是指通过对文本进行分词和统计分析,得到文本中的关键词,从而帮助用户快速地了解文本的主题和重点内容。而词性标注则是指对分词结果进行词性的标注,可以帮助用户进一步分析文本的语法结构和语义信息。
总的来说,结巴分词是一种基于统计的中文分词工具,它采用了多种方法来实现对中文文本的有效分词处理。通过对大量语料的统计分析、词典与HMM模型的结合以及关键词提取与词性标注等功能,结巴分词能够较好地满足用户对中文分词的需求,具有一定的准确性和实用性。
结巴分词的原理虽然较为复杂,但是在实际应用中,用户只需要简单调用相应的接口,就可以快速地实现对中文文本的分词处理。因此,结巴分词在自然语言处理、信息检索、文本挖掘等领域都有着广泛的应用前景,对于提高中文文本处理的效率和准确性具有重要意义。希望本文对结巴分词的原理有所帮助,谢谢阅读。
基于改进的正向最大匹配中文分词算法研究
第28卷第5期 2011年10月 贵州大学学报(自然科学版) Journal of Guizhou University(Natural Sciences) V 01.28 No.5 0ct.20ll
文章编号1000—5269(2011)05—0112—04
基于改进的正向最大匹配中文分词算法研究
王惠仙 ,龙 华
(昆明理工大学信息工程与自动化学院,云南昆明650051)
摘要:中文自动分词技术在中文信息处理、Web文档挖掘等处理文档类研究中是一项关键技 术,而分词算法是其中的核心。正向最大匹配算法FMM(Forward Maximum Match)具有切分速度
快、简洁、容易实现等优点,但是还存在分词过程中设定的最大词长初始值固定不变的问题,带来 匹配次数相对较多的弊端。针对此问题提出了根据中文词典中的词条长度动态确定截取待处理
文本长度的思想,改进了FMM算法,并用互信息统计来消除交集型歧义。最后,通过实验对算
法进行了分词和验证,结果表明改进的算法与一般正向最大匹配算法相比,中文分词的准确率提
高了。 关键词:自动分词;中文信息处理;挖掘;最大匹配 中图分类号:TP317.2 文献标识码:A
词是汉语中的最小的语义单位,是自然语言处 理系统中重要的知识载体和基本操作单元,而在中
文文本中词与词之间却没有很明显的标记,都是连
续的字符串,因而中文信息处理的首要解决的问题 就是怎样进行中文分词。正向最大匹配法是一种
基于字符串匹配的分词方法,它能够有效地扫描中 文文本,把文本分解成为词的集合.从而实现中文
文本的分词。
1分词的主要方法
现有的分词方法大体可以分为3类:基于词典
的分词方法、基于理解的分词方法和基于统计的分 词方法¨J。 1.1基于词典的分词方法
基于词典的分词法是广泛应用的一种的机械 分词方法,根据分词词典和一个基本的切分规则,
最常用的规则为最长匹配原则。该原则基于的思
中文病历文本分词方法研究
中文病历文本分词方法研究
李国垒;陈先来;夏冬;杨荣
【摘 要】探索适合医学文本的分词方法,为医学数据挖掘和临床决策支持的语义分析奠定基础.分别使用单纯中科院ICTCLAS分词、ICTCLAS+自定义词典、ICTCLAS+统计分词和ICTCLAS+自定义词典结合互信息统计分词4种策略,对1
500份出院记录中的病历文本进行分词处理,并从准确率、召回率和综合指标值等3个方面对分词结果进行评价.以人工分词的50份出院记录结果为标准依据,4种分词策略的综合指标值分别为45.77%、58.76%、64.93%和78.06%.结果证实,自定义词典结合基于互信息的统计分词方法,能够有效地对病历中出院记录文本进行分词处理,可以满足临床数据分析的需求,具有良好的推广意义.
【期刊名称】《中国生物医学工程学报》
【年(卷),期】2016(035)004
【总页数】5页(P477-481)
【关键词】病历文本;中文分词;统计分词;词典分词;出院记录
【作 者】李国垒;陈先来;夏冬;杨荣
【作者单位】中南大学信息安全与大数据研究院,长沙410013;中南大学信息安全与大数据研究院,长沙410013;医学信息研究湖南省普通高等学校重点实验室(中南大学),长沙410013;湖南省高等学校医学大数据2011协同创新中心,长沙410013;中国科学院成都文献情报中心,成都610041;中南大学湘雅医院,长沙410078
【正文语种】中 文 【中图分类】R318
一份完整的住院电子病历包含许多记录信息,如住院病案首页、病历概要、入院记录、检查报告、检验报告和出院记录等。其中,出院记录是患者住院诊疗过程的高度总结,包含着患者的入院病情摘要、入院诊断、住院期间的病情变化及整个诊疗过程,既有结构化内容也有非结构化内容。出院记录的内容大多为叙述性的文本信息,对其进行语义分析或数据挖掘等,迫切需要良好的技术对其进行分词处理。
近年来,众多学者开展了针对医学文本分词处理的研究。国外方面,由于中文语言没有自然的分隔标识,且国外电子病历大部分实现了结构化并拥有较为完善的临床术语系统,如SNOMEO CT、UMLS和RxNorm等,因此相关研究主要集中在医学术语和本体知识库构建、医学自然语言处理和医疗数据模型和软件开发等方面。国外针对中文病历文本分词的研究较少,Lu等利用统计学方法,从100万名患者的主诉中抽取了470个关键术语,并转换为英文进行分类,用以实现临床症状的监测[1]。Dong等利用无监督迭代算法和SVM,构建了一个数据驱动框架,将电子病历中的自由文本转化为时间事件描述形式的结构化文本[2]。在国内的中文病历文本中,许多临床活动是以自由文本形式进行描述的,用词不受约束,依个人爱好而定,使用未登录词、同义词、近义词、缩略词等的现象普遍存在。因此,对中文病历文本进行分词处理,并从中抽取临床术语,是进行电子病历数据分析的基础。陈衡等对电子病历中现病史文本进行了分词研究,对于实现电子病历结构化具有一定的参考价值[3]。栗伟等提出了一种基于CRF与规则相结合的医学病历实体识别算法[4]。王军辉等提出了基于重现的无词典分词方法构建医学文献相关性数据库、发现医学新名词的应用设想[5]。为了抽取电子病历中的相关概念,邓本洋使用了CRF、最大熵、MIRA等3种基本学习模型,并利用实体识别的基本特征,建立了baseline系统用来识别电子病历中的相关概念[6]。国内已有的中文病历文本分词研究虽然取得了良好的进展,但尚无法满足病历文本处理的需要。 笔者以中国科学院的ICTCLAS分词系统为基础,对出院记录文本的词语切分进行研究。通过4种分词方案进行实验并评价,探索中国生物医学文献数据库术语、基于互信息的统计方法对出院记录文本分词的应用价值。
中文的token数
中文的token数
概述
在自然语言处理领域,token是文本的最小单位,可以是单个字符、单词或词组。中文作为一种复杂的语言,其token数的计算与英文等其他语言存在着不同。本文将探讨中文的token数计算方法及其应用。
中文分词与token
中文分词是将连续的中文字符序列切分成具有意义的词组或词语的过程。由于中文没有空格来明确分隔词语,中文分词对于进行文本处理和语言理解至关重要。而分词的结果就是文本的token。
分词算法
中文分词算法可以分为基于词典的方法和基于统计的方法两大类。基于词典的方法依赖于词典中包含的词语信息,通过匹配词典中的词语来进行分词。基于统计的方法则是利用大规模语料库中的统计信息,通过分析词语间的关联性来进行分词。
目前比较常用的中文分词算法包括正向最大匹配(Maximum Matching,MM)、逆向最大匹配(Reverse Maximum Matching,RMM)、双向最大匹配(Bidirectional
Maximum Matching,BMM)、隐马尔可夫模型(Hidden Markov Model,HMM)等。
分词示例
下面是一段中文文本的分词示例:
输入文本:我喜欢自然语言处理领域的研究。
分词结果:我 喜欢 自然 语言 处理 领域 的 研究 。
可以看到,分词后的结果是以单个词语作为一个token。
中文的token数计算方法
中文的token数计算方法与英文等其他语言不同,主要原因是中文作为一种象形文字,其字符与词语并没有一对一的对应关系。 基于字符的计算方法
最简单的计算方法是基于字符的计算方法,将每个中文字作为一个token。这种方法简单、直观,但忽略了中文词汇的组合关系,对于文本理解和信息抽取等任务可能不够准确。
基于词语的计算方法
更准确的计算方法是基于分词结果的计算方法,将分词后的每个词语作为一个token。这种方法能够更好地反映中文词汇的组合关系,但需要进行分词操作,比较耗时。
中文分词技术
一、 为什么要进行中文分词?
词是最小的能够独立活动的有意义的语言成分,英文单词之间是以空格作为自然分界符的,而汉语是以字为基本的书写单位,词语之间没有明显的区分标记,因此,中文词语分析是中文信息处理的基础与关键。
Lucene中对中文的处理是基于自动切分的单字切分,或者二元切分。除此之外,还有最大切分(包括向前、向后、以及前后相结合)、最少切分、全切分等等。
二、 中文分词技术的分类
我们讨论的分词算法可分为三大类:基于字典、词库匹配的分词方法;基于词频度统计的分词方法和基于知识理解的分词方法。
第一类方法应用词典匹配、汉语词法或其它汉语语言知识进行分词,如:最大匹配法、最小分词方法等。这类方法简单、分词效率较高,但汉语语言现象复杂丰富,词典的完备性、规则的一致性等问题使其难以适应开放的大规模文本的分词处理。第二类基于统计的分词方法则基于字和词的统计信息,如把相邻字间的信息、词频及相应的共现信息等应用于分词,由于这些信息是通过调查真实语料而取得的,因而基于统计的分词方法具有较好的实用性。
下面简要介绍几种常用方法:
1).逐词遍历法。
逐词遍历法将词典中的所有词按由长到短的顺序在文章中逐字搜索,直至文章结束。也就是说,不管文章有多短,词典有多大,都要将词典遍历一遍。这种方法效率比较低,大一点的系统一般都不使用。
2).基于字典、词库匹配的分词方法(机械分词法)
这种方法按照一定策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功。识别出一个词,根据扫描方向的不同分为正向匹配和逆向匹配。根据不同长度优先匹配的情况,分为最大(最长)匹配和最小(最短)匹配。根据与词性标注过程是否相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。常用的方法如下:
(一)最大正向匹配法 (MaximumMatchingMethod)通常简称为MM法。其基本思想为:假定分词词典中的最长词有i个汉字字符,则用被处理文档的当前字串中的前i个字作为匹配字段,查找字典。若字典中存在这样的一个i字词,则匹配成功,匹配字段被作为一个词切分出来。如果词典中找不到这样的一个i字词,则匹配失败,将匹配字段中的最后一个字去掉,对剩下的字串重新进行匹配处理…… 如此进行下去,直到匹配成功,即切分出一个词或剩余字串的长度为零为止。这样就完成了一轮匹配,然后取下一个i字字串进行匹配处理,直到文档被扫描完为止。 其算法描述如下:
基于最小费用最大流的中文分词算法模型
基于最小费用最大流的中文分词算法模型
摘要:中文自动分词不仅是中文信息处理的基础性工作而且对后续句法分析、语义分析等中文信息处理流程有着很大的影响。本文基于最小费用最大流,提出一个具有拓展性的中文分词算法模型,实验证明了本算法能够准确地对输入文字串进行切分。
关键词:中文分词 最小费用最大流 字符串匹配 中文信息处理
随着人工智能的快速发展,中文信息处理已经在搜索引擎、Web文本挖掘、自动文摘、文本校对等领域发挥越来越重要的作用。中文自动分词不仅是中文信息处理的一项基础性工作而且是严重制约中文信息处理发展的瓶颈之一。本文致力于中文自动分词算法的研究,基于最小费用最大流的原理提出一个具有拓展性的中文分词算法模型。
1 中文自动分词算法简述
中文分词的基本方法是基于已有词典库或者规则库,针对输入文字的字符串做分词、过滤处理,输出最优切分的中文单词[1]。
中文分词算法主要分为以下四类[1-3]:
(1)基于字符串匹配的分词方法:按照一定的字符串匹配策略,将输入文字的字符串与词典库中的词条进行匹配,若匹配成功,则进行切分。主要算法有:最大匹配法、逆向最大匹配法、最佳匹配法、逐词遍历法等。
(2)基于规则的分词方法:将基于字符串匹配的分词算法与分词规则库结合,采用不同的策略对输入语句进行切分,切分一致的部分判定为切分正确,不一致的部分为歧义字段。
(3)基于统计的分词方法:采用多种切分策略对输入字符串进行切分,根据分词词典匹配出所有可能的切分情况并计算切分的概率,求出概率最大的切分策略作为切分结果。
(4)基于理解的分词方法:在分词的过程中,不仅进行字符串的切分,而且进行句法分析、语义分析,利用句法和语义信息处理切分歧义。目前此方法尚处于试验阶段。
本文提出的基于最小费用最大流的中文分词算法模型即为基于字符串匹配的分词方法,而且此分词算法模型可以拓展为基于统计的分词方法。
2 基于最小费用最大流的中文分词算法模型
