如何用Python做一个聊天机器人

您所在的位置:网站首页 python机器人程序 如何用Python做一个聊天机器人

如何用Python做一个聊天机器人

2023-03-26 18:31| 来源: 网络整理| 查看: 265

随着人工智能技术的发展,聊天机器人的生态也日趋成熟与完善,为了让聊天机器人可以更加“智能”,交互体验更加拟人化,可以更好的理解用户的真实意图,最终更好地服务用户,还需要继续优化聊天机器人的相关功能,当前聊天机器人在技术方面还面临多重挑战。

自然语言多种表达方式的挑战

       由于语言本身的多样性及复杂性,对于同一件事情的描述,不同的人往往有不同的表达方式,比如当一个用户想预定一张明天去上海的机票,则表达方式主要有以下几种方式。

我要定一张去上海的机票

去上海明天几点有航班

我明天要去魔都出差,帮我订票

我明天去上海出差

去上海,明天

      我们人类可以快速并准确地理解这些表达所包含的意思是相同或一致的,而聊天机器人对这些不同表达的理解就比较困难了,同时由于用户输入过程中可能出现的口语化的输入、不符合语法规范的输入、错别字的输入等都会对聊天机器人理解用户意图造成困扰。

语义差异性的挑战

       聊天机器人除了要准确理解用户输入的意图,而且需要对类似输入的细微差异之处进行识别,我们在实际生活的场景中,往往会有这样的生活经验,有的时候仅需要修改一两个字符就会造成语义极大的改变。比如“你能干嘛?”是在询问对方具备的能力或技能,而“你干嘛的?”则是询问对方的身份或名称,“你在干嘛?”是在询问对方当前的状态。

      聊天机器人对这些自然语言表达非常相似而语义差异较大的情况需要有一定的识别能力,才可以在提升其与用户交互的满意度。

整合语境信息的挑战

      前面的两个难点主要体现在单轮对话过程中,在应用更广泛的多轮对话系统中,我们面临的挑战更多,其中典型的问题有上下文关联、中途打断回溯及指代识别。

      上下文关联的问题是指对于用户的输入,聊天机器人需要整合历史对话语境及物理语境,这种情况尤其在长对话过程中,系统对用户当前输入的信息进行反馈时,需要考虑前几轮对话过程中已经获取的信息,这就需要系统“记忆”整个对话过程中的全部信息。

      常用的方法是将获取到的对话信息都拼接到一个向量中,但在长对话上进行这样的操作是极富挑战性的。

     此外在对话过程中也需要整合其他类型的语境数据,例如日期/时间、位置或用户信息,例如当用户询问“明天天气怎么样?”,聊天机器人需要结合当前用户的询问时间信息及所在位置信息进行相应的回复。比如当用户在公众号与聊天机器人进行对话,那么聊天机器人可以通过公众号的信息获取到当前用户的地理位置,当用户想预定一张上海的机票后,可以直接获取到用户的订票要求是从当地出发并前往上海。

       同时聊天机器人还面临聊天中途发生打断的情况,并提供对话回溯的能力,方便用户快速完成原来的任务。

      指代识别是指聊天机器人需要在对话过程中正确理解用户的指代输入,比如“这个”、“最后一个”、“他”等情况。

回复多样性的挑战

       为了让聊天机器人更具有智能性,也就是我们常说的“更像一个人”,我们希望聊天机器人的回复尽可能具有多样性,避免回答相同的答案,然而当前聊天机器人尤其是闲聊系统,由于数据和训练目标的原因,往往会使用像“太好了!”或“我不知道”这样的“万能回答”作为其回复,但这种无效回复会严重降低聊天机器人的交互体验。

      要让聊天机器人的回复具有多样性,更重要的是让聊天机器人可以快速构建用户画像,针对用户的背景给出个性化的回答反馈。

人格一致性的挑战

       除了上面的挑战,当我们构建完成一个聊天机器人后,往往还面临人格一致性的挑战。比如当我们询问聊天机器人 “你多大了?”和“你的年龄是多少?”的时候,如果每次回答都得到不同的答案,那么会让我们的聊天机器人显得很笨,因此对于每个聊天机器人,需要保证其“人格”信息是一致的,也就是说维持一个稳定的“人设”。

       这个问题在闲聊机器人的研究中尤其重要,当前聊天机器人的研究中主要集中在让聊天机器人学习生成语义合理的回复,但是由于训练中使用的语料数据往往是基于不同用户而采集的,因此将固定的知识或者人格整合进模型变得非常困难。

 最后

 如果对Python感兴趣的话,可以试试我的学习方法以及相关的学习资料

 对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑培训的。

一方面是学习时间相对较短,学习内容更全面更集中。

 Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

二、Python必备开发工具  

三、精品Python学习书籍

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

四、Python视频合集

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

六、Python练习题

检查学习结果。

七、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

大家拿到脑图后,根据脑图对应的学习路线,做好学习计划制定。根据学习计划的路线来逐步学习,正常情况下2个月以内,再结合文章中资料,就能够很好地掌握Python并实现一些实践功能。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3