CN105138710B - 一种聊天代理系统及方法 - Google Patents
一种聊天代理系统及方法 Download PDFInfo
- Publication number
- CN105138710B CN105138710B CN201510655767.2A CN201510655767A CN105138710B CN 105138710 B CN105138710 B CN 105138710B CN 201510655767 A CN201510655767 A CN 201510655767A CN 105138710 B CN105138710 B CN 105138710B
- Authority
- CN
- China
- Prior art keywords
- user
- chat
- module
- database
- attribute
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Machine Translation (AREA)
Abstract
本申请公开了一种聊天代理系统,包括:聊天代理模块、人物属性数据库和对话语句数据库;人物属性数据库用于记录第一用户以及与第一用户对话的第二用户的属性信息;对话语句数据库用于记录对话的回复内容,以及从对话内容中学习得到的对话问答信息;聊天代理模块用于根据来自第二用户的聊天内容,查询人物属性数据库以及对话语句数据库,根据第一用户和第二用户的人物属性以及第一用户与第二用户的关系类别,筛选符合第一用户的语言风格、背景知识与记忆的候选回复内容,并将筛选出的候选回复内容发送给第二用户;以及根据第二用户的聊天内容对对话语句数据库进行更新。本申请方案可以模拟特定用户的说话特点,与其它用户进行个性化聊天。
Description
技术领域
本申请涉及社交网络及电子通信,尤其涉及一种模拟特定用户的属性和说话特点,与其它用户进行个性化聊天的聊天代理系统及方法。
背景技术
随着社交网络和其他类型的电子通信的流行,用户之间通过网络进行实时聊天已非常普及。在这样的背景下,各种各样的聊天机器人也应运而生。
较为初级的聊天机器人通过对对方聊天内容进行语义分析和理解,检索数据库获得相应回答。理论上说,只要堆砌足够大的数据库,在回答问题方面都能做到较为相近的正确率。
然而,回答正确只是较为初级的目标,聊天机器人的设计者及使用者都希望聊天机器人能够显示出像真人一样的智能。目前,大部分聊天机器人无论表现出的“智能”水平的高低,都是作为网络中的一个一般的“虚拟人”来与用户聊天,而不能模拟某个特定用户,与其他用户进行聊天。
发明内容
本申请提供了一种聊天代理系统及方法,可以模拟特定用户的属性和说话特点,与其它用户进行个性化聊天。
本申请实施例提供的一种聊天代理系统,该聊天代理系统包括:聊天代理模块、人物属性数据库和对话语句数据库;
所述人物属性数据库用于记录第一用户以及与第一用户对话的第二用户的属性信息;
所述对话语句数据库用于记录对话的回复内容,以及从对话内容中学习得到的对话问答信息;
所述聊天代理模块用于根据来自第二用户的聊天内容,查询人物属性数据库以及对话语句数据库,根据第一用户和第二用户的人物属性以及第一用户与第二用户的关系类别,筛选符合第一用户的语言风格、背景知识与记忆的候选回复内容,并将筛选出的候选回复内容发送给第二用户;以及根据第二用户的聊天内容对对话语句数据库进行更新。
可选地,所述关系类别包括亲密度,亲密度分为熟悉、一般、陌生;对不同的对话者的关系类别,分别设置默认的信息披露模式;所述回复内容中,对于“熟悉”类型默认披露的信息最多,对于“陌生”类型默认披露的信息最少。
可选地,当聊天代理模块在代理聊天过程中无法检索到合适的回复内容时,主动中断聊天代理,将相关提示信息发送给第一用户;聊天代理模块记录第一用户的人工回复内容,并根据人工回复内容更新对话语句数据库。
可选地,所述聊天代理模块进一步包括:用户交互模块、自然语言处理模块、查询匹配答案模块和知识学习模块;
第一用户和第二用户通过用户交互模块与系统进行交互,自然语言处理模块用于对接收到的各个数据进行预处理,然后再经过知识学习模块学习得到知识写入人物属性数据库或对话语句数据库,或者经过查询匹配答案模块查询第一用户的人物属性数据库和对话语句数据库获得最终的回复消息。
可选地,新用户通过用户交互模块提供特定信息注册,聊天代理系统通过用户交互模块返回给用户注册成功的反馈;老用户通过用户交互模块提供账号和密码登录聊天代理系统,聊天代理系统通过用户交互模块返回给用户代理成功的反馈;登陆成功后,用户通过用户交互模块录入学习资料,聊天代理系统将用户录入的学习资料经过自然语言处理模块和知识学习模块学习成功后,通过用户交互模块返回给用户学习成功的反馈。
可选地,自然语言处理模块通过信息来源和类型的判断,将数据的来源和类型做出标记分出三类:作为学习资料的用户输入文本、作为学习资料的历史聊天记录和来自第二用户的话语;将来自第二用户的话语进行句型和话题的判定,并抽取出句子主干;对用户输入文本做分句、分词和主干提取;用户输入文本以及历史聊天记录的处理结果发送到知识学习模块,来自对话者的话语的处理结果发送到查询匹配答案模块;
查询匹配答案模块接收来自自然语言处理模块的对话语句的处理结果,在公共话语数据库或对话语句数据库中匹配出若干候选答案,通过对话者属性、对话语境等判别标准的衡量,选择出一个最优答案作为代理对话反馈给用户交互模块;
知识学习模块用于接收经过自然语言处理模块处理的用户输入文本以及历史聊天记录的处理结果,通过实体关系抽取、文本摘要操作,提取出第一用户和第二用户的相关属性写入人物属性数据库;摘取出的句子和小型段落写入对话语句数据库;自然语言处理模块对聊天记录的处理结果会追加到原始记录数据库;知识学习模块还用于将更新后的原始记录数据库新建或追加到对话语句数据库,通过文本相似度、聚类整合和去重手段,将对话语句数据库整合成某一模式问题的不同关系类型在不同语境下的不同回复;学习的过程结束后都要给用户交互模块返回学习成功的信息。
可选地,所述聊天代理系统进一步包括数据库维护模块,用于提供维护操作接口,实现人工或自动方式对公共数据库的更新或扩充,以及对对话语句数据库和/或人物属性数据库进行修改;所述人工修改的优先级大于自动修改。
本申请实施例还提供了一种聊天代理方法,包括如下步骤:
A、建立人物属性数据库和对话语句数据库;
B、第一用户选择第二用户作为对话者,并启用聊天代理系统;
C、聊天代理系统根据来自第二用户的聊天内容,查询人物属性数据库以及对话语句数据库,根据第一用户和第二用户的人物属性以及第一用户与第二用户的关系类别,筛选符合第一用户的语言风格、背景知识与记忆的候选回复内容;
D、判断是否中断聊天代理,若是,结束本流程,转入非代理聊天模式或者结束聊天,否则,继续执行步骤E;
E、聊天代理系统将筛选出的候选回复内容发送给第二用户;
F、根据当前的聊天内容,判断是否需要对对话语句数据库进行更新,若是,则更新对话语句数据库;然后返回步骤C。
可选地,步骤D包括:当聊天代理模块在代理聊天过程中无法检索到合适的回复内容时,中断聊天代理,将相关提示信息发送给第一用户;聊天代理模块记录第一用户的人工回复内容,并根据人工回复内容更新对话语句数据库。
可选地,该方法进一步包括:采用基于规则的方法和机器学习的方法建立人物属性数据库;
所述基于规则的方法,是基于触发词、基于词典和规则匹配相结合的方法,利用触发词来缩小抽取范围,再综合词典的查找和规则的匹配实现的人物属性抽取工作;触发词是指对某一属性抽取起到定位、识别的作用,并能够激活抽取任务的词;
所述机器学习的方法先利用一部分数据作为训练数据学习得到模型,再对待抽取数据进行预测和分类实现属性抽取;对于不同的属性利用不同的方法进行抽取;
出生、死亡相关的属性利用规则进行抽取,工作经历、学习经历、家庭关系等属性使用机器学习的方法实现抽取。
从以上技术方案可以看出,通过设置人物属性数据库和对话语句数据库,根据不同对话者可以给出不同的符合被代理人的身份以及人物关系的对话内容,使得聊天对方获得与被代理人本人聊天近似的体验。
附图说明
图1为本申请实施例提供的聊天代理的进行聊天的基本实现流程示意图;
图2为本申请的一个实施例提供的聊天代理系统的基本框架示意图;
图3为本申请实施例提供的聊天代理模块的结构示意图;
图4为本申请的一个实施例给出的用户交互模块301的内部结构示意图;
图5为本申请的另一个实施例给出的自然语言处理模块302的内部结构示意图;
图6.为本申请的另一个实施例给出的查询匹配答案模块303的内部结构示意图;
图7为本申请的另一个实施例给出的知识学习模块304的内部结构示意图。
图8为本申请实施例提供的人物属性抽取原理示意图;
图9为本申请的一个实施例提供的聊天代理进行对话的流程示意图;
图10为本申请的一个实施例提供的对话语句数据库的生成过程示意图。
具体实施方式
本申请提供的聊天代理系统及方法,其目的是模拟某个特定用户(以下称为用户A)的属性和说话特点与其他用户进行聊天,使其他用户获得近似与用户A本人聊天的体验。由于用户A与不同用户的关系不同,其说话方式也会存在差异(例如,与同事说话和与父母说话,其说话方式一般会存在差异),为了更为真实地模拟用户A,聊天代理的聊天内容应当随着聊天对象的不同也会做出调整。
为使本申请技术方案的技术原理、特点以及技术效果更加清楚,以下结合具体实施例对本申请技术方案进行详细阐述。
本申请实施例提供的聊天代理的进行聊天的基本实现流程如图1所示,包括:
步骤101:建立人物属性数据库和对话语句数据库。
其中,人物属性数据库用于记录用户A的各项属性信息(所述各项信息包括但不限于年龄、性别、工作、学历等)以及每一个已知对话者的各项属性信息。所述已知对话者可以是与用户A曾经通过聊天软件进行过对话的用户,或者虽然未对话过,但已知其部分信息的用户。用户和每一个已知对话者的人物属性分别存储在人物属性数据库中的一张表中,数据库中应有什么属性提前设定好,不支持用户动态添加,但可以以用户动态需求为基础,由后台维护修改增减属性类别。
人物属性数据库中的人物属性的来源至少包括:用户上传的自己或其他用户的人物属性信息;和/或,从对话内容中提取的任务属性。
对话语句数据库,用于记录各类对话的回复内容,以及从对话内容中学习得到的对话问答信息;针对不同的消息和对话者的关系类别做出不同的、符合用户语言风格、情感风格、背景知识与记忆的回复。所述关系类别至少包括:关系名称,例如亲人、朋友、同事等;亲密度,例如分为熟悉、一般和陌生三类。
步骤102:用户A选择用户B作为对话者,并启用聊天代理。
步骤103:聊天代理系统根据来自用户B的聊天内容,查询人物属性数据库以及对话语句数据库,根据用户A和用户B的人物属性以及用户B与用户A的关系类别,筛选符合用户A的个人风格、背景知识与记忆的候选回复内容。
步骤104:判断是否中断聊天代理,若是,结束本流程,转入非代理聊天模式或者结束聊天,否则,继续执行步骤105。
步骤105:聊天代理将筛选出的候选回复内容发送给用户B。
步骤106:根据当前的聊天内容,判断是否需要对对话语句数据库进行更新,若是,则更新对话语句数据库。然后返回步骤103。
以下将通过多个更为具体的实施例对本申请方案的各个方面进行进一步详细展开说明。
图2为本申请的一个实施例提供的聊天代理系统的基本框架示意图。聊天代理系统包括聊天代理模块以及相应的知识数据库,所述知识数据库至少包括人物属性数据库和对话语句数据库。用户A为被代理的用户,用户B为聊天对象。用户A向聊天代理模块录入学习资料,该学习资料可以是模板化的表格,也可以是非结构化的文本,聊天代理模块从学习资料中自动提取与人物实体相关的特定属性信息,比如该人物实体的出生日期、配偶、子女、教育、头衔等等,保存在人物属性数据库中,然后向用户返回学习成功的提示信息。
聊天代理模块与人物属性数据库的交互过程包括:在人物属性数据库中创建或更新人物属性信息;在聊天过程中根据聊天内容查询并获取聊天人对应的人物属性。
聊天代理模块与对话语句数据库的交互过程包括:向对话语句数据库输入对话信息以及消息查询语句,对话语句数据库返回候选的答复内容。
知识数据库还可以进一步包括公共话语数据库,该数据库是所有用户共享的系统数据库,针对类似“你好!”,“北京最近雾霾真厉害啊!”等无需个性化处理的消息给出回复,公共话语数据库的查询还包括对于某些常识性或名词解释等问题,通过在线查询方式(例如,查询百度百科或者维基百科等页面)返回给对方词条内容或者直接回复链接。
所述知识数据库还可以进一步包括原始记录数据库,用于记录用户所能提供的聊天记录或个人简历、文章等,用于学习和挖掘用户的聊天习惯和属性信息等。
步骤103中,当聊天代理模块在代理聊天过程中无法检索到合适的回复内容时,会主动中断聊天代理,将相关提示信息发送给用户A,用户A可人工处理聊天信息,此时系统会记录用户A的人工回复内容,并根据人工回复内容更新对话语句数据库。
图3为本申请实施例提供的聊天代理模块的结构示意图。聊天代理模块包括用户交互模块301、自然语言处理模块302、查询匹配答案模块303和知识学习模块304。用户和对话者通过用户交互模块301与系统进行交互,自然语言处理模块302主要用于对接收到的各个数据进行预处理,然后再经过知识学习模块303学习得到知识写入数据库,或者经过查询匹配答案模块304查询用户的个性化数据库获得最终的回复消息。
用户交互模块301,顾名思义是用户与聊天代理系统进行交互的接口。新用户可以通过用户交互模块301提供特定信息注册,聊天代理系统通过用户交互模块301返回给用户注册成功的反馈;老用户通过用户交互模块301提供账号和密码登录聊天代理系统,聊天代理系统通过用户交互模块301返回给用户代理成功的反馈。登陆成功后,用户可以录入学习资料,聊天代理系统将用户录入的学习资料经过自然语言处理模块302和知识学习模块303学习成功后,通过用户交互模块返回给用户学习成功的反馈。
用户可以人工修改其个性数据库(人物属性数据库和对话语句数据库)(注:人工修改的内容作标识,人工修改的优先级大于系统自动修改)。系统对不同的对话者的关系类别,可分别设置默认的信息披露模式(即各属性字段的“披露”或“不披露”),例如:亲密度分为熟悉、一般、陌生(实际应用中也可以分为更多类型),“熟悉”类型默认披露的信息最多,“一般”类型根据属性的隐私度有选择的披露,而对于“陌生”类型默认披露的信息最少。具体实现方式可以为:为用户每个属性关联一个三位的二进制数表示,由高位到低位分别代表熟悉、一般到陌生的披露模式,“110”就表示该属性对“熟悉”类型和“一般”类型好友披露,对“陌生”类型好友不披露,用户可以随时对这些模式进行修改。在接收到对话者的聊天话语后,经过自然语言处理模块302和查询匹配答案模块304输出代理聊天话语回复给对话者。用户可以随时中断聊天代理和重启聊天代理。
自然语言处理模块302用于将来自用户交互模块301的数据经过处理发送给查询匹配答案模块303和知识学习模块304。自然语言处理模块302获得的数据分为三类:作为学习资料的用户输入文本(非聊天记录)、作为学习资料的历史聊天记录和来自对话者的话语。首先,自然语言处理模块302通过信息来源和类型的判断,将数据的来源和类型做出标记分出三类。将对话语句进行句型和话题的判定,并抽取出句子主干,在原始记录数据库中追加相应属性(若聊天记录存储形式不是数据库存储还需增加将聊天记录导入数据库的过程)。对用户输入文本只做分句、分词和主干提取。用户输入文本以及历史聊天记录的处理结果发送到知识学习模块304,来自对话者的话语的处理结果发送到查询匹配答案模块303。
查询匹配答案模块303接收来自自然语言处理模块302的好友对话语句的处理结果,在公共话语数据库或对话语句数据库中匹配出若干候选答案,通过对话者属性、对话语境等判别标准的衡量,选择出一个最优答案作为代理对话反馈给用户交互模块301。
作为一种较佳的实施方式,在代理聊天的过程中,也可根据聊天时长、聊天次数、聊天内容等对好友的属性信息进行动态修改(人物属性数据库中好友信息也要增加相应的属性),系统默认亲密度为“陌生”。主动中断程序在两种情况下会得到触发,第一种情况就是系统在对话语句数据库中没有找到答案,并且也无法通过公共话语数据库和百科查询得到答案时;第二种情况是系统在对话数据库中得到了候选答案,但通过打分排序,不能选择出唯一的、满意度足够的最佳答案(即分差足够接近是)反馈给好友时。主动中断程序会将本条对话和若干条(可设置一个动态参数)前文信息发送给用户,如果有候选答案则一并显示给用户(全部或者最优n条),用户可以自行输入回复也可以在候选中选择一条发送。
知识学习模块304用于对用户录入、导入的简历、论文等文本和聊天记录等进行学习,并写入相应的知识数据库(人物属性数据库和/或对话语句数据库)。文本资料经过自然语言处理模块302处理后,知识学习模块304对处理后的数据通过实体关系抽取、文本摘要等操作,提取出对话者、用户的相关属性写入人物属性数据库;摘取出的句子和小型段落可以写入对话语句数据库。自然语言处理模块302对聊天记录的处理结果会追加到原始记录数据库(即给原始数据库增加新的记录),知识学习模块304中,将更新后的原始记录数据库新建或追加到对话语句数据库,通过文本相似度、聚类整合和去重等手段,将对话语句数据库整合成某一模式问题的不同关系类型在不同语境下的不同回复。各个学习过程结束后都要给用户交互模块返回学习成功的信息。
在本申请的一些实施例中,聊天代理系统还可以进一步包括数据库维护模块。数据库维护模块的作用是提供维护操作接口,实现对公共数据库的更新或扩充,以及对人物属性数据库和/或对话语句数据库进行一定的修改。
该维护操作接口可以提供给聊天代理系统的开发者,人工或自动实现公告话语数据库的升级,以确保它能符合当前的环境背景;也可对特定用户的人物属性数据库和对话语句数据库进行增删改查,将其中明显不合理的错误学习结果进行修正。
数据库维护模块的维护操作接口还可以提供给用户,实现“修改自我属性”、“修改对话者属性”、“修改信息披露模式”等操作。人工修改的内容作标识,人工修改的优先级大于系统自动修改。
图4示出了本申请的一个实施例给出的用户交互模块301的内部结构示意图,用户交互模块301包括注册登录单元401、获取学习资料单元402、话语中断单元403、话语输入单元404、话语输出单元405和注销退出单元406。其中,
注册登录单元401用于接收来自用户A的注册请求,进行注册信息登记,并向用户A返回注册成功的信息;以及接收来自用户A的登录信息,对登录信息进行验证,以及向用户A返回登录成功消息。
获取学习资料单元402用于接收用户A录入的学习资料,并将学习资料转发至自然语言处理模块302,接收知识学习模块304的学习成功的提示信息,将该提示信息返回用户A。
话语中断单元403用于在接收到用户A的中断代理请求后,中断当前的代理聊天过程;在接收到用户A的继续代理请求后,继续进行代理聊天;以及在收到来自查询匹配答案模块303的主动中断请求后,中断当前的代理聊天过程,并向用户A返回主动中断的提示信息。
话语输入单元404用于接收来自用户B的聊天话语输入信息,将其转发至自然语言处理模块302。
话语输出模块405用于接收来自查询匹配答案模块303的代理聊天话语,将其发送给用户B。
注销退出单元406用于接收用户A的注销命令,进行用户A的注销操作,并向用户A返回注销成功消息。
图5示出了本申请的另一个实施例给出的自然语言处理模块302的内部结构示意图。自然语言学习模块302包括信息判断单元501、主干提取单元502、句型判断单元503、话题判断单元504和预处理结果单元505。其中,
信息判断单元501用于接收来自用户交互模块301的自然人聊天话语或用户录入的学习资料,通过信息来源和类型的判断,将对话类型信息同时发送给话题判断单元504、句型判断单元503和主干提取单元502,将篇章类型信息发送给主干提取单元502。
主干提取单元502用于对篇章类型信息进行分句/分词提取,将提取出的句子主干信息发送至预处理结果单元505。
句型判断单元503用于对对话类型信息进行句型判断,将句子类型信息发送到预处理结果单元505。
话题判断单元504用于对对话类型信息进行话题判断,将话题属性信息发送到预处理结果单元505。
预处理结果单元505用于接收句子主干信息、句子类型信息、话题属性信息等预处理结果,将自然人对话预处理结果发送到查询匹配答案模块303,将篇章学习材料的预处理结果发送到知识学习模块304,同时将预处理结果发送到原始记录数据库中进行保存。
图6示出了本申请的另一个实施例给出的查询匹配答案模块303的内部结构示意图。查询匹配答案模块303包括获取对话者信息单元601、答案查找单元602、语境提取单元603、最佳答案选择单元604和无答案处理单元605。其中,
获取对话者信息单元601用于接收来自自然语言处理模块302的自然人对话预处理结果,根据其中的对话双方(用户A和用户B)信息查询人物属性数据库,获得相应的人物属性,将人物属性发送到最佳答案选择单元604。
答案查找单元602用于根据来自自然语言处理模块302的自然人对话预处理结果,查询对话语句数据库获得候选答案,将候选答案发送到语境提取单元603和最佳答案选择单元604。
语境提取单元603用于根据来自答案查找单元602的候选答案查询对话语句数据库获得候选语境信息,将候选语境信息发送到最佳答案选择单元604。
最佳答案选择单元604用于根据来自获取对话者信息单元601的人物属性以及来自语境提取单元603的候选语境信息,对来自答案查找单元602的候选答案进行筛选,获得符合用户A的语言习惯以及语境环境的最佳答案,若最佳答案存在,将该最佳答案作为代理聊天话语发送到用户交互模块301,若最佳答案不存在,将无结果提示信息发送到无答案处理单元605。
无答案处理单元605用于在收到无结果提示信息后,向用户交互模块301发出主动中断请求。
图7示出了本申请的另一个实施例给出的知识学习模块304的内部结构示意图。知识学习模块304包括人物属性抽取单元701、语句摘要生成单元702、聚类整合数据库单元703、追加数据库单元704和去重处理单元705。其中,
人物属性抽取单元701用于接收来自自然语言处理模块302的篇章预处理结果,从中提取出人物属性信息,将所提取的任务属性信息发送到人物属性数据库中保存,并向用户交互模块301返回学习成功的提示信息。
语句摘要生成单元702用于接收来自自然语言处理模块302的篇章预处理结果,从中提取出语句摘要,小型段落等写入对话语句数据库。
聚类整合数据库单元703、用于将原始记录数据库中的数据进行文本相似度的聚类整合,整合成某一模式问题的不同关系类型在不同语境下的不同回复,追加到对话语句数据库中。
追加数据库单元704用于作为人工添加和编辑对话语句数据库的接口。
去重处理单元705用于删除对话语句数据库中的重复内容,节省存储空间。
图8为本申请实施例提供的人物属性抽取原理示意图。本申请实施例中,人物属性抽取综合使用了基于规则的方法和机器学习的方法。对于基于规则的方法,具体地说,是基于触发词、基于词典和规则匹配相结合的方法,利用触发词来缩小抽取范围,再综合词典的查找和规则的匹配实现较好的人物属性抽取工作。而机器学习的方法需要先利用一部分数据作为训练数据学习得到模型,再对待抽取数据进行预测和分类实现属性抽取。
机器学习的抽取方法需要保证输入模型的测试数据格式保持和训练数据一致,所以前期的分句分词等预处理以及特征抽取工作都是一样的。对于训练数据和测试数据,其预处理过程均包括分句801、句子筛选802、及其他预处理803(分词、词性标注、命名实体识别、句法分析)、以及特征抽取804。
在训练阶段,预处理的工作是为了抽取出训练模型所需要的特征,生成训练所用的数据格式。利用属性触发词将句子分成不同的属性相关的句子集合,分别训练每个属性的机器学习模型。在特征抽取804之后,利用开源的工具包(mallet和SVM-light)进行CRF模型训练807以及SVM模型训练808,然后经过统计抽取模型809,得到相应模型。
在测试阶段,在预处理803之后分为两种处理方式:一种处理方式为基于规则的方法,以句子为单位,通过触发词决定句子属于哪类属性的待抽取句,匹配相应属性的规则和词典实现属性值的抽取。即根据预先设置的属性规则库以及属性词典进行基于规则的属性抽取805,抽取出的人物属性添加到人物属性数据库中;另一种为机器学习的方法,即对预处理之后的语句进行特征抽取804,根据809得到的模型,进行基于统计的属性抽取806。
较佳地,对于不同的属性利用不同的方法进行抽取。例如,出生、死亡相关的属性利用规则进行抽取,工作经历、学习经历、家庭关系等属性使用机器学习的方法实现抽取。
触发词是指对某一属性抽取起到定位、识别的作用,能够激活抽取任务的词,当文档中某句话出现触发词,那么就可以在该句触发相应属性的抽取任务,大大缩小该属性的抽取范围。本申请实施例通过分析文本特征和中文语言的描述习惯,为所有属性建立了对应的触发词集。例如,出生相关的属性的触发词包括“生于”和出生,头衔的触发词包括“担任”、“历任”和“获封”等。
本申请实施例针对国家、省或洲、市、学校等专有名词可以直接匹配词典而抽取到的属性构造了属性词典,相比于制定规则更加便捷,准确率也更高。
属性规则库对于人物属性信息抽取非常重要,它的质量直接决定信息抽取的效果,发明人在研究人物属性时发现,对相同的属性的表述有很多相似处,根据这些相似性结合分词、词性标注和命名实体识别,对每个属性制定了相应的抽取规则。例如,对于出生相关属性,可以采用如下规则:预先生成所有时间格式的正则模板,在最前含触发词的句子中匹配时间格式作为结果。
图9为本申请的一个实施例提供的聊天代理进行对话的流程,包括如下步骤:
步骤901:用户自定义对话模板供代理系统在回复时参考。
步骤902:系统将用户定义的对话模板转换成AIML格式,并写入AIML对话模板数据库。
步骤903:代理系统将对话者的输入(聊天信息)转换成AIML格式。
步骤904:根据步骤903转换得到的AIML格式的对话者聊天信息内容在AIML对话模板库中查找与之匹配的对话模板。
步骤905:若步骤904中查询到匹配的对话模板,则执行步骤911,否则执行步骤906。
步骤906:将对话者的输入文本进行话题分类。
步骤907:对分类之后的各类文本使用人工挖掘的方式提取特定领域规则。
步骤908:根据步骤907中提取的规则形成贝叶斯网络输入格式
步骤909:将步骤908得到的格式作为输入,利用贝叶斯网络生成对话语句数据库中的模板计算得到可能的回答语句的候选句式。
步骤910:判断步骤909输出的候选句式可能性是否达到阈值,若是,执行步骤911,否则执行步骤913。
步骤911:从人物属性数据库中调取被代理用户以及对话方的人物属性以及关系类别,筛选符合被代理用户的语言风格和背景知识与记忆的候选回复内容。
步骤912:返回回答语句,并结束本流程。
步骤913:中断代理,申请人工介入。
图9中的对话语句数据库采用如图10所示的方式生成:
步骤1001以及1002:对于历史对话记录等文本语料,采用LDA/HLDA对文档进行话题聚类,或者手工分类文档。
步骤1003:计算此被代理人的对话内容与其他被代理人对于同类问题的对话内容的相似度。
步骤1004:判断相似度是否不高于阈值,若是,将该话题的内容加入被代理人的个性语料集,否则,不作任何处理。
步骤1005:利用贝叶斯网络将被代理人的个性语料集作为训练文本训练对话模型。
步骤1006:通过步骤1005得到特定代理人个性对话模型。
步骤1007:将贝叶斯网络生成的所有被代理人的个性对话模型集合形成对话语句数据库。
应当理解,虽然本说明书是按照各个实施方式描述的,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施方式中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请的保护范围,凡在本申请技术方案的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (8)
1.一种聊天代理系统,其特征在于,该聊天代理系统包括:聊天代理模块、人物属性数据库和对话语句数据库;
所述人物属性数据库用于记录第一用户以及与第一用户对话的第二用户的属性信息;
所述对话语句数据库用于记录对话的回复内容,以及从对话内容中学习得到的对话问答信息;
所述聊天代理模块用于根据来自第二用户的聊天内容,查询人物属性数据库以及对话语句数据库,根据第一用户和第二用户的人物属性以及第一用户与第二用户的关系类别,筛选符合第一用户的语言风格、背景知识与记忆的候选回复内容,并将筛选出的候选回复内容发送给第二用户;以及根据第二用户的聊天内容对对话语句数据库进行更新;
其中,
第一用户的背景知识是聊天代理模块从第一用户输入的学习资料中提取得到的;
当聊天代理模块在代理聊天过程中无法检索到候选回复内容时,主动中断聊天代理,将相关提示信息发送给第一用户;聊天代理模块记录第一用户的人工回复内容,并根据人工回复内容更新对话语句数据库。
2.根据权利要求1所述的聊天代理系统,其特征在于,所述关系类别包括亲密度,亲密度分为熟悉、一般、陌生;对不同的对话者的关系类别,分别设置默认的信息披露模式;所述回复内容中,对于“熟悉”类型默认披露的信息最多,对于“陌生”类型默认披露的信息最少。
3.根据权利要求1所述的聊天代理系统,其特征在于,所述聊天代理模块进一步包括:用户交互模块、自然语言处理模块、查询匹配答案模块和知识学习模块;
第一用户和第二用户通过用户交互模块与系统进行交互,自然语言处理模块用于对接收到的各个数据进行预处理,然后再经过知识学习模块学习得到知识写入人物属性数据库或对话语句数据库,或者经过查询匹配答案模块查询第一用户的人物属性数据库和对话语句数据库获得最终的回复消息。
4.根据权利要求3所述的聊天代理系统,其特征在于,新用户通过用户交互模块提供特定信息注册,聊天代理系统通过用户交互模块返回给用户注册成功的反馈;老用户通过用户交互模块提供账号和密码登录聊天代理系统,聊天代理系统通过用户交互模块返回给用户代理成功的反馈;登陆成功后,用户通过用户交互模块录入学习资料,聊天代理系统将用户录入的学习资料经过自然语言处理模块和知识学习模块学习成功后,通过用户交互模块返回给用户学习成功的反馈。
5.根据权利要求3所述的聊天代理系统,其特征在于,自然语言处理模块通过信息来源和类型的判断,将数据的来源和类型做出标记分出三类:作为学习资料的用户输入文本、作为学习资料的历史聊天记录和来自第二用户的话语;将来自第二用户的话语进行句型和话题的判定,并抽取出句子主干;对用户输入文本做分句、分词和主干提取;用户输入文本以及历史聊天记录的处理结果发送到知识学习模块,来自对话者的话语的处理结果发送到查询匹配答案模块;
查询匹配答案模块接收来自自然语言处理模块的对话语句的处理结果,在公共话语数据库或对话语句数据库中匹配出若干候选答案,通过对话者属性、对话语境判别标准的衡量,选择出一个最优答案作为代理对话反馈给用户交互模块;
知识学习模块用于接收经过自然语言处理模块处理的用户输入文本以及历史聊天记录的处理结果,通过实体关系抽取、文本摘要操作,提取出第一用户和第二用户的相关属性写入人物属性数据库;摘取出的句子和小型段落写入对话语句数据库;自然语言处理模块对聊天记录的处理结果会追加到原始记录数据库;知识学习模块还用于将更新后的原始记录数据库新建或追加到对话语句数据库,通过文本相似度、聚类整合和去重手段,将对话语句数据库整合成某一模式问题的不同关系类型在不同语境下的不同回复;学习的过程结束后都要给用户交互模块返回学习成功的信息。
6.根据权利要求1所述的聊天代理系统,其特征在于,所述聊天代理系统进一步包括数据库维护模块,用于提供维护操作接口,实现人工或自动方式对公共数据库的更新或扩充,以及对对话语句数据库和/或人物属性数据库进行修改;人工修改的优先级大于自动修改。
7.一种聊天代理方法,其特征在于,包括如下步骤:
A、建立人物属性数据库和对话语句数据库;
B、第一用户选择第二用户作为对话者,并启用聊天代理系统;
C、聊天代理系统根据来自第二用户的聊天内容,查询人物属性数据库以及对话语句数据库,根据第一用户和第二用户的人物属性以及第一用户与第二用户的关系类别,筛选符合第一用户的语言风格、背景知识与记忆的候选回复内容;
D、判断是否中断聊天代理,若是,结束本流程,转入非代理聊天模式或者结束聊天,否则,继续执行步骤E;
E、聊天代理系统将筛选出的候选回复内容发送给第二用户;
F、根据当前的聊天内容,判断是否需要对对话语句数据库进行更新,若是,则更新对话语句数据库;然后返回步骤C;
其中,
第一用户的背景知识是聊天代理系统从第一用户输入的学习资料中提取得到的;
步骤D包括:当聊天代理模块在代理聊天过程中无法检索到候选回复内容时,中断聊天代理,将相关提示信息发送给第一用户;聊天代理模块记录第一用户的人工回复内容,并根据人工回复内容更新对话语句数据库。
8.根据权利要求7所述的聊天代理方法,其特征在于,该方法进一步包括:采用基于规则的方法和机器学习的方法建立人物属性数据库;
所述基于规则的方法,是基于触发词、基于词典和规则匹配相结合的方法,利用触发词来缩小抽取范围,再综合词典的查找和规则的匹配实现的人物属性抽取工作;触发词是指对某一属性抽取起到定位、识别的作用,并能够激活抽取任务的词;
所述机器学习的方法先利用一部分数据作为训练数据学习得到模型,再对待抽取数据进行预测和分类实现属性抽取;对于不同的属性利用不同的方法进行抽取;
出生、死亡相关的属性利用规则进行抽取,工作经历、学习经历、家庭关系属性使用机器学习的方法实现抽取。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510655767.2A CN105138710B (zh) | 2015-10-12 | 2015-10-12 | 一种聊天代理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510655767.2A CN105138710B (zh) | 2015-10-12 | 2015-10-12 | 一种聊天代理系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105138710A CN105138710A (zh) | 2015-12-09 |
CN105138710B true CN105138710B (zh) | 2019-02-19 |
Family
ID=54724057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510655767.2A Active CN105138710B (zh) | 2015-10-12 | 2015-10-12 | 一种聊天代理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105138710B (zh) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105631014B (zh) * | 2015-12-28 | 2018-12-21 | 网易(杭州)网络有限公司 | 游戏问题信息回复方法与装置 |
CN105930697A (zh) * | 2016-04-11 | 2016-09-07 | 厦门幻世网络科技有限公司 | 一种交互信息使用权限开通方法及装置 |
CN109313540B (zh) * | 2016-05-13 | 2021-12-03 | 微软技术许可有限责任公司 | 口语对话系统的两阶段训练 |
CN106155522B (zh) * | 2016-06-29 | 2019-03-29 | 上海智臻智能网络科技股份有限公司 | 会话数据处理、知识库建立、优化、交互方法及装置 |
CN107623620B (zh) * | 2016-07-14 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 随机性交互数据的处理方法、网络服务器及智能对话系统 |
CN107632992B (zh) * | 2016-07-18 | 2021-04-20 | 深圳市珍爱网信息技术有限公司 | 一种基于语音识别的相亲匹配方法及装置 |
CN107040450B (zh) * | 2016-07-20 | 2018-06-01 | 平安科技(深圳)有限公司 | 自动回复方法和装置 |
CN107784354B (zh) | 2016-08-17 | 2022-02-25 | 华为技术有限公司 | 机器人的控制方法及陪伴机器人 |
WO2018033066A1 (zh) * | 2016-08-17 | 2018-02-22 | 华为技术有限公司 | 机器人的控制方法及陪伴机器人 |
CN106446054B (zh) * | 2016-08-31 | 2019-11-19 | 北京搜狗科技发展有限公司 | 一种信息推荐方法、装置及电子设备 |
US9947319B1 (en) * | 2016-09-27 | 2018-04-17 | Google Llc | Forming chatbot output based on user state |
CN106528530A (zh) * | 2016-10-24 | 2017-03-22 | 北京光年无限科技有限公司 | 一种确定句子类型的方法及装置 |
TWI631471B (zh) * | 2016-11-24 | 2018-08-01 | 正文科技股份有限公司 | 具備智慧型代理器的通訊系統 |
JP6697373B2 (ja) * | 2016-12-06 | 2020-05-20 | カシオ計算機株式会社 | 文生成装置、文生成方法及びプログラム |
CN106653019B (zh) * | 2016-12-07 | 2019-11-15 | 华南理工大学 | 一种基于用户注册信息的人机对话控制方法及系统 |
US11373086B2 (en) * | 2017-02-17 | 2022-06-28 | Google Llc | Cooperatively training and/or using separate input and response neural network models for determining response(s) for electronic communications |
KR102318502B1 (ko) * | 2017-03-20 | 2021-10-29 | 이베이 인크. | 대화 중 미션 변경의 검출 |
CN107273406B (zh) * | 2017-04-27 | 2020-06-05 | 上海奔影网络科技有限公司 | 任务对话系统中的对话处理方法及装置 |
US11699039B2 (en) * | 2017-06-28 | 2023-07-11 | Microsoft Technology Licensing, Llc | Virtual assistant providing enhanced communication session services |
CN109844741B (zh) * | 2017-06-29 | 2023-09-01 | 微软技术许可有限责任公司 | 在自动聊天中生成响应 |
CN107818787B (zh) * | 2017-10-31 | 2021-02-05 | 努比亚技术有限公司 | 一种语音信息的处理方法、终端及计算机可读存储介质 |
KR101854576B1 (ko) * | 2017-11-10 | 2018-05-03 | 베스핀글로벌 주식회사 | 챗봇 기반 클라우드 관리 시스템 및 그의 운영 방법 |
WO2019134091A1 (en) * | 2018-01-04 | 2019-07-11 | Microsoft Technology Licensing, Llc | Providing emotional care in a session |
CN108256066B (zh) * | 2018-01-16 | 2022-01-11 | 智言科技(深圳)有限公司 | 端到端层次解码任务型对话系统 |
CN110209897B (zh) * | 2018-02-12 | 2023-09-01 | 腾讯科技(深圳)有限公司 | 智能对话方法、装置、存储介质及设备 |
CN110555094A (zh) * | 2018-03-30 | 2019-12-10 | 北京金山安全软件有限公司 | 一种信息推荐方法、装置、电子设备及存储介质 |
CN110399470B (zh) * | 2018-04-24 | 2023-06-20 | 微软技术许可有限责任公司 | 会话消息处理 |
CN110569336A (zh) * | 2018-05-17 | 2019-12-13 | 阿里巴巴集团控股有限公司 | 一种对话处理方法、装置及设备 |
CN111104118A (zh) * | 2018-10-29 | 2020-05-05 | 百度在线网络技术(北京)有限公司 | 一种基于aiml的自然语言指令执行方法及系统 |
CN111261150A (zh) * | 2018-11-30 | 2020-06-09 | 阿里巴巴集团控股有限公司 | 一种人机对话的实现方法及装置 |
CN110032633B (zh) * | 2019-04-17 | 2021-03-23 | 腾讯科技(深圳)有限公司 | 多轮对话处理方法、装置和设备 |
CN110134235B (zh) * | 2019-04-25 | 2022-04-12 | 广州智伴人工智能科技有限公司 | 一种引导式互动的方法 |
CN112035714A (zh) * | 2019-06-03 | 2020-12-04 | 鲨鱼快游网络技术(北京)有限公司 | 一种基于角色陪伴的人机对话方法 |
CN111159401A (zh) * | 2019-12-20 | 2020-05-15 | 中国建设银行股份有限公司 | 基于短会的关联信息提方法、装置、电子设备及存储介质 |
CN111400489B (zh) * | 2020-04-08 | 2022-12-02 | 科大讯飞股份有限公司 | 对话文本摘要生成方法、装置、电子设备和存储介质 |
CN113761138B (zh) * | 2020-06-02 | 2024-02-02 | 阿里巴巴集团控股有限公司 | 对话系统、方法、装置、电子设备及计算机可读存储介质 |
CN112148861B (zh) * | 2020-09-30 | 2023-10-24 | 康晓琦 | 一种智能语音播报方法 |
CN112497217B (zh) * | 2020-12-02 | 2022-12-13 | 深圳市香蕉智能科技有限公司 | 一种机器人的交互方法、装置、终端设备及可读存储介质 |
CN112667796B (zh) * | 2021-01-05 | 2023-08-11 | 网易(杭州)网络有限公司 | 一种对话回复方法、装置、电子设备及可读存储介质 |
CN112818107B (zh) * | 2021-02-24 | 2023-10-31 | 中国人民大学 | 一种用于日常生活的对话机器人及其聊天方法 |
CN114169317B (zh) * | 2021-12-12 | 2023-02-14 | 海南港航控股有限公司 | 一种基于规则的人物属性提取方法和系统 |
CN114254094A (zh) * | 2021-12-17 | 2022-03-29 | 北京百度网讯科技有限公司 | 用于对话系统的数据处理方法、装置、设备和介质 |
CN115002053B (zh) * | 2022-06-14 | 2024-02-13 | 北京百度网讯科技有限公司 | 互动方法、装置和电子设备 |
CN117932040B (zh) * | 2024-03-21 | 2024-05-28 | 成都鱼泡科技有限公司 | 应用于招聘信息化系统的信息推荐方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101076060A (zh) * | 2007-03-30 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 一种聊天机器人系统及自动聊天方法 |
CN103390047A (zh) * | 2013-07-18 | 2013-11-13 | 天格科技(杭州)有限公司 | 聊天机器人知识库及其构建方法 |
CN104598445A (zh) * | 2013-11-01 | 2015-05-06 | 腾讯科技(深圳)有限公司 | 自动问答系统和方法 |
CN104750705A (zh) * | 2013-12-27 | 2015-07-01 | 华为技术有限公司 | 信息回复方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002091971A (ja) * | 2000-09-11 | 2002-03-29 | Sony Corp | エージェントシステム、情報提供方法及び情報提供装置並びにデータ記録媒体 |
CN104615646A (zh) * | 2014-12-25 | 2015-05-13 | 上海科阅信息技术有限公司 | 智能聊天机器人系统 |
-
2015
- 2015-10-12 CN CN201510655767.2A patent/CN105138710B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101076060A (zh) * | 2007-03-30 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 一种聊天机器人系统及自动聊天方法 |
CN103390047A (zh) * | 2013-07-18 | 2013-11-13 | 天格科技(杭州)有限公司 | 聊天机器人知识库及其构建方法 |
CN104598445A (zh) * | 2013-11-01 | 2015-05-06 | 腾讯科技(深圳)有限公司 | 自动问答系统和方法 |
CN104750705A (zh) * | 2013-12-27 | 2015-07-01 | 华为技术有限公司 | 信息回复方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105138710A (zh) | 2015-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105138710B (zh) | 一种聊天代理系统及方法 | |
CN110462730A (zh) | 促进以多种语言与自动化助理的端到端沟通 | |
CN109918650B (zh) | 自动生成采访稿的采访智能机器人装置及智能采访方法 | |
EP3276498A1 (en) | Method and system for dynamically generating adaptive response to user interactions | |
AbuShawar et al. | Usefulness, localizability, humanness, and language-benefit: additional evaluation criteria for natural language dialogue systems | |
Sutoyo et al. | Designing an emotionally realistic chatbot framework to enhance its believability with AIML and information states | |
JP2022130635A (ja) | 会議支援システム、会議支援装置、会議支援方法及びプログラム | |
EP3667586A1 (en) | Electronic communication system with drafting assistant and method of using same | |
US20190295199A1 (en) | Intelligent legal simulator | |
CN113610680A (zh) | 一种基于ai的交互式阅读材料个性化推荐方法及系统 | |
CN117332072B (zh) | 对话处理、语音摘要提取以及目标对话模型训练方法 | |
CN114064865A (zh) | 在远程交互中检测词汇技能级别并校正未对准 | |
CN115062627A (zh) | 用于基于人工智能的计算机辅助说服系统的方法和装置 | |
Sari et al. | Chatbot developments in the business world | |
Jaiwai et al. | Automatized educational chatbot using deep neural network | |
CN117251552B (zh) | 基于大型语言模型的对话处理方法、装置及电子设备 | |
Kongthon et al. | Implementing an online help desk system based on conversational agent | |
CN113617036A (zh) | 游戏中对话处理方法、装置、设备及存储介质 | |
EP2261818A1 (en) | A method for inter-lingual electronic communication | |
Kaviya et al. | Artificial intelligence based farmer assistant chatbot | |
Medina et al. | Towards integrating people with intellectual disabilities in the digital world | |
Trivedi | Fundamentals of Natural Language Processing | |
JP6858721B2 (ja) | コンテンツに関する対話を実施可能な対話制御装置、プログラム及び方法 | |
CN111046151B (zh) | 一种消息处理方法及装置 | |
Srinivasan | Chatbot application for tourism using natural language tool kit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |