CN106294635B - 应用程序搜索方法、深度神经网络模型的训练方法及装置 - Google Patents
应用程序搜索方法、深度神经网络模型的训练方法及装置 Download PDFInfo
- Publication number
- CN106294635B CN106294635B CN201610626182.2A CN201610626182A CN106294635B CN 106294635 B CN106294635 B CN 106294635B CN 201610626182 A CN201610626182 A CN 201610626182A CN 106294635 B CN106294635 B CN 106294635B
- Authority
- CN
- China
- Prior art keywords
- application program
- trained
- training
- neural network
- hot
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
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/35—Clustering; Classification
-
- 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/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- 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/36—Creation of semantic tools, e.g. ontology or thesauri
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种应用程序的搜索方法、深度神经网络模型的训练方法以及装置。其中,该搜索方法包括:获取应用程序的搜索词;根据搜索词获取多个候选应用程序;分别计算搜索词与多个候选应用程序的语义相似度;根据搜索词与多个候选应用程序的语义相似度对多个候选应用程序进行排序,并将排序结果提供至用户。该方法可以更加准确地搜索到与用户输入的搜索词匹配的具体应用程序,因而可以直接满足用户主动需求,提高了用户针对应用程序的搜索体验,提高了用户与应用程序之间的粘性。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种应用程序的搜索方法、深度神经网络模型的训练方法以及装置。
背景技术
与传统的PC端WWW互联网不同,移动互联网基于应用程序APP。用户获取信息来自于不同的聚合,例如,社交应用程序APP。然而,应用程序APP之间几乎是完全封闭的,这就使得移动互联网完全不用于WWW网络,形成了用户互联但信息缺乏流动的“信息”孤岛。这种应用程序APP的隔离还表现在获取某种特定需求的应用程序APP手段上。例如,用户产生了一个需求,希望存在某个应用程序APP可以满足这种需求,但用户又不知道满足这种需求的应用程序APP的具体名称,只能用户主动去寻找该应用程序APP的具体名称以便实现针对该应用程序APP的搜索获取,若该用户找不到该应用程序APP的具体名称,那么该用户很难准确地搜索到该应用程序,导致用户针对应用程序的搜索体验比较差,降低用户与应用程序之间的粘性。
发明内容
本发明的目的旨在至少在一定程度上解决上述的技术问题之一。
为此,本发明的第一个目的在于提出一种应用程序的搜索方法。该方法可以更加准确地搜索到与用户输入的搜索词匹配的具体应用程序,因而可以直接满足用户主动需求,提高了用户针对应用程序的搜索体验,提高了用户与应用程序之间的粘性。
本发明的第二个目的在于提出一种深度神经网络模型的训练方法。
本发明的第三个目的在于提出一种应用程序的搜索装置。
本发明的第四个目的在于提出一种深度神经网络模型的训练装置。
为达上述目的,本发明第一方面实施例的应用程序的搜索方法,包括:获取应用程序的搜索词;根据所述搜索词获取多个候选应用程序;分别计算所述搜索词与所述多个候选应用程序的语义相似度;根据所述搜索词与所述多个候选应用程序的语义相似度对所述多个候选应用程序进行排序,并将排序结果提供至用户。
本发明实施例的应用程序的搜索方法,可先获取应用程序的搜索词,并根据搜索词获取多个候选应用程序,之后,分别计算搜索词与多个候选应用程序的语义相似度,最后,根据搜索词与多个候选应用程序的语义相似度对多个候选应用程序进行排序,并将排序结果提供至用户。即通过搜索词与候选应用程序之间的语义相似度来对候选应用程序进行排序,可以更加准确地搜索到与用户输入的搜索词匹配的具体应用程序,因而可以直接满足用户主动需求,提高了用户针对应用程序的搜索体验,提高了用户与应用程序之间的粘性。
为达上述目的,本发明第二方面实施例的深度神经网络模型的训练方法,包括:获取样本应用程序,以及获取所述样本应用程序对应的训练语料;将所述训练语料作为训练搜索词进行训练,并将所述训练语料转换为训练One-Hot特征,其中,所述样本应用程序与所述训练One-Hot特征之间具有对应关系;根据所述训练语料和所述训练One-Hot特征生成对应的训练语义表示;分别根据所述训练One-Hot特征获取正例应用程序和负例应用程序;分别计算所述训练语义表示与所述正例应用程序和负例应用程序之间的语义相似度。
本发明实施例的深度神经网络模型的训练方法,获取样本应用程序,以及获取样本应用程序对应的训练语料,之后,可将训练语料作为训练搜索词进行训练,并将训练语料转换为训练One-Hot特征,并根据训练语料和训练One-Hot特征生成对应的训练语义表示,然后,分别根据训练One-Hot特征获取正例应用程序和负例应用程序,最后,分别计算训练语义表示与正例应用程序和负例应用程序之间的语义相似度。即通过深度学习的神经网络学习器,可以得到训练语义表示与正例应用程序和负例应用程序之间的语义相似度,并经过多轮迭代学习后,得到了深度神经网络模型中的排序学习器,以便在线上应用程序搜索的应用过程中,根据该深度神经网络模型中的排序学习器即可根据搜索词与多个候选应用程序的语义相似度对多个候选应用程序进行排序,以便后续将最后的排序结果提供给用户,提高了应用程序搜索的准确度,提升了用户针对应用程序的搜索体验。
为达上述目的,本发明第三方面实施例的应用程序的搜索装置,包括:搜索词获取模块,用于获取应用程序的搜索词;候选应用程序获取模块,用于根据所述搜索词获取多个候选应用程序;相似度计算模块,用于分别计算所述搜索词与所述多个候选应用程序的语义相似度;结果提供模块,用于根据所述搜索词与所述多个候选应用程序的语义相似度对所述多个候选应用程序进行排序,并将排序结果提供至用户。
本发明实施例的应用程序的搜索装置,可通过搜索词获取模块获取应用程序的搜索词,候选应用程序获取模块根据搜索词获取多个候选应用程序,相似度计算模块分别计算搜索词与多个候选应用程序的语义相似度,结果提供模块根据搜索词与多个候选应用程序的语义相似度对多个候选应用程序进行排序,并将排序结果提供至用户。即通过搜索词与候选应用程序之间的语义相似度来对候选应用程序进行排序,可以更加准确地搜索到与用户输入的搜索词匹配的具体应用程序,因而可以直接满足用户主动需求,提高了用户针对应用程序的搜索体验,提高了用户与应用程序之间的粘性。
为达上述目的,本发明第四方面实施例的深度神经网络模型的训练装置,包括:第一获取模块,用于获取样本应用程序,以及获取所述样本应用程序对应的训练语料;训练模块,用于将所述训练语料作为训练搜索词进行训练,并将所述训练语料转换为训练One-Hot特征,其中,所述样本应用程序与所述训练One-Hot特征之间具有对应关系;生成模块,用于根据所述训练语料和所述训练One-Hot特征生成对应的训练语义表示;第二获取模块,用于分别根据所述训练One-Hot特征获取正例应用程序和负例应用程序;计算模块,用于分别计算所述训练语义表与所述正例应用程序和负例应用程序之间的语义相似度。
本发明实施例的深度神经网络模型的训练装置,可通过第一获取模块获取样本应用程序,以及获取样本应用程序对应的训练语料,训练模块将训练语料作为训练搜索词进行训练,并将训练语料转换为训练One-Hot特征,生成模块根据训练语料和训练One-Hot特征生成对应的训练语义表示,第二获取模块分别根据训练One-Hot特征获取正例应用程序和负例应用程序,计算模块分别计算训练语义表示与正例应用程序和负例应用程序之间的语义相似度。即通过深度学习的神经网络学习器,可以得到训练语义表示与正例应用程序和负例应用程序之间的语义相似度,并经过多轮迭代学习后,得到了深度神经网络模型中的排序学习器,以便在线上应用程序搜索的应用过程中,根据该深度神经网络模型中的排序学习器即可根据搜索词与多个候选应用程序的语义相似度对多个候选应用程序进行排序,以便后续将最后的排序结果提供给用户,提高了应用程序搜索的准确度,提升了用户针对应用程序的搜索体验。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1是根据本发明一个实施例的应用程序的搜索方法的流程图;
图2是根据本发明一个实施例的神经网络分类器的示意图;
图3是根据本发明一个实施例的基于深度神经网络的应用程序搜索方法的示意图;
图4是根据本发明一个实施例的应用程序的搜索装置的结构示意图;
图5是根据本发明一个实施例的候选应用程序获取模块的结构示意图;
图6是根据本发明另一个实施例的应用程序的搜索装置的结构示意图;
图7是根据本发明一个实施例的深度神经网络模型的训练方法的流程图;
图8是根据本发明一个实施例的深度神经网络模型的训练装置的结构示意图;
图9是根据本发明一个实施例的生成模块的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述根据本发明实施例的应用程序的搜索方法、深度神经网络模型的训练方法以及装置。
图1是根据本发明一个实施例的应用程序的搜索方法的流程图。需要说明的是,本发明实施例的应用程序的搜索方法可应用于本发明实施例的应用程序的搜索装置。该应用程序的搜索装置可配置于移动终端中的应用商店(APP STORE),其中,该移动终端可以是手机、平板电脑、掌上电脑及个人数字助理等具有各种操作系统的硬件设备。例如,该应用程序的搜索装置可配置于苹果手机的APP Store(应用商店)中。
如图1所示,该应用程序的搜索方法可以包括:
S101,获取应用程序的搜索词。
举例而言,假设本发明实施例的应用程序的搜索方法应用于移动终端中的应用商店,该应用商店中可为用户提供针对应用程序APP的搜索输入框,用户可在该搜索输入框中输入针对需要搜索的应用程序的搜索词,并在检测到用户完成输入操作时,获取该用户输入的搜索词。可以理解,该搜索词即为关于应用程序的搜索词,例如,该搜索词可以是但不限于应用程序的具体名称、或部分名称、或针对应用程序的评论、或应用程序的标签、或应用程序的开发者等。
S102,根据搜索词获取多个候选应用程序。
作为一种示例,可将搜索词转换为对应的一位热码One-Hot特征,并根据该One-Hot特征查询应用程序召回库以获取多个候选应用程序。其中,在本发明的实施例中,上述应用程序召回库可理解为应用程序的数据库,该召回库中含有大量的应用程序的相关信息(如应用程序的ID、应用程序的One-Hot特征、应用程序的版本、评论、描述等信息、应用程序的下载文件等),且该应用程序召回库还具有召回互联网中应用程序的功能。
可以理解,上述One-Hot特征又称为独热码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有独立的寄存器位,并且在任意时候,其中只有一位有效。由此,通过One-Hot编码可以解决了分类器不好处理属性数据的问题,又能够在一定程度上起到了扩充特征的作用。
为此,利用One-Hot编码的特性,在获取到应用程序的搜索词之后,可通过One-Hot独热编码的方式将该搜索词转换为对应的One-Hot特征,然后,可根据该One-Hot特征在应用程序召回库中进行查询,以获取与该One-Hot特征有对应关系的多个候选应用程序,即根据该One-Hot特征从应用程序召回库中获取可能符合用户需求的应用程序,即上述的候选应用程序。
S103,分别计算搜索词与多个候选应用程序的语义相似度。
具体而言,在本发明的一个实施例中,可根据深度神经网络模型分别计算搜索词与多个候选应用程序的语义相似度。由此,基于深度神经网络的APP搜索能够直接通过描述匹配到具体应用,因而可以直接满足用户主动需求,提高了用户体验。
作为一种示例,上述深度神经网络模型可通过以下步骤训练得到:
1031)获取样本应用程序,以及获取样本应用程序对应的训练语料。
举例而言,可利用网络爬虫技术抓取样本应用程序,并通过网络爬虫抓取这些样本应用程序对应的训练语料。其中,在本发明的实施例中,该训练语料可理解为样本应用程序的相关信息,例如,样本应用程序的具体名称、介绍标题、用户评论、标签Tag、Anchor文本(即链接源头文字)等。
1032)将训练语料作为训练搜索词进行训练,并将训练语料转换为训练One-Hot特征,其中,样本应用程序与训练One-Hot特征之间具有对应关系。
具体地,在将上述获取到的训练语料作为训练搜索词进行训练时,可通过One-Hot独热编码的方式将该训练搜索词转换为对应的训练One-Hot特征。
1033)根据所述训练语料和所述训练One-Hot特征生成对应的训练语义表示。
具体而言,在本发明的一个实施例中,可根据训练One-Hot特征通过神经网络分类器生成样本应用程序的类别或标签,并根据训练语料和样本应用程序的类别或标签生成训练语义表示。其中,训练语义表示可理解为基于语义建立训练语料与样本应用程序的类别或标签之间的语义关系。
更具体地,可根据这些训练One-Hot特征通过神经网络分类器来得到这些样本应用程序的类别的“预判断”信息,这个“预判断”信息可以是这些样本应用程序的类别划分,也可以是更细化的领域标签Tag,然后,将得到的样本应用程序的“预判断”信息与训练语料相结合,并基于语义将该相结合后信息转换为对应的训练语义表示。其中,在本发明的实施例中,上述神经网络分类器可以是逻辑回归(Logistic Regression,LR)模型,还可以是其他简单的神经网络分类器。
举例而言,如图2所示,可以设计一个分层深度神经网络学习系统。该系统输入为样本应用程序的训练语料(例如,一般为用户输入的query),通过One-Hot独热编码的方式将这些训练语料转为one-hot特征后,再通过一个分类器(考虑到效率可以为LR逻辑回归,也可以为简单的神经网络分类器),得到一个该样本应用程序的类别的“预判断”。这个预判断可以是该样本应用程序的类别划分,也可以是更细化的领域tag。接着,可将得到的该样本应用程序的“预判断”信息和已有的训练语料相结合,并基于语义将该相结合后信息转换为对应的训练语义表示。
1034)分别根据训练One-Hot特征获取正例应用程序和负例应用程序。
可以理解,上述正例应用程序可与样本应用程序的语义相似,即可将与样本应用程序的语义相似的应用程序称为正例应用程序;上述负例应用程序则与样本应用程序的语义无关,即可将与样本应用程序的语义没有关联的应用程序称为负例应用程序。
其中,在本发明的实施例中,上述正例应用程序可通过标记获取或者通过用户点击获取;上述负例应用程序可随机获取。例如,在用户进行应用程序的搜索过程中,可将用户在搜索结果页面中的所点击的应用程序作为正例应用程序。
举例而言,在得到训练One-Hot特征之后,可根据该训练One-Hot特征从应用程序召回库中获取与样本应用程序存在语义相似的正例应用程序,以及与样本应用程序的语义无关的负例应用程序。
1035)分别计算训练语义表示与正例应用程序和负例应用程序之间的语义相似度。
具体地,可通过语义相似度计算方法,计算训练语义表示与正例应用程序之间的语义相似度,并计算训练语义表示与负例应用程序之间的语义相似度。最后,为了保障深度神经网络模型的可用性以及可行性,需保证训练语义表示与正例应用程序之间的语义相似度,总是大于训练语义表示与负例应用程序之间的语义相似度。
由此,通过上述步骤即可训练得到深度神经网络模型,以便根据该深度神经网络模型分别计算搜索词与多个候选应用程序的语义相似度。
综上,分别计算搜索词与多个候选应用程序的语义相似度的具体实现过程可如下:可将该搜索词作为深度神经网络模型的一端输入,将多个候选应用程序作为深度神经网络模型的另一端输入,然后,通过该深度神经网络模型内部计算即可得到该搜索词与多个候选应用程序的语义相似度。
S104,根据搜索词与多个候选应用程序的语义相似度对多个候选应用程序进行排序,并将排序结果提供至用户。
具体地,在分别计算搜索词与多个候选应用程序的语义相似度之后,可根据搜索词与多个候选应用程序的语义相似度对多个候选应用程序进行排序,最后,将排序结果展现在搜索结果页面以供用户查看。
举例而言,本发明实施例的应用程序的搜索方法可先在先下训练一个深度神经网络模型,如图3所示,该深度神经网络模型可通过以下步骤训练得到:通过模型数据采集系统采集样本应用程序、以及样本应用程序对应的训练语料,之后,可将这些训练语料转换为One-Hot特征,然后,根据该One-Hot特征通过神经网络分类器来得到这些样本应用程序的预判断信息,如类别或标签等,之后,可根据训练语料和样本应用程序的类别或标签生成训练语义表示。然后,分别计算该训练语义表示与正例应用程序和负例应用程序之间的语义相似度,由此,建立了深度神经网络模型,即如图3所示的排序学习器。在线搜索应用中,在获取到用户当前输入的应用程序的搜索词之后,根据搜索词获取多个候选应用程序,并根据上述建立的排序学习器分别计算搜索词与多个候选应用程序的语义相似度,最后,根据搜索词与多个候选应用程序的语义相似度对多个候选应用程序进行排序,并将排序结果提供给用户。
本发明实施例的应用程序的搜索方法,可先获取应用程序的搜索词,并根据搜索词获取多个候选应用程序,之后,分别计算搜索词与多个候选应用程序的语义相似度,最后,根据搜索词与多个候选应用程序的语义相似度对多个候选应用程序进行排序,并将排序结果提供至用户。即通过搜索词与候选应用程序之间的语义相似度来对候选应用程序进行排序,可以更加准确地搜索到与用户输入的搜索词匹配的具体应用程序,因而可以直接满足用户主动需求,提高了用户针对应用程序的搜索体验,提高了用户与应用程序之间的粘性。
与上述几种实施例提供的应用程序的搜索方法相对应,本发明的一种实施例还提供一种应用程序的搜索装置,由于本发明实施例提供的应用程序的搜索装置与上述几种实施例提供的应用程序的搜索方法相对应,因此在前述应用程序的搜索方法的实施方式也适用于本实施例提供的应用程序的搜索装置,在本实施例中不再详细描述。图4是根据本发明一个实施例的应用程序的搜索装置的结构示意图。如图4所示,该应用程序的搜索装置可以包括:搜索词获取模块110、候选应用程序获取模块120、相似度计算模块130和结果提供模块140。
具体地,搜索词获取模块110可用于获取应用程序的搜索词。
候选应用程序获取模块120可用于根据搜索词获取多个候选应用程序。具体而言,在本发明的一个实施例中,如图5所示,该候选应用程序获取模块120可包括转换单元121和获取单元122。其中,转换单元121可用于将搜索词转换为对应的一位热码One-Hot特征。获取单元122可用于根据One-Hot特征查询应用程序召回库以获取多个候选应用程序。
相似度计算模块130可用于分别计算搜索词与多个候选应用程序的语义相似度。具体而言,在本发明的实施例中,相似度计算模块130可根据深度神经网络模型分别计算搜索词与多个候选应用程序的语义相似度。其中,在本发明的实施例中,该深度神经网络模型的训练过程的具体实现方式将于后续实施例进行描述。
结果提供模块140可用于根据搜索词与多个候选应用程序的语义相似度对多个候选应用程序进行排序,并将排序结果提供至用户。
作为一种示例,如图6所示,该应用程序的搜索装置还可包括:深度神经网络模型训练模块150,深度神经网络模型训练模块150可用于生成深度神经网络模型。其中,在本示例中,如图6所示,该深度神经网络模型训练模块150可包括:第一获取单元151、训练单元152、生成单元153、第二获取单元154和计算单元155。
其中,第一获取单元151可用于获取样本应用程序,以及获取样本应用程序对应的训练语料。
训练单元152可用于将训练语料作为训练搜索词进行训练,并将训练语料转换为训练One-Hot特征,其中,样本应用程序与训练One-Hot特征之间具有对应关系。
生成单元153可用于根据训练语料和训练One-Hot特征生成对应的训练语义表示。具体而言,在本发明的一个实施例中,生成单元153可根据训练One-Hot特征通过神经网络分类器生成样本应用程序的类别或标签,并根据训练语料和样本应用程序的类别或标签生成训练语义表示。
第二获取单元154可用于分别根据训练One-Hot特征获取正例应用程序和负例应用程序。其中,在本发明的实施例中,正例应用程序可通过标记获取或通过用户点击获取,负例应用程序随机获取。
计算单元155可用于分别计算训练语义表示与正例应用程序和负例应用程序之间的语义相似度。
本发明实施例的应用程序的搜索装置,可通过搜索词获取模块获取应用程序的搜索词,候选应用程序获取模块根据搜索词获取多个候选应用程序,相似度计算模块分别计算搜索词与多个候选应用程序的语义相似度,结果提供模块根据搜索词与多个候选应用程序的语义相似度对多个候选应用程序进行排序,并将排序结果提供至用户。即通过搜索词与候选应用程序之间的语义相似度来对候选应用程序进行排序,可以更加准确地搜索到与用户输入的搜索词匹配的具体应用程序,因而可以直接满足用户主动需求,提高了用户针对应用程序的搜索体验,提高了用户与应用程序之间的粘性。
为了实现上述实施例,本发明还提出了一种深度神经网络模型的训练方法。
图7是根据本发明一个实施例的深度神经网络模型的训练方法的流程图。如图7所示,该深度神经网络模型的训练方法可以包括:
S701,获取样本应用程序,以及获取样本应用程序对应的训练语料。
举例而言,可利用网络爬虫技术抓取样本应用程序,并通过网络爬虫抓取这些样本应用程序对应的训练语料。其中,在本发明的实施例中,该训练语料可理解为样本应用程序的相关信息,例如,样本应用程序的具体名称、介绍标题、用户评论、标签Tag、Anchor文本(即链接源头文字)等。
S702,将训练语料作为训练搜索词进行训练,并将训练语料转换为训练One-Hot特征,其中,样本应用程序与训练One-Hot特征之间具有对应关系。
具体地,在将上述获取到的训练语料作为训练搜索词进行训练时,可通过One-Hot独热编码的方式将该训练搜索词转换为对应的训练One-Hot特征。
S703,根据训练语料和训练One-Hot特征生成对应的训练语义表示。
具体而言,在本发明的一个实施例中,可根据训练One-Hot特征通过神经网络分类器生成样本应用程序的类别或标签,并根据训练语料和样本应用程序的类别或标签生成训练语义表示。其中,训练语义表示可理解为基于语义建立训练语料与样本应用程序的类别或标签之间的语义关系。
更具体地,可根据这些训练One-Hot特征通过神经网络分类器来得到这些样本应用程序的类别的“预判断”信息,这个“预判断”信息可以是这些样本应用程序的类别划分,也可以是更细化的领域标签Tag,然后,将得到的样本应用程序的“预判断”信息与训练语料相结合,并基于语义将该相结合后信息转换为对应的训练语义表示。其中,在本发明的实施例中,上述神经网络分类器可以是逻辑回归(Logistic Regression,LR)模型,还可以是其他简单的神经网络分类器。
举例而言,如图2所示,可以设计一个分层深度神经网络学习系统。该系统输入为样本应用程序的训练语料(例如,一般为用户输入的query),通过One-Hot独热编码的方式将这些训练语料转为one-hot特征后,再通过一个分类器(考虑到效率可以为LR逻辑回归,也可以为简单的神经网络分类器),得到一个该样本应用程序的类别的“预判断”。这个预判断可以是该样本应用程序的类别划分,也可以是更细化的领域tag。接着,可将得到的该样本应用程序的“预判断”信息和已有的训练语料相结合,并基于语义将该相结合后信息转换为对应的训练语义表示。
S704,分别根据训练One-Hot特征获取正例应用程序和负例应用程序。
可以理解,上述正例应用程序可与样本应用程序的语义相似,即可将与样本应用程序的语义相似的应用程序称为正例应用程序;上述负例应用程序则与样本应用程序的语义无关,即可将与样本应用程序的语义没有关联的应用程序称为负例应用程序。
其中,在本发明的一个实施例中,上述正例应用程序可通过标记获取或通过用户点击获取;上述负例应用程序随机获取。例如,在用户进行应用程序的搜索过程中,可将用户在搜索结果页面中的所点击的应用程序作为正例应用程序。
举例而言,在得到训练One-Hot特征之后,可根据该训练One-Hot特征从应用程序召回库中获取与样本应用程序存在语义相似的正例应用程序,以及与样本应用程序的语义无关的负例应用程序。
S705,分别计算训练语义表示与正例应用程序和负例应用程序之间的语义相似度。
具体地,可通过语义相似度计算方法,计算训练语义表示与正例应用程序之间的语义相似度,并计算训练语义表示与负例应用程序之间的语义相似度。最后,为了保障深度神经网络模型的可用性以及可行性,需保证训练语义表示与正例应用程序之间的语义相似度,总是大于训练语义表示与负例应用程序之间的语义相似度。
本发明实施例的深度神经网络模型的训练方法,获取样本应用程序,以及获取样本应用程序对应的训练语料,之后,可将训练语料作为训练搜索词进行训练,并将训练语料转换为训练One-Hot特征,并根据训练语料和训练One-Hot特征生成对应的训练语义表示,然后,分别根据训练One-Hot特征获取正例应用程序和负例应用程序,最后,分别计算训练语义表示与正例应用程序和负例应用程序之间的语义相似度。即通过深度学习的神经网络学习器,可以得到训练语义表示与正例应用程序和负例应用程序之间的语义相似度,并经过多轮迭代学习后,得到了深度神经网络模型中的排序学习器,以便在线上应用程序搜索的应用过程中,根据该深度神经网络模型中的排序学习器即可根据搜索词与多个候选应用程序的语义相似度对多个候选应用程序进行排序,以便后续将最后的排序结果提供给用户,提高了应用程序搜索的准确度,提升了用户针对应用程序的搜索体验。
与上述几种实施例提供的深度神经网络模型的训练方法相对应,本发明的一种实施例还提供一种深度神经网络模型的训练装置,由于本发明实施例提供的深度神经网络模型的训练装置与上述几种实施例提供的深度神经网络模型的训练方法相对应,因此在前述深度神经网络模型的训练方法的实施方式也适用于本实施例提供的深度神经网络模型的训练装置,在本实施例中不再详细描述。图8是根据本发明一个实施例的深度神经网络模型的训练装置的结构示意图。如图8所示,该深度神经网络模型的训练装置可以包括:第一获取模块210、训练模块220、生成模块230、第二获取模块240和计算模块250。
具体地,第一获取模块210可用于获取样本应用程序,以及获取样本应用程序对应的训练语料。
训练模块220可用于将训练语料作为训练搜索词进行训练,并将训练语料转换为训练One-Hot特征,其中,样本应用程序与训练One-Hot特征之间具有对应关系。
生成模块230可用于根据训练语料和训练One-Hot特征生成对应的训练语义表示。具体而言,在本发明的一个实施例中,如图9所示,生成模块230可包括:第一生成单元231和第一生成单元232。
其中,第一生成单元231可用于根据训练One-Hot特征通过神经网络分类器生成样本应用程序的类别或标签。第二生成单元232可用于根据训练语料和样本应用程序的类别或标签生成训练语义表示。
第二获取模块240可用于分别根据训练One-Hot特征获取正例应用程序和负例应用程序。其中,在本发明的一个实施例中,上述正例应用程序可通过标记获取或通过用户点击获取;上述负例应用程序可随机获取。
计算模块250可用于分别计算训练One-Hot特征与正例应用程序和负例应用程序之间的语义相似度。
本发明实施例的深度神经网络模型的训练装置,可通过第一获取模块获取样本应用程序,以及获取样本应用程序对应的训练语料,训练模块将训练语料作为训练搜索词进行训练,并将训练语料转换为训练One-Hot特征,生成模块根据训练语料和训练One-Hot特征生成对应的训练语义表示,第二获取模块分别根据训练One-Hot特征获取正例应用程序和负例应用程序,计算模块分别计算训练语义表示与正例应用程序和负例应用程序之间的语义相似度。即通过深度学习的神经网络学习器,可以得到训练语义表示与正例应用程序和负例应用程序之间的语义相似度,并经过多轮迭代学习后,得到了深度神经网络模型中的排序学习器,以便在线上应用程序搜索的应用过程中,根据该深度神经网络模型中的排序学习器即可根据搜索词与多个候选应用程序的语义相似度对多个候选应用程序进行排序,以便后续将最后的排序结果提供给用户,提高了应用程序搜索的准确度,提升了用户针对应用程序的搜索体验。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (16)
1.一种应用程序的搜索方法,其特征在于,所述方法应用于移动终端中的应用商店,所述方法包括以下步骤:
获取应用程序的搜索词;
根据所述搜索词获取多个候选应用程序;其中,所述根据所述搜索词获取多个候选应用程序具体包括:
将所述搜索词转换为对应的一位热码One-Hot特征;
根据所述One-Hot特征查询应用程序召回库以获取所述多个候选应用程序;
分别计算所述搜索词与所述多个候选应用程序的语义相似度;
根据所述搜索词与所述多个候选应用程序的语义相似度对所述多个候选应用程序进行排序,并将排序结果提供至用户。
2.如权利要求1所述的应用程序的搜索方法,其特征在于,所述分别计算所述搜索词与所述多个候选应用程序的语义相似度具体包括:
根据深度神经网络模型分别计算所述搜索词与所述多个候选应用程序的语义相似度。
3.如权利要求2所述的应用程序的搜索方法,其特征在于,所述深度神经网络模型通过以下步骤训练得到:
获取样本应用程序,以及获取所述样本应用程序对应的训练语料;
将所述训练语料作为训练搜索词进行训练,并将所述训练语料转换为训练One-Hot特征,其中,所述样本应用程序与所述训练One-Hot特征之间具有对应关系;
根据所述训练语料和所述训练One-Hot特征生成对应的训练语义表示;
分别根据所述训练One-Hot特征获取正例应用程序和负例应用程序;
分别计算所述训练语义表示与所述正例应用程序和负例应用程序之间的语义相似度。
4.如权利要求3所述的应用程序的搜索方法,其特征在于,所述正例应用程序通过标记获取或通过用户点击获取,所述负例应用程序随机获取。
5.如权利要求3所述的应用程序的搜索方法,其特征在于,所述根据所述训练语料和所述训练One-Hot特征生成对应的训练语义表示具体包括:
根据所述训练One-Hot特征通过神经网络分类器生成所述样本应用程序的类别或标签;
根据所述训练语料和所述样本应用程序的类别或标签生成所述训练语义表示。
6.一种深度神经网络模型的训练方法,其特征在于,所述深度神经网络模型用于计算针对应用程序的搜索词与多个候选应用程序的语义相似度,所述方法包括以下步骤:
获取样本应用程序,以及获取所述样本应用程序对应的训练语料;
将所述训练语料作为训练搜索词进行训练,并将所述训练语料转换为训练One-Hot特征,其中,所述样本应用程序与所述训练One-Hot特征之间具有对应关系;
根据所述训练语料和所述训练One-Hot特征生成对应的训练语义表示;
分别根据所述训练One-Hot特征获取正例应用程序和负例应用程序;
分别计算所述训练语义表示与所述正例应用程序和负例应用程序之间的语义相似度。
7.如权利要求6所述的深度神经网络模型的训练方法,其特征在于,所述正例应用程序通过标记获取或通过用户点击获取,所述负例应用程序随机获取。
8.如权利要求6所述的深度神经网络模型的训练方法,其特征在于,所述根据所述训练语料和所述训练One-Hot特征生成对应的训练语义表示具体包括:
根据所述训练One-Hot特征通过神经网络分类器生成所述样本应用程序的类别或标签;
根据所述训练语料和所述样本应用程序的类别或标签生成所述训练语义表示。
9.一种应用程序的搜索装置,其特征在于,所述装置应用于移动终端中的应用商店,所述装置包括:
搜索词获取模块,用于获取应用程序的搜索词;
候选应用程序获取模块,用于根据所述搜索词获取多个候选应用程序;其中,所述候选应用程序获取模块包括:
转换单元,用于将所述搜索词转换为对应的一位热码One-Hot特征;
获取单元,用于根据所述One-Hot特征查询应用程序召回库以获取所述多个候选应用程序;
相似度计算模块,用于分别计算所述搜索词与所述多个候选应用程序的语义相似度;
结果提供模块,用于根据所述搜索词与所述多个候选应用程序的语义相似度对所述多个候选应用程序进行排序,并将排序结果提供至用户。
10.如权利要求9所述的应用程序的搜索装置,其特征在于,所述相似度计算模块还用于:根据深度神经网络模型分别计算所述搜索词与所述多个候选应用程序的语义相似度。
11.如权利要求10所述的应用程序的搜索装置,其特征在于,还包括:深度神经网络模型训练模块;其中,所述深度神经网络模型训练模块包括:
第一获取单元,用于获取样本应用程序,以及获取所述样本应用程序对应的训练语料;
训练单元,用于将所述训练语料作为训练搜索词进行训练,并将所述训练语料转换为训练One-Hot特征,其中,所述样本应用程序与所述训练One-Hot特征之间具有对应关系;
生成单元,用于根据所述训练语料和所述训练One-Hot特征生成对应的训练语义表示;
第二获取单元,用于分别根据所述训练One-Hot特征获取正例应用程序和负例应用程序;
计算单元,用于分别计算所述训练语义表示与所述正例应用程序和负例应用程序之间的语义相似度。
12.如权利要求11所述的应用程序的搜索装置,其特征在于,所述正例应用程序通过标记获取或通过用户点击获取,所述负例应用程序随机获取。
13.如权利要求11所述的应用程序的搜索装置,其特征在于,所述生成单元具体用于:
根据所述训练One-Hot特征通过神经网络分类器生成所述样本应用程序的类别或标签;
根据所述训练语料和所述样本应用程序的类别或标签生成所述训练语义表示。
14.一种深度神经网络模型的训练装置,其特征在于,所述深度神经网络模型用于计算针对应用程序的搜索词与多个候选应用程序的语义相似度,所述装置包括:
第一获取模块,用于获取样本应用程序,以及获取所述样本应用程序对应的训练语料;
训练模块,用于将所述训练语料作为训练搜索词进行训练,并将所述训练语料转换为训练One-Hot特征,其中,所述样本应用程序与所述训练One-Hot特征之间具有对应关系;
生成模块,用于根据所述训练语料和所述训练One-Hot特征生成对应的训练语义表示;
第二获取模块,用于分别根据所述训练One-Hot特征获取正例应用程序和负例应用程序;
计算模块,用于分别计算所述训练语义表示与所述正例应用程序和负例应用程序之间的语义相似度。
15.如权利要求14所述的深度神经网络模型的训练装置,其特征在于,所述正例应用程序通过标记获取或通过用户点击获取,所述负例应用程序随机获取。
16.如权利要求14所述的深度神经网络模型的训练装置,其特征在于,所述生成模块包括:
第一生成单元,用于根据所述训练One-Hot特征通过神经网络分类器生成所述样本应用程序的类别或标签;
第二生成单元,用于根据所述训练语料和所述样本应用程序的类别或标签生成所述训练语义表示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610626182.2A CN106294635B (zh) | 2016-08-02 | 2016-08-02 | 应用程序搜索方法、深度神经网络模型的训练方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610626182.2A CN106294635B (zh) | 2016-08-02 | 2016-08-02 | 应用程序搜索方法、深度神经网络模型的训练方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106294635A CN106294635A (zh) | 2017-01-04 |
CN106294635B true CN106294635B (zh) | 2019-09-03 |
Family
ID=57664068
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610626182.2A Active CN106294635B (zh) | 2016-08-02 | 2016-08-02 | 应用程序搜索方法、深度神经网络模型的训练方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106294635B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108255954A (zh) * | 2017-12-20 | 2018-07-06 | 广州优视网络科技有限公司 | 应用检索方法、装置、存储介质以及终端 |
CN108805628B (zh) * | 2018-06-19 | 2021-03-16 | 东北师范大学 | 一种电子商务推荐方法 |
CN109101630B (zh) * | 2018-08-14 | 2021-12-17 | 广东小天才科技有限公司 | 一种应用程序搜索结果的生成方法、装置及设备 |
CN109471948A (zh) * | 2018-11-08 | 2019-03-15 | 威海天鑫现代服务技术研究院有限公司 | 一种老年健康领域知识问答系统构建方法 |
CN109815195B (zh) * | 2018-12-28 | 2021-04-20 | 北京百度网讯科技有限公司 | 查询方法、终端和存储介质 |
CN109918560B (zh) * | 2019-01-09 | 2024-03-12 | 平安科技(深圳)有限公司 | 一种基于搜索引擎的问答方法和装置 |
CN110688567A (zh) * | 2019-09-09 | 2020-01-14 | 武汉理工大学 | 一种移动应用程序搜索方法及装置 |
CN110717038B (zh) * | 2019-09-17 | 2022-10-04 | 腾讯科技(深圳)有限公司 | 对象分类方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104317834A (zh) * | 2014-10-10 | 2015-01-28 | 浙江大学 | 一种基于深度神经网络的跨媒体排序方法 |
CN104516820A (zh) * | 2015-01-16 | 2015-04-15 | 浪潮(北京)电子信息产业有限公司 | 一种独热码检测方法和独热码检测器 |
CN104572717A (zh) * | 2013-10-18 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 信息搜索方法和装置 |
CN104615767A (zh) * | 2015-02-15 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 搜索排序模型的训练方法、搜索处理方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7996380B2 (en) * | 2006-08-04 | 2011-08-09 | Apple Inc. | Method and apparatus for processing metadata |
-
2016
- 2016-08-02 CN CN201610626182.2A patent/CN106294635B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572717A (zh) * | 2013-10-18 | 2015-04-29 | 腾讯科技(深圳)有限公司 | 信息搜索方法和装置 |
CN104317834A (zh) * | 2014-10-10 | 2015-01-28 | 浙江大学 | 一种基于深度神经网络的跨媒体排序方法 |
CN104516820A (zh) * | 2015-01-16 | 2015-04-15 | 浪潮(北京)电子信息产业有限公司 | 一种独热码检测方法和独热码检测器 |
CN104615767A (zh) * | 2015-02-15 | 2015-05-13 | 百度在线网络技术(北京)有限公司 | 搜索排序模型的训练方法、搜索处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN106294635A (zh) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106294635B (zh) | 应用程序搜索方法、深度神经网络模型的训练方法及装置 | |
CN109376309A (zh) | 基于语义标签的文档推荐方法和装置 | |
CN103914548B (zh) | 信息搜索方法和装置 | |
Sheffield | Search engine optimization and business communication instruction: interviews with experts | |
CN108280155A (zh) | 基于短视频的问题检索反馈方法、装置及其设备 | |
WO2013024338A1 (en) | System and method for managing opinion networks with interactive opinion flows | |
Chang et al. | Integrating a semantic-based retrieval agent into case-based reasoning systems: A case study of an online bookstore | |
US20210103622A1 (en) | Information search method, device, apparatus and computer-readable medium | |
US20170262447A1 (en) | Topical analytics for online articles | |
Cheng et al. | Image inspired poetry generation in xiaoice | |
Mumtaz et al. | Expert2vec: Experts representation in community question answering for question routing | |
Wang et al. | Summary-aware attention for social media short text abstractive summarization | |
Ganchev et al. | Using search-logs to improve query tagging | |
CN107992602A (zh) | 搜索结果展示方法和装置 | |
CN110348919A (zh) | 物品推荐方法、装置和计算机可读存储介质 | |
Yang et al. | Emoset: A large-scale visual emotion dataset with rich attributes | |
Kaur et al. | Semantic-based integrated plagiarism detection approach for english documents | |
Müller et al. | Findings of the second WMT shared task on sign language translation (WMT-SLT23) | |
CN106528764A (zh) | 基于人工智能的提问型检索词的检索方法及装置 | |
Hui et al. | Extracting conceptual relationships from specialized documents | |
US20210056149A1 (en) | Search system, search method, and program | |
CN102982072B (zh) | 一种可视化概念检测器及构造语义场的方法 | |
Chen et al. | TemPEST: Soft template-based personalized EDM subject generation through collaborative summarization | |
CN116226320A (zh) | 一种预测下文信息的方法、装置、电子设备及存储介质 | |
Tian et al. | Semantic similarity measure of natural language text through machine learning and a keyword‐aware cross‐encoder‐ranking summarizer—A case study using UCGIS GIS &T body of knowledge |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |