CN111433768B - 智能引导购物的系统和方法 - Google Patents
智能引导购物的系统和方法 Download PDFInfo
- Publication number
- CN111433768B CN111433768B CN202080000547.5A CN202080000547A CN111433768B CN 111433768 B CN111433768 B CN 111433768B CN 202080000547 A CN202080000547 A CN 202080000547A CN 111433768 B CN111433768 B CN 111433768B
- Authority
- CN
- China
- Prior art keywords
- keyword
- keywords
- query
- search
- product
- 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 99
- 238000003860 storage Methods 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims description 65
- 238000004519 manufacturing process Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 43
- 239000013259 porous coordination polymer Substances 0.000 description 30
- 230000015654 memory Effects 0.000 description 22
- 238000013479 data entry Methods 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 8
- 230000002452 interceptive effect Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 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/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供了一种智能引导购物的方法和系统。所述系统包括计算设备。所述计算设备具有处理器和存储计算机可执行代码的存储设备。计算机可执行代码当在处理器处执行时被配置为基于用户搜索数据提供推理模型。每个推理模型包括节点和节点之间的边。每条边从第一节点指向第二节点并且表征有概率值。所述概率值表示在搜索与所述第一节点相对应的第一关键字之后搜索与所述第二节点相对应的第二关键字的概率。
Description
相关申请的交叉引用
在本公开的描述中引用和讨论了可能包括专利、专利申请和各种出版物在内的一些参考文献。提供对这样的参考文献的引用和/或讨论仅是为了阐明本公开的描述,而不是承认任何这样的参考文献是本文描述的公开的“现有技术”。在本说明书中引用和讨论的所有参考文献均通过引用以其整体并入本文,其程度与每个参考文献通过引用单独并入的程度相同。
技术领域
本公开总体上涉及智能引导购物,并且更具体地涉及用于使用电子商务网站上可用的用户搜索历史来建立推理模型并基于该推理模型提供交互式智能购物引导的系统和方法。
背景技术
本文提供的背景描述是出于总体上呈现本公开内容的目的。在此背景技术部分中所描述的范围内,目前具名的发明人的工作,以及在申请时可能无法以其他方式视为现有技术的描述内容,均未明确或暗含为本公开的现有技术。
电子商务已成为社会生活的重要组成部分,在线零售平台提供了数十亿商品出售。当用户在电子商务平台上输入搜索查询以找到与其兴趣匹配的产品时,该查询可能没有包括足够的信息来定位确切的产品。因此,在接收到客户输入的关键字之后,平台可以基于一些特定的产品属性(例如颜色、价格、品牌等)建议下一个搜索关键字。这样的建议很难抓住用户的真实兴趣或意图。
因此,在本领域中存在解决上述缺陷和不足的未解决的需求。
发明内容
在某些方面,本公开涉及一种用于智能引导购物的系统。在某些实施例中,所述系统包括计算设备。所述计算设备具有处理器和存储计算机可执行代码的存储设备。当在处理器处被执行时,所述计算机可执行代码被配置为基于用户搜索数据提供多个推理模型。所述多个推理模型中的每个推理模型包括节点和节点之间的边。每条所述边从第一节点指向第二节点并且表征有概率值。所述概率值表示在搜索与所述第一节点相对应的第一关键字之后搜索与所述第二节点相对应的第二关键字的概率。
在某些实施例中,所述计算机可执行代码被配置为通过以下方式提供所述多个推理模型:检索所述用户搜索数据,所述用户搜索数据包括多个搜索条目,每个搜索条目对应于产品并且包括搜索语句;以及基于所述搜索条目的对应产品将所述搜索条目划分为产品类别划分结果(PCP),使得同一PCP中的搜索条目的对应产品属于同一类别;将每个搜索条目解析为关键字序列,并且将所述关键字序列中的第一个关键字定义为入口关键字;基于所述搜索条目的入口关键字将每个所述PCP划分为入口关键字PCP(EPCP),使得同一EPCP中的搜索条目具有相同的入口关键字;以及对于每个EPCP:从EPCP中的搜索条目的关键字序列中生成关键字对列表,其中关键字对列表中的每个关键字对包括来自同一关键字序列的两个顺序相邻的关键字;以及使用关键字对列表构建EPCP的推理模型。推理模型的节点是来自关键字对列表的关键字,其中从一个节点指向另一个节点的边表征有概率值,所述一个节点对应一个关键字,所述另一个节点对应另一个关键字,并且通过将具有所述一个关键字和所述另一个关键字的关键字对的数量除以具有所述一个关键字的关键字对的数量来计算所述概率值。
在某些实施例中,将每个搜索条目解析为关键字序列的步骤包括:将每个搜索条目中的单词与产品知识图中的关键字集进行比较;以及将与所述关键字集匹配的单词保留为关键字序列中的关键字。
在某些实施例中,所述计算机可执行代码还被配置为:提供产品知识图KG,所述产品KG包括产品、产品类别、供应商、产地、产品品牌和产品零售商;接收来自用户的查询条目;解析查询条目以获得查询关键字,并且确定入口关键字(所述入口关键字在查询关键字中出现频率最高);使用查询关键字建立图查询;对产品KG执行图查询以获得查询结果;获得所述推理模型中的具有所述入口关键字的一个推理模型;基于所述一个推理模型中的入口关键字与链接到所述入口关键字的关键字之间的概率值,从所述一个推理模型中获取多个排名靠前的候选关键字;以及向用户提供所述排名靠前的候选关键字,以便用户能够选择所述排名靠前的候选关键字中的一个候选关键字进行进一步查询。在某些实施例中,所述计算机可执行代码被配置为在查询结果包括多于预定数量的条目时,在获得一个推理模型之后执行获得一个推理模型的多个步骤。在某些实施例中,预定数量是5或3。
在某些实施例中,所述计算机可执行代码被配置为通过最大化以下目标函数来获得排名靠前的候选关键字:
以及
其中R是排名靠前候选关键字集,w’是当前关键字,w表示R中的每个关键字,p(w′,w)表示从关键字w’到关键字w的概率值,|R|是R中的关键字的数量,w1和w2是R中的两个关键字,Qw1是通过将关键字w1添加到当前图查询中而获得的图查询,Qw1(KG)是使用图查询Qw1查询产品知识图的答案,Qw2是通过将关键字w2添加到当前图查询而获得的图查询,Qw2(KG)是使用图查询Qw2查询产品知识图的答案。
在某些实施例中,所述排名靠前候选关键字集R包括3、4或5个候选关键字。
在某些实施例中,所述计算机可执行代码被配置为通过以下方式获得所述排名靠前的候选关键字:获得多个关键字,其中在推理模型中边从当前关键字w’指向每个获得的关键字;从获得的关键字中选择预定数量的关键字,以形成一个候选关键字集R;为每个候选关键字集R计算一个目标函数F(R);以及确定具有最大值的一个候选关键字集R作为候选关键字集,并且该候选关键字集中的关键字是排名靠前的候选关键字。
在某些实施例中,所述计算机可执行代码被配置为通过以下方式获得所述排名靠前的候选关键字:获得多个关键字,其中在推理模型中边从当前关键字w’指向每个获得的关键字;为获得的关键字中的任意两个关键字计算成对函数;基于成对函数的值对成对函数进行排序,以获得成对函数排名;以及选择与在所述成对函数排名中排名靠前的成对函数相对应的排名靠前的候选关键字。通过以下公式计算获得的关键字中任意两个关键字w1和w2的成对函数:f(w1,w2)=p(w’,w1)+p(w’,w2)+diff(w1,w2)。
在某些实施例中,当所述排名靠前的候选关键字包括五个关键字时,所述计算机可执行代码被配置为通过以下方式获得五个排名靠前的候选关键字:将与第一成对函数相对应的两个关键字定义为第一排名靠前候选关键字和第二排名靠前候选关键字,其中所述第一成对函数在成对函数排名中排名最高;将与第二成对函数相对应的两个关键字定义为第三排名靠前候选关键字和第四排名靠前候选关键字,其中第三关键字和第四关键字与第一关键字和第二关键字不同,并且所述第二成对函数在成对函数排名中在所述第一成对函数之后排名最高;以及将与第三成对函数相对应的两个关键字中的一个定义为第五排名靠前候选关键字,其中与所述第三成对函数相对应的两个关键字与第一关键字、第二关键字、第三关键字和第四关键字不同,并且所述第三成对函数在成对函数排名中在所述第二成对函数之后排名最高。
在某些实施例中,所述计算机可执行代码被配置为通过以下方式获得所述排名靠前的候选关键字:从获得的关键字中选择第一关键字,其中当前关键字w’对所述第一关键字具有最高的概率值;从获得的关键字中选择第二关键字,其中所述第二关键字当与所述第一关键字组合时具有的目标函数值大于获得的关键字中的任意一个其他关键字与所述第一关键字的目标函数值;以及从获得的关键字中选择后续关键字,直到预定数量的关键字被选择以形成所述排名靠前的候选关键字为止,其中所述后续关键字对先前选择的关键字具有最大的目标函数。
在某些方面,本公开涉及一种用于构造智能购物引导的方法。在某些实施例中,所述方法由上述系统执行。在某些实施例中,一种用于构建推理模型的方法包括:由计算设备基于用户搜索数据提供多个推理模型。所述多个推理模型中的每个推理模型包括节点和节点之间的边,每条所述边从第一节点指向第二节点并且表征有概率值,所述概率值表示在搜索与所述第一节点相对应的第一关键字之后搜索与所述第二节点相对应的第二关键字的概率。
在某些实施例中,通过以下方式提供所述多个推理模型:检索所述用户搜索数据,所述用户搜索数据包括多个搜索条目,每个搜索条目对应于产品并且包括搜索语句;以及基于所述搜索条目的对应产品将所述多个搜索条目划分为产品类别划分结果(PCP),使得同一PCP中的搜索条目的对应产品属于同一类别;将每个搜索条目解析为关键字序列,并且将所述关键字序列中的第一个关键字定义为入口关键字;基于所述搜索条目的入口关键字将每个所述PCP划分为入口关键字PCP(EPCP),使得同一EPCP中的搜索条目具有相同的入口关键字;以及对于每个EPCP:从EPCP中的搜索条目的关键字序列中生成关键字对列表,其中关键字对列表中的每个关键字对包括来自同一关键字序列的两个顺序相邻的关键字;以及使用关键字对列表构建EPCP的推理模型。推理模型的节点是来自关键字对列表的关键字,其中从一个节点指向另一个节点的边表征有概率值,所述一个节点对应一个关键字,所述另一个节点对应另一个关键字,并且通过将具有所述一个关键字和所述另一个关键字的关键字对的数量除以具有所述一个关键字的关键字对的数量来计算所述概率值。
在某些实施例中,将每个搜索条目解析为关键字序列的步骤包括:将每个搜索条目中的单词与产品知识图中的关键字集进行比较,以及将与所述关键字集匹配的单词保留为关键字序列中的关键字。
在某些实施例中,所述方法还包括:提供产品知识图KG,所述产品KG包括产品、产品类别、供应商、产地、产品品牌和产品零售商;接收来自用户的查询条目;解析查询条目以获得查询关键字,并且确定入口关键字(所述入口关键字在查询关键字中出现频率最高);使用查询关键字建立图查询;对产品KG执行图查询以获得查询结果;获得所述推理模型中的将所确定的关键字作为入口关键字的一个推理模型;基于所述一个推理模型中的入口关键字与链接到所述入口关键字的多个关键字之间的概率值,从所述一个推理模型中获取多个排名靠前的候选关键字;以及向用户提供所述排名靠前的候选关键字,以便用户能够选择所述排名靠前的候选关键字中的一个候选关键字进行进一步查询。在某些实施例中,所述计算机可执行代码被配置为在查询结果包括多于预定数量的条目时,在获得一个推理模型之后执行获得一个推理模型的多个步骤。在某些实施例中,预定数量是5或3。
在某些实施例中,通过最大化以下目标函数来执行获得所述排名靠前的候选关键字的步骤:
以及
其中R是排名靠前候选关键字集,w’是当前关键字,w表示R中的每个关键字,p(w′,w)表示从关键字w’到关键字w的概率值,|R|是R中的关键字的数量,w1和w2是R中的两个关键字,Qw1是通过将关键字w1添加到当前图查询中而获得的图查询,Qw1(KG)是使用图查询Qw1查询产品知识图的答案,Qw2是通过将关键字w2添加到当前图查询而获得的图查询,Qw2(KG)是使用图查询Qw2查询产品知识图的答案。
在某些实施例中,所述排名靠前候选关键字集R包括3、4或5个候选关键字。
在某些实施例中,通过以下方式执行获得所述排名靠前的候选关键字的步骤:获得多个关键字,其中在推理模型中边从当前关键字w’指向每个获得的关键字;从获得的关键字中选择预定数量的关键字,以形成一个候选关键字集R;为每个候选关键字集R计算一个目标函数F(R);以及确定具有最大值的一个候选关键字集R作为候选关键字集,并且该候选关键字集中的关键字是排名靠前的候选关键字。
在某些实施例中,通过以下方式执行获得所述排名靠前的候选关键字的步骤:获得多个关键字,其中在推理模型中边从当前关键字w’指向每个获得的关键字;为获得的关键字中的任意两个关键字计算成对函数;基于成对函数的值对成对函数进行排名,以获得成对函数排名;以及选择与在所述成对函数排名中排名靠前的成对函数相对应的排名靠前的候选关键字。通过以下公式计算获得的关键字中任意两个关键字w1和w2的成对函数:f(w1,w2)=p(w’,w1)+p(w’,w2)+diff(w1,w2)。。
在某些实施例中,通过以下方式执行获得排名靠前的候选关键字的步骤:从获得的关键字中选择第一关键字,其中当前关键字w’对所述第一关键字具有最高的概率值;从获得的关键字中选择第二关键字,其中所述第二关键字当与所述第一关键字组合时具有的目标函数值大于获得的关键字中的任意一个其他关键字与所述第一关键字的目标函数值;以及从获得的关键字中选择后续关键字,直到预定数量的关键字被选择以形成所述排名靠前的候选关键字为止,其中所述后续关键字对先前选择的关键字具有最大的目标函数。
在某些方面,本公开涉及一种存储计算机可执行代码的非暂时性计算机可读介质。所述计算机可执行代码在计算设备的处理器处执行时被配置为执行如上所述的方法。
通过以下结合附图及其标题描述的优选实施例,本公开的这些和其他方面将变得清楚,尽管在不脱离本公开的新颖概念的精神和范围的情况下,可以对其进行各种变化和修改。
附图说明
附图示出了本公开的一个或多个实施例,并且与书面描述一起用于解释本公开的原理。在所有附图中,尽可能使用相同的附图标记指代实施例的相同或相似元件。
图1示意性地描绘了根据本公开的某些实施例的智能购物引导系统。
图2A示意性地描绘了根据本公开的某些实施例的计算推理模型中的概率的示例。
图2B示意性地描绘了根据本公开的某些实施例的推理模型的一部分的示例。
图3示意性地描绘了根据本公开的某些实施例的用于构建智能购物引导系统的流程图,该智能购物引导系统包括从所有用户的历史搜索数据构建的推理模型以及与用户交互的对话系统。
图4A和图4B示意性地描绘了根据本公开的某些实施例的使用历史用户搜索数据来构建推理模型的方法。
图5示意性地描绘了根据本公开的某些实施例的用于进行交互式用户搜索聊天会话的方法。
图6示出了根据本公开的某些实施例的基于提示的对话系统。
图7示意性地描绘了根据本公开的某些实施例的推理模型的构建。
具体实施方式
在下面的示例中更具体地描述本公开,这些示例仅旨在举例说明,因为其中的许多修改和变化对本领域技术人员而言是清楚的。现在详细描述本公开的各种实施例。参考附图,在整个附图中,相同的数字表示相同的组件。如本文的说明书和随后的整个权利要求书中所使用的,除非上下文另外明确指出,否则“一”、“一个”和“该”的含义包括复数形式。而且,如本文的说明书和随后的整个权利要求书中所使用的,除非上下文另外明确指出,否则“在...中”的含义包括“在...中”和“在...上”。此外,为了方便读者,可以在说明书中使用标题或副标题,这将不影响本公开的范围。另外,本说明书中使用的一些术语在下面更具体地定义。
在本公开的上下文中以及在使用每个术语的特定上下文中,本说明书中使用的术语通常具有其本领域的普通含义。在下文或说明书的其他地方讨论了用于描述本公开的某些术语,以为从业者提供关于本公开的描述的附加指导。应当理解,可以以一种以上的方式说同一件事。因此,替代的语言和同义词可以用于本文所讨论的任何一个或多个术语,关于本文是否阐述或讨论该术语也没有任何特殊意义。提供了某些术语的同义词。一个或多个同义词的记载不排除使用其他同义词。在本说明书中任何地方使用的示例(包括本文讨论的任何术语的示例)仅是说明性的,绝不限制本公开或任何示例性术语的范围和含义。同样,本公开不限于本说明书中给出的各种实施例。
除非另有定义,否则本文中使用的所有术语(包括技术和科学术语)具有与本公开所属领域的普通技术人员通常所理解的相同含义。还将理解的是,诸如在常用词典中定义的那些术语应被解释为具有与它们在相关技术和本公开的上下文中的含义一致的含义,并且将不以理想化的方式或过于正式的意义进行解释,除非在此明确定义。
如本文所用,“约”、“大约”、“基本上”或“近似”应通常是指给定值或范围的百分之二十以内,优选为百分之十以内,更优选为百分之五以内。在此给出的数值是近似的,意味着如果没有明确说明,则可以推断出术语“约”、“大约”、“基本上”或“近似”。
如本文所用,“多个”是指两个或更多个。
如本文所使用的,术语“包括”、“包含”、“携带”、“具有”、“含有”、“涉及”等应被理解为开放式的,即意指包括但不限于。
如本文中所使用的,短语A、B和C中的至少一个应被解释为表示使用非排他性逻辑或的逻辑(A或B或C)。应当理解,在不改变本公开的原理的情况下,可以以不同的顺序(或同时)执行方法内的一个或多个步骤。如本文所使用的,术语“和/或”包括一个或多个相关联列出的项目的任何和所有组合。
如本文所使用的,术语“模块”可以指代专用集成电路(ASIC),或者是专用集成电路(ASIC)的一部分;电子电路;组合逻辑电路;现场可编程门阵列(FPGA);执行代码的处理器(共享、专用或组);提供所描述的功能的其他合适的硬件组件;或上述某些或全部的组合,例如在片上系统中。术语模块可以包括存储由处理器执行的代码的存储器(共享、专用或组)。
如本文所使用的,术语“代码”可以包括软件、固件和/或微代码,并且可以指代程序、例程、函数、类和/或对象。如上文所使用的,术语共享是指可以使用单个(共享)处理器来执行来自多个模块的一些或全部代码。另外,来自多个模块的一些或全部代码可以由单个(共享)存储器存储。如上文所使用的,术语“组”是指可以使用一组处理器来执行来自单个模块的一些或所有代码。另外,可以使用一组存储器来存储来自单个模块的一些或全部代码。
如本文所使用的,术语“接口”通常是指组件之间交互点处的用于在组件之间执行数据通信的通信工具或装置。通常,接口可以在硬件和软件两者上适用,并且可以是单向或双向接口。物理硬件接口的示例可以包括电连接器、总线、端口、电缆、终端和其他I/O设备或组件。与接口通信的组件可以是例如计算机系统的多个组件或外围设备。
本公开涉及计算机系统。如图中所描绘的,计算机组件可以包括物理硬件组件和虚拟软件组件,其中,物理硬件组件显示为实线框,虚拟软件组件显示为虚线框。本领域普通技术人员将理解,除非另外指出,否则可以以但不限于软件、固件或硬件组件或其组合的形式来实现这些计算机组件。
本文描述的装置、系统和方法可以由一个或多个处理器执行的一个或多个计算机程序来实现。所述计算机程序包括被存储在非暂时性有形计算机可读介质上的处理器可执行指令。计算机程序还可以包括存储的数据。非暂时性有形计算机可读介质的非限制性示例是非易失性存储器、磁性存储器和光学存储器。
现在将在下文中参考示出了本公开的实施例的附图来更全面地描述本公开。然而,本公开可以以许多不同的形式来实施,并且不应被解释为限于本文阐述的实施例;相反,提供这些实施例是为了使本公开更加透彻和完整,并将本公开的范围充分传达给本领域技术人员。
在某些方面,本公开涉及处理针对产品的特定用户问题以及开放式或模糊用户问题的系统和方法。在某些实施例中,响应于开放式或模糊的用户问题,本公开内容不仅基于一些特定的产品属性(例如颜色、价格、品牌等)向用户提供建议,而且还基于用户的多样化兴趣向用户提供建议。在某些实施例中,为了检测用户的多样化兴趣,本公开利用电子商务网站上可用的丰富且大量的历史用户搜索数据。
具体地,本公开提供了用于智能购物引导系统的框架,以使用户能够快速找到他们正在寻找的产品。此外,根据本公开的某些实施例的系统通过有限的移动平台屏幕尺寸从满足要求的大量可用选项中建议最可能的产品关键字。结果,在某些实施例中,系统由两部分组成:1)推理模型构建器,其分析大量历史用户搜索数据,并构建有关用户搜索行为的推理模型;2)对话系统,通过提供最可能的下一个搜索关键字与用户进行交互,以使用户能够快速找到其产品或产品属性。
图1示意性地描绘了根据本公开的某些实施例的智能购物引导系统。如图1所示,系统100包括计算设备110、用户搜索历史160和产品知识图(KG)180。在某些实施例中,计算设备110可以是服务器计算机、集群、云计算机、通用计算机或专用计算机,基于历史用户搜索数据构建推理模型,并使用产品知识图(KG)和推理模型根据用户选择生成搜索关键字建议。在某些实施例中,计算设备110可以与其他计算设备或服务通信,以便从那些计算设备获得用户搜索数据和产品数据以更新推理模型。在某些实施例中,通信是通过网络执行的,该网络可以是有线或无线网络,并且可以具有各种形式,例如公共网络和专用网络,或者通过包括但不限于以下内容的非暂时性计算机介质来执行:闪存驱动器,USB驱动器,硬盘驱动器,软盘,SD卡,光盘驱动器或任何其他便携式数据存储介质。在某些实施例中,计算设备110为诸如个人计算机、平板电脑或智能电话之类的大量用户计算设备中的每一个提供接口,使得用户可以经由该接口与计算设备110通信,发送产品查询,通过计算设备110读取建议的关键字,选择建议的关键字之一以优化查询,并从计算设备110获得最终结果。
用户搜索历史160可被计算设备110访问,并且可以被定期更新。在某些实施例中,用户搜索历史160记录用户搜索的原始数据,原始搜索数据的每个条目可以包括搜索时间、执行搜索的顾客、顾客使用的关键字、与搜索有关的产品等。在某些实施例中,一个原始搜索数据条目可能不包括所有上面列出的信息。例如,原始搜索数据条目可能未得到特定产品。用户搜索历史160可以收集顾客在电子商务平台的主页上进行的搜索,和/或顾客在特定产品下提的问题。用户搜索历史160可以存储在计算设备110上,或者存储在计算设备110可访问的其他服务器计算设备上。
产品知识图(KG)180是从电子商务平台的产品数据库生成的。在某些实施例中,产品KG 180包含六种类型的节点:产品,类别,供应商,产地,品牌和商店。产品节点可以包括产品的标识、产品的标题或名称,产品的特征(例如颜色、重量或存储大小);类别节点可以包括不同级别的产品类别,例如,第一级类别中的“服装”,第二级类别中的“男式裤子”和第三级类别中的“牛仔裤”;供应商节点可以包括制造产品的工厂;产地可以包括产品的生产地;品牌可以包括产品的品牌名称;并且商店可以包括电子商务平台上卖方的名称或标识。每个节点都有名称和一组属性,这些属性由键-值对表示。例如,一个产品节点可能具有“颜色:红色”属性。具体来说,每个产品都有一个唯一的产品id,称为sku_id。边代表节点之间的关系。例如,产品节点和供应商节点之间的边表示该产品由该供应商“生产”。产品KG180可以存储在计算设备110上,或存储在计算设备110可访问的其他服务器计算设备上。
如图1所示,计算设备110可以包括但不限于处理器112、存储器114和存储设备116。在某些实施例中,计算设备110可以包括其他硬件组件和软件组件(未示出)以执行其对应任务。这些硬件和软件组件的示例可以包括但不限于其他所需的存储器、接口、总线、输入/输出(I/O)模块或设备、网络接口和外围设备。
处理器112可以是被配置为控制计算设备110的操作的中央处理单元(CPU)。处理器112可以执行计算设备110的操作系统(OS)或其他应用。在一些实施例中,计算设备110可以具有一个以上的CPU作为处理器,例如两个CPU、四个CPU、八个CPU或任何合适数量的CPU。存储器114可以是易失性存储器,例如随机存取存储器(RAM),用于在计算设备110的操作期间存储数据和信息。在某些实施例中,存储器114可以是易失性存储器阵列。在某些实施例中,计算设备110可以在一个以上的存储器114上运行。存储设备116是用于存储计算设备110的OS(未示出)和其他应用的非易失性数据存储介质。设备116的示例可以包括非易失性存储器,诸如闪存、存储卡、USB驱动器、硬盘驱动器、软盘、光盘驱动器、固态驱动器(SSD)或任何其他类型的数据存储设备。在某些实施例中,存储设备116可以是本地存储、远程存储或云存储。在某些实施例中,计算设备110可以具有多个存储设备116,其可以是相同的存储设备或不同类型的存储设备,并且计算设备110的应用可以存储在计算设备110的一个或多个存储设备116中。在某些实施例中,计算设备110是云计算机,并且处理器112、存储器114和存储设备116是通过互联网按需提供的共享资源。
如图1所示,存储设备116包括推理模型生成应用120和用户对话应用140。推理模型生成应用120被配置为使用原始用户搜索历史160以及可选地使用产品KG 180来构建推理模型并更新模型。用户对话应用140驱动交互式用户搜索聊天会话,并使用推理模型向用户建议下一个搜索关键字。如上所述,可以从电子商务网站检索原始用户搜索历史160,并将其提供给推理模型生成应用120,更具体地说,提供给外部数据检索器122。产品KG 180从商户的产品数据库中生成并被提供给推理模型生成应用120。产品KG 180可通过外部数据检索器122检索,并由KG关键字集(KG_kwd)生成器126以及对话和查询控制器142使用。
推理模型生成应用120包括:外部数据检索器122,搜索日志格式化器124,KG关键字集生成器126,产品类别划分器128,搜索日志解析器130,关键字对生成器132,关键字过滤器134,推理模型生成器136等。在某些实施例中,推理模型生成应用120可以包括推理模型生成应用120的操作所必需的其他应用或模块。应当注意,每个模块均由计算机可执行代码或指令,或数据表或数据库,共同构成一个应用来实现。在某些实施例中,每个模块可以进一步包括子模块。或者,一些模块可以组合为一个堆栈。在其他实施例中,某些模块可以被实现为电路而不是可执行代码。在某些实施例中,推理模型生成应用120的一些或全部模块可以位于远程计算设备处或分布在云中。
外部数据检索器122被配置为从外部数据源原始用户搜索历史160中检索原始用户搜索历史以及从外部数据源产品知识图(KG)180中获得产品知识图(KG),发送检索到的用户搜索历史到搜索日志格式化器124,并将KG发送到KG关键字集(KG_kwd)生成器126。外部数据检索器122可以检索指定时间范围内的原始搜索历史,例如上季度(季节)、去年、过去五年或一定数量的最新数据条目,例如最近的1百万个数据条目,最近的1千万个数据条目或最近的10亿个数据条目,或所有可用的搜索日志。在一示例中,外部数据检索器122被配置为检索最近的100亿次搜索历史。
搜索日志格式化器124被配置为在从外部数据检索器122接收或检索原始用户搜索历史时,将用户搜索历史的每个数据条目转换为搜索日志的条目,并将格式化的搜索日志发送给产品类别划分器128。在某些实施例中,搜索日志被存储为关系表。在某些实施例中,搜索日志具有以下四个列/属性:搜索时间,搜索用户id,搜索语句和产品sku_id。在某些实施例中,如果原始搜索数据条目不具有可用的产品sku_id信息,则将该数据条目丢弃。得到的搜索日志示例为“1485219945761,jd_6d2ca1099ef04,Huawei mates full netcom(华为mates全网通),1774083971”,其中“1485219945761”是搜索的时间戳,“jd_6d2ca1099ef04”是执行搜索的用户的id,“Huawei mates full netcom”是搜索语句,而1774083971是与搜索相对应的产品id。在某些实施例中,并非所有上面列出的信息对于构造推理模型都是必需的。例如,仅搜索语句就足以构建推理模型,而不必具有时间戳,用户id和产品id。
KG关键字集(KG_kwd)生成器126被配置为在从外部数据检索器122接收或检索到产品知识图(KG)时,生成通用关键字集(KG_kwd),并将KG_kwd发送给关键字过滤器134。通过遍历产品知识图KG并从每个节点收集信息来完成此操作。在KG中,每个节点都有一个名称和一组属性,这些属性由键-值对表示。KG_kwd包含所有节点类型、名称、节点属性键和值。在某些实施例中,每个关键字与指示其在KG中出现多少次的整数相关联。与关键字关联的整数也称为该关键字的频率。KG_kwd稍后由关键字过滤器134用于过滤从用户搜索历史生成的关键字对。KG_kwd也可供用户对话应用140访问。在某些实施例中,KG_kwd在具有产品KG的服务器中生成,并且是产品KG的一部分。在这种情况下,推理模型生成应用120不具有用于生成KG_kwd的KG_kwd生成器126。相反,推理模型生成应用120从产品KG 180检索KG_kwd。
产品类别划分器128被配置为在从搜索日志格式化器124接收到历史用户搜索日志之后,基于它们的产品类别将搜索日志分成不同的划分结果。产品类别信息是从每个搜索日志中的产品sku_id信息推导的,因为每个sku_id都属于一产品类别(例如,“iPhone”属于“手机”类别)。属于同一产品类别的搜索日志形成一个产品类别划分结果(PCP)。产品类别划分器128可以进一步检索指定时间范围内的搜索日志,例如上季度(季节)、去年、过去五年,或者可以是一定数量的最新数据条目,例如最近1百万个数据项,最近1千万个数据条目或最近10亿个数据条目或所有搜索日志。在一示例中,产品类别划分器128检索最近的100亿个搜索日志。产品类别划分器128还被配置为在生成PCP之后,将PCP发送到搜索日志解析器130。
搜索日志解析器130被配置为在接收到划分后的搜索日志(PCP)之后,将PCP中的每个搜索日志的搜索语句分解为关键字序列。例如,将搜索日志的搜索语句“Huawei matesfull netcom(华为mates全网通)”分解为“Huawei//mates//full netcom(华为//mates//全网通)”。在每个解析的关键字序列中,第一个关键字被称为该关键字序列的入口关键字。然后,搜索日志解析器130通过从每个PCP的所有关键字序列中收集第一个关键字来构造入口关键字集。在确定了入口关键字之后,搜索日志解析器130进一步将每个PCP中解析的搜索日志划分为不同的子集;每个子集称为入口产品类别划分结果(EPCP),由共有相同第一个关键字(入口关键字)的搜索日志组成。然后,搜索日志解析器130将具有生成的关键字序列的子划分结果(EPCP)发送到关键字对生成器132。
关键字对生成器132被配置为在接收到来自每个EPCP的关键字序列时,生成关键字对列表。对于一个EPCP中的每个关键字序列,通过将每个关键字和其后的关键字(如果存在)配对来生成关键字对。例如,对于关键字序列“Huawei//mates//full netcom”,生成两个关键字对“Huawei//mates”和“mates//full netcom”。关键字对生成器132被配置为针对每个EPCP生成关键字对,将所生成的关键字对加在一起以形成关键字对列表,并且将关键字对列表发送到关键字过滤器134。
关键字过滤器134被配置为在从关键字过滤器132接收到关键字对列表并且从KG_kwd生成器126接收到KG_kwd集之后,去除不需要的关键字对。具体地,如果KG关键字集中不存在来自关键字对的至少一个关键字,则关键字过滤器134被配置为从关键字对列表中删除该关键字对,因为我们知道在涉及该关键字对的图查询期间将不存在匹配项。关键字过滤器134还被配置为将过滤后的关键字对列表发送到推理模型生成器136。
推理模型生成器136被配置为在从关键字过滤器134接收到过滤后的关键字对列表之后,针对每个EPCP生成推理模型。推理模型生成器136首先通过插入节点来初始化推理模型图。每个节点代表关键字对中的一个关键字。如果同一关键字出现在多个关键字对中,则为该关键字仅插入一个节点。与入口关键字相对应的节点称为入口节点。
然后,对于每个关键字对,推理模型生成器136首先在推理模型图中定位两个对应的节点,然后插入从关键字对中的第一个关键字的节点到相同关键字对的第二个关键字的节点的临时边。请注意,关键字对列表中可能存在重复的关键字对,并且在这种情况下会插入多个边。此外,每个临时边的方向从对应的关键字对中的第一个关键字指向该关键字对中的第二个关键字。
在将所有节点和临时边都插入到推理模型图中之后,推理模型生成器136计算从一个节点(关键字)u到另一节点(关键字)v的临时边的概率。该概率表示:总体根据历史用户搜索数据,用户在搜索关键字u之后搜索关键字v的可能性。因此,对于每个节点u,推理模型生成器136首先将临时输出边的数量计数为m。然后,对于其每个相邻节点v,它将从u到v的临时边的数量计为n。然后,从u到v的边的概率被计算为n/m。在概率计算完成后,只保留一个从u到v的边,所有其他临时边被合并/删除。结果图是EPCP的推理模型;它具有一个由入口节点表示的入口点。该模型表示从一个节点到其所有相邻节点的概率分布,该概率是根据历史数据在一个关键字后搜索另一个关键字的可能性。图2A示意性地示出了用于计算推理模型中的概率的示例。如图2A所示,对于节点u,有k个相邻节点v1,v2,v3,…,vk,即,有k个过滤后的关键字对(u,v1),(u,v2),(u,v3),…,(u,vk)可用。过滤后的关键字对的数量为m1个(u,v1),m2个(u,v2),m3个(u,v3),…,mk个(u,vk)。因此,u到v1边的概率值为u到v2边的概率值为/>u到v3边的概率值为/>u到vk边的概率值为/>在某些实施例中,关键字对(u,u)在过滤过程中被关键字过滤器134过滤。在其他实施例中,关键字对(u,u)没有被关键字过滤器134过滤,并且以上计算也合并了u到u的概率值。在这种情况下,u到u边的概率值为/>u到vk边的概率值为/>在一个示例中,我们可能有“Huawei”-0.25->“Mate9”,“Huawei”-0.11->“P9”等。这意味着,用户整体上有25%的概率在搜索“Huawei”后搜索“Mate9”,并且有11%的概率在搜索“Huawei”后搜索“P9”。图2B中示出了推理模型的一部分的示例。如图2B所示,推理模型是由节点和边组成的图。每条边具有从一个节点到另一节点的方向,以及与该边相关联的概率值。概率值表示用户在搜索边的开始关键字之后搜索结束关键字的概率。从节点“Huawei”到“手机”、“p9”、“mate9”、“mate9pro”等都有边。每条边的值是用户搜索“Huawei”后分别搜索“手机”、“p9”、“mate9”、“mate9pro”的概率,分别为0.33229、0.10763、0.23000和0.01242。推理模型可以由用户对话应用140使用,更具体地说,可以由前k个关键字生成器144使用。
用户对话应用140包括对话和查询控制器142和前k个关键字生成器144等。在某些实施例中,用户对话应用140可以包括用户对话应用的操作所必需的其他应用或模块。应当指出,每个模块都是由共同构成一个应用的计算机可执行代码或指令、或数据表或数据库实现的。在某些实施例中,每个模块可以进一步包括子模块。或者,一些模块可以组合为一个堆栈。在其他实施例中,某些模块可以被实现为电路而不是可执行代码。在某些实施例中,用户对话应用140的一些或全部模块可以位于远程计算设备处或分布在云中。
对话和查询控制器142被配置为提供用户界面以开始与用户的交互式聊天会话,接收初始用户输入语句,并且在接收到初始用户输入语句时,将输入语句分解为关键字序列。对话和查询控制器142还被配置为选择关键字序列中的、在KG关键字集中频率最高的关键字作为入口关键字,并在需要时将具有该入口关键字的对应推理模型加载到存储器中。
在将输入语句分解成关键字序列并加载了对应的推理模型和产品KG之后,对话和查询控制器142首先基于入口关键字构建查询图,并使用查询图查询产品KG(在某些实施例中,则可以稍后在必要时确定并加载对应的推理模型)。查询图仅基于入口关键字包含一个节点。如果入口关键字是属性键,则对话和查询控制器142添加具有该属性键的节点。如果入口关键字是属性值,则对话和查询控制器142找到其对应的键并添加具有该属性键-值对的节点。例如,如果入口关键字是“颜色”,则对话和查询控制器142形成查询图以包括节点“颜色”。如果入口关键字是“红色”,则对话和查询控制器142形成查询图以包括具有“颜色-红色”的属性键-值对的节点“颜色”。
图查询是用户搜索关键字和产品知识图KG之间的桥梁。它用于生成下一个搜索候选关键字,该候选关键字可以是一组产品或一组属性。图查询是包含一组节点和边的图。一个节点包含一个类型、名称和一组属性,一条边表示两个节点之间的关系。给定图查询和KG,使用子图同构来回答查询。子图同构问题是一项计算任务,其中给出了两个图G和H作为输入,并且必须确定G是否包含与H同构的子图。有关更多详细信息,请参见https://en.wikipedia.org/wiki/Subgraph_isomorphism_problem,通过引用将其全部内容并入本文。
在使用查询图查询产品KG之后,对话和查询控制器142获得查询结果。在某些实施例中,子图同构用于查找查询结果。例如,如果我们有具有两个节点的查询图,一个节点的类型为“手机”,一个节点的类型为“公司”并且名称为“Google”,而它们之间的一条边为“由其生产的”。那么答案是由Google生产的所有电话,例如Pixel等。在某些实施例中,使用查询图针对产品KG的查询结果可能没有结果,也可能有一个或多个结果。
当查询结果为空(无结果)时,搜索过程可以停止,或者,搜索过程可以修改查询图以获得查询结果。例如,可以删除查询图中的一个或多个单词,以使修改后的查询具有较少的限制,从而获得一定的查询结果。例如,如果我们想找到一个“蓝色iPhone X”,它会被处理并用于查询产品KG。由于不存在颜色为蓝色的iPhone X,因此产品KG无法匹配。在这种情况下,系统将从查询图上删除“蓝色”或“iPhone X”以获得修改后的查询图,并从修改后的查询图返回部分查询结果。例如,如果从查询图中删除“iPhone X”,则查询结果为蓝色手机(而不是iPhone X),如果从查询图中删除“蓝色”,则查询结果为iPhone X(但具有其他颜色)。当获得部分结果时,确定部分结果中的结果条目的数量,并且基于结果条目的数量继续进行处理。
当查询结果包括来自产品KG的一个至预定数量个的结果条目时,例如1至5个结果条目或1至3个结果条目(预定数量为5或3),则将查询结果呈现给用户。例如,具有手机“颜色”的查询图可能产生具有颜色“红色”的查询结果。在这种情况下,对话和查询控制器142被配置为向用户呈现准确的结果而无需借助推理模型。
当查询结果包括多于预定数量的结果条目时,提示机制被触发,并且对话和查询控制器142被配置为将查询图发送给前k个关键字生成器144。
对话和查询控制器142还被配置为,一旦从前k个关键字生成器144接收到前k个关键字,则检查聊天会话是否可以被停止。停止聊天会话的标准包括:用户找到他/她想要的东西,停止而不再单击所建议的关键字,关闭聊天窗口,或者前k个关键字生成器144不再提供足够的前k个关键字。
对话和查询控制器142还被配置为当用户选择前k个关键字之一时,将选择的前k个关键字添加到前一个查询图中以获得更新后的查询图,并使用更新后的查询图来查询产品KG,并根据查询结果中结果条目的数量,重复上述过程。
前k个关键字生成器144被配置为在接收到查询图时(当查询结果包括多于预定数量的结果条目时),基于推理模型和产品KG获得前k个关键字,并向用户呈现前k个关键字以供用户选择。在某些实施例中,基于入口关键字确定推理模型,并在此时将其加载到存储器。
在某些实施例中,获得前k个关键字涉及通过向当前查询图添加不同的候选关键字来形成更新后的查询图,并使用那些更新后的查询图查询产品KG以计算其目标函数值,并基于目标函数值获得候选关键字中的前k个关键字。具体地,使用当前查询图的查询结果可能包括数千条结果条目。在这种情况下,前k个关键字生成器144从推理模型中选择候选关键字(连接到入口关键字的所有关键字或除入口关键字以外的所有关键字),并将每个候选关键字分别添加到当前查询图中,以形成更新的查询图。这些更新的查询图分别用于查询产品KG,并且查询结果用于计算更新的查询图的目标函数。然后选择具有最高目标函数的更新查询图,并将来自所选更新查询图的对应候选关键字(它们的前k个)呈现给用户。目标函数的计算可以通过本公开中稍后描述的精确算法、2-近似算法或启发式算法来执行。在某些实施例中,k是2至8的范围内的正整数(请注意,k是独立于上述预定数字的数,并且k和预定数字可以彼此相同或不同)。在某些实施例中,k在3至5的范围内。在一个实施例中,k为5。也就是说,来自推理模型的五个关键字具有高的目标函数值,并且很可能是入口关键字之后(或上一轮关键字之后)的下一个关键字,并且将这五个关键字呈现给用户。当用户从这五个关键字中选择一个关键字时,所选关键字将用于更新先前的查询图。在某些实施例中,当没有足够的候选关键字可供选择时(例如1或2个候选关键字),所得到的关键字可以小于所定义的五个关键字限制。在这种情况下,前k个关键字生成器144可以将所有那些候选关键字呈现给用户,并当用户选择候选关键字之一时指示应用:使用所选关键字和先前的查询图形成更新的查询图,使用更新的查询图查询产品KG,并将查询结果或查询结果的前几个结果条目呈现给用户(例如前3个结果条目)。
如上所述,前k个关键字生成器144被配置为在接收到图查询时(当图查询的查询结果包括大于预定数量的结果条目时),基于推理模型和产品KG选择前k个多样化关键字。此处的目标是在所有可能的候选中选择具有最高组合概率的并且具有最高的答案覆盖率的前k个关键字。使用以下公式生成前k个关键字:
以及
在上面的公式中,R是排名靠前候选关键字集,w'是当前关键字,w表示R中的每个关键字,p(w',w)表示推理模型中从关键字w'到关键字w的概率值,|R|是R中的关键字的数量,w1和w2是R中的两个关键字,Qw1是通过将关键字w1添加到当前图查询中而获得的图查询,Qw1(KG)是使用图查询Qw1查询产品知识图的答案,Qw2是通过在当前图查询中添加关键字w2而获得的图查询,以及Qw2(KG)是使用图查询Qw2查询产品知识图的答案。在某些实施例中,排名靠前候选关键字集R包括3至5个候选关键字,并且在一个实施例中,排名靠前候选关键字集R包括5个候选关键字。
函数diff(w1,w2)测量两个候选关键字w1和w2之间的差异,并使用分别包含关键字w1和w2的两个集合之间的标准Jaccard距离进行计算。有关Jaccard距离的详细说明,请参阅https://en.wikipedia.org/wiki/Jaccard_index,其全部内容通过引用合并于此。前k个关键字生成器144的总体目标是选择可以使目标函数F(R)最大化的前k个关键字的集合。F(R)有两个要求。第一个要求是寻找那些具有高概率的候选关键字。同时,还需要这些候选之间的差异较大。在某些实施例中,前k个关键字生成器144被配置为使用以下三种方法中的至少一种来获得使函数F(R)优化的前k个关键字。
在某些实施例中,前k个关键字生成器144被配置为使用第一种方法即精确方法,来获得前k个关键字。该算法枚举所有可能的前k个关键字集并选择排名靠前的关键字集。这是一个不确定的多项式时间问题(NP-hard问题)。例如,如果有100个候选关键字,并且要选择前5个关键字,则有100x99x98x97x96/(5x4x3x2)种选择,即超过7500万种选择。前k个关键字生成器144被配置为针对每个选择计算F(R),并且将具有最大的F(R)值的选择确定为结果。该方法保证了最佳答案,但速度较慢,在实际实现中可能不实用。然而,如果硬件的计算能力足够,则前k个关键字生成器144可能更优选使用该方法来获得前k个关键字。
在某些实施例中,前k个关键字生成器144被配置为使用第二种方法即近似方法,来获得前k个关键字。在此方法中,用于选择关键字对的目标函数定义为:
F(w1,w2)=p(w’,w1)+p(w’,w2)+diff(w1,w2)。
前k个关键字生成器144被配置为使用以下步骤来获得前k个关键字:(1)给定由用户在前一轮中选择的关键字w'(或在第一轮中仅为入口关键字),系统首先在推理模型图中找到w'的所有传出邻居作为候选集O。(2)对于O中的每个关键字w,系统通过将w集成到当前查询Q中来生成更新的查询Qw。(3)对于每个更新查询Qw,其Qw(KG)中的答案集由查询索引计算得出。如果Qw(KG)为空,则丢弃该更新查询和对应的关键字w。(4)对于O中的每对候选关键字,计算成对目标函数F(w1,w2)。(5)候选对按其目标函数值从高到低排序。继续选择候选对并将候选添加到W中,直到W达到大小k;如果k是奇数,则前k个关键字生成器144可以简单地保留最后一对中的一个关键字而丢弃另一个。所有已选择的关键字均不参与下一轮选择。(6)将所选的候选作为前k个建议关键字返回给用户。在用户选择了前k个建议关键字之一之后,重复过程(1)-(6),直到用户对结果满意为止,或者直到不再有可用的前k个建议关键字为止。
顾名思义,这是一种近似算法。该算法的性能比精确算法要好得多(速度快、结果合理),但是不能保证最优解。
在某些实施例中,前k个关键字生成器144被配置为使用第三种方法即启发式方法,来获得前k个关键字。在该方法中,前k个关键字生成器144选择使f(R∪w)最大化的关键字,直到|R|=k为止。换句话说,当需要k个关键字时,前k个关键字生成器144为所有候选关键字(诸如推理模型中不在查询图中的所有其他关键字)确定函数f(R∪w)的值。在候选关键字中,选择具有函数f(R∪w)的最高值的k个关键字为前k个关键字。这里,f(R∪w)=F(R∪w)-F(R),即,f(R∪w)是在添加一个候选关键字之前和之后的F函数之间的差。
在某些实施例中,基于可用的计算源来使用第二或第三种方法。在某些实施例中,当计算能力不是限制因素时,也可以使用第一方法。
在前k个关键字生成器144确定了前k个关键字并且将前k个关键字呈现给用户之后,用户选择前k个关键字之一。然后,对话和查询控制器142使用该新选择的关键字来更新查询图,并再次使用更新后的查询图来查询产品知识图(KG)以获得查询结果。如果查询结果包括多于预定数量的结果条目,则前k个关键字生成器144使用推理模型和产品KG基于查询结果生成下一组前k个关键字,并向用户呈现新一轮的前k个关键字。用户做出另一个选择。该过程继续进行,直到满足预定义的聊天停止标准为止。预定义的停止标准可以是但不限于:用户对答案感到满意,或者当前建议的关键字数量小于预定义的限制,例如五个(换句话说,当使用当前查询图针对产品KG进行搜索时,只有预定数量的结果条目,例如1至5个结果条目)。
图3示意性地描绘了根据本公开的某些实施例的构建和更新智能购物引导系统的流程图。在某些实施例中,构建和更新智能购物引导系统由图1所示的服务器计算设备110实现。
如图3所示,在流程图300中,外部数据检索器122从外部数据源原始用户搜索历史160中检索原始用户搜索历史,并从外部数据源产品知识图180中检索产品知识图(KG),将原始用户搜索历史发送到搜索日志格式化器124,并将产品KG发送到KG关键字集(KG_kwd)生成器126。
搜索日志格式化器124在从外部数据检索器122接收到原始用户搜索历史后,将每个数据条目转换为重新格式化的搜索日志。搜索日志格式化器124将格式化的搜索日志发送到数据划分器128。
当从外部数据检索器122接收到产品KG时,KG关键字集(KG_kwd)生成器126生成通用KG关键字集(KG_kwd)。然后,KG_kwd生成器126将生成的KG_kwd发送到关键字过滤器134。
产品类别划分器128在从搜索日志格式化器124接收到历史用户搜索日志后,基于其产品类别将搜索日志分成不同的划分结果(PCP)。属于同一产品类别的搜索日志形成一个PCP。然后,产品类别划分器128将划分后的搜索日志(PCP)发送到搜索日志解析器130。
搜索日志解析器130在接收到划分后的搜索日志(PCP)之后,将每个搜索日志的查询语句分解为关键字序列,并基于其搜索语句中的第一个关键字(入口关键字)将每个PCP进一步划分为子集,每个子集都称为入口字PCP(EPCP)。然后,搜索日志解析器130将具有关键字序列的EPCP发送到关键字对生成器132。
关键字对生成器132在接收到每个EPCP的关键字序列时,基于关键字序列中的相邻关键字来生成关键字对列表。然后,关键字对生成器132将关键字对列表发送到关键字过滤器134。
关键字过滤器134在接收到关键字对列表和KG_kwd时,去除不需要的关键字对,过滤具有至少一个不属于KG_kwd的关键字的关键字对列表。然后,关键字过滤器134将过滤后的关键字对列表发送到推理模型生成器136。
推理模型生成器136在接收到过滤后的关键字列表时,针对每个EPCP生成推理模型。推理模型表示从一个节点到其所有相邻节点的概率分布,该概率是根据历史数据在搜索一个关键字后搜索另一个关键字的可能性。对话和查询控制器142可以使用推理模型。所生成的推理模型可以存储在存储设备116中,并且在某些实施例中,可以在用户对话应用140的操作期间加载到存储器114中。
对话和查询控制器142在经由用户界面接收到初始用户搜索语句时,驱动与用户的交互式搜索聊天会话。对话和查询控制器142基于初始用户搜索语句构建图查询,使用图查询查询知识图(KG)以获得KG结果,调用推理模型以基于KG结果和推理模型生成前k个关键字,并向用户呈现前k个关键字以供选择。在用户选择了前k个关键字之一之后,对话和查询控制器142使用所选关键字更新图查询,重复查询KG,并再次调用前k个关键字生成器144以生成新的前k个关键字的集合,并且向用户呈现新的前k个关键字的集合。该过程一直持续到搜索任务完成为止。
当接收到针对KG的图查询结果时,前k个关键字生成器144基于推理模型选择前k个多样化关键字。此处的目标是选择前k个关键字,以使所有可能的候选关键字之间的组合概率加上候选关键字之间的差异得到的和最大化。
图4A和图4B示意性地描绘了根据本公开的某些实施例的用于生成推理模型的方法。在某些实施例中,该方法由图1所示的计算设备110实现。在某些实施例中,图4A和图4B所示的方法对应于推理模型生成应用120的功能。除非本公开中另有说明,否则该方法的步骤可以以不同的顺序排列,因此不限于图4A和图4B所示的顺序。
如图4A和4B所示,在过程402中,外部数据检索器122从对应的外部数据源检索或接收原始用户搜索历史160和产品知识图(KG)180,将原始用户搜索历史发送到搜索日志格式化器124,并将产品KG发送到KG关键字集(KG_kwd)生成器126。
在过程404中,在接收到原始用户搜索历史时,搜索日志格式化器124将每个原始用户搜索历史数据条目转换成历史用户搜索日志。获得的搜索日志被存储在关系表中。在某些实施例中,每个搜索日志具有以下四个列/属性:搜索时间,搜索用户id,搜索语句和产品sku_id。如果原始搜索条目没有可用的产品sku_id信息,则该条目将被丢弃。
在过程406中,在接收到产品KG时,KG_kwd生成器126根据产品KG生成通用关键字集(KG_kwd)。这是通过遍历产品知识图并从每个节点收集信息来完成的。在KG中,每个节点都有类型、名称和一组属性,这些属性由键-值对表示。KG_kwd包含所有节点类型、名称、节点属性键和值。每个关键字都与指示其在KG中出现了多少次的整数相关联。在某些实施例中,不需要外部数据检索器122检索产品KG并将产品KG发送到KG_kwd生成器126。相反,KG_kwd生成器126可访问产品KG,并且KG_kwd生成器126对产品KG执行某些功能以获得KG_kwd。在获得KG_kwd之后,KG_kwd生成器126将KG_kwd发送到关键字过滤器134。
在过程408中,在从搜索日志格式化器124接收到搜索日志之后,产品类别划分器128基于产品类别将历史用户搜索日志分为不同的划分结果。属于同一产品类别的搜索日志形成一个产品类别划分结果(PCP)。在完成划分之后,产品类别划分器128将PCP发送到搜索日志解析器130。
在过程410中,在接收到包含搜索日志的PCP时,搜索日志解析器130将每个搜索日志的搜索语句分解为关键字序列。每个关键字序列中的第一个关键字称为该关键字序列的入口关键字。
在过程412中,在将搜索语句分解成关键字序列之后,搜索日志解析器130还通过从正在处理的当前PCP的所有关键字序列中收集第一个关键字或入口关键字来构建入口关键字集。
在过程414中,然后,搜索日志解析器130基于入口关键字将每个PCP划分为子集。每个子集称为入口产品类别划分结果(EPCP),它由共有相同的第一个关键字(入口关键字)的搜索日志组成。搜索日志解析器130以这种方式处理所有PCP,以获得每个PCP的EPCP,并将包含关键字序列和入口关键字集的EPCP发送给关键字对生成器132。
在过程416中,在接收到包含关键字序列的EPCP时,关键字对生成器132针对每个EPCP生成关键字对列表。对于EPCP中的每个关键字序列,通过将每个关键字和其后的关键字(如果存在)配对来生成关键字对。关键字对生成器132将所有生成的关键字对加在一起以形成关键字对列表,并将关键字对列表发送到关键字过滤器134。
在过程418中,在从关键字对生成器132接收到关键字对列表并且从KG_kwd生成器122接收到KG_kwd时,关键字过滤器134针对每个EPCP,从关键字对列表中去除不需要的关键字对。如果关键字对中的至少一个关键字在KG关键字集KG_kwd中不存在,则将该关键字对从关键字对列表中删除。然后,关键字过滤器134将每个EPCP的过滤后的关键字对列表发送到推理模型生成器136。在某些实施例中,当在KG_kwd中未列出入口关键字时,EPCP将被删除。
在过程420中,在从关键字过滤器134接收到针对每个EPCP的过滤后的关键字对列表之后,推理模型生成器136针对每个EPCP生成一个推理模型。具体地,对于具有关键字对列表的每个EPCP,推理模型生成器136首先通过仅针对每个EPCP插入节点来初始化推理模型图。每个节点对应于对应EPCP的过滤后的关键字对中的一个关键字。如果关键字在关键字对列表中多次存在,则仅创建一个节点。入口关键字的节点称为入口节点。
在过程422中,推理模型生成器136检查是否还有更多的过滤后的关键字对要处理。如果存在更多的过滤后的关键字对,则推理模型生成器136检索下一个过滤后的关键字对并调用过程424。否则,调用过程426。
在过程424中,推理模型生成器136首先在推理模型图中定位关键字对的对应两个节点。然后,它插入从第一个关键字的节点到第二个关键字的节点的一个临时边。
在过程426中,当处理了EPCP中的所有过滤后的关键字对时,推理模型生成器136对从第一节点指向多个第二节点的所有临时边的数量进行计数,并通过以下方式计算从第一节点到第二节点中的一个第二节点的概率值:用从第一节点到第二节点中的所述一个第二节点的临时边的数量除以从第一节点到所有第二节点的临时边的总数。
在一个推理模型中所有节点之间的所有概率(或概率值)的计算之后或计算期间,推理模型生成器136将相同两个节点之间具有相同方向的所有临时边合并为一个边,并将两个节点之间的概率分配给此合并后的边。通过以上过程,推理模型生成器136针对每个EPCP构建推理模型。如上所述,每个推理模型包括多个表示用户经常使用的关键字的节点,并且从一个节点到另一个节点的边与概率值相关联。概率值表示用户在搜索与两个节点中的一个节点相对应的关键字后搜索与两个节点中的另一个节点相对应的关键字的概率。
图5示意性地描绘了根据本公开的某些实施例的用于进行交互式用户搜索聊天会话的方法。在某些实施例中,该方法由图1所示的计算设备110实现。在某些实施例中,图5所示的方法对应于用户对话应用140的功能。应当特别注意的是,除非在本公开中另有说明,否则该方法的步骤可以以不同的顺序排列,因此不限于图5所示的顺序。
如图5所示,在过程502中,对话和查询控制器142向诸如通用计算机、平板或智能电话之类的用户终端提供用户界面,并经由该用户界面接收用户输入。用户输入可以是初始用户搜索语句。
在过程504中,对话和查询控制器142在接收到用户搜索语句之后,将用户搜索语句分解成关键字序列,并选择频率最高的关键字作为入口关键字。通过参考对话和查询控制器142可访问的关键字集KG_kwd来确定关键字序列中关键字的频率。如本公开的先前部分中所描述,KG_kwd是使用产品KG生成的,并且包含产品KG中的所有节点类型名称、节点属性键和值,并且每个关键字都与指示关键字在产品KG中出现的次数的整数相关联。KG_kwd中的整数也称为关键字的频率。与关键字序列中其他关键字的整数相比,用户搜索语句的关键字序列中的入口关键字具有最大的整数。
在过程506中,在确定初始用户搜索语句的关键字序列的入口关键字之后,对话和查询控制器142检索具有相同入口关键字的推理模型,并将该推理模型加载到存储器。同时,对话和查询控制器142还可以访问产品KG。例如,产品KG也可以被加载到存储器中。在某些实施例中,可以在针对产品KG的查询给出的查询结果包括大于预定数量的结果条目时确定并稍后加载推理模型。在某些实施例中,尽管该方法包括迭代步骤,但是推理模型仅需要加载一次,因为迭代在迭代过程期间使用相同的产品KG和相同的推理模型。
在过程508中,对话和查询控制器142使用入口关键字来构建查询图。在某些实施例中,查询图仅使用在过程504中生成的入口关键字来包含一个节点。如果该关键字是属性键(例如“颜色”),则对话和查询控制器142添加具有该属性键的节点(节点“颜色”)。如果该关键字是属性值(例如“红色”),则对话和查询控制器142(使用KG_kwd)定位其对应的键,并添加具有该属性键-值对的节点(例如“颜色:红色”)。
在过程510中,对话和查询控制器142使用图查询来查询产品KG以获得查询结果,并且当查询结果包括多于预定数量的查询结果时,将查询图(或查询结果)发送到前k个关键字生成器144。如上面详细描述的,当查询结果为空时,对话和查询控制器142可以从查询图中删除一个重要性低或频率低的关键字,并使用新的查询图再次查询产品KG。可以重复删除,直到查询结果不为空。当查询结果包括少于预定数量的结果条目(例如1至5个结果条目)时,将1至5个结果条目呈现给用户。当查询结果包括多于预定数量的结果条目时,对话和查询控制器142将查询图发送到前k个关键字生成器144。
在过程512中,在从对话和查询控制器142接收到查询图(当查询结果具有多于预定数量的结果条目时)时,前k个关键字生成器144基于推理模型和产品KG从推理模型中选择前k个多样化关键字。在某些实施例中,来自关键字序列的入口关键字在推理模式中具有对应的节点,并且该入口关键字节点被指向对应于多个不同关键字的多个节点。前k个关键字生成器144基于不同的算法从推理模型中的多个不同关键字中选择前k个关键字(在其他实施例中,前k个关键字生成器144还可以从推理模型中的所有关键字中选择前k个关键字)。在某些实施例中,k是2至10的范围内的正整数,并且前k个关键字可以是例如前3个、前4个或前5个关键字。在某些实施例中,前k个关键字生成器144通过优化上述目标函数F(R)来执行前k个关键字的选择,该目标函数考虑从入口关键字到前k个关键字的高概率以及前k个关键字之间的差异。在某些实施例中,为了优化目标函数F(R),前k个关键字生成器144使用精确方法、2-近似方法和启发式方法中的至少一种。在某些实施例中,由于计算速度的原因,优选2-近似方法和启发式方法。在某些实施例中,启发式方法用于快速计算。在某些实施例中,将2-近似方法和启发式方法的结果相结合以提供更准确的预测。在某些实施例中,当计算能力足够时,使用精确方法来提供最高的预测精度。在获得前k个关键字之后,前k个关键字生成器144将前k个关键字发送给对话和查询控制器142。
在过程514中,在接收到前k个关键字时,对话和查询控制器142确定聊天会话是否可以结束。结束聊天会话的标准可以包括用户是否对搜索结果感到满意或是否有足够的前k个关键字可用。例如,如果用户对搜索结果感到满意并且没有选择或没有单击呈现给他/她的前k个关键字,或者用户结束了聊天会话,则该过程结束。如果在使用查询图的上一轮搜索中,查询结果包括少于预定数量的结果条目,则将这些结果条目呈现给用户,并且不需要进一步提出前k个关键字的建议。但是,如果上一轮查询产生大量结果条目,则将生成前k个关键字,并且在过程516中,对话和查询控制器142通过用户界面将前k个关键字呈现给用户。
在过程518中,用户选择所呈现的前k个关键字之一,该选择由对话和查询控制器142接收,并且对话和查询控制器142将所选关键字添加到初始图查询。现在,更新后的查询包括入口关键字和所选关键字,以及从入口关键字到所选关键字的边。
利用可用的更新后的图查询,对话和查询控制器142从过程510起重复上述过程。在某些实施例中,对话和查询控制器142使用更新的图查询来查询产品KG以获得查询结果,并且当查询结果包括多于预定数量的结果时,将更新的图查询发送到前k个关键字生成器144以生成新的前k个关键字集合,并将所生成的前k个关键字呈现给用户以供选择。在某些实施例中,当向用户呈现前k个关键字时,对话和查询控制器142还向用户呈现多个顶部查询结果,例如3至5个排名靠前的查询结果,并且当用户对其中一个结果感到满意时,他/她不需要选择前k个关键字之一,因此可以结束该过程。
在过程514中,当没有足够的前k个关键字时,对话和查询控制器142在过程520结束聊天会话,因为整个过程已经使用了推理模型中可用的大多数信息。在某些实施例中,当用户对搜索结果感到满意时,聊天会话由用户结束。在某些实施例中,如上所述,当结果条目的数量小于预定数量时,该过程结束。
图6示出了根据本公开的某些实施例的基于提示的对话系统。在某些实施例中,该系统被实现为图1所示的系统100。该对话系统有效地提供了模糊问题的答案,其中模糊问题意味着用户提出了初始但简单的问题,并且需要指导以帮助他找到答案,并且系统可以提供一组产品供用户从中选择。如图6所示,基于提示的对话系统在第一步骤中收集电子商务平台中不同客户的搜索数据。搜索数据可以是预定时间(例如去年)中的历史搜索数据。在第二步骤中,系统构建推理模型。构建之后,可以基于新收集的数据定期更新那些推理模型。在步骤3中当用户想要在电子商务平台上提问时,他通过系统提供的对话界面从他的终端输入问题(查询)。问题可能是自然语言的句子。在接收到问题之后,系统在步骤4中将问题转换为图查询,并使用图查询来查询KG。当KG提供精确匹配或小于预定数量的结果(例如1至5个)时,查询结果将呈现给用户。当来自产品KG的查询结果为空时,系统可以停止该过程或从查询图中删除关键字,然后对产品KG进行新的查询。当来自产品KG的查询结果包括大量结果条目时,系统使用推理模型和产品KG选择候选关键字。在接收到问题之后或在接收到查询图之后,将查询图中(或问题中)具有最高关键字频率的关键字用作入口关键字,以加载对应的推理模型。通过将推理模型中的候选关键字添加到查询图,推理模型基于查询结果在步骤5中向对话界面提供前k个多样化的关键字(基于添加了不同的候选关键字的查询图的目标函数值),并且在步骤6中对话界面向用户显示前k个建议。在步骤7中,用户选择前k个建议之一。之后,该选择被反馈给系统,并通过将所选关键字添加到图查询中来更新初始图查询。图查询用于搜索KG,来自KG的结果输入到推理模型,推理模型提供另一组前k个多样化关键字,然后将前k个多样化关键字呈现给用户进行选择。重复该过程,直到用户找到满意的答案,或者推理模型无法提供足够数量的前k个关键字。
图7示意性地描绘了根据本公开的某些实施例的推理模型的构建。在某些实施例中,推理模型的构建由图1所示的计算设备110实现。在某些实施例中,推理模型被定义为有向图GI(VI,EI)。每个vI∈VI表示关键字,并且每个eI∈EI(v1→v2)表示在搜索v1之后搜索v2的概率。具体地,如图7所示,在从电子商务平台清理了顾客的搜索历史之后,搜索日志包括大量搜索条目。每个条目都有时间戳、用户ID、搜索文本/句子和产品ID。在某些实施例中,为了简单起见,搜索条目可以仅包括搜索语句和产品ID。根据来自KG的产品类别,将搜索日志根据产品类别划分为PCP。然后,系统使用解析器解析每个条目的搜索语句,并可选地删除某些不重要的单词,以获得关键字序列。每个关键字序列中的第一个关键字称为入口关键字。系统进一步基于入口关键字将每个PCP划分为多个EPCP,其中每个EPCP包括具有相同入口关键字的关键字序列。然后,系统针对每个EPCP构建一个推理模型。对于每个EPCP,系统都会生成一个关键字对列表。通过选择每个关键字及其后一个关键字(如果存在),从关键字序列中生成关键字对。关键字对使用KG_kwd进行过滤,其中如果关键字对中有一个关键字不属于KG_kwd,则该关键字对将被丢弃。在生成了关键字对列表并过滤了关键字对之后,使用获得的过滤后的关键字对来构建推理模型。系统首先通过将关键字对中的关键字定义为节点来初始化图。如果两个关键字相同,则仅定义一个与重复的关键字对应的节点。对于每个关键字对,从与该关键字对中的第一个关键字相对应的节点到与该关键字对中的第二个关键字相对应的节点插入临时边。如果两个关键字对相同,则添加两个临时边。绘制完所有节点和临时边后,将根据临时边的数量计算概率值。具体来说,对于节点m到其指向的所有节点n1,n2,n3..,nk,从节点m到节点nk的边的概率值计算为:从节点m到节点nk的临时边的数量除以从节点m到节点n1、从节点m到节点n2、从节点m到节点n3、…、以及从节点m到节点nk的临时边的总数。图7的右下角是推理模型的一部分,其中删除了一些节点和边,因此该图对于读者来说更易读。
总而言之,本公开的某些实施例提供了一种用于从电子商务网站上的历史用户搜索数据构建推理模型的框架。此外,提供了一个对话组件来指导用户利用推理模型快速找到他们想要的东西。
仅出于例示和描述的目的给出了对本公开的示例性实施例的前述描述,而无意于穷举本公开或将本公开限制为所公开的精确形式。根据以上教导,许多修改和变化是可能的。
选择和描述实施例是为了解释本公开的原理及其实际应用,以便使本领域的其他技术人员能够利用本公开和各种实施例并进行各种修改,以适合于预期的特定用途。在不脱离本发明的精神和范围的情况下,替代实施例对于本公开所属领域的技术人员将变得清楚。因此,本公开的范围由所附权利要求书而不是前述说明书和其中描述的示例性实施方式限定。
Claims (10)
1.一种用于构建推理模型的方法,包括:
由计算设备基于用户搜索数据提供多个推理模型,
其中每个所述推理模型包括节点和节点之间的边,每条所述边从第一节点指向第二节点并且表征有概率值,所述概率值表示在搜索与所述第一节点相对应的第一关键字之后搜索与所述第二节点相对应的第二关键字的概率;
其中,所述方法还包括:
提供产品知识图,所述产品知识图包括产品、产品类别、供应商、产地、产品品牌和产品零售商;
接收来自用户的查询条目;
解析所述查询条目以获得查询关键字,并且从所述查询关键字中确定入口关键字;
使用所述入口关键字建立图查询;
对所述产品知识图执行所述图查询以获得查询结果;
获得所述推理模型中的将所确定的入口关键字作为入口关键字的一个推理模型;
基于所述一个推理模型中的入口关键字与链接到所述入口关键字的关键字之间的概率值,从所述一个推理模型中获取多个排名靠前的候选关键字;以及
向用户提供所述排名靠前的候选关键字,以便用户能够选择所述排名靠前的候选关键字中的一个候选关键字进行进一步查询。
2.根据权利要求1所述的方法,其中通过以下方式提供所述多个推理模型:
检索所述用户搜索数据,所述用户搜索数据包括多个搜索条目,每个所述搜索条目对应于产品并且包括搜索语句;
基于所述搜索条目的对应产品将所述搜索条目划分为产品类别划分结果,使得同一产品类别划分结果中的搜索条目的对应产品属于同一类别;
将每个所述搜索条目解析为关键字序列,并且将所述关键字序列中的第一个关键字定义为入口关键字;
基于所述搜索条目的入口关键字将每个所述产品类别划分结果划分为入口关键字产品类别划分结果,使得同一入口关键字产品类别划分结果中的搜索条目具有相同的入口关键字;以及
对于每个所述入口关键字产品类别划分结果:
从所述入口关键字产品类别划分结果中的搜索条目的关键字序列生成关键字对列表,其中所述关键字对列表中的每个关键字对包括来自同一关键字序列的两个顺序相邻的关键字;以及
使用所述关键字对列表构建所述入口关键字产品类别划分结果的推理模型,
其中所述推理模型的节点是来自所述关键字对列表的关键字,从一个节点指向另一个节点的边表征有概率值,所述一个节点对应一个关键字,所述另一个节点对应另一个关键字,并且通过将具有所述一个关键字和所述另一个关键字的关键字对的数量除以具有所述一个关键字的关键字对的数量来计算所述概率值。
3.根据权利要求2所述的方法,其中将每个所述搜索条目解析为关键字序列的步骤包括:将每个所述搜索条目中的单词与产品知识图中的关键字集进行比较,以及将与所述关键字集匹配的单词保留为所述关键字序列中的关键字。
4.根据权利要求1所述的方法,其中通过最大化以下目标函数来执行获得所述排名靠前的候选关键字的步骤:
以及
其中R是排名靠前候选关键字集,w’是当前关键字,w表示R中的每个关键字,p(w′,w)表示从关键字w’到关键字w的概率值,|R|是R中的关键字的数量,w1和w2是R中的两个关键字,Qw1是通过将关键字w1添加到当前图查询中而获得的图查询,Qw1(KG)是使用图查询Qw1查询产品知识图的答案,Qw2是通过将关键字w2添加到当前图查询而获得的图查询,Qw2(KG)是使用图查询Qw2查询产品知识图的答案。
5.根据权利要求4所述的方法,其中所述排名靠前候选关键字集R包括3至5个候选关键字。
6.根据权利要求4所述的方法,其中通过以下方式执行获得所述排名靠前的候选关键字的步骤:
获得多个关键字,其中在所述推理模型中边从当前关键字w’指向每个获得的关键字;
从获得的关键字中选择预定数量的关键字,以形成一个候选关键字集R;
为每个候选关键字集R计算一个目标函数F(R);以及
确定具有最大值的一个候选关键字集R作为候选关键字集,并且该候选关键字集中的关键字是排名靠前的候选关键字。
7.根据权利要求4所述的方法,其中通过以下方式执行获得所述排名靠前的候选关键字的步骤:
获得多个关键字,其中在所述推理模型中边从当前关键字w’指向每个获得的关键字;
为获得的关键字中的任意两个关键字计算成对函数;
基于所述成对函数的值对所述成对函数进行排名,以获得成对函数排名;以及
选择与在所述成对函数排名中排名靠前的成对函数相对应的排名靠前的候选关键字,
其中通过以下公式计算获得的关键字中任意两个关键字w1和w2的所述成对函数:
f(w1,w2)=p(w’,w1)+p(w’,w2)+diff(w1,w2)。
8.根据权利要求4所述的方法,其中通过以下方式执行获得所述排名靠前的候选关键字的步骤:
从获得的关键字中选择第一关键字,其中当前关键字w’针对所述第一关键字具有最高的概率值;
从获得的关键字中选择第二关键字,其中所述第二关键字当与所述第一关键字组合时具有的目标函数值大于任意一个其他关键字与所述第一关键字的目标函数值;以及
从获得的关键字中选择后续关键字,直到预定数量的关键字被选择以形成所述排名靠前的候选关键字为止,其中所述后续关键字针对先前选择的关键字具有最大的目标函数。
9.一种包括计算设备的系统,所述计算设备包括处理器和存储计算机可执行代码的存储设备,其中所述计算机可执行代码在所述处理器处执行时被配置为执行根据权利要求1至8中任一项所述的方法的步骤。
10.一种存储计算机可执行代码的非暂时性计算机可读介质,其中所述计算机可执行代码在计算设备的处理器处执行时被配置为执行根据权利要求1至8中任一项所述的方法的步骤。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/296,169 US11514498B2 (en) | 2019-03-07 | 2019-03-07 | System and method for intelligent guided shopping |
US16/296,169 | 2019-03-07 | ||
PCT/CN2020/078039 WO2020177743A1 (en) | 2019-03-07 | 2020-03-05 | System and method for intelligent guided shopping |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111433768A CN111433768A (zh) | 2020-07-17 |
CN111433768B true CN111433768B (zh) | 2024-01-16 |
Family
ID=71551368
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080000547.5A Active CN111433768B (zh) | 2019-03-07 | 2020-03-05 | 智能引导购物的系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111433768B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102906750A (zh) * | 2010-06-01 | 2013-01-30 | 微软公司 | 提供基于上下文选择的内容条目 |
CN104123279A (zh) * | 2013-04-24 | 2014-10-29 | 腾讯科技(深圳)有限公司 | 关键词的聚类方法和装置 |
CN104765758A (zh) * | 2014-01-02 | 2015-07-08 | 雅虎公司 | 用于搜索结果定向的系统和方法 |
CN106557460A (zh) * | 2015-09-29 | 2017-04-05 | 株式会社东芝 | 从单文档中提取关键词的装置及方法 |
CN107491465A (zh) * | 2016-06-13 | 2017-12-19 | 百度(美国)有限责任公司 | 用于搜索内容的方法和装置以及数据处理系统 |
-
2020
- 2020-03-05 CN CN202080000547.5A patent/CN111433768B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102906750A (zh) * | 2010-06-01 | 2013-01-30 | 微软公司 | 提供基于上下文选择的内容条目 |
CN104123279A (zh) * | 2013-04-24 | 2014-10-29 | 腾讯科技(深圳)有限公司 | 关键词的聚类方法和装置 |
CN104765758A (zh) * | 2014-01-02 | 2015-07-08 | 雅虎公司 | 用于搜索结果定向的系统和方法 |
CN106557460A (zh) * | 2015-09-29 | 2017-04-05 | 株式会社东芝 | 从单文档中提取关键词的装置及方法 |
CN107491465A (zh) * | 2016-06-13 | 2017-12-19 | 百度(美国)有限责任公司 | 用于搜索内容的方法和装置以及数据处理系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111433768A (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11514498B2 (en) | System and method for intelligent guided shopping | |
US11120344B2 (en) | Suggesting follow-up queries based on a follow-up recommendation machine learning model | |
US8478785B2 (en) | Measuring node proximity on graphs with side information | |
CN110909182B (zh) | 多媒体资源搜索方法、装置、计算机设备及存储介质 | |
US20130151536A1 (en) | Vertex-Proximity Query Processing | |
US8346766B2 (en) | Efficient calculation of node proximity on graphs with side information | |
CN104933100A (zh) | 关键词推荐方法和装置 | |
CN112100396B (zh) | 一种数据处理方法和装置 | |
US10599760B2 (en) | Intelligent form creation | |
AU2017268599B2 (en) | Method, device, server and storage medium of searching a group based on social network | |
EP2530610A1 (en) | Apparatus and method of searching and visualizing instance path | |
Haddadan et al. | Repbublik: Reducing polarized bubble radius with link insertions | |
CN111428007B (zh) | 基于跨平台的同步推送反馈方法 | |
CN112860685A (zh) | 对数据集的分析的自动推荐 | |
CN110264277A (zh) | 由计算设备执行的数据处理方法及装置、介质和计算设备 | |
US10565188B2 (en) | System and method for performing a pattern matching search | |
CN111428100A (zh) | 一种数据检索方法、装置、电子设备及计算机可读存储介质 | |
CN111160699A (zh) | 一种专家推荐方法及系统 | |
CN111433768B (zh) | 智能引导购物的系统和方法 | |
US20170132275A1 (en) | Query handling in search systems | |
Luo et al. | Autosmart: An efficient and automatic machine learning framework for temporal relational data | |
Abel et al. | Regional based query in graph active learning | |
CN115456708A (zh) | 推荐模型的训练方法、装置、电子设备和存储介质 | |
Sharma et al. | A probabilistic approach to apriori algorithm | |
CN114943004B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |