CN108932247A - 一种优化文本搜索的方法及装置 - Google Patents

一种优化文本搜索的方法及装置 Download PDF

Info

Publication number
CN108932247A
CN108932247A CN201710374918.6A CN201710374918A CN108932247A CN 108932247 A CN108932247 A CN 108932247A CN 201710374918 A CN201710374918 A CN 201710374918A CN 108932247 A CN108932247 A CN 108932247A
Authority
CN
China
Prior art keywords
word
vector
search
cluster
training
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
Application number
CN201710374918.6A
Other languages
English (en)
Inventor
邓凯
程进兴
李菁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suning Commerce Group Co Ltd
Original Assignee
Suning Commerce Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suning Commerce Group Co Ltd filed Critical Suning Commerce Group Co Ltd
Priority to CN201710374918.6A priority Critical patent/CN108932247A/zh
Publication of CN108932247A publication Critical patent/CN108932247A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting

Landscapes

  • Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种优化文本搜索的方法及装置,涉及搜索技术领域,能够提高系统的稳定性。本发明包括:根据所提取的搜索日志建立第一训练数据集;训练所述第一训练数据集,得到训练模型,并通过所述训练模型对所提取的产品信息进行矢量计算;从所述用户设备发送的搜索请求中提取搜索词,并得到所述搜索词的矢量;根据所述搜索词的矢量和词库中词语的矢量,确定产品信息与所述搜索词的接近程度;按照所述接近程度由高至低的顺序,从所述词库中提取待反馈的词语。本发明适用于在搜索过程中对于语义等更深层次的匹配。

Description

