一种多语文本的切词方法与流程

文档序号:12550655阅读:426来源:国知局

本发明属于自然语言处理领域,具体涉及一种多语文本的切词方法。



背景技术:

对于一篇输入的文本,计算机仅仅将它们看作一串普通的字符序列,而自然语言的预处理的过程则可以从这个文本字符串中分析出有意义的语言组成成分,这项工作为进行更复杂的自然语言处理提供基础。

传统的自然语言预处理技术主要依赖于字典以及多次文本扫描以及匹配字符串,即在处理过程中需要在词典中查找相应字符串并进行词条的匹配,并进行最大正向匹配,最大逆向匹配等操作。就目前而言,这些预处理方法都得到了不错的预处理效果。然而,随着全球互联网覆盖范围的不断扩张,以及其应用技术的迅猛发展,文本信息中语言的种类数目以及其本身的数据量都在急速增加。对于传统的预处理技术而言,这种发展趋势将导致更多语言字典的包含,和更多词条查找、扫描以及匹配的工作。因此,如何优化计算量去提升自然语言的预处理效率将面临很多问题。

基本概念:

a)切词:对于一篇输入的自然语言文本,切词的主要任务是将其分解成为一个个最小的语言相关单元;

b)有限状态机:表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型;

c)正则表达式:用于进行检索替换符合某个模式的文本操作。



技术实现要素:

本方法提出了一种新的切词方法用于解决自然语言的预处理效率提升的问题,即在脱离对语言字典的依赖并且仅扫描一遍的情况下,对输入的文本进行切词的预处理操作,获取文本中一个个最小的语言相关单元。

为解决上述技术问题,本发明提供了一种多语文本的切词方法,包括以下步骤:

步骤101,输入文本,并按顺序读取文本中的字符;

步骤102,基本切分处理:循环遍历多语文本中的字符,获取相邻的字符,对相邻的字符进行字符类型判断,根据基本切分规则进行切分,所述基本切分规则是用于通过识别相邻字符的字符类型,判断是否将相邻的字符进行切分的规则;

步骤103,配对符号处理:识别配对符,按照配对符处理规则判断配对符是否算词的一部分,若不算,切分出来;所述配对符处理规则,用于通过识别配对符的配对情形,判断是否将当前配对符算作词的一部分的规则;

步骤104,自定义普通符号处理:识别自定义的普通符号,按照普通符号处理规则判断普通符号和前后连续的若干个字符形成的字符串是否与正则表达式相匹配,如果匹配则进行规则处理,所述普通符号处理规则,包括自定义的普通符号名称、是否被切分、正则表达式;

步骤105,循环遍历输入文本,输出切词结果。

进一步,所述字符类型包括类拉丁字母、类汉字、数字、符号,空白符、类汉字。

进一步,所述基本切分规则是

若相邻的字符,其中一个是类拉丁字母,另一个是类汉字或空白符,则进行切分;

若相邻的字符,其中一个是数字,另一个是类汉字或空白符,则进行切分;

若相邻的字符,其中一个是符号,另一个是类汉字或空白符,则进行切分;

若相邻的字符,其中一个是类拉丁字母,另一个是数字或符号,则进行切分;

若相邻的字符,其中一个是类汉字,另一个属于字符类型中的一种,则进行切分;

若相邻的字符都是空白符,则不进行切分;

所述空白符不作为词的一部分。

进一步,所述配对符是成对出现的符号,属于字符类型中符号的一种。

进一步,所述步骤104中的普通符号属于字符类型中符号的一种。

进一步,所述配对符的配对情形包括首尾配对、首部挂单、尾部挂单、首部配对但与尾部不配对、尾部配对但与首部不配对。

进一步,所述配对符处理规则包括:

若当前配对符首尾配对,则当前配对符不算作词的一部分;

若当前配对符首部挂单,则当前配对符不算作词的一部分;

若当前配对符尾部挂单,则当前配对符不算作词的一部分;

若当前配对符首部配对但与尾部不配对,则当前配对符算作词的一部分;

若当前配对符尾部配对但与首部不配对,则当前配对符算作词的一部分。

进一步,所述输出切词结果是按输入文本的字符顺序将切分出来的切词内容输出。

进一步,所述普通符号处理规则是通过用户自定义进行设置的。

本发明的有益效果是:在脱离对语言字典的依赖并且仅扫描一遍的情况下,对输入的文本进行切词的预处理操作,获取文本中一个个最小的语言相关单元,有利于提升自然语言的预处理效率。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定,在附图中:

图1为本发明的示意图。

具体实施方式

下面结合附图和具体实施方式对本发明的技术方案作进一步具体说明。

如图1所示,本发明提供一种多语文本的切词方法,包括如下步骤:

预处理开始后,首先用户输入预处理的文本。输入的待处理文本中的字符将被一个一个按顺序被读取,文本以Unicode的编码格式作为输入(步骤101)。

