4.1.2 汉语分词形式化模型
本节在相关工作的基础上[51],进一步构建汉语自动分词的形式化模型[40]。
设汉语文本中的符号集为有限集M={S1,S2,S3,…,Sm},Si(i=1,2,…,m)可能为汉字、外文字母、阿拉伯数字、标点符号或者空格。设全体汉字的集合为有限集C={C1,C2,C3,…,Cn},Cj(j=1,2,…,n)为一个汉字。
定义(待切分汉语句):待切分汉语语言语句S=S1S2S3…Sn定义为一个含有n(n为自然数)个字符且任意两个字符之间没有空格的字符串,其中Si∈M(i=1,2,…,n)。字符Si可能为汉字、外文字母、阿拉伯数字、或标点符号。
定义(汉语自动分词系统):汉语自动分词系统ACWSS(Automatic Chinese Word Segmentation System)定义为一个六元组(St,Lk,Si,A,Ewsr,Gwsr),
源自然语言文本St(Source Texts),
自然语言的语言学知识Lk(Linguistic Knowledge),
字符的统计信息Si(Statistic Information),
分词算法A(Algorithm),
系统分词结果Ewsr(Experimental Word Segmentation Result),
目标分词结果Gwsr(Goal Word Segmentation Result)。
定义(未登录词):对于待切分汉语语言语句S,设S′为S的词语切分结果,设S′=W1/W2/W3/…/Wm/,其中“/”为切分标记,如果Wi∉Mrd(i=1,2,…,m)即Wi不属于机器可读词典Mrd,则称Wi为未登录词。
一个词语是否为未登录词,与汉语分词系统和机器可读词典等相关。对于一个汉语分词系统,它可能为未登录词,而在另外一个汉语分词系统中却不一定是未登录词。
定义(正确词语切分句和错误词语切分句):设S为一个待切分汉语语言语句,若S′是S的词语切分结果,定义S′=W′1/W′2/W′3/…/W′m/为S的正确词语切分句,当且仅当S′的W′i之间满足语法、语义规则以及上下文语境约束,否则称为错误词语切分句。
一个已切分汉语语言语句S的正确性判断是一个很复杂的问题。正确词语切分句和错误词语切分句的判断,一定程度上依赖于知识工程师进行评估判断。一个待切分语句对不同的用户或系统而言,可能会产生不同的分词结果,且与文本体裁、上下文语境、分词面向的应用领域紧密相关。
定义(切分歧义词串):假设一个待切分汉语语言语句S在某个分词算法的作用下,产生一组不同的词语切分语句S′1,S′2,…S′n,定义集合:
为待切分汉语语言语句S的歧义切分词语集,并称歧义切分词语集在语句S中所对应的极大连续串为待切分汉语句S的切分歧义词串。其中,符号“-”表示集合之间的差运算。一个句子可能包含若干切分歧义词串。
例如,待切分语句S=S1S2…S10在某个分词算法或分词系统的作用下,产生不同的词语切分句S′1,S′2,S′3:
那么,S的切分歧义词串为S1S2S3S4和S8S9S10。
切分歧义词串的情况比较复杂,通常包括两种典型类型:即组合型切分歧义词串和交集型切分歧义词串。
定义(交集型歧义切分词串):假设一个待切分汉语语言语句S包含歧义切分词串为S1S2S3,如果S1S2S3被切分成:S1S2/S3/和S1/S2S3/,则称S1S2S3为交集型歧义切分词串。其中,S1,S1S2,S2S3,S3可能为机器可读词典中的词语、未登录词或不构成词语。
例如,“大数据技术”可能被切分为“大数据/技术”或“大/数据技术”。
定义(组合型歧义切分词串):假设一个待切分汉语语言语句S包含歧义切分词串S1S2,如果S1S2被切分成:S1/S2/和S1S2/,则称S1S2为组合型歧义切分词串。其中S1,S2,S1S2可能为机器可读词典中的词语、未登录词或不构成词语。
例如,“分布式数据库”可能被切分为“分布式数据库”和“分布式/数据库”。
其他切分歧义串为以上两种基本类型的组合。例如,待切分语句S=S1S2…S10在某个分词算法的作用下或分词系统中,产生不同的词语切分句S′1,S′2:
那么歧义切分词串S1S2S3S4S5S6为组合型和交集型切分歧义的组合词串。
不同的分词算法会获得不同的歧义切分结果。对一个分词算法而言,如果一个待切分汉语语言语句存在多个分词结果,必然存在歧义切分词串。可见,歧义切分语句的存在是汉语自动分词中的一个主要问题。
定义(极小歧义切分串):假设一个待切分汉语语言语句S对应的歧义切分句S′1和S′2,它们共有k个切分符号的位置相同,不妨设为:
则称连续两个相同位置的切分符号之间的字符串为S的极小歧义切分串,即S1…Si1,Si1+1…Si2,…,Sij+1…Sik,Sik+1…Sm均为S的极小歧义切分串。
定理.假设一个待切分汉语语言语句S对应的歧义切分句为S′1和S′2并且S′1≠S′2,定义SSN(S′)表示已切分汉语语言语句S′包含的切分符号“/”的数目,如果MS为S的极小歧义切分串,则当SSN(MTS 1′)=SSN(MTS 2′)时,MT含有交集型歧义切分串,其中SSN(MTS 1′)和SSN(MTS 2′)分别表示MT在S′1和S′2中包含的切分符号的数目。