AIML全名為Artificial Intelligence Markup Language(人工智能標記語言),是一種創建自然語言軟件代理的XML語言,是由RichardS. Wallace 博士和Alicebot開源軟件組織于1995-2000年間發明創造的。AIML是一種為了匹配模式和確定響應而進行規則定義的 XML 格式。
AIML的設計目標如下:
關于AIML詳細的初級讀物,可翻閱Alice Bot's AIML Primer。你同樣可以在AIML Wikipedia page了解更多 AIML 的內容以及它能夠做什么。借助 Python 的 AIML 包,我們很容易實現人工智能聊天機器人。
1、安裝Python aiml庫
pip install aiml
2、獲取alice資源
Python aiml安裝完成后在Python安裝目錄下的 Lib/site-packages/aiml下會有alice子目錄,這個是系統自帶的一個簡單的語料庫。
3、Python下加載alice
取得alice資源之后就可以直接利用Python aiml庫加載alice brain了。
# -*- coding: utf-8 -*-import aimlimport sysimport os def get_module_dir(name): path = getattr(sys.modules[name], '__file__', None) if not path: raise AttributeError('module %s has not attribute __file__' % name) return os.path.dirname(os.path.abspath(path)) alice_path = get_module_dir('aiml') + '/alice'#切換到語料庫所在工作目錄os.chdir(alice_path) alice = aiml.Kernel()alice.learn("startup.xml")alice.respond('LOAD ALICE') while True:print alice.respond(raw_input("Enter your message >> "))
上述流程非常的簡單,接下來我們要自己從0開始創建自己的機器人。
創建標準啟動文件
標準的做法是,創建一個名為std-startup.xml的啟動文件,作為加載AIML文件的主入口點。在這個例子中,我們將創建一個基礎的文件,它匹配一個模式,并且返回一個相應。我們想要匹配模式load aiml b,然后讓它加載我們的aiml大腦作為響應。我們將在一步內創建basic_chat.aiml文件。
<aiml version="1.0.1" encoding="UTF-8"> <!-- std-startup.xml --> <!-- Category是一個自動的AIML單元 --> <category> <!-- Pattern用來匹配用戶輸入 --> <!-- 如果用戶輸入 "LOAD AIML B" --> <pattern>LOAD AIML B</pattern> <!-- Template是模式的響應 --> <!-- 這里學習一個aiml文件 --> <template> <learn>basic_chat.aiml</learn> <!-- 你可以在這里添加更多的aiml文件 --> <!--<learn>more_aiml.aiml</learn>--> </template> </category> </aiml>
新聞熱點
疑難解答