我对基于AIML聊天机器人的一点点看法 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
wangxiaolongbob
V2EX    程序员

我对基于AIML聊天机器人的一点点看法

  •  
  •   wangxiaolongbob 2012-07-01 11:37:49 +08:00 13969 次点击
    这是一个创建于 4864 天前的主题,其中的信息可能已经有所发展或是发生改变。
    网上看到一篇论文,叫《中文分词在聊天机器人中的应用研究》,我有种杀鸡用牛刀的感觉,他做的工作就是在Alice规范化字符串后(无论是对AIML文件中的内容,还是对用户的输入内容),再针对中文使用他实现的分词工具,使得最后Alice能支持中文聊天,要想实现Alice对中文的支持,只要入乡随俗,在Alice源代码中的统一规范化改改正则表达式什么的使的中文字之间自动加上空格就全部搞定了,至少我现在还没有遇到其他的问题,要知道在AIML中都是些很短的文字,比如在吗,你好之类的不会太长(太长的也不该放到AIML里面了,这个下面会说到)。而我觉得人和机器人的聊天内容可以分成2大部分:1,随性的聊天,比如:你好啊,今天心情怎么样,在吗之类的。2:聊天内容专业,在这个时候用户通常会问很专业,目的性很强的问题。

    在我眼中,用AIML来作为知识的载体的好处是灵活,人性化强。缺点是在知识的编写方面上门槛搞(你要编写,你总得会他的标签的功能吧),就针对这一缺点,我觉得AIML就不适合运用在一些目的在于解决客户问题的网站上(客户会问什么问题,还不是需要管理人员设置啊,那用AIML肯定不方便)。但是我觉的用数据库来作为这些“专业”问题的载体,是不错的,你看数据库中知识的结构很明显吧,都在一张张表里面,而且关键的好处是,我能针对该数据库实现个知识管理界面,这样就算不会计算机的,只要会在界面上填数据就行了,然而用数据库的话,缺点也是很明显的,那就是AIML的优点。所以我想说的是,应该把2个知识载体结合起来,这样技能满足用户“随性”的聊天,也能满足问一些专业的问题(关键是满足专业问题的管理),我现在的这个机器人就是这么干的,但是目前遇到一个问题,那就是,数据库匹配方面做的不够好,可能匹配的不够准确,我想上面提到的那个论文的知识兴许能用到数据库匹配这方面(但是用到AIML上,就感觉用错了地方),现在遇到的问题就是在数据库匹配方面不够好。

    另外,有没有专门聊关于聊天机器人,AIML之类的论坛或者QQ群啊,我一个人在那瞎折腾,也不知道有没有什么更有意思的思路或处理方法,是多么的蛋疼,我在百度上也找不到像样的群体,这方面貌似大家讨论的不多,我想应该不会吧?有哪位师傅身处这样的一个群体就拉我一把吧!
    9 条回复    2016-07-20 17:54:42 +08:00
    manhere
        1
    manhere  
       2012-07-01 11:44:30 +08:00
    如果你感觉需要数据库,说明你的AIML设计不够好。
    wangxiaolongbob
        2
    wangxiaolongbob  
    OP
       2012-07-02 01:02:50 +08:00
    @manhere 请问大哥眼中一个设计优良的AIML是怎样的?我不知道大哥是不是明白我上面所谓的“专业的问题”是什么意思?额,是我没有描述清楚sorry,我举个例子吧,有一个公司是卖减肥产品的,该公司有一个网站。那我现在要把我这个在线客服聊天机器人用到这个网站上去,目的是为了解决用户使用该公司产品的一些疑问,比如:“为什么我吃了你们公司的减肥产品不能减肥啊?”“请问你们公司有没有促销活动啊?”“我想问一下你们公司的减肥产品都有哪几类啊?”....像这些问题,就是我所谓的专业的,目的性很强的问题。通常这些问题是需要经常修改的,假如把这些知识写到AIML中,那对修改的人员要求是不是高了一点呢?
    mebeta
        3
    mebeta  
       2012-07-02 02:19:47 +08:00
    为什么需要经常修改?不同的问题可能都是一个答案,在AIML中你只需要记录、积累这些不同的问题,对应合适的答案,积累的越多,你这个问答机器人的命中率也会越高
    mebeta
        4
    mebeta  
       2012-07-02 02:22:31 +08:00
    另外,你可以做一个后台,让用户根据一些规则(就是tag)来编辑xml文件,给一个系统给你参考 http://blog.program-o.com/
    wangxiaolongbob
        5
    wangxiaolongbob  
    OP
       2012-07-03 17:10:22 +08:00
    @manhere 大哥,请问你有没有设计过AIML,如果有的话,能否分享一下设计的原则。
    manhere
        6
    manhere  
       2012-07-03 17:26:58 +08:00
    @wangxiaolongbob 有现成的AIML编辑软件,如:SimpleAIMLEditor,GaitoBotAIMLEditor等,主要是对同义词和一句话的不同说法处理好,利用好<srai></srai>标签,另外通过程序过滤/规范来客问句也是比较好的做法。
    wangxiaolongbob
        7
    wangxiaolongbob  
    OP
       2012-07-04 23:14:46 +08:00
    @manhere 谢谢你啊,大哥,你真是好人。在编写AIML的时候冥冥中觉的应该有一个结构,使得内容可扩展,重用度高,而不是凌乱的,但是这结构在脑子里面还不清晰。
    wangxiaolongbob
        8
    wangxiaolongbob  
    OP
       2012-07-05 00:12:47 +08:00
    @manhere 大哥,你说的SimpleAIMLEditor我下载了,不好用。请问你有没有GaitoBotAIMLEditor这个软件啊,有的话发我一个吧我的邮箱a542107840#qq.com,我网上找了一下,要钱才能下载。
    xsank
        9
    xsank  
       2016-07-20 17:54:42 +08:00
    看了答主的文章,如果定制化的话,那肯定是偏向于“问答机器人”的,那么就需要自定义问答
    我写了一个简单的机器人: https://github.com/xsank/Shour
    就是专门做定制化的,希望对楼主有帮助
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     866 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 19:44 PVG 03:44 LAX 12:44 JFK 15:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86