JLing中文语音对话机器人 -- 4、AIML功能(自定义对话指令功能的实现)

JLing

JLing是一个可以工作在Linux的自定义中文语音对话机器人
(csdn :https://blog.csdn.net/weixin_40490238)
(github: https://github.com/Kingzhoudk/JLing)


想看明白这块代码,先看看aiml的简介之类,推荐网址:https://www.yiibai.com/aiml/aiml_introduction.html

AIML是实现本项目自定义指令的主要技术
先看一个的xml文件:

<aiml version="0.9.1" encoding="UTF-8">
<category>
<pattern>你是谁</pattern>
<template>我是zhoudk创造的JLing管家机器人。</template>
</category>

<category>
<pattern>你叫什么</pattern>
<template>
<random>
<li>我叫精灵,你叫什么名字?</li>
<li>请叫我小精灵</li>	
<li>你不知道么,我是精灵。</li>
</random>
</template>
</category>

<category>
<pattern>你有女朋友吗</pattern>	
<template>我还小,师父不让找!</template>
</category>
 
<category>
<pattern>你真笨</pattern>
<template>我可是精灵呢,只不过是业务不熟,等我请教请教我师父。</template>
</category>
 
</aiml>

  • 因为我已经在Speak.py中把所有的对话都去除标点处理,因此对话中不需要加标点

其次是JLing.xml:

<aiml version="0.9.1" encoding="UTF-8">
 
    <!-- Category是一个自动的AIML单元 -->
    <category>
	<!-- Pattern用来匹配用户输入 -->
        <!-- 如果用户输入 "LOAD AIML B" -->
	<pattern>LOAD AIML B</pattern>
	<!-- Template是模式的响应 -->
        <!-- 这里学习一个aiml文件 -->
	<template>
	<learn>chat.aiml</learn>
	<learn>zhoudk.aiml</learn>
	<learn>corpus1000.aiml</learn>
	<learn>learn.aiml</learn>
	<learn>maimeng.aiml</learn>
	<learn>property.aiml</learn>
	<learn>rude.aiml</learn>
	<learn>sex.aiml</learn>
	<!-- 你可以在这里添加更多的aiml文件 -->
	<!--<learn>chat.aiml</learn>-->
	</template>
 
    </category>
 
</aiml>

  • 看注释就好

最后是加载形成大脑文件的demo.py:

import aiml
import sys
import os

kernel = aiml.Kernel()
if os.path.isfile("JLing_chat.brn"):
    kernel.bootstrap(brainFile="JLing_chat.brn")
else:
    kernel.bootstrap(learnFiles="JLing.xml", commands="load aiml b")
    kernel.saveBrain("JLing.brn")

while True:
    print(kernel.respond(input("Enter your message >> ")))

  • 在命令行输入自己存的对话,测试是否成功形成大脑文件JLing_chat.brn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值