CN109460459B - 一种基于日志学习的对话系统自动优化方法 - Google Patents
一种基于日志学习的对话系统自动优化方法 Download PDFInfo
- Publication number
- CN109460459B CN109460459B CN201811281632.4A CN201811281632A CN109460459B CN 109460459 B CN109460459 B CN 109460459B CN 201811281632 A CN201811281632 A CN 201811281632A CN 109460459 B CN109460459 B CN 109460459B
- Authority
- CN
- China
- Prior art keywords
- question
- log
- user
- entity
- knowledge base
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种基于日志学习的对话系统自动优化方法,基于日志分析、语义识别和知识抽取技术,在对话记录逐渐增加的过程中,系统后台的知识库会随之自动地扩充,机器人会懂得越来越多,最终覆盖所有在交互中有可能涉及的对话场景,改善用户体验。本发明实现的方法具有高度的自动化水平,与使用纯人力采编的方法相比,本发明能够大大降低系统维护需要投入的人力物力。
Description
技术领域
本发明涉及人工智能领域,尤其涉及人工智能人机自然语言交互领域,具体是一种基于日志学习的对话系统自动优化方法。
背景技术
日志分析技术主要应用于安全监督和精准营销等领域,在机器人对话领域的应用比较罕见。日志学习与日志分析的工作略有不同,但日志学习包含了日志分析,日志学习除了对运营日志进行分析之外,还要利用分析结果对原有的运营系统进行优化和完善。目前涉及日志学习技术的专利包括反爬虫和网络访问安全等任务,这两者都属于安全监督领域。
机器人实现自然语言交互主要有两种技术模式:第一种方法,通过广泛覆盖的人工采编和标注知识库,利用语义信息检索的方式,匹配知识库中的对应知识点,以匹配答案响应用户的对话;第二种方法,通过大规模的自然语言对话样本数据集,训练由大规模神经网络构建的文本生成模型,以用户传入语句作为输入,利用训练固化的模型创新性地生成应答语句。这两种技术模式各有优缺点:第一种模式答案相对合理但需要耗费大量的采编人力,第二种模式无需人力采编但常常会生成难以理解的答案。由于第二种模式仍然处于实验研究阶段,目前市场上落地的人机自然语言交互产品主要采用第一种实现策略。
基于大规模人工知识库和语义检索的人机对话系统有一个严重的缺陷:知识库的每一次更新都需要人工采编。人类的知识浩如烟海,如果每次用户问出了知识库中不存在的问题都需要进行一次人工补录,那么这个过程将无穷无尽。反观人类构建知识系统的过程:一个人就算不识字,甚至从来没有被人教过,只要他不断地和别人进行交流,他也能渐渐掌握丰富的知识。这是因为他能够从历史对话中去获取知识。
发明内容
考虑到人工优化对话系统耗费大量人力物力的缺点,本发明提出了基于日志学习的人机对话系统自动优化方法,可以在不断累积的对话日志中自动地发掘新的知识,自动扩充知识库,极大地减少了知识采编人员的工作量。
为了解决所述技术问题,本发明采用的技术方案是:一种基于日志学习的对话系统自动优化方法,包括以下步骤:S01)、语音识别模块识别用户语句,将其作为对话系统的输入;S02)、业务识别模块判断用户语句是否属于业务范围,得到语句是否存在于知识库中的标签Label1,Label1=True代表用户语句存在于机器人已有的知识库中,Label1=False代表用户语句未存在于机器人已有的知识库中;S03)、Label1=True时,业务匹配模块将用户语句与知识库中具体的条目进行匹配,将问题的所有答案按照置信度排序作为输出返回给用户;S04)、Label1=False时,反问模块开启反问进程,从对用户的反问中学习到新的知识;S05)、步骤S02、S03、S04对用户语句进行处理的结果都被实时记录到对话系统的日志文件中,日志学习模块对日志文件进行频次分析和新知识识别与扩充,实现自动化的知识迭代和更新,输入最新日志,输出更新后的知识库;S06)、将更新后的知识库作为参数传给业务识别模块,进行新一轮的人机对话。
进一步的,日志学习模块对最新输入的日志进行学习从而获取更新后的知识库的过程为:S51)、统计识别到的已有知识库中的标准问句的频次,高于预设阈值的高频问句输出到采编平台进行人工复核;S52)、逐条处理新增日志,获取新增日志的Label1,如果Label1=True,对该新增日志下一条的用户语句进行情感识别,如果情感倾向是Positive,则处理下一条新增日志;如果情感倾向是Negative,则更新最高置信度候选答案的置信程度AnswerBel,并增加新的候选答案条目;S53)、如果新增日志的Label1=False,首先将日志条目中的用户语句加入到知识库的问句库中,然后获取用户语句对应的候选答案;反问记录的问答对也作为新的知识放入到知识库中。
进一步的,步骤S52中,增加新的候选答案前,先比较AnswerNum与MaxAnswerNum的关系,AnswerNum代表该新增日志在原知识库中的答案数量,MaxAnswerNum代表增加候选答案数量的阈值,如果AnswerNum大于MaxAnswerNum,则不增加候选答案,处理下一条日志,如果AnswerNum不大于MaxAnswerNum,则获取候选答案。
进一步的,步骤S52、S53中,通过检索-爬取-摘要-置信度的方法获取候选答案,将新增日志中的实体作为参数从在线资源网站搜索相关信息,利用爬虫工具爬取搜索得到的前MaxAnswerNum个结果,对第一个结果使用DNN模型进行文档摘要提取,然后计算检索得到的摘要和原答案的相似度,如果相似度低于阈值NewAnswerSim,将其加入答案库,新答案的置信度设置为0.5+0.25*factor,factor 为更新因数,0<factor<1,丢弃其他检索结果,如果相似度不低于阈值NewAnswerSim,用同样的方法处理下一条检索结果。
进一步的,步骤S52、S53中,通过延时的对话式采编方法获取候选答案,具体过程为:赋予机器人采编对话指令,打开采编对话模式,将日志内容传入到采编模块中,从前向后遍历,如果条目中的Label1=False或是Label1=True并且MaxAnswerBel<1,MaxAnswerBel代表AnswerBel的最大值,将日志中的用户问句转化为语音返回给采编人员,采编人员听取日志记录中未识别的用户语句,然后回复给机器人相应的标准答案,模块将标准答案的语音转化为文本,将本条用户问句和采编人员回复的文本加入到知识库中,如果已经包含此问句则只需要增加采编人员回复,将采编回复得到的答案置信度AnswerBel设置为1。
进一步的,步骤S52中,根据公式AnswerBel1=0.5+0.5(AnswerBel*factor),0<factor<1更新最高置信度候选答案的置信程度,AnswerBel代表原来的本条问题最高答案的置信度,AnswerBel1代表更新后的本条问题最高答案的置信度,factor为更新因数。
进一步的,知识库包括按层级划分场景的标准知识库FAQ以及按照实体关系相互连接而成的实体网络EntNet,实体网络EntNe由实体节点和有向连接线构成,FAQ包含了EntNet中的任意实体所涉及到的主要常见问句。
进一步的,反问进程的具体过程为:S41)、根据预设的反问策略,对反问策略中包含的所有项目IterN依次进行步骤S42到步骤S43,将对话记录全部记入本条日志;S42)、采用预设的反问策略解析用户语句,再根据反问策略生成反问语句,将反问语句作为输出返回给用户,将反问语句记录到本条日志中;S43)、接受用户的反问回复,判断是否是业务问题,得到Label2,Label2=True代表用户的反问回复存在于机器人已有的知识库中,Label2=False代表用户的反问回复未存在于机器人已有的知识库中,如果Label2=True,则关闭反问进程,结束本条日志,将反问回复记入下一条日志,转入步骤S02;S44)、如果Label2=False,则判断是否已遍历反问策略中包含的所有项目,如果是则关闭反问进程,结束本条日志,否则继续下一项目的反问。
进一步的,反问策略中包含的项目IterN包括未登录实体、未登录短语和未登录整句,解析用户语句并生成反问语句时,使用基于词典和HMM模型的未登录实体识别模型解析未登录实体,根据识别出的未登录实体生成反问问句;使用短语词典和pyLTP句法依存分析工具包解析未登录短语,根据识别出的未登录短语生成反问问句;直接读取未登录整句并直接反问整句。
进一步的,反问进程的具体步骤为:S45)、使用词性标注、实体识别和依存分析识别用户问句中的实体,然后判断该实体是否存在于实体网络EntNet,如果是则执行步骤S46,如果否的话,则根据识别出的实体生成反问问句,接收用户的回答后判断是否是业务问题,如果是,关掉反问进程,保存日志,返回到业务判断模块,如果否,则抽取用户回复语句中的父级关系实体,将该父节点实体比对EntNet,如果包含该实体,增加该层子节点,否则继续反问实体关系,直到多级父节点在EntNet中存在为止,结束反问进程;S46)、如果EntNet中已经包含了识别出的实体,首先加载原FAQ中的依存关系,然后判断用户问句的依存关系是否被包含在内,是的话进行步骤S47,否则反问用户该依存关系是什么,获取用户回复并判断是否是业务问题,是的话保存日志,返回业务识别模块,否则将新的依存关系放到日志条目的新增FAQ列,结束反问;S47)、如果EntNet包含用户问句的实体,同时FAQ包含依存关系,那么直接整句反问,获取用户回复并判断是否是业务问题,是的话保存日志,返回业务识别模块,否则将整句反问放到日志条目的新增FAQ列。
本发明的有益效果:本发明基于日志分析、语义识别和知识抽取技术,在对话记录逐渐增加的过程中,系统后台的知识库会随之自动地扩充,机器人会懂得越来越多,最终覆盖所有在交互中有可能涉及的对话场景,改善用户体验。本发明实现的方法具有高度的自动化水平,与使用纯人力采编的方法相比,本发明能够大大降低系统维护需要投入的人力物力。本发明的优势还在于能够覆盖更广的知识范围:人力采编的知识范围只限制于个人的知识储备,而利用本发明的方法整个互联网都可以成为对话系统的知识来源。本发明在交互过程中增加了反问模块,反问模块的存在一方面提升了用户的交互体验,使用户感觉到自己的交互对象像个真实的人,另一方面在反问模块中机器人可以学习到新的知识点,随着与人的交流,对话系统会变得越来越聪明。
附图说明
图1是本发明的整体步骤流程图;
图2是业务识别模块M1的具体实现的步骤流程图;
图3是业务匹配模块M2的具体实现的步骤流程图;
图4是反问模块M3的具体实现的步骤流程图;
图5是本发明中日志学习模块M4的具体实现的步骤流程图。
具体实施方法
为了更清晰透彻地展示本发明的功能、构成和实现方法,下面结合附图以及具体的实施步骤流程对本发明的实现做进一步的说明。
实施例1
参照图1,示出了本发明的通过对话日志学习优化对话系统的总流程,总流程包括以下具体模块或步骤:
1)语音识别模块,将用户的语音识别为自然语言文本,作为本发明中反馈式对话系统的文本输入。
2)业务识别模块M1。这个模块的主要功能是判断用户输入的文本是否在机器人的后台知识库中,用这个识别的结果为日志打上标签,将这个标签作为本发明中的日志学习模块中的一个判别标志。
3)业务匹配模块M2。这个模块主要用于将识别到的业务问句和知识库中具体的条目进行匹配,模块的输入内容是用户的问句,模块的输出是匹配到的知识库中的标准问句及对应答案。
4)反问模块M3。对于业务识别模块M1识别为False的语句,代表本语句不在已有的知识库中,对于机器人来说是新知识的标志。在这种情况下,通过模块M3,机器人会从对用户的反问中学习到新的知识。
5)前述M1、M2、M3对用户语句进行的处理结果都会被实时记录到日志文件中,日志文件存放于对话系统后台服务器内存中。
6)日志学习模块M4。对对话系统的日志进行频次分析和新知识识别与扩充,进而实现自动化的知识迭代和更新过程。模块输入最新日志,输出更新后的知识库。
7)将更新后的知识库作为参数传给业务识别模块,然后进行新一轮的人机对话。这就是一个完整的反馈优化的闭环。
本实施例中,在后台以分级的形式录入基础问答知识库BaseLib。知识库可以是XML或者是EXCEL类型文件。知识库中知识的表示形式包括两部分:按层级划分场景的标准问题库FAQ,以及按照实体关系相互连接而成的实体网络或是知识图谱EntNet。实体网络由实体节点和有向连接线构成。EntNet和FAQ的关系是FAQ包含了EntNet中的任意实体所涉及到的主要常见问句。比如EntNet中包含“中国银行”这个节点,FAQ就必须覆盖“中国银行在哪里”“中行信用卡如何办理”等相关问句。
如图2所示,业务识别模块M1的具体实现的步骤是:8)、获取输入参数,业务识别模块M1的输入参数是知识库和用户语句,知识库是作为默认参数传入的,用户语句通过语音识别模块和文本预处理之后传入。
9)将传入文本转化为嵌入向量,语句嵌入向量doc2vec有两种实现策略:第一种策略是首先计算语句中各个词汇的词向量,将词向量直接加和作为语句向量;第二种策略是在分词词汇的基础上增加语句的id作为增补词汇,一同参与神经网络训练得到id的向量表示。本实施例选用第二种向量化策略。
10)Text-CNN分类模型使用带标签的数据集进行训练,数据集来源于前期人工泛化的业务同义句样本以及公开的在线通用语料库。经过训练后的CNN模型能够以比较高的精度区分是否为业务问题。
业务识别模块判断用户语句是否属于业务范围,得到语句是否存在于知识库中的标签Label1,Label1=True代表用户语句存在于机器人已有的知识库中,Label1=False代表用户语句未存在于机器人已有的知识库中。
针对Label1=True的用户语句,执行业务匹配模块M2。
如图3所示,业务匹配模块M2的设计主要分为用户端和服务端,用户端主要包括一个语句向量化的模块和一个对答案排序的模块。服务端的功能主要是提供词向量库和词汇IDF库,以及知识库中标准问句FAQ的向量库。
最基础的部分是词向量库和IDF库,这两部分来源于大规模语料库的统计和神经网络的训练,其中词向量库也可以使用预训练的在线向量库。基于这两个基础库,将知识库作为参数FAQ集合传入服务端,服务端就能够经过计算产生出标准问句库的向量表示。
用户语句传入用户端后,分词工具对其进行分词得到词列表,然后通过词向量*词IDF加和得到词句向量,将语句向量逐一比对知识库中的向量,可以匹配出相似度topN的标准问题,然后将问题排序返回,同时返回对应答案。
针对Label1=False的用户语句,执行反问模块M3。
如图4所示,反问模块M3是让机器人从和人的对话中去学习新知识,针对知识库中知识的表示形式,用户的问题不在知识库中有3种情况:不包含某实体,不包含某短语、不包含整句句意。根据这三种情况设置反问策略中包含的项目为未登录实体、未登录短语和未登录整句。反问策略中的解析及生成反问问句的策略为:使用基于词典和HMM模型的未登录实体识别模型解析未登录实体,根据识别出的未登录实体生成反问问句;使用短语词典和pyLTP句法依存分析工具包解析未登录短语,根据识别出的未登录短语生成反问问句;直接读取未登录整句并直接反问整句。
根据预设的反问策略,对反问策略中包含的所有项目IterN依次进行反问,将对话记录全部记入本条日志。反问过程为:
11)、采用预设的反问策略解析用户语句,再根据反问策略生成反问语句,将反问语句作为输出返回给用户,将反问语句记录到本条日志中;
12)、接受用户的反问回复,判断是否是业务问题,得到Label2,Label2=True代表用户的反问回复存在于机器人已有的知识库中,Label2=False代表用户的反问回复未存在于机器人已有的知识库中,如果Label2=True,则关闭反问进程,结束本条日志,将反问回复记入下一条日志,转入步骤S02;
13)、如果Label2=False,则判断是否已遍历反问策略中包含的所有项目,如果是则关闭反问进程,结束本条日志,否则继续下一项目的反问。
下面以“木星有多大”这句话为例说明反问模块实现的具体过程,首先这句话存在实体:木星;短语:木星—多大,木星与多大之间存在依存关系;整句:木星有多大。针对该包含反问策略3个项目的用户语句进行反问的过程为:
14)首先使用词性标注、实体识别和依存分析识别用户问句中的实体,例如“木星有多大”的“木星”、“木星-多大”。然后判断该实体是否存在于EntNet,“是”的话进行下一步。“否”的话向用户反问实体关系“什么是木星”,接收用户的回答后首先使用M1判断是否是业务问题,如果是,关掉反问进程,保存日志,返回到M1模块。如果不是,使用DNN模型抽取用户回答语句中的父级关系实体,例如“木星是太阳系的一颗行星”中的“行星”,将该父节点实体比对EntNet,如果包含该实体,增加该层子节点“木星”,否则继续反问实体关系,直到多级父节点在EntNet中存在为止。结束反问进程。
15)如果EntNet中已经包含了此实体,那么进行第二步判别:首先加载预先统计的FAQ中的依存关系,然后判断用户问句的依存关系是否被包含在内,是的话进行下一步,否则反问用户。例如FAQ中与“木星”有关的问句只有“木星上有水吗”,那么“木星-多大”就是新的依存表达。据此反问用户“什么叫‘木星多大’”,用户会更加清晰地复述问题,获取用户回复,首先判断是否是业务问题,是的话保存日志,返回M1。否则放到日志条目的“新增FAQ”列。结束反问。
16)如果EntNet包含用户问句的实体,同时FAQ包含依存关系,那么直接整句反问“‘木星有多大’是什么意思”,用户的回答与步骤15处理相同。
前边几个模块的处理过程和结果都会记录到日志当中,将日志传到后台后,后台会同步运行日志学习模块M4,如果说M3的主要功能是发现新知识点,那么M4的主要功能可以总结为拓展新知识面。
如图5所示,日志学习模块M4的具体实现的步骤为:
17)将对话日志实时输入到M4模块中,首先统计识别到的知识库中的标准问句的频次,高于预设阈值的高频问句输出到采编平台进行人工复核。
18)逐条处理新增日志,获取新增日志的Label1,Label1=True表示用户语句被成功识别,问句在问题库FAQ中。有时预采编的答案不准确,为了能够使答案逐步优化,对日志下文(下一条)中的用户语句进行情感识别。情感识别采用带有Attention机制的Cov-LSTM二分类模型,如果识别到Negative(消极)情感,表示后文是对前文的负面评价,例如“你好笨”“回答错了”等等。如果情感是Positive(积极),继续处理下一条日志。
19)如果是Negative,将知识库中本条问题最高答案的置信度AnswerBel进行更新:AnswerBel1=0.5+0.5(AnswerBel*factor),0<factor<1,factor应尽量接近1,AnswerBel代表原来的本条问题最高答案的置信度,AnswerBel1代表更新后的本条问题最高答案的置信度,factor为更新因数。
20)知识库中的候选答案不可能无限量地增加,这样长此以往知识库会变得杂乱臃肿、不堪重负,因此这里需要设定一条候选答案数量的阈值MaxAnswerNum,如果FAQ中本条问题的AnswerNum>MaxAnswerNum,跳到下一条日志,AnswerNum代表该新增日志在原知识库中的答案数量,MaxAnswerNum代表增加候选答案数量的阈值。
21)如果AnswerNum不大于MaxAnswerNum,将问句文本作为参数从百度、维基、百科全书等在线资源网站搜索相关信息,利用爬虫工具爬取搜索得到的前MaxAnswerNum个结果,对第一个结果使用DNN模型进行文档摘要提取,然后计算检索得到的摘要和原答案的相似度,如果相似度低于阈值NewAnswerSim,将其加入答案库,新答案的置信度设置为0.5+0.25*factor,丢弃其他检索结果,否则用同样的方法处理下一条检索结果。
22)前几步处理的是Label1=True的情形,如果Label1=False,首先将日志条目中记录的新增的多级实体子节点增加到EntNet中,将日志中“新增FAQ”一列的内容添加到知识库的常用问句集FAQ中。然后使用步骤21中的检索-爬取-摘要-置信度方法,得到对应的候选答案。
23)对新增的实体节点,比如“木星”,将其作为关键字进行在线信息检索,截取前N条与之相关的知识语句或段落,使用摘要提取的DNN模型,抽取段落的摘要作为与新实体相关的问句添加到FAQ集合中,问句的答案直接填入摘要来源的知识段落。例如“木星”检索的结果包含语句“木星的质量是太阳系其他行星质量总和的2.5倍,由于它的质量是是如此巨大,因此太阳系的质心落在太阳的表面之外,距离太阳中心1.068太阳半径。”,这句话可以被抽取成“木星的质量”,我们就将“木星的质量”加入到FAQ中作为新的条目,然后将原始语句加入到对应的AnswerSet中。
24)除了通过检索-摘要的实时方法自动扩充新知识点以外,本发明的日志学习模块还包括了延时的对话式采编方法。在采编模式下可以使用语音方便地对机器人的知识库进行较为可信的扩充和更新。
采编模式的具体过程为:
25)赋予机器人采编对话指令,打开采编对话模式。将日志内容传入到采编模块中,从前向后遍历。如果条目中的Label1=False或是Label1=True并且MaxAnswerBel<1,将日志中的用户问句转化为语音返回给采编人员。
26)采编人员听取日志记录中未识别的用户语句,然后回复给机器人相应的标准答案。模块将标准答案的语音转化为文本,将本条用户问句和采编人员回复的文本加入到知识库中作为新的FAQ条目,如果已经包含此问句则只需要增加采编人员回复,将采编回复得到的答案置信度AnswerBel设置为1。
27)以上步骤全部是自动化操作,不需要人力干预。利用这个完整反馈的闭环,对话系统后台的知识库覆盖面就会越来越广,进而最大程度的满足用户需求。
本发明的应用场景包括但不限于问答系统优化、知识库采编、自然语言标注、智能音箱、对话机器人等人工智能业务或产品。本说明书详细给出了相关产品中的知识系统自动化采集和扩充的实现步骤流程,这些步骤流程仅仅作为示例用以说明本发明的思想、原理和方法,本领域技术人员在参考此说明书时应能想到与本发明具有类似原理和方法的其他变型方案。说明书所示案例仅为展示本发明的优势和长处,并不用以限制本发明,凡是与本发明具有类似原理和方法的任何修正方案,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于日志学习的对话系统自动优化方法,其特征在于:包括以下步骤:S01)、语音识别模块识别用户语句,将其作为对话系统的输入;S02)、业务识别模块判断用户语句是否属于业务范围,得到语句是否存在于知识库中的标签Label1,Label1=True代表用户语句存在于机器人已有的知识库中,Label1=False代表用户语句未存在于机器人已有的知识库中;S03)、Label1=True时,业务匹配模块将用户语句与知识库中具体的条目进行匹配,将问题的所有答案按照置信度排序作为输出返回给用户;S04)、Label1=False时,反问模块开启反问进程,从对用户的反问中学习到新的知识;S05)、步骤S02、S03、S04对用户语句进行处理的结果都被实时记录到对话系统的日志文件中,日志学习模块对日志文件进行频次分析和新知识识别与扩充,实现自动化的知识迭代和更新,输入最新日志,输出更新后的知识库;S06)、将更新后的知识库作为参数传给业务识别模块,进行新一轮的人机对话;
所述知识库包括按层级划分场景的标准知识库FAQ以及按照实体关系相互连接而成的实体网络EntNet,实体网络EntNet由实体节点和有向连接线构成,FAQ包含了EntNet中的任意实体所涉及到的主要常见问句;
反问进程的具体过程为:S41)、根据预设的反问策略,对反问策略中包含的所有项目IterN依次进行步骤S42到步骤S43,将对话记录全部记入本条日志;S42)、采用预设的反问策略解析用户语句,再根据反问策略生成反问语句,将反问语句作为输出返回给用户,将反问语句记录到本条日志中;S43)、接受用户的反问回复,判断是否是业务问题,得到Label2,Label2=True代表用户的反问回复存在于机器人已有的知识库中,Label2=False代表用户的反问回复未存在于机器人已有的知识库中,如果Label2=True,则关闭反问进程,结束本条日志,将反问回复记入下一条日志,转入步骤S02;S44)、如果Label2=False,则判断是否已遍历反问策略中包含的所有项目,如果是则关闭反问进程,结束本条日志,否则继续下一项目的反问。
2.根据权利要求1所述的基于日志学习的对话系统自动优化方法,其特征在于:日志学习模块对最新输入的日志进行学习从而获取更新后的知识库的过程为:S51)、统计识别到的已有知识库中的标准问句的频次,高于预设阈值的高频问句输出到采编平台进行人工复核;S52)、逐条处理新增日志,获取新增日志的Label1,如果Label1=True,对该新增日志下一条的用户语句进行情感识别,如果情感倾向是Positive,则处理下一条新增日志;如果情感倾向是Negative,则更新最高置信度候选答案的置信程度AnswerBel,并增加新的候选答案条目;S53)、如果新增日志的Label1=False,首先将日志条目中的用户语句加入到知识库的问句库中,然后获取用户语句对应的候选答案;反问记录的问答对也作为新的知识放入到知识库中。
3.根据权利要求2所述的基于日志学习的对话系统自动优化方法,其特征在于:步骤S52中,增加新的候选答案前,先比较AnswerNum与MaxAnswerNum的关系,AnswerNum代表该新增日志在原知识库中的答案数量,MaxAnswerNum代表增加候选答案数量的阈值,如果AnswerNum大于MaxAnswerNum,则不增加候选答案,处理下一条日志,如果AnswerNum不大于MaxAnswerNum,则获取候选答案。
4.根据权利要求2所述的基于日志学习的对话系统自动优化方法,其特征在于:步骤S52、S53中,通过检索-爬取-摘要-置信度的方法获取候选答案,将新增日志中的实体作为参数从在线资源网站搜索相关信息,利用爬虫工具爬取搜索得到的前MaxAnswerNum个结果,对第一个结果使用DNN模型进行文档摘要提取,然后计算检索得到的摘要和原答案的相似度,如果相似度低于阈值NewAnswerSim,将其加入答案库,新答案的置信度设置为0.5+0.25*factor,factor 为更新因数,0<factor<1,丢弃其他检索结果,如果相似度不低于阈值NewAnswerSim,用同样的方法处理下一条检索结果。
5.根据权利要求2所述的基于日志学习的对话系统自动优化方法,其特征在于:步骤S52、S53中,通过延时的对话式采编方法获取候选答案,具体过程为:赋予机器人采编对话指令,打开采编对话模式,将日志内容传入到采编模块中,从前向后遍历,如果条目中的Label1=False或是Label1=True并且MaxAnswerBel<1,MaxAnswerBel代表AnswerBel的最大值,将日志中的用户问句转化为语音返回给采编人员,采编人员听取日志记录中未识别的用户语句,然后回复给机器人相应的标准答案,模块将标准答案的语音转化为文本,将本条用户问句和采编人员回复的文本加入到知识库中,如果已经包含此问句则只需要增加采编人员回复,将采编回复得到的答案置信度AnswerBel设置为1。
6.根据权利要求2所述的基于日志学习的对话系统自动优化方法,其特征在于:步骤S52中,根据公式AnswerBel1=0.5+0.5(AnswerBel*factor),0<factor<1更新最高置信度候选答案的置信程度,AnswerBel代表原来的本条问题最高答案的置信度,AnswerBel1代表更新后的本条问题最高答案的置信度,factor为更新因数。
7.根据权利要求1所述的基于日志学习的对话系统自动优化方法,其特征在于:反问策略中包含的项目IterN包括未登录实体、未登录短语和未登录整句,解析用户语句并生成反问语句时,使用基于词典和HMM模型的未登录实体识别模型解析未登录实体,根据识别出的未登录实体生成反问问句;使用短语词典和pyLTP句法依存分析工具包解析未登录短语,根据识别出的未登录短语生成反问问句;直接读取未登录整句并直接反问整句。
8.根据权利要求7所述的基于日志学习的对话系统自动优化方法,其特征在于:反问进程的具体步骤为:S45)、使用词性标注、实体识别和依存分析识别用户问句中的实体,然后判断该实体是否存在于实体网络EntNet,如果是则执行步骤S46,如果否的话,则根据识别出的实体生成反问问句,接收用户的回答后判断是否是业务问题,如果是,关掉反问进程,保存日志,返回到业务判断模块,如果否,则抽取用户回复语句中的父级关系实体,将该父级关系实体比对EntNet,如果包含该实体,增加该级子节点,否则继续反问实体关系,直到多级父节点在EntNet中存在为止,结束反问进程;S46)、如果EntNet中已经包含了识别出的实体,首先加载原FAQ中的依存关系,然后判断用户问句的依存关系是否被包含在内,是的话进行步骤S47,否则反问用户该依存关系是什么,获取用户回复并判断是否是业务问题,是的话保存日志,返回业务识别模块,否则将新的依存关系放到日志条目的新增FAQ列,结束反问;S47)、如果EntNet包含用户问句的实体,同时FAQ包含依存关系,那么直接整句反问,获取用户回复并判断是否是业务问题,是的话保存日志,返回业务识别模块,否则将整句反问放到日志条目的新增FAQ列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811281632.4A CN109460459B (zh) | 2018-10-31 | 2018-10-31 | 一种基于日志学习的对话系统自动优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811281632.4A CN109460459B (zh) | 2018-10-31 | 2018-10-31 | 一种基于日志学习的对话系统自动优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109460459A CN109460459A (zh) | 2019-03-12 |
CN109460459B true CN109460459B (zh) | 2020-09-22 |
Family
ID=65608958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811281632.4A Active CN109460459B (zh) | 2018-10-31 | 2018-10-31 | 一种基于日志学习的对话系统自动优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109460459B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110059170B (zh) * | 2019-03-21 | 2022-04-26 | 北京邮电大学 | 基于用户交互的多轮对话在线训练方法及系统 |
CN110378485B (zh) * | 2019-06-03 | 2021-05-11 | 广东幽澜机器人科技有限公司 | 一种机器人自学习新业务知识方法及装置 |
CN110347803A (zh) * | 2019-07-18 | 2019-10-18 | 北京百度网讯科技有限公司 | 获得阅读理解素材的方法和装置、电子设备、可读介质 |
CN113051402A (zh) * | 2019-12-28 | 2021-06-29 | 广东华风海洋信息系统服务有限公司 | 一种基于知识图谱的渔业知识推荐方法 |
CN111813911A (zh) * | 2020-06-30 | 2020-10-23 | 神思电子技术股份有限公司 | 一种基于用户监督反馈的知识自动采集与更新系统及其工作方法 |
CN112115244B (zh) * | 2020-08-21 | 2024-05-03 | 深圳市欢太科技有限公司 | 对话交互方法、装置、存储介质及电子设备 |
CN113312465A (zh) * | 2021-06-04 | 2021-08-27 | 广州天辰信息科技有限公司 | —种基于大数据分析的智能问答机器人装置及方法 |
CN114638231B (zh) * | 2022-03-21 | 2023-07-28 | 马上消费金融股份有限公司 | 实体链接方法、装置及电子设备 |
CN116932726B (zh) * | 2023-08-04 | 2024-05-10 | 重庆邮电大学 | 一种基于可控多空间特征解耦的开放域对话生成方法 |
CN116860950B (zh) * | 2023-09-04 | 2023-11-14 | 北京市电通电话技术开发有限公司 | 一种术语对话机器人语料更新方法及系统 |
CN118535715B (zh) * | 2024-07-26 | 2024-10-29 | 四川声通玄武信息科技有限公司 | 一种基于树状结构知识库的自动回复方法、设备及存储介质 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9805718B2 (en) * | 2013-04-19 | 2017-10-31 | Sri Internaitonal | Clarifying natural language input using targeted questions |
CN104699708B (zh) * | 2013-12-09 | 2018-01-30 | 中国移动通信集团北京有限公司 | 一种客服机器人的自学习方法及装置 |
CN104050256B (zh) * | 2014-06-13 | 2017-05-24 | 西安蒜泥电子科技有限责任公司 | 基于主动学习的问答方法及采用该方法的问答系统 |
CN104679910A (zh) * | 2015-03-25 | 2015-06-03 | 北京智齿博创科技有限公司 | 智能应答方法及系统 |
CN104809197A (zh) * | 2015-04-24 | 2015-07-29 | 同程网络科技股份有限公司 | 基于智能机器人的在线问答方法 |
CN106649394A (zh) * | 2015-11-03 | 2017-05-10 | 中兴通讯股份有限公司 | 融合知识库处理方法和装置,以及知识库管理系统 |
US9727554B2 (en) * | 2015-11-24 | 2017-08-08 | International Business Machines Corporation | Knowledge-based editor with natural language interface |
CN105591882B (zh) * | 2015-12-10 | 2018-03-06 | 北京中科汇联科技股份有限公司 | 一种智能机器人与人混合客服的方法及系统 |
CN105912697B (zh) * | 2016-04-25 | 2019-08-27 | 北京光年无限科技有限公司 | 一种对话系统知识库的优化方法及装置 |
CN107038196A (zh) * | 2016-11-28 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种客服问题回答处理方法及装置 |
CN113961690A (zh) * | 2016-12-05 | 2022-01-21 | 阿里巴巴集团控股有限公司 | 一种人机对话装置及其实现人机对话的方法 |
-
2018
- 2018-10-31 CN CN201811281632.4A patent/CN109460459B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109460459A (zh) | 2019-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109460459B (zh) | 一种基于日志学习的对话系统自动优化方法 | |
CN111026842B (zh) | 自然语言处理方法、自然语言处理装置及智能问答系统 | |
CN108897857B (zh) | 面向领域的中文文本主题句生成方法 | |
CN108804521B (zh) | 一种基于知识图谱的问答方法及农业百科问答系统 | |
CN111708869B (zh) | 人机对话的处理方法及装置 | |
CN111639171A (zh) | 一种知识图谱问答方法及装置 | |
CN110727779A (zh) | 基于多模型融合的问答方法及系统 | |
CN108932342A (zh) | 一种语义匹配的方法、模型的学习方法及服务器 | |
CN108595696A (zh) | 一种基于云平台的人机交互智能问答方法和系统 | |
CN112989005A (zh) | 一种基于分阶段查询的知识图谱常识问答方法及系统 | |
CN108304372A (zh) | 实体提取方法和装置、计算机设备和存储介质 | |
CN110910283A (zh) | 生成法律文书的方法、装置、设备和存储介质 | |
CN109829052A (zh) | 一种基于人机交互的开放式对话方法和系统 | |
CN113505209A (zh) | 一种面向汽车领域的智能问答系统 | |
CN112541337B (zh) | 一种基于递归神经网络语言模型的文档模板自动生成方法及系统 | |
CN113821605B (zh) | 一种事件抽取方法 | |
CN113869040B (zh) | 一种电网调度的语音识别方法 | |
KR20200105057A (ko) | 질의 문장 분석을 위한 질의 자질 추출 장치 및 방법 | |
CN114676255A (zh) | 文本处理方法、装置、设备、存储介质及计算机程序产品 | |
CN113392305A (zh) | 关键词的提取方法及装置、电子设备、计算机存储介质 | |
CN113988071A (zh) | 一种基于金融知识图谱的智能对话方法及装置、电子设备 | |
CN114372454B (zh) | 文本信息抽取方法、模型训练方法、装置及存储介质 | |
CN118964641A (zh) | 为企业构建ai知识库模型的方法及系统 | |
CN116991982B (zh) | 基于人工智能的交互式对话方法、装置、设备及存储介质 | |
Karpagam et al. | Deep learning approaches for answer selection in question answering system for conversation agents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |