1.N-Gram 模型原理

N-Gram 机器学习主要是通过划分句子成分来进行语言分析。而划分句子的能力,就依赖于N-Gram最经典的模型:

 P(AB)=P(A)*P(B) 

即将句子切片,A, B为一个个单独的汉字(词语),然后计算出每个字符与前后的字符的组合概率,然后通过概率的大小,来推断出自然语言规律。

2.弊端

如果需要自己训练模型,那所需要的数据对象非常庞大,才可以训练出一个符合人类语言的模型,也耗时耗力。同时,训练得到的模型同样非常庞大,所以如果需要投入使用,服务器的要求并不底。

3.优势

代码水平不高,无脑训练即可

4.运用

将模型训练好后,通过切片,如运用python,则可以将语句切片成列表,然后对每一个元素及其前后元素运用训练好的模型进行概率计算。假如有一句话Tom is a cat,则通过切片,可以得到有序列表["Tom","is","a","cat"],通过使用N-Gram模型计算,则可以得到 "Tom" 和 "is" 的概率为一个数值,以此类推,则可以通过这些数值的大小,判断出这句话是否通顺。

同时,为了优化名称以及专有名词的出现造成的模型不具有普遍性,我们可以通过判断词语的词性,通过词性进行进一步的判断。

或者,你可以给出几个词,组成无序列表 ["cat","Tom","a","is"],然后计算两两间的概率,从而按照大小可以得出一个完整的句子。

5.前景

目前,各大在线翻译网站都使用的是类似这种N-Gram技术,将用户需要翻译的句子进行拆分,然后在数据库中进行检索每个词的翻译,再将每一个词通过N-Gram技术再重新组成一句通顺的话。
同样,N-Gram也被大量用于机器聊天领域,可以使一句繁琐冗杂的话变得精简,使机器可以在已知数据中检索到结果。搜索引擎也是同样的处理方式。

6.总结

N-Gram的确是一个非常有用的需要处理办法,但是还是太过局限,所以还需要找到新的自然语言处方法。

Last modification:October 14, 2022
请作者喝杯咖啡吧