SyntaxNet的上下文:了解谷歌新的TensorFlow NLP模型 VR2048

 

昨天,谷歌开源了Tensorflow-based依赖解析库SyntaxNet。这个解析库允许访问一系列谷歌研...

昨天,谷歌开源了Tensorflow-based依赖解析库SyntaxNet。这个解析库允许访问一系列谷歌研究人员在过去两年推出的神经网络解析模型。从这一项目发表之初我便一直密切关注着,而且一直期待着软件的推出。这篇文章试图提供一些此次发布的相关信息——创新点是什么,到底有多重要。

SyntaxNet为自然语言处理(NLP)提供了一个重要的模块,一个类似于 spaCy的模式。如果你从自然语言处理一点缩小来看,你所看到的技术的趋势都是关于工作计算机可以承担范围的扩大。直到最近,人们才能编写软件来控制一辆车,编写软件来调整你的邮件的语气,分析客户反馈或通过全球新闻来监测明显的商业风险。诚然,这些技术都不能和无人驾驶汽车相比。不过我们只需要耐心等待。语言是人类奋斗的核心。一直以来我们都在不可避免的推进事物变革发展,但是NLP技术的潜力巨大以至于我们很难预测它的前景。谷歌搜索是一个NLP应用程序,所以在某些我们说等待NLP改变世界是有些奇怪的。因为它已经做到了。但我坚信还有未来它还能做到更多。

在这个巨大的价值链中,SyntaxNet是一个比较低级的技术。这就像一种经过改良的钻头。就其本身而言,它不给你带来任何石油----而石油本身也不会给你提供任何能量或带来成品塑料,能源和塑料本身也不会给你带来任何工作或任何产品。但如果整个价值链的瓶颈是原油开采的效率,钻头被大幅改进则证明低端技术也是很重要的。

我认为语法解析是NLP的瓶颈技术,过去4,5年的技术进步将产生巨大的影响。现在,你可能会说,因为我在解决这个问题上花费了大量的时间,所以使这项技术脱离学术界走向商业化了。而我却认为这是一种逆转因果关系:因为我相信这个问题至关重要所以我投入时间进去,并不是因为投入了大量时间而显得重要。

好的,所以我认为这个问题是非常重要的。但SyntaxNet到底有多大的进步?如果你一直使用斯坦福CoreNLP的神经网络模型,你会发现你所使用的算法设计几乎相同,但是细节上有所不同。spaCy用到的解析模型也是类似的。从概念上讲,SyntaxNet的贡献是很微小的。主要是关于更为精确的试验,优化和改进方面的。然而,如果谷歌不做这项工作,可能没有人会做。神经网络模型使SyntaxNet开辟了一个可以充分展示更大胆的想法的天地,研究人员也在积极地探索。有所指向的想法让研究人员看起来(感觉上)聪明。我们最终可能做出比较精确的解析模型,但由于一些不正确的判断,比如系统设计中哪一部分对于精确性更重要这个问题,也许会使未来的进展变得缓慢。

CoreNLP模型面世后大约六个月,第一篇SyntaxNet论文发表了。基本上他们使用的是一个更大的网络,更好的激活函数,不同的优化方法。他们还用了hacky代码方法应进行定向搜索,他们最近的工作换成了更合理的方法。一系列同时进行的精确度等效并使用LSTM模型代替前馈网络的项目也和SyntaxNet论文同时发布了。

SyntaxNet能够做什么

语法解析器能够描述一个句子的语法结构,帮助另一个应用程序理解句子。自然语言介绍了许多令人意想不到的语义歧义,这些歧义我们的经常被我们的通识过滤掉。一下是一个最典型的例子:

他们吃带凤尾鱼的披萨

They ate the pizza with anchovies



正确的理解会把“带”和“披萨”放在一起理解,而错误的理解会把“用”和“吃”放在一起理解。





你可以通过我们displaCy的演示版体验这项技术,或观察简单的例子,了解如何使用基于规则的方法来分析语法解析树。字对字关系的树也可以被用来识别简单的短语,借此将技术扩展到诸如word2vec这类的“词袋”技术也十分简单。例如,我们解析了2015年在Reddit上的每一个评论,并用word2vec解析短语,题目和单词。这产生了一个很好的概念地图,这个概念地图要比严格限制空格分割单词的模型更有用。

SyntaxNet是一个训练和运行句法依赖解析模型的解析库。它提供的其中一个模型有可以极好地权衡速度和准确性。为了符合时下潮流,他们将这个模型命名为Parsey McParseface。希望他们能保持这种模仿化的命名体系。这种命名方式可以凸显时效性。然而模仿很容易过时,NLP技术也是如此。

进步有多大?

除了有“全球准确度最高”这个的称号之外,Parsey McParseface相比近期的研究也只进步了一点点。近期的研究使用了更复杂的神经网络结构,但在参数协调方面比较局限。所以学术界类似的技术并不少见。另一方面,如果你关心的是实实在在的使用,那么这些技术目前还不可用。从去年第一篇SyntaxNet论文发表之后我就一直致力于spaCy神经网络模型的开发。然而,我们想让spaCy更易于安装,想让其在运行更快,并且我们希望它能保持多线程。所以整套完成下来也是十分棘手的。

在这项任务长久以来的基准上,Parsey McParseface的准确率达到超过了94%,每秒大约600字。相同的任务, spaCy的准确率达到92.4%,每秒约15000字。就准确率来说并没有增加太多,但是对于应用程序来说,这已经相当可观了。

对于任何预测系统,通常比较重要的考虑因素是基线预测的区别而不是绝对的准确。一个能够预测今天天气将和昨天一样的模型可以是很准确的,但它并未增加任何值。关于依赖解析,大约80%的依赖项是非常简单明确的,这意味着只能正确地预测这些依赖项的解析系统能提供的额外的信息是很少,而且这也不是只看到每个单词和与其相邻的单词就能做到的。


我们致力于服务 VR/AR 爱好者,从业者和开发者,传播先锋资讯。
更多资讯:www.vr2048.com
主编微信:jianxiong_hu
商务合作:press@vr2048.com


欢迎关注微信公众号: vr2048com


    关注 VR2048


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册