基于贝叶斯学习的自适应中文词组的联想输入原理及C++实现
前几天自学南大周志华教授的《机器学习》,其中有一章叫贝叶斯分类器,觉得挺有意思,然后就去网上查了一下关于贝叶斯学习的具有应用有哪些,偶尔看到一篇文章叫《How to Write a Spelling Corrector》,是人工智能领域的专家Peter Norvig先生在飞机上无聊的时候写的(哎,大牛就是大牛,境界就是这么高),现任职于GOOGLE,对他感兴趣的可以去知乎或维基百科了解下。 也是看了他的文章,有了点启发,既然英文单词自动纠错都能用贝叶斯学习,通过概率知识去解决;那么中文和英文一样,作为一门交流语言,中文中拼写中的一些问题,自然也可以用概率理论来解决了,接下来就是去网上搜索传统输入法的基本算法,发现中文输入法中的由字联想到词的这一过程,也是可以自学习的:当输入一个字时,输入法将自动返回最常见的和这个字搭配的词组,此外要能根据用户习惯,去自适应的选择词组的出现顺序,比如,当我经常打“赵五”这个词,输入法要能自适应的在我刚打了“赵”这个字时,第一个联想到的的就是“赵五”,而不是“赵国”这个词。嘿嘿,要是能实现就好了,心动不如行动,虽然最终做的是非常粗糙,但基本功能也能实现(求大神不要喷)。
接下来分两部分介绍:
1.贝叶斯学习原理在本文中的应用
2.附上算法实现源代码及说明