CN113821610A - 信息匹配方法、装置、设备及存储介质 - Google Patents
信息匹配方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113821610A CN113821610A CN202110772707.4A CN202110772707A CN113821610A CN 113821610 A CN113821610 A CN 113821610A CN 202110772707 A CN202110772707 A CN 202110772707A CN 113821610 A CN113821610 A CN 113821610A
- Authority
- CN
- China
- Prior art keywords
- node
- score
- information
- nodes
- sample
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 114
- 238000004364 calculation method Methods 0.000 claims abstract description 43
- 238000012549 training Methods 0.000 claims description 131
- 238000013519 translation Methods 0.000 claims description 51
- 239000013604 expression vector Substances 0.000 claims description 43
- 238000000605 extraction Methods 0.000 claims description 43
- 239000013598 vector Substances 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 25
- 230000014509 gene expression Effects 0.000 claims description 14
- 230000011218 segmentation Effects 0.000 claims description 12
- 238000010276 construction Methods 0.000 claims description 9
- 238000013473 artificial intelligence Methods 0.000 abstract description 12
- 230000008569 process Effects 0.000 description 38
- 230000006870 function Effects 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000013138 pruning Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000003058 natural language processing Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000011160 research Methods 0.000 description 4
- 238000000926 separation method Methods 0.000 description 4
- 229960005486 vaccine Drugs 0.000 description 4
- 241000282414 Homo sapiens Species 0.000 description 3
- 239000002131 composite material Substances 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 244000141353 Prunus domestica Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000001681 protective effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
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
-
- 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/3331—Query processing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种信息匹配方法、装置、设备及存储介质,涉及人工智能技术领域。所述方法包括:将目录树的根节点作为初始化的第一节点,将根节点的子节点作为初始化的第二节点;基于查询信息和第二节点对应的候选信息,分别计算每个第二节点的节点分值和路径分值;对于路径分值不符合第一条件的目标第二节点,从目录树中剔除目标第二节点及其子孙节点;判断目录树中是否还存在剩余第二节点;若存在则将剩余第二节点作为新的第一节点,剩余第二节点的子节点作为新的第二节点,并再次从分值计算步骤开始执行;若不存在则从目录树中未被剔除的节点中,选择符合第二条件的目标节点作为查询信息对应的匹配结果。本申请能够降低信息匹配的计算复杂度。
Description
技术领域
本申请实施例涉及人工智能技术领域,特别涉及一种信息匹配方法、装置、设备及存储介质。
背景技术
在智能问答系统中,需要基于用户提供的问题,从答案库中获取与该问题相匹配的答案反馈给用户。
在相关技术中,通过将用户提供的问题与答案库中的所有答案逐一进行匹配分数计算,最终选取分数最高的回答反馈给用户。这种方式需要分别计算问题与答案库中的每一个答案之间的匹配分数,在答案库中存在较多数量的候选答案的情况下,计算复杂度高。
发明内容
本申请实施例提供了一种信息匹配方法、装置、设备及存储介质,能够降低信息匹配的计算复杂度。所述技术方案如下:
根据本申请实施例的一个方面,提供了一种信息匹配方法,所述方法包括:
获取查询信息和目录树,所述目录树是由多个节点构建而成的有向无环图,每个节点具有对应的候选信息,从父节点指向子节点的有向边,代表所述父节点对应的候选信息与所述子节点对应的候选信息存在上下位关系;
将所述目录树的根节点作为初始化的第一节点,将所述根节点的子节点作为初始化的第二节点,基于所述查询信息和所述第二节点对应的候选信息,分别计算每个第二节点对应的节点分值和路径分值;其中,所述节点分值用于指示节点选择正确性,所述路径分值用于指示路径选择正确性;
对于所述路径分值不符合第一条件的目标第二节点,从所述目录树中剔除所述目标第二节点及所述目标第二节点的子孙节点;
若所述目录树中还存在剩余第二节点,则将所述剩余第二节点作为新的第一节点,将所述剩余第二节点的子节点作为新的第二节点,再次从所述基于所述查询信息和所述第二节点对应的候选信息,分别计算每个第二节点对应的节点分值和路径分值的步骤开始执行;
若所述目录树中不存在剩余第二节点,则从所述目录树中未被剔除的节点中,选择符合第二条件的目标节点对应的候选信息,作为所述查询信息对应的匹配结果。
根据本申请实施例的一个方面,提供了一种信息匹配模型的训练方法,所述信息匹配模型包括特征提取网络、节点打分网络和路径打分网络;所述方法包括:
基于目录树构建多个训练样本,每个训练样本包括待匹配信息和从所述目录树中选取的样本节点对应的候选信息;其中,所述目录树是由多个节点构建而成的有向无环图,每个节点具有对应的候选信息,从父节点指向子节点的有向边,代表所述父节点对应的候选信息与所述子节点对应的候选信息存在上下位关系;
通过所述特征提取网络获取所述待匹配信息和所述样本节点对应的候选信息的匹配表示向量;
通过所述节点打分网络根据所述匹配表示向量,输出所述样本节点对应的节点分值的预测值,所述节点分值用于指示节点选择正确性;
通过所述路径打分网络根据所述匹配表示向量,输出所述样本节点对应的路径分值的预测值,所述路径分值用于指示路径选择正确性;
基于所述节点分值的预测值和所述路径分值的预测值,计算模型训练损失;
根据所述模型训练损失对所述信息匹配模型的网络参数进行调整,得到完成训练的信息匹配模型;其中,所述完成训练的信息匹配模型用于基于所述目录树提供与查询信息对应的匹配结果。
根据本申请实施例的一个方面,提供了一种信息匹配装置,所述装置包括:
信息获取模块,用于获取查询信息和目录树,所述目录树是由多个节点构建而成的有向无环图,每个节点具有对应的候选信息,从父节点指向子节点的有向边,代表所述父节点对应的候选信息与所述子节点对应的候选信息存在上下位关系;
分值计算模块,用于将所述目录树的根节点作为初始化的第一节点,将所述根节点的子节点作为初始化的第二节点,基于所述查询信息和所述第二节点对应的候选信息,分别计算每个第二节点对应的节点分值和路径分值;其中,所述节点分值用于指示节点选择正确性,所述路径分值用于指示路径选择正确性;
节点剔除模块,用于对于所述路径分值不符合第一条件的目标第二节点,从所述目录树中剔除所述目标第二节点及所述目标第二节点的子孙节点;
所述分值计算模块,还用于在所述目录树中还存在剩余第二节点的情况下,将所述剩余第二节点作为新的第一节点,将所述剩余第二节点的子节点作为新的第二节点,再次执行所述基于所述查询信息和所述第二节点对应的候选信息,分别计算每个第二节点对应的节点分值和路径分值的步骤;
结果确定模块,用于在所述目录树中不存在剩余第二节点的情况下,从所述目录树中未被剔除的节点中,选择符合第二条件的目标节点对应的候选信息,作为所述查询信息对应的匹配结果。
根据本申请实施例的一个方面,提供了一种信息匹配模型的训练装置,所述信息匹配模型包括特征提取网络、节点打分网络和路径打分网络;所述装置包括:
样本构建模块,用于基于目录树构建多个训练样本,每个训练样本包括待匹配信息和从所述目录树中选取的样本节点对应的候选信息;其中,所述目录树是由多个节点构建而成的有向无环图,每个节点具有对应的候选信息,从父节点指向子节点的有向边,代表所述父节点对应的候选信息与所述子节点对应的候选信息存在上下位关系;
特征提取模块,用于通过所述特征提取网络获取所述待匹配信息和所述样本节点对应的候选信息的匹配表示向量;
节点打分模块,用于通过所述节点打分网络根据所述匹配表示向量,输出所述样本节点对应的节点分值的预测值,所述节点分值用于指示节点选择正确性;
路径打分模块,用于通过所述路径打分网络根据所述匹配表示向量,输出所述样本节点对应的路径分值的预测值,所述路径分值用于指示路径选择正确性;
损失计算模块,用于基于所述节点分值的预测值和所述路径分值的预测值,计算模型训练损失;
参数调整模块,用于根据所述模型训练损失对所述信息匹配模型的网络参数进行调整,得到完成训练的信息匹配模型;其中,所述完成训练的信息匹配模型用于基于所述目录树提供与查询信息对应的匹配结果。
根据本申请实施例的一个方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述信息匹配方法,或者实现上述信息匹配模型的训练方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述信息匹配方法,或者实现上述信息匹配模型的训练方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述信息匹配方法,或者执行上述信息匹配模型的训练方法。
本申请实施例提供的技术方案至少包括如下有益效果:
通过将候选信息构建为目录树,然后基于该目录树分批次地计算部分节点所对应的候选信息与查询信息之间的匹配度,计算结果包括节点分值和路径分值,基于该路径分值能够实现对目录树的剪枝,将一些与查询信息匹配度低的分支剔除掉,从而不必计算目录树中的每一个节点对应的候选信息与查询信息之间的匹配度,降低整个信息匹配过程的计算复杂度,也有助于提升获得匹配结果的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的方案实施环境的示意图;
图2是本申请一个实施例提供的答案库目录树的示意图;
图3是本申请一个实施例提供的问答系统的界面示意图;
图4是本申请一个实施例提供的树形结构的有向无环图的示意图;
图5是本申请一个实施例提供的信息匹配方法的流程图;
图6是本申请一个实施例提供的信息匹配模型的训练方法的流程图;
图7是本申请一个实施例提供的模型使用过程的流程图;
图8是本申请一个实施例提供的分值计算过程的示意图;
图9是本申请一个实施例提供的模型训练过程的流程图;
图10是本申请一个实施例提供的信息匹配装置的框图;
图11是本申请一个实施例提供的信息匹配模型的训练装置的框图;
图12是本申请一个实施例提供的计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language Processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
本申请实施例提供的技术方案,涉及人工智能的机器学习和自然语言处理等技术,具体通过如下实施例进行介绍说明。
请参考图1,其示出了本申请一个实施例提供的方案实施环境的示意图。该方案实施环境可以包括模型训练设备10和模型使用设备20。
模型训练设备10可以是诸如电脑、服务器、智能机器人等电子设备,或者是其他一些具有较强计算能力的电子设备。模型训练设备10用于对信息匹配模型30进行训练。在本申请实施例中,信息匹配模型30是用于对两个信息进行匹配度计算的神经网络模型,模型训练设备10可以采用机器学习的方式对该信息匹配模型30进行训练,以使得其具备较好的性能。
上述训练完成的信息匹配模型30可部署在模型使用设备20中使用,以提供与查询信息对应的匹配结果。模型使用设备20可以是诸如手机、电脑、智能电视、多媒体播放设备、可穿戴设备、医疗设备等终端设备,也可以是服务器,本申请对此不作限定。
在本申请实施例中,信息匹配模型30基于目录树提供与查询信息对应的匹配结果。目录树是由多个节点构建而成的有向无环图,每个节点具有对应的候选信息,从父节点指向子节点的有向边,代表父节点对应的候选信息与子节点对应的候选信息存在上下位关系。
在示例性实施例中,如图1所示,信息匹配模型30包括特征提取网络31、节点打分网络32和路径打分网络33。其中,特征提取网络31用于提取查询信息与目录树中任一节点对应的候选信息的匹配表示向量;节点打分网络32用于根据匹配表示向量,输出上述节点对应的节点分值,该节点分值用于指示节点选择正确性;路径打分网络33用于根据匹配表示向量,输出上述节点对应的路径分值,该路径分值用于指示路径选择正确性。模型使用设备20基于上述路径分值对目录树进行剪枝,剔除不需要和查询信息进行匹配计算的节点,从而降低计算复杂度。最终,模型使用设备20从目录树中未被剔除的节点中,选择符合一定条件的目标节点对应的候选信息,作为查询信息对应的匹配结果。
在下述方法实施例中,将详细介绍该信息匹配模型30的使用过程和训练过程。另外,该信息匹配模型30可以适用于文本之间的匹配计算,也可以适用于图片之间的匹配计算,还可以适用于音频、视频等其他信息的匹配计算,本申请对此不作限定。
以信息匹配模型30用于文本之间的匹配计算为例,一个典型的应用场景是智能问答系统。智能问答系统的答案库采用目录树结构建模,为一个有向无环图(DirectedAcyclic Graph,简称DAG)。答案库τ0=(N0,E0)中,N0为节点集合。答案库中每个节点ni=(qi,ai)∈N0表示答案库中的一个样例,包含样例问题qi和该样例问题的标准答案ai,其中qi和ai均为文本。答案库中每条边ei=<np,nc>∈E0表示答案库中存在的一种上下位答案关系,其中np为nc的上位问答,即np的样例问题能够包含nc的样例问题。答案库中有且仅有一个根节点r=(qr,ar)∈N0,作为整个答案库最上层的节点,其中qr为空字符串,ar为问答系统的默认回答,作为整个答案库均无法与用户问题匹配时的输出。一个在新冠疫情问答中采用的答案库目录树示例如图2所示。
基于图2所示的答案库目录树,智能问答系统的客户端可以向用户提供与新冠疫情相关的问答服务。如图3所示,用户在客户端的主界面31中点击“新冠疫苗”按钮32,客户端显示新冠疫苗相关的介绍界面33,用户点击该介绍界面33中的“咨询助手”按钮34,客户端显示问答界面35,用户可以在该问答界面35中选择或者输入想要询问的问题,系统自动返回给用户答案库中与问题最匹配的答案,客户端显示该答案。
当然,除了应用于智能问答系统之外,本申请技术方案还可应用于搜索系统(提供与搜索信息相对应的搜索结果)、翻译系统(提供与待翻译信息相对应的翻译结果)等任何涉及两项信息间匹配度计算的应用场景中,本申请对此不作限定。
另外,为了便于理解,首先结合图4,对树形结构的有向无环图进行介绍说明。如图4所示,有向无环图包括多个节点,以及连接节点的有向边。每一条有向边所连接的两个节点,具有父子关系。在图4中,存在从节点A指向节点B的有向边,节点A是节点B的父节点,节点B是节点A的子节点。类似地,存在从节点G指向节点L的有向边,节点G是节点L的父节点,节点L是节点G的子节点。
某一个节点的子节点,是指从该节点发出的有向边直接指向的节点。例如,节点A的子节点包括节点B和节点C,节点B的子节点包括节点D、节点E和节点F,节点C的子节点包括节点G和节点H。
某一个节点的父节点,是指指向该节点的有向边所连接的节点。例如,节点B的父节点为节点A,节点K的父节点为节点F,节点E的父节点为节点B。
某一个节点的子孙节点,包括该节点的子节点,子节点的下一层子节点,下一层子节点的再下一层子节点……,以此类推,直至没有下一层子节点。也即,某一节点的子孙节点,包括从该节点出发能够连接到的所有下层节点。例如,节点B的子孙节点包括节点D、节点E、节点F、节点I、节点J和节点K,节点C的子孙节点包括节点G、节点H、节点L、节点M和节点N。
某一个节点的祖先节点,包括该节点的父节点,父节点的上一层父节点,上一层父节点的再上一层父节点……,以此类推,直至没有上一层父节点。也即,某一节点的祖先节点,包括从该节点出发能够连接到的所有上层节点。例如,节点J的祖先节点包括节点D、节点B和节点A,节点E的祖先节点包括节点B和节点A。
下面,将通过几个实施例对本申请技术方案进行介绍说明。
请参考图5,其示出了本申请一个实施例提供的信息匹配方法的流程图。该方法各步骤的执行主体可以是上述图1所示方案实施环境中的模型使用设备20。该方法可以包括如下几个步骤(510~570):
步骤510,获取查询信息和目录树。
查询信息可以是用户提供的信息,基于目录树提供与查询信息对应的匹配结果。示例性地,查询信息可以是文本形式。例如在智能问答系统中,查询信息可以是用户选择或输入的一个问题。
目录树是由多个节点构建而成的有向无环图,该有向无环图是树形结构的有向无环图。每个节点具有对应的候选信息,从父节点指向子节点的有向边,代表该父节点对应的候选信息与该子节点对应的候选信息存在上下位关系。其中,父节点对应的候选信息是子节点对应的候选信息的上位表达,子节点对应的候选信息是父节点对应的候选信息的下位表达。可选地,目录树的根节点对应的候选信息为默认候选信息,在目录树除根节点之外的其他节点中不存在与查询信息相匹配的候选信息的情况下,该默认候选信息作为查询信息对应的匹配结果。
以图2所示的答案库目录树为例,样例问题A是“能介绍一下新冠疫苗吗?”,样例问题B是“新冠疫苗保护性如何?”,该样例问题A对应节点是样例问题B对应节点的父节点,也即样例问题A是样例问题B的上位表达,样例问题B是样例问题A的下位表达。另外,图2中的根节点对应的样例问题为空字符串,对应的标准答案为“我不理解你所说的内容。”,作为整个答案库均无法与用户问题匹配时的输出。
步骤520,将目录树的根节点作为初始化的第一节点,将根节点的子节点作为初始化的第二节点。
根节点的子节点是指与该根节点通过有向边直接相连的节点,该有向边从根节点指向其子节点。根节点可以具有一个或多个子节点。
步骤530,基于查询信息和第二节点对应的候选信息,分别计算每个第二节点对应的节点分值和路径分值。
节点分值用于指示节点选择正确性。所谓节点选择正确性,是指将该节点对应的候选信息作为查询信息对应的匹配结果的准确程度。在一个示例中,节点分值越大,代表节点选择正确性越高。
路径分值用于指示路径选择正确性。所谓路径选择正确性,是指从该节点或者该节点的子孙节点所对应的候选信息中,选择查询信息对应的匹配结果的准确程度。在一个示例中,路径分值越大,代表路径选择正确性越高。
可选地,步骤530可以包括如下几个子步骤(1~3):
1.获取查询信息和第二节点对应的候选信息的匹配表示向量;
匹配表示向量是对查询信息和第二节点对应的候选信息的数值化表达,以向量形式来表征这两项信息,从而实现后续的分值计算。
可选地,通过特征提取网络对查询信息和第二节点对应的候选信息进行处理,输出匹配表示向量。
在一个示例中,以查询信息和第二节点对应的候选信息均为文本为例,本步骤包括如下几个子步骤(1-1~1-4):
1-1.对查询信息和第二节点对应的候选信息分别进行分词处理,得到第一词序列和第二词序列;
第一词序列是对查询信息进行分词得到的词序列,第二词序列是对第二节点对应的候选信息进行分词得到的词序列。例如,查询信息为q,第二节点对应的候选信息为qi,利用jieba分词工具对q和qi进行分词,得到对应的词序列tq和tqi。当然,本申请对于分词所采用的工具或方法不作限定。
1-2.将分类嵌入、第一词序列对应的嵌入序列、分隔嵌入和第二词序列对应的嵌入序列进行拼接,得到拼接嵌入序列;
在分词得到词序列tq和tqi之后,将tq和tqi拼接为特征提取网络的输入格式。可选地,对于tq和tqi中的每一个分词,获取该分词对应的词嵌入(embedding),词嵌入是对分词的数值化表达,也称为词向量。第一词序列tq中的各个分词转化为词嵌入之后,得到第一词序列tq对应的嵌入序列。第二词序列tqi中的各个分词转化为词嵌入之后,得到第二词序列tqi对应的嵌入序列。
另外,上述分类嵌入是分类标志符的词嵌入表达。经特征提取网络输出的对应于该分类标志符的特征向量,被用作后续分类任务的聚合序列表示。分隔嵌入是分隔标志符的词嵌入表达。分隔标志符用于对第一词序列和第二词序列进行分隔。示例性地,将分类标志符[CLS]、第一词序列tq、分隔标志符[SEP]和第二词序列tqi进行拼接,得到拼接序列 为拼接符号。
在一个示例中,可以先对分类标志符[CLS]、第一词序列tq、分隔标志符[SEP]和第二词序列tqi进行拼接,得到拼接序列xq,qi,然后将该拼接序列xq,qi进行词嵌入转换,得到拼接嵌入序列。
在另一个示例中,可以先进行从嵌入转换,得到分类嵌入、第一词序列对应的嵌入序列、分隔嵌入和第二词序列对应的嵌入序列,然后对上述内容进行拼接,得到拼接嵌入序列。
1-3.通过特征提取网络对拼接嵌入序列进行处理,得到输出特征向量;
将拼接嵌入序列输入至特征提取网络,通过特征提取网络进行特征提取处理,得到输出特征向量。特征提取网络可以是神经网络结构。例如,特征提取网络可以是BERT(Bidirectional Encoder Representations from Transformers,基于转换器的双向编码表征)模型或其衍生模型。例如,对于中文文本,该特征提取网络可以使用chinese-bert-wwm预训练语言模型。当然,本申请并不限定特征提取网络还可采用其他模型结构,如ESIM(Enhanced Sequential Inference Model,增强序列推断模型)等。
1-4.从输出特征向量中提取分类嵌入对应的特征向量,作为匹配表示向量。
在得到特征提取网络的输出特征向量之后,从该输出特征向量中提取分类嵌入对应的特征向量,作为匹配表示向量cq,qi。
2.通过节点打分网络根据匹配表示向量,输出第二节点对应的节点分值;
节点打分网络是一个用于执行分类任务的神经网络。节点打分网络的输入数据为匹配表示向量cq,qi,输出为节点分值。节点分值的取值范围可以是[0,1],且节点分值越大,表示节点选择正确性越高。
3.通过路径打分网络根据匹配表示向量,输出第二节点对应的路径分值。
路径打分网络也是一个用于执行分类任务的神经网络。路径打分网络的输入数据为匹配表示向量cq,qi,输出为路径分值。路径分值的取值范围可以是[0,1],且路径分值越大,表示路径选择正确性越高。
步骤540,对于路径分值不符合第一条件的目标第二节点,从目录树中剔除目标第二节点及该目标第二节点的子孙节点。
第一条件的设定,是用于删减掉一些与查询信息相关性不强(或者说匹配度低)的节点及其子孙节点,以达到对目录树剪枝的目的,从而不必计算目录树中的每一个节点对应的候选信息与查询信息之间的匹配度,降低计算量。
第一条件可以包括但不限于以下至少一项:路径分值大于第一阈值,路径分值在分值序列中位于前X%;其中,第一阈值可以是预先设定的数值,分值序列是按路径分值由大到小的顺序对各个第二节点的路径分值进行排序得到的序列,X也可以是预先设定的数值,例如X为10或20。
在一个示例中,步骤540包括:从第二节点中确定目标第二节点和保留的剩余第二节点;其中,剩余第二节点中的最小路径分值,大于或等于目标第二节点中的最大路径分值,且剩余第二节点的数量与第二节点的总数量的比值小于或等于设定系数;从目录树中剔除目标第二节点及目标第二节点的子孙节点。例如,第二节点的总数量为10,设定系数为X%,如20%,那么这10个第二节点中,路径分值最大的2个第二节点即为保留的剩余第二节点,其余8个第二节点则为需要剔除的目标第二节点。
另外,由于目录树是基于候选信息之间的上下位关系构建的,如果目标第二节点对应的路径分值不符合第一条件,则说明该目标第二节点以下的整条路径都不可能与查询信息匹配,因此可以从目录树中剔除该目标第二节点以及该目标第二节点的所有子孙节点,这部分剔除的节点就不再需要和查询信息进行匹配度计算(也即节点分值和路径分值的计算),充分降低计算量。
步骤550,判断目录树中是否还存在剩余第二节点;若是,则执行下述步骤560;若否,则执行下述步骤570。
步骤560,将剩余第二节点作为新的第一节点,将剩余第二节点的子节点作为新的第二节点,再次从步骤530开始执行。
如果目录树中存在未被剔除的剩余第二节点(也即这部分剩余第二节点是符合第一条件的第二节点),那么将该剩余第二节点作为新的第一节点,将剩余第二节点的子节点作为新的第二节点,从上述步骤530开始做一次循环。
步骤570,从目录树中未被剔除的节点中,选择符合第二条件的目标节点对应的候选信息,作为查询信息对应的匹配结果。
如果目录树中不存在未被剔除的剩余第二节点,那么从目录树中未被剔除的节点中,选择符合第二条件的目标节点对应的候选信息,作为查询信息对应的匹配结果。第二条件的设定,是用于从目录树中未被剔除的节点中,选择出与查询信息匹配度最高的节点,将该节点所对应的候选信息作为查询信息对应的匹配结果。
第二条件可以包括但不限于以下至少一项:节点分值最大,基于节点分值和路径分值计算得到的综合分值最大,节点分值大于第二阈值,基于节点分值和路径分值计算得到的综合分值大于第三阈值。其中,第二阈值和第三阈值均可以是预先设定的数值。
在一个示例中,步骤570包括:对于目录树中未被剔除的节点,根据该节点对应的节点分值和路径分值,计算该节点对应的综合分值;选择综合分值最大的节点作为目标节点;将目标节点对应的候选信息,确定为查询信息对应的匹配结果。
在本申请实施例中,对综合分值的计算方式不作限定。例如,可以将节点分值和路径分值的乘积作为综合分值,也可以将节点分值和路径分值的求和结果作为综合分值,还可以对节点分值和路径分值进行加权求和得到综合分值,等等。在得到目录树中未被剔除的各个节点分别对应的综合分值之后,选择综合分值最大的节点作为匹配度最高的目标节点,然后将该目标节点对应的候选信息,确定为查询信息对应的匹配结果。
另外,考虑到目录树中的候选信息可能并不全面,导致虽然找到了综合分值最高的目标节点,但是该目标节点对应的候选信息与查询信息之间的匹配度可能仍然不够好,本申请一示例性实施例提供了一种门限判断机制,在计算得到目录树中未被剔除的各个节点的综合分值之后,将综合分值的最大值和门限值进行比较,若综合分值的最大值小于门限值,则将默认候选信息确定为查询信息对应的匹配结果,若综合分值的最大值大于门限值,则选择综合分值最大的节点作为目标节点,并将该目标节点对应的候选信息,确定为查询信息对应的匹配结果。上述默认候选信息即为找不到合适的候选信息时的一个通用匹配结果。该默认候选信息可以作为目录树中根节点对应的候选信息。例如,图2所示的答案库目录树中的默认标准答案“我不理解你所说的内容。”
此外,如果将默认候选信息确定为查询信息对应的匹配结果,那么可以记录该查询信息,以便相关技术人员根据该查询信息创建其匹配的候选信息,然后将该创建的候选信息添加至目录树中,实现对目录树内容的更新和扩充。
可选地,在目标节点不是目录树中的叶子节点的情况下,也可以记录查询信息和目标节点。如果目标节点不是目录树中的叶子节点,则说明有可能并未给查询信息匹配到最优的候选信息,仅是给查询信息匹配到了次优的候选信息,通过记录查询信息和目标节点,以便于相关技术人员根据该记录的查询信息,创建其更为匹配的候选信息,以更好地更新和完善该目录树内容。
综上所述,本申请实施例提供的技术方案,通过将候选信息构建为目录树,然后基于该目录树分批次地计算部分节点所对应的候选信息与查询信息之间的匹配度,计算结果包括节点分值和路径分值,基于该路径分值能够实现对目录树的剪枝,将一些与查询信息匹配度低的分支剔除掉,从而不必计算目录树中的每一个节点对应的候选信息与查询信息之间的匹配度,降低整个信息匹配过程的计算复杂度,也有助于提升获得匹配结果的效率。
另外,当目录树中存在综合分值大于门限值的目标节点时,将该目标节点对应的候选信息,确定为查询信息对应的匹配结果,能够实现从目录树中找到最优的匹配结果反馈给用户;当目录树中不存在综合分值大于门限值的目标节点时,一方面通过返回默认候选信息,能够向用户提供一个较为笼统的反馈结果,而不是提供一个错误反馈结果,使得用户在目录树覆盖不完全时仍能够获得尽可能良好的体验,另一方面通过记录该查询信息,以便于相关技术人员根据该查询信息创建其匹配的候选信息,然后将该创建的候选信息添加至目录树中,实现对目录树内容的更新和扩充。
另外,在最终匹配的目标节点不是目录树中的叶子节点的情况下,也通过记录查询信息和目标节点,以便于相关技术人员根据该记录的查询信息,创建其更为匹配的候选信息,以更好地更新和完善该目录树内容。
请参考图6,其示出了本申请一个实施例提供的信息匹配模型的训练方法的流程图。该信息匹配模型包括上文提及的特征提取网络、节点打分网络和路径打分网络。该方法各步骤的执行主体可以是上述图1所示方案实施环境中的模型训练设备10。该方法可以包括如下几个步骤(610~660):
步骤610,基于目录树构建多个训练样本,每个训练样本包括待匹配信息和从目录树中选取的样本节点对应的候选信息。
目录树是由多个节点构建而成的有向无环图,每个节点具有对应的候选信息,从父节点指向子节点的有向边,代表该父节点对应的候选信息与该子节点对应的候选信息存在上下位关系。
在本申请中,信息匹配模型的训练过程采用自监督学习(Self-supervisedlearning)方式,由已有的目录树中存在的候选信息作为数据来源,自动构建训练样本集。与已有的自监督目录树扩展算法不同,本申请方案的重点在于信息匹配而非节点添加,故更重视信息与信息本身的匹配。
由于信息匹配模型包括节点打分网络和路径打分网络,这两个网络的输入信息均为匹配表示向量,因此这两个网络可以共用同一个特征提取网络。节点打分网络和路径打分网络是两个分类网络,两者结构可以相同,也可以不同,但网络参数(包括权重参数和偏置参数)互相独立且分别更新。该模型训练过程可以看作是一个多任务训练过程,既要训练节点打分网络,又要训练路径打分网络。因此,训练样本集中需要包括节点打分网络的正样本和负样本,还需要包括路径打分网络的正样本和负样本。
上述样本节点是指从目录树中选取的节点,每一个样本节点即为从目录树中选取的一个节点,基于该样本节点对应的候选信息可以生成待匹配信息,然后结合待匹配信息和该样本节点对应的候选信息构建出一个训练样本。
可选地,步骤610可以包括如下几个子步骤(1~4):
1.根据样本节点对应的候选信息或者样本节点的子节点对应的候选信息,生成待匹配信息;基于该待匹配信息和样本节点对应的候选信息,构建第一训练样本,该第一训练样本为节点打分网络的正样本;
在一个示例中,通过如下方式根据样本节点对应的候选信息生成待匹配信息:对样本节点对应的候选信息进行正向翻译,得到第一翻译结果;对第一翻译结果进行反向翻译,得到待匹配信息,该待匹配信息是与样本节点对应的候选信息具有相同语义的不同表达。以文本为例,利用任意的机器翻译工具,先将样本节点对应的候选信息从第一语种翻译为第二语种(即正向翻译),得到第一翻译结果,然后将该第一翻译结果从第二语种翻译为第一语种(即反向翻译),得到待匹配信息。
在另一个示例中,通过如下方式根据样本节点的子节点对应的候选信息生成待匹配信息:根据样本节点的子节点对应的候选信息,生成样本节点对应的候选信息的相似信息;对该相似信息进行正向翻译得到第二翻译结果;对第二翻译结果进行反向翻译,得到待匹配信息,该待匹配信息是与上述相似信息具有相同语义的不同表达。可选地,从样本节点的所有子节点中,随机采样一个子节点,然后基于该子节点对应的候选信息,生成一个与样本节点对应的候选信息类似但不完全相同的信息(此处称为“相似信息”)。在一种实现方式下,可以直接将该相似信息作为待匹配信息。在另一种实现方式下,对该相似信息进行上文介绍的正向翻译和反向翻译过程,最终得到待匹配信息。
可选地,上述正向翻译和反向翻译可以使用同一种的翻译工具,也可以使用两种不同的翻译工具。
可选地,通过如下方式根据样本节点的子节点对应的候选信息,生成样本节点对应的候选信息的相似信息:为了简化说明,将样本节点对应的候选信息称为“第一候选信息”,将样本节点的子节点对应的候选信息称为“第二候选信息”,对第一候选信息和第二候选信息分别进行分词处理,得到第一词集合和第二词集合,其中,第一词集合中包括第一候选信息分词处理得到的各个分词,第二词集合中包括第二候选信息分词处理得到的各个分词;之后,获取至少一个目标分词,目标分词是指第一词集合中存在,但第二词集合中不存在的分词;从上述至少一个目标分词中,随机采样一个或多个目标分词从第一候选信息中剔除,得到的修改后的第一候选信息即为上文所述的相似信息。
2.从目录树中选取除样本节点之外的第一目标节点;根据第一目标节点对应的候选信息,生成待匹配信息;基于该待匹配信息和样本节点对应的候选信息,构建第二训练样本,该第二训练样本为节点打分网络的负样本;
在一个示例中,通过如下方式根据第一目标节点对应的候选信息,生成待匹配信息:直接将第一目标节点对应的候选信息作为待匹配信息。
在另一个示例中,通过如下方式根据第一目标节点对应的候选信息,生成待匹配信息:对第一目标节点对应的候选信息依次进行上文所述的正向翻译和反向翻译,得到待匹配信息。
3.根据样本节点对应的候选信息或者样本节点的祖先节点对应的候选信息,生成待匹配信息;基于该待匹配信息和样本节点对应的候选信息,构建第三训练样本,该第三训练样本为路径打分网络的正样本;
在一个示例中,通过如下方式根据样本节点对应的候选信息生成待匹配信息:对样本节点对应的候选信息依次进行上文所述的正向翻译和反向翻译,得到待匹配信息。
在另一个示例中,通过如下方式根据样本节点的祖先节点对应的候选信息,生成待匹配信息:对祖先节点对应的候选信息依次进行上文所述的正向翻译和反向翻译,得到待匹配信息。
4.从目录树中选取除样本节点及其祖先节点之外的第二目标节点;根据第二目标节点对应的候选信息,生成待匹配信息;基于该待匹配信息和样本节点对应的候选信息,构建第四训练样本,该第四训练样本为路径打分网络的负样本。
在一个示例中,通过如下方式根据第二目标节点对应的候选信息,生成待匹配信息:直接将第二目标节点对应的候选信息作为待匹配信息。
在另一个示例中,通过如下方式根据第二目标节点对应的候选信息,生成待匹配信息:对第二目标节点对应的候选信息依次进行上文所述的正向翻译和反向翻译,得到待匹配信息。
步骤620,通过特征提取网络获取待匹配信息和样本节点对应的候选信息的匹配表示向量。
可选地,对待匹配信息和样本节点对应的候选信息分别进行分词处理,得到第三词序列和第四词序列;将分类嵌入、第三词序列对应的嵌入序列、分隔嵌入和第四词序列对应的嵌入序列进行拼接,得到拼接嵌入序列;通过特征提取网络对拼接嵌入序列进行处理,得到输出特征向量;从输出特征向量中提取分类嵌入对应的特征向量,作为匹配表示向量。该过程与图5实施例中介绍的获取查询信息和第二节点对应的候选信息的匹配表示向量的过程相类似,具体可参见上文介绍说明,此处不再赘述。
步骤630,通过节点打分网络根据匹配表示向量,输出样本节点对应的节点分值的预测值。
节点分值用于指示节点选择正确性。节点打分网络是一个用于执行分类任务的神经网络。在训练过程中,节点打分网络的输入数据为待匹配信息和样本节点对应的候选信息的匹配表示向量,输出为样本节点对应的节点分值的预测值。节点分值的取值范围可以是[0,1],且节点分值越大,表示节点选择正确性越高。
步骤640,通过路径打分网络根据匹配表示向量,输出样本节点对应的路径分值的预测值。
路径分值用于指示路径选择正确性。路径打分网络也是一个用于执行分类任务的神经网络。在训练过程中,路径打分网络的输入数据为待匹配信息和样本节点对应的候选信息的匹配表示向量,输出为样本节点对应的路径分值的预测值。路径分值的取值范围可以是[0,1],且路径分值越大,表示路径选择正确性越高。
步骤650,基于节点分值的预测值和路径分值的预测值,计算模型训练损失。
在得到节点分值的预测值和路径分值的预测值之后,结合训练样本的标签数据,计算模型训练损失。
可选地,基于节点分值的预测值和节点分值的标签值,计算节点分值训练损失;基于路径分值的预测值和路径分值的标签值,计算路径分值训练损失;根据节点分值训练损失和路径分值训练损失,计算模型训练损失。节点分值的标签值为0或1,其中,节点打分网络的正样本所对应的标签值为1,负样本所对应的标签值为0。路径分值的标签值为0或1,其中,路径打分网络的正样本所对应的标签值为1,负样本所对应的标签值为0。模型训练损失可以对节点分值训练损失和路径分值训练损失进行加权求和得到,节点分值训练损失和路径分值训练损失分别对应的权重可以灵活设定,本申请对此不作限定。
步骤660,根据模型训练损失对信息匹配模型的网络参数进行调整,得到完成训练的信息匹配模型;其中,完成训练的信息匹配模型用于基于目录树提供与查询信息对应的匹配结果。
在得到模型训练损失之后,采用梯度下降算法对信息匹配模型的网络参数进行调整,包括对特征提取网络、节点打分网络和路径打分网络的参数均进行调整,直至符合设定好的停止条件,完成信息匹配模型的训练。上述停止条件可以是模型精度符合设定要求,或者训练迭代轮数达到设定轮数等,本申请对此不作限定。
综上所述,本申请实施例提供的技术方案,通过对包含特征提取网络、节点打分网络和路径打分网络的信息匹配模型进行训练,使得模型能够输出两个信息的节点分值和路径分值,从而在模型使用过程中,能够利用路径分值实现对目录树的剪枝,将一些与查询信息匹配度低的分支剔除掉,从而不必计算目录树中的每一个节点对应的候选信息与查询信息之间的匹配度,降低整个信息匹配过程的计算复杂度,也有助于提升获得匹配结果的效率。
另外,在模型训练过程中,直接基于目录树构建模型的训练样本,利用已有的目录树中存在的候选信息作为数据来源,使得模型训练数据的获取更加简单高效。
下面,以应用于智能问答系统为例,对本申请技术方案进行介绍说明。信息匹配模型包括上文提及的特征提取网络、节点打分网络和路径打分网络。
如图7所示,模型使用过程可以包括如下几个步骤(710~790):
步骤710,获取用户问题和答案库目录树。
用户问题是指用户提供的问题,基于答案库目录树提供与该问题相匹配的答案。
答案库τ0=(N0,E0)中,N0为节点集合。答案库中每个节点ni=(qi,ai)∈N0表示答案库中的一个样例,包含样例问题qi和该样例问题的标准答案ai,其中qi和ai均为文本。答案库中每条边ei=<np,nc>∈E0表示答案库中存在的一种上下位答案关系,其中np为nc的上位问答,即np的样例问题能够包含nc的样例问题。答案库中有且仅有一个根节点r=(qr,ar)∈N0,作为整个答案库最上层的节点,其中qr为空字符串,ar为问答系统的默认回答,作为整个答案库均无法与用户问题匹配时的输出。一个在新冠疫情问答中采用的答案库目录树示例如图2所示。
步骤720,将答案库目录树的根节点作为初始化的第一节点,将根节点的子节点作为初始化的第二节点。
步骤730,通过特征提取网络获取用户问题和第二节点对应的样例问题的匹配表示向量。
可选地,对用户问题和第二节点对应的样例问题分别进行分词处理,得到第一词序列和第二词序列;将分类嵌入、第一词序列对应的嵌入序列、分隔嵌入和第二词序列对应的嵌入序列进行拼接,得到拼接嵌入序列;通过特征提取网络对拼接嵌入序列进行处理,得到输出特征向量;从输出特征向量中提取分类嵌入对应的特征向量,作为匹配表示向量。
步骤740,通过节点打分网络根据匹配表示向量,输出第二节点对应的节点分值。
步骤750,通过路径打分网络根据匹配表示向量,输出第二节点对应的路径分值。
示例性地,如图8所示,对于答案库目录树中的任意一个节点ni=(qi,ai)∈N0,为探究其与用户问题q的匹配程度,进行如下操作:
1.将q与qi利用jieba分词工具进行分词,得到对应的词序列tq和tqi。
4.获得匹配表示向量cq,qi后,将该匹配表示向量cq,qi分别传入节点打分网络和路径打分网络,获得节点分值sc和路径分值sp。其中,节点打分网络输出的节点分值sc描述节点选择正确性,该节点分值sc用于判断最优回答及进行匹配置信度分析。路径打分网络输出的路径分值sp描述ni在答案库目录树中的根路径选择正确性,该路径分值sp用于在预测过程中进行动态剪枝。
上述节点打分网络的运算过程可以如下:
sc(q,qi)=σ(Wc2tanh(Wc1cq,qi+b1)+b2)∈(0,1);
上述路径打分网络的运算过程可以如下:
sp(q,qi)=σ(Wp2tanh(Wp1cq,qi+b1)+b2)∈(0,1);
步骤760,对于路径分值不符合第一条件的目标第二节点,从答案库目录树中剔除目标第二节点及该目标第二节点的子孙节点。
可选地,按路径分值由大到小的顺序对各个第二节点的路径分值进行排序,得到分值序列,将路径分值在分值序列中位于前X%的第二节点确定为保留的剩余第二节点,其余第二节点则为剔除的目标第二节点。在确定出目标第二节点之后,从答案库目录树中剔除目标第二节点及该目标第二节点的子孙节点。X可以是预先设定的数值,例如X为10或20。
步骤770,判断答案库目录树中是否还存在剩余第二节点;若是,则执行下述步骤780;若否,则执行下述步骤790。
步骤780,将剩余第二节点作为新的第一节点,将剩余第二节点的子节点作为新的第二节点,再次从步骤730开始执行。
如果答案库目录树中存在未被剔除的剩余第二节点(也即这部分剩余第二节点是符合第一条件的第二节点),那么将该剩余第二节点作为新的第一节点,将剩余第二节点的子节点作为新的第二节点,从上述步骤730开始做一次循环。
步骤790,从答案库目录树中未被剔除的节点中,选择符合第二条件的目标节点对应的标准答案,作为用户问题对应的问答结果。
如果答案库目录树中不存在未被剔除的剩余第二节点,那么从答案库目录树中未被剔除的节点中,选择符合第二条件的目标节点对应的标准答案,作为用户问题对应的问答结果。例如,对于答案库目录树中未被剔除的节点,根据该节点对应的节点分值和路径分值,计算该节点对应的综合分值;选择综合分值最大的节点作为目标节点;将目标节点对应的标准答案,确定为用户问题对应的问答结果。
可选地,在计算得到答案库目录树中未被剔除的各个节点的综合分值之后,将综合分值的最大值和门限值进行比较,若综合分值的最大值小于门限值,则将默认标准答案确定为用户问题对应的问答结果,若综合分值的最大值大于门限值,则选择综合分值最大的节点作为目标节点,并将该目标节点对应的标准答案,确定为用户问题对应的问答结果。上述默认标准答案即为找不到合适的答案时的一个通用回答,如图2所示的答案库目录树中的默认标准答案“我不理解你所说的内容。”
示例性地,该模型使用过程的实现代码如下:
Input:Query question q,answer taxonomyτ0=(N0,E0),score threshold t,the pruning coefficientη(输入:用户问题q,答案库目录树τ0=(N0,E0),分数阈值t(相当于上文介绍的“门限值”,用来限定最终选取节点的综合分值,该分数阈值t越大则系统越容易返回默认标准答案),设定系数η(相当于上文介绍的设定系数为X%,用来限定在搜索过程中剪枝的激进程度,该设定系数η越大则需进行比较的节点更少,耗时更短,但会影响回答准确性))
Output:The best answer node in the taxonomy n*,the best node’s pathscoreand node score(输出:答案库目录树中的最优节点n*,该最优节点的路径分值和节点分值)
从上述模型使用过程的实现代码可以看出,使用过程是自顶向下逐级进行的,从τ0的第一级节点开始(第6行代码),将每个节点尝试与用户问题q进行匹配,并计算sp和sc分数(第10行代码)。在计算过程中同步进行剪枝,对于错误的路径不再进行后续比较。算法中,当某一节点的所有子节点全部完成分数计算后(第12-15行代码),仅保留sp分数最大的比例为η的子节点进行后续计算(第15行代码)。在完成所有计算后,选取已有分数且sc×sp分数最高的一个节点n*=(q*,a*)作为模型选择的正确回答(第16行代码)。获得最优节点n*后,需要做两步后续判断:
(1)由于答案库目录树无法回答用户提出的所有问题(例如,用户提出的问题与问答系统所涉及领域无关),对于无法回答的问题,需要向用户返回默认标准答案ar。这里,我们综合节点的路径分值与节点分值进行与分数阈值t的比较,当时,回复默认标准答案ar,否则回复a*。
(2)系统的回答应该尽量完全针对用户的问题,所以应当鼓励模型回复在答案库目录树中处于叶子节点的回答。这样的回答更加细化,从而具有更强的针对性。然而,答案库目录树可能无法针对用户的所有问题给出处于叶子节点上的最优回答,即n*为τ0的非叶子节点。此时系统返回一个同样能够解决用户问题但不够具有针对性的回答a*,同时将用户问题q与所选节点n*进行记录,以便系统维护者有目的地向n*下添加新的节点来对用户在未来提出的类似问题给出更加具有针对性的回答。
如图9所示,模型训练过程可以包括如下几个步骤(910~960):
步骤910,基于答案库目录树构建多个训练样本,每个训练样本包括待匹配问题和从目录树中选取的样本节点对应的样例问题。
步骤920,通过特征提取网络获取待匹配问题和样本节点对应的样例问题的匹配表示向量。
步骤930,通过节点打分网络根据匹配表示向量,输出样本节点对应的节点分值的预测值。
步骤940,通过路径打分网络根据匹配表示向量,输出样本节点对应的路径分值的预测值。
步骤950,基于节点分值的预测值和路径分值的预测值,计算模型训练损失。
步骤960,根据模型训练损失对信息匹配模型的网络参数进行调整,得到完成训练的信息匹配模型;其中,完成训练的信息匹配模型用于基于答案库目录树提供与用户问题对应的问答结果。
示例性地,该模型训练过程的实现代码如下:
Input:τ0=(N0,E0),negative size N,training epochs E,multitask learningweightλ,the model with parametersΘ0(输入:答案库目录树τ0=(N0,E0),负样本数量N,训练迭代次数E,多任务学习权重λ,初始化的模型参数Θ0)
Output:Learned model parametersΘ(输出:学习得到的模型参数Θ)
在模型训练过程中,每一个训练批次指将τ0中每一个节点都作为被匹配节点(即分值计算中的第二个参数)被遍历一次(第3行代码)。sc的训练(第4-11行代码)与sp的训练(第12-16行代码)分别进行,产生两个损失Lc和Lp,最终通过将这两个损失进行λ加权求和的方式进行多任务学习(第17行代码)。对于这二者的训练,每一次均选取一个正样本和N个负样本,计算其InfoNCE(Noise Contrastive Estimation,噪声对比估计)损失(第11行和第16行代码)。这其中用到了一系列函数,其解释如下:
augment(q):数据增强函数。其输入一个问题q,返回一个与q不同但语义相似的问题q’。这里的实现是利用反向翻译法(Back Translation):以q是中文为例,利用任意机器翻译API(Application Programming Interface,应用程序编程接口),首先将q从中文翻译为任意其他语言,再将得到的翻译结果翻译回中文得到q’。此外,若问答系统在数据构建过程中对同一个节点存在多种不同的样例问题,则该函数可以选择返回任意一个可被替换的样例问题。
sample_child_q(n):子节点采样函数。其输入一个节点n,返回一个随机采样的n的子节点。
sample_ancestor_q(n):祖先节点采样函数。其输入一个节点n,返回一个随机采样的n的祖先节点或n本身。
remove_complement(np,nc):子节点问题泛化函数。其输入两个节点,后一个节点nc=(qc,ac)为前一个节点np=(qp,ap)的子节点,输出一个根据子节点问题修改得到的与父节点类似的问题。这里的实现是:首先将qc与qp进行jieba分词得到两个词汇集合Wc和Wp,此后计算Wc和Wp的差集,表示下位问题相比于上位问题的细化点。函数输出为q_c.remove(sample(Wc-Wp)),其中remove为移除函数,sample为随机采样函数。
训练过程中,sc与sp的标签不同:当ni作为被匹配节点时,sc作为选择节点的依据,衡量被匹配节点是否选择正确,故当且仅当sc计算的两个参数为同一节点时标签为1,其余情况均为0。其正样本来自于ni本身(第4-7行代码),负样本来自于除自身外所有节点的采样(第8-10行代码)。sp作为预测过程中剪枝的依据,衡量被匹配节点的路径是否选择正确,故当且仅当sc计算的第一个参数来自ni及ni的祖先节点(在上述代码中记为Ani)时标签为1,其余情况均为0。其正样本来自于ni自身或其祖先节点(第12行代码),负样本来自于除自身和祖先节点外所有节点的采样(第13-15行代码)。
另外,上文仅以采用InfoNCE损失作为模型训练损失为例,在一些其他实施例中,也可以采用交叉熵损失或者其他损失函数作为模型训练损失。
本申请不仅能够在答案库中存在用户当前问题的最佳答案时将该最佳答案返回给用户,同时也可以通过系统无法找到最优答案而返回次优答案的行为定向地为答案库扩充新答案,以适应用户问题的持续更新。另外,本申请是针对由目录树结构建模的答案库的问答系统设计,不仅可以根据目录树结构减少所需匹配的答案数量,降低算法整体复杂度,同时也能够在不存在最佳答案时为用户返回次佳答案(即一般情况下的答案)以提升用户体验。
在上述实施例中,给出了方案在智能问答系统中的实现过程,当然,该方案还可迁移到搜索系统、翻译系统等其他任何涉及两项信息间匹配度计算的应用场景中,本申请对此不作限定。
需要说明的是,上文以不同的实施例分别对信息匹配模型的使用过程和训练过程进行了介绍说明,有关该模型使用过程中涉及的内容和训练过程中涉及的内容是相互对应的,两者互通,如在一侧未作详细说明的地方,可以参考另一侧的描述说明。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图10,其示出了本申请一个实施例提供的信息匹配装置的框图。该装置用于实现上述信息匹配方法。该装置1000可以包括:信息获取模块1010、分值计算模块1020、节点剔除模块1030和结果确定模块1040。
信息获取模块1010,用于获取查询信息和目录树,所述目录树是由多个节点构建而成的有向无环图,每个节点具有对应的候选信息,从父节点指向子节点的有向边,代表所述父节点对应的候选信息与所述子节点对应的候选信息存在上下位关系。
分值计算模块1020,用于将所述目录树的根节点作为初始化的第一节点,将所述根节点的子节点作为初始化的第二节点,基于所述查询信息和所述第二节点对应的候选信息,分别计算每个第二节点对应的节点分值和路径分值;其中,所述节点分值用于指示节点选择正确性,所述路径分值用于指示路径选择正确性。
节点剔除模块1030,用于对于所述路径分值不符合第一条件的目标第二节点,从所述目录树中剔除所述目标第二节点及所述目标第二节点的子孙节点。
所述分值计算模块1020,还用于在所述目录树中还存在剩余第二节点的情况下,将所述剩余第二节点作为新的第一节点,将所述剩余第二节点的子节点作为新的第二节点,再次执行所述基于所述查询信息和所述第二节点对应的候选信息,分别计算每个第二节点对应的节点分值和路径分值的步骤。
结果确定模块1040,用于在所述目录树中不存在剩余第二节点的情况下,从所述目录树中未被剔除的节点中,选择符合第二条件的目标节点对应的候选信息,作为所述查询信息对应的匹配结果。
在示例性实施例中,所述分值计算模块1020,用于:
获取所述查询信息和所述第二节点对应的候选信息的匹配表示向量;
通过节点打分网络根据所述匹配表示向量,输出所述第二节点对应的节点分值;
通过路径打分网络根据所述匹配表示向量,输出所述第二节点对应的路径分值。
可选地,所述分值计算模块1020,用于:
对所述查询信息和所述第二节点对应的候选信息分别进行分词处理,得到第一词序列和第二词序列;
将分类嵌入、所述第一词序列对应的嵌入序列、分隔嵌入和所述第二词序列对应的嵌入序列进行拼接,得到拼接嵌入序列;
通过特征提取网络对所述拼接嵌入序列进行处理,得到输出特征向量;
从所述输出特征向量中提取所述分类嵌入对应的特征向量,作为所述匹配表示向量。
在示例性实施例中,所述节点剔除模块1030,用于:
从所述第二节点中确定所述目标第二节点和保留的所述剩余第二节点;其中,所述剩余第二节点中的最小路径分值,大于或等于所述目标第二节点中的最大路径分值,且所述剩余第二节点的数量与所述第二节点的总数量的比值小于或等于设定系数;
从所述目录树中剔除所述目标第二节点及所述目标第二节点的子孙节点。
在示例性实施例中,所述结果确定模块1040,用于:
对于所述目录树中未被剔除的节点,根据所述节点对应的节点分值和路径分值,计算所述节点对应的综合分值;
选择所述综合分值最大的节点作为所述目标节点;
将所述目标节点对应的候选信息,确定为所述查询信息对应的匹配结果。
在示例性实施例中,所述结果确定模块1040,还用于:
若所述综合分值的最大值小于门限值,则将默认候选信息确定为所述查询信息对应的匹配结果;
若所述综合分值的最大值大于门限值,则执行所述选择所述综合分值最大的节点作为所述目标节点;将所述目标节点对应的候选信息,确定为所述查询信息对应的匹配结果的步骤。
在示例性实施例中,所述结果确定模块1040,还用于:
在所述目标节点不是所述目录树中的叶子节点的情况下,记录所述查询信息和所述目标节点。
请参考图11,其示出了本申请一个实施例提供的信息匹配模型的训练装置的框图。该信息匹配模型可以包括特征提取网络、节点打分网络和路径打分网络。该装置用于实现上述信息匹配模型的训练方法。该装置1100可以包括:样本构建模块1110、特征提取模块1120、节点打分模块1130、路径打分模块1140、损失计算模块1150和参数调整模块1160。
样本构建模块1110,用于基于目录树构建多个训练样本,每个训练样本包括待匹配信息和从所述目录树中选取的样本节点对应的候选信息;其中,所述目录树是由多个节点构建而成的有向无环图,每个节点具有对应的候选信息,从父节点指向子节点的有向边,代表所述父节点对应的候选信息与所述子节点对应的候选信息存在上下位关系。
特征提取模块1120,用于通过所述特征提取网络获取所述待匹配信息和所述样本节点对应的候选信息的匹配表示向量。
节点打分模块1130,用于通过所述节点打分网络根据所述匹配表示向量,输出所述样本节点对应的节点分值的预测值,所述节点分值用于指示节点选择正确性。
路径打分模块1140,用于通过所述路径打分网络根据所述匹配表示向量,输出所述样本节点对应的路径分值的预测值,所述路径分值用于指示路径选择正确性。
损失计算模块1150,用于基于所述节点分值的预测值和所述路径分值的预测值,计算模型训练损失。
参数调整模块1160,用于根据所述模型训练损失对所述信息匹配模型的网络参数进行调整,得到完成训练的信息匹配模型;其中,所述完成训练的信息匹配模型用于基于所述目录树提供与查询信息对应的匹配结果。
在示例性实施例中,所述样本构建模块1110,用于:
根据所述样本节点对应的候选信息或者所述样本节点的子节点对应的候选信息,生成所述待匹配信息;基于所述待匹配信息和所述样本节点对应的候选信息,构建第一训练样本,所述第一训练样本为所述节点打分网络的正样本;
从所述目录树中选取除所述样本节点之外的第一目标节点;根据所述第一目标节点对应的候选信息,生成所述待匹配信息;基于所述待匹配信息和所述样本节点对应的候选信息,构建第二训练样本,所述第二训练样本为所述节点打分网络的负样本;
根据所述样本节点对应的候选信息或者所述样本节点的祖先节点对应的候选信息,生成所述待匹配信息;基于所述待匹配信息和所述样本节点对应的候选信息,构建第三训练样本,所述第三训练样本为所述路径打分网络的正样本;
从所述目录树中选取除所述样本节点及其祖先节点之外的第二目标节点;根据所述第二目标节点对应的候选信息,生成所述待匹配信息;基于所述待匹配信息和所述样本节点对应的候选信息,构建第四训练样本,所述第四训练样本为所述路径打分网络的负样本。
可选地,所述样本构建模块1110,用于:
对所述样本节点对应的候选信息进行正向翻译,得到第一翻译结果;对所述第一翻译结果进行反向翻译,得到所述待匹配信息,所述待匹配信息是与所述样本节点对应的候选信息具有相同语义的不同表达;
或者,
根据所述样本节点的子节点对应的候选信息,生成所述样本节点对应的候选信息的相似信息;对所述相似信息进行正向翻译得到第二翻译结果;对所述第二翻译结果进行反向翻译,得到所述待匹配信息,所述待匹配信息是与所述相似信息具有相同语义的不同表达。
在示例性实施例中,所述损失计算模块1150,用于:
基于所述节点分值的预测值和所述节点分值的标签值,计算节点分值训练损失;
基于所述路径分值的预测值和所述路径分值的标签值,计算路径分值训练损失;
根据所述节点分值训练损失和所述路径分值训练损失,计算所述模型训练损失。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
请参考图12,其示出了本申请一个实施例提供的计算机设备的结构示意图。该计算机设备可以是任何具备数据计算、处理和存储功能的电子设备,该计算机设备可以实现成为图1所示方案实施环境中的模型训练设备10和/或模型使用设备20。在该计算机设备实现成为图1所示方案实施环境中的模型训练设备10时,该计算机设备可用于实施上述实施例中提供的信息匹配模型的训练方法。在该计算机设备实现成为图1所示方案实施环境中的模型使用设备20时,该计算机设备可用于实施上述实施例中提供的信息匹配方法。具体来讲:
该计算机设备1200包括中央处理单元(如CPU(Central Processing Unit,中央处理器)、GPU(Graphics Processing Unit,图形处理器)和FPGA(Field Programmable GateArray,现场可编程逻辑门阵列)等)1201、包括RAM(Random-Access Memory,随机存储器)1202和ROM(Read-Only Memory,只读存储器)1203的系统存储器1204,以及连接系统存储器1204和中央处理单元1201的系统总线1205。该计算机设备1200还包括帮助服务器内的各个器件之间传输信息的基本输入/输出系统(Input Output System,I/O系统)1206,和用于存储操作系统1213、应用程序1214和其他程序模块1215的大容量存储设备1207。
在一些实施例中,该基本输入/输出系统1206包括有用于显示信息的显示器1208和用于用户输入信息的诸如鼠标、键盘之类的输入设备1209。其中,该显示器1208和输入设备1209都通过连接到系统总线1205的输入输出控制器1210连接到中央处理单元1201。该基本输入/输出系统1206还可以包括输入输出控制器1210以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1210还提供输出到显示屏、打印机或其他类型的输出设备。
该大容量存储设备1207通过连接到系统总线1205的大容量存储控制器(未示出)连接到中央处理单元1201。该大容量存储设备1207及其相关联的计算机可读介质为计算机设备1200提供非易失性存储。也就是说,该大容量存储设备1207可以包括诸如硬盘或者CD-ROM(Compact Disc Read-Only Memory,只读光盘)驱动器之类的计算机可读介质(未示出)。
不失一般性,该计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦写可编程只读存储器)、闪存或其他固态存储技术,CD-ROM、DVD(Digital Video Disc,高密度数字视频光盘)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知该计算机存储介质不局限于上述几种。上述的系统存储器1204和大容量存储设备1207可以统称为存储器。
根据本申请实施例,该计算机设备1200还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即计算机设备1200可以通过连接在该系统总线1205上的网络接口单元1211连接到网络1212,或者说,也可以使用网络接口单元1211来连接到其他类型的网络或远程计算机系统(未示出)。
所述存储器还包括至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、至少一段程序、代码集或指令集存储于存储器中,且经配置以由一个或者一个以上处理器执行,以实现上述信息匹配方法,或信息匹配模型的训练方法。
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被计算机设备的处理器执行时实现上述信息匹配方法,或信息匹配模型的训练方法。
可选地,该计算机可读存储介质可以包括:ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存储器)、SSD(Solid State Drives,固态硬盘)或光盘等。其中,随机存取记忆体可以包括ReRAM(Resistance Random Access Memory,电阻式随机存取记忆体)和DRAM(Dynamic Random Access Memory,动态随机存取存储器)。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质中读取所述计算机指令,所述处理器执行所述计算机指令,使得所述计算机设备执行上述信息匹配方法,或信息匹配模型的训练方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本申请实施例对此不作限定。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种信息匹配方法,其特征在于,所述方法包括:
获取查询信息和目录树,所述目录树是由多个节点构建而成的有向无环图,每个节点具有对应的候选信息,从父节点指向子节点的有向边,代表所述父节点对应的候选信息与所述子节点对应的候选信息存在上下位关系;
将所述目录树的根节点作为初始化的第一节点,将所述根节点的子节点作为初始化的第二节点,基于所述查询信息和所述第二节点对应的候选信息,分别计算每个第二节点对应的节点分值和路径分值;其中,所述节点分值用于指示节点选择正确性,所述路径分值用于指示路径选择正确性;
对于所述路径分值不符合第一条件的目标第二节点,从所述目录树中剔除所述目标第二节点及所述目标第二节点的子孙节点;
若所述目录树中还存在剩余第二节点,则将所述剩余第二节点作为新的第一节点,将所述剩余第二节点的子节点作为新的第二节点,再次从所述基于所述查询信息和所述第二节点对应的候选信息,分别计算每个第二节点对应的节点分值和路径分值的步骤开始执行;
若所述目录树中不存在剩余第二节点,则从所述目录树中未被剔除的节点中,选择符合第二条件的目标节点对应的候选信息,作为所述查询信息对应的匹配结果。
2.根据权利要求1所述的方法,其特征在于,所述基于所述查询信息和所述第二节点对应的候选信息,分别计算每个第二节点对应的节点分值和路径分值,包括:
获取所述查询信息和所述第二节点对应的候选信息的匹配表示向量;
通过节点打分网络根据所述匹配表示向量,输出所述第二节点对应的节点分值;
通过路径打分网络根据所述匹配表示向量,输出所述第二节点对应的路径分值。
3.根据权利要求2所述的方法,其特征在于,所述获取所述查询信息和所述第二节点对应的候选信息的匹配表示向量,包括:
对所述查询信息和所述第二节点对应的候选信息分别进行分词处理,得到第一词序列和第二词序列;
将分类嵌入、所述第一词序列对应的嵌入序列、分隔嵌入和所述第二词序列对应的嵌入序列进行拼接,得到拼接嵌入序列;
通过特征提取网络对所述拼接嵌入序列进行处理,得到输出特征向量;
从所述输出特征向量中提取所述分类嵌入对应的特征向量,作为所述匹配表示向量。
4.根据权利要求1所述的方法,其特征在于,所述对于所述路径分值不符合第一条件的目标第二节点,从所述目录树中剔除所述目标第二节点及所述目标第二节点的子孙节点,包括:
从所述第二节点中确定所述目标第二节点和保留的所述剩余第二节点;其中,所述剩余第二节点中的最小路径分值,大于或等于所述目标第二节点中的最大路径分值,且所述剩余第二节点的数量与所述第二节点的总数量的比值小于或等于设定系数;
从所述目录树中剔除所述目标第二节点及所述目标第二节点的子孙节点。
5.根据权利要求1所述的方法,其特征在于,所述从所述目录树中未被剔除的节点中,选择符合第二条件的目标节点对应的候选信息,作为所述查询信息对应的匹配结果,包括:
对于所述目录树中未被剔除的节点,根据所述节点对应的节点分值和路径分值,计算所述节点对应的综合分值;
选择所述综合分值最大的节点作为所述目标节点;
将所述目标节点对应的候选信息,确定为所述查询信息对应的匹配结果。
6.根据权利要求5所述的方法,其特征在于,所述对于所述目录树中未被剔除的节点,根据所述节点对应的节点分值和路径分值,计算所述节点对应的综合分值之后,还包括:
若所述综合分值的最大值小于门限值,则将默认候选信息确定为所述查询信息对应的匹配结果;
若所述综合分值的最大值大于门限值,则执行所述选择所述综合分值最大的节点作为所述目标节点;将所述目标节点对应的候选信息,确定为所述查询信息对应的匹配结果的步骤。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:
在所述目标节点不是所述目录树中的叶子节点的情况下,记录所述查询信息和所述目标节点。
8.一种信息匹配模型的训练方法,其特征在于,所述信息匹配模型包括特征提取网络、节点打分网络和路径打分网络;所述方法包括:
基于目录树构建多个训练样本,每个训练样本包括待匹配信息和从所述目录树中选取的样本节点对应的候选信息;其中,所述目录树是由多个节点构建而成的有向无环图,每个节点具有对应的候选信息,从父节点指向子节点的有向边,代表所述父节点对应的候选信息与所述子节点对应的候选信息存在上下位关系;
通过所述特征提取网络获取所述待匹配信息和所述样本节点对应的候选信息的匹配表示向量;
通过所述节点打分网络根据所述匹配表示向量,输出所述样本节点对应的节点分值的预测值,所述节点分值用于指示节点选择正确性;
通过所述路径打分网络根据所述匹配表示向量,输出所述样本节点对应的路径分值的预测值,所述路径分值用于指示路径选择正确性;
基于所述节点分值的预测值和所述路径分值的预测值,计算模型训练损失;
根据所述模型训练损失对所述信息匹配模型的网络参数进行调整,得到完成训练的信息匹配模型;其中,所述完成训练的信息匹配模型用于基于所述目录树提供与查询信息对应的匹配结果。
9.根据权利要求8所述的方法,其特征在于,所述基于目录树构建多个训练样本,包括:
根据所述样本节点对应的候选信息或者所述样本节点的子节点对应的候选信息,生成所述待匹配信息;基于所述待匹配信息和所述样本节点对应的候选信息,构建第一训练样本,所述第一训练样本为所述节点打分网络的正样本;
从所述目录树中选取除所述样本节点之外的第一目标节点;根据所述第一目标节点对应的候选信息,生成所述待匹配信息;基于所述待匹配信息和所述样本节点对应的候选信息,构建第二训练样本,所述第二训练样本为所述节点打分网络的负样本;
根据所述样本节点对应的候选信息或者所述样本节点的祖先节点对应的候选信息,生成所述待匹配信息;基于所述待匹配信息和所述样本节点对应的候选信息,构建第三训练样本,所述第三训练样本为所述路径打分网络的正样本;
从所述目录树中选取除所述样本节点及其祖先节点之外的第二目标节点;根据所述第二目标节点对应的候选信息,生成所述待匹配信息;基于所述待匹配信息和所述样本节点对应的候选信息,构建第四训练样本,所述第四训练样本为所述路径打分网络的负样本。
10.根据权利要求9所述的方法,其特征在于,所述根据所述样本节点对应的候选信息或者所述样本节点的子节点对应的候选信息,生成所述待匹配信息,包括:
对所述样本节点对应的候选信息进行正向翻译,得到第一翻译结果;对所述第一翻译结果进行反向翻译,得到所述待匹配信息,所述待匹配信息是与所述样本节点对应的候选信息具有相同语义的不同表达;
或者,
根据所述样本节点的子节点对应的候选信息,生成所述样本节点对应的候选信息的相似信息;对所述相似信息进行正向翻译得到第二翻译结果;对所述第二翻译结果进行反向翻译,得到所述待匹配信息,所述待匹配信息是与所述相似信息具有相同语义的不同表达。
11.根据权利要求8至10任一项所述的方法,其特征在于,所述基于所述节点分值的预测值和所述路径分值的预测值,计算模型训练损失,包括:
基于所述节点分值的预测值和所述节点分值的标签值,计算节点分值训练损失;
基于所述路径分值的预测值和所述路径分值的标签值,计算路径分值训练损失;
根据所述节点分值训练损失和所述路径分值训练损失,计算所述模型训练损失。
12.一种信息匹配装置,其特征在于,所述装置包括:
信息获取模块,用于获取查询信息和目录树,所述目录树是由多个节点构建而成的有向无环图,每个节点具有对应的候选信息,从父节点指向子节点的有向边,代表所述父节点对应的候选信息与所述子节点对应的候选信息存在上下位关系;
分值计算模块,用于将所述目录树的根节点作为初始化的第一节点,将所述根节点的子节点作为初始化的第二节点,基于所述查询信息和所述第二节点对应的候选信息,分别计算每个第二节点对应的节点分值和路径分值;其中,所述节点分值用于指示节点选择正确性,所述路径分值用于指示路径选择正确性;
节点剔除模块,用于对于所述路径分值不符合第一条件的目标第二节点,从所述目录树中剔除所述目标第二节点及所述目标第二节点的子孙节点;
所述分值计算模块,还用于在所述目录树中还存在剩余第二节点的情况下,将所述剩余第二节点作为新的第一节点,将所述剩余第二节点的子节点作为新的第二节点,再次执行所述基于所述查询信息和所述第二节点对应的候选信息,分别计算每个第二节点对应的节点分值和路径分值的步骤;
结果确定模块,用于在所述目录树中不存在剩余第二节点的情况下,从所述目录树中未被剔除的节点中,选择符合第二条件的目标节点对应的候选信息,作为所述查询信息对应的匹配结果。
13.一种信息匹配模型的训练装置,其特征在于,所述信息匹配模型包括特征提取网络、节点打分网络和路径打分网络;所述装置包括:
样本构建模块,用于基于目录树构建多个训练样本,每个训练样本包括待匹配信息和从所述目录树中选取的样本节点对应的候选信息;其中,所述目录树是由多个节点构建而成的有向无环图,每个节点具有对应的候选信息,从父节点指向子节点的有向边,代表所述父节点对应的候选信息与所述子节点对应的候选信息存在上下位关系;
特征提取模块,用于通过所述特征提取网络获取所述待匹配信息和所述样本节点对应的候选信息的匹配表示向量;
节点打分模块,用于通过所述节点打分网络根据所述匹配表示向量,输出所述样本节点对应的节点分值的预测值,所述节点分值用于指示节点选择正确性;
路径打分模块,用于通过所述路径打分网络根据所述匹配表示向量,输出所述样本节点对应的路径分值的预测值,所述路径分值用于指示路径选择正确性;
损失计算模块,用于基于所述节点分值的预测值和所述路径分值的预测值,计算模型训练损失;
参数调整模块,用于根据所述模型训练损失对所述信息匹配模型的网络参数进行调整,得到完成训练的信息匹配模型;其中,所述完成训练的信息匹配模型用于基于所述目录树提供与查询信息对应的匹配结果。
14.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至7任一项所述的信息匹配方法,或者实现如权利要求8至11任一项所述的信息匹配模型的训练方法。
15.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如权利要求1至7任一项所述的信息匹配方法,或者实现如权利要求8至11任一项所述的信息匹配模型的训练方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110772707.4A CN113821610A (zh) | 2021-07-08 | 2021-07-08 | 信息匹配方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110772707.4A CN113821610A (zh) | 2021-07-08 | 2021-07-08 | 信息匹配方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113821610A true CN113821610A (zh) | 2021-12-21 |
Family
ID=78912628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110772707.4A Pending CN113821610A (zh) | 2021-07-08 | 2021-07-08 | 信息匹配方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113821610A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116910320A (zh) * | 2023-09-12 | 2023-10-20 | 北京云枢创新软件技术有限公司 | 层次结构树节点的筛选方法、电子设备和介质 |
-
2021
- 2021-07-08 CN CN202110772707.4A patent/CN113821610A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116910320A (zh) * | 2023-09-12 | 2023-10-20 | 北京云枢创新软件技术有限公司 | 层次结构树节点的筛选方法、电子设备和介质 |
CN116910320B (zh) * | 2023-09-12 | 2023-12-08 | 北京云枢创新软件技术有限公司 | 层次结构树节点的筛选方法、电子设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112084331B (zh) | 文本处理、模型训练方法、装置、计算机设备和存储介质 | |
KR102071582B1 (ko) | 딥 뉴럴 네트워크(Deep Neural Network)를 이용하여 문장이 속하는 클래스(class)를 분류하는 방법 및 장치 | |
Bang et al. | Explaining a black-box by using a deep variational information bottleneck approach | |
CN109783666B (zh) | 一种基于迭代精细化的图像场景图谱生成方法 | |
CN111444344B (zh) | 实体分类方法、装置、计算机设备和存储介质 | |
CN112990296B (zh) | 基于正交相似度蒸馏的图文匹配模型压缩与加速方法及系统 | |
CN111898374B (zh) | 文本识别方法、装置、存储介质和电子设备 | |
CN114565104A (zh) | 语言模型的预训练方法、结果推荐方法及相关装置 | |
CN111026842A (zh) | 自然语言处理方法、自然语言处理装置及智能问答系统 | |
CN114398961A (zh) | 一种基于多模态深度特征融合的视觉问答方法及其模型 | |
CN107544960B (zh) | 一种基于变量绑定和关系激活的自动问答方法 | |
US20210406687A1 (en) | Method for predicting attribute of target object based on machine learning and related device | |
CN114627282B (zh) | 目标检测模型的建立方法、应用方法、设备、装置及介质 | |
CN113886626B (zh) | 基于多重注意力机制的动态记忆网络模型的视觉问答方法 | |
CN107451230A (zh) | 一种问答方法以及问答系统 | |
KR20200010672A (ko) | 딥러닝을 이용한 스마트 상품 검색 방법 및 시스템 | |
CN113380360B (zh) | 一种基于多模态病历图的相似病历检索方法及系统 | |
CN113392179A (zh) | 文本标注方法及装置、电子设备、存储介质 | |
CN117648429A (zh) | 基于多模态自适应检索式增强大模型的问答方法及系统 | |
CN113392640A (zh) | 一种标题确定方法、装置、设备及存储介质 | |
CN113741759B (zh) | 评论信息的展示方法、装置、计算机设备和存储介质 | |
CN117711001B (zh) | 图像处理方法、装置、设备和介质 | |
CN118038238A (zh) | 一种视觉问答方法、装置及电子设备和存储介质 | |
CN117932066A (zh) | 一种基于预训练的“提取-生成”式答案生成模型及方法 | |
CN113821610A (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 |