Alicebot 无法解析中文 AIML

最近在研究关于智能机器人对话方面的文章,发现了AI界认可度最高的Alice,下载了Java版Alicebot的实现-ChatterBean。跑起来之后发现英文语义没有问题都可以做出答复,但是汉语词语提交给Alice引擎时一直返回*所匹配的template。起初怀疑是请求串String提取时转码问题但将所有编码均改为UTF-8时问题依旧存在,后来查阅文档才发现请求的字符串需要前后添加空格、AIML文档中的pattern标签也需要做同样的处理。经过这样之后就能成功返回匹配结果了 。 附中文字符串分拆加空格代码

   

人工智能标记语言 AIML Tag

v1.0.1 标签 含义 备注 <aiml> 3.2. AIML Element AIML block delimeter <topic name=”X”> 4. Topic X is AIML pattern <category> 5. Category AIML knowledge unit <pattern> 6. Pattern AIML input pattern <that> 6.1. Pattern-side That contains AIML pattern <template> 7. Template AIML response template <star…