雪風最近又有了一個新的靈感,他已經開始動手寫新係統的代碼了,吭哧吭哧寫了兩天,感覺手指頭都快敲爛了,程序才完成了一點點,這時候他才感覺到了人多的優勢。
這讓他有了一個新的想法,他想讓小沙彌幫自己寫程序,雪風仔細分析了分析,認為這並不是不可能。小沙彌是自己設計出來的智能語音係統,它能識別出人的語言,和人進行對話,它能根據人的語氣準確判斷出人說話時的感**彩,然後做出最恰當的回答,它還能根據人的語言指令去執行正確的任務。
這一切都是基於小沙彌海量的詞彙庫,以及自己賦予小沙彌的一個獨特的邏輯判斷程序,這個邏輯判斷程序不同於現行的任何一種計算機判斷程序。
雪風剛開始設計小沙彌的時候,參閱過無數份關於這方麵的最權威文獻,結果沒有找到一種讓自己滿意的思路。記得有一次,西京市舉辦了一個全球智能機器人科技展覽,參展的機器人中有一個據說是世界上最先進的語言機器人,可以和人類進行無障礙交談。雪風當時就去參觀了,結果卻很令他失望。
雪風旁邊有個小孩問了機器人一句話,“你有女朋友嗎?”
機器人冷冰冰地回答到:“生活在同一個地球,我們都應該是朋友。”
答非所問也就罷了,那聲音冷的就像是人的舌頭被凍住了一般,沒有絲毫的感**彩。這也堅定了雪風自己設計一種全新的智能語音係統的決心。
雪風根據人們的對話習慣,將整個語音係統分為三部分,“接受語音-判斷語義-回複”,這三個部分裏麵,最難的就是判斷判斷語義,最粗糙的智能語音係統大多采用的方法就是抓語句中的一個關鍵詞,然後針對這個關鍵詞進行分析和搜索,然後做出回答,這也那個機器人答非所問的原因。
要準確判斷出一句話的意思,就要考慮到語言環境,一句話在不同環境裏的意思是不一樣,這個語言環境大多又決定於說話人當時的情緒。也有一些語音係統是根據語言環境來判斷語義的,開發者將語言環境分為了好多種:高興、悲傷、忿恨……,但是人的感情是一個複雜多變的東西,無可捉摸,你不可能把每種語言環境都考慮到。
雪風沒有按照這種方法進行設計,他認為人有情緒,但是計算機沒有情緒,所以他跟據計算機的思維來劃分,將語言環境分為a、b、c、d、e、f…..等等類型,這些類型是沒有固定數量的,計算機在總結出新的語言環境時,會自動建立一個新的類型。在判斷一句話的感**彩時,這些類型並不會相互獨立,並不是說認定它是a型,就不可能再是其他類型,萬一是悲中有喜呢,所以計算機會把這些類型進行組合後來判斷;同樣,一句話可能今天是保存a型的詞庫裏,明天它就可能跑到b型的詞庫裏,甚至是出現在好幾種類型的詞庫裏。
正是由於這樣,小沙彌才能分辨出人們的哪些話是在開玩笑。不過,也正是因為如此,雪風剛做出小沙彌時,對小沙彌說了一句話,“兄弟,你吃飯了沒?”,小沙彌整整判斷了兩天,才蹦出一句:“沒吃。”
雖然小沙彌的回答是沒有錯的,但是雪風設計的判斷過程太過於複雜了,他後來又對判斷程序做出了修改,采用了鬆散式的判斷模式,以往的判斷都是采用排除法,這個不是,就試下一個,直到試出一個正確的,因為計算機的運算速度是非常快的,它一秒鍾就可以計算上億次,所以我們是不會感覺出它的慢來。但是一旦要排除的對象過多,計算機就完了,它會一直計算一直排除下去,直到它找出正確的答案,或者是它排除完所有的侯選對象,小沙彌就是這樣傻傻地排除了兩天。