一种优化文本搜索的方法及装置
技术领域
本发明涉及搜索技术领域,尤其涉及一种优化文本搜索的方法及装置。
背景技术
目前,在各大电商平台所使用的搜索系统中,主要采用的是基于文字匹配技术设计的传统搜索引擎,比如:基于典型的开源方案Lucene/Solr设计的搜索引擎。
这种基于Lucene/Solr的搜索引擎,通过文本字符的匹配程度来确定搜索词与产品之间的相关度,但是对于文本字符层面以外的匹配方式,并没有进一步的设计,因此难以进行语义等更深层次的匹配。反映到实际应用中:用户在单次搜索后,往往难以准确获取符合自己意图的搜索结果,需要进行二次搜索,或者是,向用户推荐排列顺序在前的相关结果。
不论是用户进行二次搜索,或者是搜索系统向用户的终端设备发送所推荐的相关结果,都需要与用户的终端设备进行数据交互,这就会占用搜索系统额外的接口资源和流量资源。尤其是在很多大型促销活动中,比如:“双十一”、“双十二”等,搜索系统的基础负载程度就很高,因此在业内通常都需要大型促销活动中优先保障系统运行的稳定性,因为一旦系统宕机或崩溃,在线业务都将中断,这会给电商平台造成巨大的经济损失。但此时,二次搜索或者发送所推荐的相关结果等流程都会进一步占用接口资源和流量资源,增加了搜索系统宕机或崩溃的可能性,从而提高了电商平台遭遇经济损失的风险。
发明内容
本发明的实施例提供一种优化文本搜索的方法,能够提高系统的稳定性。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明的实施例提供的方法,
包括:根据所提取的搜索日志建立第一训练数据集,所述搜索日志用于记录用户设备访问业务系统的时输入的搜索词和用户行为,所述用户行为至少包括:对商品进行点击、放入购物车和购买的操作行为;
训练所述第一训练数据集,得到训练模型,并通过所述训练模型对所提取的产品信息进行矢量计算;
从所述用户设备发送的搜索请求中提取搜索词,并得到所述搜索词的矢量;
根据所述搜索词的矢量和词库中词语的矢量,确定产品信息与所述搜索词的接近程度;
按照所述接近程度由高至低的顺序,从所述词库中提取待反馈的词语。结合第一方面,在第一方面的第一种可能的实现方式中,还包括:
在所述第一训练数据集中,将不符合所述搜索词所表示的商品类别的词语过滤;
和/或,根据所述产品信息与所述搜索词的接近程度,在所述第一训练数据集中,确定各词语被用于反馈的频率,将被用于反馈的频率低于阈值的词语从所述第一训练数据集中过滤。
结合第一方面,在第一方面的第二种可能的实现方式中,还包括:
将所提取的产品信息转化为文本数据,通过语义分析工具对转化为文本数据的产品信息进行切分;
将经过切分的产品信息进行数据清理,得到第二训练数据集;
通过机器学习开源库gensim的word2vec部分,训练所述第二训练数据集,得到word2vec模型,并通过所述word2vec模型对所提取的产品信息进行分词处理;
根据分词得到的词语生成对应所述产品信息的词语聚类,并获取各词语聚类的向量分数,将分词得到的词语和各词语聚类的向量分数导入所述词库。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述按照所述接近程度由高至低的顺序,从所述词库中提取待反馈的词语,包括:
获取所述搜索词的向量分数;
按照所述接近程度由高至低的顺序,从所述词库中提取指定数量的待反馈的词语;
根据所述搜索词的向量分数和所述各词语聚类的向量分数,在所述指定数量的待反馈的词语中,确定各词语与所述搜索词的距离,并按照各词语与所述搜索词的距离的由近至远的顺序,筛选得到所述待反馈的词语。
结合第一方面的第三种可能的实现方式,在第四种可能的实现方式中,所述根据分词得到的词语生成对应所述产品信息的词语聚类,并获取各词语聚类的向量分数,包括:
将通过分词得到的词语,添加至已有的词语聚类中,并刷新该词语聚类的向量分数,其中,一个词语聚类的向量分数包括这一个词语聚类中各词语的向量分数的累加;
或者,建立新的词语聚类,并将通过分词得到的词语,添加至新建立的词语聚类中。结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,包括:
获取通过分词得到的词语的Sim(I,j),其中,Sim(I,j)表示词语i与词语聚类j的余弦相似度;
当Sim(I,j)>1/(n+1)时,将所述词语i添加至所述词语聚类j;
当Sim(I,j)≤1/(n+1)时,检测Random与1/(n+1)的大小关系,其中,n表示词语聚类的数目;若Random<1/(n+1),则建立一个新的词语聚类,并将所述词语i添加至新建立的词语聚类,其中,Random表示一个0至1之间的随机数;若Random≥1/(n+1),则将所述词语i添加至所述词语聚类j。
结合第一方面的第三种可能的实现方式,在第六种可能的实现方式中,所述获取所述搜索词的向量分数,包括:确定符合所述搜索词的词语聚类,并获取符合所述搜索词的各词语聚类的向量分数;将分数最高的向量分数作为所述搜索词的向量分数。
第二方面,本发明的实施例提供的装置,包括:
预处理模块,用于根据所提取的搜索日志建立第一训练数据集,所述搜索日志用于记录用户设备访问业务系统的时输入的搜索词和用户行为,所述用户行为至少包括:对商品进行点击、放入购物车和购买的操作行为;
训练模块,用于训练所述第一训练数据集,得到训练模型,并通过所述训练模型对所提取的产品信息进行矢量计算;
搜索分析模块,用于从所述用户设备发送的搜索请求中提取搜索词,并得到所述搜索词的矢量;并根据所述搜索词的矢量和词库中词语的矢量,确定产品信息与所述搜索词的接近程度;
反馈模块,用于按照所述接近程度由高至低的顺序,从所述词库中提取待反馈的词语。
结合第二方面,在第二方面的第一种可能的实现方式中,还包括:
第一过滤模块,用于在所述第一训练数据集中,将不符合所述搜索词所表示的商品类别的词语过滤。
和/或,第二过滤模块,用于根据所述产品信息与所述搜索词的接近程度,在所述第一训练数据集中,确定各词语被用于反馈的频率,将被用于反馈的频率低于阈值的词语从所述第一训练数据集中过滤。本发明实施例提供的优化文本搜索的方法及装置,在语义上进行深度学习建模,比如通过第二训练数据集训练得到word2vec的模型,并基于词语聚类向量分数和搜索词的向量分数通过数学比对,实现对于语义等更深层次的匹配,从而提高了匹配的准确度,这样就减少了由于二次搜索或者为了反馈相关结果而对接口资源和流量资源的占用,提高了系统的稳定性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种可能的系统架构示意图;
图2a为本发明实施例提供的方法流程示意图;
图2b为本发明实施例提供的具体实例的示意图;图3为本发明实施例提供的具体实例的流程示意图;
图4为本发明实施例提供的具体实例的实验结果的截图;
图5为本发明实施例提供的装置的结构示意图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。下文中将详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
本实施例中的方法流程,具体可以在一种如图1所示的系统上执行,该系统包括:前端服务器、后台服务器和数据库。其中,前端服务器主要用于:具体用于接收用户设备发送的搜索词,在实际应用中,用户设备发送的搜索词主要由用户通过用户设备的输入设备比如:键盘、触摸屏、鼠标等输入用户设备;并向发布搜索工具的操作界面,以便于用户设备通过操作界面输入搜索词。
后台服务器主要用于:生成词语聚类,并获取各词语聚类的向量分数,以便于在搜索过程中与搜索词的向量分数进行比对,从而确定待反馈的产品信息。
本实施例中所揭示的前端服务器以及后台服务器,具体可以是服务器、工作站、超级计算机等设备,或者是由多个服务器组成的一种用于数据处理的服务器集群系统。需要说明的是,在实际应用中,前端服务器和后台服务器通常可以集成在同一个服务器集群中,即通过同一个服务器集群同时承担前端服务器和后台服务器的功能,并用于执行本实施例所提供的流程。
数据库主要用于:用于存储存储产品信息、电子商务平台、在线购物平台等在日常运行中生成的每日高频搜索词、用户的搜索日志等,以及用于存储人工干预得到的人工词。数据库具体可以是在线交易平台的产品(商品)数据库,以便于后台服务器根据从数据库中提取的产品信息得到第二训练数据集。
本实施例中所揭示的数据库,具体可以是一种Red i s数据库或者其他类型的分布式数据库、关系型数据库等,具体可以是包括存储设备的数据服务器以及与数据服务器相连的存储设备,或者是由多个数据服务器和存储服务器组成的一种用于数据库的服务器集群系统。
本实施例中所揭示的用户设备具体可以实做成单独一台装置,或整合于各种不同的媒体数据播放装置中,诸如机顶盒、移动电话、平板电脑(Tablet Personal Computer)、膝上型电脑(Laptop Computer)、多媒体播放器、数字摄影机、个人数字助理(personaldigital assistant,简称PDA)、移动上网装置(Mobile Internet Device,MID)或可穿戴式设备(Wearable Device)等。
本发明实施例提供一种优化文本搜索的方法,如图2a所示,包括:
S1、根据所提取的搜索日志建立第一训练数据集。
其中,所述搜索日志用于记录用户设备访问业务系统的时输入的搜索词和用户行为,所述用户行为至少包括:对商品进行点击、放入购物车和购买的操作行为。从搜索系统中提取用户搜索日志,从用户搜索日志中获取用户设备访问业务系统的时输入的搜索词和用户行为。在经过数据清理之后,按照搜索的时间顺序,结合商品的点击,商品放入购物车,商品的购买等用户行为,建立用于word2vec进行训练的第一训练数据集。例如:如图2b所示的,从用户的搜索日志和活动日志中找寻类似情形下的相似产品,并基于大量真实用户在苏宁易购的搜索日志和活动日志而生成的模型,从而达到了总结了大量用户的选择结果的目的。
S2、训练所述第一训练数据集,得到训练模型,并通过所述训练模型对所提取的产品信息进行矢量计算。
具体的,可以采用gensim机器学习开源库的word2vec包训练第一训练数据集,得到一个word2vec模型。其中,计算得到的每一个词语对应一个维度大于等于200的矢量。
S3、从所述用户设备发送的搜索请求中提取搜索词,并得到所述搜索词的矢量。
S4、根据所述搜索词的矢量和计算得到的词语的矢量,确定产品信息与所述搜索词的接近程度。
例如:采用Spotify开源库annoy计算近似最近的矢量。具体的,可以从annoy产生的初始结果中,过滤掉在第一训练数据集中出现频率过低的,同时也过滤掉产品类别不符合的样本。
S5、按照所述接近程度由高至低的顺序,从所述词库中提取待反馈的词语。
在本实施例中,还包括:
在所述第一训练数据集中,将不符合所述搜索词所表示的商品类别的词语过滤。
和/或可选的,根据所述产品信息与所述搜索词的接近程度,在所述第一训练数据集中,确定各词语被用于反馈的频率,将被用于反馈的频率低于阈值的词语从所述第一训练数据集中过滤。
现有的搜索引擎一般是采用Lucene/Solr或类似的开源软件。Lucene/solr是基于文字匹配在现有数据中找到最具相关性的搜索引擎,属于文字匹配式的搜索方式。本实施例通过获得搜索词与产品之间的相关性,从用户的搜索日志和活动日志中找寻类似情形下的相似产品。实际上是总结了大量用户的选择。相对于现有技术中传统文字匹配的搜索引擎更具有抽象查找的效果。就算产品中完全不出现搜索词,也会因为其他用户有类似的选择而找出该相关产品。
本发明实施例提供的优化文本搜索的方法,在语义上进行深度学习建模,比如通过第二训练数据集训练得到word2vec的模型,并基于词语聚类向量分数和搜索词的向量分数通过数学比对,实现对于语义等更深层次的匹配,从而提高了匹配的准确度,这样就减少了由于二次搜索或者为了反馈相关结果而对接口资源和流量资源的占用,提高了系统的稳定性。
具体的,在本实施例中,将机器学习word2vec模型,应用到电商平台的搜索系统中。借助大量用户搜索、浏览、购买商品的日志记录,把每个用户进程中的搜索词和日志中出现的商品映射成一个个词语,成为机器学习的训练数据集。再通过开源的深度学习库(例如gensim),生成word2vec模型。搜索的时候,通过word2vec模型中,词语向量之间的空间关系,找出距离最近的那些词语向量,从而找出相关度最接近的产品。
在本实施例中,可以进一步地对所提取的产品信息进行分词处理。
其中,产品信息用于表示网络上所能够搜索到的商品/产品的名称、品类、型号等信息,比如:可以通过常用的网络爬虫工具,从多家在线购物平台上抓取名称、品类、型号、配置信息、属性信息等产品信息。再比如:后台服务器与在线购物平台的数据库直接相连,可以从数据库中提取产品信息。
在本实施例中,还包括分词处理的具体方式:
将所提取的产品信息转化为文本数据,通过语义分析工具对转化为文本数据的产品信息进行切分;将经过切分的产品信息进行数据清理,得到第二训练数据集;通过机器学习开源库gensim的word2vec部分,训练所述第二训练数据集,得到word2vec模型,并通过所述word2vec模型对所提取的产品信息进行分词处理;根据分词得到的词语生成对应所述产品信息的词语聚类,并获取各词语聚类的向量分数,将分词得到的词语和各词语聚类的向量分数导入所述词库。
例如:可以从在线购物平台的数据库中的所有或者部分商品的信息作为将样本集合,其中,本实施例中需要把组成产品信息的词语分成若干个词语。比如:采用两千万产品的产品信息的文本数据做为样本集合,通过现有的语义分析工具进行切分,并将切词后的文本再执行归一化、特殊符号处理等常用的数据清理过程,得到作为word2vec模型训练所用的第二训练数据集来。
再通过机器学习开源库gensim的word2vec部分,训练所述第二训练数据集,得到word2vec模型,并通过所述word2vec模型对所提取的产品信息进行分词处理。其中,可以从模型里取出某一个词语的向量分数,并设定为默认的学习深度,默认的学习深度具体可以为200。其中,向量分数的具体维度可以包括产品信息中的各种信息。
需要说明的是,本实施例中所述的word2vec,具体是机器学习开源库gensim中的文本向量转化技术,可以采用业界比较成熟的基于词语转化的词语向量模型(即word2vec模型)。其中,doc2vec是一种将文本(document)转化为向量(vector)形式表达的方式。向量的形式可以看做一个K维度的空间,通过doc2vec可以将一个文本形式的内容定义到一个K维空间上的一个位置,再通过空间上的距离可以来量化两个文本之间的相关性。
例如:在电商搜索系统上,我们可以把每一个产品看做一个document,用户的搜索语句也可以看做一个document。通过doc2vec模型,基于用户的搜索语句,可以将相关性更高的产品推送给用户。本实施例中,可以基于word2vec模型,利用word2vec所生成的对于词语的向量,通过本发明的实现模型,转化为doc2vec,应用于电商平台的搜索系统中。word2vec的模型是在第二训练数据集基础上训练得到的。在已获得的word2vec模型基础上,将每个文本(document)分成了多个词语聚类(cluster),再利用TF-IDF(TermFrequency-Inverse Document Frequency,词频-逆文档频率)算法选出最具相关性的词语聚类(cluster),其中,一个词语聚类的词语向量的集合就作为整个document的向量。其中,doc2vec、word2vec为业内的惯用属于,且暂时没有统一的中文名词。
本实施例中,在word2vec的基础上,通过深度学习技术训练得出最相关的doc2vec模型,目的在于提高在从用户输入的搜索词中抓取用户语义的购买意图时的准确率。
进一步的,所述按照所述接近程度由高至低的顺序,从所述词库中提取待反馈的词语,包括:
在获取所述搜索词的向量分数后,按照所述接近程度由高至低的顺序,从所述词库中提取指定数量的待反馈的词语;根据所述搜索词的向量分数和所述各词语聚类的向量分数,在所述指定数量的待反馈的词语中,确定各词语与所述搜索词的距离,并按照各词语与所述搜索词的距离的由近至远的顺序,筛选得到所述待反馈的词语。相对于现有技术中基于Lucene/Solr的搜索引擎,对于文本字符层面以外的匹配方式。本实施例从语义层次上来说,相关性匹配度要比传统的文字匹配度要很多。尤其在一些产品不含有用户的搜索词,但语义上来说又很接近的产品的场景中,能够获取搜索结果。并且基于词语聚类向量分数和搜索词的向量分数通过数学比对的方式,向量分数的具体维度可以包括产品信息中的各种信息,从而可以产生出多维空间上的位置,而单纯在多维空间的距离计算效率要远远高于现有方案中所有文字内容的全匹配,从而也能够一定程度上提高查询效率。
本发明实施例提供的优化文本搜索的方法,在语义上进行深度学习建模,比如通过第二训练数据集训练得到word2vec的模型,并基于词语聚类向量分数和搜索词的向量分数通过数学比对,实现对于语义等更深层次的匹配,从而提高了匹配的准确度,这样就减少了由于二次搜索或者为了反馈相关结果而对接口资源和流量资源的占用,提高了系统的稳定性。
在本实施例中,所述根据分词得到的词语生成对应所述产品信息的词语聚类,并获取各词语聚类的向量分数的具体方式,包括:
将通过分词得到的词语,添加至已有的词语聚类中,并刷新该词语聚类的向量分数;或者,建立新的词语聚类,并将通过分词得到的词语,添加至新建立的词语聚类中。
其中,一个词语聚类的向量分数包括这一个词语聚类中各词语的向量分数的累加。例如:可以通过随机分配过程将通过分词得到的词语,添加至至已有的或者新创建的词语聚类中,具体的随机分配过程可以采用中国餐厅过程Chinese Restaurant Process(CRP),比如:每个词语聚类有一个向量分数,这个分数来源于这个词语聚类包含的所有词的向量分数的累加,后台服务器中运行的模型训练程序获取一个新的词后,按照设定的第一随机概率将这个词放到已有的词语聚类,或者按照设定的第二随机概率以当前的词作为一个新的词语聚类生成。
具体过程可以参考本实施例中所提供的如图3所示的处理过程:
获取通过分词得到的词语的Sim(I,j),其中,Sim(I,j)表示词语i与词语聚类j的余弦相似度。
当Sim(I,j)>1/(n+1)时,将所述词语i添加至所述词语聚类j。
当Sim(I,j)≤1/(n+1)时,检测Random与1/(n+1)的大小关系。
若Random<1/(n+1),则建立一个新的词语聚类,并将所述词语i添加至新建立的词语聚类。
其中,n表示词语聚类的数目。Random表示一个0至1之间的随机数。若Random≥1/(n+1),则将所述词语i添加至所述词语聚类j。V[i]表示产品信息里第i号词语的词语向量(word向量)分数。C[j]表示第j号词语聚类的向量分数。Sim(I,j)表示第i号词语与第j号词语聚类的余弦相似度。
对于用户设备发送的搜索请求,前端服务器可以获取所述搜索词的向量分数,具体包括:
确定符合所述搜索词的词语聚类,并获取符合所述搜索词的各词语聚类的向量分数。将分数最高的向量分数作为所述搜索词的向量分数。例如:可以根据TF-I DF算法算出每个词语聚类的相关度分数。并选取分数最高的词语聚类作为当前文本的向量分数。
具体的,所述按照与所述搜索词的距离的由近至远的顺序,筛选得到所述待反馈的词语,包括:
按照与所述搜索词的距离的由近至远的顺序,获取前K项的产品信息。并通过Annoy库,从所述前K项的产品信息中提取待反馈的产品信息。例如:当获取到搜索词后,将搜索词作为文本数据,获取搜索词的向量分数。利用搜索词的向量分数去搜索距离最近的前K个产品。其中,对于搜索最近K个距离的产品,可以采用Spotify的Annoy库。Annoy是业内常用的一种专门用来解决最近K个邻居(K-Nearest Neighbor)问题的开源库。比如:如图4所示的,对“小冰箱单门”这个搜索词在传统的文字匹配的搜索引擎上进行搜索为0结果,将这个搜索词放在了以词语聚类为基础的word2vec模型上去匹配能匹配多达40个结果。其中,结果列的数据依次为搜索词,产品id,产品名称,及相关度等参数。
本实施例相比传统的文本匹配搜索引擎具有更加全面的相关度,尤其针对文字直接匹配无结果的情况。采用机器学习的word2vec,从用户的搜索和购买日志中,总结出搜索和产品的相关性;且直接以几个词语构成的短语作为一个词语来使用,将一系列用户的搜索和点击商品的行为,转化为数个在多维度空间中,距离相近的词语向量。这种方式强调用户活动之间的相关性,而非文字之间的匹配。用户可以搜索到自己本身并不知道确切名字的产品(相关度依旧很高),提升了搜索准确率和用户体验,从而带动电子商务网站用户搜索购买转换率。例如:“小冰箱单门”这个搜索词在传统的文字匹配的搜索引擎上进行搜索为0结果,将这个搜索词放在了word2vec模型上去匹配能匹配很多个结果,最后挑选出16个结果呈现出来,并且结果的相关度还算满意。结果列的数据依次为:搜索词,产品id,产品名称,及相关度。
本发明实施例提供一种优化文本搜索的装置,如图5所示,包括:
预处理模块,用于根据所提取的搜索日志建立第一训练数据集,所述搜索日志用于记录用户设备访问业务系统的时输入的搜索词和用户行为,所述用户行为至少包括:对商品进行点击、放入购物车和购买的操作行为;
训练模块,用于训练所述第一训练数据集,得到训练模型,并通过所述训练模型对所提取的产品信息进行矢量计算,其中计算得到的每一个词语对应一个维度大于等于200的矢量;
搜索分析模块,用于从所述用户设备发送的搜索请求中提取搜索词,并得到所述搜索词的矢量;并根据所述搜索词的矢量和词库中词语的矢量,确定产品信息与所述搜索词的接近程度;
反馈模块,用于按照所述接近程度由高至低的顺序,从所述词库中提取待反馈的词语。
进一步的,还包括:
第一过滤模块,用于在所述第一训练数据集中,将不符合所述搜索词所表示的商品类别的词语过滤。
和/或,第二过滤模块,用于根据所述产品信息与所述搜索词的接近程度,在所述第一训练数据集中,确定各词语被用于反馈的频率,将被用于反馈的频率低于阈值的词语从所述第一训练数据集中过滤。
本发明实施例提供的优化文本搜索的装置,在语义上进行深度学习建模,比如通过第二训练数据集训练得到word2vec的模型,并基于词语聚类向量分数和搜索词的向量分数通过数学比对,实现对于语义等更深层次的匹配,从而提高了匹配的准确度,这样就减少了由于二次搜索或者为了反馈相关结果而对接口资源和流量资源的占用,提高了系统的稳定性。
具体的,在本实施例中,将机器学习word2vec模型,应用到电商平台的搜索系统中。借助大量用户搜索、浏览、购买商品的日志记录,把每个用户进程中的搜索词和日志中出现的商品映射成一个个词语,成为机器学习的训练数据集。再通过开源的深度学习库(例如gensim),生成word2vec模型。搜索的时候,通过word2vec模型中,词语向量之间的空间关系,找出距离最近的那些词语向量,从而找出相关度最接近的产品。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种优化文本搜索的方法,其特征在于,包括:根据所提取的搜索日志建立第一训练数据集,所述搜索日志用于记录用户设备访问业务系统的时输入的搜索词和用户行为,所述用户行为至少包括:对商品进行点击、放入购物车和购买的操作行为;
训练所述第一训练数据集,得到训练模型,并通过所述训练模型对所提取的产品信息进行矢量计算;
从所述用户设备发送的搜索请求中提取搜索词,并得到所述搜索词的矢量;
根据所述搜索词的矢量和词库中词语的矢量,确定产品信息与所述搜索词的接近程度;
按照所述接近程度由高至低的顺序,从所述词库中提取待反馈的词语。
2.根据权利要求1所述的方法,其特征在于,还包括:
在所述第一训练数据集中,将不符合所述搜索词所表示的商品类别的词语过滤;
和/或,根据所述产品信息与所述搜索词的接近程度,在所述第一训练数据集中,确定各词语被用于反馈的频率,将被用于反馈的频率低于阈值的词语从所述第一训练数据集中过滤。
3.根据权利要求1所述的方法,其特征在于,还包括:
将所提取的产品信息转化为文本数据,通过语义分析工具对转化为文本数据的产品信息进行切分;
将经过切分的产品信息进行数据清理,得到第二训练数据集;
通过机器学习开源库gensim的word2vec部分,训练所述第二训练数据集,得到word2vec模型,并通过所述word2vec模型对所提取的产品信息进行分词处理;
根据分词得到的词语生成对应所述产品信息的词语聚类,并获取各词语聚类的向量分数,将分词得到的词语和各词语聚类的向量分数导入所述词库。
4.根据权利要求3所述的方法,其特征在于,所述按照所述接近程度由高至低的顺序,从所述词库中提取待反馈的词语,包括:
获取所述搜索词的向量分数;
按照所述接近程度由高至低的顺序,从所述词库中提取指定数量的待反馈的词语;
根据所述搜索词的向量分数和所述各词语聚类的向量分数,在所述指定数量的待反馈的词语中,确定各词语与所述搜索词的距离,并按照各词语与所述搜索词的距离的由近至远的顺序,筛选得到所述待反馈的词语。
5.根据权利要求4所述的方法,其特征在于,所述根据分词得到的词语生成对应所述产品信息的词语聚类,并获取各词语聚类的向量分数,包括:
将通过分词得到的词语,添加至已有的词语聚类中,并刷新该词语聚类的向量分数,其中,一个词语聚类的向量分数包括这一个词语聚类中各词语的向量分数的累加;
或者,建立新的词语聚类,并将通过分词得到的词语,添加至新建立的词语聚类中。
6.根据权利要求5所述的方法,其特征在于,包括:
获取通过分词得到的词语的Sim(I,j),其中,Sim(I,j)表示词语i与词语聚类j的余弦相似度;
当Sim(I,j)>1/(n+1)时,将所述词语i添加至所述词语聚类j;
当Sim(I,j)≤1/(n+1)时,检测Random与1/(n+1)的大小关系,其中,n表示词语聚类的数目;若Random<1/(n+1),则建立一个新的词语聚类,并将所述词语i添加至新建立的词语聚类,其中,Random表示一个0至1之间的随机数;若Random≥1/(n+1),则将所述词语i添加至所述词语聚类j。
7.根据权利要求4所述的方法,其特征在于,所述获取所述搜索词的向量分数,包括:
确定符合所述搜索词的词语聚类,并获取符合所述搜索词的各词语聚类的向量分数;
将分数最高的向量分数作为所述搜索词的向量分数。
序,筛选得到所述待反馈的词语。
8.一种优化文本搜索的装置,其特征在于,包括:
预处理模块,用于根据所提取的搜索日志建立第一训练数据集,所述搜索日志用于记录用户设备访问业务系统的时输入的搜索词和用户行为,所述用户行为至少包括:对商品进行点击、放入购物车和购买的操作行为;
训练模块,用于训练所述第一训练数据集,得到训练模型,并通过所述训练模型对所提取的产品信息进行矢量计算;
搜索分析模块,用于从所述用户设备发送的搜索请求中提取搜索词,并得到所述搜索词的矢量;并根据所述搜索词的矢量和词库中词语的矢量,确定产品信息与所述搜索词的接近程度;
反馈模块,用于按照所述接近程度由高至低的顺序,从所述词库中提取待反馈的词语。
9.根据权利要求8所述的装置,其特征在于,还包括:
第一过滤模块,用于在所述第一训练数据集中,将不符合所述搜索词所表示的商品类别的词语过滤。
10.根据权利要求8所述的装置,其特征在于,还包括:
第二过滤模块,用于根据所述产品信息与所述搜索词的接近程度,在所述第一训练数据集中,确定各词语被用于反馈的频率,将被用于反馈的频率低于阈值的词语从所述第一训练数据集中过滤。
CN201710374918.6A 2017-05-24 2017-05-24 一种优化文本搜索的方法及装置 Pending CN108932247A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710374918.6A CN108932247A (zh) 2017-05-24 2017-05-24 一种优化文本搜索的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710374918.6A CN108932247A (zh) 2017-05-24 2017-05-24 一种优化文本搜索的方法及装置

