CN108431809A - 使用语义含义向量的跨语言搜索 - Google Patents
使用语义含义向量的跨语言搜索 Download PDFInfo
- Publication number
- CN108431809A CN108431809A CN201680074841.4A CN201680074841A CN108431809A CN 108431809 A CN108431809 A CN 108431809A CN 201680074841 A CN201680074841 A CN 201680074841A CN 108431809 A CN108431809 A CN 108431809A
- Authority
- CN
- China
- Prior art keywords
- semantic meaning
- meaning vector
- item record
- language
- vector
- 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
- 239000013598 vector Substances 0.000 title claims abstract description 289
- 238000000034 method Methods 0.000 claims abstract description 57
- 238000003860 storage Methods 0.000 claims description 52
- 239000002609 medium Substances 0.000 claims description 32
- 238000013459 approach Methods 0.000 claims description 12
- 238000004458 analytical method Methods 0.000 claims description 11
- 239000012120 mounting media Substances 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 3
- 239000000047 product Substances 0.000 description 37
- 238000004891 communication Methods 0.000 description 29
- 230000006870 function Effects 0.000 description 25
- 238000013519 translation Methods 0.000 description 22
- 238000005516 engineering process Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 10
- 238000013528 artificial neural network Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 8
- 238000012549 training Methods 0.000 description 8
- 230000008878 coupling Effects 0.000 description 7
- 238000010168 coupling process Methods 0.000 description 7
- 238000005859 coupling reaction Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 5
- 238000007726 management method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 5
- 238000000926 separation method Methods 0.000 description 5
- 230000001419 dependent effect Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000010845 search algorithm Methods 0.000 description 4
- 241001408627 Agriopis marginaria Species 0.000 description 3
- 230000000712 assembly Effects 0.000 description 3
- 238000000429 assembly Methods 0.000 description 3
- 230000001413 cellular effect Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000004166 bioassay Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000002377 Fourier profilometry Methods 0.000 description 1
- 241000209140 Triticum Species 0.000 description 1
- 235000021307 Triticum Nutrition 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 230000036760 body temperature Effects 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 239000003344 environmental pollutant Substances 0.000 description 1
- 230000008921 facial expression Effects 0.000 description 1
- 125000000524 functional group Chemical group 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 210000004218 nerve net Anatomy 0.000 description 1
- 231100000719 pollutant Toxicity 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000008261 resistance mechanism Effects 0.000 description 1
- 210000001525 retina Anatomy 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 210000004243 sweat Anatomy 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
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/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/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3337—Translation of the query language, e.g. Chinese to English
-
- 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/3347—Query execution using vector based model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
Abstract
公开了基于所记录的成员记录来聚类过程的系统和方法。服务器系统接收第一语言的搜索查询。服务器系统生成与搜索查询相关联的语义含义向量。服务器系统访问与项目记录相关联的多个语义含义向量,其中项目记录中的至少一些不是以第一语言编写的。对于与项目记录相关联的每个相应的语义含义向量,服务器系统将语义含义向量和与搜索查询相关联的语义含义向量相比较,并基于比较选择项目记录。对于所选择的每个项目记录,服务器系统确定该项目记录是否以第一语言编写,并且如果是,则自动将项目记录翻译为第一语言。服务器系统将一个或多个所选择的项目记录发送到客户端系统以供显示。
Description
相关申请的交叉引用
本申请要求于2016年6月10日提交的美国专利申请No.15/179,314的优先权,其要求于2015年12月21日提交的美国临时专利申请No.62/270,489、2016年2月11日提交的美国临时专利申请No.62/293,922以及2016年2月11日提交的美国临时专利申请No.62/294,060的优先权。这些申请通过引用整体并入本文。
技术领域
本公开的实施例总体上涉及跨语言在线搜索,并且更具体地,但非限制性地涉及改进用于跨界搜索用途的实时机器翻译。
背景技术
电子和数字设备技术的兴起迅速改变了社会与媒体进行交互以及消费商品和服务的方式。数字技术使人们能够跨越国界和洲界迅速有效地相互联系。然而,尽管容易进行联系,但语言差异经常妨碍用户有效地交往。一个这样的领域是搜索和商务领域。
语言障碍的一个解决方案是针对通信、搜索、产品列表等的自动机器翻译。但是,这样的翻译需要大量资源,并且翻译结果往往较差。
附图说明
各个所附附图仅示出了本公开示例实施例,并且不可以被认为限制其范围。
图1是示出了根据一些示例实施例的包括基于网络的商务系统的各个功能组件的客户端-服务器系统环境的网络图。
图2是进一步示出了根据一些示例实施例的客户端系统的框图。
图3是进一步示出了根据一些示例实施例的基于网络的商务系统的框图。
图4是示出了根据一些示例实施例的多语言搜索系统的框图。
图5是示出了根据一些示例实施例的用于使用语义含义向量来执行单步搜索和翻译的方法的流程图。
图6A-图6C是示出了根据一些示例实施例的用于使用语义含义向量来执行单步搜索和翻译的方法的流程图。
图7是示出根据一些示例实施例的可以安装在机器上的软件架构的示例的框图。
图8示出了根据示例实施例的具有计算机系统的形式的机器的示图表示,在所述计算机系统中,可以执行一组指令以使所述机器执行本文讨论的方法中的任意一个或多个方法。
具体实施方式
以下描述包括体现所公开主题的说明性示例实施例的系统、方法、技术、指令序列、和计算机器程序产品。在下文的描述中,为了解释的目的,阐述了很多细节以提供对本公开主题的各种示例实施例的理解。然而,本领域技术人员将显而易见的是,本发明主题的实施例可以在没有这些具体细节的情况下实施。一般地,不必详细示出众所周知的指令实例、协议、结构和技术。
基于网络的商务系统允许用户通过计算机网络购买商品和服务。这些商品和服务通常可供许多国家中使用许多不同语言的人们使用。在销售多种产品和服务的基于网络的商务系统中,用户可以使用搜索查询遍历系统以找到他们正在寻找的东西。
然而,如果用户的语言与产品或服务说明所使用的语言不同,则需要翻译搜索查询和说明。例如,系统可以首先将搜索查询翻译成期望的语言,使用翻译后的搜索查询执行对该语言的项目记录的搜索,然后将该项目记录(例如,产品列表)翻译成用户的原始语言以供显示。这种系统涉及多个翻译步骤,每个步骤都会给系统带来额外的复杂性。
相反,基于网络的商务系统接收第一语言的搜索查询。基于网络的商务系统将搜索查询转换为语义含义向量,而不是将查询翻译成另一种语言。
每个语义含义向量由代表搜索查询的一个或多个属性的多个值构成。转换是通过已建立的模型来完成的,该模型已经使用人工智能技术(例如,神经网络等)和过去的用户数据进行训练,以创建从搜索查询准确创建语义含义向量的模型。
在一些示例实施例中,当产品被列在基于网络的商务系统中时,基于网络的商务系统使用训练模型将每个项目记录转换成语义含义向量,并将语义含义向量存储在基于网络的商务系统处的语义含义向量数据库中,而不考虑项目记录的原始语言。
因此,当接收到搜索查询时,将搜索查询转换成语义含义向量并且将其与关联到项目记录的语义含义向量数据库进行比较。然后,基于网络的商务系统基于与项目记录相关联的每个语义含义向量和搜索查询的语义含义向量之间的匹配程度来对与项目记录相关联的每个语义含义向量进行打分或排序。在一些示例实施例中,可以计算距离得分。
在一些示例实施例中,与项目记录相关联的语义含义向量数据库被组织成一个或多个主题分组,并且基于网络的商务系统仅选择一个主题分组来与搜索查询进行比较(以防止太多不必要的计算)。与搜索查询相关联的语义含义向量仅和与项目记录相关联的语义含义向量的有限集合进行比较。
当一个或多个项目记录被识别为搜索查询的最佳匹配(基于比较每个项目记录的语义含义向量),基于网络的商务系统确定该项目记录是否使用与搜索查询相同的语言。对于被确定为具有与搜索查询不同的语言的任何项目记录,基于网络的商务系统将该项目记录翻译成适当的语言。
然后将所有项目记录发送到客户端(例如,与提交搜索查询的用户相关联的计算机系统)以供显示。在一些示例实施例中,用户选择并购买返回结果中的一个。在一些示例实施例中,然后使用该购买事件来进一步改善创建搜索查询和项目记录的语义含义向量的模型。
图1是示出了根据一些示例实施例的包括基于网络的商务系统120的各个功能组件的客户端-服务器系统环境100的网络图。客户端-服务器系统环境100至少包括客户端系统102和基于网络的商务系统120。一个或多个通信网络110将这些组件互连。通信网络100可以是各种网络类型中的任何一种,包括局域网(LAN)、广域网(WAN)、无线网、有线网、互联网、个人域网(PAN)或这些网络的组合。
在一些示例实施例中,客户端系统102是电子设备,诸如个人计算机(PC)、膝上型电脑、智能电话、平板电脑、移动电话或任何其他能够与通信网络110通信的电子设备。客户端系统102包括由客户端系统102执行的一个或多个客户端应用104。在一些示例实施例中,客户端应用104包括由搜索应用、通信应用、生产力应用、游戏应用、文字处理应用或任何其他有用的应用组成的组中的一个或多个应用。客户端应用104包括网络浏览器。客户端系统102使用网络浏览器向基于网络的商务系统120发送请求以及从基于网络的商务系统120接收请求,并显示从基于网络的商务系统120接收的信息。
在一些示例实施例中,客户端系统102包括专门定制用于与基于网络的商务系统120进行通信的应用(例如,iPhone应用)。在一些示例实施例中,基于网络的商务系统120是与一个或多个服务相关联的系统。
在一些示例实施例中,客户端系统102向基于网络的商务系统120发送请求,请求与基于网络的商务系统120相关联的网页。例如,用户使用客户端系统102登录到基于网络的商务系统120,并向基于网络的商务系统120提交搜索查询。作为响应,基于网络的商务系统120产生搜索结果的列表(例如,匹配搜索查询的一个或多个项目记录),并向客户端系统102返回项目记录。客户端系统102接收项目记录数据(例如,描述一个或多个产品的数据),并将该数据显示在客户端系统102的用户界面中。
在一些示例实施例中,如图1所示,基于网络的商务系统120通常基于三层结构,由前端层、应用逻辑层和数据层组成。相关计算机和互联网领域中的技术人员可以理解,图1中示出的每个模块或引擎表示一组可执行软件指令的和用于执行指令的相应硬件(例如,存储器和处理器)。为了避免不必要的细节,在图1中省略了对理解各种示例实施例来讲并不密切相关的各个模块和引擎。然而,本领域技术人员将容易地认识到,各个附加功能模块和引擎可以与基于网络的商务系统120一起使用,诸如图1所示的那样,以促进在本文中没有特别描述的附加功能。此外,在各种布置中,图1中示出的各个功能模块和引擎可以驻留在单个服务器计算机上,或者可以分布在若干服务器计算机之间。而且,尽管在图1中被描绘为三层结构,但是各种示例实施例并不限于该结构。
如图1所示,前端由接口模块(例如,网络服务器)122组成,该接口模块122从各个客户端系统102接收搜索并将搜索结果传送给适当的客户端系统102。在一些示例实施例中,接口模块122实现单个应用程序接口(API),所有客户端系统102使用该单个应用程序接口来发送搜索查询并接收搜索结果。
如图1所示,数据层包括若干数据库,包括用于存储基于网络的商务系统120的用户的各种数据的数据库,各种数据包括历史交易数据130和列表向量数据134。
在一些示例实施例中,历史交易数据130包括描述以下各项的数据:过去用户购买的数据、用户输入的用于发起购买的搜索查询、显示给用户的搜索结果、以及与特定交易相关的任何其他数据。在一些示例实施例中,基于网络的商务系统120使用历史交易数据130来开发用于从项目记录和搜索查询创建语义含义向量的模型。在一些示例实施例中,历史交易数据130还包括每个搜索查询和项目记录的语言,使得基于网络的商务系统120将搜索查询与不同语言的项目记录相关联。
在一些示例实施例中,列表向量数据包括语义含义向量数据库,其中每个语义含义向量与特定项目记录相关联。在一些示例实施例中,语义含义向量包括由计算机学习模型生成的一系列值(例如,可能是数百个值)。在一些示例实施例中,数据库基于用于响应用户搜索查询的数据(例如,用于查找搜索结果的索引)、以及表示过去的搜索查询和在显示搜索结果之后产生的任何用户交互(例如,用户点击)的数据来组织。因此,基于网络的商务系统120可以使用存储的关于搜索结果的数据来识别哪些搜索词条导致对特定项目记录的点击和购买。
在一些示例实施例中,列表向量数据134被组织成类别、组、产品分类等。以这种方式,基于网络的商务系统120可以将搜索限制到特定的产品类别以提高效率。
基于网络的商务系统120可以提供广泛的其他应用和服务,使得用户有机会购买和出售物品、共享和接收通常根据用户的兴趣定制的信息等。
在一些示例实施例中,应用逻辑层包括各种应用服务器模块,这些模块结合接口模块122,接收来自各种各样的客户端系统(102)的用户搜索查询并将搜索结果返回给这些客户端系统102。
在一些示例实施例中,也可以在应用逻辑层中包括向量生成模块124和向量匹配模块126。当然,利用向量生成模块124和向量匹配模块126的其他应用或服务可以分别在它们自己的应用服务器模块中实现。
如图1所示,在一些示例实施例中,向量生成模块124和向量匹配模块126被实现为结合各种应用服务器模块进行操作的服务。例如,任何数量的单独应用服务器模块都可以调用向量生成模块124和向量匹配模块126的功能。然而,在各种备选示例实施例中,向量生成模块124和向量匹配模块126可以被实现为它们自己的应用服务器模块,使得它们作为独立应用来运行。
通常,向量生成模块124接收包括搜索查询的搜索请求。在一些示例实施例中,向量生成模块124将接收到的搜索查询转换为语义含义向量。在一些示例实施例中,语义含义向量基于使用历史交易数据130训练的模型而生成,以确定各个项目记录和搜索查询的通用属性。在一些示例实施例中,随着新交易的发生,向量生成模块124更新模型以并入新数据。在一些示例实施例中,模型能够将不同语言的项目记录和搜索查询转换成通用语义含义向量,使得可以在不考虑它们的语言的情况下将它们进行比较。
类似地,当从客户端系统102接收到新的项目记录时,向量生成模块124创建该项目记录的语义含义向量。然后将新创建的语义含义向量存储在列表记录向量数据134中。在一些示例实施例中,向量生成模块124确定与项目记录相关联的产品类别并且基于产品类别来组织列表向量数据134中的关联语义含义向量。
在一些示例实施例中,列表向量数据134具有已建立的产品类别层次结构,并且每个项目记录被放置在层次结构的一个或多个类别中。
向量匹配模块126使用向量生成模块124针对特定搜索查询创建的语义含义向量来在列表向量数据134查找该搜索查询的匹配。在一些示例实施例中,向量匹配模块126将搜索查询的语义含义向量与存储在列表向量数据中的每个语义含义向量进行比较,并且生成每个语义含义向量的匹配得分。
在一些示例实施例中,向量匹配模块126生成两个语义含义向量之间的距离得分(其中距离得分表示两个语义向量之间的相似度)。然后,向量匹配模块126基于相关联的得分对每个项目记录语义含义向量进行排序。
在一些示例实施例中,向量匹配模块126确定所需的项目记录结果的特定数量,并且基于排序选择该数量的项目记录语义含义向量。对于所选择的每个语义含义向量,向量匹配模块126接收相关联的项目记录,并且如果需要,将项目记录翻译成提交搜索查询的用户的语言(例如,翻译成搜索查询使用的语言或翻译成由提交搜索查询的用户指示的另一种语言)。
在一些示例实施例中,然后,所选择的项目记录被发送到客户端系统102以供显示。
图2是进一步示出了根据一些示例实施例的客户端系统102的框图。客户端设备102通常包括一个或多个中央处理单元(CPU)202、一个或多个网络接口210、存储器212和用于互连这些组件的一个或多个通信总线214。客户端设备102包括用户接口204。用户接口204包括显示设备206,并且可选地包括诸如键盘、鼠标、触敏显示器或其他输入装置的输入设备208。此外,一些客户端设备102使用麦克风和语音识别来补充或替代其他输入设备。
存储器212包括诸如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、双数据速率随机存取存储器(DDR RAM)或其他随机存取固定存储设备等的高速随机存取存储器;并且可以包括诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备等的非易失性存储器。存储器212可以可选地包括远离CPU 202的一个或多个存储设备。存储器212(或者备选地,存储器212内的非易失性存储设备)包括非暂时性计算机可读存储介质。
在一些示例实施例中,存储器212或存储器212的计算机可读存储介质存储以下程序、模块和数据结构或其子集:
●操作系统216,包括用于处理各种基本系统服务和用于执行硬件相关任务的过程;
●网络通信模块218,用于经由一个或多个网络接口210(有线或无线)和一个或多个通信网络110(比如,互联网、其它WAN、LAN、MAN等)来将客户端系统102耦合到其它计算机;
●显示模块220,用于使操作系统216和客户端应用104生成的信息能够可视地呈现在显示设备206上;
●一个或多个客户端应用模块222,用于处理与基于网络的商务系统(例如,图1中的系统120)交互的各个方面,包括但不限于:
ο浏览器应用224,用于向与基于网络的商务系统120相关联的网络服务请求信息(例如,内容项目和项目记录)并且从与基于网络的商务系统120相关联的网络服务接收响应;以及
·客户端数据模块230,用于存储关于客户端的数据,包括但不限于:
ο客户端简档数据232,用于存储关于与客户端系统102相关联的基于网络的商务系统120的用户的简档数据。
图3是进一步示出了根据一些示例实施例的基于网络的商务系统120的框图。基于网络的商务系统120通常包括一个或多个CPU 302、一个或多个网络接口310、存储器306和用于互连这些组件的一个或多个通信总线308。存储器306包括诸如DRAM、SRAM、DDR RAM或其他随机存取固态存储设备等的高速随机存取存储器;并且可以包括诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备或其他非易失性固态存储设备等的非易失性存储器。存储器306可以可选地包括远离CPU 302的一个或多个存储设备。
存储器306(或者备选地,存储器306内的非易失性存储设备)包括非暂时性计算机可读存储介质。在一些示例实施例中,存储器306或存储器306的计算机可读存储介质存储以下程序、模块和数据结构或其子集:
●操作系统314,包括用于处理各种基本系统服务和用于执行硬件相关任务的过程;
●网络通信模块316,用于经由一个或多个通信网络接口310(有线或无线)和一个或多个通信网络110(比如,互联网、其它WAN、LAN、MAN等)来将基于网络的商务系统120耦合到其它计算机;
●一个或多个服务器应用模块318,被配置为执行基于网络的商务系统120提供的服务,包括但不限于:
ο向量生成模块124,用于将搜索查询和项目记录转换为语义含义向量,基于历史交易数据130训练向量生成模型,以及从客户端系统(例如,图1中的客户端系统102)接收项目记录和搜索查询;
ο向量匹配模块126,用于将与接收到的搜索查询相关联的语义含义向量和存储在列表向量数据134中的与项目记录相关联的多个语义含义向量进行比较,并且基于该比较选择最佳匹配的项目记录;
ο接收模块322,用于经由客户端系统(例如,图1中的客户端系统102)从用户接收搜索查询和项目记录;
ο列表模块324,用于基于用户提交的信息来创建项目记录以便经由基于网络的商务系统120销售产品;
ο翻译模块326,用于自动将项目记录从第一语言翻译为第二语言;
ο语言确定模块328,用于确定项目记录的语言是否与提交的搜索查询的语言相同;
ο排序模块330,用于基于项目记录的每个语义含义向量和搜索查询的语义含义向量的匹配程度来对项目记录的每个语义含义向量进行排序;
ο选择模块332,用于基于与每个项目记录相关联的语义含义向量的排序来选择一个或多个项目记录;
ο传输模块334,用于将所选择的项目记录发送到客户端系统(例如,图1中的客户端系统102)以供显示;以及
ο距离模块336,用于基于确定两个向量之间的距离的计算来确定两个语义含义向量之间的相似度;以及
●服务器数据模块340,存储与基于网络的商务系统120相关的数据,包括但不限于:
ο历史交易数据130,包括描述过去的交互(例如,销售和/出价)的数据以及关于这些交互的信息,包括用于发起交易的搜索查询、显示的搜索结果以及用户在完成交易之前点击的项目记录;以及
ο列表向量数据134,用于存储多个项目记录的语义含义向量,该语义含义向量将在与另一种语言的搜索查询进行匹配时使用。
图4是进一步示出了根据一些示例实施例的多语言搜索系统400的框图。根据一些示例实施例,用户经由网络与多语言搜索系统400连接。用户提交第一语言的搜索查询410。
在一些示例实施例中,多语言搜索系统400是基于网络的商务系统(例如,图1中的系统120)的组件并接收来自用户402的搜索查询。在一些示例实施例中,向量生成模块124接收搜索查询。向量生成模块124创建搜索查询的语义含义向量412,而不是将搜索查询翻译为一种或多种其他语言。
在一些示例实施例中,向量生成模块124包括将查询映射到语义含义向量的模型。在一些示例实施例中,使用历史交易数据130来训练模型。在一些示例实施例中,使用诸如决策树学习、人工神经网络和深度学习技术、支持向量机、贝叶斯网络等的计算机学习技术来构建模型本身。
例如,向量生成模块124识别第一语言的搜索和第二语言的项目记录(例如,产品)的购买之间的所有历史交易。
在一些示例实施例中,在向量生成模块124创建搜索查询410的语义含义向量412之后,该语义含义向量412被传输到向量匹配模块126。
在一些示例实施例中,向量匹配模块126分析存储在列表向量数据134中且与一个或多个项目记录相关联的多个语义含义向量,以识别匹配从搜索查询410创建的语义含义向量412的一个或多个语义含义向量。在一些示例实施例中,每个语义含义向量412包括多个值,并且向量匹配模块126创建表示与项目记录相关联的各个语义含义向量和与搜索查询410相关联的语义含义向量412之间的相似度的得分。
在评估了列表向量数据134中的所有语义含义向量412之后,向量匹配模块126基于生成的得分从列表向量数据134中选择一个或多个语义含义向量412。然后,与所选择的语义含义向量412相关联的项目记录被发送到机器翻译模块408。在一些示例实施例中,机器翻译模块408确定所选择的项目记录中的哪一个(如果有的话)的语言不同于与搜索查询410相关联的语言。
如果所选择的项目记录中任一个的语言被确定为不同于搜索查询410的语言,则机器翻译模块408自动将项目记录从它们的原始语言(例如,它们被提交的语言)翻译为搜索查询410的语言。然后,翻译后的项目记录414被发送到客户端系统(例如,图1中的客户端系统102)。
图5是示出了根据一些示例实施例的用于使用语义含义向量来执行单步搜索和翻译的方法500的流程图。图5所示的每个操作可以对应于存储在计算机存储器或计算机可读存储介质中的指令。在一些实施例中,图5中描述的方法500由基于网络的商务系统(例如,图1中的系统120)执行。然而,方法500也可以由电子硬件的任何其它合适的配置来执行。
在一些实施例中,方法500在包括基于网络的商务系统(例如,图1中的系统120)处执行,基于网络的商务系统包括一个或多个处理器和存储器,存储器存储用于由一个或多个处理器执行的一个或多个程序。
在一些示例实施例中,基于网络的商务系统(例如,图1中的系统120)从客户端系统(例如,图1中的客户端系统102)接收(502)搜索查询(例如,搜索查询410)。搜索查询具有相关联的第一语言(例如,编写搜索查询的语言)。
在一些示例实施例中,基于网络的商务系统(例如,图1中的系统120)基于过去的购买数据,使用计算机学习模型来创建模型。在一些示例实施例中,使用深度学习或神经网络学习方法来创建模型。在一些示例实施例中,基于网络的商务系统(例如,图1中的系统120)使用模型来创建(504)与搜索查询相关联的语义含义向量(例如,语义含义向量412)。例如,基于网络的商务系统(例如,图1中的系统120)创建了一个模型,该模型使用搜索查询的文本来生成语义含义向量。语义含义向量是表示多维向量空间中的搜索查询或项目记录的位置(例如,其中位置是基于语义含义的)的一系列数字。
在一个非常简单的示例中,对于(x,y)值在0到1之间的二维空间,对模型进行训练以表示二维空间中具有不同语义含义的不同区域。然后,每个项目记录和搜索查询可以被模型映射到特定的(x,y)对。然后,基于网络的商务系统(例如,图1中的系统120)通过计算(x,y)空间中两点之间的距离来确定搜索查询与项目记录之间的相似度。
一般地,语义含义向量将被映射到数百维的向量中,使得模型可以表示非常复杂的语义含义。
在一些示例实施例中,模型使用过去的搜索查询的全部语料库以及与它们所导致的购买相关联的项目记录来识别查询和项目记录之间的语义关系。在一些示例实施例中,关系可以基于词条的共同出现频率(例如,在足够大的文档体量下,确定哪些词条在相同文档中出现,可以使模型有效地生成语义含义向量)。在一些示例实施例中,词条的重要性通过逆词频得分进行加权。
在其他示例实施例中,通过使用神经网络确定语义相关性来训练模型。在该示例中,神经网络接收输入(例如,关于搜索查询或项目记录的各种数据,包括文本、发送时间、位置源等)。这些输入中的每一个被赋予一个权重并传递给多个隐藏节点。隐藏节点交换信息(赋予的权重),以产生输出。在一些示例实施例中,存在若干个隐藏节点层。这种情况下的输出是多维向量。例如,第一个语义含义向量可以包括smv1=(v1,v2,v3,v4,...,vn)中的值的列表。
在一些示例实施例中,使用现有数据(例如,与成功购买匹配的搜索查询)来训练模型,并且神经网络学习算法自适应地调整权重以产生匹配现有记录的查询和项目记录的语义含义向量。在一些示例实施例中,当发生新交易时,使用新数据来更新模型。
在一些示例实施例中,语义含义向量也使用其他变量来创建搜索查询的语义含义向量,其他变量包括提交用户的特征和历史、搜索查询的时间和位置等。
在生成了搜索查询的语义含义向量之后,基于网络的商务系统(例如,图1中的系统120)将搜索查询的语义含义向量和与多个项目记录相关联的语义含义向量(例如,每个项目记录都具有存储在基于网络的商务系统(例如,图1中的系统120)的数据库中的相关联的语义含义向量)相比较(506)。
在一些示例实施例中,基于网络的商务系统(例如,图1中的系统120)计算两个语义含义向量之间的相似度得分或接近度得分。在一些示例实施例中,相似度得分是n维欧氏(Euclidean)距离。在其他示例实施例中,可以使用切比雪夫(Chebyshev)距离、汉明(Hamming)距离、马氏(Mahalanobis)距离、曼哈顿(Manhattan)距离、闵可夫斯基(Minkowski)距离、哈维辛(Haversine)距离或任何其他适当的距离计算来计算得分。
在一些示例实施例中,基于网络的商务系统(例如,图1中的系统120)从存储在基于网络的商务系统(例如,图1中的系统120)的多个项目记录中选择(508)一个或多个项目记录。至少部分地基于所确定的与项目记录相关联的语义含义向量的相似度得分或接近度得分来选择项目记录。如上所述,可以使用各种算法来计算两个向量之间的距离。计算具有总共t个向量值的两个向量之间的相似度的一个具体示例如下(但是,如上所述,可以使用许多不同的算法):
因此,计算具有总共t个向量值的查询语义含义向量和项目记录语义含义向量之间的相似度。该计算会产生一个值。查询与项目记录对的这个值越低,则在向量空间中,查询与项目记录被确定为越接近。
在一些示例实施例中,项目记录数据库包括来自多种不同语言的项目记录。语义含义向量使语言之间的含义标准化。因此,一旦确定了一个或多个项目记录,基于网络的商务系统(例如,图1中的系统120)在必要时将项目记录翻译(510)为第一语言。以这种方式,第一用户可以使用他们的语言提交搜索查询,并获得其他语言的产品的结果。
一旦项目记录被翻译为适当的语言,基于网络的商务系统(例如,图1中的系统120)将翻译后的项目记录发送(512)到客户端系统(例如,图1中的客户端系统102)以供显示。
图6A是示出了根据一些示例实施例的用于使用语义含义向量来执行单步搜索和翻译的方法的流程图。图6A所示的每个操作可以对应于存储在计算机存储器或计算机可读存储介质中的指令。可选操作由虚线(例如,具有虚线边框的框)来指示。在一些实施例中,图6A中描述的方法由基于网络的商务系统(例如,图1中的系统120)执行。然而,所述方法也可以由电子硬件的任何其它合适的配置来执行。
在一些实施例中,方法600在包括基于网络的商务系统(例如,图1中的系统120)处执行,基于网络的商务系统包括一个或多个处理器和存储器,存储器存储用于由一个或多个处理器执行的一个或多个程序。
在一些示例实施例中,基于网络的商务系统(例如,图1中的系统120)接收(602)项目记录,以便将其包含在基于网络的商务系统(例如,图1中的系统120)中。项目记录是要在基于网络的商务系统(例如,图1中的系统120)上出售的产品的描述。描述可以包括标题、产品规格和特征、图像以及任何其他相关信息。
大型的基于网络的商务系统(例如,图1中的系统120)可以使其服务能被许多国家的用户使用,使得用户说许多种语言。因此,项目记录可能是几乎用任何语言编写的。为了使项目记录标准化,基于网络的商务系统(例如,图1中的系统120)(604)生成接收到的项目记录的语义含义向量。如上所述,语义含义向量是表示项目记录特征的一系列数字(或值)。在一些示例实施例中,基于网络的商务系统(例如,图1中的系统120)使用过去的交易数据并结合计算机学习技术(例如,神经网络)来创建将会生成项目记录和搜索查询的语义含义向量的模型。在一些示例实施例中,每种可能的语言都有一个模型。因此,任何项目记录或搜索查询都将被转换为可以进行比较的语义含义向量,而不用考虑源语言。
如上所述,通过使用以任何适当方法(上述示例使用神经网络)训练的模型,项目记录和搜索查询被转换为语义含义向量,该模型使用与查询或项目记录相关联的数据作为输入并生成n维(往往数百维)的语义含义向量。通过使用大量已完成的交易数据,其中至少一些交易包括以第一语言进行、并且最终导致针对以第二语言创建的项目记录的项目的完成交易的搜索,可以训练模型,将第一语言的查询与第二语言的项目记录相关联。一旦产生了这样的模型(例如,使用训练数据来调整神经网络的输入权重和隐藏权重以产生准确的语义含义向量),第一语言的搜索查询可以被转换成可以与第二语言的语义含义向量进行比较的语义含义向量,而无需翻译查询或项目记录。
在一些示例实施例中,基于网络的商务系统(例如,图1中的系统120)分析(606)与语义含义向量相关联的项目记录以识别与语义含义向量相关联的产品类别。例如,如果产品是一双鞋,则基于网络的商务系统(例如,图1中的系统120)可以将产品分类为鞋类。如以下所讨论的,具有与每个项目记录和语义含义向量相关联的产品类别可以提高搜索效率。
在一些示例实施例中,基于对搜索查询的分析来确定产品类别。例如,基于网络的商务系统(例如,图1中的系统120)包括词条和匹配的产品类别的数据库。在其他示例实施例中,用户在提交搜索查询时选择特定产品类别。在其他示例实施例中,首先将搜索查询的语义含义向量与表示多个产品类别的一系列语义含义向量进行比较。将最接近的匹配(例如,使用上述算法)确定为与该查询相关联的产品类别。
在一些示例实施例中,基于网络的商务系统(例如,图1中的系统120)组织(608)数据库,使得每个语义含义向量与所确定的产品类别相关联。
在一些示例实施例中,基于网络的商务系统(例如,图1中的系统120)将语义含义向量存储(610)在基于网络的商务系统(例如,图1中的系统120)的数据库中。因此,每个项目记录由数据库中的语义含义向量来表示。在一些示例实施例中,按产品组织数据库。
应该注意的是,操作602-610描述了创建内容项目向量的数据库和创建被训练为产生搜索查询和项目内容记录的语义含义向量的模型的过程。这些步骤可以在收到需要模型和数据库的查询之前的任何时候脱机执行。因此,尽管图6A示出了操作612紧接在操作610之后,但是这两个操作之间可能存在大量时间。
操作612是响应于接收到搜索查询而实时生成语义含义向量的一部分。因此,操作602-610中表示的步骤将在实时语义含义向量生成之前的某个时间点完成,但不必事到当前才完成。
在一些示例实施例中,基于网络的商务系统(例如,图1中的系统120)从客户端系统(例如,图1中的客户端系统102)接收(612)第一语言的搜索查询。在一些示例实施例中,用户以其所偏好的语言的文本来提交搜索查询。在一些示例实施例中,基于网络的商务系统(例如,图1中的系统120)基于文本、搜索查询的来源地和用户特征自动地检测搜索查询的语言。
在一些示例实施例中,基于网络的商务系统(例如,图1中的系统120)生成(614)与搜索查询相关联的语义含义向量。如上所述,基于网络的商务系统(例如,图1中的系统120)使用利用诸如神经网络的机器学习算法训练的模型。该训练使用来自基于网络的商务系统(例如,图1中的系统120)的历史数据(例如,购买和点击以及发起这些交互的搜索查询)。在一些示例实施例中,每种语言使用语言特定模型来生成语义含义向量。
在其他示例实施例中,针对每一源语言/目标语言对来使用不同的模型。因此,如果支持三种语言(语言A、语言B和语言C),则可能有六种模型(例如,一种模型将语言A的查询匹配到语言B的项目记录、一种模型将语言A的查询匹配到语言C的项目记录、一种模型将语言B的查询匹配到语言A的项目记录,诸如此类)。
在一些示例实施例中,基于网络的商务系统(例如,图1中的系统120)识别(616)与搜索查询相关联的第一语言。
图6B是进一步示出了根据一些示例实施例的用于使用语义含义向量来执行单步搜索和翻译的方法600的流程图。图6B所示的每个操作可以对应于存储在计算机存储器或计算机可读存储介质中的指令。可选操作由虚线(例如,具有虚线边框的框)来指示。在一些实施例中,图6B中描述的方法由基于网络的商务系统(例如,图1中的系统120)执行。然而,所述方法也可以由电子硬件的任何其它合适的配置来执行。
在一些实施例中,方法600在包括基于网络的商务系统(例如,图1中的系统120)处执行,基于网络的商务系统包括一个或多个处理器和存储器,存储器存储用于由一个或多个处理器执行的一个或多个程序。
在一些示例实施例中,基于网络的商务系统(例如,图1中的系统120)选择(618)与识别出的第一语言相关联的语义含义向量生成模型。然后,基于网络的商务系统(例如,图1中的系统120)使用所选择的语义含义向量生成模型来生成搜索查询的语义含义向量。
在一些示例实施例中,基于网络的商务系统(例如,图1中的系统120)访问(622)与多个项目记录相关联的多个语义含义向量,其中项目记录中的至少一些不是用第一语言编写的。例如,基于网络的商务系统(例如,图1中的系统120)存储与用户提交项目记录时创建的每个物品项目相关联的语义含义向量数据库。
在一些示例实施例中,以多种不同语言编写项目记录。在一些示例实施例中,项目记录可以包括使用任何语言的内容。
在一些示例实施例中,访问与项目记录相关联的多个语义含义向量包括:基于网络的商务系统(例如,图1中的系统120)分析(624)搜索查询以识别与搜索查询相关联的一个或多个产品类别。例如,可以基于搜索查询的文本来分析搜索查询,以缩小搜索范围。
例如,基于网络的商务系统(例如,图1中的系统120)访问(626)与识别出的一个或多个产品类别相关联的语义含义向量。以这种方式,基于网络的商务系统(例如,图1中的系统120)可以限制执行搜索时需要考虑的语义含义向量的数量。
在一些示例实施例中,对于与项目记录相关联的每个相应的语义含义向量,基于网络的商务系统(例如,图1中的系统120)将相应的语义含义向量和与搜索查询相关联的语义含义向量相比较(628)。比较是为了确定哪些项目记录与搜索查询最匹配。
在一些示例实施例中,将相应的语义含义向量和与搜索查询相关联的语义含义向量相比较还包括:基于网络的商务系统(例如,图1中的系统120)计算(630)与搜索查询相关联的语义含义向量和相应的语义含义向量之间的接近度得分。
图6C是示出了根据一些示例实施例的用于使用语义含义向量来执行单步搜索和翻译的方法600的流程图。图6C所示的每个操作可以对应于存储在计算机存储器或计算机可读存储介质中的指令。可选操作由虚线(例如,具有虚线边框的框)来指示。在一些实施例中,图6C中描述的方法由基于网络的商务系统(例如,图1中的系统120)执行。然而,所述方法也可以由电子硬件的任何其它合适的配置来执行。
在一些实施例中,方法600在包括基于网络的商务系统(例如,图1中的系统120)处执行,基于网络的商务系统包括一个或多个处理器和存储器,存储器存储用于由一个或多个处理器执行的一个或多个程序。
在一些示例实施例中,基于网络的商务系统(例如,图1中的系统120)基于相关联的接近度得分对多个语义含义向量进行排序(632)。因此,最相关(或者在语义含义向量方面接近)的语义含义向量排在最前面。
在一些示例实施例中,基于网络的商务系统(例如,图1中的系统120)基于与项目记录相关联的语义含义向量和与搜索查询相关联的语义含义向量之间的比较来选择(634)一个或多个项目记录。在一些示例实施例中,至少部分地基于与每个语义含义向量相关联的排序来选择一个或多个项目记录。以这种方式,选择最相关的项目记录。
对于所选择的每个相应的项目记录,基于网络的商务系统(例如,图1中的系统120)确定(636)相应的项目记录是否以第一语言编写。例如,基于网络的商务系统(例如,图1中的系统120)确定搜索查询的语言(例如,语言1)和相应的项目记录的语言,并比较搜索查询的语言和相应的项目记录的语言。
根据确定相应的项目记录不是用第一语言编写的,基于网络的商务系统(例如,图1中的系统120)自动地将相应的项目记录翻译(638)为第一语言。如果相应的项目记录是用第一语言编写的,除非用户另有指示,否则不需要这种翻译。
然后,基于网络的商务系统(例如,图1中的系统120)将一个或多个所选择的项目记录发送(640)到客户端系统(例如,图1中的客户端系统102)以供显示。
模块、组件和逻辑
某些实施例在本文中被描述为包括逻辑或多个组件、模块或机构。模块可以构成软件模块(例如,机器可读介质上体现的代码)或硬件模块。“硬件模块”是能够执行某些操作的有形单元,并且可以按照某种物理方式配置或布置。在各种示例实施例中,一个或多个计算机系统(例如独立的计算机系统、客户端计算机系统或服务器计算机系统)或者计算机系统的一个或多个硬件模块(例如处理器或处理器组)可由元件(例如应用或应用部分)配置为操作为执行本文描述的特定操作的硬件模块。
在一些实施例中,硬件模块可以按照机械方式、电子方式或其任意适当组合来实现。例如,硬件模块可以包括永久地被配置为执行特定操作的专用电路或逻辑。例如,硬件模块可以是专用处理器,如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。硬件模块还可以包括由软件临时配置为执行特定操作的可编程逻辑或电路。例如,硬件模块可以包括由通用处理器或其他可编程处理器执行的软件。一旦由这样的软件配置,硬件模块就变成特定的机器(或机器的特定组件),其被专门定制用于执行所配置的功能,而不再是通用处理器。应理解:以机械方式、以专用和永久配置的电路或以临时配置的电路(例如由软件配置)实现硬件模块的决定可出于成本和时间的考虑。
因此,短语“硬件模块”应理解为涵盖有形实体,是在物理上构造、永久配置(例如硬线连接)或临时配置(例如编程)为以特定方式操作或执行本文描述的特定操作的实体。如本文所使用的,“硬件实现的模块”指硬件模块。考虑临时配置(例如编程)硬件模块的实施例,无需在任一时刻配置或实例化硬件模块中的每一个。例如,在硬件模块包括被软件配置成为专用处理器的通用处理器的情况下,通用处理器可以在不同时间被配置为分别不同的专用处理器(例如包括不同的硬件模块)。因此,软件将特定的一个或多个处理器例如配置为在一个时刻构成特定硬件模块并在另一时刻构成不同的硬件模块。
硬件模块可以向其他硬件模块提供信息并从其他硬件模块接收信息。因此,所描述的硬件模块可以被看作通信地耦合。如果同时存在多个硬件模块,则可以通过两个或更多个硬件模块之间的信号传输(例如通过适当的电路和总线)实现通信。在多个硬件模块在不同时间配置或实例化的实施例中,可以例如通过存储并获取多个硬件模块可访问的存储器结构中的信息来实现这样的硬件模块之间的通信。例如,一个硬件模块可以执行操作并在与其通信耦合的存储设备中存储该操作的输出。另一硬件模块接着可以稍后访问存储器设备,以取回并处理所存储的输出。硬件模块还可以发起与输入或输出设备的通信,并且能够对资源(例如信息的集合)进行操作。
此处描述的示例方法的各种操作可以至少部分地由临时配置(例如通过软件)或永久配置为执行相关操作的一个或多个处理器执行。无论是临时还是永久配置,这样的处理器可以构成操作以执行本文描述的一个或多个操作或功能的处理器实现的模块。如本文所使用的,“处理器实现的模块”指使用一个或更多个处理器实现的硬件模块。
类似地,本文描述的方法可以至少部分地由处理器实现,其中特定处理器或多个处理器是硬件的示例。例如,方法的至少一些操作可由一个或多个处理器或处理器实现的模块执行。此外,一个或多个处理器还可操作以支持在“云计算”环境中或作为“软件即服务”(SaaS)执行有关操作。例如,操作中的至少一些可由计算机(作为包括处理器的机器的示例)组执行,这些操作可经由网络(例如互联网)并经由一个或多个适当接口(例如应用程序接口(API))来访问。
某些操作的执行可以分布在处理器中,并不只驻留在单个机器内,而是部署在多个机器中。在一些示例实施例中,处理器或处理器实现的模块可以位于单个地理位置(例如,在家庭环境、办公环境或服务器群中)。在其他示例实施例中,处理器或处理器实现的模块可以分布在多个地理位置中。
机器和软件架构
在一些实施例中,结合图1至图6描述的模块、方法、应用等在机器和关联的软件架构的上下文中实现。下面的章节描述了适用与所公开的实施例一起使用的代表性软件架构和机器(例如,硬件)架构。
软件架构与硬件架构一起使用,以创建针对特定用途定制的设备和机器。例如,与特定软件架构耦合的特定硬件架构将创建移动设备,诸如移动电话、平板设备等。稍微不同的硬件和软件架构可以产生用于“物联网”的智能设备,而另一组合则产生用于云计算架构内的服务器计算机。本文并没有介绍这样的软件和硬件架构的所有组合,因为本领域技术人员可以容易地理解在不同于本文所包含的公开内容的不同上下文中如何实现本发明的主题。
软件架构
图7是示出代表性软件架构702的框图700,该代表性软件架构702可以结合本文所描述的各种硬件架构一起使用。图7仅是软件架构702的非限制性示例,并且应该了解,可以实现许多其它架构以有助于实现本文中所描述的功能。软件架构702可以在诸如图8的机器800的硬件上执行,所述机器800还包括处理器810、存储器/存储设备830和I/O组件850等。代表性的硬件层704在图7中被示出,并且可以表示例如图8的机器800。代表性的硬件层704包括具有关联的可执行指令708的一个或多个处理单元706。可执行指令708表示软件架构702的可执行指令,包括图1-6的方法、模块等的实现。硬件层704还包括存储器和/或存储模块710,所述存储器和/或存储模块710也具有可执行指令708。硬件层704还可以包括表示硬件层704的任何其它硬件(例如被示为机器800的一部分的其它硬件)的其它硬件712。
在图7的示例架构中,软件架构702可以被概念化为层的堆栈,其中每层提供特定的功能。例如,软件架构702可以包括诸如操作系统714、库716、框架/中间件718、应用720和表示层744的各个层。可选地,应用720和/或层内的其他组件可以通过软件堆栈来调用应用程序编程接口(API)调用724,并响应于API调用724接收示出为消息726的响应、返回值等等。所示出的层在本质上具有代表性,并不是所有的软件架构都具有所有层。例如,一些移动或专用操作系统可能不提供框架/中间件层718,而其它系统可以提供这样的层。其它软件架构可以包括附加层或不同层。
操作系统714可以管理硬件资源并提供公共服务。操作系统714可以包括例如内核728、服务730和驱动732。内核728可以用作硬件和其他软件层之间的抽象层。例如,内核728可以负责存储器管理、处理器管理(例如,调度)、组件管理、联网、安全设置等。服务730可以为其它软件层提供其它公共服务。驱动器732可以负责控制底层硬件或与底层硬件接口连接。例如,取决于硬件配置,驱动732可以包括显示器驱动、相机驱动、驱动、闪存驱动、串行通信驱动(例如通用串行总线(USB)驱动),驱动、音频驱动、电源管理驱动等等。
库716可以提供可由应用720或其他组件或层使用的公共基础设施。库716通常提供允许其他软件模块以比直接与底层操作系统714的功能(例如,内核728、服务730和/或驱动732)接口连接更容易的方式执行任务。库716可以包括可以提供诸如存储器分配功能、字符串操纵功能、数学功能等的功能的系统库734(例如,C标准库)。另外,库716可以包括API库736,例如媒体库(例如,用于支持各种媒体格式(诸如MPEG4、H.264、MP3、AAC、AMR、JPG、PNG)的呈现和操纵的库)、图形库(例如,可以用于在显示器上渲染图形内容中的2D和3D的OpenGL框架)、数据库(例如,可以提供各种关系数据库功能的SQLite)、web库(例如,可以提供网络浏览功能的WebKit)等。库716还可以包括各种各样的其它库738,以提供到应用720和其它软件组件/模块的许多其他API。
框架/中间件718可以提供可以由应用720/或其它软件组件/模块利用的更高层的公共基础设施。例如,框架/中间件718可以提供各种图形用户界面(GUI)功能、高级资源管理、高级位置服务等。框架/中间件718可以提供可以由应用720/或其它软件组件/模块利用的广泛范围的其它API,其中一些可以专用于特定操作系统或平台。
应用720包括内置应用740或第三方应用742。代表性的内置应用740的示例可以包括但不限于联系人应用、浏览器应用、书籍阅读器应用、位置应用、媒体应用、消息传递应用或游戏应用。第三方应用742可以包括任何内置应用740以及各种各样的其它应用。在具体示例中,第三方应用742(例如,由与特定平台的供应商不同的实体使用AndroidTM或iOSTM软件开发工具包(SDK)而开发的应用)可以是在移动操作系统(诸如iOSTM、AndroidTM、Phone或其他移动操作系统)上运行的移动软件。在该示例中,第三方应用742可以调用由诸如操作系统714之类的移动操作系统提供的API调用724,以有助于实现本文描述的功能。
应用720可以利用内置的操作系统功能(例如,内核728、服务730和/或驱动732)、库(例如,系统库734、API库736和其他库738)、框架/中间件718来创建用户接口,以与系统的用户进行交互。备选地或附加地,在一些系统中,与用户的交互可以通过表示层(诸如表示层744)发生。在这些系统中,应用/模块“逻辑”可以与和用户交互的应用/模块的各方面分离。
一些软件架构利用虚拟机。在图7的示例中,这由虚拟机748示出。虚拟机创建软件环境,其中应用/模块可以像在硬件机器(例如,图8的机器800)上执行一样执行。虚拟机由主操作系统(例如,操作系统714)托管,并且通常(尽管并不总是)具有管理虚拟机748的操作以及与主操作系统(例如,操作系统714)连接的接口的虚拟机监控器746。软件架构在虚拟机748(比如,操作系统750、库752、框架754、应用756或表示层758)内执行。在虚拟机748内执行的这些软件架构的层可以与先前描述的对应层相同,或者可以不同。
示例机器架构和机器可读介质
图8是示出了根据一些示例实施例的能够从机器可读介质(例如,机器可读存储介质)中读取指令并执行本文所讨论的方法中的任何一个或多个的机器800的组件的框图。具体地,图8示出了计算机系统的示例形式的机器800的示意图,其中可以执行指令816(例如,软件、程序、应用、小应用、app或其他可执行代码)以使机器800执行本文讨论的任何一种或多种方法。例如,指令816可以使机器800执行图5-图6的流程图。指令816将通用的未编程的机器800转变成被编程为以所描述的方式执行所描述和示出的功能的特定机器。在备选实施例中,机器800作为独立设备操作或可以耦合(例如,联网)到其他机器。在联网部署中,机器800可以在服务器-客户端网络环境中以服务器机器或客户端机器的容量操作,或者作为对等(或分布式)网络环境中的对等机器操作。机器800可以包括但不限于服务器计算机、客户端计算机、个人计算机(PC)、平板计算机、膝上型计算机、上网本、机顶盒(STB)、个人数字助理(PDA)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如,智能手表)、智能家居设备(例如,智能家电)、其他智能设备、网络设备、网络路由器、网络交换机、网桥、或能够顺序地或以其他方式执行指定机器800要采取的动作的指令816的任何机器。此外,尽管仅示出了单个机器800,但是术语“机器”也将被认为包括机器800的集合,其单独地或联合地执行指令816以执行本文讨论的方法中的任何一个或多个。
机器800可以包括可被配置为例如经由总线802彼此通信的处理器810、存储器/存储设备830和I/O组件850。在示例实施例中,处理器810(例如,中央处理单元(CPU)、精简指令集计算(RISC)处理器、复杂指令集计算(CISC)处理器、图形处理单元(GPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、射频集成电路(RFIC)、另一处理器或其任何适当组合)可以包括例如可以执行指令816的处理器812和处理器814。术语“处理器”旨在包括可以包括可以同时执行指令816的两个或更多个独立处理器(有时称为“核”)的多核处理器。尽管图8示出了多个处理器810,但是机器800可以包括具有单个核的单个处理器、具有多个核的单个处理器(例如,多核处理器)、具有单个核的多个处理器、具有多个核的多个处理器或其任何组合。
存储器/存储设备830可以包括存储器832(比如,主存储器或其它存储储存设备)、以及存储单元836,存储器器932和存储单元936两者都可例如经由总线802由处理器810访问。存储单元836和存储器832存储体现本文所述的任何一种或多种方法或功能的指令816。在机器800执行指令816期间,指令816还可以完全地或部分地驻留在存储器832内、存储单元836内、处理器810中的至少一个内(例如,处理器的高速缓存存储器内)、或其任何合适的组合内。因此,存储器832、存储单元836和处理器810的存储器是机器可读介质的示例。
如本文所使用,“机器可读介质”是指能够暂时或永久地存储指令和数据的设备,并且可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、缓冲存储器、闪存、光学介质、磁性介质、高速缓冲存储器、其它类型的存储器(例如,可擦除可编程只读存储器(EEPROM))或其任何合适的组合。术语“机器可读介质”应被视为包括能够存储指令816的单个介质或多个介质(例如集中式或分布式数据库、或相关联的缓存和服务器)。术语“机器可读介质”还将被视为包括能够存储由机器(例如,机器800)执行的指令(例如,指令816)的任何介质或多个介质的组合,使得指令在由机器800的一个或多个处理器(例如,处理器810)执行时,使机器800执行本文所描述的方法中的任何一个或多个。因此,“机器可读介质”指单个存储装置或设备、以及包括多个存储装置或设备的“基于云”的存储系统或存储网络。
I/O组件850可以包括用于接收输入、提供输出、产生输出、发送信息、交换信息、捕捉测量等的各种各样的组件。包括在特定机器中的特定I/O组件850将取决于机器的类型。例如,诸如移动电话的便携式机器将可能包括触摸输入设备或其他这样的输入机构,而无头服务器机器将可能不包括这样的触摸输入设备。应当理解,I/O组件850可以包括图8中未示出的许多其他组件。I/O组件850根据功能被分组,以便简化以下讨论,并且分组不以任何方式进行限制。在各种示例实施例中,I/O组件850可以包括输出组件852和输入组件854。输出组件852可以包括视觉组件(例如,显示器,诸如等离子体显示面板(PDP)、发光二极管(LED)显示器、液晶显示器(LCD)、投影仪或阴极射线管(CRT))、声学组件(例如,扬声器)、触觉组件(例如,振动马达、电阻机构)、其他信号发生器等。输入组件854可以包括字母数字输入组件(例如,键盘、配置为接收字母数字输入的触摸屏、光-光学键盘或其他字母数字输入组件)、基于点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或另一定点仪器)、触觉输入组件(例如,物理按钮、提供触摸或触摸手势的位置和/或力的触摸屏或其他触觉输入组件)、音频输入组件(例如,麦克风)等。
在另一些示例实施例中,I/O组件850可以包括生物测定组件856、运动组件858、环境组件860或位置组件862、以及许多其他组件。例如,生物测定组件856可包括用于检测表达(例如,手表达、面部表情、语音表达、身体姿势或眼睛跟踪)、测量生物信号(例如,血压、心率、体温、汗水或脑波)、识别人(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等的组件。运动组件858可包括加速度传感器组件(例如,加速度计)、重力传感器组件、旋转传感器组件(例如,陀螺仪)等。环境组件860可包括例如照度传感器组件(例如,光度计)、温度传感器组件(例如,检测环境温度的一个或多个温度计)、湿度传感器组件、压力传感器组件(例如气压计)、声学传感器组件(例如,检测背景噪声的一个或多个麦克风)、接近传感器组件(例如,检测附近物体的红外传感器)、气体传感器(例如,为安全而检测有害气体浓度或测量大气中的污染物的气体检测传感器)、或可以提供对应于周围物理环境的指示、测量或信号的其他组件。位置组件862可以包括位置传感器组件(例如,全球定位系统(GPS)接收机组件)、高度传感器组件(例如,高度计或检测气压的气压计(根据气压可以导出高度))、取向传感器组件(例如,磁力计)等。
可以使用各种各样的技术来实现通信。I/O组件850可以包括通信组件864,通信组件864可操作以分别经由耦接882和耦接872将机器800耦合到网络880或设备870。例如,通信组件864可以包括网络接口组件或与网络880接口连接的其他合适设备。在另一些示例中,通信组件864可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(NFC)组件、组件(例如低能耗)、组件、以及经由其他模态提供通信的其他通信组件。设备870可以是另一机器或各种外围设备中的任一种(例如,经由通用串行总线(USB)耦合的外围设备)。
此外,通信组件864可以检测标识符或包括可操作以检测标识符的组件。例如,通信组件864可以包括射频识别(RFID)标签读取器组件、NFC智能标签检测组件、光学读取器组件(例如,用于检测以下各项的光学传感器:一维条形码(例如通用产品代码(UPC)条形码)、多维条形码(例如快速响应(QR)码)、阿兹台克码、数据矩阵、Dataglyph、MaxiCode、PDF417、超码、UCC RSS-2D条形码和其他光学码)、或声学检测组件(例如,用于识别标记的音频信号的麦克风)。此外,可以经由通信组件864来导出各种信息,例如经由互联网协议(IP)地理位置的位置、经由信号三角测量的位置、经由检测可以指示特定位置的NFC信标信号的位置等等。
传输介质
在各种示例实施例中,网络880的一个或多个部分可以是自组织网络、内联网、外联网、虚拟专用网(VPN)、局域网(LAN)、无线LAN(WLAN)、广域网(WAN)、无线WAN(WWAN)、城域网(MAN)、互联网、互联网的一部分、公共交换电话网络(PSTN)的一部分、普通老式电话服务(POTS)网络、蜂窝电话网络、无线网络、网络、另一类型的网络、或两个或更多个这样的网络的组合。例如,网络880或网络880的一部分可以包括无线或蜂窝网络,并且耦接882可以是码分多址(CDMA)连接、全球移动通信系统(GSM)连接或另一个类型的蜂窝或无线耦接。在该示例中,耦接882可以实现各种类型的数据传输技术中的任何一种,例如单载波无线电传输技术(1xRTT)、演进数据优化(EVDO)技术、通用分组无线电服务(GPRS)技术、GSM演进增强数据速率(EDGE)技术、包括3G的第三代合作伙伴计划(3GPP)、第四代无线(4G)网络、通用移动电信系统(UMTS)、高速分组接入(HSPA)、全球微波接入互操作性(WiMAX)、长期演进(LTE)标准、由各种标准设置组织定义的其他标准、其他远程协议或其他数据传输技术。
指令816可以经由网络接口设备(例如,包括在通信组件864中的网络接口组件)使用传输介质并且利用多个公知的传输协议(例如,超文本传输协议(HTTP))通过网络880发送或接收。类似地,可以使用传输介质经由耦接872(例如,对等耦接)向设备870发送或从其接收指令816。术语“传输介质”应被认为包括能够存储、编码或承载用于被机器800执行的指令816的任何无形介质,并且包括用于促进该软件的通信的数字或模拟通信信号或其他无形介质。载体介质包括承载机器或计算机可读指令的任何介质。传输介质和机器可读介质是载体介质的实施例。
下面的编号示例是实施例。
1.一种方法,包括:
从客户端系统接收第一语言的搜索查询;
生成与所述搜索查询相关联的语义含义向量;
访问与多个项目记录相关联的多个语义含义向量,其中,项目记录中的至少一些不是以第一语言编写的;
对于与项目记录相关联的每个相应的语义含义向量:
将所述相应的语义含义向量和与所述搜索查询相关联的语义含义向量相比较;以及
基于与项目记录相关联的语义含义向量和与所述搜索查询相关联的语义含义向量之间的比较,选择一个或多个项目记录;
对于所选择的每个相应的项目记录:
确定相应的项目记录是否以第一语言编写;以及
根据相应的项目记录没有以第一语言编写的确定,自动地将相应的项目记录翻译为第一语言;以及
将一个或多个所选择的项目记录发送到客户端系统以供显示。
2.根据示例1所述的方法,其中,所述项目记录以多种不同的语言编写。
3.根据示例1或示例2所述的方法,还包括:
接收项目记录,以供包含在基于网络的商务系统中;
生成接收到的项目记录的语义含义向量;以及
将语义含义向量存储在基于网络的商务系统的数据库中。
4.根据示例3所述的方法,其中,存储语义含义向量还包括:
分析与语义含义向量相关联的项目记录以识别与语义含义向量相关联的产品类别;以及
组织数据库,使得每个语义含义向量与确定的产品类别相关联。
5.根据示例1至4中任一项所述的方法,其中,将所述相应的语义含义向量和与所述搜索查询相关联的语义含义向量相比较还包括:
计算与所述搜索查询相关联的语义含义向量和所述相应的语义含义向量之间的接近度得分。
6.根据示例5所述的方法,还包括基于计算出的接近度得分对多个语义含义向量进行排序。
7.根据示例6所述的方法,其中,至少部分地基于与每个语义含义向量相关联的排序来选择一个或多个项目记录。
8.根据示例4、示例6或示例7中任一项所述的方法,其中,访问与多个项目记录相关联的多个语义含义向量还包括:
分析所述搜索查询以识别与所述搜索查询相关联的一个或多个产品类别;以及
访问与识别出的一个或多个产品类别相关联的语义含义向量。
9.根据示例1至示例8中任一项所述的方法,其中,生成与所述搜索查询相关联的语义含义向量还包括:
识别与所述搜索查询相关联的第一语言;
选择与识别出的第一语言相关联的语义含义向量生成模型;以及
使用所选择的语义含义向量生成模型来生成所述搜索查询的语义含义向量。
10.一种系统,包括:
一个或多个处理器;
存储器;以及
存储在所述存储器中的一个或多个程序,所述一个或多个程序用于由所述一个或多个处理器执行以进行以下步骤:
从客户端系统接收第一语言的搜索查询;
生成与所述搜索查询相关联的语义含义向量;
访问与多个项目记录相关联的多个语义含义向量,其中,项目记录中的至少一些不是以第一语言编写的;
对于与项目记录相关联的每个相应的语义含义向量:
将所述相应的语义含义向量和与所述搜索查询相关联的语义含义向量相比较;以及
基于与项目记录相关联的语义含义向量和与所述搜索查询相关联的语义含义向量之间的比较,选择一个或多个项目记录;
对于所选择的每个相应的项目记录:
确定相应的项目记录是否以第一语言编写;以及
根据相应的项目记录没有以第一语言编写的确定,自动地将相应的项目记录翻译为第一语言;以及
将一个或多个所选择的项目记录发送到客户端系统以供显示。
11.根据示例10所述的系统,其中,所述项目记录以多种不同的语言编写。
12.根据示例10或示例11所述的系统,还包括:
接收项目记录,以供包含在基于网络的商务系统中;
生成接收到的项目记录的语义含义向量;以及
将语义含义向量存储在基于网络的商务系统的数据库中。
13.根据示例12所述的系统,其中,存储语义含义向量还包括:
分析与语义含义向量相关联的项目记录以识别与语义含义向量相关联的产品类别;以及
组织数据库,使得每个语义含义向量与确定的产品类别相关联。
14.根据示例10至13中任一项所述的系统,其中,将所述相应的语义含义向量和与所述搜索查询相关联的语义含义向量相比较还包括:
计算与所述搜索查询相关联的语义含义向量和所述相应的语义含义向量之间的接近度得分。
15.根据示例14所述的系统,还包括基于计算出的接近度得分对所述多个语义含义向量进行排序。
16.一种存储指令的计算机可读存储介质,所述指令在由机器的一个或多个处理器执行时使得所述机器执行包括以下各项的操作:
从客户端系统接收第一语言的搜索查询;
生成与所述搜索查询相关联的语义含义向量;
访问与多个项目记录相关联的多个语义含义向量,其中,项目记录中的至少一些不是以第一语言编写的;
对于与项目记录相关联的每个相应的语义含义向量:
将所述相应的语义含义向量和与所述搜索查询相关联的语义含义向量相比较;以及
基于与项目记录相关联的语义含义向量和与所述搜索查询相关联的语义含义向量之间的比较,选择一个或多个项目记录;
对于所选择的每个相应的项目记录:
确定相应的项目记录是否以第一语言编写;以及
根据相应的项目记录没有以第一语言编写的确定,自动地将相应的项目记录翻译为第一语言;以及
将一个或多个所选择的项目记录发送到客户端系统以供显示。
17.根据示例16所述的计算机可读存储介质,其中,所述项目记录以多种不同的语言编写。
18.根据示例16或示例17所述的计算机可读存储介质,还包括:
接收项目记录,以供包含在基于网络的商务系统中;
生成接收到的项目记录的语义含义向量;以及
将语义含义向量存储在基于网络的商务系统的数据库中。
19.根据示例18所述的计算机可读存储介质,其中,存储语义含义向量还包括:
分析与语义含义向量相关联的项目记录以识别与语义含义向量相关联的产品类别;以及
组织数据库,使得每个语义含义向量与确定的产品类别相关联。
20.根据示例16至19中任一项所述的计算机可读存储介质,其中,将所述相应的语义含义向量和与所述搜索查询相关联的语义含义向量相比较还包括:
计算与所述搜索查询相关联的语义含义向量和所述相应的语义含义向量之间的接近度得分。
21.一种承载机器可读指令的载体介质,所述机器可读指令在被机器的一个或多个处理器执行时,使所述机器执行根据示例1至示例9中任一项所述的方法。
语言
在整个说明书中,复数实例可以实现如单个实例所描述的部件、操作或结构。虽然一个或多个方法的各个操作被示意和描述为分离的操作,但是各个操作中的一个或多个可以同时执行,并且无需按所示顺序执行操作。在示例配置中被示为分离组件的结构和功能可以被实现为组合结构或组件。类似地,被示为单个组件的结构和功能可以被实现为分离的组件。这些和其他变型、修改、添加和改进落入本文中主题的范围内。
尽管已经参考具体示例实施例描述了本发明主题的概述,但是在不脱离本公开的实施例的更宽范围的情况下,可以对这些实施例进行各种修改和改变。本发明主题的这些实施例在本文中可以单独地或共同地由术语“发明”提及,以仅仅为了方便,并且不旨在自动地将本申请的范围限制为任何单个公开或发明构思(如果事实上公开了一个以上)。
充分详细地描述了本文示出的实施例以使本领域技术人员能够实现所公开的教导。可以利用其他实施例并根据这些实施例导出其他实施例,从而可以在不脱离本公开的范围的情况下做出结构和逻辑上的替换和改变。因此,该“具体实施方式”不应当看做是限制意义,并且各种实施例的范围仅通过所附权利要求以及权利要求的等同物的全部范围来限定。
如本文所使用的,术语“或”可以被解释为包括性或排他性的意义。此外,可以针对本文中描述为单个实例的资源、操作或结构提供多个实例。另外,各种资源、操作、模块、引擎和数据存储之间的边界在某种程度上是任何的,并且在具体说明性配置的上下文中示出了特定操作。设想了功能的其他分配,并且这些分配可以落入本公开的各种实施例的范围内。一般来说,在示例配置中作为分离资源呈现的结构和功能可以被实现为组合的结构或资源。类似地,作为单个资源呈现的结构和功能可以被实现为分离的资源。这些和其他变型、修改、添加和改进落入由所附权利要求表示的本公开的实施例的范围内。因此,说明书和附图应当被看做说明性的而不是限制意义的。
Claims (21)
1.一种方法,包括:
从客户端系统接收第一语言的搜索查询;
生成与所述搜索查询相关联的语义含义向量;
访问与多个项目记录相关联的多个语义含义向量,其中,项目记录中的至少一些不是以第一语言编写的;
对于与项目记录相关联的每个相应的语义含义向量:
将所述相应的语义含义向量和与所述搜索查询相关联的语义含义向量相比较;以及
基于与项目记录相关联的语义含义向量和与所述搜索查询相关联的语义含义向量之间的比较,选择一个或多个项目记录;
对于所选择的每个相应的项目记录:
确定相应的项目记录是否以第一语言编写;以及
根据相应的项目记录没有以第一语言编写的确定,自动地将相应的项目记录翻译为第一语言;以及
将一个或多个所选择的项目记录发送到客户端系统以供显示。
2.根据权利要求1所述的方法,其中,所述项目记录以多种不同的语言编写。
3.根据权利要求1所述的方法,还包括:
接收项目记录,以供包含在基于网络的商务系统中;
生成接收到的项目记录的语义含义向量;以及
将语义含义向量存储在基于网络的商务系统处的数据库中。
4.根据权利要求3所述的方法,其中,存储语义含义向量还包括:
分析与语义含义向量相关联的项目记录以识别与语义含义向量相关联的产品类别;以及
组织数据库,使得每个语义含义向量与确定的产品类别相关联。
5.根据权利要求1所述的方法,其中,将所述相应的语义含义向量和与所述搜索查询相关联的语义含义向量相比较还包括:
计算与所述搜索查询相关联的语义含义向量和所述相应的语义含义向量之间的接近度得分。
6.根据权利要求5所述的方法,还包括基于计算出的接近度得分对所述多个语义含义向量进行排序。
7.根据权利要求6所述的方法,其中,至少部分地基于与每个语义含义向量相关联的排序来选择一个或多个项目记录。
8.根据权利要求4所述的方法,其中,访问与多个项目记录相关联的多个语义含义向量还包括:
分析所述搜索查询以识别与所述搜索查询相关联的一个或多个产品类别;以及
访问与识别出的一个或多个产品类别相关联的语义含义向量。
9.根据权利要求1所述的方法,其中,生成与所述搜索查询相关联的语义含义向量还包括:
识别与所述搜索查询相关联的第一语言;
选择与识别出的第一语言相关联的语义含义向量生成模型;以及
使用所选择的语义含义向量生成模型来生成所述搜索查询的语义含义向量。
10.一种系统,包括:
一个或多个处理器;
存储器;以及
存储在所述存储器中的一个或多个程序,所述一个或多个程序用于由所述一个或多个处理器执行以进行:
从客户端系统接收第一语言的搜索查询;
生成与所述搜索查询相关联的语义含义向量;
访问与多个项目记录相关联的多个语义含义向量,其中,项目记录中的至少一些不是以第一语言编写的;
对于与项目记录相关联的每个相应的语义含义向量:
将所述相应的语义含义向量和与所述搜索查询相关联的语义含义向量相比较;以及
基于与项目记录相关联的语义含义向量和与所述搜索查询相关联的语义含义向量之间的比较,选择一个或多个项目记录;
对于所选择的每个相应的项目记录:
确定相应的项目记录是否以第一语言编写;以及
根据相应的项目记录没有以第一语言编写的确定,自动地将相应的项目记录翻译为第一语言;以及
将一个或多个所选择的项目记录发送到客户端系统以供显示。
11.根据权利要求10所述的系统,其中,所述项目记录以多种不同的语言编写。
12.根据权利要求10所述的系统,还包括:
接收项目记录,以供包含在基于网络的商务系统中;
生成接收到的项目记录的语义含义向量;以及
将语义含义向量存储在基于网络的商务系统处的数据库中。
13.根据权利要求12所述的系统,其中,存储语义含义向量还包括:
分析与语义含义向量相关联的项目记录以识别与语义含义向量相关联的产品类别;以及
组织数据库,使得每个语义含义向量与确定的产品类别相关联。
14.根据权利要求10所述的系统,其中,将所述相应的语义含义向量和与所述搜索查询相关联的语义含义向量相比较还包括:
计算与所述搜索查询相关联的语义含义向量和所述相应的语义含义向量之间的接近度得分。
15.根据权利要求14所述的系统,还包括基于计算出的接近度得分对所述多个语义含义向量进行排序。
16.一种存储指令的计算机可读存储介质,所述指令在由机器的一个或多个处理器执行时使得所述机器执行包括以下的操作:
从客户端系统接收第一语言的搜索查询;
生成与所述搜索查询相关联的语义含义向量;
访问与多个项目记录相关联的多个语义含义向量,其中,项目记录中的至少一些不是以第一语言编写的;
对于与项目记录相关联的每个相应的语义含义向量:
将所述相应的语义含义向量和与所述搜索查询相关联的语义含义向量相比较;以及
基于与项目记录相关联的语义含义向量和与所述搜索查询相关联的语义含义向量之间的比较,选择一个或多个项目记录;
对于所选择的每个相应的项目记录:
确定相应的项目记录是否以第一语言编写;以及
根据相应的项目记录没有以第一语言编写的确定,自动地将相应的项目记录翻译为第一语言;以及
将一个或多个所选择的项目记录发送到客户端系统以供显示。
17.根据权利要求16所述的计算机可读存储介质,其中,所述项目记录以多种不同的语言编写。
18.根据权利要求16所述的计算机可读存储介质,还包括:
接收项目记录,以供包含在基于网络的商务系统中;
生成接收到的项目记录的语义含义向量;以及
将语义含义向量存储在基于网络的商务系统处的数据库中。
19.根据权利要求18所述的计算机可读存储介质,其中,存储语义含义向量还包括:
分析与语义含义向量相关联的项目记录以识别与语义含义向量相关联的产品类别;以及
组织数据库,使得每个语义含义向量与确定的产品类别相关联。
20.根据权利要求16所述的计算机可读存储介质,其中,将所述相应的语义含义向量和与所述搜索查询相关联的语义含义向量相比较还包括:
计算与所述搜索查询相关联的语义含义向量和所述相应的语义含义向量之间的接近度得分。
21.一种承载机器可读指令的载体介质,所述机器可读指令在被机器的一个或多个处理器执行时,使所述机器执行根据权利要求1至9中任一项所述的方法。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562270489P | 2015-12-21 | 2015-12-21 | |
US62/270,489 | 2015-12-21 | ||
US201662293922P | 2016-02-11 | 2016-02-11 | |
US201662294060P | 2016-02-11 | 2016-02-11 | |
US62/293,922 | 2016-02-11 | ||
US62/294,060 | 2016-02-11 | ||
US15/179,314 | 2016-06-10 | ||
US15/179,314 US20170177712A1 (en) | 2015-12-21 | 2016-06-10 | Single step cross-linguistic search using semantic meaning vectors |
PCT/US2016/067725 WO2017112650A1 (en) | 2015-12-21 | 2016-12-20 | Cross-linguistic search using semantic meaning vectors |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108431809A true CN108431809A (zh) | 2018-08-21 |
Family
ID=59065128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680074841.4A Pending CN108431809A (zh) | 2015-12-21 | 2016-12-20 | 使用语义含义向量的跨语言搜索 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20170177712A1 (zh) |
KR (1) | KR20180095910A (zh) |
CN (1) | CN108431809A (zh) |
WO (1) | WO2017112650A1 (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10599701B2 (en) | 2016-02-11 | 2020-03-24 | Ebay Inc. | Semantic category classification |
US10635727B2 (en) | 2016-08-16 | 2020-04-28 | Ebay Inc. | Semantic forward search indexing of publication corpus |
CN111368117A (zh) * | 2018-12-26 | 2020-07-03 | 财团法人工业技术研究院 | 跨语言信息建构与处理方法及跨语言信息系统 |
CN111507164A (zh) * | 2019-01-30 | 2020-08-07 | 斯特拉德视觉公司 | 实时更新可检测类的类别的对象检测系统的方法和设备 |
CN112307304A (zh) * | 2020-11-16 | 2021-02-02 | 深圳市欢太科技有限公司 | 热点搜索方法、装置、终端及存储介质 |
CN113688213A (zh) * | 2021-02-09 | 2021-11-23 | 鼎捷软件股份有限公司 | 应用程序接口服务搜寻系统及其搜寻方法 |
US11698921B2 (en) | 2018-09-17 | 2023-07-11 | Ebay Inc. | Search system for providing search results using query understanding and semantic binary signatures |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10453074B2 (en) * | 2016-07-08 | 2019-10-22 | Asapp, Inc. | Automatically suggesting resources for responding to a request |
CN110352423B (zh) * | 2016-11-04 | 2021-04-20 | 渊慧科技有限公司 | 使用噪声信道模型生成目标序列的方法、存储介质和系统 |
WO2018107580A1 (zh) * | 2016-12-15 | 2018-06-21 | 华为技术有限公司 | 一种信息提示的方法及装置 |
US10891673B1 (en) * | 2016-12-22 | 2021-01-12 | A9.Com, Inc. | Semantic modeling for search |
US10936952B2 (en) | 2017-09-01 | 2021-03-02 | Facebook, Inc. | Detecting content items in violation of an online system policy using templates based on semantic vectors representing content items |
US11195099B2 (en) | 2017-09-01 | 2021-12-07 | Facebook, Inc. | Detecting content items in violation of an online system policy using semantic vectors |
US10691734B2 (en) * | 2017-11-21 | 2020-06-23 | International Business Machines Corporation | Searching multilingual documents based on document structure extraction |
US11663414B2 (en) * | 2018-02-20 | 2023-05-30 | Fluence Bioengineering, Inc. | Controlled agricultural systems and methods of managing agricultural systems |
US10599774B1 (en) * | 2018-02-26 | 2020-03-24 | Facebook, Inc. | Evaluating content items based upon semantic similarity of text |
IL258689A (en) | 2018-04-12 | 2018-05-31 | Browarnik Abel | A system and method for computerized semantic indexing and searching |
US10169315B1 (en) | 2018-04-27 | 2019-01-01 | Asapp, Inc. | Removing personal information from text using a neural network |
CN109086265B (zh) * | 2018-06-29 | 2022-10-25 | 厦门快商通信息技术有限公司 | 一种语义训练方法、短文本中多语义词消歧方法 |
EP3634018A1 (en) * | 2018-10-02 | 2020-04-08 | Siemens Aktiengesellschaft | System for data communication in a network of local devices |
WO2020079748A1 (ja) * | 2018-10-16 | 2020-04-23 | 株式会社島津製作所 | 事例検索方法および事例検索システム |
US11144542B2 (en) * | 2018-11-01 | 2021-10-12 | Visa International Service Association | Natural language processing system |
US11551004B2 (en) * | 2018-11-13 | 2023-01-10 | Asapp, Inc. | Intent discovery with a prototype classifier |
US10747957B2 (en) * | 2018-11-13 | 2020-08-18 | Asapp, Inc. | Processing communications using a prototype classifier |
US11004449B2 (en) * | 2018-11-29 | 2021-05-11 | International Business Machines Corporation | Vocal utterance based item inventory actions |
US11106873B2 (en) * | 2019-01-22 | 2021-08-31 | Sap Se | Context-based translation retrieval via multilingual space |
US11429579B2 (en) * | 2019-10-28 | 2022-08-30 | International Business Machines Corporation | Building a word embedding model to capture relational data semantics |
US11663422B2 (en) * | 2020-06-10 | 2023-05-30 | Paypal, Inc. | Systems and methods for providing multilingual support in an automated online chat system |
WO2021250950A1 (ja) * | 2020-06-11 | 2021-12-16 | 株式会社島津製作所 | 文書検索の性能を評価する方法、システム、および装置 |
CN112328890B (zh) * | 2020-11-23 | 2024-04-12 | 北京百度网讯科技有限公司 | 搜索地理位置点的方法、装置、设备及存储介质 |
US20230177280A1 (en) * | 2021-12-03 | 2023-06-08 | Caterpillar Inc. | Methods and systems for translating product or service information |
US20230186319A1 (en) * | 2021-12-10 | 2023-06-15 | Paypal, Inc. | Context-enhanced category classification |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6006221A (en) * | 1995-08-16 | 1999-12-21 | Syracuse University | Multilingual document retrieval system and method using semantic vector matching |
US6321189B1 (en) * | 1998-07-02 | 2001-11-20 | Fuji Xerox Co., Ltd. | Cross-lingual retrieval system and method that utilizes stored pair data in a vector space model to process queries |
CN102057371A (zh) * | 2008-06-06 | 2011-05-11 | 汤姆逊许可证公司 | 用于图像的类似性搜索的系统和方法 |
CN102402561A (zh) * | 2010-09-19 | 2012-04-04 | 中国移动通信集团四川有限公司 | 一种搜索方法和装置 |
US9684653B1 (en) * | 2012-03-06 | 2017-06-20 | Amazon Technologies, Inc. | Foreign language translation using product information |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8041697B2 (en) * | 2007-08-31 | 2011-10-18 | Microsoft Corporation | Semi-automatic example-based induction of semantic translation rules to support natural language search |
US20150199339A1 (en) * | 2014-01-14 | 2015-07-16 | Xerox Corporation | Semantic refining of cross-lingual information retrieval results |
-
2016
- 2016-06-10 US US15/179,314 patent/US20170177712A1/en not_active Abandoned
- 2016-12-20 WO PCT/US2016/067725 patent/WO2017112650A1/en active Application Filing
- 2016-12-20 KR KR1020187020879A patent/KR20180095910A/ko not_active Application Discontinuation
- 2016-12-20 CN CN201680074841.4A patent/CN108431809A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6006221A (en) * | 1995-08-16 | 1999-12-21 | Syracuse University | Multilingual document retrieval system and method using semantic vector matching |
US6321189B1 (en) * | 1998-07-02 | 2001-11-20 | Fuji Xerox Co., Ltd. | Cross-lingual retrieval system and method that utilizes stored pair data in a vector space model to process queries |
CN102057371A (zh) * | 2008-06-06 | 2011-05-11 | 汤姆逊许可证公司 | 用于图像的类似性搜索的系统和方法 |
CN102402561A (zh) * | 2010-09-19 | 2012-04-04 | 中国移动通信集团四川有限公司 | 一种搜索方法和装置 |
US9684653B1 (en) * | 2012-03-06 | 2017-06-20 | Amazon Technologies, Inc. | Foreign language translation using product information |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10599701B2 (en) | 2016-02-11 | 2020-03-24 | Ebay Inc. | Semantic category classification |
US11227004B2 (en) | 2016-02-11 | 2022-01-18 | Ebay Inc. | Semantic category classification |
US10635727B2 (en) | 2016-08-16 | 2020-04-28 | Ebay Inc. | Semantic forward search indexing of publication corpus |
US11698921B2 (en) | 2018-09-17 | 2023-07-11 | Ebay Inc. | Search system for providing search results using query understanding and semantic binary signatures |
CN111368117A (zh) * | 2018-12-26 | 2020-07-03 | 财团法人工业技术研究院 | 跨语言信息建构与处理方法及跨语言信息系统 |
CN111368117B (zh) * | 2018-12-26 | 2023-05-30 | 财团法人工业技术研究院 | 跨语言信息建构与处理方法及跨语言信息系统 |
CN111507164A (zh) * | 2019-01-30 | 2020-08-07 | 斯特拉德视觉公司 | 实时更新可检测类的类别的对象检测系统的方法和设备 |
CN111507164B (zh) * | 2019-01-30 | 2023-11-07 | 斯特拉德视觉公司 | 实时更新可检测类的类别的对象检测系统的方法和设备 |
CN112307304A (zh) * | 2020-11-16 | 2021-02-02 | 深圳市欢太科技有限公司 | 热点搜索方法、装置、终端及存储介质 |
CN112307304B (zh) * | 2020-11-16 | 2024-04-12 | 深圳市欢太科技有限公司 | 热点搜索方法、装置、终端及存储介质 |
CN113688213A (zh) * | 2021-02-09 | 2021-11-23 | 鼎捷软件股份有限公司 | 应用程序接口服务搜寻系统及其搜寻方法 |
CN113688213B (zh) * | 2021-02-09 | 2023-09-29 | 鼎捷软件股份有限公司 | 应用程序接口服务搜寻系统及其搜寻方法 |
Also Published As
Publication number | Publication date |
---|---|
US20170177712A1 (en) | 2017-06-22 |
KR20180095910A (ko) | 2018-08-28 |
WO2017112650A1 (en) | 2017-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108431809A (zh) | 使用语义含义向量的跨语言搜索 | |
JP6867479B2 (ja) | 画像解析および予測に基づく視覚検索 | |
US20200218750A1 (en) | Semantic category classification | |
US10387773B2 (en) | Hierarchical deep convolutional neural network for image classification | |
CN110622153B (zh) | 用于查询分割的方法和系统 | |
CN110023982A (zh) | 选择产品标题 | |
CN107003987A (zh) | 增强的搜索查询建议 | |
US20170293695A1 (en) | Optimizing similar item recommendations in a semi-structured environment | |
CN109716334A (zh) | 选择下一用户提示类型 | |
CN109313542A (zh) | 识别缺失的浏览节点 | |
CN110494852A (zh) | 智能匹配自动完成系统 | |
CN107430691A (zh) | 识别图像中描绘的物品 | |
CN107077320A (zh) | 识别对自动完成搜索结果的时间需求 | |
CN109154945A (zh) | 基于数据属性的新连接推荐 | |
CN108027930A (zh) | 用于个性化的可操作的通知的系统和方法 | |
CN109313659A (zh) | web文档修订的异常检测 | |
CN107534586A (zh) | 网站流量控制的系统和方法 | |
CN109564570A (zh) | 使用频繁模式挖掘的浏览节点创建 | |
CN110168591A (zh) | 确定行业相似性以增强职位搜索 | |
CN109716286A (zh) | 确定具有经确认的特征的项 | |
KR102224731B1 (ko) | 선택적 인덱싱을 통한 검색 엔진 최적화 | |
CN110383266A (zh) | 使用语义存储器的个性化通信 | |
CN108885702A (zh) | 图像的分析和链接 | |
CN109416697A (zh) | 使用结果反馈的搜索系统 | |
CN108027944A (zh) | 电子商务中的结构化项目组织机制 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180821 |