我的雲端生活網 - Life+

Sunday, November 1, 2009

最早的對話系統 Eliza

Eliza 是人工智慧領域很有名並很出色的對話程式,模擬心理醫生與人對話。對話的例子像這樣(http://tadhg.com/wp/1997/12/31/a-dialogue-with-eliza/)或那樣(http://osiris.sunderland.ac.uk/cbowww/AI/AI/eliza.html)。Eliza 被一般自然語言處理的教科書當做最基本的例子,因為它沒有建立完整的句子結構、也沒有資料庫更新、更沒有機器學習,卻能夠處理與人對話的工作。它怎麼做到呢?

Natural Language Understanding (見1.) 1.3 節 (第7頁) 指出,Eliza 內建關鍵詞資料庫,每一筆記錄以 keyword, rank, pattern, outputs 等欄位分別表示:輸入句中存在哪個關鍵詞,順序等級,句子符合的樣式,以及應該輸出的對話。例如: (alike, 10, ?X, In what way?), (alike, 10, ?X, What resemblance do you see?), (are, 3, ?X are you ?Y, Would you prefer it if I weren't ?Y?), (are, 3, ?X are ?Y, What if they were not ?Y) ...... 問號開頭的符號 ?X 和 ?Y 是變數。

對話處理方式是先比較輸入的句子符合資料庫哪些筆記錄的樣式,找到相對的關鍵詞。如果關鍵詞很多,就挑選一個順序等級最大的。以挑選的記錄,使用它指定的輸出句子當做回答句。接著,處理下一輸入句。

Eliza 系統成功的意義,或許是,電腦系統可以不懂人輸入的句子是什麼意思、也可以不關心人輸入句子表達的重點,卻只要在人輸入句子時即時運用自己現有的對話知識,用另一個句子回答人。而回答的句子恰好能引發人的對話思考。人類也像 Eliza 一樣,自己懂得什麼,才能夠答什麼。Eliza 系統的優點是很容易實作,人們不必充份懂語言學,就能建立一套聰明的對話系統。

1. James Allen, Natural Language Understanding, The Benjamin/Cummings, 1995.

1 comment:

薛共和 said...

http://books.perl.org/book/162
這本書裡恰好這個範例

Blog Archive