AIML,全名為Artificial Intelligence Markup Language(人工智慧標記語言),是一種創建自然語言軟體代理的XML語言,是由Richard Wallace和世界各地的自由軟體社群在1995年至2002年發明的,透過本文為大家介紹基於Python如何使用AIML建立聊天機器人,需要的朋友一起學習
借助Python 的AIML 包,我們很容易實現人工智慧聊天機器人。 AIML,全名為Artificial Intelligence Markup Language(人工智慧標記語言),是一種創建自然語言軟體代理的XML語言,是由Richard Wallace和世界各地的自由軟體社群在1995年至2002年發明的。
AIML 是什麼?
AIML由Richard Wallace發明。他設計了一個名為 A.L.I.C.E. (Artificial Linguistics Internet Computer Entity 人工語言網電腦實體) 的機器人,並獲得了多項人工智慧大獎。有趣的是,圖靈測試的其中一項就在尋找這樣的人工智慧:人與機器人透過文字介面展開數分鐘的交流,以此查看機器人是否會被當作人類。 AIML是一種為了匹配模式和決定回應而進行規則定義的 XML 格式。
AIML的官方網站:ALICE。
本文簡單介紹下如何用Python寫簡單的聊天機器人。
1. 安裝Python aiml函式庫
pip install aiml
2. 取得alice資源
# Python aiml安裝完成後在Python安裝目錄下的Lib/site-packages/aiml下會有alice子目錄,將此目錄複製到工作區。
或在Google code下載alice brain: aiml-en-us-foundation-alice.v1-9.zip
##3. Python下載入alice
取得alice資源之後就可以直接利用Python aiml函式庫載入alice brain了:import aiml os.chdir('./res/alice') #切换工作目录到alice文件夹下,视具体情况而定 alice = aiml.Kernel() alice.learn("startup.xml") alice.respond('LOAD ALICE')
4. 與alice聊天
載入之後就可以與alice聊天了,每次只需要呼叫respond介面:
alice.respond('hello') #這裡的hello即為發給機器人的訊息5. 用Tornado搭建聊天機器人網站##利用Tornado可以很方便地搭建一個web介面的聊天機器人。具體的程式碼可以在此連結下在:web介面的聊天機器人。
下載此程式碼之後直接執行main
.py即可,然後可以透過瀏覽器存取url與聊天機器人,url類似http://localhost/aiml?req=hello的形式(req參數即為發給機器人的訊息)。 注意要執行此程式碼,需要安裝Python 的aiml與Tornado程式庫。
lwons.com上已經搭建了這樣的web接口,可以訪問http://lwons.com/aiml?req=hello來測試下。
上一步的web介面可以很方便地改造成一個微信訂閱號,實現的效果可以添加微信訂閱號CuriousGuys 後直接發送訊息。如果需要微信訂閱號碼的程式碼可以私訊我。
訂閱號碼效果截圖:
#
以上是Python AIML建立聊天機器人實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!