自然語言處理NLP的坑到底有多大?

【導讀】自然語言交互是非常難的行業,沒有積累很難做出來好的產品。這個行業不適合急功近利。

我們說的NLP其實主要是人機自然語言交互。NLP也包含好幾個細分領域:搜索、機器翻譯、問答等。我人機自然語言交互也就是問答。

很多年前,別人說我做的東西不過就是關鍵字模糊查詢,他找幾個會編程的高中生都能做。這基本上就是無知無畏了。所以我當時也沒去爭辯。

這個行業就是我朋友說的,外行看簡單,進來發現很難那種。其實自然語言交互就是個坑。

爲什麼會出現這種情況?

因爲第一,這個行業沒有標準。有人說誰家機器人很聰明,誰家機器人很厲害,都是憑感覺的。有個同行在行業羣裏問有沒有什麼標準測試機器人水平,喊了很長時間也沒有找到。有人認爲圖靈測試是一個標準,但至今沒有多少機器人能通過圖靈測試。即便有公司聲稱他們的機器人通過了圖靈測試,也很難得到公衆認可。我認爲原因在於,機器人根本不可能完全僞裝成人。另外,圖靈測試隨意行太強,很難給出客觀併科學的評測結果。

爲什麼這個行業沒有標準呢?因爲問答是個新領域,而很多時候人們把它當成搜索。搜索給的結果是模糊的,問答需要給精準結果。搜索用關鍵字模糊查詢就行,問答要關注語義的細微差別。這個我在別的文章裏有論述。搜索的標準是召回率和準確率,但這個標準用在問答上就沒用了。你的召回率和準確率做再高,用戶體驗依然很差。因爲搜索其實處理的是關鍵字,而問答要求處理好句子裏每一個詞。

沒有標準就意味着你做好做不好都一樣。所以纔有人說高中生都能做聊天機器人。

也意味着沒有方向。於是有的人跟着感覺走,有的人用搜索的標準測試問答。

同時意味着開發人員總是自我感覺良好。其實我們的產品在用戶眼裏都跟狗屎一樣。

雖然行業內沒有標準,我們有自己的問答技術標準,即:差異原則,同一原則,模糊原則和一致原則。差異原則就是機器理解兩句話之間的差異。同一原則就是機器理解兩句話語義是相同的。模糊原則就是機器能容忍自然語言輸入中的小錯誤。一致原則就是機器前後說的話是一致的,不相互矛盾。

如果用我們的標準去測試,很多問答機器人是不能過關的。期待我們的標準能成爲行業標準。我們就是按照這套標準要求自己的。

圖:小諦機器人語義理解測試標準1.1

第二,用戶預期高。因爲藝術作品的宣傳,人們對人工智能的期望值很高。你只要叫個機器人,叫人工智能,別人就認爲你是萬能的,應該什麼都懂,應該比人厲害。即便你說你是個企業客服機器人,人家也認爲你應該比人類聰明。

但實際上,藝術作品是虛構的,變形金剛霸天虎在現實世界並不存在。因爲基礎技術沒有。

用戶要求高,我們做不到,用戶產生的心理落差就很大。

第三,有人總認爲用窮舉可以解決問題。實際上一個問題的多種表達是無窮盡的。人家加個“啊”“呀”“的”可能你的機器人就不會回答了。有人統計過關於查話費餘額的表達方式據說有接近一萬種。普通程序員根本無法去窮舉用戶的各種語言表達。實際上解決這個問題只能用算法。我們相對做得好點,用我們算法,一個句子可以覆蓋用戶許許多多問法。

第四,這個行業工作量很大,即便是小領域工作量也很大。有人說通用問答機器人我做不好,我做個法律、醫療、稅務的難道還做不好嗎?其實把一個企業的客服機器人做好都很難。如果用窮舉的話,即使建設一個企業客服相關問題的知識庫也有很大工作量。我們算法雖然有優勢,能大幅降低知識庫建設工作量,但依然後面有很大的工作量。

