自然语言处理从方法上讲有统计学方法和语言学方法两个分支。很多人认为语言学方法是走不通的。我们从20多年前开始研究自然语言处理,一直走的是语言学方法道路。自然语言处理有搜索、舆情监测、大数据分析、机器人翻译、问答机器人等等应用方向。有些方向更适合用语言学方法。
统计方法做搜索是对的。因为搜索本身就是个数学问题,是个概率。
统计学方法并不去深究句子内部的结构,经常忽略句子的非关键字,不处理语义。如果把统计学方法用于问答或者机器翻译就是伪科学。
语义本身是模糊的、不稳定的,语言文字只是表达形式。比如一个女孩子对自己男朋友说“你个大流氓”和对自己同事说这句话语义就是不一样的。如果仅仅处理字面,就没法完整理解语义。机器翻译用大数据方法,从概率上推算语义,而不是从语言本身出发,本质上还是搜索。说搜索是科学,不如说是项工程。
大多数人做机器翻译和搜索只要使用别人研究好的方法,使用大量计算资源进行计算就好了。他们的方法都差不多,都是统计学方法。他们对方法的改进并没有太多贡献。研究方法的人是做科研,使用方法的人只是做工程。前几年有的公司为了忽悠资本,给好多工程师被人打上了科学家的标签。研究统计学自然语言处理方法的人顶多算计算机或数学科学家,他们不是语言学科学家,他们不研究语言。
有人说现在的机器翻译也研究依存关系、词向量什么的,怎么就不是语言学了?在我看来不研究语法结构的都不是语言学。依存关系和词向量等等都是通过统计方法,是从结果反推。
问答和机器翻译又不同。机器翻译是静态的,而问答是动态的。问答是个过程,是个整体。在问答中分析一句话的语义常常要联系上下文,联系语境。比如“吃了吗”,是吃饭了吗?还是吃药了吗?“扔进哪个垃圾桶”是把什么扔进哪个垃圾桶?这些都是和上下文有关的。