CN113486160B - 基于跨语言知识的对话方法及系统 - Google Patents
基于跨语言知识的对话方法及系统 Download PDFInfo
- Publication number
- CN113486160B CN113486160B CN202110577065.2A CN202110577065A CN113486160B CN 113486160 B CN113486160 B CN 113486160B CN 202110577065 A CN202110577065 A CN 202110577065A CN 113486160 B CN113486160 B CN 113486160B
- Authority
- CN
- China
- Prior art keywords
- knowledge
- language
- vector
- cross
- dialogue
- 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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3329—Natural language query formulation or dialogue systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本发明属于跨语言对话领域,提供了一种基于跨语言知识的对话方法及系统。其中,该方法包括获取对话问题并经多语言编码器得到对话问题表示向量;在预先存储多语言知识表示向量库中,检索出与对话问题表示向量最近的知识表示向量;将对话问题表示向量与检索出的知识表示向量进行拼接;将拼接后的向量输入至跨语言seq2seq模型,得到对话问题所对应的回复。
Description
技术领域
本发明属于对话系统领域,尤其涉及一种基于跨语言知识的对话方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
近年来,闲聊式的对话系统得到了很大的发展。基于seq2seq结构的模型,可以根据对话的历史,生成流畅的回复。但人们在与这样的系统交互的时候,仍然可以感受到和与真人聊天的差距。导致这一问题的一个重要的原因是,聊天系统在生成回复的时候由于缺乏相关知识,很难深入一个特定的主题。为了解决这一问题,基于知识的对话(KGC)被提出,利用外部知识来增强对话系统。
但是,现有的KGC相关的研究,都使用了大规模的本语言知识。然而,发明人发现,不同语言下可获取的知识数量是很不平衡的,比如英文的维基知识库是中文的6倍,而世界上使用人数第七的孟加拉语,可获取的知识只有英语的约1/60。而由于极高的资源开销,为每个语言构建足够大的知识库是不现实的。
发明内容
为了解决上述背景技术中存在的技术问题,本发明提供一种基于跨语言知识的对话方法及系统,其能够提升对话系统的话题丰富度,避免重复构建单语言知识库的开销。
为了实现上述目的,本发明采用如下技术方案:
本发明的第一个方面提供一种基于跨语言知识的对话方法。
一种基于跨语言知识的对话方法,包括:
获取对话问题并经多语言编码器得到对话问题表示向量;
在预先存储多语言知识表示向量库中,检索出与对话问题表示向量最近的知识表示向量;
将对话问题表示向量与检索出的知识表示向量进行拼接;
将拼接后的向量输入至跨语言seq2seq模型,得到对话问题所对应的回复。
本发明的第二个方面提供一种基于跨语言知识的对话系统。
一种基于跨语言知识的对话系统,其包括:
对话问题编码模块,其用于获取对话问题并经多语言编码器得到对话问题表示向量;
知识表示向量检索模块,其用于在预先存储多语言知识表示向量库中,检索出与对话问题表示向量最近的知识表示向量;
向量拼接模块,其用于将对话问题表示向量与检索出的知识表示向量进行拼接;
对话问题回复模块,其用于将拼接后的向量输入至跨语言seq2seq模型,得到对话问题所对应的回复。
本发明的第三个方面提供一种计算机可读存储介质。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的基于跨语言知识的对话方法中的步骤。
本发明的第四个方面提供一种计算机设备。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的基于跨语言知识的对话方法中的步骤。
与现有技术相比,本发明的有益效果是:
(1)本发明首次提出了基于跨语言知识的对话方法及系统,将获取的对话问题并经多语言编码器得到对话问题表示向量;在预先存储多语言知识表示向量库中,检索出与对话问题表示向量最近的知识表示向量;将对话问题表示向量与检索出的知识表示向量进行拼接;将拼接后的向量输入至跨语言seq2seq模型,得到对话问题所对应的回复,使得对于那些资源匮乏的语言,也可以在直接使用丰富的外语知识库来构建对话系统,提升了对话系统的话题丰富度,并避免了重复构建单语言知识库的开销。
(3)本发明为了在缺少知识标注的情况下,使用大量的外语对话来学习模型的知识选择和知识表达能力,并通过自我知识蒸馏的方法将这一能力蒸馏到目标语言上,优化了多语言编码器及跨语言seq2seq模型,提高了对话回复的准确性。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本发明实施例的基于跨语言知识的对话方法流程图;
图2是本发明实施例的知识检索与回复生成部分;
图3是本发明实施例自我知识蒸馏的训练方法。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
实施例一
如图1所示,本实施例提供了一种基于跨语言知识的对话方法,其具体包括如下步骤:
步骤S101:获取对话问题并经多语言编码器得到对话问题表示向量。
步骤S102:在预先存储多语言知识表示向量库中,检索出与对话问题表示向量最近的知识表示向量。
步骤S103:将对话问题表示向量与检索出的知识表示向量进行拼接。
步骤S104:将拼接后的向量输入至跨语言seq2seq模型,得到对话问题所对应的回复。
具体地,步骤S101和步骤S102检索部分,步骤S103和步骤S104为生成部分。
在检索部分,训练一个多语言的编码器。首先使用编码器对外语知识库中的每一条知识进行编码得到表示向量,并将向量存储。对于给定的一段对话历史,拼接对话历史的句子,使用编码器编码得到表示向量,再使用基于FAISS加速的向量检索模块,在预先存储的知识表示向量中,检索出与之cosine距离最近的一个,作为被选择的知识。其中,FAISS加速的向量检索模块的输入是:一条query和多个document。该模块会计算query和每个document之间的相关性,并输出:相关性最高的K个document。
使用FAISS加速这一过程。接下来,在知识池中,进一步细粒度的选择一条知识,作为本段对话所使用的知识:
在生成部分,训练一个跨语言的seq2seq模型。首先将对话的历史,以及上一步检索到的外语的知识进行拼接,作为模型的输入。接下来,依次生成回复中的每一个字。
具体来说,对于给定的对话历史C以及上一步所选的一条知识K,我们首先将其拼接作为一个mBART模型的输入I={C;[SEP];K},其中[SEP]是拼接符。接下来,使用mBART生成回复R,并使用语言指示符[LANG]表示所要生成的回复的语言。其中,mBART是由Facebook公司提出的一种预训练的语言模型,属于seq2seq模型。
为了在缺少训练数据的情况下,训练上述的检索以及生成模型,提出了CSKD(curriculum self-knowledge distillation)方案,总的来说,方案利用大规模的外语对话数据,来提升模型在本语言上的跨语言检索与生成的能力。
具体地,给定一段来自辅助语言对话(CA,RA),其中A代表辅助语言。首先使用标准IR(信息检索)模型(基于BM25)基于回复来构建知识池,并使用IR模型所预测的知识作为标签,使用MLE(最大似然法)优化知识检索部分的多语言编码器模型以及回复生成。接下来,使用生成模型计算reward,进一步使用强化学习优化知识检索模型。强化学习目标是:
其中
其中P(K|·)是P(K|CA,KP)的简写,|RA|是回复的长度;b是用于降低梯度方差的基准;ε是温度系数。
从两种语言的对话数据中,提取平行对话数据为了无监督的提取平行对话,首先使用mBART-Encoder,如检索部分一样编码两种语言所有的对话,得到和接下来,对于每一个来自目标语言的对话,我们都使用KNN算法在辅助语言中提取cosine距离最近的一段对话,得到一组平行对话(CT,RT)-(CA,RA)。接下来,使用ratio margin function定义这两段对话之间的语义相似度。
其中NN(·)代表基于cosine距离的N个最近邻。
基于所提取的平行对话,使用自我知识蒸馏的方法将多语言编码器及跨语言seq2seq模型在辅助语言上预训练得到的知识选择和知识表达能力,蒸馏到目标语言上。对于给定的一组平行对话(CT,RT)-(CA,RA),使用两个知识蒸馏的目标:
其中,KP是KP(RA)的简写,代表使用辅助语言的回复构建的知识池;l代表一个n层的mBART-Decoder的第l层;代表Decoder的第l层中,回复R对输入知识K的注意力矩阵,表示每一个R中的词是根据知识中的那一部分生成的;KL代表Kullback-Leibler散度。除此之外,通过NLL loss优化对于目标语言的回复生成:
其中K~P(K|RA,KP(RA))是根据RA所选择的一条知识。
为了解决自动的平行对话检索所带来的噪声,将课程学习的方法结合进了知识蒸馏。具体来说,我们首先定义了每组平行对话的难度函数:
d=S(CT,RT,CA,RA)P(Kbest|RA,KP(RA))
其中Kbest代表获得选择概率最高的那一条知识。接下来,根据困难度d对训练数据进行升序排序,在训练的第m步,使用在前f(m)部分的数据中采样的batch进行训练。对f(m)的定义是:
实施例二
本实施例提供了一种基于跨语言知识的对话系统,其包括:
对话问题编码模块,其用于获取对话问题并经多语言编码器得到对话问题表示向量;
知识表示向量检索模块,其用于在预先存储多语言知识表示向量库中,检索出与对话问题表示向量最近的知识表示向量;
向量拼接模块,其用于将对话问题表示向量与检索出的知识表示向量进行拼接;
对话问题回复模块,其用于将拼接后的向量输入至跨语言seq2seq模型,得到对话问题所对应的回复。
需要说明的是,本实施例中的各个模块,与实施例一中的各个步骤一一对应,其具体实施过程相同,此处不再累述。
实施例三
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的基于跨语言知识的对话方法中的步骤。
实施例四
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的基于跨语言知识的对话方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于跨语言知识的对话方法,其特征在于,包括:
获取对话问题并经多语言编码器得到对话问题表示向量;
在预先存储多语言知识表示向量库中,检索出与对话问题表示向量最近的知识表示向量;
将对话问题表示向量与检索出的知识表示向量进行拼接;所述对话问题表示向量与其最近的知识表示向量为两种不同语言;
将拼接后的向量输入至跨语言seq2seq模型,得到对话问题所对应的回复;
训练检索模型和跨语言seq2seq模型,使用标准信息检索模型基于回复构建知识池,预先存储多语言知识表示向量作为知识池,使用标准信息检索模型所预测的知识作为标签,使用最大似然估计优化多语言编码器及回复生成;使用自我知识蒸馏的方法将多语言编码器及跨语言seq2seq模型在辅助语言上预训练得到的知识选择和知识表达能力,蒸馏到目标语言上;将课程学习的方法结合进知识蒸馏。
2.如权利要求1所述的基于跨语言知识的对话方法,其特征在于,在训练检索模型过程中,使用KNN算法在辅助语言中提取cosine距离最近的一段对话,检索得到一组平行对话向量。
3.如权利要求1所述的基于跨语言知识的对话方法,其特征在于,知识表示向量与对话问题表示向量的距离采用cosine距离来表示。
4.如权利要求1所述的基于跨语言知识的对话方法,其特征在于,对于给定的一段对话历史,拼接对话历史的句子,使用编码得到表示向量,再使用基于FAISS加速的向量检索模块,在预先存储多语言知识表示向量库中,检索出与编码得到的表示向量最近的一个知识表示向量,作为被选择的知识。
5.一种基于跨语言知识的对话系统,其特征在于,包括:
对话问题编码模块,其用于获取对话问题并经多语言编码器得到对话问题表示向量;将外语知识库中的每条知识进行编码得到知识表示向量;使用最近邻算法构建对话问题的知识池;
知识表示向量检索模块,其用于在预先存储多语言知识表示向量库中,检索出与对话问题表示向量最近的知识表示向量;
向量拼接模块,其用于将对话问题表示向量与检索出的知识表示向量进行拼接;所述对话问题表示向量与其最近的知识表示向量为两种不同语言;
对话问题回复模块,其用于将拼接后的向量输入至跨语言seq2seq模型,得到对话问题所对应的回复;
训练检索模型和跨语言seq2seq模型,使用标准信息检索模型基于回复构建知识池,预先存储多语言知识表示向量作为知识池,使用标准信息检索模型所预测的知识作为标签,使用最大似然估计优化多语言编码器及回复生成;使用自我知识蒸馏的方法将多语言编码器及跨语言seq2seq模型在辅助语言上预训练得到的知识选择和知识表达能力,蒸馏到目标语言上;将课程学习的方法结合进知识蒸馏。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一项所述的基于跨语言知识的对话方法中的步骤。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-4中任一项所述的基于跨语言知识的对话方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110577065.2A CN113486160B (zh) | 2021-05-26 | 2021-05-26 | 基于跨语言知识的对话方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110577065.2A CN113486160B (zh) | 2021-05-26 | 2021-05-26 | 基于跨语言知识的对话方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113486160A CN113486160A (zh) | 2021-10-08 |
CN113486160B true CN113486160B (zh) | 2023-04-11 |
Family
ID=77933164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110577065.2A Active CN113486160B (zh) | 2021-05-26 | 2021-05-26 | 基于跨语言知识的对话方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113486160B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115982583A (zh) * | 2022-12-30 | 2023-04-18 | 北京百度网讯科技有限公司 | 预训练语言模型的训练方法、装置、设备和介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9996533B2 (en) * | 2015-09-30 | 2018-06-12 | International Business Machines Corporation | Question answering system using multilingual information sources |
CN106844368B (zh) * | 2015-12-03 | 2020-06-16 | 华为技术有限公司 | 用于人机对话的方法、神经网络系统和用户设备 |
CN110188182B (zh) * | 2019-05-31 | 2023-10-27 | 中国科学院深圳先进技术研究院 | 模型训练方法、对话生成方法、装置、设备及介质 |
CN112100354B (zh) * | 2020-09-16 | 2023-07-25 | 北京奇艺世纪科技有限公司 | 人机对话方法、装置、设备及存储介质 |
CN112214593A (zh) * | 2020-11-05 | 2021-01-12 | 腾讯科技(深圳)有限公司 | 问答处理方法、装置、电子设备及存储介质 |
CN112541087A (zh) * | 2020-12-18 | 2021-03-23 | 清华大学 | 基于百科的跨语言知识图谱构建方法及装置 |
-
2021
- 2021-05-26 CN CN202110577065.2A patent/CN113486160B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113486160A (zh) | 2021-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11238845B2 (en) | Multi-dialect and multilingual speech recognition | |
CN108710704B (zh) | 对话状态的确定方法、装置、电子设备及存储介质 | |
CN111666764B (zh) | 一种基于XLNet的自动摘要方法与装置 | |
US20240005093A1 (en) | Device, method and program for natural language processing | |
CN114153971A (zh) | 一种含错中文文本纠错识别分类设备 | |
CN114387537A (zh) | 一种基于描述文本的视频问答方法 | |
CN111814479A (zh) | 一种企业简称生成及其模型的训练方法及装置 | |
CN111444720A (zh) | 一种英文文本的命名实体识别方法 | |
CN113486160B (zh) | 基于跨语言知识的对话方法及系统 | |
CN113326367B (zh) | 基于端到端文本生成的任务型对话方法和系统 | |
CN117332788B (zh) | 一种基于英语口语文本的语义分析方法 | |
CN111831792B (zh) | 一种电力知识库构建方法及系统 | |
CN117217233A (zh) | 文本纠正、文本纠正模型训练方法及装置 | |
CN112069816A (zh) | 中文标点符号添加方法和系统及设备 | |
Zhang et al. | Character-Aware Sub-Word Level Language Modeling for Uyghur and Turkish ASR | |
US20240104353A1 (en) | Sequence-to sequence neural network systems using look ahead tree search | |
CN115240712A (zh) | 一种基于多模态的情感分类方法、装置、设备及存储介质 | |
CN115221284A (zh) | 文本相似度的计算方法、装置、电子设备及存储介质 | |
CN112100335B (zh) | 问题生成方法、模型训练方法、装置、设备和存储介质 | |
CN116089593B (zh) | 基于时序特征筛选编码模块的多回合人机对话方法和装置 | |
CN117035064B (zh) | 一种检索增强语言模型的联合训练方法及存储介质 | |
CN111274392B (zh) | 一种多频道联合处理方法和装置 | |
WO2024042650A1 (ja) | 学習装置、学習方法及びプログラム | |
CN117575026B (zh) | 基于外部知识增强的大模型推理分析方法、系统及产品 | |
CN109241539B (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 |