Publications (1)

Publication Number Publication Date
CN108932247A true CN108932247A (zh) 2018-12-04

Family

ID=64450565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710374918.6A Pending CN108932247A (zh) 2017-05-24 2017-05-24 一种优化文本搜索的方法及装置

Country Status (1)

Country Link
CN (1) CN108932247A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110472018A (zh) * 2019-08-22 2019-11-19 子长科技(北京)有限公司 基于深度学习的信息处理方法、装置及计算机存储介质
CN111753060A (zh) * 2020-07-29 2020-10-09 腾讯科技(深圳)有限公司 信息检索方法、装置、设备及计算机可读存储介质
CN113032641A (zh) * 2021-04-23 2021-06-25 赛飞特工程技术集团有限公司 一种智能搜索方法和设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914543A (zh) * 2014-04-03 2014-07-09 北京百度网讯科技有限公司 搜索结果的展现方法和装置
CN104199833A (zh) * 2014-08-01 2014-12-10 北京奇虎科技有限公司 一种网络搜索词的聚类方法和聚类装置
CN104765769A (zh) * 2015-03-06 2015-07-08 大连理工大学 一种基于词矢量的短文本查询扩展及检索方法
CN105912630A (zh) * 2016-04-07 2016-08-31 北京搜狗科技发展有限公司 一种信息扩展方法及装置
CN106156204A (zh) * 2015-04-23 2016-11-23 深圳市腾讯计算机系统有限公司 文本标签的提取方法和装置
CN106156357A (zh) * 2016-07-27 2016-11-23 成都四象联创科技有限公司 文本数据定向搜索方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914543A (zh) * 2014-04-03 2014-07-09 北京百度网讯科技有限公司 搜索结果的展现方法和装置
CN104199833A (zh) * 2014-08-01 2014-12-10 北京奇虎科技有限公司 一种网络搜索词的聚类方法和聚类装置
CN104765769A (zh) * 2015-03-06 2015-07-08 大连理工大学 一种基于词矢量的短文本查询扩展及检索方法
CN106156204A (zh) * 2015-04-23 2016-11-23 深圳市腾讯计算机系统有限公司 文本标签的提取方法和装置
CN105912630A (zh) * 2016-04-07 2016-08-31 北京搜狗科技发展有限公司 一种信息扩展方法及装置
CN106156357A (zh) * 2016-07-27 2016-11-23 成都四象联创科技有限公司 文本数据定向搜索方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110472018A (zh) * 2019-08-22 2019-11-19 子长科技(北京)有限公司 基于深度学习的信息处理方法、装置及计算机存储介质
CN111753060A (zh) * 2020-07-29 2020-10-09 腾讯科技(深圳)有限公司 信息检索方法、装置、设备及计算机可读存储介质
CN111753060B (zh) * 2020-07-29 2023-09-26 腾讯科技(深圳)有限公司 信息检索方法、装置、设备及计算机可读存储介质
CN113032641A (zh) * 2021-04-23 2021-06-25 赛飞特工程技术集团有限公司 一种智能搜索方法和设备