第五,缺理論依據。什麼是語義?從網上找的概念對我們工作沒有什麼指導意義。語義和語言之間具體的關係是怎樣的?有些人還沒意識到我們應該通過語言處理語義,還在生搬硬套的處理語言文字。用戶說“是”也許表達的是否定的意思,用戶說“南京”也許是想吃東西。自然語言問答最終處理的是語義,也就是用戶意圖。有人說,用戶意圖不就是和產品功能對應的麼?這句話有一定道理。但並不總是這樣。智能家居產品可能是這樣。開燈關燈,對着一盞燈用戶意圖也就這兩個了。但如果是對電視機,用戶意圖就會複雜點。比如,用戶可能想看劉德華的電影,或者聽劉德華的演唱會,或者看劉德華的寫真。用戶說的“劉德華”怎麼理解用戶的意圖呢?如果是對着機器人,用戶也許會表達愛慕或者厭惡或者其他情緒,怎麼理解用戶意圖呢?產品功能越複雜,對應的用戶意圖越複雜。所以從產品功能反推用戶意圖是不現實的。

怎麼讓機器透過用戶自然語言表達去理解用戶意圖呢?很多人根本不研究語言,不研究語法規則,這怎麼可能處理好語言呢?大多數同行用數學的方法處理語言,比如他們從一句話中提取關鍵字的依據是詞頻。詞頻是絕對的,是統計出來的,而一個詞在一句話裏的語義權重是變化的。其實語義本身就是變化的。我的另一篇文章講述了我對語義的看法。

我認爲不研究語言,不瞭解語法規則根本處理不好語言。漢語有很多特殊的語法結構。比如倒裝句、“把”字句、“被”字句等等。單純用統計學技術不可能處理好語義,可能連句子的主語和賓語都分不清。比如:“酒喝光了,我”這句不是酒把我喝光了,而是我把酒喝光了。“酒喝光了怎麼玩”這句的“怎麼玩”其實是一個詞。

我們在課本上學的語法規則,在我們做自然語言交互技術時可能根本不管用。人能理解的東西,機器理解不了。怎麼讓機器理解語法規則呢?需要有系統深入地研究,需要有科學嚴謹的理論。

我研究這個很長時間了,我們對漢語的語法規則做了細化,讓機器更加方便處理。

第六,誤解。前幾年投資過熱,人工智能想象空間巨大,是投資的理想標的。但實際上投資人根本不懂行,他們也只能看看團隊背景、看看公司收入、看看產品。這樣一堆被資本捧紅的明星企業誕生了。他們大多數有大公司出來的創始人並且養着一堆博士或者博士後。他們經常嘴裏一堆學術名詞,一堆洋文。但看不到他們產品。於是很多人基本就認爲這是正確的方向了。

但實際上誰家也沒有能讓用戶持續使用的自然語言交互產品。這個行業沒有領頭人。

我去推廣我們分詞技術,經常被問,有很多開源的分詞工具可以用,爲什麼要自己去研究呢?他們認爲大家都用的東西就是正確的。碰到這種情況我一般也不去爭論。

我們做企業不是給投資人看的,做產品也不是給投資人用的。用戶認可纔是我們追求的。獨立思考,才能讓我們找到解決問題的辦法。儘管失敗了一次又一次,我依然在前進。我看到我們的產品越來越好,我相信遲早會得到更多用戶認可。

第七,用戶習慣。小米的語音電視遙控器功能其實很強大。但小米的數據顯示,遙控器的語音交互功能使用量很低。現在其實每款手機都有語音助手,但幾乎沒人用。大家普遍認爲,現在用戶還很難改變使用鍵盤和觸摸屏的習慣。其實改變用戶使用習慣從來都是一件十分困難的事情。

第八,順暢交流。如果不能流暢交流,用戶的體驗就會很差。缺內容、不理解用戶意圖都會造成交流不能流暢進行下去。缺內容是最難解決的,誰也做不出來無所不知的機器人。如果能給用戶一個知識邊界,讓用戶明確知道這個邊界,用戶只在邊界裏提問,這就能讓交流的流暢性大大提高。但這個邊界怎麼展示呢?不理解用戶意圖主要是算法的問題。對於有些企業來講,算法問題可能是難以突破的。這就好像一隻猴子不可能擁有人類的智能一樣不可能得到改變。我們在算法上有優勢,但我們在內容上短板明顯。

我一直認爲自然語言交互是非常難的行業,沒有積累很難做出來好的產品。這個行業不適合急功近利。以爲能賺到快錢的人,必然會掉坑裏。

(作者:小諦機器人創始人兼CEO 彭軍輝)

原文:

https://www.roboticschina.com/news/2282.html

-END-

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章