首先将判断当前获取的字符的类型。根据字符类型的定义,此字符将被判断为类汉字(中日韩泰),类拉丁字母(西欧语言)及数字,标点符号,或者空白符。接着读入下一个连续的字符并同样对其类型做判断。基本切分的处理会根据这两个连续字符的类型决定了它们之间是该被切分开还是连在一起(步骤102);

例如,当定义了连续的类汉字类型字符和其他类型字符之间得切分开时,对于文本“你‘out’了a。”中相邻的“你”(类汉字)和“‘”(标点符号)将会被切分开。同样的处理会应用于下下个连续的字符,“‘(标点符号)”和“o(类拉丁字)”将会连在一起,因为基本切分定义了连续的标点符号和类拉丁字符将不会被切分。这样的处理将一直进行下去,直到文件末尾。因此,文本“你‘out’了a。”切分成为四个部分,即“你”,“‘out’”,“了”和“a。”。

接下来,需要在基本切分的基础上根据配对符号处理规则决定是否做进一步的切分。当在基本切分的切词中出现了,诸如“”()[]等类似的配对符号时,配对符号处理规则将被用于判断这些配对符是否应该算作词的一部分(步骤103)。若不算作,则需要将配对符从当前切词中切分出来;

例如,切词“‘out’”中出现了一对正反单引号,根据首尾匹配的配对符不算作词的一部分的规则,此切词将会被切分为三个部分:“‘”,“out”和“’”。

除了配对符处理规则外,用户可以配置自定义的规则来定义某个普通符号是否应该算作词的一部分(步骤104);

例如,当定义了句号作为断句符号时不应该作为词的一部分时,切词“a。”将会同样会被进一步切分。其结果为“a”和“。”。通过对字符串的一次扫描,所有这些处理将完成。输出的结果将是按输入文本字符顺序切分出来的切词(步骤105)。所以,文本最终的切分的输出为:即“你”,“‘”,“out”,“’”,“了”,“a”。和“。”。

基本符号规则处理

所述文本字符类型包括类拉丁字母, 类汉字,数字,符号,空白, 类汉字;

基本切分规则包括:

若相邻的字符,其中一个是类拉丁字母,另一个是类汉字或空白符,则进行切分;

若相邻的字符,其中一个是数字,另一个是类汉字或空白符,则进行切分;

若相邻的字符,其中一个是符号,另一个是类汉字或空白符,则进行切分;

若相邻的字符,其中一个是类拉丁字母,另一个是数字或符号,则进行切分;

若相邻的字符,其中一个是类汉字,另一个属于字符类型中的一种,则进行切分;

若相邻的字符都是空白符,则不进行切分;

所述空白符不作为词的一部分。

配对符号规则处理

切词有限状态机中预定义了所有互相之间匹配的正反配对符号以及配对符号规则。其中这些规则主要用于判断是配对符号是否应该属于词的一部分。用“[”和“]”代指某一对匹配的配对符号,预定义的规则如下:

首尾配对的符号不算词的一部分,如[ab]应该切词为[ ab ]这三个部分。例如“‘out’”就应该被切分为“‘”,“out”和“’”

首部挂单的符号不算词的一部分,如[ab应该切词为[ ab这两个部分。例如“‘out”就应该被切分为“‘”和“out”

尾部挂单的符号不算词的一部分,如ab]应该切词为ab ]这两个部分。例如“out’”就应该被切分为“out”和“’”

首部配对但与尾部不配对的符号算词的一部分,如[ab]c应该切词为[ab]c这一个部分;例如“Januray(Jan)”被应该被切分;

尾部配对但与首部不配对的符号算词的一部分,如a[bc]应该切词为a[bc]这一个部分。例如“January(Jan)”不应该被切分。

普通符号规则处理

普通符号的规则处理主要由用户自行定义来决定该符号是否属于切词的一部分。其定义可以记录于规则配置文件中。记录规则的数据主要包括:普通符号名称,符合此规则是否该切分, 正则表达式规则(可以定义多个规则)。例如,对于英文的句号“.”大部分时候作为断句符号,并不属于切词的一部分;然而当作为一些英文简写的时候,此时英文句号就应该属于词的一部分而非断句符。根据简单的规则可以识别一些缩写:单个字母接一个句点,如A., B., C.等;连续的“字母句点”,如U.S.,i.e.等;一个大写字母后接若干辅音小写字母和句点,如Mr.,St.等。因此记录英文句点不作为断句符切分的规则包括以下:

英文句点.

不应该作为断句符而进行切分

规则1:[A-Za-z]\.

规则2:[A-Za-z]\.([A-Za-z]\.)

规则3:[A-Z][bcdffghj-np-tvxz]+\.。

输出

切词的输出结果即是将输入文本分成一个个的切词。类汉字将会一个个单独被切分出来,而一组组连续的数字字母符号字符串可能被单独的切分,一些不属于词的配对符号或者普通符号也会被单独切分出来。基于切词的结果的基础,可以被利用于更高级的应用。例如,可以进行断句、段分割、或者是一些针对切词进行统计例如利用每个切词相邻的切词进行n-gram相关的计算等。

最后所应说明的是,以上具体实施方式仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1