Similar Documents

Publication Publication Date Title
Saad et al. Twitter sentiment analysis based on ordinal regression
Salloum et al. Mining social media text: extracting knowledge from Facebook
Hu et al. Unsupervised sentiment analysis with emotional signals
CN105512687A (zh) 训练情感分类模型和文本情感极性分析的方法及系统
CN112966091B (zh) 一种融合实体信息与热度的知识图谱推荐系统
CN105095433A (zh) 实体推荐方法及装置
CN110888991A (zh) 一种弱标注环境下的分段式语义标注方法
Li et al. TagDC: A tag recommendation method for software information sites with a combination of deep learning and collaborative filtering
Bhardwaj et al. Review of text mining techniques
Seleznova et al. Guided exploration of user groups
Anh et al. Extracting customer reviews from online shopping and its perspective on product design
CN108932247A (zh) 一种优化文本搜索的方法及装置
Wei et al. Online education recommendation model based on user behavior data analysis
Henderi et al. Unsupervised Learning Methods for Topic Extraction and Modeling in Large-scale Text Corpora using LSA and LDA
US10255246B1 (en) Systems and methods for providing a searchable concept network
CN106951511A (zh) 一种文本聚类方法及装置
Wang et al. Twiinsight: Discovering topics and sentiments from social media datasets
Cherednichenko et al. Item Matching Model in E-Commerce: How Users Benefit
Canale et al. From teaching books to educational videos and vice versa: a cross-media content retrieval experience
Angdresey et al. Classification and Sentiment Analysis on Tweets of the Ministry of Health Republic of Indonesia
CN108345605B (zh) 一种文本搜索方法及装置
Yu et al. Friend recommendation mechanism for social media based on content matching
Xia et al. Automatic abstract tag detection for social image tag refinement and enrichment
Xia et al. Understanding the evolution of fine-grained user opinions in product reviews
Pandi et al. Reputation based online product recommendations

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: 20181204