PyAiml问答系统构建

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

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


X *哪*



X *哪

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


X *那*



X *那


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

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

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

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


        ^(?!(.*(补|重|再).*))(.*(X|x).*(哪|那|走|去|地|路).*)
        
    


你可能感兴趣的:(NLP)