CN107346326B - 用于信息检索的方法和系统 - Google Patents
用于信息检索的方法和系统 Download PDFInfo
- Publication number
- CN107346326B CN107346326B CN201611072712.XA CN201611072712A CN107346326B CN 107346326 B CN107346326 B CN 107346326B CN 201611072712 A CN201611072712 A CN 201611072712A CN 107346326 B CN107346326 B CN 107346326B
- Authority
- CN
- China
- Prior art keywords
- features
- neural network
- network model
- user
- generate
- 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
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000003062 neural network model Methods 0.000 claims abstract description 89
- 238000012549 training Methods 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims description 33
- 230000015654 memory Effects 0.000 claims description 22
- 238000013145 classification model Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 11
- 238000013528 artificial neural network Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 210000004027 cell Anatomy 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004744 fabric Substances 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000005291 magnetic effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 210000002364 input neuron Anatomy 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 210000004205 output neuron Anatomy 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了训练和创建神经网络模型的方法和系统。根据一个实施例,接收特征的第一集合,第一集合内的每个特征与预定的类别相关联。对特征的第一集合应用布隆过滤器以生成特征的第二集合。通过对神经网络模型的第一层节点施加特征的第二集合以生成输出,来训练神经网络模型,神经网络模型包括多层节点,这多层节点经由连接相互耦合。将神经网络模型的输出和与预定的类别相关联的目标值相比较,以确定神经网络模型是否满足预定的条件。
Description
技术领域
本发明的实施例一般涉及搜索内容,更具体地,本发明的实施例涉及用于信息检索的方法和系统。
背景技术
Web包含大量的信息,找到信息的想要的部分可能会颇具挑战性。这一问题因Web上的信息量和进行Web搜索的新用户的急剧增加变得复杂。搜索引擎试图返回到用户感兴趣的网页的链接。通常,搜索引擎基于用户输入的搜索项(搜索查询)确定用户的兴趣。搜索引擎的目标是基于搜索引擎向用户提供到相关结果的链接。通常,搜索引擎通过使搜索查询中的词与Web页面库匹配来实现这一点。然后将内容项目返回搜索请求者作为搜索结果。取决于搜索引擎的质量,返回给用户的内容项目可能是也可能不是用户实际想要的。
为了提供更好的搜索结果,用了很多的办法确定搜索结果的满意度或命中率。作为分析搜索结果的一部分,已经在很多领域如图像理解、声音辨认和自然语言处理等中使用神经网络(NN)。但是,当数据集合包括大量稀疏和分立的特征时,神经网络模型训练不能很快收敛并取得低的精确度。在使用深度神经网络(DNN)时尤其是这样,因为有大量的隐藏层和大量的输入观察。
在机器学习中,神经网络是用来估计或粗略估计函数的模型组,它们可以依赖大量的输入,并且通常是未知的。神经网络通常以相互连接的“神经元”的系统的方式呈现,这些神经元相互之间交换消息。这些连接具有可以基于经验调节的数值权重,使得神经网络适应输入并能够学习。
例如,用于手写体辨认的神经网络由输入神经元的集合定义,这些输入神经元可以由输入图像的像素激活。在被(由网络设计者确定的)函数加权和转换后,这些神经元的激活被传递到其它神经元。重复进行该处理直到最终输出神经元被激活。这决定哪个字被读。像其它机器学习方法(即从数据进行学习的系统)一样,神经网络已经被用来完成使用普通的基于规则的编程难以完成的各种任务,包括计算机视觉和声音识别。
通常,神经网络包括:输入节点的阵列、一层或多层隐藏节点、以及一个或多个输出节点。每个输入节点与每个隐藏节点连接,每个隐藏节点与每个输出节点连接。如图1所示,DNN包括多层隐藏节点。参照图1,在该示例中,神经网络180包括分级结构的四层隐藏节点181-184。每个输入节点191与第一层节点181连接。每个下节点与每个直接
上节点连接,最终导向输出节点192。每个连接与权重相关联。如上所述,通过调整与对应的连接相关联的权重,可以对位于下节点和上节点之间的每个连接执行学习过程。当输入节点191的数量变大时,处理所有节点之间的连接所需的处理资源(例如处理器、存储器)会变得庞大,处理也会非常费时和低效。
附图说明
在附图的图中以举例而非限制的方式说明本发明的实施方式,其中相同或相似的附图标记表示相似的要素。
图1是说明典型的神经网络模型的框图。
图2是说明可以与本发明的实施例一起使用的神经网络模型的框图。
图3A和3B是说明根据本发明的一些实施例的用来搜索内容的系统配置的示例的框图。
图4是说明根据本发明的一个实施例的分类模型训练系统的示例的框图。
图5是说明根据本发明的一个实施例的分类系统的示例的框图。
图6是说明根据本发明的一个实施例的训练分类模型的过程的流程图。
图7是说明根据本发明的一个实施例的使用分类模型对用户进行分类的过程的流程图。
图8是说明根据本发明的一个实施例的使用分类模型对内容进行分类的过程的流程图。
图9是说明根据一个实施例的数据处理系统的框图。
具体实施方式
下面,参考后面讨论的细节来描述本发明的多个不同的实施方式和方面,附图用来说明多个不同的实施方式。下面的描述和附图仅仅说明本发明,不应解释为对本发明的限定。很多具体细节被描述以提供对本发明的多个不同的实施方式的透彻的理解。但是,在某些情况下,为了使对本发明的实施方式的讨论更简洁,公知的或常规的细节不再描述。
本说明书中提及的“一个实施例”或“实施例”指结合实施例描述的某特定特征、结构或特性可以被包括在至少一个本发明的实施例中。在本说明书中多个不同的地方出现的“在一个实施例中”并不必然都指同一个实施例。
在训练带有大量分立特征的DNN模型时,将特征连接到第一隐藏层节点的权重的数量与特征数量成线性比例。因此,计算时间和存储花费大多用在这些权重上。另一方面,在许多问题设置中,这些分立特征是高度稀疏的,即,每个训练例的特征数量远低于特征的总数量。根据一些实施例,布隆过滤器(使用常规地用来对成员信息的集合进行概率解码的数据结构),被用于通过在较低的维度空间中表示分立和稀疏的特征来降低DNN的计算和存储成本。这样实现模型训练中的更快的收敛,并实现更小的模型,即具有更小的存储占用(footprint)的模型。在适合用DNN模型的大范围的任务和应用中,可以将这一技术通用于其它输入特征和DNN的预测目标。
图2是说明可以根据本发明的一个实施例的神经网络模型的框图。参照图2,神经网络200包括一个或多个节点的隐藏层201-204。在该示例中,神经网络200包括四个节点的隐藏层,但是更多或更少的层都是可行的。另外,提供布隆过滤器210来连接第一隐藏层201与节点的输入层220。布隆过滤器210配置成将输入层220中的节点数量减少或精简到更小的节点数量,这些更小数量的节点要被提供到第一隐藏层201中。
根据一个实施例,在为了训练的目的将特征的第一集合220给予神经网络200之前,对特征的第一集合220应用布隆过滤器210以生成特征的第二集合(未示出)。神经网络200是要被训练的神经网络模型之一,每个神经网络模型对应一个预定的类别。特征的第一集合220已经被布隆过滤器210精简成特征的第二集合,该第二集合具有的特征数量小于第一集合。然后将特征的第二集合提供给被训练的神经网络模型200的节点的第一隐藏层201,以生成输出225,其中神经网络模型200包括一个或多个节点的隐藏层201-204。一般而言,常规的神经网络包含一个节点的隐藏层,而深度神经网络(例如,权重)包含多个节点的隐藏层。然后,将输出225和与预定的类别相关联的目标值相比较。可以反复调整和训练神经网络模型的参数和布隆过滤器的参数,直到神经网络模型的输出落在目标值的预定的附近。对于预定的类别的集合,可以用相应的已知特征的集合生成神经网络模型的集合和相关联的布隆过滤器的集合。
借助于布隆过滤器210,层201中的节点数量低于比图1的层181。结果,训练和/或使用神经网络200所需的处理资源(例如处理器、存储器)会显著减少,效率也会显著提高。具有大量稀疏输入特征的DNN具有相应的宽的输入层,在其顶上通常有节点数量逐渐减小的多个隐藏层。例如,回到参照图1,假如DNN有N0=1,000,000个输入特征(例如层181),第一隐藏层有N1=1,000个节点(例如层182),第二隐藏层有N2=100个节点(例如层183),第三隐藏层有N3=10个节点(例如层184),还有2个输入节点192。模型参数(节点权重)的总数量为:
1,000,000×1,000+1000×100+100×10+10×2=1,000,101,020。
现在,参照图1和2,在布隆层位于输入特征层220与第一隐藏层202之间的情况下,从输入特征到布隆过滤器层的映射是确定的,所以不需要被训练。层201的节点数量Nb可以被调节,而且远小于输入特征数量N0。例如,如果层201中的Nb=3,000,那么带有布隆过滤器层的新DNN具有3,000×1,000+1000×100+100×10+10×2=3,101,020个模型参数,大约是最初参数数量的0.3%。通过将从输入特征层220到上面各层的信息流精简,这从最初的DNN大大改进,导致更快的收敛和更高的模型预测精度。
布隆过滤器是用来测试一个元素是不是一个集合的成员的空间有效的概率数据结构。误报的匹配是可能的,但不会有漏报,所以布隆过滤器有100%的查全率。换言之,查询回复要么是“可能在集合中”,要么是“肯定不在集合中”。可以向该集合添加元素,但不能去除元素。向该集合添加的元素越多,误报的概率越大。布隆过滤器使用m位来保存n个元素的集合成员身份,误报率为p:
可以用它表示来自训练例的稀疏和分立的特征,可以认为它是从N0个元素的全部特征集合抽样得到的n个特征的子集。由于m~n的特征稀疏度<<N0,在从有N0个分立特征的数据集合训练DNN之前,先用m位的布隆过滤器将每个训练例编码。该步骤实质上是将输入维度从N0降到m。通过调节参数p,可以使该从原先的N0维度特征空间到新的m维度特征空间的映射成为具有高概率的双射。然后,DNN训练处理如常进行,但是输入维度更小了。这是通用的非线性特征映射方法,它可以用在其它深度学习算法(例如循环神经网络(RNN))中。
神经网络200与布隆过滤器210一起可以用在内容搜索领域内的多种应用中。例如,神经网络200可以用来对发起内容搜索的用户(例如用户类型)进行分类。根据一个实施例,当从用户的用户端设备接收到搜索查询时,基于搜索查询、用户端设备、用户以及其它相关信息(例如,历史记录等),确定特征的第一集合。对特征的第一集合应用神经网络模型的布隆过滤器以生成特征的第二集合。然后将特征的第二集合给予特定类别的神经网络模型,以导出表示用户与该特定类别相关联的可能性(例如概率)的输出值。然后基于搜索查询和用户的用户类别在内容数据库中进行搜索,从而可以提供更好的内容来定向用户。可以将特征的第一集合给予不同的神经网络模型和它们相应的布隆过滤器,以确定用户是否与对应于这些神经网络模型的类别中的任何一个类别相关联。比较这些神经网络模型的输出以确定用于搜索目的的一个或多个最终的类别。
作为替代方式,可以基于与搜索结果的内容项目相关联的特征和用户的用户信息(例如,用户资料、用户端设备信息),使用神经网络模型对搜索结果的内容项目进行排序。然后,基于用户更有可能感兴趣接收的排名对内容项目进行分类。而且,可以基于与用户和内容项目相关联的特征,使用神经网络模型确定是否发生了用户与特定的内容项目的用户交互(例如,用户是否点击过呈现给用户的那个特定的内容项目)。输入特征可以表示用户标识符(ID)、标识内容项目的内容ID、用户设备的设备ID(例如IP地址)、内容描述(例如关键词)、搜索查询、用户代理信息(例如浏览器应用)、Web域、或统一资源定位符(URL)等中的任一个或多个的组合。
用布隆过滤器210确定上述稀疏特征中的任何一个是否存在,然后由一个更小的特征的集合201表示它。可能会有一些误报,但是考虑到搜索空间中的稀疏特征,这些误报的影响可以忽略。换言之,所需的提高处理效率和减少处理资源的优点大大超过具有误报的缺点。通过适当地调整布隆过滤器的参数,可以实现具有NN模型的精确预测与提高处理效率之间的平衡。
图3A和3B是说明根据本发明的一些实施例的用来搜索内容的系统配置的示例的框图。参照图3A,系统100包括,但不限于,通过网络103通信地耦合到服务器104的一个或多个客户端设备101-102。客户端设备101-102可以是任何类型的客户端设备如个人电脑(例如,台式电脑,笔记本电脑、平板电脑)、瘦客户机、个人数字助理(PDA)、具有上网功能(或支持Web)的设备、智能手表、或手机(例如智能手机)等。网络103可以是任何类型的网络,如局域网(LAN)、广域网(WAN)如互联网或它们的组合,有线的或无线的都可以。
服务器104可以是任何类型的服务器或服务器的集群,如Web服务器或云服务器、应用服务器、后端服务器或它们的组合。在一个实施方式中,服务器104包括,但不限于,搜索引擎120、分类模型或系统110和神经网络模型115。服务器104还包括允许客户(如客户端设备101-102)访问由服务器104提供的资源或服务的接口。接口可包括Web接口、应用程序编程接口(API)和/或命令行接口(CLI)。
例如,客户,在该示例中是客户端设备101的用户应用程序(例如,Web浏览器、手机应用程序),可以向服务器104发送搜索查询,搜索引擎120经由接口在网络103上接收到该搜索查询。响应于该搜索查询,搜索引擎120从该搜索查询提取一个或多个关键词(也被称为搜索项)。搜索引擎120在内容数据库133中执行搜索以识别与这些关键词有关的内容项目的列表,内容数据库133可以包括主内容数据库130和/或副内容数据库131。主内容数据库130(也被称为母内容数据库)可以是一般的内容数据库,而副内容数据库131(也被称为次要内容数据库)可以是特殊的内容数据库。搜索引擎120将带有列表中的至少一些内容项目的搜索结果页面返回客户端设备101,以在客户端设备101中呈现。搜索引擎120可以是可从百度公司得到的搜索引擎,或者作为替代方式,搜索引擎120可以表示/>搜索引擎、微软/>搜索引擎、/>搜索引擎或一些其它搜索引擎。
搜索引擎,如Web搜索引擎,是设计成搜索万维网上的信息的软件系统。搜索结果通常以一排结果的方式呈现,该一排结果经常被称为搜索引擎结果页面。信息可以是Web页、图像和其它类型文档的混合。有些搜索引擎还挖掘数据库或开放目录中可以得到的数据。与只由真人编辑维护的网络目录不同,搜索引擎还通过在网络爬虫上运行算法来维护实时信息。
Web搜索引擎通过存储与许多网页有关的信息来工作,它们从这些页面的超文本标记语言(HTML)标记来取回这些信息。这些页面被Web爬虫检索,该Web爬虫是跟踪站点上的每个链接的自动的Web爬虫。然后搜索引擎分析每页的内容以确定它应该如何被索引(例如,可以从名称、页面内容、标题、或称为元标签的特殊区域提取词)。与网页有关的数据被保存在索引数据库中以用于以后的查询。索引帮助尽可能快地找到与查询有关的信息。
当用户向搜索引擎输入查询时(通常,通过使用关键词),引擎检查其索引,并且根据其标准提供最匹配的网页的列表,通常带有包含文档标题、有时还包含一部分文本的短概述。基于与数据一起存储的信息和信息被编制索引的方法来建立索引。搜索引擎精确地按照输入来查找词或短语。有些搜索引擎提供称为近似搜索的高级特征,允许用户定义关键词之间的距离。还有一种基于概念的搜索,其中研究涉及对包含你搜索的词或短语的页面使用统计学分析。还有,自然语言查询允许用户以问真人时一样的方式打字输入问题。
回到参照图3A,根据一个实施例,响应于在服务器104中从客户端设备(在该示例中是客户端设备101)接收的搜索查询,搜索引擎120在内容数据库133(如主内容数据库130和/或副内容数据库131)中执行搜索以生成内容项目的列表。每个内容项目可以经由统一资源定位符(URL)和统一资源标识符(URI)与特定内容提供商的特定网站的特定网页相关联。在一个实施例中,主内容数据库130保存已经被网络爬虫收集的一般的内容项目(例如,未赞助的内容)。副内容数据库131保存与具体的、已知的或预定的内容提供商相关联的具体的或特殊的内容项目(例如,被赞助的内容)。作为替代方式,内容数据库133可以作为单个数据库实现而不区分主内容数据库131和副内容数据库132。
网络爬虫或Web爬虫是自动遍历网络的超文本结构的程序。在实际中,网络爬虫可以在分立的计算机或服务器上运行,每个都设置成执行从URL下载文档的一个或多个处理或线程。网络爬虫接收被分配的URL并在这些URL处下载文档。网络爬虫也可以取回文档由被取回的文档所引用的文档,已有内容处理系统(未示出)和/或搜索引擎120处理。网络爬虫可以使用各种协议下载与URL相关联的页面,如超文本传输协议(HTTP)和文档传输协议(FTP)。
服务器104还包括分类模块或系统110,分类模块或系统110使用一个或多个分类模型115对发起搜索查询的用户或用户搜索到的内容进行分类,分类模型115可以是如上所述的神经网络模型。分类模块110可以基于用户信息(例如,用户ID、用户端设备、之前的用户交互历史)确定用户的类型或类别。用户的类型或类别可以用来确定用户可能做什么或者用户想接收什么信息(例如,用户意图)。然后,可以基于用户分类,在内容数据库133中执行搜索以获得例如与用户分类(例如,用户的类型或类别)相关联的特定类型的内容。结果,可以向用户提供更好的搜索结果(例如,针对特定类型的用户或用户意图特别配置的特殊内容或被赞助的内容),并且可以提高用户的满意度。作为替代方式,分类模块110可以使用分类模型115对内容进行分类。分类模型115的输出可以用来对内容项目进行排序。而且,分类模块110可以使用分类模型115确定是否在特定内容项目(例如,广告转换)上发生过用户交互(例如,点击)。
分类模型115(也简称为模型)由分类模型训练系统150(也简称为训练系统)训练和生成,该系统可以作为网络上的单独的服务器实现或者与服务器104集成在一起。模型115可以由训练系统150离线训练和生成,加载到服务器104上,并从训练系统150定期更新。每个模型115对应于多个预定类别、用户类型或信息类型中的一个。
响应于从用户的客户端设备(例如客户端设备101)接收到的搜索查询,该搜索查询被给予每个模型115。每个模型115提供一个表示用户与对应于该特定模型的预定类别相关联的可能性的指示器。换言之,每个模型115基于搜索查询来预测用户是否可能对与该特定模型相关联的特定的信息类别感兴趣。在一个实施方式中,每个模型115提供用户对接收相对应的类别的信息感兴趣的概率。基于模型115提供的概率,例如基于具有最高概率的类别,确定用户分类或用户意图。然后,基于用户分类或用户意图识别某种类型的内容(例如定向内容)并返给用户,它可能反映用户真想接收什么。
根据一个实施例,响应于搜索查询,搜索引擎120在主内容数据库130中执行搜索以识别和取回一般内容项目的列表。另外,分类系统110基于搜索查询使用一个或多个分类模型115来对用户进行分类,确定用户的类别或类型或者用户搜索的信息的类别或类型,它可能表示用户的用户意图。基于用户分类,可以在副内容数据库131中执行搜索以识别和取回特殊内容项目的列表(例如,被赞助的内容)。然后,将具有一般内容项目和特殊内容项目这二者的搜索结果返给用户。在此,特殊内容项目是基于用户意图定向给用户的具体内容,可能会更精确或者更接近用户真想要的。
作为替代方式,可以基于与搜索结果的内容项目相关联的特征和用户的用户信息(例如,用户资料、用户设备信息),使用神经网络模型对搜索结果的内容项目进行排序。然后,基于用户更有可能感兴趣接收的排名对内容项目进行分类。而且,可以基于与用户和内容项目相关联的特征,使用神经网络模型确定是否发生了用户与特定的内容项目的用户交互(例如,用户是否点击过呈现给用户的那个特定的内容项目)。输入特征可以表示用户标识符(ID)、标识内容项目的内容ID、用户设备的设备ID(例如IP地址)、内容描述(例如关键词)、搜索查询、用户代理信息(例如浏览器应用软件)、Web域或统一资源定位符(URL)等中的任一个或多个的组合。
注意,仅仅为了说明的目的才描述了服务器104的配置。服务器104可以是向多个不同的终端用户设备提供前端搜索服务的Web服务器。作为替代方式,服务器104可以是向前端服务器(例如,Web服务器或一般内容服务器)提供具体或特殊内容搜索服务的应用服务器或后端服务器。其它的架构和配置也是可行的。例如,如图3B所示,内容数据库133可以在分立的服务器中被维护和托管,作为网络上的内容服务器。服务器133可以是Web服务器、应用服务器或后端服务器。内容服务器133可以由与服务器104相同的实体或组织机构来组织和提供。作为替代方式,内容服务器133可以由负责收集内容数据库130-131中的内容以及其元数据单独的实体或组织机构(例如,第三方供应商)维护和托管。还要注意,内容数据库/服务器133可以包括主内容数据库130和副内容数据库131。主内容数据库130也可以在分立的内容服务器中被实现或维护,称为主内容服务器。类似地,副内容数据库131可以在分立的内容服务器中被实现或维护,称为副内容服务器。
图4是说明根据本发明的一个实施例的分类模型训练系统的示例的框图。系统400可以作为图3A-3B的模型训练系统或服务器150的一部分实现。参照图4,根据一个实施方式,系统400包括模型训练引擎410(也称为训练系统/模块),它可以以软件、硬件或其组合的方式实现。例如,模型训练引擎410可以以被加载到存储器上并被处理器(未示出)执行的软件的方式实现。对于一个给定的要被训练的NN模型415,向布隆过滤器411提供已知特征的集合430以精简特征的集合430,生成具有更少特征数量的新的特征的集合。然后,精简得到的特征的集合被给予NN模型415并由训练引擎410训练。然后生成输出412,其中,将输出412和目标值相比较,以确定NN模型415是否准确。如果确定NN模型415不满足预定的要求,则可以调整布隆过滤器411的一个或多个参数,并且重新训练NN模型415,直到NN模型415满足预定的要求。
图5是说明根据本发明的一个实施例的分类系统的示例的框图。系统500可以作为图3A-3B的分类系统110的一部分实现。参照图5,根据一个实施例,系统500包括NN分类引擎510,它可以以软件、硬件或其组合的方式实现。在一个实施例中,在特征201的集合被接收以用于分类时,特征501的集合被给予对应于NN模型415的布隆过滤器411。结果,特征501的集合的数量被减少或精简。然后,通过NN分类引擎510将精简得到的特征提供给NN模型415以生成输出502。
特征501可以从由用户的用户端设备发起的搜索查询获得,其包括搜索查询、用户信息、用户设备信息、或之前的用户交互信息等。输出502可以表示用户类型或用户类别。可以基于用户类别进行定向搜索。作为替代方式,可以从基于搜索查询从内容数据库中识别和取回的内容项目来提取特征501。NN分类引擎510可以使用NN模型415对内容项目分类。输出502可以是表示特定用户对特定内容项目感兴趣的可能性的分数。可以用每个内容项目的输出502对内容项目进行排序。搜索结果可以包括基于分类被排序和分类的内容项目的列表。注意,NN分类引擎510和NN训练引擎410可以是训练NN模型并使用该NN模型对特征进行分类的同一个引擎。
图6是说明根据本发明的一个实施例的训练分类模型的国政的流程图。过程600可以由包括硬件(例如,电路、专用逻辑等)、软件(例如,被实现在非暂时性的计算机可读介质上)、或其组合的处理逻辑执行。例如,过程600可以由图3A-3B的训练系统150执行。参照图6,在框601中,处理逻辑接收特征的第一集合,其中,第一集合内的每个特征与预定的类别相关联。这些特征是与已知的类别或目标相关联的已知特征。在框602中,处理逻辑对该已知特征应用布隆过滤器以生成特征的第二集合。特征的第二集合是表示特征的第一集合的被精简的特征。如上所述,可能会有一些误报,但是考虑到搜索空间中的稀疏特征,这些误报的影响可以忽略。
在框603中,特征的第二集合被提供给被训练的神经网络模型。可以将特征的第二集合给予神经网络模型的节点的可见层,其中该神经网络模型可以包括一个或多个节点的隐藏层。生成输出。在框604中,处理逻辑确定输出是否满足为神经网络模型设定的预定的条件或目标值(例如概率)。如果确定输出不满足预定的条件或目标,则在框605中,可以调整布隆过滤器和/或神经网络模型的某些参数,并且可以反复执行上述操作,以对布隆过滤器和/或神经网络模型进行微调。例如,可以改变布隆过滤器的一些参数以使得布隆过滤器可以生成不同数量的特征,类似于调节转换的精简率。另外,还可以例如,利用机器学习算法调整或“学习”神经网络模型的节点之间的连接的权重的至少一部分,以提供更好的输出。
图7是说明根据本发明的一个实施例的使用分类模型对用户进行分类的过程的流程图。过程700可以由包括硬件(例如,电路、专用逻辑等)、软件(例如,被体现在非暂时性的计算机可读介质上)、或其组合的处理逻辑执行。例如,处理700可以由图3A-3B的110执行。参照图7,在框701中,处理逻辑从用户的用户端设备接收搜索查询,其中,搜索查询包括一个或多个关键词。在框702中,处理逻辑获得特征的第一集合,该特征的第一集合至少与搜索查询、用户端设备、和用户信息(例如,用户资料信息、之前的用户浏览历史)相关联。在框703中,处理逻辑对该特征的第一集合应用预定的布隆过滤器以生成特征的第二集合。特征的第二集合是表示特征的第一集合的被精简的特征。
在框704中,处理逻辑通过对特征的第二集合应用预定的神经网络模型确定用户的用户类别。从神经网络模型生成输出,其中,该输出表示与用户相关联的用户类别。输出可以包括表示用户更可能感兴趣接收的信息或内容的类别的分数或值。例如,输出可以表示用户感兴趣接收与神经网络模型和/或布隆过滤器相关联的特定类别的内容的可能性(例如概率)。在框705中,处理逻辑考虑用户的用户类别,基于搜索查询在内容数据库中进行搜索,以生成具有内容项目列表的搜索结果。该内容数据库可以存储与用户类别相关联的某些类型的内容项目(例如,诸如赞助内容或广告的等的被定向的内容)。然后,在框706中,将搜索结果返给用户的用户端设备。
注意,可以对特征应用多个神经网络模型(以及它们的相关联的布隆过滤器),以生成与作为候选类别的多个类别对应的多个输出。可以基于神经网络模型的输出来选择一个或多个最终的候选类别以用于搜索的目的。可以使用不同的神经网络模型和它们相应的布隆过滤器来确定用户对接收多个类别的内容感兴趣。
图8是说明根据本发明的一个实施例的使用分类模型对内容进行分类的过程的流程图。处理800可以由包括硬件(例如,电路、专用逻辑等)、软件(例如,包含在非暂时性的计算机可读介质上)、或其组合的处理逻辑执行。例如,处理800可以由图3A-3B的分类系统110执行。参照图8,在框801中,处理逻辑响应于从用户的用户设备接收的搜索查询,在内容数据库中搜索以识别内容项目的列表。在框802中,对每个内容项目,处理逻辑至少基于内容项目、用户设备、和用户(例如,用户资料、之前的历史)获得特征的第一集合。在框803中,处理逻辑对该特征的第一集合应用布隆过滤器以生成特征的第二集合,它是表示第一集合的被精简的特征的集合。在框804中,处理逻辑通过对特征的第二集合应用预定的神经网络模型来确定内容项目的分数。该分数可以表示该内容项目属于与神经网络模型相关联的特定类别的可能性(例如概率)或可信性(例如可信分数)。在框805中,基于从神经网络模型生成的内容项目的输出对内容项目进行排序。在框806中,将搜索结果发送给用户的用户设备,其中,该搜索结果包括基于神经网络模型的输出被分类的内容项目。
再次注意,可以对特征应用多个神经网络模型(以及它们的相关联的布隆过滤器),以生成与作为候选类别的多个类别对应的多个输出。可以基于神经网络模型的输出来选择一个或多个最终的候选类别以用于排序的目的。可以使用不同的神经网络模型和它们相应的布隆过滤器使内容项目与多个类别相关联,这可能对内容项目如何排序和/或分类有影响。
图9是说明可以与本发明的一个实施例一起使用的数据处理系统的示例的框图。例如,系统1500可以表示执行上述的任一处理或方法的上述的任一数据处理系统,例如,上述的客户端设备或服务器,例如,上述的服务器104、内容服务器133、分类模型训练系统150。
系统1500可以包括许多不同的部件。这些部件可以以下列方式实现:集成电路(IC)、其一部分、分立电子器件、或适合电路板如计算机系统的母板或插入板的其它模块,或以其他方式结合在计算机系统的机箱上的部件。
还要注意,系统1500用来展示计算机系统的很多部件的高级视图。但是,应当理解,在某些实施形式中可以有其它的部件,并且此外,可以在其它实现形式中出现的所示部件的不同配置。系统1500可以表示台式电脑,笔记本电脑、平板电脑、服务器、手机、媒体播放器、个人数字助理(PDA)、智能手表、个人通信装置、游戏机、网络路由器或集线器、无线接入点(AP)或复读机、机顶盒、或其组合。而且,在仅仅说明一个机器或系统时,术语“机器”或“系统”应该被认为包括单独或联合执行一套(或多套)指令以执行在此讨论的任一个或多个方法的机器或系统的任何组合。
在一个实施方式中,系统1500包括:处理器1501、存储器1503和设备1505-1508,它们经由总线或互联1510连接。处理器1501可以表示其中包括一个处理器芯或多个处理器芯的一个处理器或多个处理器。处理器1501可以表示一个或多个一般用途处理器如微处理器、中央处理单元(CPU)等。更具体地,处理器1501可以是复杂指令集计算(CISI)微处理器、精简指令集计算(RISI)微处理器、超长指令字(VLIW)微处理器、或执行其它指令集的处理器、或执行指令集的组合的处理器。处理器1501还可以是一个或多个专门用途处理器如专用集成电路(ASIC)、蜂窝或基带处理器、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器、图形处理器、网络处理器、通信处理器、密码处理器、协同处理器、嵌入的处理器、或可以处理指令的任何其它类型的逻辑。
处理器1501可以是低功率多芯处理器插槽如超低电压处理器,可以用作主处理单元和用来与系统的各种部件通信的中央集线器。该处理器可以作为芯片上的系统(SoC)实现。处理器1501设置成执行用来执行在此讨论的操作和步骤的指令。系统1500还可以包括与非必需的图形子系统1504通信的图形接口,图形子系统1504可以包括显示控制器、图形处理器、和/或显示设备。
处理器1501可以与存储器1503通信,在一个实施方式中存储器1503可以经由多个存储设备实现以提供给定数量的系统存储器。存储器1503可以包括一个或多个易失性存储设备如随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或其它类型的存储设备。存储器1503可以存储包括被处理器1501或任何其它设备执行的指令的序列的信息。例如,多个操作系统、设备驱动器、固件(例如,输入输出基本系统或BIOS)、和/或应用程序的可执行码和/或数据可以加载到存储器1503上,并被处理器1501执行。操作系统可以是任意一种操作系统,例如,来自的/>操作系统、来自苹果的来自/>的/>或诸如VxWorks等的其它实时的或嵌入的操作系统。
系统1500还可以包括IO设备如设备1505-1508,包括网络接口设备1505、非必需的输入设备1506、以及其它非必需的IO设备1507。网络接口设备1505可以包括无线收发器和/或网络接口卡(NIC)。无线收发器可以是WiFi收发器、红外收发器、蓝牙收发器、WiMax收发器、无线手机电话收发器、卫星收发器(例如全球定位系统(GPS)收发器)、或其它射频(RF)收发器、或其组合。NIC可以是以太网卡。
输入设备1506可以包括鼠标、触摸板、触摸敏感屏(可以与显示设备1504整合起来)、指向设备如手写笔、和/或键盘(例如,物理键盘、或作为触摸敏感屏的一部分显示的虚拟键盘)。例如,输入设备1506可以包括与触摸屏连接的触摸屏控制器。触摸屏和触摸屏控制器可以,例如,利用多种触摸敏感技术,包括但不限于电容、电阻、红外、表面声波技术、以及其它近距离传感器阵列或其它用于确定与触摸屏接触的一个或多个点的元件,检测接触和运动或其中断。
IO设备1507可以包括声音设备。声音设备可以包括扬声器和/或麦克风以增强发声功能,如声音辨认、声音复制、数字录音和/或无线语音功能。其它的IO设备1507可以还包括通用串行总线(USB)端口、并行端口、串行端口、打印机、网络接口、总线桥(例如PCI-PCI桥)、传感器(例如运动传感器如加速表、陀螺仪、磁力计、光传感器、罗盘、近距离传感器等)、或其组合。IO设备1507可以还包括图像处理子系统(例如相机),它可以包括用来增强相机功能如记录照片和录像片段的光学传感器如电荷藕合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器。取决于系统1500的具体配置或设计,某些传感器可以经由传感器集线器与互联1510连接,而其它设备如键盘或热传感器可以被嵌入的控制器(未示出)控制。
为了提供信息如数据、应用程序、一个或多个操作系统等的持久存储,可以与处理器1501连接大容量存储器(未示出)。在各种不同的实施方式中,为了实现更薄更轻的系统设计和提高系统响应性,该大容量存储器可以通过固态器件(SSD)实现。但是,在另一些实施方式中,为了实现在断电情况下上下文状态和其它类似信息的非易失性存储,可能主要使用带有用作SSD缓存的小数量SSD存储器的硬盘驱动器(HDD)来实现大容量存储器,从而在系统活动的重启时可以快速通电。而且,可以通过例如串行外设接口(SPI)与处理器1501连接闪存设备。该闪存设备可以提供系统软件包括基本输入输出软件(BIOS)和系统的其它固件的非易失性存储。
存储设备1508可以包括可计算机存取的存储介质1509(也叫做可机读存储介质或可机读介质),其上保存将在此描述的一个或多个方法和功能具体化的一个或多个指令集或软件(例如模块、单元、和/或逻辑1528)。模块/单元/逻辑1528可以表示上面描述的任一个部件,如上面描述的搜索引擎、编码器、交互记录模块。在系统1500驱动的模块/单元/逻辑1528的执行过程中,模块/单元/逻辑1528也可以全部或至少部分地位于存储器1503和/或处理器1501内。存储器1503和处理器1501还构成可机读存储介质。模块/单元/逻辑1528还可以经由网络接口设备1505在网络上收发。
可机读存储介质1509也可以用来持久地保存上面描述的一些软件功能。虽然在示例性实施方式中可机读存储介质1509被展示为单个介质,术语“可机读存储介质”应当被认为包括保存一个或多个指令集的单个或多个介质(例如,集中的或分散的数据库、和/或相关联的缓存和服务器)。术语“可机读存储介质”还应当被认为包括能够保存或编码用于被机器执行的指令集和造成机器执行本发明的任何一个或多个方法的任何介质。因此,术语“可机读存储介质”应当被认为包括但不限于固态存储器、光和磁介质、或任何其它非暂时性可机读介质。
在此描述的模块/单元/逻辑1528、部件和其它特征可以作为分立硬件部件,或集成在硬件部件如ASICS、FPGA、DSP或相似设备的功能中。另外,模块/单元/逻辑1528可以作为固件或硬件设备中的功能电路实现。而且,模块/单元/逻辑1528可以以硬件设备和软件部件的任何组合实现。
注意,虽然系统1500被展示成具有数据处理系统的各种各样的部件,它并非用来表示任何将部件互联的特定的架构或方式,因为这样的细节对本发明的实施方式无关紧要。还应当理解为,具有更少的部件或者可能具有更多的部件的网络电脑、手持电脑、手机、服务器、和/或其它数据处理系统,也可以与本发明的实施方式一起使用。
前面的详细描述的有些部分以对计算机存储器中的数据位的操作的算法或符号表示的方式呈现。这些算法描述和表示是数据处理领域的普通技术人员使用的最有效地向其他普通技术人员传递他们工作的实质内容的方式。算法,在此,通常也是,被认为是导致所期望结果的操作的自洽序列。操作是要求对物理量的物理操控的那些操作。
然而,应当牢记的是,这些和类似术语中的所有术语将与适当的物理量相关联并且仅是应用于这些量的方便标签。除非特别声明,否者如根据上文论述显而易见的是,可以认识到遍及本描述、论述利用诸如下文权利要求中阐述的那些术语来指代计算机系统或类似的电子计算设备的动作和过程,所述动作和过程对计算机系统的寄存器和存储器内的被表示为物理(电子)量的数据进行操控并且将其转变成计算机系统存储器或寄存器或其它这样的信息存储、传输或显示设备内的被类似地表示为物理量的其它数据。
可以使用在一个或多个电子设备上存储和执行的代码来实现附图中示出的技术。这样的电子设备使用计算机可读介质(诸如非暂时性计算机可读存储介质(例如,磁盘;光盘;随机存取存储器;只读存储器;闪存设备、相变存储器)和暂时性计算机可读传输介质(例如,电、光、声或其它形式的传播信号(诸如载波波形、红外信号、数字信号)))来存储和传送(内部地和/或通过网络与其它电子设备)代码和数据。
在先前附图中描绘的处理器或方法可以由包括硬件(例如,电路,专用逻辑单元等)、固件、软件(例如,体现在非暂时性计算机可读介质上的软件)或两者的组合的处理逻辑单元来执行。虽然上文围绕一些顺序操作来描述了过程或方法,但是应当认识到的是,所描述的操作中的一些操作可以以不同的次序来执行。此外,可以并行地而不是顺序地来执行一些操作。
在前述说明书中,已经参照本发明的特定示例性实施例描述了本发明的实施例。显而易见的是,可以在不脱离在下面的权利要求书中阐述的本发明的更广精神和范围的情况下,对实施例进行各种修改。因此,说明书和附图被认为是说明性的而不是限制性的。
Claims (21)
1.一种用于信息检索的计算机实现的方法,所述方法包括:
响应于搜索查询,在内容数据库中执行搜索以基于所述搜索查询识别内容项目的列表;
对所述内容项目中的每个,使用神经网络模型确定所述内容项目的分数;
基于与所述内容项目相关联的分数对所述内容项目进行排序;以及
生成具有基于所述排序分类了的内容项目的搜索结果,
其中,所述神经网络模型通过以下步骤生成:
接收特征的第一集合,所述第一集合中的特征中的每个与预定类别相关联;
对所述特征的第一集合应用布隆过滤器以生成特征的第二集合;
通过对神经网络模型的第一层节点应用所述特征的第二集合来训练神经网络模型,以生成输出,所述神经网络模型包括经由连接相互耦合的多层节点;以及
将所述神经网络模型的所述输出和与所述预定的类别相关联的目标值相比较,以确定所述神经网络模型是否满足预定条件。
2.根据权利要求1的方法,其中:所述特征的第一集合包括第一数量的特征,所述第一数量的特征大于包括在所述特征的第二集合中的第二数量的特征。
3.根据权利要求2的方法,还包括:
响应于确定所述神经网络模型不满足所述预定条件,调整所述布隆过滤器的一个或多个参数;
对所述特征的第一集合应用具有经调整的参数的布隆过滤器以生成特征的第三集合,其中所述特征的第三集合包括与所述第二集合中的所述第二数量的特征不同的第三数量的特征;以及
基于所述特征的第三集合来训练所述神经网络模型。
4.根据权利要求1的方法,其中:所述第二集合中的特征中的每个表示所述第一集合中的两个或两个以上特征的组合。
5.根据权利要求1的方法,其中:使用所基于的神经网络模型确定所述内容项目的分数包括:
获得与所述内容项目相关联的特征的第三集合;
对所述特征的第三集合应用所述布隆过滤器以生成特征的第四集合;以及
对所述特征的第四集合应用所述神经网络模型以生成所述分数。
6.根据权利要求1的方法,还包括:
从用户的用户设备接收搜索查询;
至少基于所述搜索查询,使用所述神经网络模型来确定用户的类别;以及
基于搜索查询和所述用户的类别在内容数据库中执行搜索。
7.根据权利要求6的方法,其中:使用所述神经网络模型来确定用户的类别包括:
基于所述搜索查询、所述用户设备的设备信息和所述用户的用户信息获得特征的第三集合;
对所述特征的第三集合应用所述布隆过滤器以生成特征的第四集合;以及
对所述特征的第四集合应用所述神经网络模型以生成所述用户的所述类别。
8.一种非暂时性的机器可读介质,具有存储于其上的指令,当所述指令由处理器执行时,使得所述处理器执行训练分类模型的操作,所述操作包括:
响应于搜索查询,在内容数据库中执行搜索以基于所述搜索查询识别内容项目的列表;
对所述内容项目中的每个,使用神经网络模型确定所述内容项目的分数;
基于与所述内容项目相关联的分数对所述内容项目进行排序;以及
生成具有基于所述排序分类了的内容项目的搜索结果,
其中,所述神经网络模型通过以下步骤生成:
接收特征的第一集合,所述第一集合中的特征中的每个与预定的类别相关联;
对所述特征的第一集合应用布隆过滤器以生成特征的第二集合;
通过对神经网络模型的第一层节点应用所述特征的第二集合来训练神经网络模型,以生成输出,所述神经网络模型包括经由连接相互耦合的多层节点;以及
将所述神经网络模型的所述输出和与所述预定的类别相关联的目标值相比较,以确定所述神经网络模型是否满足预定的条件。
9.根据权利要求8的非暂时性的机器可读介质,其中:所述特征的第一集合包括第一数量的特征,所述第一数量的特征大于包括在所述特征的第二集合中的第二数量的特征。
10.根据权利要求9的非暂时性的机器可读介质,其中:所述操作还包括:
响应于确定所述神经网络模型不满足所述预定条件,调整所述布隆过滤器的一个或多个参数;
对所述特征的第一集合应用具有经调整的参数的布隆过滤器以生成特征的第三集合,其中所述特征的第三集合包括与所述第二集合中的所述第二数量的特征不同的第三数量的特征;以及
基于所述特征的第三集合训练所述神经网络模型。
11.根据权利要求8的非暂时性的机器可读介质,其中:所述第二集合中的特征中的每个表示所述第一集合中的两个或两个以上特征的组合。
12.根据权利要求8的非暂时性的机器可读介质,其中:使用所基于的神经网络模型确定所述内容项目的分数包括:
获得与所述内容项目相关联的特征的第三集合;
对所述特征的第三集合应用所述布隆过滤器以生成特征的第四集合;以及
对所述特征的第四集合应用所述神经网络模型以生成所述分数。
13.根据权利要求8的非暂时性的机器可读介质,其中:所述操作还包括:
从用户的用户设备接收搜索查询;
至少基于所述搜索查询,使用所述神经网络模型来确定用户的类别;以及
基于搜索查询和所述用户的类别在内容数据库中执行搜索。
14.根据权利要求13的非暂时性的机器可读介质,其中:使用所述神经网络模型来确定用户的类别包括:
基于所述搜索查询、所述用户设备的设备信息和所述用户的用户信息获得特征的第三集合;
对所述特征的第三集合应用所述布隆过滤器以生成特征的第四集合;以及
对所述特征的第四集合应用所述神经网络模型以生成所述用户的所述类别。
15.一种数据处理系统,包括:
处理器;
耦合到所述处理器的存储器,所述存储器存储指令,当所述指令由所述处理器执行时使得所述处理器执行训练分类模型的操作,所述操作包括:
响应于搜索查询,在内容数据库中执行搜索以基于所述搜索查询识别内容项目的列表;
对所述内容项目中的每个,使用神经网络模型确定所述内容项目的分数;
基于与所述内容项目相关联的分数对所述内容项目进行排序;以及
生成具有基于所述排序分类了的内容项目的搜索结果,
其中,所述神经网络模型通过以下步骤生成:
接收特征的第一集合,所述第一集合中的特征中的每个与预定的类别相关联;
对所述特征的第一集合应用布隆过滤器以生成特征的第二集合;
通过对神经网络模型的第一层节点应用所述特征的第二集合来训练神经网络模型,以生成输出所述神经网络模型包括经由连接相互耦合的多层节点;以及
将所述神经网络模型的所述输出和与所述预定的类别相关联的目标值相比较,以确定所述神经网络模型是否满足预定的条件。
16.根据权利要求15的系统,其中:所述特征的第一集合包括第一数量的特征,所述第一数量的特征大于包括在所述特征的第二集合中的第二数量的特征。
17.根据权利要求16的系统,其中:所述操作还包括:
响应于确定所述神经网络模型不满足所述预定条件,调整所述布隆过滤器的一个或多个参数;
对所述特征的第一集合应用具有经调整的参数的布隆过滤器以生成特征的第三集合,其中所述特征的第三集合包括与所述第二集合中的所述第二数量的特征不同的第三数量的特征;以及
基于所述特征的第三集合训练所述神经网络模型。
18.根据权利要求15的系统,其中:所述第二集合中的特征中的每个表示所述第一集合中的两个或两个以上特征的组合。
19.根据权利要求15的系统,其中:使用所基于的神经网络模型确定所述内容项目的分数包括:
获得与所述内容项目相关联的特征的第三集合;
对所述特征的第三集合应用所述布隆过滤器以生成特征的第四集合;以及
对所述特征的第四集合应用所述神经网络模型以生成所述分数。
20.根据权利要求15的系统,其中:所述操作还包括:
从用户的用户设备接收搜索查询;
至少基于所述搜索查询,使用所述神经网络模型来确定用户的类别;以及
基于搜索查询和所述用户的类别在内容数据库中执行搜索。
21.根据权利要求20的系统,其中:使用所述神经网络模型来确定用户的类别包括:
基于所述搜索查询、所述用户设备的设备信息和所述用户的用户信息获得特征的第三集合;
对所述特征的第三集合应用所述布隆过滤器以生成特征的第四集合;以及
对所述特征的第四集合应用所述神经网络模型以生成所述用户的所述类别。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/147,823 | 2016-05-05 | ||
US15/147,823 US11288573B2 (en) | 2016-05-05 | 2016-05-05 | Method and system for training and neural network models for large number of discrete features for information rertieval |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107346326A CN107346326A (zh) | 2017-11-14 |
CN107346326B true CN107346326B (zh) | 2023-10-31 |
Family
ID=60243586
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611072712.XA Active CN107346326B (zh) | 2016-05-05 | 2016-11-29 | 用于信息检索的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11288573B2 (zh) |
CN (1) | CN107346326B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10021051B2 (en) | 2016-01-01 | 2018-07-10 | Google Llc | Methods and apparatus for determining non-textual reply content for inclusion in a reply to an electronic communication |
US10650045B2 (en) | 2016-02-05 | 2020-05-12 | Sas Institute Inc. | Staged training of neural networks for improved time series prediction performance |
US10642896B2 (en) | 2016-02-05 | 2020-05-05 | Sas Institute Inc. | Handling of data sets during execution of task routines of multiple languages |
US10338968B2 (en) | 2016-02-05 | 2019-07-02 | Sas Institute Inc. | Distributed neuromorphic processing performance accountability |
US10650046B2 (en) | 2016-02-05 | 2020-05-12 | Sas Institute Inc. | Many task computing with distributed file system |
US10795935B2 (en) | 2016-02-05 | 2020-10-06 | Sas Institute Inc. | Automated generation of job flow definitions |
US11164119B2 (en) * | 2016-12-28 | 2021-11-02 | Motorola Solutions, Inc. | Systems and methods for assigning roles to user profiles for an incident |
US10970629B1 (en) * | 2017-02-24 | 2021-04-06 | Amazon Technologies, Inc. | Encodings for reversible sparse dimensionality reduction |
CN111264033B (zh) * | 2017-05-03 | 2021-07-20 | 弗吉尼亚科技知识产权有限公司 | 用无线电信号变换器学习无线电信号的方法、系统和装置 |
CN109993298B (zh) * | 2017-12-29 | 2023-08-08 | 百度在线网络技术(北京)有限公司 | 用于压缩神经网络的方法和装置 |
EP3707645A1 (en) * | 2018-02-09 | 2020-09-16 | Deepmind Technologies Limited | Neural network systems implementing conditional neural processes for efficient learning |
US11734567B2 (en) * | 2018-02-13 | 2023-08-22 | Samsung Electronics Co., Ltd. | Method and system for reducing deep neural network architectures |
US11954576B2 (en) | 2018-04-17 | 2024-04-09 | Shenzhen Corerain Technologies Co., Ltd. | Method for implementing and developing network model and related product |
US11574193B2 (en) | 2018-04-28 | 2023-02-07 | Samsung Electronics Co., Ltd. | Method and system for training of neural networks using continuously differentiable models |
US20200026767A1 (en) * | 2018-07-17 | 2020-01-23 | Fuji Xerox Co., Ltd. | System and method for generating titles for summarizing conversational documents |
US11507822B2 (en) * | 2018-10-31 | 2022-11-22 | General Electric Company | Scalable artificial intelligence model generation systems and methods for healthcare |
CN113196298A (zh) * | 2018-12-31 | 2021-07-30 | 英特尔公司 | 用以实现用于处理多种不同类型的数据输入的始终开启上下文传感器集线器的方法和装置 |
US20200293894A1 (en) * | 2019-03-12 | 2020-09-17 | Samsung Electronics Co., Ltd. | Multiple-input multiple-output (mimo) detector selection using neural network |
US11204968B2 (en) | 2019-06-21 | 2021-12-21 | Microsoft Technology Licensing, Llc | Embedding layer in neural network for ranking candidates |
US11397742B2 (en) * | 2019-06-21 | 2022-07-26 | Microsoft Technology Licensing, Llc | Rescaling layer in neural network |
US11671241B2 (en) * | 2019-07-18 | 2023-06-06 | International Business Machines Corporation | Privacy-preserving fast approximate K-means clustering with hamming vectors |
CN112396072B (zh) * | 2019-08-14 | 2022-11-25 | 上海大学 | 基于asic与vgg16的图像分类加速方法及装置 |
CN111079892A (zh) * | 2019-10-30 | 2020-04-28 | 华为技术有限公司 | 深度学习模型的训练方法、装置及系统 |
CN111275190B (zh) * | 2020-02-25 | 2023-10-10 | 北京百度网讯科技有限公司 | 神经网络模型的压缩方法及装置、图像处理方法及处理器 |
CN113114541B (zh) * | 2021-06-15 | 2021-09-14 | 上海兴容信息技术有限公司 | 一种判断网络节点之间能否建立网络连接的方法和系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102016787A (zh) * | 2008-02-25 | 2011-04-13 | 阿迪吉欧有限责任公司 | 确定所关注的域的相关信息 |
US8560539B1 (en) * | 2009-07-29 | 2013-10-15 | Google Inc. | Query classification |
US8756218B1 (en) * | 2011-08-16 | 2014-06-17 | Google Inc. | Query classification based on search engine results |
CN104199972A (zh) * | 2013-09-22 | 2014-12-10 | 中科嘉速(北京)并行软件有限公司 | 一种基于深度学习的命名实体关系抽取与构建方法 |
CN104951428A (zh) * | 2014-03-26 | 2015-09-30 | 阿里巴巴集团控股有限公司 | 用户意图识别方法及装置 |
CN105210064A (zh) * | 2013-03-13 | 2015-12-30 | 谷歌公司 | 使用深度网络将资源分类 |
CN105260429A (zh) * | 2015-09-30 | 2016-01-20 | 河南科技大学 | 一种基于多重布隆过滤器的icn网络信息名字查找方法 |
CN105515997A (zh) * | 2015-12-07 | 2016-04-20 | 刘航天 | 基于bf_tcam实现零范围扩张的高效范围匹配方法 |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6269351B1 (en) * | 1999-03-31 | 2001-07-31 | Dryken Technologies, Inc. | Method and system for training an artificial neural network |
US6304864B1 (en) * | 1999-04-20 | 2001-10-16 | Textwise Llc | System for retrieving multimedia information from the internet using multiple evolving intelligent agents |
AU2438602A (en) * | 2000-10-18 | 2002-04-29 | Johnson & Johnson Consumer | Intelligent performance-based product recommendation system |
WO2005008572A1 (en) * | 2003-07-11 | 2005-01-27 | Computer Associates Think, Inc. | Method and apparatus for automated feature selection |
US8239394B1 (en) * | 2005-03-31 | 2012-08-07 | Google Inc. | Bloom filters for query simulation |
US7743013B2 (en) * | 2007-06-11 | 2010-06-22 | Microsoft Corporation | Data partitioning via bucketing bloom filters |
US20090276385A1 (en) * | 2008-04-30 | 2009-11-05 | Stanley Hill | Artificial-Neural-Networks Training Artificial-Neural-Networks |
US8266506B2 (en) * | 2009-04-18 | 2012-09-11 | Alcatel Lucent | Method and apparatus for multiset membership testing using combinatorial bloom filters |
US20130297581A1 (en) * | 2009-12-01 | 2013-11-07 | Topsy Labs, Inc. | Systems and methods for customized filtering and analysis of social media content collected over social networks |
US9158775B1 (en) * | 2010-12-18 | 2015-10-13 | Google Inc. | Scoring stream items in real time |
GB2499395A (en) * | 2012-02-14 | 2013-08-21 | British Sky Broadcasting Ltd | Search method |
US9292789B2 (en) * | 2012-03-02 | 2016-03-22 | California Institute Of Technology | Continuous-weight neural networks |
US8996530B2 (en) * | 2012-04-27 | 2015-03-31 | Yahoo! Inc. | User modeling for personalized generalized content recommendations |
US9521158B2 (en) * | 2014-01-06 | 2016-12-13 | Cisco Technology, Inc. | Feature aggregation in a computer network |
US10373047B2 (en) * | 2014-02-28 | 2019-08-06 | Educational Testing Service | Deep convolutional neural networks for automated scoring of constructed responses |
US9721021B2 (en) * | 2014-05-27 | 2017-08-01 | Quixey, Inc. | Personalized search results |
US9569522B2 (en) * | 2014-06-04 | 2017-02-14 | International Business Machines Corporation | Classifying uniform resource locators |
WO2015188275A1 (en) * | 2014-06-10 | 2015-12-17 | Sightline Innovation Inc. | System and method for network based application development and implementation |
KR102239714B1 (ko) * | 2014-07-24 | 2021-04-13 | 삼성전자주식회사 | 신경망 학습 방법 및 장치, 데이터 처리 장치 |
US9727459B2 (en) * | 2014-08-22 | 2017-08-08 | Seagate Technology Llc | Non-volatile, solid-state memory configured to perform logical combination of two or more blocks sharing series-connected bit lines |
US9390086B2 (en) * | 2014-09-11 | 2016-07-12 | Palantir Technologies Inc. | Classification system with methodology for efficient verification |
US9985984B1 (en) * | 2014-10-27 | 2018-05-29 | National Technology & Engineering Solutions Of Sandia, Llc | Dynamic defense and network randomization for computer systems |
US10515304B2 (en) * | 2015-04-28 | 2019-12-24 | Qualcomm Incorporated | Filter specificity as training criterion for neural networks |
US10007732B2 (en) * | 2015-05-19 | 2018-06-26 | Microsoft Technology Licensing, Llc | Ranking content items based on preference scores |
-
2016
- 2016-05-05 US US15/147,823 patent/US11288573B2/en active Active
- 2016-11-29 CN CN201611072712.XA patent/CN107346326B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102016787A (zh) * | 2008-02-25 | 2011-04-13 | 阿迪吉欧有限责任公司 | 确定所关注的域的相关信息 |
US8560539B1 (en) * | 2009-07-29 | 2013-10-15 | Google Inc. | Query classification |
US8756218B1 (en) * | 2011-08-16 | 2014-06-17 | Google Inc. | Query classification based on search engine results |
CN105210064A (zh) * | 2013-03-13 | 2015-12-30 | 谷歌公司 | 使用深度网络将资源分类 |
CN104199972A (zh) * | 2013-09-22 | 2014-12-10 | 中科嘉速(北京)并行软件有限公司 | 一种基于深度学习的命名实体关系抽取与构建方法 |
CN104951428A (zh) * | 2014-03-26 | 2015-09-30 | 阿里巴巴集团控股有限公司 | 用户意图识别方法及装置 |
CN105260429A (zh) * | 2015-09-30 | 2016-01-20 | 河南科技大学 | 一种基于多重布隆过滤器的icn网络信息名字查找方法 |
CN105515997A (zh) * | 2015-12-07 | 2016-04-20 | 刘航天 | 基于bf_tcam实现零范围扩张的高效范围匹配方法 |
Non-Patent Citations (3)
Title |
---|
"Membership_classification_using_Integer_Bloom_Filter";Hung-Yu Cheng 等;《2013 IEEEIACIS 12th International Conference on Computer and Information Science》;20130620;第385-390页 * |
"基于深度信念网络的语音服务文本分类";周世超 等;《计算机工程与应用》;20160325;第157-161页 * |
Hung-Yu Cheng 等."Membership_classification_using_Integer_Bloom_Filter".《2013 IEEEIACIS 12th International Conference on Computer and Information Science》.2013,第385-390页. * |
Also Published As
Publication number | Publication date |
---|---|
CN107346326A (zh) | 2017-11-14 |
US11288573B2 (en) | 2022-03-29 |
US20170323199A1 (en) | 2017-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107346326B (zh) | 用于信息检索的方法和系统 | |
CN107103016B (zh) | 基于关键词表示使图像与内容匹配的方法 | |
US10289700B2 (en) | Method for dynamically matching images with content items based on keywords in response to search queries | |
Zamani et al. | Situational context for ranking in personal search | |
US10489448B2 (en) | Method and system for dynamically ranking images to be matched with content in response to a search query | |
US20170308613A1 (en) | Method and system of determining categories associated with keywords using a trained model | |
EP3724785A1 (en) | Fast indexing with graphs and compact regression codes on online social networks | |
US11232147B2 (en) | Generating contextual tags for digital content | |
CN107301195B (zh) | 生成用于搜索内容的分类模型方法、装置和数据处理系统 | |
CN107423535B (zh) | 用于确定用户的医疗状况的方法、装置和系统 | |
US11494204B2 (en) | Mixed-grained detection and analysis of user life events for context understanding | |
JP2013519138A (ja) | アイテム関連付けのための結合埋込 | |
US20180191860A1 (en) | Context management for real-time event awareness | |
US10275472B2 (en) | Method for categorizing images to be associated with content items based on keywords of search queries | |
JP6363682B2 (ja) | 画像とコンテンツのメタデータに基づいてコンテンツとマッチングする画像を選択する方法 | |
US8788516B1 (en) | Generating and using social brains with complimentary semantic brains and indexes | |
US20180189356A1 (en) | Detection and analysis of user life events in a communication ecosystem | |
US20170286522A1 (en) | Data file grouping analysis | |
CN113918807A (zh) | 数据推荐方法、装置、计算设备及计算机可读存储介质 | |
CN107463590B (zh) | 自动的对话阶段发现 | |
CN117009621A (zh) | 信息搜索方法、装置、电子设备、存储介质及程序产品 | |
CN115879508A (zh) | 一种数据处理方法及相关装置 | |
US11157535B2 (en) | Method and system for subject-based ranking considering writer-reader interaction | |
CN107784061B (zh) | 确定基于图像的内容样式的方法和系统及机器可读介质 | |
US20230315742A1 (en) | Computerized smart inventory search methods and systems using classification and tagging |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |