借助 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 aimlos.chdir('./res/alice') #切換工作目錄到alice文件夾下,視具體情況而定alice = aiml.Kernel()alice.learn("startup.xml")alice.respond('LOAD ALICE')
注意加載時需要切換工作目錄到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來測試下。
6. 搭建聊天機器人微信訂閱號
上一步的web接口可以很方便地改造成一個微信訂閱號,實現的效果可以添加微信訂閱號 CuriousGuys 后直接發送消息。如果需要微信訂閱號的代碼可以私信我。
訂閱號效果截圖:
以上所述給大家介紹了基于Python如何使用AIML搭建聊天機器人的相關內容,希望本文所述對大家有所幫助。