將自然語言處理(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