源碼說明:
人工智能聊天機器人(自動學習型)你可以教機器人知識,然后提問教過的知識,或她已知的知識。
現在知識庫知識太少,請按使用說明,先教后問,不要直接就問。
沒有調用任何庫和庫函數,從最底層寫到頂層。
機器人自己給自己編寫程序來回答問題:存儲過程AnswerSingle中(單句的問答),用動態sql方式,根據不同情況,把不同的程序碎片組裝成程序,然后執行。變量think中,可以看到機器人自己給自己編寫了什么程序。
唯美的動畫互動界面,多種模式可選擇。
5.0版本,修復安全漏洞。
之前版本不安全,用戶可以直接通過網址查看和下載ini格式的配置文件,而配置文件里面是賬號密碼。
現在已用純php寫配置文件,不能通過網址查看配置文件的php程序(看不到賬號密碼)。即便把配置文件下載下來,里面也不顯示php程序(不顯示賬號密碼),只顯示html標簽,所以這個版本就安全了。
我從我的站hojer.cn把config.php文件下載下來后,里面已經不顯示php程序內容(不顯示賬號密碼),只顯示html標簽。
【安裝方法】
運行需要mysql數據庫和php運行環境(例如AppServ)。
新建數據庫,把snow.sql導入數據庫,字符集設utf8,排序規則設utf8_general_ci
config配置文件改成你的信息,就可以運行了。
【問答方法】
提問動作執行者(主語)或動作對象(賓語)用:誰、什么、啥
教:貓吃鼠,問:貓吃什么,答:鼠
問:什么吃鼠,答:貓。
教:貓給鼠蘋果,問:貓給鼠什么,答:蘋果
教:貓讓鼠跳舞,問:貓讓誰跳舞,答:鼠
提問動作(謂語動詞)用:怎么
教:貓吃鼠,問:貓怎么鼠,答:吃
提問行為(動作及動作對象)用:干什么、做什么
提問主語的行為:教:貓吃鼠,問:貓干什么,答:吃鼠
提問賓語的行為:教:貓讓鼠跳舞,問:貓讓鼠干什么,答:跳舞
提問主語的身份、性質、狀態(表語)用:是什么
教:貓是動物,問:貓是什么,答:動物
提問形容詞用:什么樣的
教:貓吃黑色的鼠,問:貓吃什么樣的鼠,答:黑色的
提問數詞用:多少、幾
教:貓吃兩只鼠,問:貓吃多少鼠,答:2只
提問所屬(名詞所有格)用:誰的、什么的
教:阿哲的貓吃鼠,問:誰的貓吃鼠,答:阿哲
提問動作方式(副詞)用:怎么的
教:貓經常吃鼠,問:貓怎么的吃鼠,答:經常的
提問時間用:什么時候,什么時間
教:昨天貓吃鼠,問:什么時候貓吃鼠,答:(顯示昨天的年月日)
提問地點用:在哪里、什么地方
教:貓在花園吃鼠,問:貓在哪里吃鼠,答:花園
“嗎”字句:
教:貓咬鼠,問:貓咬鼠嗎,答:是的
問:貓咬蛇嗎,答:沒聽說過
已知句(教過的句子,再教):
教:貓咬鼠
答:這個我知道
原因結果連接詞:所以、因為
教:貓餓了,所以貓吃鼠
或者教:因為貓餓了,貓吃鼠
或者教:貓吃鼠,因為貓餓了
提問因果關系:為什么、所以怎樣、結果怎樣
問:為什么貓吃鼠。答:因為貓餓了
問:貓餓了,所以怎樣。答:貓吃鼠
先后順序連接詞:然后、就
教:貓吃飯,然后睡覺
提問先后順序:然后怎樣,然后干什么,之前怎樣
問:貓吃飯,然后怎樣。答:睡覺
目的連接詞:為了、目的是
教:貓吃飯,為了生存
或者教:貓吃飯,目的是生存
提問目的:為了什么,目的是什么
問:貓吃飯,為了什么。答:生存
前提條件連接詞:如果
教:如果貓渴了,貓喝水
提問前提條件:條件是什么、前提是什么
問:貓喝水,條件是什么。答:貓渴了
【抽象思維】
我不可能教機器人所有的具體知識,只要教抽象知識,就等于教了很多具體知識。
第一步教導抽象知識,第二步說清歸屬關系:用“屬于”或“是”,第三步提問。
如果教過具體知識,優先按具體知識回答。如果沒有具體知識,才開始抽象思維回答。
單句的抽象問答:
(1)抽象回答:
例如:沒有教過狼吃羊,但是教過動物吃肉,且教過狼屬于動物。那么問狼吃什么,雖然無法回答羊,但是電腦把“狼吃什么”抽象成“動物吃什么”之后,就會回答肉。
(2)抽象到具體的回答:
例如:教:哺乳動物吃魚。教:熊屬于哺乳動物,鯉魚屬于魚。問:熊吃什么。答:鯉魚。而不是答魚,就是由抽象到具體了。
雙句的抽象問答:
(1)關聯句的回答:
例如教:人吃動物,所以動物怕人
再教:我屬于人,牛屬于動物
問:我吃牛
電腦把“我吃牛”抽象化為“人吃動物”(全抽象化)、“人吃牛”(主語抽象化)、“我吃動物”(賓語抽象化)
其中“人吃動物”這一條知識是教過的,所以就能回答
答:牛怕你
注意:雙句關系要寫連接詞(例如所以、然后),不能寫“人吃動物,動物怕人”(不能省略“所以”)
再例如教:老師愛護學生,所以學生尊敬老師
再教:張三是老師,李四是學生
問:張三愛護李四
答:李四尊敬張三
主語具體,賓語抽象:
教:我愛動物,所以飼養動物
教:貓屬于動物
問:我愛貓
電腦把句子抽象為“我愛動物”
答:你飼養貓
主語抽象,賓語具體:
教:動物要吃飯,所以動物找食物
教:貓屬于動物
問:貓要吃飯
電腦把句子抽象為“動物要吃飯”
答:貓找食物
(2)甲乙句
例如教:甲踢乙,所以乙打甲
問:張三踢李四
答:李四打張三
搭建教程參考:
寶塔面板linux安裝搭建網站教程以及命令