CN111368525A - 信息搜索方法、装置、设备及存储介质 - Google Patents
信息搜索方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111368525A CN111368525A CN202010158350.6A CN202010158350A CN111368525A CN 111368525 A CN111368525 A CN 111368525A CN 202010158350 A CN202010158350 A CN 202010158350A CN 111368525 A CN111368525 A CN 111368525A
- Authority
- CN
- China
- Prior art keywords
- query information
- sample
- information
- loss function
- model
- 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
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/3331—Query processing
- G06F16/3332—Query translation
-
- 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/35—Clustering; Classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种信息搜索方法、装置、设备及存储介质,属于自然语言处理技术领域。本申请通过将聚焦损失函数引入至改写模型,应用基于聚焦损失函数的改写模型进行信息搜索。由于聚焦损失函数的内部通过调制因子进行了加权,使得改写模型侧重于优化难样本带来的损失,改写模型会选择难样本优先学习,从而解决了难易样本的不平衡问题。由于改写模型的效果得到了提升,那么通过改写模型找到的候选查询信息作为改写查询信息会更加合适,能够准确的纠正原始查询信息包含的错误,使用通过改写模型找到的该候选查询信息进行搜索时,能够有效提高搜索结果的准确性。
Description
技术领域
本申请涉及自然语言处理技术领域,特别涉及一种信息搜索方法、装置、设备及存储介质。
背景技术
在搜索引擎中通过应用查询(Query)改写技术,能够有效地提高搜索引擎的准确性。具体地,当用户使用搜索引擎时,可能会因为认知或者打字失误,导致输入的原始查询信息包含错误甚至词不达意,此时需要找到与原始查询信息语义相近的候选查询信息,通过候选查询信息来进行搜索,从而保证搜索结果的正确性。
时下,通过改写模型来进行信息搜索已成为一个热门的研究方向。具体地,在训练阶段,基于交叉熵损失函数对样本集训练,得出改写模型。在预测阶段,根据用户在搜索引擎中输入的原始查询信息,挖掘出若干候选查询信息,将原始查询信息和挖掘出的候选查询信息输入到改写模型中,通过改写模型对原始查询信息和候选查询信息进行处理,输出预测值。如果某个候选查询信息的概率在若干个候选查询信息中预测值最大,则将该候选查询信息确定为原始查询信息的改写查询信息,根据该候选查询信息进行搜索。
样本集中不同样本的改写难度通常存在极大的不均衡,即,样本集中易样本占比很大,而难样本占比很小。采用上述方法时,由于难易样本的不平衡,在基于样本集训练模型的过程中,模型往往在易样本上过拟合,导致模型不能有效地利用难样本学习,造成模型为原始查询信息确定出的改写查询信息的准确性不高,进而影响了搜索结果的准确性。
发明内容
本申请实施例提供了一种信息搜索方法、装置、设备及存储介质,能够提高搜索结果的准确性。所述技术方案如下:
一方面,提供了一种信息搜索方法,所述方法包括:
根据原始查询信息,获取所述原始查询信息匹配的至少一个候选查询信息;
将所述原始查询信息以及所述至少一个候选查询信息输入改写模型,所述改写模型基于聚焦损失函数对样本集训练得到,所述聚焦损失函数包括第一损失函数和用于对所述第一损失函数加权的调制因子,所述调制因子的取值与所述样本集中样本的改写难度正相关;
通过所述改写模型对所述原始查询信息与所述至少一个候选查询信息进行处理,输出所述至少一个候选查询信息的预测值,所述预测值用于指示对应候选查询信息是所述原始查询信息的改写查询信息的概率;
根据所述至少一个候选查询信息中预测值满足第一条件的候选查询信息进行搜索。
另一方面,提供了一种信息搜索装置,所述装置包括:
获取模块,用于根据原始查询信息,获取所述原始查询信息匹配的至少一个候选查询信息;
输入模块,用于将所述原始查询信息以及所述至少一个候选查询信息输入改写模型,所述改写模型基于聚焦损失函数对样本集训练得到,所述聚焦损失函数包括第一损失函数和用于对所述第一损失函数加权的调制因子,所述调制因子的取值与所述样本集中样本的改写难度正相关;
处理模块,用于通过所述改写模型对所述原始查询信息与所述至少一个候选查询信息进行处理,输出所述至少一个候选查询信息的预测值,所述预测值用于指示对应候选查询信息是所述原始查询信息的改写查询信息的概率;
搜索模块,用于根据所述至少一个候选查询信息中预测值满足第一条件的候选查询信息进行搜索。
可选地,所述调制因子包括聚焦参数,所述聚焦参数用于调整所述样本集中易样本的权重降低速率,所述易样本的改写难度满足第二条件。
可选地,所述聚焦参数为所述调制因子的指数部分。
可选地,所述调制因子包括指示函数,所述指示函数的取值用于指示所述样本的预测值与所述样本的标签之间的偏差。
可选地,所述指示函数为所述调制因子的底数部分。
可选地,所述聚焦损失函数还包括用于对所述第一损失函数加权的平衡因子,所述平衡因子对所述样本集中正样本的取值与对所述样本集中负样本的取值不同,所述正样本包括的样本候选查询信息是对应样本原始查询信息的改写查询信息,所述负样本包括的样本候选查询信息不是对应样本原始查询信息的改写查询信息。
可选地,所述聚焦损失函数为所述调制因子、所述平衡因子和所述第一损失函数的乘积。
可选地,所述改写模型包括神经网络和所述神经网络的输出层连接的所述聚焦损失函数,所述处理模块,用于通过所述神经网络对所述原始查询信息进行特征提取,得到所述原始查询信息的第一语义表示向量;通过所述神经网络对所述至少一个候选查询信息分别进行特征提取,得到所述至少一个候选查询信息的第二语义表示向量;通过所述聚焦损失函数对所述第一语义表示向量和所述至少一个候选查询信息的第二语义表示向量分别进行运算,得到所述至少一个候选查询信息的预测值。
另一方面,提供了一种电子设备,所述电子设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器加载并执行以实现上述信息搜索方法所执行的操作。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现上述信息搜索方法所执行的操作。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例提供的方法及装置,通过将聚焦损失函数引入至改写模型,应用基于聚焦损失函数的改写模型进行信息搜索。由于聚焦损失函数的内部通过调制因子进行了加权,改写难度小的易样本的调制因子的取值大,改写难度大的难样本的调制因子取值小,使得易样本的权重相对降低,难样本的权重相对增加,因此改写模型侧重于优化难样本带来的损失,因此改写模型会选择难样本优先学习,从而解决了难易样本的不平衡问题。由于改写模型能有效地利用难样本学习,改写模型的效果得到了提升,那么通过改写模型找到的候选查询信息作为改写查询信息会更加合适,能够准确的纠正原始查询信息包含的错误。因此使用通过改写模型找到的该候选查询信息进行搜索时,能够有效提高搜索结果的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种信息搜索方法的实施环境的示意图;
图2是本申请实施例提供的一种改写模型的训练方法的流程图;
图3是本申请实施例提供的一种Query改写的原理示意图;
图4是本申请实施例提供的一种改写模型的结构示意图;
图5是本申请实施例提供的一种聚焦损失函数的示意图;
图6是本申请实施例提供的一种信息搜索方法的流程图;
图7是本申请实施例提供的一种在即时通信应用中进行信息搜索的方法的流程图;
图8是本申请实施例提供的一种信息搜索装置的结构示意图;
图9是本申请实施例提供的一种终端的结构示意图;
图10是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种示例的范围的情况下,第一条件可以被称为第二条件,并且类似地,第二条件可以被称为第一条件。第一条件和第二条件都可以是条件,并且在某些情况下,可以是单独且不同的条件。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个候选查询信息是指两个或两个以上的候选查询信息。
应理解,在本文中对各种示例的描述中所使用的术语只是为了描述特定示例,而并非旨在进行限制。如在对各种示例的描述和所附权利要求书中所使用的那样,单数形式“一个(“a”“,an”)”和“该”旨在也包括复数形式,除非上下文另外明确地指示。
还应理解,本文中所使用的术语“和/或”是指并且涵盖相关联的所列出的项目中的一个或多个项目的任何和全部可能的组合。术语“和/或”,是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中的字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,在本申请的各个实施例中,各个过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
还应理解,术语“包括”(也称“inCludes”、“inCluding”、“Comprises”和/或“Comprising”)当在本说明书中使用时指定存在所陈述的特征、整数、步骤、操作、元素、和/或部件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元素、部件、和/或其分组。
还应理解,术语“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
还应理解,术语“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
由于本申请实施例涉及人工智能的应用,为了便于理解,下面先对本申请实施例涉及的人工智能技术中的相关概念进行介绍。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、示教学习等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
查询改写是指将一个Query改写为另一个Query的过程。查询改写是搜索引擎的一个重要模块。具体地,当用户在移动终端上使用搜索引擎时,可能会因为认知或者打字失误,输入包含部分错误、同义甚至词不达意的Query,此时搜索引擎的查询改写模块常常需要对这些词不达意的Query改写为语义相近但能更多召回目标文档的Query并发往后台引擎,以期返回给用户正确Query下的搜索结果。查询改写本质上是要找到和原始Query相似的候选Query。
本申请实施例提供的方案涉及人工智能的NLP以及查询改写等技术,具体通过如下实施例进行说明。
图1是本申请实施例提供的一种信息搜索方法的实施环境的示意图。该实施环境包括:终端101和信息搜索平台102。终端101通过无线网络或有线网络与信息搜索平台102相连。
终端101可以是智能手机、游戏主机、台式计算机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器或MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器和膝上型便携计算机中的至少一种。终端101安装和运行有支持信息搜索的应用程序,例如,该应用程序可以是即时通讯应用、新闻推送应用、购物应用、在线视频应用、社交应用,该社交应用可以是基于话题或频道或圈子进行人群聚合的社交类应用程序或者具有社交属性的其它应用程序。示例性的,终端101是第一用户使用的终端,终端101中运行的应用程序内登录有第一账号,第一账户是第一用户的用户账号。
信息搜索平台102包括一台服务器、多台服务器、云计算平台和虚拟化中心中的至少一种。信息搜索平台102用于为支持信息搜索的应用程序提供后台服务。可选地,信息搜索平台102承担主要处理工作,终端101承担次要处理工作;或者,信息搜索平台102承担次要处理工作,终端101承担主要处理工作;或者,信息搜索平台102或终端101分别可以单独承担处理工作。或者,信息搜索平台102和终端101两者之间采用分布式计算架构进行协同计算。
可选地,信息搜索平台102包括:服务器1021和数据库1022。服务器1021用于提供信息搜索有关的后台服务。服务器1021可以是一台或多台。当服务器1021是多台时,存在至少两台服务器1021用于提供不同的服务,和/或,存在至少两台服务器1021用于提供相同的服务,比如以负载均衡方式提供同一种服务,本申请实施例对此不加以限定。数据库1022存储有处理任务所需的数据,当服务器1021需要数据时,可以访问数据库1022,读取数据库1022存储的数据。当服务器处理任务,得到信息搜索的结果时,可以将信息搜索的结果写入至数据库1022,从而通过数据库1022对信息搜索的结果进行持久化存储。
本领域技术人员可以知晓,上述终端101、服务器1021的数量可以更多或更少。比如上述终端101、服务器1021可以仅为一个,或者上述终端101、服务器1021为几十个或几百个,或者更多数量,此时虽然图1中未示出,上述实施环境还包括其他终端,其它终端登录有与第一帐号存在好友关系的第二帐号。本申请实施例对终端或服务器的数量和设备类型不加以限定。
本申请实施例涉及聚焦损失函数在改写模型中的应用,可广泛的应用在各类信息搜索场景。基于聚焦损失函数的改写模型涉及模型训练阶段以及模型预测阶段。模型训练阶段的流程请参考附图2所示的实施例,模型预测阶段的流程请参考附图6所示的实施例。换句话说,附图2所示的实施例关于如何利用样本集训练出改写模型。附图6所示的实施例关于如何利用训练好的改写模型进行信息搜索。应理解,模型预测阶段与模型训练阶段存在相同或相应的特征,图6实施例与图2实施例同理的实现细节还请参见图2实施例,在图6实施例中不做赘述。
图2是本申请实施例提供的一种改写模型的训练方法的流程图。参见图2,该方法包括S101至S105。
S101、服务器获取样本集。
样本集的来源包括多种情况。例如,样本集通过音似语料、形似语料、同义语料、丢词语料、改词语料、查询会话(Query Session)和人工标注等方式构造。样本集包括至少一个样本查询信息。其中,样本查询信息是指作为样本的Query。例如,样本查询信息是搜索引擎在历史时间点接收到的历史Query。又如,样本查询信息是样本用户输入的Query。
服务器获取样本集的方式包括多种实现方式。例如,样本集预先存储在数据库中,服务器从数据库中读取样本集。又如,服务器从网站中下载样本集。又如,通过配置操作,在服务器中输入样本集。本实施例对获取样本集的方式不做限定。
S102、服务器根据样本集中的样本原始查询信息,获取样本原始查询信息匹配的至少一个样本候选查询信息。
样本原始查询信息是指作为样本的原始查询信息。原始查询信息也称原Query、原串、原始Query、改写前的Query或待改写的Query。
样本候选查询信息是指作为样本的候选查询信息。候选查询信息也称候选Query、潜在目标文本、潜在的纠错串、潜在的纠错串。候选查询信息与样本原始查询信息满足匹配条件。例如,候选查询信息与原始查询信息之间的文本相似度高于第一阈值。又如,候选查询信息对应的点击行为与原始查询信息对应的点击行为之间的行为相似度高于第二阈值。再如,候选查询信息的语义表示向量与原始查询信息的语义表示向量之间的语义相似度高于第三阈值。
一个原始查询信息可选地存在一个或多个候选查询信息。本实施例中,通过训练出改写模型,有助于从原始查询信息匹配的各个候选查询信息中,找出最合适的候选查询信息,作为原始查询信息的改写查询信息,以便利用改写查询信息进行搜索。
其中,改写查询信息也称纠错串、改写Query、纠错Query、目标Query或目标串,改写查询信息是指样本原始查询信息匹配的至少一个候选查询信息中与样本原始查询信息最匹配的查询信息。
可选地,样本集中的样本是Query对的形式。一个样本包括两个Query,一个Query是样本原始查询信息,另一个Query是样本候选查询信息。对于样本包括的样本原始查询信息而言,根据确定出改写查询信息的难度的不同,以及样本候选查询信息是否为改写查询信息的不同,将样本集中的样本划分为多种类型,下面对样本的类型进行示例性介绍。
参见下表1,根据正、负、难、易这四种特征,样本共可分为表1所示的四类。具体地,从正负的角度来说,样本包括正样本和负样本。从难易的角度来说,样本包括难样本和易样本。总结来说,样本包括正难样本、正易样本、负难样本和负易样本。
表1
样本类型 | 难样本 | 易样本 |
正样本 | 正难样本 | 正易样本 |
负样本 | 负难样本 | 负易样本 |
其中,正难样本是指样本既是正样本同时也是难样本。正易样本是指样本既是正样本同时也是易样本。负难样本指样本既是负样本同时也是难样本。负易样本指样本既是负样本同时也是易样本。
正样本(positive sample)是机器学习领域中的术语。正样本泛指属于待预测的类别的样本。应用在本实施例提供的基于查询改写的信息搜索场景,正样本包括样本原始查询信息以及样本候选查询信息,并且,该样本候选查询信息是对应样本原始查询信息的改写查询信息。例如,样本包括原始Query“吉祥混沌”以及候选Query“吉祥馄饨”,其中“吉祥馄饨”是“吉祥混沌”的改写Query,该样本可称为正样本。
负样本(negative sample)是机器学习领域中的术语。负样本泛指不属于待预测的类别的样本。应用在本实施例提供的基于查询改写的信息搜索场景,负样本包括样本原始查询信息以及样本候选查询信息,并且,该样本候选查询信息不是对应样本原始查询信息的改写查询信息。例如,样本包括原始Query“汽车改”以及候选Query“汽车改装”,其中“汽车改装”不是“汽车改”的改写Query,该样本可称为负样本。
易样本(easy example)是机器学习领域中的术语。易样本泛指容易分类的样本(well-classified example),易样本是模型容易预测准确的样本,换句话说,易样本是样本集中置信度高的样本。应用在本实施例提供的基于查询改写的信息搜索场景,易样本是样本集中容易改写的样本。易样本的改写难度小于难样本的改写难度。具体地,易样本的改写难度满足第二条件。满足第二条件可选地包括多种情况。
例如,若样本是音似输入错误型样本,则该样本可称为易样本,该样本的改写难度满足第二条件。其中,音似输入错误型样本包括的样本原始查询信息以及样本候选查询信息,且样本候选查询信息的发音与样本候选查询信息的发音之间的相似度高于第四阈值。比如,样本包括原始Query“诸葛亮”与候选Query“猪哥亮”,“诸葛亮”的发音和“猪哥亮”的发音相似,应该将“诸葛亮”改写为“猪哥亮”,则“诸葛亮”和“猪哥亮”是音似输入错误型样本,该样本是易样本。
例如,若样本是形似输入错误型样本,则该样本的改写难度满足第二条件,该样本可称为易样本。其中,形似输入错误型样本包括的样本原始查询信息以及样本候选查询信息,且样本候选查询信息的字形与样本候选查询信息的字形之间的相似度高于第五阈值。比如,样本包括原始Query“小呈序游侠”与候选Query“小程序游戏”,“小呈序游侠”的字形和“小程序游戏”的字形相近,用户想输入的是“小程序游戏”,但因为打字失误输入了“小呈序游侠”,应该将“小呈序游侠”改写为“小程序游戏”,“小呈序游侠”和“小程序游戏”是形似输入错误型样本,该样本是易样本。
其中,置信度是机器学习领域中的术语。置信度是模型对样本预测的类别和样本的标签相同的概率。应用在本实施例提供的基于查询改写的信息搜索场景,对于一个正样本而言,置信度是改写模型对正样本预测出类型是改写的概率。例如,将正样本输入到改写模型后,改写模型预测的概率接近1,则置信度高。对于一个负样本而言,置信度是改写模型对负样本预测出类型是不改写的概率。例如,将负样本输入到改写模型后,改写模型预测的概率接近0,则置信度高。
难样本(Hard Example)是机器学习领域中的术语。难样本泛指难以分类的样本(hard,miss-classified example),难样本是模型难以预测准确的样本,难样本是样本集中置信度低的样本。应用在本实施例提供的基于查询改写的信息搜索场景,难样本是样本集中难以改写的样本,难样本的改写难度大于易样本。具体地,难样本的改写难度满足第三条件。满足第三条件可选地包括多种情况。
例如,若样本是语义层面输入错误的样本,即样本是词不达意型样本,则该样本可称为难样本,该样本的改写难度满足第三条件。其中,语义层面输入错误的样本包括的样本原始查询信息以及样本候选查询信息,且样本候选查询信息的语义与样本候选查询信息的语义之间的语义相似度低于第五阈值,换句话说,候选Query和原Query相比语义已经发生了改变,那么从原Query到候选Query要经过语义层面的转换,导致难度很大。比如,样本包括原始Query“最后一夜”与候选Query“醉后一夜”,“最后一夜”的语义与“醉后一夜”的语义不同,该样本是难样本。
又如,考虑到中长尾Query对的改写难度通常大于头部Query对的改写难度,若样本中的原始查询信息以及候选查询信息是中长尾Query,则该样本可称为难样本。该样本的改写难度满足第三条件。其中,中长尾Query是中长尾词。
示例性地,请参考下表2,表2示出了样本集包括的样本以及样本的标签。在表2中,正样本是标签为“纠错”的样本。负样本是标签为“不纠错”的样本。备注为“困难样本”的样本示出了难样本。具体地,表2中的一行示出了一个样本,每个样本是一个Query对。||是同一个Query对中原Query与候选Query之间的分隔符。||之前示出了样本中的原Query,即样本原始查询信息。||之后示出了样本中的候选Query,即样本候选查询信息。其中,吉祥混沌和吉祥馄饨组成一个Query对,该Query对是正样本,其中吉祥混沌中的“混沌”应当被改写为“馄饨”。电视遥万器和电视遥控器组成一个Query对,该Query对是正样本,其中电视遥万器中的“万”应当被改写为“控”。cf活动枪(cf是一款游戏的名字)和cf活动组成一个Query对,该Query对是正样本,其中cf活动枪中的“枪”应当被删除。汽车改和汽车改装组成一个Query对,该Query对是负样本,汽车改装不是汽车改的改写Query。宛草和莞草组成一个Query对,该Query对是负样本,莞草不是宛草的改写Query。路地巡航舰和路地巡洋舰组成一个Query对,该Query对是正样本,其中路地巡航舰中的“航”应当被改写为“洋”。是个和诗歌组成一个Query对,该Query对是正样本,其中“是个”应当被改写为“诗歌”。菲律宾世界和菲律宾时间组成一个Query对,该Query对是正样本,其中菲律宾世界中的“世界”应当被改写为“时间”。广告场大全和广告词大全组成一个Query对,该Query对是正样本,其中广告场大全中的“场”应当被改写为“词”。超级校园霸王和超级学校霸王组成一个Query对,该Query对是正样本,其中超级校园霸王中的“校园”应当被改写为“学校”。婴儿肺炎和小儿肺炎组成一个Query对,该Query对是正样本,其中婴儿肺炎中的“婴儿”应当被改写为“小儿”。
表2
样本集中不同类型的样本经常出现不平衡的问题。不平衡也称不平均或数量不均匀。样本不平衡的问题包括两大方面,一方面是指正负样本不平衡的问题,另一方面是指难易样本的不平衡问题。
正负样本不平衡的问题是指样本集中负样本与正样本的比例失衡的情况。通常情况下,如果样本集中正样本的数量远多于负样本的数量,或者负样本的数量远多于正样本的数量,就会导致正负样本的不平衡。在本实施例中,会介绍如何通过在损失函数中引入平衡因子来解决正负样本不平衡的问题。
难易样本的不平衡问题是指样本集中难样本与易样本的比例失衡的情况。通常情况下,样本集中易样本的数量远多于难样本的数量,就会导致难易样本的不平衡。应用在本实施例提供的基于查询改写的信息搜索场景,难易样本的不平衡问题例如是这样一种情况:改写难度小的样本在样本集中占比大,而改写难度高的样本在样本集中占比小。例如,头部改写类型的样本量占比与中长尾改写类型的样本量占比往往高达5:1,显然头部改写类型的样本与中长尾改写类型的样本相比非常不均衡。又如,样本集中大部分是容易改写的音似输入错误型样本以及形似输入错误型样本,而语义层面输入错误的样本在样本集中分布较少,这些情况都会引起难易样本的不平衡问题。
在模型训练阶段,由于易样本和难样本的数量相对极不平衡,易样本的数量相对来讲太多,会导致易样本主导了总的损失。即,在计算损失值的过程中,易样本带来的损失在样本集整体损失中所占的比例远大于难样本带来的损失在样本集整体损失中所占的比例,这就造成改写模型在整体优化时往往在“简单”且更多的改写类型上过拟合,而本身更需要模型去解决的“困难”的改写类型仍然不能有效学习出来。在本实施例中,考虑到易样本对模型的提升效果非常小,模型应该主要关注那些难样本,通过对损失函数进行了改进,解决了复杂改写场景下由于样本难易度不均衡而导致的机器学习模型不能有效收敛到更优解的问题,进而解决了模型效果不能最优的问题。在本实施例中,会介绍如何通过在损失函数中引入调制因子来解决难易样本不平衡的问题。
S103、服务器将样本原始查询信息以及至少一个样本候选查询信息输入改写模型。
本实施例提供了基于深度学习的改写模型,该改写模型也称Query改写模型,通过该改写模型执行Query改写的任务,能够在信息搜索场景有效提高召回率。
参见图3,改写模型的原理类似于通信技术领域中的噪声-信道模型。图3中Query-I表示用户输入的真实Query,Query-I可提供为原始查询信息。图3中Query-O表示Query-I通过噪声信道后输出的Query。Query-O可以理解为在Query-I的基础上添加了噪声的Query,这里的噪声例如是打字错误、认知错误等。Query-I’表示纠错Query,Query-I’可提供为改写查询信息。解码器用于将Query-O映射为Query-I’。图3中的解码器可选地采用机器学习算法实现,图3中的解码器可以映射为图4中改写模型300中的神经网络301。
结合图3所示的改写模型原理,Query改写问题可分解为以下召回任务和排序任务。
召回任务包括计算样本候选查询信息是样本原始查询信息的改写查询信息的先验概率,先验概率即P(I)。例如,根据样本候选查询信息的热度、语言模型等特征,计算P(I)。例如,根据“猪哥亮”的热度、语言模型等特征,计算“猪哥亮”是“诸葛亮”的改写查询信息的先验概率,得到“猪哥亮”对应的P(I)。
排序任务包括计算样本原始查询信息和样本候选查询信息之间的转移概率,对样本原始查询信息匹配的每个候选查询信息按照转移概率的大小进行排序,根据排序结果,选择候选查询信息作为改写查询信息。例如,计算从“小珵序游戏”到“小程序游戏”之间的转移概率,发现转移概率高,则确定“小程序游戏”是“小程序游戏”的改写Query。
本实施例提供的改写模型优化了图3中转移概率P(O/I)的最大化损失。具体地,求取最大化损失的方式可采用下述公式(1)表示。
公式(1)中,argmax是一种函数。例如,当有另一个函数y=f(x)时,若有结果x0=argmax(f(x)),则表示当函数f(x)取x=x0的时候,得到f(x)取值范围的最大值。换句话说,argmax的结果是使得f(x)取得最大值的x点集。I是input的缩写,I表示用户输入的Query,即原始查询信息(原串)。P表示概率。P(I)表示原始查询信息的概率。O是output的缩写,O表示改写查询信息(纠错串)。P(O)表示样本候选查询信息是改写查询信息的先验概率。P(O/I)表示转移概率,具体是指从原始查询信息(原串)到改写查询信息(改写串)的概率。
下面对改写模型的结构进行示例性介绍。
可选地,改写模型包括机器学习模型以及该机器学习模型连接的聚焦损失函数。改写模型输出的预测值例如是聚焦损失函数计算出的损失值。其中,机器学习模型例如可以是神经网络、逻辑回归(Logistic Regression,LR)模型、回归树(Gradient BoostingDecision Tree,GBDT)模型等。当然,机器学习模型也可以是其他通过监督学习的方式训练出的机器学习模型。
改写模型例如是图4中的改写模型300,改写模型300包括神经网络301和聚焦损失函数302。神经网络301后接有聚焦损失函数302。例如,神经网络301的输出层和聚焦损失函数连接。
神经网络301例如是卷积神经网络(Convolutional Neural Networks,CNN)或者长短期记忆(Long Short-Term Memory,LSTM)网络。可选地,神经网络301应用了注意(Attention)机制。神经网络301用于对查询信息进行特征提取,以得到查询信息的语义表示向量。神经网络301包括输入层、隐藏层和输出层,每个层可以包括若干个神经元,每个神经元用于对输入参数进行线性映射以及非线性映射。其中,神经元可以包括卷积核、高斯核、核结构、门结构、记忆单元中的至少一种。
改写模型是基于聚焦损失(Focal Loss,FL)函数对样本集训练得到的。下面对聚焦损失函数进行示例性介绍。
损失函数是机器学习模型中的术语,损失函数用于计算损失值,损失值用于指示模型对样本的预测值和真实值之间的偏差。在模型训练的过程中,会通过调整模型的参数,将样本集整体的损失最小化。其中,如果样本集包括N个样本,则样本集整体的损失是N个样本的损失的平均值或N个样本的损失的和值。其中,N为大于或等于1的整数。
聚焦损失函数是一种新的损失函数,聚焦损失函数也称focal loss function。聚焦损失函数中的聚焦是指模型在训练过程中聚焦在学习难样本上。概括来讲,聚焦损失函数内通过调制因子进行了加权,相对降低了易样本的权重,相对增加了难样本的权重。通过这种巧妙的设计,当样本集存在难易样本的不平衡问题时,由于易样本的权重降低了,即使易样本的数量很大,易样本整体对样本集总损失的贡献也会很小,因此模型侧重于优化难样本带来的损失,使得模型不断会动态地选择难样本(例如预测概率低的正样本)优先学习,从而解决了难易样本的不平衡问题,在难易分布差异大的情况下优化了训练效果。
本实施例中,通过将聚焦损失函数引入到NLP领域的Query改写任务中,在改写模型中应用聚焦损失函数,使得改写模型会优先选择改写难度大的样本进行学习。
聚焦损失函数可选地包括多个部分,在一种可能的实现中,聚焦损失函数包括第一损失函数和用于对第一损失函数加权的调制因子。可选地,聚焦损失函数还包括用于对第一损失函数加权的平衡因子。在聚焦损失函数中,调制因子和平衡因子可以视为两个不同的权重项。
第一损失函数用于计算模型对样本的预测值和标签之间的偏差。第一损失函数的类型包括多种情况。例如,第一损失函数包括而不限于是交叉熵(cross entropy,CE)损失函数、条件熵损失函数、均方误差(Mean-Square Error,MSE)、相对熵损失函数等。在下文中,以第一损失函数为交叉熵损失函数为例进行说明,第一损失函数为其他类型的损失函数的情况与此同理。
交叉熵(cross entropy)损失函数用于指示两个分布的差异,交叉熵损失函数计算出的损失值可称为交叉熵损失。对于一个样本而言,模型对该样本输出的预测值和该样本的标签越相近,则该样本的交叉熵损失就越小;模型对该样本输出的预测值和该样本的标签越远离,则该样本的交叉熵损失就越大。其中,对于正样本而言,正样本的标签通常用1表示,模型对正样本输出的概率越大,则正样本的交叉熵损失就越小。对于负样本而言,负样本的标签通常用0表示,模型对负样本输出的概率越小,则负样本的交叉熵损失就越小。交叉熵损失函数如下述公式(2)所示。
在公式(2)中,CE表示交叉熵损失函数,y表示样本的标签,y的取值为0或1。正样本的y的取值为1。负样本的y的取值为0。p表示概率,p例如是改写模型中机器学习模型的输出结果,比如p是神经网络301的输出结果。p的取值范围是(0,1),log表示取对数。
经过研究发现,若直接采用交叉熵损失函数作为改写模型的损失函数,由于面临难易样本的不平衡问题,会导致改写模型在大量易样本的迭代过程中比较缓慢,且可能无法优化至最优。并且由于面临正负样本不平衡的问题,会导致改写模型难以有效地学习数量占比偏少的负样本或正样本。
而本实施例中,通过在交叉熵损失函数之前添加了平衡因子和调制因子,通过平衡因子能够解决正负样本不平衡的问题,通过调制因子能够解决难易样本的不平衡问题。以下,对平衡因子和调制因子分别进行介绍。
平衡因子对样本集中正样本的取值与对样本集中负样本的取值不同。例如,如果样本集中正样本的占比大于负样本的占比,则平衡因子对正样本的取值小于对负样本的取值。如果样本集中正样本的占比小于负样本的占比,则平衡因子对正样本的取值大于对负样本的取值。通过这种设计,降低了正样本和负样本中占比过高的一者的权重,也就相对提高了正样本和负样本中占比过小的一者的损失在样本集整体的损失中所占的比例,从而能够平衡正负样本的重要性,调和正样本和负样本的不平均,使得模型能够有效地利用正样本和负样本中占比过小的一者进行学习,从而提升模型的效果,使得通过模型找到的改写查询信息更加精确,进而提升利用模型进行搜索的准确性。
平衡因子包括超参数。在一种可能的实现中,平衡因子通过α表示,在交叉熵损失函数之前添加平衡因子后,交叉熵损失函数从上述公式(2)变为下述公式(3)。在公式(3)中,正样本(即y=1的情况下)平衡因子的形式是α,负样本(即y=0的情况下)平衡因子的形式是(1-α)。若α取0.25,采用聚焦损失函数对正样本计算时,平衡因子的取值和α相等,因此平衡因子的取值是0.25,采用聚焦损失函数对负样本计算时,平衡因子的取值和(1-α)相等,因此平衡因子的取值是(1-0.25)=0.75。
此外,与公式(2)同理,在公式(3)中,CE表示交叉熵损失函数,y表示样本的标签,y的取值为0或1。正样本的y的取值为1。负样本的y的取值为0。P表示概率,P例如是改写模型中机器学习模型的输出结果,比如P是神经网络301的输出结果。p的取值范围是(0,1),log表示取对数。
调制因子对易样本的取值小于调制因子对难样本的取值。调制因子的取值与样本集中样本的改写难度正相关。换句话说,采用聚焦损失函数对改写难度小的样本进行计算时,调制因子的取值小。采用聚焦损失函数对改写难度大的样本进行计算时,调制因子的取值大。
可选地,调制因子包括指示函数以及聚焦参数。
指示函数例如记为pt项,指示函数的取值用于指示样本的预测值与样本的标签之间的偏差。指示函数的取值范围是[0,1]。例如,对于正样本而言,指示函数为p(x),对于负样本而言,指示函数为1-p(x)。可选地,易样本是指示函数的取值大于0.5的样本。
聚焦参数例如通过γ表示。聚焦参数用于调整样本集中易样本的权重降低速率。具体地,通过聚焦参数,能够相对放大难样本的梯度,相对降低易样本的梯度。可选地,聚焦参数是超参数。聚焦参数例如是大于或等于0的数值。聚焦参数为0时,聚焦损失函数的取值和交叉熵损失函数的取值相等。换句话说,聚焦参数为0时,聚焦损失函数等同于交叉熵损失函数。随着聚焦参数的增加,调制因子的影响会同步的增加。
可选地,调制因子是指数函数的形式,调制因子包括指数部分和底数部分。其中,聚焦参数为调制因子的指数部分。指示函数为调制因子的底数部分。例如,对于正样本而言,调制因子的形式是(1-p)γ。对于负样本而言,调制因子的形式是pγ。以正样本为例,当正样本被错误分类时,p偏小,调制因子接近于1,此时损失值不受影响,即,交叉熵损失和调制因子的乘积相对于交叉熵损失来说差距不大。当正样本被正确分类时,p接近于1,调制因子接近于0,等同于交叉熵损失的权重极大地衰减,即调制因子和交叉熵损失的乘积远远小于交叉熵损失。举个例子,对于正样本1和正样本2而言,神经网络对正样本1预测的概率p为0.95,神经网络对正样本2预测的概率为0.3,(1-0.95)的γ次方远远小于(1-0.3)的γ次方,因此正样本2通过聚焦损失函数计算出的损失值相对更大,使得模型更加关注于难以区分的正样本2。
总结来说,调制因子通过减少易样本的损失值,从而提高难样本的损失值在样本集中整体损失中的比重,让改写模型专注于训练难训练的样本。此外,当调制因子增加时,会增加难样本的重要性。并且,调制因子能够扩大得到低损失值的样本范围。
示例性地,在聚焦损失函数中,第一损失函数和调制因子通过相乘的方式结合。以第一损失函数是交叉熵损失函数为例,聚焦损失函数如下面的公式(4)所示。
此外,与公式(3)同理,在公式(4)中,y表示样本的标签,y的取值为0或1。正样本的y的取值为1。负样本的y的取值为0。P表示概率,P例如是改写模型中机器学习模型的输出结果,比如P是神经网络301的输出结果。p的取值范围是(0,1),log表示取对数。
综合上述描述的调制因子、平滑因子和第一损失函数,可选地,聚焦损失函数为调制因子、平衡因子和第一损失函数的乘积。例如,聚焦损失函数如下面的公式(5)所示。公式(5)可以视为公式(3)和公式(4)的结合,能够同时解决正负样本不平衡的问题难易样本的不平衡问题。
在公式(5)中,FL表示聚焦损失函数,y表示样本的标签,y的取值为0或1。P例如是改写模型中机器学习模型的输出结果,p的取值范围是(0,1),log表示对数。γ≥0。
举个例子,r取2时,如果p=0.968,带入上面的公式(5),调制因子的取值为(1-0.968)2≈0.001,那么通过将0.001和CE损失相乘,使得得到的损失衰减了1000倍。
此外,通过将聚焦参数作为调制因子的指数部分,将述指示函数为调制因子的底数部分,能够平滑地调整易样本降低权重值的速率。
例如,请参考图5,图5示出了聚焦参数γ配置为不同取值的情况下聚焦损失函数的示意。图5示出了五条曲线,每条曲线代表一个聚焦损失函数。其中,γ=0时聚焦损失函数如①所示。γ=0.5时聚焦损失函数如②所示。γ=1时聚焦损失函数如③所示。γ=2时聚焦损失函数如④所示。γ=5时聚焦损失函数如⑤所示。从图5可以看出,γ越大,易样本的损失被衰减的程度越大。图5表达的含义包括:提供一种新的损失函数,称之为聚焦损失函数。聚焦损失函数在标准的交叉熵准则的基础上增加了一个因子(1-pt)γ,减少了容易分类的样本(如pt>0.5的样本)的相对损失,将更多的注意力放在难分类的样本上。经过实验证明,在大量的易样本存在的情况下,聚焦损失函数使得高精度的改写模型成为可能。
S104、服务器通过改写模型对样本原始查询信息与至少一个样本候选查询信息进行处理,输出至少一个样本候选查询信息的预测值。
在改写模型的训练阶段,可选地,每次向改写模型输入一个Query对,该Query对包括样本原始查询信息与一个样本候选查询信息,通过改写模型对Query对进行处理,输出Query对中样本候选查询信息的预测值。例如,若样本原始查询信息对应于N个样本候选查询信息,通过改写模型对样本原始查询信息与第i个样本候选查询信息进行处理,输出第i个样本候选查询信息的预测值,从而得到N个样本候选查询信息的预测值。其中,N为正整数,i为不大于n的整数。
预测值用于指示对应样本候选查询信息是样本原始查询信息的改写查询信息的概率。N个样本候选查询信息中的每个样本候选查询信息对应一个预测值。例如,对于N个样本候选查询信息中的第i个样本候选查询信息而言,第i个样本候选查询信息的预测值越大,指示第i个样本候选查询信息是样本原始查询信息的改写查询信息的概率越大,即,将样本原始查询信息改写为第i个样本候选查询信息越合适,使用第i个样本候选查询信息代替样本原始查询信息进行搜索越合适。
改写模型内部运算的过程包括多种实现方式。可选地,改写模型内部的机器学习模型是神经网络,通过改写模型进行运算的过程包括以下S1041至S1043。
S1041、服务器通过神经网络对样本原始查询信息进行特征提取,得到样本原始查询信息的第一语义表示向量。
其中,语义表示向量例如称为词嵌入向量(embedding)。语义表示向量是一个能够表征某个词,并捕获词的语义的数字列表。第一语义表示向量是指样本原始查询信息的语义表示向量。
S1042、服务器通过神经网络对至少一个样本候选查询信息分别进行特征提取,得到至少一个样本候选查询信息的第二语义表示向量。
第二语义表示向量是指样本候选查询信息的语义表示向量。N个样本候选查询信息中的每个样本候选查询信息对应一个第二语义表示向量。例如,对于N个样本候选查询信息中的第i个样本候选查询信息而言,服务器通过神经网络对第i个样本候选查询信息进行运算,得到第i个样本候选查询信息的第二语义表示向量。
S1043、服务器通过聚焦损失函数对第一语义表示向量和至少一个第二语义表示向量分别进行运算,得到至少一个样本候选查询信息的预测值。
例如,对于N个样本候选查询信息中的第i个样本候选查询信息而言,服务器通过聚焦损失函数、第一语义表示向量和第i个样本候选查询信息的第二语义表示向量进行运算,得到第i个样本候选查询信息的预测值。
参见附图4,结合图4所示的模型结构,上述S1041至S1043例如包括以下步骤a至步骤d。
步骤a、服务器对样本候选查询信息(即原Query)进行分词,得到第一词语集合。对样本候选查询信息(即潜在的改写Query)进行分词,得到第二词语集合。
例如,第一词语集合包括图4中的w11、w12……w1m。其中,w11表示原始查询信息中的第1个词,w12表示原始查询信息中的第2个词,w1m表示原始查询信息中的第m个词,省略号表示原始查询信息包括而图4中未示出的其他词。例如,第二词语集合为图4中的w21、w22……w2m。w21表示样本候选查询信息中的第1个词,w22表示样本候选查询信息中的第2个词,w2m表示样本候选查询信息中的第m个词,省略号表示样本候选查询信息包括而图4中未示出的其他词。
步骤b、服务器对第一词语集合进行词嵌入,得到原始查询信息的词嵌入(QueryEmbedding),对第二词语集合进行词嵌入,得到候选查询信息的词嵌入(QueryEmbedding)。
步骤c、服务器将原始查询信息的词嵌入输入CNN或LSTM,通过CNN/LSTM对原始查询信息的词嵌入进行特征提取,得到第一语义表示向量(Query Embedding)。将候选查询信息的词嵌入输入CNN或LSTM,通过CNN/LSTM对候选查询信息的词嵌入进行特征提取,得到第二语义表示向量(Query Embedding)。
其中,图4中的303示出了第一语义表示向量,303中的每个圆圈表示第一语义表示向量中一个维度的取值。303中的省略号表示第一语义表示向量包括而图4中未示出的维度。图4中的304示出了第二语义表示向量,304中的每个圆圈表示第二语义表示向量中一个维度的取值。304中的省略号表示第二语义向量包括而图4中未示出的维度。
步骤d、服务器根据第一语义表示向量和第二语义表示向量、聚焦损失函数,计算预测值。
例如,服务器通过CNN或LSTM对第一语义表示向量和第二语义表示向量进行运算,得到从第一语义表示向量到第二语义表示向量的转移概率,通过聚焦损失函数对转移概率进行运算,得到预测值。
在一些实施例中,改写模型中除了使用聚焦损失函数之外,可选地采用其他损失函数来解决难易样本的不平衡问题。例如,上述聚焦损失函数被替换为梯度均衡机制(Gradient Harmonizing Mechanism,GHM)函数,GHM函数是基于聚焦损失函数的改进,GHM函数能够优化模型的训练效果。
S105、服务器根据至少一个样本候选查询信息的预测值与至少一个样本候选查询信息的标签,调整改写模型的参数。
在训练改写模型的过程中,由于使用了聚焦损失函数,参见下表3,正易样本的损失通过γ得到了衰减,负易样本通过γ和α得到了衰减,使得难样本的损失相对放大。这样,模型在样本集中关注对象的优先级顺序为正难样本>负难样本>正易样本>负易样本。例如,正难样本是词不达意类型的样本,比如说,正难样本包括原始Query“最后一夜”与候选Query“醉后一夜”。例如,负难样本是由于搜索热度导致过度纠错的样本,负难样本中的候选Query是热点词,例如,负难样本包括原始Query“某某国家抗议”与候选Query“某某国家抗疫”。例如,正易样本是形似样本,比如说,正易样本包括原始Query“小呈序游侠”与候选Query“小程序游戏”。负易样本例如是一般的误纠例子,即随机构造两个不相关的query,将这两个不相关的query中的一个query作为原始Query,另一个query作为候选Query,将该原始Query和候选Query组成纠错对,得到负易样本。例如,负易样本包括原始Query“大学”与候选Query“学院”。又如,负易样本包括原始Query“陕西”与候选Query“山西”。
表3
样本类型 | 难样本 | 易样本 |
正样本 | ①正难样本 | ③正易样本γ衰减 |
负样本 | ②负难样本α衰减 | ④负易样本α、γ衰减 |
训练改写模型的实现方式包括多种。例如,服务器采用反向传播(BackPropagation)算法,根据聚焦损失函数计算出的损失值,调整神经网络每个卷积核的权重,通过调整权重,神经网络预测的准确性得以提升,使得下一次预测时改写模型输出的预测值与样本候选查询信息的标签之间的差距得以减小。其中,聚焦损失函数计算出的损失值即改写模型输出的预测值。
以上示出了训练的一次迭代过程,每当迭代一次后,服务器可以检测当前是否已经满足训练终止条件,当不满足训练终止条件时,服务器执行下一次迭代过程,得到新的损失值,根据新的损失值再次调整模型参数,直至满足训练终止条件时,可以将本次迭代过程所采用的神经网络输出为已训练的神经网络,将包括该已训练的神经网络以及聚焦损失函数的改写模型输出为已训练的改写模型。
其中,该训练终止条件可以为迭代次数达到目标次数或者聚焦损失函数满足预设条件,还可以为基于验证数据集验证时,其能力在一段时间内没有提升。其中,该目标次数可以是预先设置的迭代次数,用以确定训练结束的时机,避免对训练资源的浪费。该预设条件可以是训练过程中聚焦损失函数计算出的损失值在一段时间内不变或者不下降。当满足训练终止条件时,说明训练过程已经达到了训练的效果,即改写模型具有了根据原始查询信息和候选查询信息预测出候选查询信息是否为原始查询信息的改写查询信息的功能。
应理解,本实施例仅是以同一服务器执行上述S101至S105为例进行说明,在一些实施例中,上述S101至S105可以由多台设备协作执行,例如,多个服务器组成分布式计算架构,通过并行计算的方式执行上述S101至S105。在一些实施例中,信息搜索平台102可以承担主要处理工作,终端101承担次要处理工作,比如说,终端101获取用户历史在搜索引擎中输入的Query,作为样本集,发送给信息搜索平台102,信息搜索平台102执行S102至S104;在另一些实施例中,信息搜索平台102承担次要处理工作,终端101承担主要处理工作;或者,信息搜索平台102或终端101分别可以单独承担处理工作。
本实施例提供的方法,通过将聚焦损失函数引入到NLP领域的改写模型中,由于聚焦损失函数内通过调制因子进行了加权,相对降低了易样本的权重,相对增加了难样本的权重,因此在改写模型中应用聚焦损失函数时,改写模型在训练阶段会侧重于优化难样本带来的损失,因此会优先选择改写难度大的样本进行学习,从而解决了难易样本的不平衡问题,在难易分布差异大的情况下优化了训练效果,提升了训练得到的改写模型的效果。
上述图2实施例介绍了改写模型的训练流程,以下通过图6实施例,对应用图2实施例提供的改写模型进行信息搜索的流程进行介绍。
参见图6,图6是本申请实施例提供的一种信息搜索方法的流程图。该方法包括S201至S205。该方法应用于电子设备。该电子设备可以为图1所示系统架构中的终端101,也可以是图1所示系统架构中的信息搜索平台102,比如是服务器1021。执行图6实施例的电子设备和执行图2实施例的服务器可以是同一个设备,也可以是不同的设备。如果执行图6实施例的电子设备和执行图2实施例的服务器不同,两个方法实施例中的电子设备可以进行交互,协同完成信息搜索的任务。比如说,改写模型的训练步骤可以由服务器执行,利用预测模型进行检测的步骤可以由终端执行。当然,预测模型的训练步骤和检测步骤也可以均在终端侧执行,或者均在服务器侧执行。还应理解,图6实施例侧重描述与图2实施例的区别之处,而与图2实施例同理的步骤还请参见图2实施例,在图6实施例中不做赘述。
图6是本申请实施例提供的一种信息搜索方法的流程图。参见图6,该方法包括:
S201、电子设备获取原始查询信息。
例如,用户通过搜索引擎输入Query,电子设备获取通过搜索引擎输入的Query,作为原始查询信息。
S202、电子设备根据原始查询信息,获取原始查询信息匹配的至少一个候选查询信息。
例如,电子设备读取数据库中保存的查询信息,若数据库中保存的查询信息与候选查询信息满足匹配条件,将满足匹配条件的查询信息确定为候选查询信息。
S203、电子设备将原始查询信息以及至少一个候选查询信息输入改写模型。
S204、电子设备通过改写模型对原始查询信息与至少一个候选查询信息进行处理,输出至少一个候选查询信息的预测值,预测值用于指示对应候选查询信息是原始查询信息的改写查询信息的概率。
在改写模型的预测阶段,可选地,每次向改写模型输入一个Query对,该Query对包括原始查询信息与一个候选查询信息,通过改写模型对Query对进行处理,输出Query对中候选查询信息的预测值。例如,若根据原始查询信息,从数据库找到了N个候选查询信息,通过改写模型对原始查询信息与第i个候选查询信息进行处理,输出第i个候选查询信息的预测值。通过N次处理过程,得到N个候选查询信息的预测值。
与训练阶段同理,预测阶段中通过改写模型进行运算的过程包括以下S2041至S2043。
S2041、电子设备通过神经网络对原始查询信息进行特征提取,得到原始查询信息的第一语义表示向量;
S2042、电子设备通过神经网络对至少一个候选查询信息分别进行特征提取,得到至少一个候选查询信息的第二语义表示向量;
S2043、电子设备通过聚焦损失函数对第一语义表示向量和至少一个第二语义表示向量分别进行运算,得到至少一个候选查询信息的预测值。
S205、电子设备根据至少一个候选查询信息中预测值满足第一条件的候选查询信息进行搜索。
电子设备得到至少一个候选查询信息的预测值后,从至少一个候选查询信息中选择预测值满足第一条件的候选查询信息,将预测值满足第一条件的候选查询信息作为改写查询信息,根据预测值满足第一条件的候选查询信息进行搜索。例如,预测值满足第一条件是候选查询信息的预测值在至少一个候选查询信息的预测值中最高。又如,预测值满足第一条件是候选查询信息的预测值高于预测值阈值。
可选地,根据至少一个候选查询信息中预测值满足第一条件的候选查询信息进行搜索后,通过搜索引擎提供搜索结果。例如,搜索引擎通过浏览器或客户端提供,在网页或客户端界面中显示搜索结果。可选地,在显示搜索结果的过程中,显示预测值满足第一条件的候选查询信息以及原始查询信息,以便提示用户当前的搜索结果是使用候选查询信息得到的,而非使用原始查询信息得到的。例如,用户在搜索引擎中输入的原始查询信息是小珵序,根据小珵序找到的预测值满足第一条件的候选查询信息是小程序,根据小程序进行搜索,并在搜索结果界面中显示“以下包含小程序的搜索结果。仍然搜索:小珵序”。
应理解,本实施例仅是以同一电子设备执行上述S201至S205为例进行说明,在一些实施例中,上述S201至S205可以由多台设备协作执行,例如,终端101执行S201至S204,以确定至少一个候选查询信息中预测值满足第一条件的候选查询信息,将预测值满足第一条件的候选查询信息发送给信息搜索平台102,信息搜索平台102从终端101接收预测值满足第一条件的候选查询信息,执行S205,得到搜索结果,信息搜索平台102将搜索结果发送至终端101。
本实施例提供的方法,将聚焦损失函数引入至改写模型,应用基于聚焦损失函数的改写模型进行信息搜索。由于聚焦损失函数的内部通过调制因子进行了加权,改写难度小的易样本的调制因子的取值大,改写难度大的难样本的调制因子取值小,使得易样本的权重相对降低,难样本的权重相对增加,因此改写模型侧重于优化难样本带来的损失,因此改写模型会选择难样本优先学习,从而解决了难易样本的不平衡问题。由于改写模型能有效地利用难样本学习,改写模型的效果得到了提升,那么通过改写模型找到的候选查询信息作为改写查询信息会更加合适,能够准确的纠正原始查询信息包含的错误。因此使用通过改写模型找到的该候选查询信息进行搜索时,能够有效提高搜索结果的准确性。
图6实施例提供的信息搜索方法能够应用通过搜索引擎进行搜索的场景。搜索引擎例如设置在即时通信应用、网页、电商应用、广告应用等等,相应地,图6实施例提供的信息搜索方法能够应用在即时通信应用中进行搜索、网页搜索、电商搜索、广告搜索以及其他搜索场景。
以下通过图7实施例,对本申请实施例附图6所描述的信息搜索方法应用在即时通信应用的流程进行举例说明。在附图7所示的实施例中,原始查询信息来自于用户在即时通信应用的客户端的输入,搜索结果通过即时通信应用的客户端提供给用户。换句话说,附图7描述的方法流程关于即时通信应用如何利用改写模型进行信息搜索。应理解,图7实施例与图6实施例同理的步骤还请参见图6实施例,在图7实施例中不做赘述。
图7是本申请实施例提供的一种在即时通信应用中进行信息搜索的方法的流程图。参见图7,该方法的执行主体包括即时通信应用的客户端以及即时通信应用后台的服务器,该方法包括S301至S308。
S301、即时通信应用的客户端接收在搜索框中输入的原始查询信息。
例如,终端在客户端中显示即时通信应用的界面,该界面例如是包括朋友圈、摇一摇等条目的发现页。即时通信应用的界面包括搜索按钮,用户点击搜索按钮后,终端显示搜索框,用户在搜索框中输入文字,终端检测用户的输入操作,将用户输入的文字作为原始Query。
S302、即时通信应用的客户端将原始查询信息发送至即时通信应用的服务器。
可选地,即时通信应用的界面包括至少一个标签,标签用于指定搜索结果的类型,每个标签代表搜索结果的一种类型。例如标签包括朋友圈标签、文章标签、即时通信应用的子程序(可称为“小程序”)标签、公共社交网络标识(可称为“公共号”)标签、音乐标签、表情标签,若用户对该至少一个标签中的一个标签触发操作,则终端将该标签的标识发送至服务器。
S303、服务器根据原始查询信息,从即时通信应用的数据库中,获取原始查询信息匹配的至少一个候选查询信息。
可选地,若用户对朋友圈标签触发了操作,则终端将原始查询信息以及朋友圈标签的标识发送至服务器,服务器根据原始查询信息,从该用户的用户账号对应的朋友圈信息中,获取原始查询信息匹配的至少一个朋友圈信息,作为该至少一个候选查询信息。
可选地,若用户对聊天记录标签触发了操作,则终端将原始查询信息以及聊天记录标签的标识发送至服务器,服务器根据原始查询信息,从该用户的用户账号对应的聊天记录中,获取原始查询信息匹配的至少一个聊天记录,作为候选查询信息。
可选地,若用户对文章标签触发了操作,则终端将原始查询信息以及文章标签的标识发送至服务器,服务器根据原始查询信息,从该用户的用户账号对应的文章信息中,获取原始查询信息匹配的至少一个文章信息,作为至少一个候选查询信息。用户账号对应的文章信息包括用户历史浏览过的文章信息、用户好友历史浏览过的文章信息、用户历史分享过的文章信息等等。
可选地,若用户对小程序标签触发了操作,则终端将原始查询信息以及小程序标签的标识发送至服务器,服务器根据原始查询信息,从该用户的用户账号对应的小程序信息中,获取原始查询信息匹配的至少一个小程序信息,作为至少一个候选查询信息。用户账号对应的小程序信息包括用户账号注册过的小程序、用户账号关注过的小程序等等。
可选地,若用户对公共号标签触发了操作,则终端将原始查询信息以及公共号标签的标识发送至服务器,服务器根据原始查询信息,从该用户的用户账号对应的公共号信息中,获取原始查询信息匹配的至少一个公共号信息,作为至少一个候选查询信息。用户账号对应的公共号信息包括用户账号订阅过的公共号等等。
可选地,若用户对音乐标签触发了操作,则终端将原始查询信息以及音乐标签的标识发送至服务器,服务器根据原始查询信息,从该用户的用户账号对应的音乐信息中,获取原始查询信息匹配的至少一个音乐信息,作为至少一个候选查询信息。用户账号对应的音乐信息包括用户账号播放过的音乐信息、用户账号下载过的音乐信息等等。
可选地,若用户对表情标签触发了操作,则终端将原始查询信息以及表情标签的标识发送至服务器,服务器根据原始查询信息,从该用户的用户账号对应的表情信息中,获取原始查询信息匹配的至少一个表情信息,作为至少一个候选查询信息。用户账号对应的表情信息包括用户账号收藏过的表情、用户好友历史向用户发送过的表情、用户历史向用户好友发送过的表情等等。
可选地,若用户未对标签触发操作,服务器根据原始查询信息,从该用户的用户账号对应的聊天记录、朋友圈信息、文章信息、小程序信息、公共号信息、音乐信息、表情信息中,获取原始查询信息匹配至少一个候选查询信息。
S304、服务器将原始查询信息以及至少一个候选查询信息输入改写模型。
S305、服务器通过改写模型对原始查询信息与至少一个候选查询信息进行处理,输出至少一个候选查询信息的预测值。
S306、服务器根据至少一个候选查询信息中预测值满足第一条件的候选查询信息,搜索即时通信应用中与候选查询信息匹配的资源。
候选查询信息匹配的资源包括而不限于候选查询信息匹配的聊天记录、候选查询信息匹配的朋友圈信息、候选查询信息匹配的文章信息、即时通信应用中与候选查询信息匹配的小程序信、候选查询信息匹配的公共社交网络标识、候选查询信息匹配的音乐信息、候选查询信息匹配的表情信息中的至少一项。
S307、服务器将与候选查询信息匹配的资源发送至即时通信应用的客户端。
S308、即时通信应用的客户端在即时通信应用中提供与候选查询信息匹配的资源。
本实施例中,通过在即时通信应用中使用基于聚焦损失函数的改写模型进行搜索,由于通过聚焦损失函数解决了难易样本的不平衡问题,使得改写模型能有效地利用难样本学习,因此通过改写模型找到的候选查询信息作为改写查询信息会更加合适,能够准确的纠正原始查询信息包含的错误,因此能够有效提高即时通信应用提供的搜索结果的准确性。例如,当用户在即时通信应用中输入文章标题作为原始Query,想要搜索即时通信应用中的文章时,即使输入的文章标题包含笔误,由于即时通信应用通过改写模型纠正了错误,因此根据正确的文章标题进行搜索后能够召回更多匹配的文章。又如,当用户在即时通信应用中输入小程序的名称作为原始Query,想要搜索即时通信应用中的小程序时,即使输入的小程序名称包含错误,由于即时通信应用通过改写模型纠正了错误,因此根据正确的小程序名称进行搜索后能够召回更多匹配的小程序。
应理解,图7实施例是对基于改写模型进行信息搜索的应用场景的举例说明,在另一些实施例中,通过图2实施例训练出的基于聚焦损失函数的改写模型应用在其他场景。
例如,应用在网页搜索的场景,终端通过浏览器显示网页,网页包括搜索框,用户可以在搜索框中输入文字,浏览器会将用户输入的文字作为原始Query,浏览器的后台服务器会基于原始Query搜索网页。在这一场景下,当用户在搜索框中输入的文字包含错误时,通过改写模型能够从候选Query中找到改写Query,利用改写Query进行搜索,从而召回更多匹配的网页。
又如,应用在通过电商应用搜索的场景,终端显示购物应用的界面,购物应用的界面包括搜索按钮,用户点击搜索按钮后,终端会显示搜索框,用户可以在搜索框中输入商品标题,电商应用会将用户输入的商品标题作为原始Query,电商应用的后台服务器会基于原始Query搜索商品。在这一场景下,当用户在搜索框中输入的商品标题包含错误时,通过改写模型能够从候选Query中找到改写Query,利用改写Query进行搜索,从而召回更多匹配的商品。
图8是本申请实施例提供的一种信息搜索装置的结构示意图。参见图8,该装置包括:
获取模块801,用于根据原始查询信息,获取原始查询信息匹配的至少一个候选查询信息;
输入模块802,用于将原始查询信息以及至少一个候选查询信息输入改写模型,改写模型基于聚焦损失函数对样本集训练得到,聚焦损失函数包括第一损失函数和用于对第一损失函数加权的调制因子,调制因子的取值与样本集中样本的改写难度正相关;
处理模块803,用于通过改写模型对原始查询信息与至少一个候选查询信息进行处理,输出至少一个候选查询信息的预测值,预测值用于指示对应候选查询信息是原始查询信息的改写查询信息的概率;
搜索模块804,用于根据至少一个候选查询信息中预测值满足第一条件的候选查询信息进行搜索。
本申请实施例提供的装置,通过将聚焦损失函数引入至改写模型,应用基于聚焦损失函数的改写模型进行信息搜索。由于聚焦损失函数的内部通过调制因子进行了加权,改写难度小的易样本的调制因子的取值大,改写难度大的难样本的调制因子取值小,使得易样本的权重相对降低,难样本的权重相对增加,因此改写模型侧重于优化难样本带来的损失,因此改写模型会选择难样本优先学习,从而解决了难易样本的不平衡问题。由于改写模型能有效地利用难样本学习,改写模型的效果得到了提升,那么通过改写模型找到的候选查询信息作为改写查询信息会更加合适,能够准确的纠正原始查询信息包含的错误。因此使用通过改写模型找到的该候选查询信息进行搜索时,能够有效提高搜索结果的准确性。
可选地,调制因子包括聚焦参数,聚焦参数用于调整样本集中易样本的权重降低速率,易样本的改写难度满足第二条件。
可选地,聚焦参数为调制因子的指数部分。
可选地,调制因子包括指示函数,指示函数的取值用于指示样本的预测值与样本的标签之间的偏差。
可选地,指示函数为调制因子的底数部分。
可选地,聚焦损失函数还包括用于对第一损失函数加权的平衡因子,平衡因子对样本集中正样本的取值与对样本集中负样本的取值不同,正样本包括的样本候选查询信息是对应样本原始查询信息的改写查询信息,负样本包括的样本候选查询信息不是对应样本原始查询信息的改写查询信息。
可选地,聚焦损失函数为调制因子、平衡因子和第一损失函数的乘积。
可选地,改写模型包括神经网络和神经网络的输出层连接的聚焦损失函数,处理模块803,用于通过神经网络对原始查询信息进行特征提取,得到原始查询信息的第一语义表示向量;通过神经网络对至少一个候选查询信息分别进行特征提取,得到至少一个候选查询信息的第二语义表示向量;通过聚焦损失函数对第一语义表示向量和至少一个第二语义表示向量分别进行运算,得到至少一个候选查询信息的预测值。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的信息搜索装置在信息搜索时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将信息搜索装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的信息搜索装置与信息搜索方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述方法实施例中的电子设备可以实现为终端。例如,图9示出了本申请一个示例性实施例提供的终端900的结构框图。该终端900可以是:智能手机、平板电脑、MP3(MovingPicture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端900包括有:一个或多个处理器901和一个或多个存储器902。
处理器901可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器901可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器901也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器901可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器901还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器902可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器902还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器902中的非暂态的计算机可读存储介质用于存储至少一条程序代码,该至少一条程序代码用于被处理器901所执行以实现本申请中方法实施例提供的信息搜索方法。
在一些实施例中,终端900还可选包括有:外围设备接口903和至少一个外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903相连。具体地,外围设备包括:射频电路904、触摸显示屏905、摄像头组件906、音频电路907、定位组件908和电源909中的至少一种。
外围设备接口903可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器901和存储器902。在一些实施例中,处理器901、存储器902和外围设备接口903被集成在同一芯片或电路板上;在一些其他实施例中,处理器901、存储器902和外围设备接口903中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路904用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路904包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路904可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路904还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏905用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏905是触摸显示屏时,显示屏905还具有采集在显示屏905的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器901进行处理。此时,显示屏905还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏905可以为一个,设置终端900的前面板;在另一些实施例中,显示屏905可以为至少两个,分别设置在终端900的不同表面或呈折叠设计;在再一些实施例中,显示屏905可以是柔性显示屏,设置在终端900的弯曲表面上或折叠面上。甚至,显示屏905还可以设置成非矩形的不规则图形,也即异形屏。显示屏905可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件906用于采集图像或视频。可选地,摄像头组件906包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路907可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器901进行处理,或者输入至射频电路904以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端900的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器901或射频电路904的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路907还可以包括耳机插孔。
定位组件908用于定位终端900的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件908可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的伽利略系统的定位组件。
电源909用于为终端900中的各个组件进行供电。电源909可以是交流电、直流电、一次性电池或可充电电池。当电源909包括可充电电池时,该可充电电池可以是有线充电电池或无线充电电池。有线充电电池是通过有线线路充电的电池,无线充电电池是通过无线线圈充电的电池。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端900还包括有一个或多个传感器910。该一个或多个传感器910包括但不限于:加速度传感器911、陀螺仪传感器912、压力传感器913、指纹传感器914、光学传感器915以及接近传感器916。
加速度传感器911可以检测以终端900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器911可以用于检测重力加速度在三个坐标轴上的分量。处理器901可以根据加速度传感器911采集的重力加速度信号,控制触摸显示屏905以横向视图或纵向视图进行用户界面的显示。加速度传感器911还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器912可以检测终端900的机体方向及转动角度,陀螺仪传感器912可以与加速度传感器911协同采集用户对终端900的3D动作。处理器901根据陀螺仪传感器912采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器913可以设置在终端900的侧边框和/或触摸显示屏905的下层。当压力传感器913设置在终端900的侧边框时,可以检测用户对终端900的握持信号,由处理器901根据压力传感器913采集的握持信号进行左右手识别或快捷操作。当压力传感器913设置在触摸显示屏905的下层时,由处理器901根据用户对触摸显示屏905的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器914用于采集用户的指纹,由处理器901根据指纹传感器914采集到的指纹识别用户的身份,或者,由指纹传感器914根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器901授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器914可以被设置终端900的正面、背面或侧面。当终端900上设置有物理按键或厂商Logo时,指纹传感器914可以与物理按键或厂商Logo集成在一起。
光学传感器915用于采集环境光强度。在一个实施例中,处理器901可以根据光学传感器915采集的环境光强度,控制触摸显示屏905的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏905的显示亮度;当环境光强度较低时,调低触摸显示屏905的显示亮度。在另一个实施例中,处理器901还可以根据光学传感器915采集的环境光强度,动态调整摄像头组件906的拍摄参数。
接近传感器916,也称距离传感器,通常设置在终端900的前面板。接近传感器916用于采集用户与终端900的正面之间的距离。在一个实施例中,当接近传感器916检测到用户与终端900的正面之间的距离逐渐变小时,由处理器901控制触摸显示屏905从亮屏状态切换为息屏状态;当接近传感器916检测到用户与终端900的正面之间的距离逐渐变大时,由处理器901控制触摸显示屏905从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图9中示出的结构并不构成对终端900的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
上述方法实施例中的电子设备可以实现为服务器。例如,图10是本申请实施例提供的一种服务器的结构示意图,该服务器1000可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central Processing Units,CPU)1001和一个或一个以上的存储器1002,其中,存储器1002中存储有至少一条程序代码,至少一条程序代码由处理器1001加载并执行以实现上述各个方法实施例提供的信息搜索方法。当然,该服务器还可以具有有线或无线网络接口以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条程序代码的存储器,上述至少一条程序代码由可由处理器执行以完成上述实施例中的信息搜索方法。例如,计算机可读存储介质可以是只读存储器(Read-Only Memory,简称:ROM)、随机存取存储器(Random Access Memory,简称:RAM)、只读光盘(Compact Disc Read-OnlyMemory,简称:CD-ROM)、磁带、软盘和光数据存储设备等。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来程序代码相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上描述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种信息搜索方法,其特征在于,所述方法包括:
根据原始查询信息,获取所述原始查询信息匹配的至少一个候选查询信息;
将所述原始查询信息以及所述至少一个候选查询信息输入改写模型,所述改写模型基于聚焦损失函数对样本集训练得到,所述聚焦损失函数包括第一损失函数和用于对所述第一损失函数加权的调制因子,所述调制因子的取值与所述样本集中样本的改写难度正相关;
通过所述改写模型对所述原始查询信息与所述至少一个候选查询信息进行处理,输出所述至少一个候选查询信息的预测值,所述预测值用于指示对应候选查询信息是所述原始查询信息的改写查询信息的概率;
根据所述至少一个候选查询信息中预测值满足第一条件的候选查询信息进行搜索。
2.根据权利要求1所述的方法,其特征在于,所述调制因子包括聚焦参数,所述聚焦参数用于调整所述样本集中易样本的权重降低速率,所述易样本的改写难度满足第二条件。
3.根据权利要求2所述的方法,其特征在于,所述聚焦参数为所述调制因子的指数部分。
4.根据权利要求1所述的方法,其特征在于,所述调制因子包括指示函数,所述指示函数的取值用于指示所述样本的预测值与所述样本的标签之间的偏差。
5.根据权利要求4所述的方法,其特征在于,所述指示函数为所述调制因子的底数部分。
6.根据权利要求1所述的方法,其特征在于,所述聚焦损失函数还包括用于对所述第一损失函数加权的平衡因子,所述平衡因子对所述样本集中正样本的取值与对所述样本集中负样本的取值不同,所述正样本包括的样本候选查询信息是对应样本原始查询信息的改写查询信息,所述负样本包括的样本候选查询信息不是对应样本原始查询信息的改写查询信息。
7.根据权利要求6所述的方法,其特征在于,所述聚焦损失函数为所述调制因子、所述平衡因子和所述第一损失函数的乘积。
8.根据权利要求1所述的方法,其特征在于,所述改写模型包括神经网络和所述神经网络的输出层连接的所述聚焦损失函数,所述通过所述改写模型对所述原始查询信息与所述至少一个候选查询信息进行处理,输出所述至少一个候选查询信息的预测值,包括:
通过所述神经网络对所述原始查询信息进行特征提取,得到所述原始查询信息的第一语义表示向量;
通过所述神经网络对所述至少一个候选查询信息分别进行特征提取,得到所述至少一个候选查询信息的第二语义表示向量;
通过所述聚焦损失函数对所述第一语义表示向量和所述至少一个候选查询信息的第二语义表示向量分别进行运算,得到所述至少一个候选查询信息的预测值。
9.一种信息搜索装置,其特征在于,所述装置包括:
获取模块,用于根据原始查询信息,获取所述原始查询信息匹配的至少一个候选查询信息;
输入模块,用于将所述原始查询信息以及所述至少一个候选查询信息输入改写模型,所述改写模型基于聚焦损失函数对样本集训练得到,所述聚焦损失函数包括第一损失函数和用于对所述第一损失函数加权的调制因子,所述调制因子的取值与所述样本集中样本的改写难度正相关;
处理模块,用于通过所述改写模型对所述原始查询信息与所述至少一个候选查询信息进行处理,输出所述至少一个候选查询信息的预测值,所述预测值用于指示对应候选查询信息是所述原始查询信息的改写查询信息的概率;
搜索模块,用于根据所述至少一个候选查询信息中预测值满足第一条件的候选查询信息进行搜索。
10.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条程序代码,所述至少一条程序代码由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求8中任一项所述的信息搜索方法所执行的操作。
11.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现如权利要求1至权利要求8中任一项所述的信息搜索方法所执行的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010158350.6A CN111368525A (zh) | 2020-03-09 | 2020-03-09 | 信息搜索方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010158350.6A CN111368525A (zh) | 2020-03-09 | 2020-03-09 | 信息搜索方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111368525A true CN111368525A (zh) | 2020-07-03 |
Family
ID=71210454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010158350.6A Pending CN111368525A (zh) | 2020-03-09 | 2020-03-09 | 信息搜索方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111368525A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111950254A (zh) * | 2020-09-22 | 2020-11-17 | 北京百度网讯科技有限公司 | 搜索样本的词特征提取方法、装置、设备以及存储介质 |
CN112632319A (zh) * | 2020-12-22 | 2021-04-09 | 天津大学 | 基于迁移学习的提升长尾分布语音总体分类准确度的方法 |
CN113313729A (zh) * | 2021-05-26 | 2021-08-27 | 惠州中国科学院遥感与数字地球研究所空间信息技术研究院 | 单极对象图像成像方法、装置、计算机设备和存储介质 |
CN114202733A (zh) * | 2022-02-18 | 2022-03-18 | 青岛海信网络科技股份有限公司 | 一种基于视频的交通故障检测方法及设备 |
CN114860872A (zh) * | 2022-04-13 | 2022-08-05 | 北京百度网讯科技有限公司 | 数据处理方法、装置、设备以及存储介质 |
WO2022174805A1 (zh) * | 2021-02-22 | 2022-08-25 | 上海商汤智能科技有限公司 | 模型训练与图像处理方法、装置、电子设备和存储介质 |
CN115659958A (zh) * | 2022-12-27 | 2023-01-31 | 中南大学 | 一种中文拼写错误检查方法 |
CN117725514A (zh) * | 2024-02-07 | 2024-03-19 | 成都维泰数智科技有限公司 | 一种溢流识别处理方法及溢流识别处理装置 |
-
2020
- 2020-03-09 CN CN202010158350.6A patent/CN111368525A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111950254A (zh) * | 2020-09-22 | 2020-11-17 | 北京百度网讯科技有限公司 | 搜索样本的词特征提取方法、装置、设备以及存储介质 |
CN111950254B (zh) * | 2020-09-22 | 2023-07-25 | 北京百度网讯科技有限公司 | 搜索样本的词特征提取方法、装置、设备以及存储介质 |
CN112632319A (zh) * | 2020-12-22 | 2021-04-09 | 天津大学 | 基于迁移学习的提升长尾分布语音总体分类准确度的方法 |
WO2022174805A1 (zh) * | 2021-02-22 | 2022-08-25 | 上海商汤智能科技有限公司 | 模型训练与图像处理方法、装置、电子设备和存储介质 |
CN113313729A (zh) * | 2021-05-26 | 2021-08-27 | 惠州中国科学院遥感与数字地球研究所空间信息技术研究院 | 单极对象图像成像方法、装置、计算机设备和存储介质 |
CN114202733A (zh) * | 2022-02-18 | 2022-03-18 | 青岛海信网络科技股份有限公司 | 一种基于视频的交通故障检测方法及设备 |
CN114860872A (zh) * | 2022-04-13 | 2022-08-05 | 北京百度网讯科技有限公司 | 数据处理方法、装置、设备以及存储介质 |
CN115659958A (zh) * | 2022-12-27 | 2023-01-31 | 中南大学 | 一种中文拼写错误检查方法 |
CN117725514A (zh) * | 2024-02-07 | 2024-03-19 | 成都维泰数智科技有限公司 | 一种溢流识别处理方法及溢流识别处理装置 |
CN117725514B (zh) * | 2024-02-07 | 2024-05-17 | 成都维泰数智科技有限公司 | 一种溢流识别处理方法及溢流识别处理装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111897964B (zh) | 文本分类模型训练方法、装置、设备及存储介质 | |
CN111368525A (zh) | 信息搜索方法、装置、设备及存储介质 | |
CN107943860B (zh) | 模型的训练方法、文本意图的识别方法及装置 | |
US20190385004A1 (en) | Image recognition method, terminal, and storage medium | |
CN110852100B (zh) | 关键词提取方法、装置、电子设备及介质 | |
CN110209784B (zh) | 消息交互方法、计算机设备及存储介质 | |
CN113515942A (zh) | 文本处理方法、装置、计算机设备及存储介质 | |
CN112069414A (zh) | 推荐模型训练方法、装置、计算机设备及存储介质 | |
CN111552888A (zh) | 内容推荐方法、装置、设备及存储介质 | |
CN112749728A (zh) | 学生模型训练方法、装置、计算机设备及存储介质 | |
JP2023508062A (ja) | 対話モデルの訓練方法、装置、コンピュータ機器及びプログラム | |
CN113392687A (zh) | 视频标题生成方法、装置、计算机设备及存储介质 | |
KR102693472B1 (ko) | 학습 효과를 상승시키기 위한 영어 교육 시스템 | |
CN111581958A (zh) | 对话状态确定方法、装置、计算机设备及存储介质 | |
CN113392180A (zh) | 文本处理方法、装置、设备及存储介质 | |
CN111553163A (zh) | 文本相关度的确定方法、装置、存储介质及电子设备 | |
CN113269279B (zh) | 一种多媒体内容分类方法和相关装置 | |
CN114282587A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
CN114281936A (zh) | 分类方法、装置、计算机设备及存储介质 | |
CN113836946A (zh) | 训练评分模型的方法、装置、终端及存储介质 | |
CN113822084A (zh) | 语句翻译方法、装置、计算机设备及存储介质 | |
CN112287070A (zh) | 词语的上下位关系确定方法、装置、计算机设备及介质 | |
CN113486260B (zh) | 互动信息的生成方法、装置、计算机设备及存储介质 | |
CN112988984B (zh) | 特征获取方法、装置、计算机设备及存储介质 | |
CN111597823B (zh) | 中心词提取方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40025765 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |