语言模型及其在中文分词中的应用
基于统计的分词方法的基本思想是中文语句中相连的字出现的次数越多,那么作为词来使用的次数就越多,语句拆分的可靠性就越高,分词的准确率就越高。其基本原理是统计词出现的次数,出现次数足够高的词作为单独的词被保留。基于统计的分词方法能够较好地处理未登录词和歧义词问题,不需要人为地搭建和维护词典,但它过于依赖语料库,语料库地准确度不一定高,且计算量较大,分词速度一般。
常见的基于统计的分词方法包括 n n n元语法模型(n-gram)和隐马尔科夫模型(HMM)
语言模型(LM)
语言模型(LM)是描述自然语言内在规律的数学模型。简言之,就是计算一个句子在文本中出现概率的模型,概率越大说明这个句子的准确性就越高。语言模型通常基于一个语料库构建,被广泛应用于各种NLP问题中,如语音识别、机器翻译、分词、词性标注等。
设 s s s为一连串按特定顺序排列的词序列(也就是一个句子), ω i \omega_i ωi表示词序列(句子)中的第 i i i个词,则 s = ω 1 , ω 2 , . . . , ω l s=\omega_1,\omega_2,...,\omega_l s=ω1,ω2,...,ωl。
语言模型可表示为:
P ( s ) = P ( ω 1 , ω 2 , . . . , ω l ) P(s)=P(\omega_1,\omega_2,...,\omega_l) P(s)=P(ω1,ω2,...,ωl)
= P ( ω 1 ) P ( ω 2 ∣ ω 1 ) . . . P ( ω l ∣ ω 1 , ω 2 , . . . , ω l − 1 ) =P(\omega_1)P(\omega_2|\omega_1)...P(\omega_l|\omega_1,\omega_2,...,\omega_{l-1}) =P(ω1)P(ω2∣ω1)...P(ωl∣ω1,ω2,...,ωl−1)
n n n元语法模型(n-gram)
在上面介绍的语言模型中存在一个问题,即当词序列的长度增加时,其计算难度也将逐渐加大。为了解决这一问题,我们引入马尔科夫假设。
马尔科夫假设: 对 ω 1 , ω 2 , . . . , ω l \omega_1,\omega_2,...,\omega_l ω1,ω2,...,ωl这一连串特定顺序排列的词序列, ω i \omega_i ωi出现的概率只与前面 N − 1 N-1 N−1个词 ω i − N + 1 , . . . , ω i − 2 , ω i − 1 \omega_{i-N+1},...,\omega_{i-2},\omega_{i-1} ωi−N+1,...,ωi−2,ωi−1相关。
当 N = n N=n N=n时,整个词序列 ω 1 , ω 2 , . . . , ω l \omega_1,\omega_2,...,\omega_l ω1,ω2,...,ωl将被切分成一个个由 n n n个词组成的片段,该语言模型被称为n元语法模型(n-gram模型)。
一元语法模型
当 N = 1 N=1 N=1时,该语言模型称为一元语法模型(unigram模型),此时每个词出现的概率都与前面的词无关,即相互独立:
P ( ω i ∣ ω 1 , ω 2 , . . . , ω i − 1 ) = P ( ω i ) P(\omega_i|\omega_1,\omega_2,...,\omega_{i-1})=P(\omega_i) P(ωi∣ω1,ω2,...,ωi−1)=