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的确是一个非常有用的需要处理办法,但是还是太过局限,所以还需要找到新的自然语言处方法。
4 comments
这篇文章如同一幅色彩斑斓的画卷,每一笔都充满了独特的创意。
技术前瞻性分析体现行业敏感度。
建议补充性能优化方案,增强实用性。
终极关怀的缺失可尝试补充升华。