第 1 頁 (共 1 頁)
[問題] 人工智能IAI如何讓中文支持
發表於 : 2004-12-31 14:17
由 gaokai
http://www.phpbb.com/phpBB/viewtopic.ph ... ai&start=0
我已經安裝了它,對答英語沒有問題,還發現了支持意大利語、德語和法語。如果讓它支持漢語?我試圖修改了文件,但不能應用。好像跟記憶有關,請高手指點。
發表於 : 2004-12-31 15:10
由 warkinger
你是指你修改SQL文件嗎
我在想它應該是把 問及答 放在資料表中的某幾個欄位
不過在修改資料表時,要注意,因為現在都採用關聯式及正規化,同一個資料對應到好幾個資料表或欄位
你修改它,該不會是要做中文化~~~那我們大家有福了,因為我英文不好
發表於 : 2004-12-31 15:21
由 gaokai
我不知道有沒有現成的中文化,避免重復勞動。看了幾個小時的論壇,讀完了94頁的一群外國人討論的
http://www.phpbb.com/phpBB/viewtopic.ph ... &start=160
然後去http://
www.aiml.info 看了一下,發現只有法語,德語和意大利語的。
我從上午開始看到這個,然後安裝,運行,試圖修改未果,找資料....
你說的表我看了一下,的確沒錯。看來不是簡單的修改aiml文件就可以的,希望這裡的前輩們能指點如何識別中文,或者根本就不能識別中文?我也會繼續試圖漢化它。
安裝了IAI的朋友,或者對他感興趣的朋友來交流一下吧!
發表於 : 2004-12-31 16:35
由 gaokai
經過試驗,發現有下面的規律。
比如aiml文件中定義了單詞
定義:"YOU AER *"
回答:"you mean?"
(不區分大小寫)
1 英文輸入YOU ARE開頭的語句,正常回答為"you mean?" -- ok
2 修改回答為中文 “你的意思是?”,然後輸入YOU ARE語句,可以用中文回答。 -- ok
3 現在人工智能是能用中文回答了,但能否識別中文問題呢?我試圖修改YOU ARE語句為"你是 *",儅發貼中明確語句開頭是“你是 *”的時候,AI能正確回答。但如果問題開頭為“你是誰”的時候,AI就無法識別了。因爲AI無法分辨“誰”的地位。
4 試圖修改為“你是*”,結果同樣無法識別。
總結,AI對*號的識別有困難。英語可以用空格來分辨單詞,但中文不行。我懷疑有2方面的因素。a 數據庫匹配時無法鎖定。b AI的程序需要修改。
c 或者就是根本不可能識別沒有空格的語言。暈.........
發表於 : 2004-12-31 16:39
由 webspirit
中文的 AI...
這可是門大學問
發表於 : 2004-12-31 17:17
由 gaokai
<pattern </pattern>
Supported in versions: AIML 1.0
Must be within: <category>
Can be within: undefined
Can contain: * _ <name/>
Must Contain: Normalized text "Pattern-side AIML expressions (PSAE)."
Description:
The pattern is the "stimulus" or "input" part of the category.
The <pattern> tag is permitted only within a <category> tag set. Only one pattern tag is permitted to exist, and it must be the first tag to appear after a <category>
tag.
The pattern is an expression in a formal language that consists of
Words of natural language in UPPER CASE.
The symbol * which matches any sequence of one or more words.
The symbol _ which is the same as * except that it comes after Z in lexicographic order.
The <name/> tag which is replaced at robot load time with the name of the robot.
Note there is a difference between the patterns HELLO and HELLO *.
HELLO matches only identical one-word sentences ("Hello.") and HELLO * matches any sentence of two or more words starting with "Hello" ("Hello how are you?").
To simplify pattern description and matching, AIML patterns allow only one "*" per pattern. In other words, "MY NAME IS *" is a valid pattern, but "* AND *" is not.
你說得對啊,不過這個PROGREAM-E針對phpbb,是否會簡單一些呢?試做一下,不行就算了。上面說字符要基於UPPER CASE,中文的字符集的問題恐怕在這裡吧,有沒有高手找找辦法啊?