啊,这是自然语言处理界争论了很久的问题了,所谓的理性主义(基于规则)和经验主义(基于统计)之争。
记得看过一本书上详细的讨论过这个问题,详情可以移步这篇文章:
http://www.52nlp.cn/the-advantages-and-disadvantages-of-the-rationalism-and-empiricism-in-nlp 总结来说,基于统计的方法有如下好处,基于大量数据基础,有很好的鲁棒性,不需要真正理解语言就可以做出相当好的结果。由于人类语言的复杂性,去枚举一个语言的语法规则,是耗时费力的,以及鲁棒性比较差。
就机器翻译来说,现在的基于统计的平行文本技术已经能够产生很好的结果了,而且算法是独立于语言的。Google用一个通用的算法就可以在全世界各种语言中互相翻译,而不需要专门为每一种两两语言互译请专家来编写系统。试想,人工去为中译英制定规则,这需要考虑到词词对应,语法对应,以及考虑到上下文来解析词语的二义性,这很难依靠基于规则的方法来实现。
另注:平时接触到的当前自然语言处理系统中,真正由人编写规则已经是相当相当少见了,绝大多数都是基于大规模文本库训练出来的,根据概率论自动获取所需要的参数。而且我始终觉得自然语言处理的算法中,机器不是尝试去理解人类语言,而是去努力找出最符合人类语言习惯的答案。
再注:后来寻思了一下,似乎这所谓的两个主义之争,就只有在那本书上看过(有人提到过吴军博士的《数学之美》也提到过这个),其他地方也没记得提到过这个。我觉得吧,实际中,根本没有这种所谓上纲上线站队的,只是不同的研究团队会从不同的角度出发(当然现在基于统计的还是主流),对于同一个问题提出解决方案,反正很多问题都是有硬性的测试集评判标准的,欢迎各种方法,学术界百花齐放得乐呵呵呢。
— 完 —
本文作者:
知乎用户(登录查看详情)
【知乎日报——比新闻更多】听亲历者和内行专家八仙过海谈新闻,离现场更近一点。
下载知乎新 app - 知乎日报客户端(Android / iPhone 同步上架):
http://daily.zhihu.com/download
此问题还有
18 个回答,查看全部。
延伸阅读:
如何将 C 语言翻译成汇编语言?
如何理解 Objective-C 中的 strong 和 weak ?