CN118035380A - 一种信息搜索方法、装置、计算设备及计算机程序产品 - Google Patents
一种信息搜索方法、装置、计算设备及计算机程序产品 Download PDFInfo
- Publication number
- CN118035380A CN118035380A CN202410109296.4A CN202410109296A CN118035380A CN 118035380 A CN118035380 A CN 118035380A CN 202410109296 A CN202410109296 A CN 202410109296A CN 118035380 A CN118035380 A CN 118035380A
- Authority
- CN
- China
- Prior art keywords
- model
- query
- training
- words
- word
- 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 101
- 238000004590 computer program Methods 0.000 title claims abstract description 15
- 238000012549 training Methods 0.000 claims abstract description 157
- 238000013519 translation Methods 0.000 claims abstract description 112
- 238000012545 processing Methods 0.000 claims description 36
- 230000008569 process Effects 0.000 claims description 31
- 230000000875 corresponding effect Effects 0.000 claims description 29
- 230000003993 interaction Effects 0.000 claims description 12
- 230000006835 compression Effects 0.000 claims description 9
- 238000007906 compression Methods 0.000 claims description 9
- 230000002596 correlated effect Effects 0.000 claims description 7
- 238000002372 labelling Methods 0.000 claims description 6
- 238000007781 pre-processing Methods 0.000 claims description 5
- 238000003860 storage Methods 0.000 description 25
- 230000015654 memory Effects 0.000 description 19
- 230000011218 segmentation Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 239000013598 vector Substances 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 5
- 238000005065 mining Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 241001446467 Mama Species 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000007723 transport mechanism Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 208000037924 multicystic encephalomalacia Diseases 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种信息搜索方法、装置、计算设备及计算机程序产品。其中方法包括:基于用户查询,确定出至少一个查询词;利用相关词预测模型,分别预测所确定的各查询词的至少一个相关词;基于查询词及相关词进行搜索,确定搜索结果。其中,通过对翻译模型进行模型压缩得到所述相关词预测模型,且至少通过判别模型的输出数据,得到训练翻译模型的第一训练数据,以及至少通过翻译模型的输出数据,得到训练判别模型的第二训练数据。根据本方案,能够很好地解决语义漂移问题,提升了预测相关词的准确性。
Description
技术领域
本申请涉及自然语言处理技术领域,尤其涉及一种信息搜索方法、装置、计算设备及计算机程序产品。
背景技术
随着互联网的日益普及,搜索已经成为日常生活中必不可少的应用。那么,如何快速准确地从互联网海量的数据中获取正确的信息,就成为现在搜索引擎技术的核心问题。在实际应用中,由于不同用户的年龄差异、文化差异,以及教育程度等不同,导致不同用户对同一问题的表述差异很大。这种文本不匹配导致的漏召回问题,严重影响用户的搜索体验。
在现有技术中,通常采用查询改写(Query Rewriting)的方式来解决漏召回问题,即对原始查询词拓展出改写词,这些改写词与原始查询词具有一定的相关关系。多个改写词与用户查询词一起做检索,从而确定出更符合用户搜索意图的结果。常见的一种生成改写词的方法为基于图方法进行语料挖掘。图方法如经典的协同过滤以及图嵌入(GraphEmbedding)等,在搜索场景下,通过利用用户的查询词和对应文档(例如,对应被点击的文档)的关系构建图结构,来检索到与查询词相似的多个文档。然而,大多数真实网络都很大,包含大量节点和边。图方法应具有可扩展性,能够处理大型图。但定义一个可扩展的模型具有挑战性,尤其是当该模型旨在保持网络的全局属性时。
因此,需要一种新的信息搜索方案,来解决漏召回问题。
发明内容
本申请提供了一种信息搜索方法、装置、计算设备及计算机程序产品,以力图解决或者至少缓解上面存在的至少一个问题。
根据本申请的一个方面,提供了一种信息搜索方法,包括:基于用户查询,确定出至少一个查询词;利用相关词预测模型,分别预测所确定的各查询词的至少一个相关词;基于所述查询词及所述相关词进行搜索,确定搜索结果,其中,通过对翻译模型进行模型压缩得到所述相关词预测模型,且至少通过判别模型的输出数据,得到训练所述翻译模型的第一训练数据,以及至少通过所述翻译模型的输出数据,得到训练所述判别模型的第二训练数据。
可选地,在根据本申请的方法中,翻译模型适于对输入的查询词进行处理,来预测所述查询词对应的多个相关词;所述判别模型基于预训练语言模型,适于对输入的两个查询词进行处理,以输出指示所述两个查询词间相关性的相关值,其中,若所述相关值大于预设值,则确定两个查询词相关,若所述相关值不大于预设值,则确定两个查询词不相关。
可选地,根据本申请的方法还包括训练生成所述判别模型和所述翻译模型,包括:利用判别模型对查询词对进行处理,并至少通过所述判别模型处理后的输出数据,得到所述第一训练数据,其中所述查询词对包括两个具有相关关系的查询词;利用第一训练数据对翻译模型进行训练,以得到新的翻译模型,作为翻译模型;利用翻译模型对随机获取的多个查询词分别进行处理,并至少通过所述翻译模型处理后的输出数据,得到第二训练数据;利用第二训练数据对判别模型进行训练,得到新的判别模型,作为判别模型;重复迭代构造第一训练数据、对翻译模型进行训练、构造第二训练数据和对判别模型进行训练的步骤,直到满足条件时训练结束,生成训练好的判别模型和训练好的翻译模型。
可选地,根据本申请的方法还包括生成查询词对,包括:基于搜索点击日志,生成具有第一相关关系的第一相关样本,所述第一相关关系为两个查询词对应的点击文档相同;基于搜索交互过程,生成具有第二相关关系的第二相关样本,所述第二相关关系为多个查询词来自同一搜索交互过程;基于所述第一相关样本和所述第二相关样本,生成多个查询词对。
可选地,在根据本申请的方法中,至少通过判别模型处理后的输出数据,得到第一训练数据,包括:将所述查询词对分别输入所述判别模型进行处理,以输出对应两个查询词的相关值;选取相关值高的查询词对,并为所选取的至少一个查询词标注至少一个相关词样本;利用所选取的各查询词及相关词样本,构造第一训练数据。
可选地,在根据本申请的方法中,利用第一训练数据对翻译模型进行训练,得到新的翻译模型,包括:将所述第一训练数据中的各查询词分别输入翻译模型进行处理,以对应输出集束搜索约束下预测的多个相关词;基于预测的多个相关词及标注的相关词样本,对所述翻译模型进行训练,直到满足训练条件时训练结束,得到新的翻译模型。
可选地,在根据本申请的方法中,利用翻译模型对随机获取的多个查询词分别进行处理,并至少通过所述翻译模型处理后的输出数据,得到第二训练数据,包括:从搜索点击日志中随机抽取多个查询词,并将所述查询词分别输入翻译模型进行处理,对应输出预测的多个相关词;从预测的多个相关词中,选取第一部分相关词作为正样本,以及,选取第二部分相关词,作为负样本;利用各查询词与其对应的正样本或负样本,组成查询词对,作为第二训练数据。
可选地,在根据本申请的方法中,利用第二训练数据对判别模型进行训练,得到新的判别模型,包括:将所述第二训练数据中的各查询词对分别输入判别模型进行处理,以输出对应的相关值;至少基于所述相关值对判别模型进行训练,直到满足训练条件时训练结束,得到新的判别模型。
可选地,在根据本申请的方法中,相关词样本包括相关词和不相关词。
根据本申请的再一方面,提供了一种信息搜索装置,包括:预处理单元,适于基于用户查询,确定出至少一个查询词;相关词预测单元,适于利用相关词预测模型,分别预测所确定的各查询词的至少一个相关词;检索单元,适于基于所预测的相关词进行搜索,确定搜索结果;模型训练单元,适于至少通过判别模型的输出数据,得到训练翻译模型的第一训练数据,至少通过所述翻译模型的输出数据,得到训练所述判别模型的第二训练数据,并利用所述第一训练数据和所述第二训练数据协同训练生成翻译模型和判别模型;所述模型训练单元还适于通过对所述翻译模型进行模型压缩得到所述相关词预测模型。
可选地,在根据本申请的装置中,翻译模型适于对输入的查询词进行处理,来预测所述查询词对应的多个相关词;所述判别模型基于预训练语言模型,适于对输入的两个查询词进行处理,以输出指示所述两个查询词间相关性的相关值,其中,若所述相关值大于预设值,则确定两个查询词相关;若所述相关值不大于预设值,则确定两个查询词不相关。
根据本申请的再一方面,提供了一种计算设备,包括:一个或多个处理器存储器;一个或多个程序,其中所述一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行如上任一方法的指令。
根据本申请的再一方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,指令在被计算设备执行时,使得计算设备执行如上所述的任一方法。
根据本申请的再一方面,提供了一种计算机程序产品,包括计算机程序/指令,其中,该计算机程序/指令被处理器执行时实现上述所述方法的步骤。
综上所述,根据本申请的方案,使用用户共点击与同搜索交互下的改写词,在垂直网站领域进行训练语料的自动挖掘,来生成查询词对;之后在此基础上,利用判别模型和翻译模型的协同处理,并融入人工标注的部分训练数据,通过循环迭代的过程,过滤掉挖掘到的查询词对中的噪声数据,同时又优化了翻译模型和判别模型,能够很好地解决语义漂移问题,提升了预测相关词的准确性。
此外,采用模型压缩的方式对翻译模型进行处理,得到的相关词预测模型能够更好地用于在线实时预测,在尽量提升准确率的前提下,再次优化了模型结构。
此外,从垂直领域网站的搜索点击日志中挖掘生成查询词对,也就是说,整个处理过程均围绕特定领域的专业语料展开,能够更好地适用该垂直领域网站的信息搜索。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所申请的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本申请的上述以及其它目的、特征和优势将变得更加明显。遍及本申请,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本申请一些实施例的计算设备100的示意图;
图2示出根据本申请一些实施例的信息搜索方法200的示意图;
图3示出了根据本申请一些实施例的训练判别模型和翻译模型的训练过程的示意图;
图4示出了根据本申请一些实施例的信息搜索装置400的示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
在word2vec(word to vector,从单词到向量)后,Embedding(嵌入)的思想迅速从自然语言处理NLP领域扩散到几乎所有机器学习的领域。此外,Embedding在数据稀疏性表示上的优势,也有利于后续深度学习的探索。因此,在信息搜索场景中,常通过Embedding的方式来进行基于语义向量的挖掘,以确定出用户查询词(Query)的改写词(或称之为,相关词)。简单来讲,将查询词Embedding到低维语义空间,通过计算Embedding间的相似度来查找相关词。通过这种方式可以得到千万级别的相似词对,但仍然有大量语义漂移的情况。其中近义词漂移问题最为严重。原因是Embedding基于相同上下文的假设太强,而近义词的上下文很相似,因此很容易挖掘出“宝妈”→“宝马”这种错误的相关词。
鉴于上述问题,本申请提出一种新的信息搜索方案,利用相关词预测模型,分别预测用户的各查询词的相关词,再基于所预测的相关词进行检索召回等,得到搜索结果。其中,相关词预测模型的训练过程,大致描述如下:首先,利用垂直搜索领域的搜索点击日志,构造一部分带标注数据的训练数据;之后,通过判别模型与翻译模型的协同训练,生成更多的训练数据,与带标注数据的训练数据一起,训练得到翻译模型;最后,对翻译模型进行模型压缩,得到相关词预测模型。相比于传统方法,本方法能够解决语义漂移并且准确率更高。
本申请的信息搜索方案可以在计算设备中执行。计算设备可以是任意具有存储和计算能力的设备,例如可以实现为服务器、工作站等,也可以实现为桌面计算机、笔记本计算机等个人配置的计算机,或者实现为手机、平板电脑、智能可穿戴设备、物联网设备等终端设备,不限于此。
图1示出了根据本申请一些实施例的计算设备100的物理组件(即,硬件)的框图。在基本配置中,计算设备100包括至少一个处理单元102和系统存储器104。根据一个方面,取决于计算设备的配置和类型,处理单元102可以实现为处理器。系统存储器104包括但不限于易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪速存储器、或者这样的存储器的任何组合。根据一个方面,系统存储器104中包括操作系统105和程序模块106,程序模块106中包括执行各种方法的计算机程序/指令,这些计算机程序/指令可以指示处理单元102执行各种方法。在本申请的一些实施例中,程序模块106中存储有执行根据本申请的信息搜索方法200的计算机程序/指令。
根据一个方面,操作系统105例如适合于控制计算设备100的操作。此外,示例结合图形库、其他操作系统、或任何其他应用程序而被实践,并且不限于任何特定的应用或系统。在图1中通过在虚线108内的那些组件示出了该基本配置。根据一个方面,计算设备100具有额外的特征或功能。例如,根据一个方面,计算设备100包括额外的数据存储设备(可移动的和/或不可移动的),例如磁盘、光盘、或者磁带。这样额外的存储在图1中是由可移动存储109和不可移动存储110示出的。
如在上文中所陈述的,根据一个方面,在系统存储器104中存储有程序模块106。根据一个方面,程序模块106可以实现为一个或多个计算机程序产品,本申请不限制计算机程序产品的类型,例如可以包括:电子邮件、文字处理应用程序、电子表格应用程序、数据库应用程序、幻灯片展示应用程序、绘画或计算机辅助应用程序、网络浏览器等。在根据本申请的一些实施例中,将与信息搜索方法200相关的计算机程序/指令封装为一种计算机程序产品,当这些计算机程序/指令被处理器(即,处理单元102)执行时,实现根据本申请的信息搜索方法200。
根据一个方面,可以在包括分立电子元件的电路、包含逻辑门的封装或集成的电子芯片、利用微处理器的电路、或者在包含电子元件或微处理器的单个芯片上实践示例。例如,可以经由其中在图1中所示出的每个或许多组件可以集成在单个集成电路上的片上系统(SOC)来实践示例。根据一个方面,这样的SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元、以及各种应用功能,其全部作为单个集成电路而被集成(或“烧”)到芯片基底上。当经由SOC进行操作时,可以经由在单个集成电路(芯片)上与计算设备100的其他组件集成的专用逻辑来对在本申请中所描述的功能进行操作。还可以使用能够执行逻辑操作(例如AND、OR和NOT)的其他技术来实践本申请的实施例,所述其他技术包括但不限于机械、光学、流体、和量子技术。另外,可以在通用计算机内或在任何其他任何电路或系统中实践本申请的实施例。
根据一个方面,计算设备100还可以具有一个或多个输入设备112,例如键盘、鼠标、笔、语音输入设备、触摸输入设备、VR动作捕捉输入设备等。还可以包括输出设备114,例如显示器、扬声器、打印机等。前述设备是示例并且也可以使用其他设备。计算设备100可以包括允许与其他计算设备118进行通信的一个或多个通信连接116。合适的通信连接116的示例包括但不限于:RF发射机、接收机和/或收发机电路;通用串行总线(USB)、并行和/或串行端口。
如在本申请中所使用的术语计算机可读介质包括计算机存储介质。计算机存储介质可以包括以任何用于存储信息(例如,计算机可读指示、数据结构、或程序模块)的方法或技术来实现的易失性的和非易失性的、可移动的和不可移动的介质。系统存储器104、可移动存储109、和不可移动存储110都是计算机存储介质的示例(即,存储器存储)。计算机存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦只读存储器(EEPROM)、闪速存储器或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储、盒式磁带、磁带、磁盘存储器或其他磁存储设备、或者可用于存储信息并且可以由计算设备100访问的任何其他制品。根据一个方面,任何这样的计算机存储介质都可以是计算设备100的一部分。计算机存储介质不包括载波或其他经传播的数据信号。
根据一个方面,通信介质是由计算机可读指令、数据结构、程序模块、或者经调制的数据信号(例如,载波或其他传输机制)中的其他数据实施的,并且包括任何信息传递介质。根据一个方面,术语“经调制的数据信号”描述了具有一个或多个特征集或者以将信息编码在信号中的方式改变的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、射频(RF)、红外线的、以及其他无线介质之类的无线介质。
图2示出了根据本申请一些实施例的信息搜索方法200的流程示意图。根据本申请的一些实施方式,方法200应用于垂直搜索场景,可选地,针对特定领域(如,汽车领域)进行信息搜索。如图2所示,方法200始于210。
在210中,基于用户查询,确定出至少一个查询词。
通常,用户查询可能是一个或多个词,也可能是长句或短句。例如,用户想检索几款车型对比,那么输入的用户查询可能是:“车型A车型B”,“车型A和车型B,双擎谁更强”,“车型A对比车型B”,等等。根据本申请的实施例,对用户查询进行分词处理,包括:去除标点符号、去除停用词、分词等得到用户查询对应的一个或多个分词,即,查询词。在一些实施例中,利用针对特定领域的词典来进行分词,由于词典中包含该领域的专业词汇,这样得到的分词结果更准确。例如,利用包含汽车领域专业词汇的词典对用户查询进行分词,所得到的分词结果更符合汽车领域的自然语言理解。
本申请实施例对具体采用何种方式进行分词处理,不做过多限制。例如正向最大匹配法、最大逆向匹配法、基于统计的分词算法等等,任一种分词算法都可以与本申请实施例相结合,来实现本申请的方案。
在220中,利用相关词预测模型,分别预测所确定的各查询词的至少一个相关词。
相关词,即与查询词或查询词组合具有一定关联性的其他查询词,可以用来扩展当前的用户查询。根据本申请的实施例,这种关联性通常需要通过分析上下文意图来确定,例如语义相近或相同、被点击的搜索结果标题(Title)相同,等等。
根据本申请,基于深度学习模型网络,分别构建判别模型和翻译模型。其中,判别模型基于预训练语言模型(如BERT,RoformerV2等),翻译模型基于神经机器翻译(NeuralMachine Translation)。
判别模型对输入的两个查询词进行处理,以输出指示两个查询词间相关性的相关值,其中,若相关值大于预设值,则确定两个查询词相关;若相关值不大于预设值,则确定两个查询词不相关。在一些实施例中,判别模型至少包括标记组件(E)、特征提取组件(T)和分类预测组件(S)。其中,标记组件(E)对输入的查询词对进行Embedding,得到符合特征提取组件(T)输入格式的语义向量。特征提取组件(T)基于Transformer架构,对输入的语义向量进行处理(包括卷积层、注意力层、全连接层等),最终输出特征向量。分类预测组件(S)例如通过Softmax层来实现,对该特征向量进行处理,以最终输出指示相关性的相关值。相关值越大,表示两个查询词的相关性越强。根据本申请的实施例,通过预设值来确定两个查询词是否相关。预设值可根据应用场景的需要和实验需要来进行调整,本申请对此不做限制。例如,相关值取值范围为0~1,设定预设值为0.6。
翻译模型是一个序列到序列的模型,对输入的查询词进行处理,来预测该查询词对应的多个相关词。在一些实施例中,翻译模型采用基于注意力的NMT模型,包含编码组件、解码组件和注意力机制组件。在又一些实施例中,翻译模型采用基于门控注释(gatedannotation)的NMT模型,包含多个信道编码组件(Multi-channel Encoder,MCE)、解码组件和门控注释。本申请对翻译模型的网络结构不做过多限制。根据本申请的实施方式,在翻译模型的解码组件中采用集束搜索(Beam Search)策略,在每一个时间步,保留当前预测概率值最优的固定数量个最优解(固定数量大于1),来平衡结果质量和计算复杂性。这样,根据本申请的翻译模型,其输出是限制了Beam Search的多个预测的相关词,更具体地,输出的预测相关词的个数是固定数量的,记作num_beams。
根据本申请的实施方式,至少通过判别模型的输出数据,得到训练翻译模型的第一训练数据,以及至少通过翻译模型的输出数据,得到训练判别模型的第二训练数据。应当了解,这里对判别模型的“训练”,实际上是一种“微调(Fine-Tuning)”。通过这种半监督的方式,最终得到训练好的判别模型和翻译模型。
根据本申请的实施例,还包括训练生成上述判别模型和翻译模型的过程。如图3示出了训练过程的示意图,以下结合图3,对训练过程进行描述。
在310中,利用判别模型对查询词对进行处理,并至少通过判别模型处理后的输出数据,得到第一训练数据。
其中查询词对包括两个具有相关关系的查询词。根据一些实施例,方法200还包括生成查询词对过程,具体如下。
首先,基于搜索点击日志,生成具有第一相关关系的第一相关样本。搜索点击日志选取针对预定领域的搜索点击日志(可以从互联网垂直网站中直接获取),其中通常关联记录了用户查询(Query)及对应被点击的查询结果标题(Title)、及其它相关信息,包括点击顺序、查询结果标题对应的网页地址(该网页地址指向Title所对应的文档Document),等等。在一些实施例中,不考虑是否为同一用户,将两个点击相同Document的Query(记作Query1,Query2),作为具有第一相关关系的查询词,并将其记录下来作为第一相关样本中的一条数据。换言之,第一相关关系为两个查询词对应的点击文档相同。
同时,基于搜索交互过程,生成具有第二相关关系的第二相关样本。搜索交互过程(Session)是指用户从进入垂直网站或APP到离开垂直网站或APP的一次交互过程,其中的交互可能包含浏览、点击、搜索等。在一些实施例中,将用户在一次搜索交互过程中连续输入的全部Query,作为具有第二相关关系的查询词,并将其全部记录下来作为第二相关样本中的一条数据。换言之,第二相关关系为多个查询词来自同一搜索交互过程。
之后,基于第一相关样本和第二相关样本,生成多个查询词对。在一些实施例中,将第一相关样本和第二相关样本中的数据,依据相关关系,处理为两个查询词的格式,如“Query1 Query2”,作为一个查询词对。即,每个查询词对中的两个查询词,或具有第一相关关系,或具有第二相关关系,将这种关联统称为“具有相关关系”。
举例而言,若Query1、Query2是第一相关样本中的一条数据,若Query2、Query3、Query4是第二相关样本中的一条数据,按上述描述,经处理后生成的查询词对为:“Query1Query2”、“Query2 Query3”、“Query2 Query4”、“Query3Query4”。
按照上述方式所生成的查询词对,或属于共点击样本,或属于同session样本,一方面通过点击作为上下文来训练表征查询词的Embedding,另一方面考虑了用户更换搜索词继续搜索的限制条件,这样挖掘的查询词对相对覆盖率更高。然而,这样挖掘的查询词对还是会存在一定噪声。例如,由于用户误操作(如,误点击)而被误判为具有相关关系的查询词。又如,这样挖掘的查询词对在没有考虑查询本身的类目意图的情况下,噪声比较大。
因此,根据本申请的实施方式,没有直接使用上述查询词对作为训练样本,来进行模型训练,而是在挖掘出查询词对后,利用判别模型对其进行处理,得到输出数据,并至少通过判别模型的输出数据,生成第一训练数据。
具体而言,先将查询词对分别输入判别模型进行处理,以输出对应两个查询词的相关值(即,输出数据)。处理过程可参考前文对判别模型的描述。
之后,选取相关值高(在一些实施例中,当相关值高于预设值时,认为相关值高)的查询词对,并为所选取的至少一个查询词标注至少一个相关词样本。相关词样本包括相关词和不相关词,即,标注的样本包含正例(即,相关性高的正样本)和负例(即,相关性低的负样本)。在一些实施例中,对所选取的查询词对中所包含的查询词,选取一部分查询词进行标注。例如,选取的查询词对为“AB”,可以对查询词A标注,标注的相关词样本包括:除了B之外的相关词C、D、E,不相关词F、G。当然还可以对查询词B进行标注,此处仅作为示例,本申请对此不做限制,且不限制相关词和不相关词的数量。
之后,利用所选取的各查询词及相关词样本,构造第一训练数据。
综上,根据本申请的实施方式,先利用判别模型对所生成的查询词对进行筛选处理,来得到高质量的正例;同时,加入部分人工标注数据,一起来生成第一训练数据。这样,既解决了人工样本过少时如何改善模型性能(即,训练模型)的问题,又防止了模型训练过程中的过拟合问题。
在320中,利用第一训练数据对翻译模型进行训练,以得到新的翻译模型,作为翻译模型。
首先,将第一训练数据中的各查询词分别输入翻译模型进行处理,以对应输出集束搜索约束下预测的多个相关词。关于翻译模型的内容,可参考前文相关描述。
之后,基于预测的多个相关词及标注的相关词样本,对翻译模型进行训练,目标为预测的相关词应当尽可能为标注的相关词、且不包含标注的不相关词。直到满足训练条件(训练条件例如是迭代次数达到一定值、目标函数趋于稳定、评价指标达到一定条件等,不限于此)时,训练结束,得到新的翻译模型。根据本申请的一些实施例,采用准确性、BLEU(Bilingual evaluation understudy)、ROUGE(Recall-Oriented Understudy forGisting Evaluation)等来作为模型的评价指标。其中,BLEU用来比较翻译模型输出和参考答案(相关词样本)之间的相似度,用于评估翻译模型的合理性;ROUGE主要基于召回率和N-Gram,用于评估机器翻译的质量,此处不做赘述。
在330中,利用翻译模型对随机获取的多个查询词分别进行处理,并至少通过翻译模型处理后的输出数据,得到第二训练数据。
在一些实施例中,通过如下3个步骤,生成第二训练数据。
第一步,从搜索点击日志中随机抽取多个查询词,并将查询词分别输入翻译模型进行处理,对应输出预测的多个相关词(即,经处理后的输出数据)。搜索点击日志可见前文310中相关内容描述,在生成查询词对时,从搜索点击日志中挖掘共点击样本,可能会忽略一些不存在共点击样本的查询词。此处不考虑点击行为,仅从用户输入的用户查询中随机抽取多个查询词,作为输入数据,输入到翻译模型进行处理,对应输出针对每个查询词预测的多个相关词。翻译模型为320中训练所得的翻译模型。
第二步,从预测的多个相关词中,选取第一部分相关词作为正样本,以及,选取第二部分相关词,作为负样本。如前文所述,翻译模型预测输出了num_beams个相关词。在一些实施例中,对这num_beams个相关词,按照相关性从高到低的顺序进行排序,选取前K个相关词(即,第一部分)作为正样本(即,相关样本),选取后X个相关词(即,第二部分)作为负样本(即,不相关样本)。换言之,所选取的第一部分相关词和第二部分相关词,依据其与对应查询词的相关性来确定。本实施例对第一部分和第二部分的取值(即,K和X的取值)不做限制,可以根据样本需求进行设置,应当了解,K和X之和应当不大于num_beams。
在又一些实施例中,在解码组件中通过Softmax层输出各预测相关词的预测概率值,基于该预测概率值来确定相关性,预测概率值越大,相关性越高。
第三步,利用各查询词与其对应的正样本或负样本,组成查询词对,作为第二训练数据。具体地,将一个查询词与其对应的正样本,组成一个查询词对并对其进行标注;将一个查询词与其对应的负样本,组成一个查询词对并对其进行标注。最终组成的查询词对,同样包含了正例和负例。标注数据可以通过“1”表示“相关”,“0”表示“不相关”,不限于此。
如图3所示,在生成第一训练数据和生成第二训练数据时,均分别在判别模型和翻译模型的输出的基础上,引入了人工标注数据,既可以过滤原始样本(挖掘出的查询词对)中的噪声数据,又能够防止过拟合。同时,仅需要少量的人工标注数据,也能够降低模型训练的成本。在340中,利用第二训练数据对判别模型进行训练,得到新的判别模型,作为判别模型。
首先,将第二训练数据中的各查询词对分别输入判别模型进行处理,以输出对应的相关值。
其次,至少基于相关值对判别模型进行训练,直到满足训练条件时训练结束,得到新的判别模型。在一些实施例中,基于输出的相关值与标注数据,对判别模型进行微调,直至满足训练条件(本实施例对训练条件同样不做限制),训练结束。
随后,如图3所示,重复迭代构造第一训练数据(即,上述310)、对翻译模型进行训练(即,上述320)、构造第二训练数据(即,上述330)和对判别模型进行训练(即,上述340)的步骤,使用优化的第一训练数据和第二训练数据不断优化翻译模型和判别模型,直到满足条件(例如,两个模型在评测集上均收敛)时训练结束,生成训练好的判别模型和训练好的翻译模型。
之后,为提升翻译模型在线预测相关词的效率,在一些实施例中,通过对翻译模型进行模型压缩得到相关词预测模型。
在本实施例中,采用基于模块替换的模型压缩方法来对翻译模型进行压缩,其处理过程可以概括如下。将翻译模型作为Predecessor(前辈),将其权重固定住,将其中的Transformer层替换成几个小模块(例如,将每2-3个Transformer层压缩为一个小模块),作为小模型,称为Successor(传承者)。训练的时候,随机用Successor中的小模块替换掉Predecessor的对应层,然后直接用下游任务的优化目标进行微调(只训练Successor的模块)。训练充分后,再把整个Successor单独分离出来,继续在下游任务中微调一会,直到在测试集的指标不再变化。此时的Successor就是相关词预测模型。
这样生成的相关词预测模型,在高效提升翻译模型的在线预测效率的同时,尽可能稍微少地降低预测准确率(即,尽可能保持翻译模型的高预测准确率)。
在230中,基于查询词及其预测的相关词进行搜索,确定搜索结果。
将查询词及其对应的预测相关词一起,进行召回、索引、排序等处理,最终确定出搜索结果。
根据本申请的信息搜索方法200,使用用户共点击与同搜索交互(Session)下的改写词,在垂直网站领域进行训练语料的自动挖掘,来生成查询词对;之后在此基础上,利用判别模型和翻译模型的协同处理,并融入人工标注的部分训练数据,通过循环迭代的过程,过滤掉挖掘到的查询词对中的噪声数据,同时又优化了翻译模型和判别模型,能够很好地解决语义漂移问题,提升了预测相关词的准确性。
此外,采用模型压缩的方式对翻译模型进行处理,得到的相关词预测模型能够更好地用于在线实时预测,在尽量提升准确率的前提下,再次优化了模型结构。
此外,从垂直领域网站的搜索点击日志中挖掘生成查询词对,也就是说,整个处理过程均围绕特定领域的专业语料展开,能够更好地适用该垂直领域网站的信息搜索。
相应地,图4示出了根据本申请一些实施例的信息搜索装置400的示意图。信息搜索装置400基于方法200,能够执行信息搜索方法200。概括来讲,信息搜索装置400能够基于用户查询,扩展出用户查询中查询词的相关词,并基于这些查询词和相关词,得到搜索结果。故相关之处,可参考前文基于图2的描述,此处不再赘述。
信息搜索装置400包括:预处理单元410、相关词预测单元420、检索单元430和模型训练单元440。如图4所示,预处理单元410、检索单元430、模型训练单元440分别与相关词预测单元420耦接。
预处理单元410基于用户查询,确定出至少一个查询词。
相关词预测单元420利用相关词预测模型,分别预测所确定的各查询词的至少一个相关词。
检索单元430基于所预测的相关词进行搜索,确定搜索结果。
模型训练单元440用于通过协同训练判别模型和翻译模型,来得到能够预测相关词的翻译模型。
在一些实施例中,翻译模型对输入的查询词进行处理,来预测查询词对应的多个相关词。
判别模型基于预训练语言模型,对输入的两个查询词进行处理,以输出指示两个查询词间相关性的相关值。其中,若相关值大于预设值,则确定两个查询词相关;若相关值不大于预设值,则确定两个查询词不相关。
具体地,模型训练单元440至少通过判别模型的输出数据,得到训练翻译模型的第一训练数据,至少通过翻译模型的输出数据,得到训练判别模型的第二训练数据,并利用第一训练数据和第二训练数据协同训练生成翻译模型和判别模型。
此外,模型训练单元440还能够通过对翻译模型进行模型压缩得到相关词预测模型。
基于本申请的信息搜索装置400,可以布置在搜索引擎中,为用户查询扩展更多的相关查询词,以便更准确地识别用户的搜索意图,为用户匹配到更满意的搜索结果。
本申请一并公开了:
可选地,所述相关词样本包括相关词和不相关词。
可选地,所述翻译模型适于对输入的查询词进行处理,来预测所述查询词对应的多个相关词;所述判别模型基于预训练语言模型,适于对输入的两个查询词进行处理,以输出指示所述两个查询词间相关性的相关值,其中,若所述相关值大于预设值,则确定两个查询词相关;若所述相关值不大于预设值,则确定两个查询词不相关。
一种计算设备,包括:一个或多个处理器;存储器;一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行如上所述方法的指令。
一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令在被计算设备执行时,使得所述计算设备执行如上所述的方法。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本申请的方法和设备,或者本申请的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本申请的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本申请的信息搜索方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本申请的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的优选实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该公开的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。此外,数量词“多个”表示“两个”和/或“两个以上”。
尽管根据有限数量的实施例描述了本申请,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本申请的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本申请的主题而选择的。因此,在不偏离本申请的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本申请的范围,对本申请所做的公开是说明性的,而非限制性的。
Claims (10)
1.一种信息搜索方法,包括:
基于用户查询,确定出至少一个查询词;
利用相关词预测模型,分别预测所确定的各查询词的至少一个相关词;
基于所述查询词及所述相关词进行搜索,确定搜索结果,
其中,通过对翻译模型进行模型压缩得到所述相关词预测模型,且至少通过判别模型的输出数据,得到训练所述翻译模型的第一训练数据,以及至少通过所述翻译模型的输出数据,得到训练所述判别模型的第二训练数据。
2.如权利要求1所述的方法,其中,
所述翻译模型适于对输入的查询词进行处理,来预测所述查询词对应的多个相关词;
所述判别模型基于预训练语言模型,适于对输入的两个查询词进行处理,以输出指示所述两个查询词间相关性的相关值,其中,若所述相关值大于预设值,则确定两个查询词相关,若所述相关值不大于预设值,则确定两个查询词不相关。
3.如权利要求1或2所述的方法,还包括训练生成所述判别模型和所述翻译模型,包括:
利用判别模型对查询词对进行处理,并至少通过所述判别模型处理后的输出数据,得到所述第一训练数据,其中所述查询词对包括两个具有相关关系的查询词;
利用第一训练数据对翻译模型进行训练,以得到新的翻译模型,作为翻译模型;
利用翻译模型对随机获取的多个查询词分别进行处理,并至少通过所述翻译模型处理后的输出数据,得到第二训练数据;
利用第二训练数据对判别模型进行训练,得到新的判别模型,作为判别模型;
重复迭代构造第一训练数据、对翻译模型进行训练、构造第二训练数据和对判别模型进行训练的步骤,直到满足条件时训练结束,生成训练好的判别模型和训练好的翻译模型。
4.如权利要求3所述的方法,还包括生成查询词对,包括:
基于搜索点击日志,生成具有第一相关关系的第一相关样本,所述第一相关关系为两个查询词对应的点击文档相同;
基于搜索交互过程,生成具有第二相关关系的第二相关样本,所述第二相关关系为多个查询词来自同一搜索交互过程;
基于所述第一相关样本和所述第二相关样本,生成多个查询词对。
5.如权利要求3或4所述的方法,其中,所述至少通过判别模型处理后的输出数据,得到第一训练数据,包括:
将所述查询词对分别输入所述判别模型进行处理,以输出对应两个查询词的相关值;
选取相关值高的查询词对,并为所选取的至少一个查询词标注至少一个相关词样本;
利用所选取的各查询词及相关词样本,构造第一训练数据。
6.如权利要求3-5中任一项所述的方法,其中,所述利用第一训练数据对翻译模型进行训练,得到新的翻译模型,包括:
将所述第一训练数据中的各查询词分别输入翻译模型进行处理,以对应输出集束搜索约束下预测的多个相关词;
基于预测的多个相关词及标注的相关词样本,对所述翻译模型进行训练,直到满足训练条件时训练结束,得到新的翻译模型。
7.如权利要求3-6中任一项所述的方法,其中,所述利用翻译模型对随机获取的多个查询词分别进行处理,并至少通过所述翻译模型处理后的输出数据,得到第二训练数据,包括:
从搜索点击日志中随机抽取多个查询词,并将所述查询词分别输入翻译模型进行处理,对应输出预测的多个相关词;
从预测的多个相关词中,选取第一部分相关词作为正样本,以及,选取第二部分相关词,作为负样本;
利用各查询词与其对应的正样本或负样本,组成查询词对,作为第二训练数据。
8.如权利要求7所述的方法,其中,所述利用第二训练数据对判别模型进行训练,得到新的判别模型,包括:
将所述第二训练数据中的各查询词对分别输入判别模型进行处理,以输出对应的相关值;
至少基于所述相关值对判别模型进行训练,直到满足训练条件时训练结束,得到新的判别模型。
9.一种信息搜索装置,包括:
预处理单元,适于基于用户查询,确定出至少一个查询词;
相关词预测单元,适于利用相关词预测模型,分别预测所确定的各查询词的至少一个相关词;
检索单元,适于基于所预测的相关词进行搜索,确定搜索结果;
模型训练单元,适于至少通过判别模型的输出数据,得到训练翻译模型的第一训练数据,至少通过所述翻译模型的输出数据,得到训练所述判别模型的第二训练数据,并利用所述第一训练数据和所述第二训练数据协同训练生成翻译模型和判别模型;所述模型训练单元还适于通过对所述翻译模型进行模型压缩得到所述相关词预测模型。
10.一种计算机程序产品,包括计算机程序/指令,其中,该计算机程序/指令被处理器执行时实现权利要求1-8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410109296.4A CN118035380A (zh) | 2024-01-25 | 2024-01-25 | 一种信息搜索方法、装置、计算设备及计算机程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410109296.4A CN118035380A (zh) | 2024-01-25 | 2024-01-25 | 一种信息搜索方法、装置、计算设备及计算机程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118035380A true CN118035380A (zh) | 2024-05-14 |
Family
ID=90988577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410109296.4A Pending CN118035380A (zh) | 2024-01-25 | 2024-01-25 | 一种信息搜索方法、装置、计算设备及计算机程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118035380A (zh) |
-
2024
- 2024-01-25 CN CN202410109296.4A patent/CN118035380A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111581961B (zh) | 一种中文视觉词汇表构建的图像内容自动描述方法 | |
CN111324728B (zh) | 文本事件摘要的生成方法、装置、电子设备及存储介质 | |
CN109376222B (zh) | 问答匹配度计算方法、问答自动匹配方法及装置 | |
US20120290293A1 (en) | Exploiting Query Click Logs for Domain Detection in Spoken Language Understanding | |
CN113822067A (zh) | 关键信息提取方法、装置、计算机设备及存储介质 | |
CN111444320A (zh) | 文本检索方法、装置、计算机设备和存储介质 | |
CN111291188B (zh) | 一种智能信息抽取方法及系统 | |
CN110334186B (zh) | 数据查询方法、装置、计算机设备及计算机可读存储介质 | |
CN107102993B (zh) | 一种用户诉求分析方法和装置 | |
CN106708929B (zh) | 视频节目的搜索方法和装置 | |
WO2012158572A2 (en) | Exploiting query click logs for domain detection in spoken language understanding | |
CN110362798B (zh) | 裁决信息检索分析方法、装置、计算机设备和存储介质 | |
CN111985228A (zh) | 文本关键词提取方法、装置、计算机设备和存储介质 | |
CN113836896A (zh) | 一种基于深度学习的专利文本摘要生成方法和装置 | |
CN114090769A (zh) | 实体挖掘方法、装置、计算机设备和存储介质 | |
Chaudhuri et al. | Modeling user behaviour in research paper recommendation system | |
CN117132923A (zh) | 视频分类方法、装置、电子设备及存储介质 | |
CN112182126A (zh) | 用于确定匹配度的模型训练方法、装置、电子设备及可读存储介质 | |
CN111859955A (zh) | 一种基于深度学习的舆情数据分析模型 | |
CN113094547B (zh) | 日语在线视频语料中特定动作视频片断检索方法 | |
CN115186085A (zh) | 回复内容处理方法以及媒体内容互动内容的交互方法 | |
CN115203206A (zh) | 数据内容搜索方法、装置、计算机设备及可读存储介质 | |
CN118035380A (zh) | 一种信息搜索方法、装置、计算设备及计算机程序产品 | |
CN113971403A (zh) | 一种考虑文本语义信息的实体识别方法及系统 | |
CN113535928A (zh) | 基于注意力机制下长短期记忆网络的服务发现方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |