PyAiml问答系统构建

pyaiml问答系统在使用过程中有一下问题:

1.匹配的时候*只能代表一个字符以及一个字符以上,而不能代表空值,导致需要多些很多规则。

<category>
<pattern>X *哪*</pattern>
<template></template>
</category>
<category>
<pattern>X *哪</pattern>
<template></template>
</category>

2.匹配的时候,遇见同义词只能添加规则,不能用类似正则表达式|这种方式解决,导致也需要写很多模板。

<category>
<pattern>X *那*</pattern>
<template></template>
</category>
<category>
<pattern>X *那</pattern>
<template></template>
</category>

3.不能添加排除项目,只能通过aiml里面的完全匹配>模糊匹配的这种方式排序一些交叉问题,一下两个问题只能通过把

什么时间是去x?和怎么去x?全部添加在规则中才能区别歧义,因为1问题也可以被2模板匹配到。

1.什么时间是去x?     *时*x                            2.怎么去x?     *去x*

因此需要使用python的re包对aiml进行修改以减少规则的书写以及支持排除项目。

<category>
        <pattern>^(?!(.*(补|重|再).*))(.*(X|x).*(哪|那|走|去|地|路).*)</pattern>
        <template></template>
    </category>


已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页