aiml語言python對話系統構建

2021-09-30 14:21:28 字數 1257 閱讀 4759

aiml是一種為了匹配模式和確定響應而進行規則定義的 xml 格式。

安裝aiml for python2:

pip install aiml
為了便於講解,首先貼出aiml語言python**如下:

#! /usr/bin/env python2.7

#coding=utf-8

import sys

sys.path.insert(0, "../")

import aiml

# the kernel object is the public inte***ce to

# the aiml interpreter.

k = aiml.kernel()

# use the 'learn' method to load the contents

# of an aiml file into the kernel.

k.learn("cn-startup.xml")

k.respond("load aiml cn")

while true:

query=raw_input("> ")

response = k.respond(query)

print response

在檔案cn-startup.xml中定義了需要學習的模式匹配檔案,如下:

load aiml cn

cn-test1.aiml

cn-test2.aiml

cn-test1.aiml,cn-test2.aiml即為我們自己定義的模式匹配檔案,例如我們在cn-test1.aiml中要定義問候的回答,則可以邊界cn-test1.aiml如下:

<?xml version="1.0" encoding="utf-8"?>

你好hello

hihi!

hello

你好.你也好.

你好啊.

檔案中pattern為用於匹配選項,如果用於輸入剛好與pattern匹配(匹配方式為正則匹配),則輸出對應的template中的內容.例如用於輸入:hi,則輸出回答為:hi!

對於構建對話系統,我們需要設計對話的pattern,template,得到.aiml檔案之後在cn-startup.xml新增該.aiml檔案,那麼就可以通過k.learn函式學習該檔案.

aiml語言獲取時間,日期

關於aiml的python呼叫方法,參考 本文主要介紹如何設計.aiml檔案,輸出時間,日期.aiml內部有定以時間函式date,可以通過 date獲得函式data的輸出,通常我們還會為其定義乙個pattern,time date 這樣我們可以設計自己的pattern,而pattern的templa...

python語言工具 python語言之系統工具

一 sys sys 提供一組功能對映python執行時的作業系統 平台與版本 sys.platform win32 sys.version 3.6.2 v3.6.2 5fd33b5,jul 8 2017,04 57 36 msc v.1900 64 bit amd64 sys.path d myso...

python3 8使用aiml總結

切換到.aiml所在工作目錄 os.chdir alice path alice aiml.kernel 通過std startup.xml啟動aiml alice.learn std startup.xml aiml檔案有修改時可以通過load aiml b 在xml中pattern配置 進行修改...