CN111259130B - 用于在对话中提供答复语句的方法及装置 - Google Patents

用于在对话中提供答复语句的方法及装置 Download PDF

Info

Publication number
CN111259130B
CN111259130B CN202010092082.2A CN202010092082A CN111259130B CN 111259130 B CN111259130 B CN 111259130B CN 202010092082 A CN202010092082 A CN 202010092082A CN 111259130 B CN111259130 B CN 111259130B
Authority
CN
China
Prior art keywords
vector
sentence
dialogue
statement
term
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
Application number
CN202010092082.2A
Other languages
English (en)
Other versions
CN111259130A (zh
Inventor
王子豪
崔恒斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202010092082.2A priority Critical patent/CN111259130B/zh
Publication of CN111259130A publication Critical patent/CN111259130A/zh
Application granted granted Critical
Publication of CN111259130B publication Critical patent/CN111259130B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

本公开提供了用于在对话中提供答复语句的方法及装置,在该方法中,获取包括用户的当前对话语句和上下文对话语句的查询语句,以及从对话日志中搜索出的回答语料,并对查询语句和回答语料分别进行向量化处理以得到查询语句向量矩阵和回答语料向量矩阵,将查询语句向量和回答语料向量提供给机器阅读理解模型,以从回答语料中确定当前对话语句的答复语句的起始词语位置和结束词语位置,基于所确定的起始词语位置和结束词语位置,从回答语料中获取答复语句。

Description

用于在对话中提供答复语句的方法及装置
技术领域
本公开涉及机器学习技术领域,具体地,涉及用于在对话中提供答复语句的方法及装置。
背景技术
随着机器学习技术的不断发展,智能对话系统已被广泛应用。通过智能对话系统可以实现人机对话,用户向智能对话系统提问,智能对话系统回答用户的问题。
目前的智能对话系统中会预先建立用于提供答案的知识库以及以“问题-答案”对的形式存储的知识库索引。智能对话系统在接收到用户的问题后,从知识库索引中匹配问题,并将匹配的问题所对应的答案输出给用户。
发明内容
鉴于上述,本公开提供了一种用于在对话中提供答复语句的方法及装置。在该方法中,获取包括用户的当前对话语句和上下文对话语句的查询语句,以及从对话日志中搜索出的回答语料,并对查询语句和回答语料分别进行向量化处理以得到查询语句向量矩阵和回答语料向量矩阵,将查询语句向量和回答语料向量提供给机器阅读理解模型,以从回答语料中确定当前对话语句的答复语句的起始词语位置和结束词语位置,基于所确定的起始词语位置和结束词语位置,从回答语料中获取答复语句。将当前对话语句与上下文对话语句结合进行机器阅读理解可以更准确地理解当前对话语句的意思,进而可以更准确地为用户提供当前对话语句的答复语句,提升用户体验。
根据本公开的一个方面,提供了一种用于在对话中提供答复语句的方法,包括:获取用户的当前对话语句以及上下文对话语句,以作为查询语句;从对话日志中搜索与所述查询语句匹配的至少一条对话记录,以作为回答语料,每条对话记录包括该次对话的完整对话内容;对所述查询语句和所述回答语料分别进行向量化处理,以得到查询语句向量矩阵和回答语料向量矩阵,其中,所述查询语句向量矩阵和所述回答语料向量矩阵中的各个词语所对应的向量至少包括该词语的词向量和上下文向量;将所述查询语句向量矩阵和所述回答语料向量矩阵提供给机器阅读理解模型,以从所述回答语料中确定所述当前对话语句的答复语句的起始词语位置和结束词语位置;基于所确定的起始词语位置和结束词语位置,从所述回答语料中获取所述答复语句;以及将所获取的答复语句提供给所述用户。
可选地,在上述方面的一个示例中,所述上下文对话语句包括设定轮对话所涉及的上下文语句。
可选地,在上述方面的一个示例中,所述当前对话语句以及所述上下文对话语句是经过无用信息去除后的对话语句,和/或所述回答语料是经过无用信息去除后的回答语料。
可选地,在上述方面的一个示例中,获取用户的当前对话语句以及上下文对话语句,以作为查询语句包括:获取用户的当前对话语句以及上下文对话语句;以及基于对话语句的时间发生顺序,对所获取的当前对话语句以及上下文对话语句进行拼接,以生成所述查询语句。
可选地,在上述方面的一个示例中,各个词语所对应的向量包括经过拼接后的该词语的词向量和上下文向量。
可选地,在上述方面的一个示例中,所述回答语料包括经过拼接的至少一条对话记录。
可选地,在上述方面的一个示例中,所述查询语句向量矩阵和所述回答语料向量矩阵中的每个词语的词向量是通过查询词向量表而获得的。
可选地,在上述方面的一个示例中,所述词向量表是使用下述向量化模型中的一种向量化模型得到的:Word2vec模型;cw2vec模型;GloVe模型;以及Fasttext模型。
可选地,在上述方面的一个示例中,所述查询语句和所述回答语料中的每个词语的上下文向量是使用下述向量化模型中的一种向量化模型得到的:BERT模型;ELMo模型;以及OpenAI GPT模型。
可选地,在上述方面的一个示例中,基于所确定的起始词语位置和结束词语位置,从所述回答语料中获取所述答复语句包括:在所确定的起始词语位置和/或结束词语位置包括多个位置时,基于起始词语位置与结束词语位置的任意组合,从所述回答语料中获取答复语句。
可选地,在上述方面的一个示例中,基于起始词语位置与结束词语位置的任意组合,从所述回答语料中获取答复语句之后,还包括:利用评分系统对所获取的各个答复语句进行评分,将评分最高的答复语句确定为提供给所述用户的答复语句。
可选地,在上述方面的一个示例中,每个词语还具有注意力向量,所述方法还包括:使用注意力模型,对所述查询语句和所述回答语料进行向量化处理,以得到所述查询语句和所述回答语料中的各个词语的注意力向量,其中,所述查询语句向量矩阵和所述回答语料向量矩阵中的各个词语所对应的向量包括该词语的词向量、上下文向量和注意力向量。
根据本公开的另一方面,还提供一种用于在对话中提供答复语句的装置,包括:查询语句获取单元获取用户的当前对话语句以及上下文对话语句,以作为查询语句;对话记录搜索单元从对话日志中搜索与所述查询语句匹配的至少一条对话记录,以作为回答语料,每条对话记录包括该次对话的完整对话内容;向量化处理单元对所述查询语句和所述回答语料分别进行向量化处理,以得到查询语句向量矩阵和回答语料向量矩阵,其中,所述查询语句向量矩阵和所述回答语料向量矩阵中的各个词语所对应的向量至少包括该词语的词向量和上下文向量;机器阅读理解单元将所述查询语句向量矩阵和所述回答语料向量矩阵提供给机器阅读理解模型,以从所述回答语料中确定所述当前对话语句的答复语句的起始词语位置和结束词语位置;答复语句获取单元基于所确定的起始词语位置和结束词语位置,从所述回答语料中获取所述答复语句;以及答复语句提供单元将所获取的答复语句提供给所述用户。
可选地,在上述方面的一个示例中,所述上下文对话语句包括设定轮对话所涉及的上下文语句。
可选地,在上述方面的一个示例中,还包括:无用信息去除单元从所述当前对话语句以及所述上下文对话语句中和/或从所述回答语料中去除无用信息。
可选地,在上述方面的一个示例中,其中,所述查询语句获取单元包括:对话语句获取模块,获取用户的当前对话语句以及上下文对话语句;以及查询语句生成模块,基于对话语句的时间发生顺序,对所获取的当前对话语句以及上下文对话语句进行拼接,以生成所述查询语句。
可选地,在上述方面的一个示例中,各个词语所对应的向量包括经过拼接后的该词语的词向量和上下文向量。
可选地,在上述方面的一个示例中,所述回答语料包括经过拼接的至少一条对话记录。
可选地,在上述方面的一个示例中,在所确定的起始词语位置和/或结束词语位置包括多个位置时,所述答复语句获取单元基于起始词语位置与结束词语位置的任意组合,从所述回答语料中获取答复语句。
可选地,在上述方面的一个示例中,所述答复语句获取单元进一步:利用评分系统对所获取的各个答复语句进行评分,并将评分最高的答复语句确定为提供给所述用户的答复语句。
可选地,在上述方面的一个示例中,每个词语还具有注意力向量,所述向量化处理单元进一步:使用注意力模型,对所述查询语句和所述回答语料进行向量化处理,以得到所述查询语句和所述回答语料中的各个词语的注意力向量,其中,所述查询语句向量矩阵和所述回答语料向量矩阵中的各个词语所对应的向量至少包括该词语的词向量、上下文向量和注意力向量。
根据本公开的另一方面,还提供一种计算设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的用于在对话中提供答复语句的方法。
根据本公开的另一方面,还提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的用于在对话中提供答复语句的方法。
附图说明
通过参照下面的附图,可以实现对于本公开内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开的实施例,但并不构成对本公开的实施例的限制。在附图中:
图1示出了知识库索引的一个示例的示意图;
图2示出了本公开的实施例的用于在对话中提供答复语句的方法的流程图;
图3示出了本公开的实施例的人机对话界面的一个示例的示意图;
图4示出了本公开的实施例的人机对话界面的另一个示例的示意图;
图5示出了本公开的实施例的对当前对话语句和上下文对话语句进行拼接的一个示例的示意图;
图6示出了本公开的实施例的对话日志的一个示例的示意图;
图7示出了本公开的实施例的对搜索出的至少两条对话记录进行拼接的示例的示意图;
图8示出了本公开的实施例的使用机器阅读理解模型获取答复语句的一个示例的示意图;
图9示出了本公开的实施例的用于在对话中提供答复语句的装置的方框图;
图10示出了本公开的实施例的查询语句获取单元的一个示例的方框图;和
图11是本公开的实施例的用于在对话中提供答复语句的方法的计算设备的方框图。
具体实施方式
以下将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,并非是对权利要求书中所阐述的保护范围、适用性或者示例的限制。可以在不脱离本公开内容的保护范围的情况下,对所讨论的元素的功能和排列进行改变。各个示例可以根据需要,省略、替代或者添加各种过程或组件。另外,相对一些示例所描述的特征在其它例子中也可以进行组合。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
在本公开中,一轮对话是指包括一问一答的对话。一通对话是指从开始到结束的所有对话。一通对话可以仅包括一轮对话,也可以包括多轮对话。
智能对话系统的应用实现了人机对话,用户向机器提问,机器输出相应的答案。目前,智能对话系统已广泛应用于多个领域,例如,阿里的人工智能购物助手阿里小蜜,苹果的Siri以及微软小冰等。
智能对话系统向用户输出的答案是基于预先建立的知识库,知识库中存储有若干并且涉及多个领域的知识文本。根据该知识库还建立有“问题-答案”形式的知识库索引,知识库索引中的问题均是预先设定的,每一个问题对应有一个答案,“问题-答案”对中的答案指向知识库中的内容。
图1示出了知识库索引的一个示例的示意图。如图1所示,知识库索引中包括N个“问题-答案”对,i为大于1小于N的正整数。当用户提问“机器学习是什么”时,智能对话系统将答案N所指向的知识库中的内容输出给用户。
在人机对话过程中,智能对话系统获取用户的问题,将所获取的问题与知识库索引中的问题进行匹配,并将知识库索引中匹配成功的问题所对应的答案输出给用户。
智能对话系统是实时获取用户当前的问题,并且仅针对当前的问题来回答。然而,有的时候人机对话是多轮对话,用户当前提出的问题基于历史对话的内容,因此导致当前问题会比较简单。而这样简单的问题在不同的语境中会产生不同的意思,智能对话系统对用户当前提出的简单问题可能会理解有误,进而导致输出不匹配的答案。
例如,在人机对话过程中已发生的一轮历史对话为:问“世界上有最高的树吗?”,答“有”。用户接着提问“多高?”,此时,智能对话系统获取的用户的当前问题是“多高?”。该当前问题“多高”在不同的语境中会有不同的意思,比如吗,成年人的平均身高还是最高的树,或者是其他的对象的高等,仅凭该当前问题智能对话系统无法理解该问题的真实意思表示。智能对话系统可能将知识库索引中“成年人的平均身高是多高?”作为与该当前问题的相匹配的问题,因此智能对话系统会将答案1输出给用户,而答案1与该当前问题是不匹配的。
为了解决上述问题,本公开提供了一种用于在对话中提供答复语句的方法及装置。在该方法中,获取包括用户的当前对话语句和上下文对话语句的查询语句,以及从对话日志中搜索出的回答语料,并对查询语句和回答语料分别进行向量化处理以得到查询语句向量矩阵和回答语料向量矩阵,将查询语句向量和回答语料向量提供给机器阅读理解模型,以从回答语料中确定当前对话语句的答复语句的起始词语位置和结束词语位置,基于所确定的起始词语位置和结束词语位置,从回答语料中获取答复语句。将当前对话语句与上下文对话语句结合进行机器阅读理解可以更准确地理解当前对话语句的意思,进而可以更准确地为用户提供当前对话语句的答复语句,提升用户体验。
下面将结合附图来详细描述根据本公开实施例的用于在对话中提供答复语句的方法及装置。
图2示出了本公开的实施例的用于在对话中提供答复语句的方法的流程图。
如图2所示,在块210,获取用户的当前对话语句以及上下文对话语句,以作为查询语句。
上下文对话语句是当前对话语句之前已发生的对话中的语句,上下文对话语句与当前对话语句属于同一通对话。上下文对话语句可以包括用户发出的对话语句和/或提供给用户的答复语句。
当前对话语句是用户已发出的、且智能对话系统已接收到但还未答复的距离当前时刻最近的对话语句,当前对话语句为用户发出的一次对话语句。当前对话语句可以是一句话,也可以是连续的多句话。
在一个示例中,在智能对话系统向用户发出前一次答复语句信息之后,该用户又发出了一次对话语句,且该对话语句未被答复,则该对话语句即为当前对话语句。
以图3为例,图3示出了本公开的实施例的人机对话界面的一个示例的示意图。如图3所示,智能对话系统为机器人,在机器人向用户发出了答复语句“有”之后,该用户又发出了对话语句“多高?”,且该“多高?”的对话语句未被答复,则当前对话语句是“多高?”。当前对话语句的上下文对话语句可以包括对话语句“明天天气怎么样?”、答复语句“晴天”、对话语句“世界上有最高的树吗?”和/或答复语句“有”。
在另一个示例中,在智能对话系统向用户发出前一次答复语句之后,该用户又发出了至少两次对话语句,且该至少两次对话语句均未被答复,则可以将距离当前时间最近的一次对话语句作为当前对话语句。
以图4为例,图4示出了本公开的实施例的人机对话界面的另一个示例的示意图。如图4所示,智能对话系统为机器人,在机器人发出了答复语句“有”之后,用户发出了两次对话语句:“多高?”和“是什么树?”,且该两次对话语句均未被答复,则将“是什么树?”确定为当前对话语句。当前对话语句的上下文对话语句可以包括对话语句“明天天气怎么样?”、答复语句“晴天”、对话语句“世界上有最高的树吗?”、答复语句“有”和/或对话语句“多高?”。
在本公开的一个示例中,可以将当前对话语句所属的同一通对话中,除当前对话语句以外的所有对话语句作为上下文对话语句。
以图3为例,用户与机器人之间的一通对话包括对话语句“明天天气怎么样?”、答复语句“晴天”、对话语句“世界上有最高的树吗?”、答复语句“有”以及对话语句“多高?”,其中,对话语句“多高?”是当前对话语句,则可以将对话语句“明天天气怎么样?”、答复语句“晴天”、对话语句“世界上有最高的树吗?”以及答复语句“有”作为该当前对话语句的上下文对话语句。
在本公开的另一个示例中,上下文对话语句包括设定轮对话所涉及的上下文语句。设定轮对话与当前对话语句属于同一通对话,即从当前对话语句所属的同一通对话中选取设定轮对话作为当前对话语句的上下文对话语句。在该示例中,设定轮可以是指定的。上下文对话语句中的设定轮对话可以是连续的对话,还可以是非连续的对话。
以图3为例,若设定轮对话是1轮对话,则可以将对话语句“世界上有最高的树吗?”和答复语句“有”作为一轮对话确定为上下文对话语句。若设定轮对话是2轮对话,则可以将对话语句“明天天气怎么样?”和答复语句“晴天”作为一轮对话,对话语句“世界上有最高的树吗?”和答复语句“有”作为一轮对话确定为上下文对话语句。
通过将设定轮对话所涉及的上下文语句作为上下文对话语句,可以避免在一通对话中包括有较多轮对话的情况下,上下文对话语句包括较多的冗余对话语句而使得后续的向量化处理以及机器阅读理解处理中处理量较大的问题。将上下文对话语句所包括的对话信息量限定在一定范围内,确保了后续的向量化处理以及机器阅读理解处理的效率,进而保证智能对话系统的运行效率。
在本公开的一个示例中,当前对话语句以及上下文对话语句是经过无用信息去除后的对话语句。无用信息去除是将一句话或者一段话中无用的词语删除的处理,无用信息例如包括“的”、“吗”以及“吧”等。例如,当前对话语句为“我想请问世界上的国家总数是197吗?”,经过无用信息去除处理后的当前对话语句为“世界上的国家是197?”。
在本公开的一个示例中,获取用户的当前对话语句以及上下文对话语句,并基于对话语句的时间发生顺序,对所获取的当前对话语句以及上下文对话语句进行拼接,以生成查询语句。
在该示例中,可以将当前对话语句和上下文对话语句拼接成一个段落或多个段落,这样对应生成的查询语句包括一个段落或多个段落。
图5示出了本公开的实施例的对当前对话语句和上下文对话语句进行拼接的一个示例的示意图。待拼接的当前对话语句和上下文对话语句如图3所示,按照时间发生顺序,对话语句“明天天气怎么样?”和答复语句“晴天”作为第一轮对话,对话语句“世界上有最高的树吗?”和答复语句“有”作为第二轮对话,对话语句“多高?”是属于第三轮对话。将上述三轮对话按时间发生顺序进行拼接,所生成的查询语句如图5所示。
按照对话语句的时间发生顺序对当前对话语句以及上下文对话语句进行拼接,保证了当前对话语句与上下文对话语句之间的上下文意思表示,为针对当前对话语句进行机器阅读理解的准确性提供了保障。
在块220,从对话日志中搜索与查询语句匹配的至少一条对话记录,以作为回答语料。
在本公开中,对话日志用于记录针对不同场景的人与人之间的对话,例如,交易平台的客服与用户之间的对话。在对话日志中可以按照对话的发生时间顺序来存储对话记录。每条对话记录可以包括该次对话的完整对话内容。这里的一次对话是指一通对话。
在本公开中,回答语料用于为查询语句提供答复语句。回答语料可以是语料库中的所有语料,还可以是语料库中的部分语料。语料库中预先存储有收集到的若干语料,例如,人工客服与用户之间的对话,来自于网络和数据库的论文、新闻等文本。以图6为例,图6示出了本公开的实施例的对话记录的一个示例的示意图。如图6所示,该对话记录中包括有6条对话记录,每条对话记录包括一次完整的对话内容。
在本公开中,在对话日志中进行查询语句匹配的方式可以是关键词匹配,即将查询语句中的关键词与对话日志中的各语料分别进行匹配,在匹配度达到指定程度时则可以作为回答语料。查询语句匹配的方式还可以是语义匹配,即当查询语句与对话日志中的语料的语义相似度达到指定程度时,则可以将该语料作为回答语料。除了上述两种方式以外,查询语句匹配的方式还可以通过其他的匹配方式。
在本公开的一个示例中,当搜索到的与查询语句匹配的对话记录有至少两条时,可以对该至少两条对话记录进行拼接处理,并将拼接后的对话记录作为回答语料。其中,拼接的规则可以是指定的。例如,拼接的规则可以是按照对话的发生时间顺序进行拼接,还可以是按照搜索到的先后顺序进行拼接。
例如,在图6所示的对话日志中进行搜索,与查询语句匹配的对话记录包括第一条和第五条。将该第一条和第五条对话记录按照对话的发生时间顺序进行拼接,所生成的回答语料如图7所示。
在本公开的一个示例中,在当前对话语句和上下文对话语句未经过无用信息去除处理时,在生成回答语料后,可以对回答语料进行无用信息去除处理。在本公开的另一个示例中,当前对话语句以及上下文对话语句是经过无用信息去除后的对话语句,在生成回答语料后,进一步地,对所生成的回答语料进行无用信息去除处理。
在块230,对查询语句和回答语料分别进行向量化处理,以得到查询语句向量矩阵和回答语料向量矩阵。
在本公开中,查询语句向量矩阵用于表征整个查询语句的,查询语句向量矩阵包括查询语句中每个词语对应的向量,查询语句向量矩阵中每个词语对应的向量至少包括该词语的词向量和上下文向量。本公开中的上下文向量也可以称为语境向量。
回答语料向量矩阵用于表征整个回答语料的,回答语料向量矩阵包括该回答语料中每个词语对应的向量,回答语料向量矩阵中每个词语对应的向量至少包括该词语的词向量和上下文向量。
在本公开的一个示例中,查询语句向量矩阵和回答语料向量矩阵中的各个词语所对应的向量包括经过拼接后的该词语的词向量和上下文向量。这里的拼接可以是按维度拼接,例如,词向量为m维向量,上下文向量为n维向量,那么拼接后的向量为(m+n)维向量。
又例如,一个词语的词向量是(1,2),上下文向量是(0,-1,3),则将该词向量和上下文向量进行拼接后得到的向量为(1,2,0,-1,3)。查询语句包括三个词语,由该三个词语的词向量构成的词向量矩阵为
Figure BDA0002384024060000111
上下文向量矩阵为
Figure BDA0002384024060000112
则将该词向量矩阵和上下文向量矩阵进行拼接后得到的查询语句向量矩阵为:
Figure BDA0002384024060000113
在本公开的一个示例中,查询语句向量矩阵和回答语料向量矩阵中的每个词语的词向量是通过查询词向量表而获得的。在一个示例中,词向量表可以是使用Word2vec模型,cw2vec模型,GloVe模型以及Fasttext模型等向量化模型中的一种向量化模型得到的。下面以Word2vec模型为例进行说明。
Word2vec模型的特点是将所输入的语句中的词语向量化,然后利用词向量与词向量之间的向量距离来定量地度量词语与词语之间的关系。Word2vec模型是基于Word2vec算法,Word2vec算法属于机器学习算法,其输入是文本信息,以及其输出是词向量,即该文本信息中词语的特征向量。
首先,使用文本信息、语句等大量语料作为输入信息对Word2vec模型进行训练,然后,可以得到对应的每个词语的词向量,例如N维向量。将各个词语的词向量组合即可以得到词向量表。例如,一个词语为输入信息,所得到的该词语的词向量为{a1,a2,……,aN},其中,词向量中的每个元素a1、a2、……、aN的取值为[-1.0,1.0]之间的浮点数,其取值是通过word2vec算法来训练得出。这里,词向量的维度N可以预先设定,例如,通常设置为200维。将包括若干词语的语句作为输入信息,在如上得到各个词语的词向量后,将所得到的词向量组成词向量表。
在本公开的一个示例中,查询语句和回答语料中的每个词语的上下文向量可以是使用BERT(Bidirectional Encoder Representation from Transformers)模型、ELMo模型以及OpenAI GPT模型等向量化模型中的一种向量化模型得到的。下面以BERT模型为例进行说明。
BERT模型采用transformer encoder部分,BERT模型可以包括多个编码层(即encoder layer),每一个编码层可以用于特征提取。
将待进行向量化的语句输入至BERT模型,BERT模型可以利用wordpiece将该语句进行分词处理得到BPE(Byte-Pair Encoding,双字节编码)字符,这样该语句中的每个词语都可以用BPE字符来表示。
若一个词语用N个BPE字符来表示,BERT模型有L个编码层,每一编码层可以分别对各个BPE字符进行处理,得到隐向量
Figure BDA0002384024060000121
其中,1≤l≤L,1≤t≤N。例如,第一个编码层分别对N个BPE字符进行处理得到N个隐向量包括:
Figure BDA0002384024060000122
以及
Figure BDA0002384024060000123
第一个BPE字符可以被L个编码层分别进行处理所得到的L个隐向量包括:
Figure BDA0002384024060000124
以及
Figure BDA0002384024060000125
再针对每一个编码层,每一个编码层将针对N个BPE字符的隐向量进行平均计算,即第i个编码层按照下式对N个BPE字符的隐向量进行平均计算:
Figure BDA0002384024060000126
其中,
Figure BDA0002384024060000127
表示第i个编码层对第i个BPE字符进行处理后的隐向量。
在每一个编码层通过上述计算得到N个BPE字符的隐向量的平均值之后,然后将每一个编码层的平均值与该编码层的权重相乘,再将所有编码层的乘积相加,得到该词语的上下文向量。
综上,BERT模型输出的每个词语的上下文向量为:
Figure BDA0002384024060000131
其中,αl表示第l个编码层的权重,W表示词语的上下文向量。
在块240,将查询语句向量矩阵和回答语料向量矩阵提供给机器阅读理解模型,以从回答语料中确定当前对话语句的答复语句的起始词语位置和结束词语位置。
在本公开中,机器阅读理解是机器根据预先指定的对话日志和查询语句通过阅读该对话日志并给出该查询语句对应的答案。其中,查询语句对应的答案是能够在对话日志中找到的对话语句,这里的对话语句还可以理解为连续的多个词语。机器阅读理解的形式包括人工合成问答、Cloze-style queries以及选择题等。
机器阅读理解模型用于执行机器阅读理解任务,机器阅读理解模型可以分为一维匹配模型,二维匹配模型以及推理模型等。例如,一维匹配模型可以包括Attention SumReader(简称AS Reader),Gated-Attention Reader(简称GA Reader),StanfordAttentive Reader(简称Stanford AR),AMRNN以及Attentive Reader等。二维匹配模型可以包括Consensus Attention模型(简称CA Reader),Attention-over-Attention模型(简称AOA Reader)以及Match-LSTM模型等。推理模型可以包括记忆网络(Memory Networks),Iterative AIternating神经网络模型(简称IA Reader)等,另外,AMRNN以及GA Reader也属于推理模型。除了上述三种类型的模型以外,机器阅读理解模型还可以包括EpiReader以及动态实体表示模型(Dynamic Entity Representation,简称DER模型)等。
在本公开中,将回答语料向量矩阵和查询语句向量矩阵作为输入提供给机器阅读理解模型,机器阅读理解模型对所输入的向量矩阵进行特征提取等处理,可以得到经过处理后的每个词语对应的向量。机器阅读理解模型可以输出回答语料中每个词语对应的向量,并将查询语句中每个词语对应的向量整合成为一个向量作为输出,该向量可以表示出该查询语句。这里整合的方式可以是将每个词语对应的向量进行加权,还可以将选取最后的一个词语对应的向量作为输出。
针对回答语料中的每个词语,可以分别计算出该词语作为起始词语位置的概率和作为结束词语位置的概率。在一个示例中,按照以下公式计算出每个词语作为起始词语位置的概率:
Figure BDA0002384024060000141
其中,
Figure BDA0002384024060000142
表示回答语料中第i个词语作为起始词语位置的概率,uQ表示查询语句对应的矩阵,
Figure BDA0002384024060000143
表示回答语料中第i个词语对应的矩阵,Ws表示用于计算作为起始词语位置的概率的参数矩阵。
在另一个示例中,按照以下公式计算出每个词语作为结束词语位置的概率:
Figure BDA0002384024060000144
其中,
Figure BDA0002384024060000145
表示回答语料中第i个词语作为结束词语位置的概率,We表示用于计算作为结束词语位置的概率的参数矩阵,uQ
Figure BDA0002384024060000146
与上式中所表示的意思相同。
回答语料中的每个词语经过上述公式计算后,可以得到该词语作为起始词语位置的概率以及作为结束词语位置的概率。从回答语料中将作为起始词语位置的概率最大的词语确定为当前对话语句的答复语句的起始词语位置,将作为结束词语位置的概率最大的词语确定为当前对话语句的答复语句的终止词语位置。
在本公开的一个示例中,机器学习理解模型可以包括具有Self-Attention机制和/或Attention机制的机器学习理解模型。
例如,机器学习理解模型同时具有Self-Attention机制、Attention机制以及RNN(Recurrent Neural Networks,循环神经网络)。其中,具有Self-Attention机制的特征层可以根据实际情况设置为一层或者多层。比如设置两层Self-Attention层,第一层的Self-Attention筛选出语句中的有用信息而过滤掉无关信息,在此基础上,使用第二层的Self-Attention进一步地进行特征提取,使得到更高层次的向量表示。
在本公开中,Attention机制模仿了生物观察行为的内部过程,即一种将内部经验和外部感觉对齐从而增加部分区域的观察精细度的机制。可以理解为从大量信息中有选择地筛选出少量重要信息并聚焦到这些重要信息上,进而忽略大多不重要的信息。其中,聚焦的过程体现在权重上,权重表征了信息的重要性,权重越大对应的信息越重要。
Attention机制可以包括Inner Attention机制,Multilevel attention机制或者cross attention机制。针对回答语料和查询语句,利用Attention机制可以得到回答语料中每个词语对查询语句的注意力表示。
基于上述Attention机制,通常不使用其他额外信息的Self-Attention机制也可以称为intra Attention机制。Self-Attention机制针对同一语句内的各词语之间的关联程度,具体地,通过Self-Attention机制可以捕获同一个语句中各词语之间的一些句法特征和语义特征,Self-Attention机制在计算过程中会直接将同一语句中任意两个词语的联系通过一个计算步骤直接联系起来,因此极大地缩短了远距离依赖特性之间的距离。
在块250,基于所确定的起始词语位置和结束词语位置,从回答语料中获取答复语句。
将起始词语位置和结束词语位置之间的词语所组成的语句作为答复语句。以图7为例,图7所示的内容为搜索得到的回答语料,所确定的起始词语位置为“宝贝”,结束词语位置为“验货”,因此从回答语料中获取的答复语句为“宝贝都是专柜正品,接受专柜验货”。
在块260,将所获取的答复语句提供给用户。
在本公开的一个示例中,在将答复语句提供给用户前,可以对所获取的答复语句进行无用信息去除处理。这样,可以给用户提供更简洁的答复语句,便于用户阅读。
例如,所获取的答复语句包括人工客服与用户之间的对话语句,且这些对话语句中标记有来自于人工客服或者用户,这样可以将答复语句中来自于用户的对话语句去除,仅保留人工客服的对话语句。
在本公开的一个示例中,基于所确定的起始词语位置和结束词语位置,从回答语料中获取所述答复语句可以包括:在所确定的起始词语位置和/或结束词语位置包括多个位置时,基于起始词语位置与结束词语位置的任意组合,从回答语料中获取答复语句。
在所确定的起始词语位置和/或结束词语位置包括多个位置时,每一个起始词语位置与一个结束词语位置可以确定一条答复语句。在该示例中,可以确定出多条答复语句。
以图7为例,起始词语位置包括“宝贝”和“接受”,结束词语位置包括“验货”和“选购”,则两个起始词语位置和两个结束词语位置经过组合可以确定出四条答复语句:“宝贝”和“验货”确定出的答复语句为“宝贝都是专柜正品,接受专柜验货”;“接受”和“验货”确定出的答复语句为“接受专柜验货”;“宝贝”和“选购”确定出的答复语句为“宝贝都是专柜正品,接受专柜验货,亲可以放心选购”,“接受”和“选购”确定出的答复语句为“接受专柜验货,亲可以放心选购”。
在该示例中,在基于起始词语位置与结束词语位置的任意组合获取到多条答复语句时,可以将该多条答复语句都提供给用户,以给用户提供更全面的答案。
在本公开的一个示例中,基于起始词语位置与结束词语位置的任意组合,从回答语料中获取答复语句之后,还可以包括:利用评分系统对所获取的各个答复语句进行评分,将评分最高的答复语句确定为提供给用户的答复语句。
在该示例中,评分系统可以是通过机器学习训练得到的问答匹配度的评分模型。评分系统可以对每条答复语句与查询语句的匹配度进行评分,评分越高表示对应的答复语句与查询语句匹配度越高。利用评分系统从多条答复语句中确定出与查询语句匹配度最高的一条答复语句,并将所确定出的答复语句提供给用户,可以为用户提供更匹配更简洁的答复,进而提升用户体验。
在本公开的一个示例中,每个词语还可以具有注意力向量,查询语句中每个词语的注意力向量体现了对回答语料的注意力程度,回答语料中每个词语的注意力向量体现了对查询语句的注意力程度。在此基础上,本公开提供的用于在对话中提供答复语句的方法还可以包括:使用注意力模型,对查询语句和回答语料进行向量化处理,以得到查询语句和回答语料中的各个词语的注意力向量。
再结合查询语句向量矩阵和回答语料向量矩阵中的各个词语所对应的向量至少包括该词语的词向量和上下文向量,则针对每个词语,各个词语所对应的向量包括该词语的词向量、上下文向量和注意力向量。在一个示例中,可以将该词语的词向量、上下文向量和注意力向量进行拼接处理,所得到的拼接后的向量可以用于表征该词语。这样,查询语句和回答语料中的每个词语所对应的向量均包括经过拼接处理后的词向量、上下文向量和注意力向量。
查询语句和回答语料中的各个词语的注意力向量的获得过程如下:首先计算查询语句中每个词语与回答语料中的每个词语之间的相似度,然后将查询语句中该词语与回答语料中的每个词语之间的相似度进行归一化处理,得到该词语与回答语料中的每个词语之间的权重,再将回答语料中的每个词语的权重与该词语对应的语义编码的乘积进行求和计算,得到查询语句中该词语相对于回答语料的注意力向量。
在该示例中,针对查询语句中每个词语的三种向量的拼接顺序,与针对回答语料中每个词语的三种向量的拼接顺序是相同的。例如,查询语句中每个词语的拼接顺序为:词向量、上下文向量和注意力向量,那么,回答语料中每个词语的拼接顺序也是:词向量、上下文向量和注意力向量。
图8示出了本公开的实施例的使用机器阅读理解模型获取答复语句的一个示例的示意图。
如图8所示,机器阅读理解模型具有Self-Attention机制,Multilevel Attention机制的功能以及RNN,Self-Attention机制用于学习一条语句中的每个词语与该语句中的其他词语之间的依赖关系,Multilevel Attention机制可以得到回答语料中每个词语相对于查询语句的注意力表示。
如图8所示,回答语料包括m个词语:d1,d2,…,dm。查询语句包括n个词语:q1,q2,…,qn。使用word2vec可以得到回答语料以及查询语句中每个词语的词向量;使用BERT模型可以得到回答语料以及查询语句中每个词语的上下文向量;使用注意力模型可以得到回答语料以及查询语句中每个词语的注意力向量。这样,回答语料和查询语句中的每个词语均包括词向量,上下文向量以及注意力向量,即得到查询语句向量矩阵和回答语料向量矩阵。
将查询语句向量矩阵和回答语料向量矩阵输入机器阅读理解模型,首先分别经过Self-Attention机制的处理。具体地,以查询语句向量矩阵为例进行说明,首先计算查询语句向量矩阵中各个词语对应的向量之间的关联度,然后将每一个词语与其他词语之间的关联度进行归一化处理得到该词语与其他词语之间的权重,再将这些权重与其他词语对应的语义编码进行加权求和计算,进而可以得到查询语句中每个词语的自注意力向量。
在经过Self-Attention机制处理后的查询语句向量矩阵和回答语料向量矩阵分别由RNN进行特征提取,过滤查询语句和回答语料的特征向量中的无用信息,并将RNN输出的回答语料向量矩阵与查询语句向量矩阵经过Multilevel Attention机制的处理,以得到回答语料中的每个词语针对查询语句的注意力向量。
然后将Multilevel Attention机制得到的回答语料向量矩阵经过Self-Attention机制处理,以得到回答语料中每个词语的最终表示向量,每个词语的最终表示向量为矩阵。将RNN输出的查询语句向量矩阵经过Self-Attention机制处理,得到查询语句中每个词语的向量,并将所得到的向量进行加权处理得到查询语句的最终表示向量,查询语句的最终表示向量为矩阵。
针对回答语料中的每个词语,将该词语的最终表示向量与用于计算作为起始词语位置的概率的参数矩阵、查询语句的最终表示向量三者的矩阵乘积确定为该词语作为起始词语位置的概率;将该词语的最终表示向量与用于计算作为结束词语位置的概率的参数矩阵、查询语句的最终表示向量三者的矩阵乘积确定为该词语作为结束词语位置的概率。然后,从回答语料中将作为起始词语位置的概率最大的词语确定为起始词语位置,将作为结束词语位置的概率最大的词语确定为终止词语位置,起始词语位置和结束词语位置之间的内容即为针对当前对话语句的答复语句。
图9示出了本公开的实施例的用于在对话中提供答复语句的装置(在下文中简称为答复语句提供装置900)的方框图。如图9所示,答复语句提供装置900包括查询语句获取单元910、对话记录搜索单元920、向量化处理单元930、机器阅读理解单元940、答复语句获取单元950以及答复语句提供单元960。
查询语句获取单元910获取用户的当前对话语句以及上下文对话语句,以作为查询语句。在本公开的一个示例中,上下文对话语句包括设定轮对话所涉及的上下文语句。
图10示出了本公开的实施例的查询语句获取单元910的一个示例的方框图。如图10所示,查询语句获取单元910包括对话语句获取模块913和查询语句生成模块915。对话语句获取模块913获取用户的当前对话语句以及上下文对话语句;查询语句生成模块915基于对话语句的时间发生顺序,对所获取的当前对话语句以及上下文对话语句进行拼接,以生成查询语句。
对话记录搜索单元920从对话日志中搜索与查询语句匹配的至少一条对话记录,以作为回答语料,每条对话记录包括该次对话的完整对话内容。在本公开的一个示例中,回答语料包括经过拼接的至少一条对话记录。
向量化处理单元930对查询语句和回答语料分别进行向量化处理,以得到查询语句向量矩阵和回答语料向量矩阵,其中,查询语句向量矩阵和回答语料向量矩阵中的各个词语所对应的向量至少包括该词语的词向量和上下文向量。在本公开的一个示例中,各个词语所对应的向量包括经过拼接后的该词语的词向量和上下文向量
在本公开的一个示例中,每个词语还具有注意力向量,向量化处理单元930进一步:使用注意力模型,对查询语句和回答语料进行向量化处理,以得到查询语句和回答语料中的各个词语的注意力向量,其中,查询语句向量矩阵和回答语料向量矩阵中的各个词语所对应的向量至少包括该词语的词向量、上下文向量和注意力向量。
机器阅读理解单元940将查询语句向量矩阵和回答语料向量矩阵提供给机器阅读理解模型,以从回答语料中确定当前对话语句的答复语句的起始词语位置和结束词语位置。
答复语句获取单元950基于所确定的起始词语位置和结束词语位置,从回答语料中获取答复语句。
在本公开的一个示例中,在所确定的起始词语位置和/或结束词语位置包括多个位置时,答复语句获取单元950基于起始词语位置与结束词语位置的任意组合,从回答语料中获取答复语句。
在本公开的一个示例中,答复语句获取单元950进一步:利用评分系统对所获取的各个答复语句进行评分,并将评分最高的答复语句确定为提供给用户的答复语句。
在本公开的一个示例中,答复语句提供装置900还可以包括无用信息去除单元,无用信息去除单元从当前对话语句以及上下文对话语句中和/或从回答语料中去除无用信息。
以上参照图1到图10,对根据本公开的用于在对话中提供答复语句的方法及装置的实施例进行了描述。
本公开的用于在对话中提供答复语句的装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将存储器中对应的计算机程序指令读取到内存中运行形成的。在本公开中,用于在对话中提供答复语句的装置例如可以利用计算设备实现。
图11是本公开的实施例的用于在对话中提供答复语句的方法的计算设备1100的方框图。
如图11所示,计算设备1100可以包括至少一个处理器1110、存储器(例如,非易失性存储器)1120、内存1130和通信接口1140,并且至少一个处理器1110、存储器1120、内存1130和通信接口1140经由总线1150连接在一起。至少一个处理器1110执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器1110:获取用户的当前对话语句以及上下文对话语句,以作为查询语句;从对话日志中搜索与查询语句匹配的至少一条对话记录,以作为回答语料,每条对话记录包括该次对话的完整对话内容;对查询语句和回答语料分别进行向量化处理,以得到查询语句向量矩阵和回答语料向量矩阵,其中,查询语句向量矩阵和回答语料向量矩阵中的各个词语所对应的向量至少包括该词语的词向量和上下文向量;将查询语句向量矩阵和回答语料向量矩阵提供给机器阅读理解模型,以从回答语料中确定当前对话语句的答复语句的起始词语位置和结束词语位置;基于所确定的起始词语位置和结束词语位置,从回答语料中获取答复语句;以及将所获取的答复语句提供给用户。
应该理解,在存储器中存储的计算机可执行指令当执行时使得至少一个处理器1110进行本公开的各个实施例中以上结合图2-图10描述的各种操作和功能。
根据一个实施例,提供了一种例如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本公开的各个实施例中以上结合图2-图10描述的各种操作和功能。
具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
以上结合附图详细描述了本公开的实施例的可选实施方式,但是,本公开的实施例并不限于上述实施方式中的具体细节,在本公开的实施例的技术构思范围内,可以对本公开的实施例的技术方案进行多种简单变型,这些简单变型均属于本公开的实施例的保护范围。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且,也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。

Claims (23)

1.一种用于在对话中提供答复语句的方法,包括:
获取用户的当前对话语句以及上下文对话语句,以作为查询语句;
从对话日志中搜索与所述查询语句匹配的至少一条对话记录,以作为回答语料,每条对话记录包括该次对话的完整对话内容;
对所述查询语句和所述回答语料分别进行向量化处理,以得到查询语句向量矩阵和回答语料向量矩阵,其中,所述查询语句向量矩阵和所述回答语料向量矩阵中的各个词语所对应的向量至少包括该词语的词向量和上下文向量;
将所述查询语句向量矩阵和所述回答语料向量矩阵提供给机器阅读理解模型,以从所述回答语料中确定所述当前对话语句的答复语句的起始词语位置和结束词语位置;
基于所确定的起始词语位置和结束词语位置,从所述回答语料中获取所述答复语句;以及
将所获取的答复语句提供给所述用户。
2.如权利要求1所述的方法,其中,所述上下文对话语句包括设定轮对话所涉及的上下文语句。
3.如权利要求1所述的方法,其中,所述当前对话语句以及所述上下文对话语句是经过无用信息去除后的对话语句,和/或
所述回答语料是经过无用信息去除后的回答语料。
4.如权利要求1到3中任一所述的方法,其中,获取用户的当前对话语句以及上下文对话语句,以作为查询语句包括:
获取用户的当前对话语句以及上下文对话语句;以及
基于对话语句的时间发生顺序,对所获取的当前对话语句以及上下文对话语句进行拼接,以生成所述查询语句。
5.如权利要求1所述的方法,其中,各个词语所对应的向量包括经过拼接后的该词语的词向量和上下文向量。
6.如权利要求1所述的方法,其中,所述回答语料包括经过拼接的至少一条对话记录。
7.如权利要求1所述的方法,其中,所述查询语句向量矩阵和所述回答语料向量矩阵中的每个词语的词向量是通过查询词向量表而获得的。
8.如权利要求7所述的方法,其中,所述词向量表是使用下述向量化模型中的一种向量化模型得到的:
Word2vec模型;
cw2vec模型;
GloVe模型;以及
Fasttext模型。
9.如权利要求1所述的方法,其中,所述查询语句和所述回答语料中的每个词语的上下文向量是使用下述向量化模型中的一种向量化模型得到的:
BERT模型;
ELMo模型;以及
OpenAI GPT模型。
10.如权利要求1所述的方法,其中,基于所确定的起始词语位置和结束词语位置,从所述回答语料中获取所述答复语句包括:
在所确定的起始词语位置和/或结束词语位置包括多个位置时,基于起始词语位置与结束词语位置的任意组合,从所述回答语料中获取答复语句。
11.如权利要求10所述的方法,其中,基于起始词语位置与结束词语位置的任意组合,从所述回答语料中获取答复语句之后,还包括:
利用评分系统对所获取的各个答复语句进行评分;
将评分最高的答复语句确定为提供给所述用户的答复语句。
12.如权利要求1所述的方法,其中,每个词语还具有注意力向量,所述方法还包括:
使用注意力模型,对所述查询语句和所述回答语料进行向量化处理,以得到所述查询语句和所述回答语料中的各个词语的注意力向量,
其中,所述查询语句向量矩阵和所述回答语料向量矩阵中的各个词语所对应的向量包括该词语的词向量、上下文向量和注意力向量。
13.一种用于在对话中提供答复语句的装置,包括:
查询语句获取单元,获取用户的当前对话语句以及上下文对话语句,以作为查询语句;
对话记录搜索单元,从对话日志中搜索与所述查询语句匹配的至少一条对话记录,以作为回答语料,每条对话记录包括该次对话的完整对话内容;
向量化处理单元,对所述查询语句和所述回答语料分别进行向量化处理,以得到查询语句向量矩阵和回答语料向量矩阵,其中,所述查询语句向量矩阵和所述回答语料向量矩阵中的各个词语所对应的向量至少包括该词语的词向量和上下文向量;
机器阅读理解单元,将所述查询语句向量矩阵和所述回答语料向量矩阵提供给机器阅读理解模型,以从所述回答语料中确定所述当前对话语句的答复语句的起始词语位置和结束词语位置;
答复语句获取单元,基于所确定的起始词语位置和结束词语位置,从所述回答语料中获取所述答复语句;以及
答复语句提供单元,将所获取的答复语句提供给所述用户。
14.如权利要求13所述的装置,其中,所述上下文对话语句包括设定轮对话所涉及的上下文语句。
15.如权利要求13所述的装置,还包括:
无用信息去除单元,从所述当前对话语句以及所述上下文对话语句中和/或从所述回答语料中去除无用信息。
16.如权利要求13到15中任一所述的装置,其中,所述查询语句获取单元包括:
对话语句获取模块,获取用户的当前对话语句以及上下文对话语句;以及
查询语句生成模块,基于对话语句的时间发生顺序,对所获取的当前对话语句以及上下文对话语句进行拼接,以生成所述查询语句。
17.如权利要求13所述的装置,其中,各个词语所对应的向量包括经过拼接后的该词语的词向量和上下文向量。
18.如权利要求13所述的装置,其中,所述回答语料包括经过拼接的至少一条对话记录。
19.如权利要求13所述的装置,其中,
在所确定的起始词语位置和/或结束词语位置包括多个位置时,所述答复语句获取单元基于起始词语位置与结束词语位置的任意组合,从所述回答语料中获取答复语句。
20.如权利要求19所述的装置,其中,所述答复语句获取单元进一步:
利用评分系统对所获取的各个答复语句进行评分,并将评分最高的答复语句确定为提供给所述用户的答复语句。
21.如权利要求13所述的装置,其中,每个词语还具有注意力向量,所述向量化处理单元进一步:
使用注意力模型,对所述查询语句和所述回答语料进行向量化处理,以得到所述查询语句和所述回答语料中的各个词语的注意力向量,
其中,所述查询语句向量矩阵和所述回答语料向量矩阵中的各个词语所对应的向量至少包括该词语的词向量、上下文向量和注意力向量。
22.一种计算设备,包括:
至少一个处理器,以及
与所述至少一个处理器耦合的存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1到12中任一所述的方法。
23.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到12中任一所述的方法。
CN202010092082.2A 2020-02-14 2020-02-14 用于在对话中提供答复语句的方法及装置 Active CN111259130B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010092082.2A CN111259130B (zh) 2020-02-14 2020-02-14 用于在对话中提供答复语句的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010092082.2A CN111259130B (zh) 2020-02-14 2020-02-14 用于在对话中提供答复语句的方法及装置

Publications (2)

Publication Number Publication Date
CN111259130A CN111259130A (zh) 2020-06-09
CN111259130B true CN111259130B (zh) 2023-04-07

Family

ID=70947312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010092082.2A Active CN111259130B (zh) 2020-02-14 2020-02-14 用于在对话中提供答复语句的方法及装置

Country Status (1)

Country Link
CN (1) CN111259130B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI746214B (zh) * 2020-10-19 2021-11-11 財團法人資訊工業策進會 機器閱讀理解方法、機器閱讀理解裝置及非暫態電腦可讀取媒體
CN112131371A (zh) * 2020-11-24 2020-12-25 江苏电力信息技术有限公司 一种电力智能问答系统中的问句匹配方法
CN113157896B (zh) * 2021-05-26 2024-03-29 中国平安人寿保险股份有限公司 一种语音对话生成方法、装置、计算机设备及存储介质
JP2023176054A (ja) * 2022-05-31 2023-12-13 株式会社日立製作所 対話管理装置、対話管理方法及び対話管理システム
CN115878775B (zh) * 2022-12-23 2024-04-12 北京百度网讯科技有限公司 生成跨类型对话数据的方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108427670A (zh) * 2018-04-08 2018-08-21 重庆邮电大学 一种基于语境词向量和深度学习的情感分析方法
CN108920654A (zh) * 2018-06-29 2018-11-30 泰康保险集团股份有限公司 一种问答文本语义匹配的方法和装置
CN110083690A (zh) * 2019-04-10 2019-08-02 华侨大学 一种基于智能问答的对外汉语口语训练方法及系统
CN110569499A (zh) * 2019-07-18 2019-12-13 中国科学院信息工程研究所 一种基于多模态词向量的生成式对话系统编码方法及编码器

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102133825B1 (ko) * 2018-06-22 2020-07-16 서강대학교 산학협력단 단어자질을 강화한 음성 대화 방법 및 시스템

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108427670A (zh) * 2018-04-08 2018-08-21 重庆邮电大学 一种基于语境词向量和深度学习的情感分析方法
CN108920654A (zh) * 2018-06-29 2018-11-30 泰康保险集团股份有限公司 一种问答文本语义匹配的方法和装置
CN110083690A (zh) * 2019-04-10 2019-08-02 华侨大学 一种基于智能问答的对外汉语口语训练方法及系统
CN110569499A (zh) * 2019-07-18 2019-12-13 中国科学院信息工程研究所 一种基于多模态词向量的生成式对话系统编码方法及编码器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王恒升.基于领域知识的增强约束词向量.中文信息学报.2019,第33卷(第4期),第【0037】-【0047】页. *

Also Published As

Publication number Publication date
CN111259130A (zh) 2020-06-09

Similar Documents

Publication Publication Date Title
CN111259130B (zh) 用于在对话中提供答复语句的方法及装置
CN110427461B (zh) 智能问答信息处理方法、电子设备及计算机可读存储介质
CN110222045B (zh) 一种数据报表获取方法、装置及计算机设备、存储介质
CN112800170A (zh) 问题的匹配方法及装置、问题的回复方法及装置
CN109829045A (zh) 一种问答方法和装置
CN112100354A (zh) 人机对话方法、装置、设备及存储介质
CN111368096A (zh) 基于知识图谱的信息分析方法、装置、设备和存储介质
CN110929498A (zh) 一种短文本相似度的计算方法及装置、可读存储介质
CN111858854A (zh) 一种基于历史对话信息的问答匹配方法及相关装置
CN117520523B (zh) 数据处理方法、装置、设备及存储介质
CN110597968A (zh) 一种回复选择方法及装置
CN110717021A (zh) 人工智能面试中获取输入文本和相关装置
CN112632248A (zh) 问答方法、装置、计算机设备和存储介质
Arora et al. Comparative question answering system based on natural language processing and machine learning
CN111475608A (zh) 一种基于功能语义关联计算的Mashup服务特征表示方法
CN117807232A (zh) 商品分类方法、商品分类模型构建方法及装置
CN113779190A (zh) 事件因果关系识别方法、装置、电子设备与存储介质
CN115905187B (zh) 一种面向云计算工程技术人员认证的智能化命题系统
CN111460114A (zh) 检索方法、装置、设备及计算机可读存储介质
CN116304046A (zh) 对话数据的处理方法、装置、存储介质及电子设备
CN114239555A (zh) 一种关键词提取模型的训练方法及相关装置
CN111666770B (zh) 一种语义匹配方法及装置
CN113761874A (zh) 事件事实性预测方法、装置、电子设备与存储介质
TWI603320B (zh) 全域對話系統
CN114218375B (zh) 基于图谱的对话引导方法、装置、设备及介质

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