谷歌推出云自然语言 API

  • Margot Krouwer
  • 谢丽

2016 年 9 月 4 日

话题:GoogleDevOps语言 & 开发AI

将自然语言处理(NLP)的先进成果,从前沿研究的小世界里拿出来,送到普通的数据科学家和软件工程师手中,这已经成为一场运动。7 月 20 日,谷歌也加入进来,发布了测试版的云自然语言 API。谷歌的 NLP API 让用户可以利用如下三个核心的 NLP 特性:

  • 情感分析——分析语言的基调,比如积极或消极;
  • 实体识别——识别语言中不同的实体,比如人或组织;
  • 语法分析——识别语言中的各种词性,比如句子 X 包含 3 个名词。

这些工具使用了谷歌的深度机器学习算法,这也是其 API 与其他自建的数据科学工具的不同之处。

NLP 软件是一种构建用来理解人类语言或文本的程序。像谷歌和 IBM 这样的科技巨头发布了大量便于开发人员使用的 API,让这类软件进入了主流应用。在谷歌的一篇博文中,开发工程师 Sara Robinson 使用该 API 的实体识别特性识别《哈利·波特》中的人物和地点(因为她不会念咒语)。接下来,她比较了自己开发并维护所有软件和使用 NLP API 的差别:

我可以编写自己的算法,找出这个句子里的人物和地点,但是那会很困难。而且,考虑到相同的实体会使用不同的词语描述,如果我希望针对涉及到的每个实体收集更多的数据,或者在成千上万的句子里分析实体,则会更加困难。

按照 Robinson 的说法,从头构建 NLP 软件特别困难,因为即使是在开始真正的工具开发工作之前,数据收集、预处理和训练就有太多的事项需要注意。像谷歌提供的这种 NLP API,让用户可以利用 NLP 算法的强大功能,而又不必应对复杂的高等数学计算、工程和数据建模所带来的巨大开销。

Watson 的 Conversation API也是最近出现的 NLP API。借助该 API,你可以使用 NLP 解释不同的用户指令,并将这些指令传达给不同的智能家居软件,比如控制灯光的应用。Watson API 有交互式的Swagger 文档,你可以在里面测试类似“开灯”和“天气怎么样”这样的请求。谷歌的 NLP API 面向更为广泛的 NLP 使用场景,而 Watson 的 API 主要是为人通过文本或语言同机器通信提供便利。它基于日益流行的 IoT(物联网)技术构建。在 IoT 环境里,NLP 是同智能汽车、家居、甚至卫生纸筒通信的理想介质。

Facebook 采取了一种更为直接的路线,即向更大的技术社区公布内部使用的 NLP 代码。今年 7 月,他们把词汇表征学习和句子分类库fastText的所有源代码都发布在了 GitHub 上。虽然开发人员不会完全忠于一个干净的 API,但能够从 Facebook 的代码创建分支,让开发人员可以在更高的层面上参与到现有的 NLP 数据科学社区。在社区环境里,这个库很容易衍生出更多的 NLP API 和库。无论形式如何,可以确定的是,NLP 离普通大众越来越近。

查看英文原文Google Launches Cloud Natural Language API

GoogleDevOps语言 & 开发AI