前兩天在崔牛會(一個做2B客戶的企業家社群)的群里聊天,一朋友說如果我早點跟他講NLP的難度,他就不入這個行了。
我們說的NLP其實主要是人機自然語言交互。NLP也包含好幾個細分領域:搜索、機器翻譯、問答等。我人機自然語言交互也就是問答。
很多年前,別人說我做的東西不過就是關鍵字模糊查詢,他找幾個會編程的高中生都能做。這基本上就是無知無畏了。所以我當時也沒去爭辯。
這個行業就是我朋友說的,外行看簡單,進來發現很難那種。其實自然語言交互就是個坑。
為什么會出現這種情況?
因為第一,這個行業沒有標準。有人說誰家機器人很聰明,誰家機器人很厲害,都是憑感覺的。有個同行在行業群里問有沒有什么標準測試機器人水平,喊了很長時間也沒有找到。有人認為圖靈測試是一個標準,但至今沒有多少機器人能通過圖靈測試。即便有公司聲稱他們的機器人通過了圖靈測試,也很難得到公眾認可。我認為原因在于,機器人根本不可能完全偽裝成人。另外,圖靈測試隨意行太強,很難給出客觀并科學的評測結果。
為什么這個行業沒有標準呢?因為問答是個新領域,而很多時候人們把它當成搜索。搜索給的結果是模糊的,問答需要給精準結果。搜索用關鍵字模糊查詢就行,問答要關注語義的細微差別。這個我在別的文章里有論述。搜索的標準是召回率和準確率,但這個標準用在問答上就沒用了。你的召回率和準確率做再高,用戶體驗依然很差。因為搜索其實處理的是關鍵字,而問答要求處理好句子里每一個詞。
沒有標準就意味著你做好做不好都一樣。所以才有人說高中生都能做聊天機器人。
也意味著沒有方向。于是有的人跟著感覺走,有的人用搜索的標準測試問答。
同時意味著開發人員總是自我感覺良好。其實我們的產品在用戶眼里都跟狗屎一樣。
雖然行業內沒有標準,我們有自己的問答技術標準,即:差異原則,同一原則,模糊原則和一致原則。差異原則就是機器理解兩句話之間的差異。同一原則就是機器理解兩句話語義是相同的。模糊原則就是機器能容忍自然語言輸入中的小錯誤。一致原則就是機器前后說的話是一致的,不相互矛盾。
如果用我們的標準去測試,很多問答機器人是不能過關的。期待我們的標準能成為行業標準。我們就是按照這套標準要求自己的。
圖:小諦機器人語義理解測試標準1.1
第二,用戶預期高。因為藝術作品的宣傳,人們對人工智能的期望值很高。你只要叫個機器人,叫人工智能,別人就認為你是萬能的,應該什么都懂,應該比人厲害。即便你說你是個企業客服機器人,人家也認為你應該比人類聰明。
但實際上,藝術作品是虛構的,變形金剛霸天虎在現實世界并不存在。因為基礎技術沒有。
用戶要求高,我們做不到,用戶產生的心理落差就很大。
第三,有人總認為用窮舉可以解決問題。實際上一個問題的多種表達是無窮盡的。人家加個“啊”“呀”“的”可能你的機器人就不會回答了。有人統計過關于查話費余額的表達方式據說有接近一萬種。普通程序員根本無法去窮舉用戶的各種語言表達。實際上解決這個問題只能用算法。我們相對做得好點,用我們算法,一個句子可以覆蓋用戶許許多多問法。
第四,這個行業工作量很大,即便是小領域工作量也很大。有人說通用問答機器人我做不好,我做個法律、醫療、稅務的難道還做不好嗎?其實把一個企業的客服機器人做好都很難。如果用窮舉的話,即使建設一個企業客服相關問題的知識庫也有很大工作量。我們算法雖然有優勢,能大幅降低知識庫建設工作量,但依然后面有很大的工作量。
第五,缺理論依據。什么是語義?從網上找的概念對我們工作沒有什么指導意義。語義和語言之間具體的關系是怎樣的?有些人還沒意識到我們應該通過語言處理語義,還在生搬硬套的處理語言文字。用戶說“是”也許表達的是否定的意思,用戶說“南京”也許是想吃東西。自然語言問答最終處理的是語義,也就是用戶意圖。有人說,用戶意圖不就是和產品功能對應的么?這句話有一定道理。但并不總是這樣。智能家居產品可能是這樣。開燈關燈,對著一盞燈用戶意圖也就這兩個了。但如果是對電視機,用戶意圖就會復雜點。比如,用戶可能想看劉德華的電影,或者聽劉德華的演唱會,或者看劉德華的寫真。用戶說的“劉德華”怎么理解用戶的意圖呢?如果是對著機器人,用戶也許會表達愛慕或者厭惡或者其他情緒,怎么理解用戶意圖呢?產品功能越復雜,對應的用戶意圖越復雜。所以從產品功能反推用戶意圖是不現實的。
怎么讓機器透過用戶自然語言表達去理解用戶意圖呢?很多人根本不研究語言,不研究語法規則,這怎么可能處理好語言呢?大多數同行用數學的方法處理語言,比如他們從一句話中提取關鍵字的依據是詞頻。詞頻是絕對的,是統計出來的,而一個詞在一句話里的語義權重是變化的。其實語義本身就是變化的。我的另一篇文章講述了我對語義的看法。
我認為不研究語言,不了解語法規則根本處理不好語言。漢語有很多特殊的語法結構。比如倒裝句、“把”字句、“被”字句等等。單純用統計學技術不可能處理好語義,可能連句子的主語和賓語都分不清。比如:“酒喝光了,我”這句不是酒把我喝光了,而是我把酒喝光了。“酒喝光了怎么玩”這句的“怎么玩”其實是一個詞。
我們在課本上學的語法規則,在我們做自然語言交互技術時可能根本不管用。人能理解的東西,機器理解不了。怎么讓機器理解語法規則呢?需要有系統深入地研究,需要有科學嚴謹的理論。
我研究這個很長時間了,我們對漢語的語法規則做了細化,讓機器更加方便處理。
第六,誤解。前幾年投資過熱,人工智能想象空間巨大,是投資的理想標的。但實際上投資人根本不懂行,他們也只能看看團隊背景、看看公司收入、看看產品。這樣一堆被資本捧紅的明星企業誕生了。他們大多數有大公司出來的創始人并且養著一堆博士或者博士后。他們經常嘴里一堆學術名詞,一堆洋文。但看不到他們產品。于是很多人基本就認為這是正確的方向了。
但實際上誰家也沒有能讓用戶持續使用的自然語言交互產品。這個行業沒有領頭人。
我去推廣我們分詞技術,經常被問,有很多開源的分詞工具可以用,為什么要自己去研究呢?他們認為大家都用的東西就是正確的。碰到這種情況我一般也不去爭論。
我們做企業不是給投資人看的,做產品也不是給投資人用的。用戶認可才是我們追求的。獨立思考,才能讓我們找到解決問題的辦法。盡管失敗了一次又一次,我依然在前進。我看到我們的產品越來越好,我相信遲早會得到更多用戶認可。
第七,用戶習慣。小米的語音電視遙控器功能其實很強大。但小米的數據顯示,遙控器的語音交互功能使用量很低。現在其實每款手機都有語音助手,但幾乎沒人用。大家普遍認為,現在用戶還很難改變使用鍵盤和觸摸屏的習慣。其實改變用戶使用習慣從來都是一件十分困難的事情。
第八,順暢交流。如果不能流暢交流,用戶的體驗就會很差。缺內容、不理解用戶意圖都會造成交流不能流暢進行下去。缺內容是最難解決的,誰也做不出來無所不知的機器人。如果能給用戶一個知識邊界,讓用戶明確知道這個邊界,用戶只在邊界里提問,這就能讓交流的流暢性大大提高。但這個邊界怎么展示呢?不理解用戶意圖主要是算法的問題。對于有些企業來講,算法問題可能是難以突破的。這就好像一只猴子不可能擁有人類的智能一樣不可能得到改變。我們在算法上有優勢,但我們在內容上短板明顯。
我一直認為自然語言交互是非常難的行業,沒有積累很難做出來好的產品。這個行業不適合急功近利。以為能賺到快錢的人,必然會掉坑里。
-
機器翻譯
+關注
關注
0文章
139瀏覽量
14909 -
自然語言
+關注
關注
1文章
288瀏覽量
13359 -
nlp
+關注
關注
1文章
489瀏覽量
22052
原文標題:自然語言交互是個坑
文章出處:【微信號:robot-1hjqr,微信公眾號:1號機器人網】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論