天天看點

聊天機器人的發展史

      自然語言處理最初發端于上個世紀60s的chatbot(聊天機器人),在這之前,圖靈通過圖靈猜想算是給聊天機器人種下了一顆種子。從上世紀60s到上世紀末,chatbot大約經曆了三個重要的曆史時期。

      第一個時期(1966年),麻省理工學院(MIT)的約瑟夫·魏澤鮑姆(Joseph Weizenbaum)開發的聊天機器人ELIZA[1],用于在臨床治療中模仿心理醫生。值得注意的是盡管ELIZA的實作技術僅為關鍵詞比對及人工編寫的回複規則,但魏澤鮑姆本人對ELIZA的表現感到吃驚,随後撰寫了《Computer Power and Human Reason》這本書,表達他對人工智能的特殊情感。

      第二個時期(1988年),加州大學伯克利分校(UC Berkeley)的羅伯特·威林斯基(Robert Wilensky)等人開發了名為UC(UNIX Consultant)[2]的聊天機器人系統。UC是一款幫助使用者學習怎樣使用UNIX作業系統的聊天機器人。它具備了分析使用者的語言、确定使用者操作的目标、給出解決使用者需求的規劃、決定需要與使用者溝通的内容、以英語生成最終的對話内容以及根據使用者對UNIX系統的熟悉程度進行模組化的功能。

      第三個時期(1995年),受到ELIZA聊天機器人的啟發,理查德·華勒斯(Richard S. Wallace)博士在1995年開發了ALICE[3]系統。并于1998年開始開源,目前全世界有超過500個開發者為ALICE項目貢獻代碼。值得注意的是,随着ALICE一同釋出的AIML(Artificial Intelligence Markup Language)目前被廣泛應用在移動端虛拟助手的開發中。盡管ALICE采用的是啟發式模闆比對的對話政策,但是它仍然被認為是同類型聊天機器人中性能最好的系統之一。

       進入本世紀後,chatbot機器人随着人工智能的興起有了長足的發展,各大網際網路公司、各個高校和研究院都取得了成就。但總的來說,也可以大緻的分為三種。檢索式、生成式和知識圖譜式。其中,知識圖譜式的chatbot比較難以實作,但是是有前景的。

       第一種,檢索式對話生成chagbot,檢索式的代表性技術[4]是在已有的人人對話語料庫中通過排序學習技術和深度比對技術找到适合目前輸入的最佳回複。這種方法的局限是僅能以固定的語言模式進行回複,無法實作詞語的多樣性組合。

       第二種,生成式對話chatbot,生成式的代表性技術[5,6]則是從已有的人人對話中學習語言的組合模式,是通過一種類似機器翻譯中常用的“編碼-解碼”的過程去逐字或逐詞地生成一個回複,這種回複有可能是從未在語料庫中出現的、由聊天機器人自己“創造”出來的句子。

       第三種,知識圖譜式的chatbot目前還沒有典型的代表,這一類機器人将最常用的語言和簡單邏輯通過AIML模版處理,通過知識圖譜(可以自動生長)的邏輯推理來處理複雜的邏輯,運用深度神經網絡來将複雜的邏輯用人類的語言表達出來。

參考文獻:

[1] Weizenbaum J. ELIZA—a computer program for the study of natural language communication between man and machine[J]. Communications of the ACM, 1966, 9(1): 36-45.

[2] Wilensky R, Chin D N, Luria M, et al. The Berkeley UNIX consultant project[J]. Computational Linguistics, 1988, 14(4): 35-84.

[3] http://www.alicebot.org/

[4] Z. Ji, Z. Lu, H. Li. An information Retrieval Approach to Short-text Conversation. arXiv: 1408.6988, 2014.

[5] Ritter A, Cherry C, Dolan W B. Data-Driven Response Generation in Social Media.[J]. Empirical Methods in Natural Language Processing, 2011:583-593.

[6] L. Shang, Z. Lu, and H. Li. Neural Responding Machine for Short-text Conversation. In Proceedings of ACL, 2015.

繼續閱讀