同义词的挖掘方法及装置、计算机可读介质、电子设备与流程

文档序号:16263330发布日期:2018-12-14 21:45阅读:228来源:国知局
同义词的挖掘方法及装置、计算机可读介质、电子设备与流程

本公开涉及数据处理技术领域,尤其涉及一种同义词的挖掘方法及装置、计算机可读介质、电子设备。

背景技术

在自然语言处理领域,词汇语义替换任务旨在句子上下文中对一个词进行语义不变替换。现有研究多通过wordnet(一个英文词典知识库)等外部资源得到可用于替换的候选词语,然后通过分布式相似性、含目标词的n-gram(n个相邻词构成的短语)频次、浅层语法特征等特征来对候选词进行排序、筛选。

同义词可以简单地分为两种:在任意上下文下都可以相互替换的词;在特定上下文下可以相互替换的词。

目前的研究多针对任意上下文的同义词。然而,在特定上下文中可以相互替换的词,通常并不能认为是任意上下文下的同义词,因此,特定上下文下的同义词仍然有很大的挖掘空间。例如,在“纸尿裤”这个产品词下,“成人”和“老年人”为同义词,然而,“成人”和“老年人”不是任意上下文下的同义词。

因此,需要一种新的同义词的挖掘方法及装置、计算机可读介质、电子设备。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本公开的目的在于提供一种同义词的挖掘方法及装置、计算机可读介质、电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

根据本公开的一个方面,提供一种同义词的挖掘方法,包括:在限定语境下获取产品词下的候选属性值同义词对;根据预设规则对所述候选属性值同义词对进行过滤,输出所述产品词下的属性值同义词对。

在本公开的一种示例性实施例中,所述方法还包括:根据同义产品词词表,将同义产品词下的属性值同义词对相互补充。

在本公开的一种示例性实施例中,在限定语境下获取产品词下的候选属性值同义词对包括:对包括所述产品词的查询进行切词,获取所述产品词的属性值;基于电子商务平台的用户行为层面特点,获取所述产品词的第一候选属性值同义词对;和/或基于所述电子商务平台的商家层面特点,获取所述产品词的第二候选属性值同义词对;和/或基于所述电子商务平台的语言学特点,获取所述产品词的第三候选属性值同义词对。

在本公开的一种示例性实施例中,基于电子商务平台的用户行为层面特点,获取所述产品词的第一候选属性值同义词对包括:对于所述产品词的任意属性值,获得同时包含所述属性值与所述产品词的查询集合以及sku集合,所述sku集合包括所述查询集合内的任一查询对应点击的sku及其点击次数;对于所述产品词的任意两个属性值之间计算所述sku集合的余弦相似度,获取所述产品词的第一候选属性值同义词对。

在本公开的一种示例性实施例中,所述方法还包括:判断所述sku集合的余弦相似度是否置信;其中,当符合以下条件之一时,判定所述sku集合的余弦相似度置信:包括所述产品词且分别包括两个属性值的查询集合之间的交集比例小于第一预设阈值;或者将查询对应点击的sku点击次数作为所述查询的权重计算两个查询集合之间的交集比例小于所述第一预设阈值。

在本公开的一种示例性实施例中,基于所述电子商务平台的商家层面特点,获取所述产品词的第二候选属性值同义词对包括:对于所述产品词的任意属性值对,用pmi值计算所述属性值对在标题中相邻共现的程度;pmi值大于第二预设阈值的属性值对作为所述产品词的第二候选属性值同义词对。

在本公开的一种示例性实施例中,根据预设规则对所述候选属性值同义词对进行过滤包括:采用通用规则对所述产品词的第一候选属性值同义词对进行过滤;对于经过所述通用规则过滤的所述第一候选属性值同义词对,保留以下第一候选属性值同义词对:所述第一候选属性值同义词对在同义词词林内且其中一个属性值在另一个属性值的所述余弦相似度前第三预设阈值内,获得第一保留候选属性值同义词对;或者所述第一候选属性值同义词对至少一个字交叠且其中一个属性值在另一个属性值的所述余弦相似度前第四预设阈值内,同时所述余弦相似度置信,获得第二保留候选属性值同义词对;或者所述第一候选属性值同义词对至少两个字交叠且其中一个属性值在另一个属性值的所述余弦相似度前第五预设阈值内,获得第三保留候选属性值同义词对。

在本公开的一种示例性实施例中,根据预设规则对所述候选属性值同义词对进行过滤包括:采用所述通用规则对所述产品词的第二候选属性值同义词对进行过滤;对于经过所述通用规则过滤的所述第二候选属性值同义词对,进行搭配关系过滤;对于经过所述搭配关系过滤的所述第二候选属性值同义词对,保留以下第二候选属性值同义词对:第二候选属性值同义词对在同义词词林里且任一属性值不是单字词,获得第四保留候选属性值同义词对;或者第二候选属性值同义词对至少两个字交叠且非最后两个字交叠,且两个属性值长度相等,且任一属性值不含数字,获得第五保留候选属性值同义词对;或者第二候选属性值同义词对其中一个属性值在另一个属性值的所述余弦相似度前第六预设阈值内,且字面交叠,如果只有一个字交叠,则要求该字不是其中任一属性值的最后一个字,获得第六保留候选属性值同义词对。

在本公开的一种示例性实施例中,所述方法还包括:对于所述第一候选属性值同义词对和所述第二候选属性值同义词对,通过聚类去除无效属性值同义词对。

在本公开的一种示例性实施例中,通过聚类去除无效属性值同义词对包括:对于所述第一至第六保留候选属性值同义词对进行连边;设定所述第六保留候选属性值同义词对的边权为标题相邻共现的pmi值;设定所述第一至第五保留候选属性值同义词对的边权为所述第四、第五和第六保留候选属性值同义词对的最大pmi值;对于各个至少4个词的连通分量,进行图的分割;过滤被分割的边连接的属性值同义词对,保留未被分割的边对应的属性值同义词对。

在本公开的一种示例性实施例中,基于所述电子商务平台的语言学特点,获取所述产品词的第三候选属性值同义词对包括:对于所述产品词的任意属性值,以标题中相邻共现且pmi值大于0的词作为其上下文;计算任意两个属性值的上下文相似度,根据所述上下文相似度获取所述产品词的所述第三候选属性值同义词对。

在本公开的一种示例性实施例中,根据预设规则对所述候选属性值同义词对进行过滤包括:采用通用规则对所述产品词的第三候选属性值同义词对进行过滤,所述第三候选属性值同义词对中两个词长度最多相差1;对于经过所述通用规则过滤的所述第三候选属性值同义词对,保留以下第三候选属性值同义词对:所述第三候选属性值同义词对在同义词词林内且对应的上下文相似度大于0.3,并且任一词非单字;或者所述第三候选属性值同义词对的余弦相似度大于0.1且置信,并且有字面交叠,且对应的上下文相似度大于0.2;或者所述第三候选属性值同义词对长度一样但字的顺序不同,或者长度相差1且其中一词长度至少为2且包含于另一词但不是另一词的最后两字。

在本公开的一种示例性实施例中,所述方法还包括:对于通过聚类去除无效属性值同义词对的所述第一候选属性值同义词对和所述第二候选属性值同义词对以及保留的所述第三候选属性值同义词对进行以下过滤:长度相差1以上的候选属性值同义词对过滤掉;候选属性值同义词对的两个词中最大长度大于3,且字面交叠数不足所述最大长度减去1的候选属性值同义词对过滤掉;候选属性值同义词对的两个词均为英文加数字的形式的候选属性值同义词对过滤掉;如果候选属性值同义词对其中一个词是产品词另一个词不是产品词的候选属性值同义词对过滤掉。

根据本公开的一个方面,提供一种同义词的挖掘装置,包括:候选同义词获取模块,用于在限定语境下获取产品词下的候选属性值同义词对;同义词输出模块,用于根据预设规则对所述候选属性值同义词对进行过滤,输出所述产品词下的属性值同义词对。

根据本公开的一个方面,提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述的同义词的挖掘方法。

根据本公开的一个方面,提供一种电子设备,包括:一个或多个处理器;以及存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述的同义词的挖掘方法。

本公开示例性实施方式所提供的同义词的挖掘方法及装置,通过获取该产品词下的候选属性值同义词对,并对其进行过滤,能够得到准确率较高的属性值同义词。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示意性示出可以应用本申请的同义词的挖掘方法或同义词的挖掘装置的系统架构图。

图2示意性示出本公开示例性实施例中一种同义词的挖掘方法的流程图。

图3示意性示出本公开示例性实施例中另一种同义词的挖掘方法的流程图。

图4示意性示出本公开示例性实施例中一种同义词的挖掘装置的框图。

图5示意性示出本公开示例性实施例中的电子设备的模块示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

关键词检索是目前主要的检索手段。同义词作为关键词中的重要的一类,可以通过挖掘同义词来优化搜索引擎的检索效率。

传统的同义词挖掘采用的是文本挖掘或者模式匹配的方式。文本挖掘采用文本相似性算法,例如编辑距离等,并结合丰富的同义词词典进行筛选和匹配;模式匹配利用词汇定义模式,对词汇的释义方式进行分析,归纳总结出在词典释义中同义词出现的模式,进而利用模式匹配方法识别和挖掘同义词。这两种方法能够挖掘出全局意义下的同义词,例如:可以挖掘出诺基亚与nokia是同义词。但是,却不能挖掘出特定意义下的同义词,例如:nokia手机的三个型号5800、5230和5233在全局意义上不是同义词,但在现实生活中,这三款型号的手机套是可以通用。又例如:苹果是一种水果,iphone是一个手机品牌,两者毫无关联,若限定在手机这个产品词下,苹果与iphone均为手机的一个品牌,是一对同义词。

因此,现有技术的同义词的挖掘方法仅仅能够挖掘出全局意义下的同义词,无法挖掘出特定语境下的同义词;而且现有的同义词的挖掘方法所考虑的因素较少,挖掘的同义词不能结合上下文语境很好的反映用户搜索意图,导致挖掘的同义词存在歧义或不能有效的挖掘到可共用的同义词,这都会影响检索效率。

图1示出了可以应用本申请的同义词的挖掘方法或同义词的挖掘装置的示例性系统架构100。

如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如购物类应用、网页浏览器应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。

终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103输入搜索查询语句提供支持的后台管理服务器。后台管理服务器可以对接收到的搜索查询请求等数据进行分析等处理,并将处理结果(例如商品或广告)反馈给终端设备。

需要说明的是,本申请实施例所提供的同义词的挖掘方法一般由服务器105执行,相应地,同义词的挖掘装置一般设置于服务器105中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

图2示意性示出本公开示例性实施例中一种同义词的挖掘方法的流程图。如图2所示,该同义词的挖掘方法可以包括以下步骤。

在步骤s110中,在限定语境下获取产品词下的候选属性值同义词对。

本发明实施例中,所述限定语境是指电子商务(以下简称电商)领域或环境。

需要说明的是,本发明并不限制电商平台的类型,例如,可以是b2b(businesstobusiness,企业对企业)、b2c(businesstocustomer,企业对客户)、c2c(customertocustomer,客户对客户)等类型。

在电商领域,用户的搜索query(查询,通常是一个短句)通常是针对某产品的描述,与sku(stockkeepingunit,库存量单位)的标题之间存在一定的语义鸿沟。本发明实施例通过定位query中的产品词,对剩余属性值进行同义替换,在一定程度上减小语义鸿沟,会对商品和/或广告的召回有较大的帮助。

其中上述的sku即库存进出计量的基本单元,可以是以件,盒,托盘等为单位。现在已经被引申为产品统一编号的简称,每种产品均对应有唯一的sku号。也可以称之为单品:对一种商品而言,当其品牌、型号、配置、等级、花色、包装容量、单位、生产日期、保质期、用途、价格、产地等属性与其他商品存在不同时,可称为一个单品。

通过搜索返回包含用户查询句子语义的商品或者广告,这里的召回是指本来有些正确的商品或者广告通过用户查询句子的字面匹配没能返回,但是通过本公开实施例实现的产品词下的属性值同义词,可以进行用户查询句子改写,改写后语义不变但是字面上有变化,来帮助返回一些原本没能返回的商品和/或广告。

本发明实施例中,所述产品词是指“手机”、“袜子”等类似这样的概念。修饰该产品词的词都可以认为是是该产品词下的属性值或者属性词,具体实现时与该产品词出现在同一个用户查询语句内的词都认为是该产品词的属性词。

本发明实施例挖掘在产品词这个特定上下文下同义的属性值。例如,属性词“iphone”和属性词“苹果”,如果他们在同一产品词“手机”下,则能成为同义词;反之,如果他们在不同产品词下,例如一个在“手机”产品词下,另一个在“水果”产品词下,则他们不能成为同义词。

在一种现有技术中,有研究实体下面的属性名同义词,比如“人物”这类实体下面,“dateofbirth”、“birthdate”、“whenborn”等属性名为同义词。该现有方案提出假设a1与a2是实体e下的同义词,如果a1与a2经常在相同的网页表格里共现,则a1与a2通常不会是同义词。在电商环境下,在表格中共现概率较高的属性值对中仍然有较多的同义词,因此用表格共现会误伤这些goodcase(真实正例)。同时,一些噪音(候选中的badcase)候选在表格中的共现概率不高,用表格共现无法剔除这些badcase(真实负例)。因此,现有方案一不太适用于挖掘产品词的属性值同义词。

另一种现有技术中,研究实体下面的属性值同义词,比如所有的电影标题有哪些是同义、所有的鞋子品牌有哪些是同义。文献提出从多个信息资源来度量属性值的同义程度,包括利用query里属性值的左邻右邻上下文得到类目模式相似度和词汇上下文相似度、利用包含属性值的所有query点击的文档计算属性值对的点击相似度、基于query点击的伪文档计算两属性值的共现。现有方案二没有针对电商环境做特定的优化,并且没有考虑属性值字面交叠等重要特征。例如“松糕鞋”这个产品词下,“超高”和“超高跟”有字面交叠(“超”和”高”),交叠数为2。

本发明实施例中,属性名同义词是一种,属性值同义词和属性同义词是一种。其中,属性名的一个例子:颜色。属性值的一个例子:黑色。

本发明实施例中,针对电商平台的特点,观察到以下4点:

观察1、用户行为层面:含相同产品词及同义属性值的两个query检索的自然结果比较接近。

例如,“女士超高松糕鞋”与“女士超高跟松糕鞋”检索到的自然结果比较接近。

观察2、商家层面:商品标题中有较多属性值同义词堆砌,但相邻共现的词可能是搭配关系,需要过滤。

以某电商平台上id为12050204503的商品为例,标题是“zah大码胖mm春秋装2017新款加大码胖mm中长款两件套装连衣裙200斤蓝色m8595”,其中”大码”与”胖mm”在产品词”连衣裙”下为同义词。他们在这里是相邻的。但有些相邻的并不是同义词,比如“中长款”与“两件套装”是搭配关系。

需要说明的是,本发明实施例中均以商品标题为例进行说明,但实际上商家层面可以获取标题、价格、描述信息等等。通常商品标题中包含了对展示的物品的简要明了的描述,标题中常常会有共同出现的词,例如一个标题为“红色雪纺2011新款超范吊带裙吊带连衣裙”,通过切分后得到“吊带裙”与“吊带连衣裙”为同一语义词的重复表示,并分析出标题中的共同出现的词,即共现词,以及这些共现词出现的次数。

因为标题一般是卖家提供的,卖家通常会用很多重复的词语来修饰和描述商品,所以标题中的共现词,可能是搭配词对,也可能是同义词对。

观察3、语言学角度:在标题中上下文比较接近的词有较多的属性值同义词。

在词汇语义学中,用词汇出现时相邻窗口内的词汇(上下文)来刻画这个词汇的语义。例如:“大码”和“胖mm”的上下文可能有较多重叠,比如上下文有“t恤”、“圆领”等。

观察4、问题本身的特点:产品词a与产品词b本身为同义,那么其中一个产品词下的同义属性值在另一个产品词下同义关系仍然成立。

在示例性实施例中,在限定语境下获取产品词下的候选属性值同义词对可以包括:对包括所述产品词的查询进行切词,获取所述产品词的属性值;基于电子商务平台的用户行为层面特点,获取所述产品词的第一候选属性值同义词对;和/或基于所述电子商务平台的商家层面特点,获取所述产品词的第二候选属性值同义词对;和/或基于所述电子商务平台的语言学特点,获取所述产品词的第三候选属性值同义词对。

在示例性实施例中,基于电子商务平台的用户行为层面特点,获取所述产品词的第一候选属性值同义词对可以包括:对于所述产品词的任意属性值,获得同时包含所述属性值与所述产品词的查询集合以及sku集合,所述sku集合包括所述查询集合内的任一查询对应点击的sku及其点击次数;对于所述产品词的任意两个属性值之间计算所述sku集合的余弦相似度,获取所述产品词的第一候选属性值同义词对。

其中,假设产品词a下有属性值a和b,对应的sku集合/上下文词汇集合为fa、fb,将对应的集合表示为特征向量va、vb,向量的某个维度对应集合里的某个元素,向量的值为对应元素的权重。计算余弦相似度的公式如下:

cos(va,vb)=(va·vb)/(|va|·|vb|)

例如:产品词a下有属性值a和b,属性值a对应的上下文词汇集合fa为{“圆领”:3,“大码”:2}(真实情况下这个集合元素会非常多);属性值b对应的上下文词汇集合fb为{“短袖”:1,“大码”:1}。假设词汇一共就“圆领”、“大码”、“短袖”这3个,让特征向量的第一维为“圆领”,第二维为“大码”,第三维为“短袖”,则va为(3,2,0),vb为(0,1,1),根据上述余弦相似度的计算公式,cos(va,vb)为

在示例性实施例中,所述方法还可以包括:判断所述sku集合的余弦相似度是否置信;其中,当符合以下条件之一时,判定所述sku集合的余弦相似度置信:包括所述产品词且分别包括两个属性值的查询集合之间的交集比例小于第一预设阈值;或者将查询对应点击的sku点击次数作为所述查询的权重计算两个查询集合之间的交集比例小于所述第一预设阈值。

具体的,第一步:得到候选<产品词,属性值同义>

首先,对各个产品词a的所有query,进行切词,切词后非a的词语作为a的属性值。

具体地,通过浏览器获取用户的搜索信息,并将其划分为多个关键词。例如,用户输入的搜索信息为“千元翻盖黑色智能机”,对其进行划分的关键词为“千元”、“翻盖”、“黑色”和“智能机”。

在电子商务领域,对商品的描述可以使用不同种类的属性描述词,即属性词。例如,“香奈儿”是商品的品牌属性词,“全棉”是商品的材质属性词,“钱包”是产品属性词,“galaxy”是型号属性词。由于自然语言的丰富性,在使用属性词的过程中,存在大量同义的非规范的使用情况。例如,品牌属性词“香奈儿”可能的同义词有“夏奈儿”、“香耐尔”,“chanel”,“双c”,“小香”等;材质属性词“全棉”的同义词可以有“纯棉”,“100%棉”,“百分百棉”等。在电子商务领域的商品管理中,为了让出售的商品被更多的买家检索到,也为了让买家能方便地检索到需要的商品,对属性词的同义词识别是需要解决的核心问题。

本发明实施例中,对具体的切词技术不作限定,可以采用任意可以实现的切词技术。中文切词(又称中文分词,chinesewordsegmentation)指的是将一个汉字序列切分成一个一个单独的词。中文分词是文本挖掘的基础,对于输入的一段中文,成功的进行中文分词,可以达到电脑自动识别语句含义的效果。这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个“充分大的”机器词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。现有的分词算法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。

然后,针对各个产品词a,可以从以下3个方面获取所述第一候选属性值同义词对(以下简称候选1):

候选1(基于观察1):

1、对于产品词a的任意属性值attr,得到同时包含属性值attr与产品词a的所有query点击的sku集合,该集合包含sku的被点击次数。

例如:对于“连衣裙”与“大码”,所有含这2个词的用户查询,构成一个查询(query)集合,对该查询集合内的任一查询,获取它对应的点击数据,即点击了哪些sku,每个sku点击了多少次。最后汇总起来,得到“连衣裙”与“大码”对应的点击sku和点击次数。

在电子商务领域中,用户行为通常分为两种,买家行为和卖家行为。卖家行为是指,为了让出售的商品被更多的买家检索到,卖家倾向于将与所出售商品相关的各种同义词罗列在商品的标题和商品的属性值中。例如,为了让买家能方便的检索到自己的商品,一个卖家会这样书写一个商品的标题:“英国代购chanel香奈儿女包双c康鹏长款对折皮夹羊皮钱包黑色现货”。其中“chanel”,“香奈儿”,“双c”是同义词。买家的行为是指,当买家用某个属性词进行搜索时,买家倾向于在搜索结果中点击包含与该属性词具有相同语义的商品。例如,当买家搜索了“chanel”时,倾向于点击包含与“chanel”具有相同语义的商品,例如“香奈儿”,“双c”。

2、对于产品词a下的任意两个属性值之间计算sku集合的余弦相似度,记为possim。本发明实施例中,可以认为possim较高的属性值对为产品词a下的同义词或者相关词。

需要说明的是,上述的认为possim较高的属性值对为产品词a下的同义词或者相关词,这里只是阐述经验上possim更高的会比possim更低的更可能为同义词。如果possim高但该属性值对不是同义词,就可以认为该属性值对是相关词,相关词是个比较泛的概念。

3、同时记录possim是否置信,如果两个属性值对应的query集合存在部分一样的query,那么这部分query的sku集合自然会一样,这影响possim的置信。

本发明实施例中将置信定义为含产品词a且分别含两个属性值的query集合之间的交集比例小于所述第一预设阈值(例如0.1,但本公开并不不限定于此,可依据经验设定)或者将query点击的sku数作为query的权重计算两个query集合之间的交集比例小于所述第一预设阈值。

这里的query集合例如产品词a下,两个属性值(a,b)对应的query集合分别为包含产品词a与属性值a的所有query、以及包含产品词a与属性值b的所有query,这两个查询集合很可能有一些query是重复的,影响possim的置信。

例如,产品词“连衣裙”的两个属性值为“短袖”和“秋季”,很可能存在query,含有这3个词:“连衣裙”、“短袖”、“秋季”。那么这类query就会同时在“连衣裙”和“短袖”的查询集合以及“连衣裙”和“秋季”的查询集合里。如果这类query的比例很大,即上述所说的两个查询集合的交集比例很大,possim就不置信。假设两个查询集合的交集数为x,第一个查询集合数为a,第二个查询集合数为b,则这两个查询集合之间的交集比例可以为x/(a+b-x)。

需要说明的是,本发明实施例中所说的两个属性值都是在某个产品词下来考虑的。

在其他实施例中,也可以将query点击的sku数作为query的权重计算两个query集合之间的交集比例小于所述第一预设阈值,其与上述含产品词a且分别含两个属性值的query集合之间的交集比例小于所述第一预设阈值的不同之处在于,假设第一个查询集合为{"q1","q2","q3"},第二个查询集合为{"q1","q2","q4"},"q1"、“q2”、“q3”、"q4"对应的点击sku数分别为2,3,3,1,则这两个查询集合的交集比例为(2+3)/[(2+3+3)+(2+3+1)-(2+3)]=5/(8+6-5)。

在示例性实施例中,基于所述电子商务平台的商家层面特点,获取所述产品词的第二候选属性值同义词对可以包括:对于所述产品词的任意属性值对,用pmi值计算所述属性值对在标题中相邻共现的程度;pmi值大于第二预设阈值(例如0,即pmi值非负,称之为非负pmi)的属性值对作为所述产品词的第二候选属性值同义词对。

其中,假设产品词a下有属性值a和b,在标题中相邻共现x次,a单独在标题中出现y次,b单独在标题中出现z次,总标题数为n,则:

非负pmi(a,b)=max(0,log(n×x/(y×z))

针对各个产品词a,可以从以下方面获取所述第二候选属性值同义词对(以下简称候选2):

候选2(基于观察2):

对于产品词a的任意属性值对,统计这个属性值对在sku标题中相邻共现的程度(例如两个属性值在标题中相邻共同出现的次数),用非负pmi计算。非负pmi值较高(这里可以认为非负pmi大于0的,均为较高)的属性值对为产品词a下的同义词或搭配词或相关词。

这里的相关词可以认为非负pmi值较高的除去同义词和搭配词以外的都可叫做相关词。例如,在满足非负pmi较高的情况下,“200斤”与“蓝色”可构成相关词。搭配词,是指有搭配关系的,比如“中长款”与“两件套”。同义词是表征同一个语义的两个词。

针对各个产品词a,可以从以下方面获取所述第三候选属性值同义词对(以下简称候选3):

候选3(基于观察3):

对产品词a的任意属性值,以sku标题中相邻共现且pmi值大于0的词为其上下文,利用余弦相似度计算任意两个属性值的上下文相似度,记为contextsim。相似度较高的属性值对为产品词a下语法和语义较为接近的属性词。

在步骤s120中,根据预设规则对所述候选属性值同义词对进行过滤,输出所述产品词下的属性值同义词对。

第二步:对上述第一步得到的候选<产品词,属性值同义>进行过滤。

在示例性实施例中,根据预设规则对所述候选属性值同义词对进行过滤可以包括:采用通用规则对所述产品词的第一候选属性值同义词对进行过滤;对于经过所述通用规则过滤的所述第一候选属性值同义词对,保留以下第一候选属性值同义词对:所述第一候选属性值同义词对在同义词词林内且其中一个属性值在另一个属性值的所述余弦相似度前第三预设阈值内,获得第一保留候选属性值同义词对;或者所述第一候选属性值同义词对至少一个字交叠且其中一个属性值在另一个属性值的所述余弦相似度前第四预设阈值内,同时所述余弦相似度置信,获得第二保留候选属性值同义词对;或者所述第一候选属性值同义词对至少两个字交叠且其中一个属性值在另一个属性值的所述余弦相似度前第五预设阈值内,获得第三保留候选属性值同义词对。

在一些实施例中,对于所述第一候选属性值同义词对(候选1)、所述第二候选属性值同义词对(候选2)、所述第三候选属性值同义词对(候选3)可以按以下通用规则过滤任意产品词a下的候选属性值同义词对(候选pair):

(1)过滤单字词与单字词构成的候选pair。

这里所说的单字词,是指切词后这个词由1个字组成。比如“男”是一个单字词。

(2)过滤无字面交叠的单字词与三字以上词构成的候选pair。

比如单字词”铝”与三字词“旗舰店”无字面交叠,过滤掉。

(3)过滤任一词在品牌词表里的候选pair。

这里所说的品牌词表是公司内部的数据,由商家填写而成。品牌词通常没有同义词,可以直接过滤掉。

(4)过滤任一词在停用词(stopwords)表里的候选pair。

通常意义上,停用词大致分为两类。一类是人类语言中包含的功能词,这些功能词极其普遍,与其他词相比,功能词没有什么实际含义,比如'the'、'is'、'at'、'which'、'on'、“的”等。但是对于搜索引擎来说,当所要搜索的短语包含功能词,特别是像'thewho'、'thethe'或'takethe'等复合名词时,停用词的使用就会导致问题。另一类词包括词汇词,比如'want'等,这些词应用十分广泛,但是对这样的词搜索引擎无法保证能够给出真正相关的搜索结果,难以帮助缩小搜索范围,同时还会降低搜索的效率,所以通常会把这些词从问题中移去,从而提高搜索性能。这些停用词一般是人工输入、非自动化生成的,生成后的停用词会形成一个停用词表。

(5)过滤其中一个词有数字另一个词没有数字的候选pair。

1、针对候选1过滤:

对于经过上述通用规则过滤的候选1,可以保留以下候选pair:

1.1、候选pair在同义词词林里且其中一个词在另一个词的possim前k1(例如10)里。

本发明实施例中,由于同义词词林相对较为可靠,如果某一候选pair在同义词词林里,可以把这个possimtopk的k的阈值设的大一些。但本公开并不限定于此,这里取前10是按经验取的,可以变动,原则上不能太大,因为同义词词林里也有不可靠的,范围太大会出badcase,范围太小则获得的结果太少。

《同义词词林》是梅家驹等人于1983年编纂而成,初衷是希望提供较多的同义词语,对创作和翻译工作有所帮助。但在我们发现,这本词典中不仅包括了一个词语的同义词,也包含了一定数量的同类词,即广义的相关词。

1.2、候选pair至少一个字交叠且其中一个词在另一个词的possim前k2(例如4)里,且possim置信。

本发明实施例中,由于候选pair中的两个属性词一字交叠相对同义词词林来说不可靠,所以这里的possim前k2的阈值要求更严格一些。取值范围是可变的,这里取4是按经验取的,通常要求比上述的k1的数要小。

此外,仅仅依靠一字交叠和possim在前4还不够可靠,可以再加possim置信。1.1、1.3相对1.2来说比较靠谱,可以不加possim置信。

1.3、候选pair至少两个字交叠且其中一个词在另一个词的possim前k3(例如10)里。

在示例性实施例中,根据预设规则对所述候选属性值同义词对进行过滤可以包括:采用所述通用规则对所述产品词的第二候选属性值同义词对进行过滤;对于经过所述通用规则过滤的所述第二候选属性值同义词对,进行搭配关系过滤;对于经过所述搭配关系过滤的所述第二候选属性值同义词对,保留以下第二候选属性值同义词对:第二候选属性值同义词对在同义词词林里且任一属性值不是单字词,获得第四保留候选属性值同义词对;或者第二候选属性值同义词对至少两个字交叠且非最后两个字交叠,且两个属性值长度相等,且任一属性值不含数字,获得第五保留候选属性值同义词对;或者第二候选属性值同义词对其中一个属性值在另一个属性值的所述余弦相似度前第六预设阈值内,且字面交叠,如果只有一个字交叠,则要求该字不是其中任一属性值的最后一个字,获得第六保留候选属性值同义词对。

2、针对候选2过滤:

对于经过上述通用规则过滤的候选2,可以先经过搭配关系过滤:假设候选pair两个属性词a、b,a前b后在标题中相邻共现的频次除以b前a后的频次超过预设的阈值(例如1000倍,但本公开并不限定于此,该阈值设置可以根据经验取的),或者分子分母反过来计算得到的比值超过预设的阈值,则可以认为该候选pair是搭配关系,过滤掉。

对于经过搭配关系过滤的候选2,可以保留以下候选pair:

2.1、候选pair在同义词词林里且任一词不是单字词。

2.2、候选pair至少两字交叠且非最后两字交叠,且两词长度相等,且任一词不含数字。

2.3、候选pair其中一个词在另一个词的possim前k4(例如10)里,且字面交叠,如果只有一个字交叠,则要求该字不是其中任一词的最后一字。

在示例性实施例中,所述方法还可以包括:对于所述第一候选属性值同义词对和所述第二候选属性值同义词对,通过聚类去除无效属性值同义词对(无效pair)。

在示例性实施例中,通过聚类去除无效属性值同义词对可以包括:对于所述第一至第六保留候选属性值同义词对进行连边;设定所述第六保留候选属性值同义词对的边权为标题相邻共现的pmi值;设定所述第一至第五保留候选属性值同义词对的边权为所述第四、第五和第六保留候选属性值同义词对的最大pmi值;对于各个至少4个词的连通分量,进行图的分割;过滤被分割的边连接的属性值同义词对,保留未被分割的边对应的属性值同义词对。

本发明实施例中,对于候选1和候选2通用规则过滤和针对性过滤保留的候选pair,进一步可以通过聚类去除无效pair。

这里的无效pair是指badcase。比如“连衣裙”下,某个候选pair为“大码”与“短袖”,这个候选pair为无效pair。

具体的,对于以上保留的候选pair,进行连边(本发明实施例中所有操作各个产品词都是独立分开来算的)。对于某个产品词a下所有候选属性值pair内部连边。对于上述2.3(是指上述候选2过滤的“2.3、候选pair其中一个词在另一个词的possim前10里,且字面交叠,如果只有一个字交叠,则要求该字不是其中任一词的最后一字。”)保留的候选pair,边权可以设定为标题相邻共现的pmi值。由于2.3保留的候选pair相比其他保留的候选pair为真实同义词的比例更低,将其他保留的候选pair边权设的更大:例如可以将其他保留的候选pair的边权统一设为该产品词下所有2.1、2.2、2.3候选pair里最大的pmi值,即首先记录上述2.1、2.2、2.3保留的候选pair里的最大pmi值,对于上述1.1、1.2、1.3、2.1、2.2保留的候选pair,边权设为该最大pmi值。

本发明实施例中,所述边权是指连边后这条边的权重。对于下述的聚类算法,是在一个带边权的图上进行的,所以需要构建图以及为图里的边设置边权。

例如,对于产品词a一共有这么些候选pair:来自1.1、1.2、1.3、2.1、2.2、2.3的候选属性值pair。有些候选属性值pair可能同时来自多个来源。任一候选pair,对候选内的两个属性值连边。假设2.1、2.2、2.3中所有候选属性值pair的最大pmi为x,则首先将所有边权设为x,但如果该边对应的2个属性值是来自2.3的,那么设为2.3原本的pmi值。

本发明实施例中,对于各个至少4个词的连通分量,进行图的分割,被分割的边连接的候选pair需要过滤掉。未被分割的边,保留该边对应的候选pair。

例如,连通分量有8个属性值,分别为a,b,c,d,e,f,g,h。其中,a,b,c,d两两之间都连边,e,f,g,h两两之间都连边,e与a连边,那么用聚类算法进行图的分割时,它把e与a的连边分割了,则e与a这个候选pair要过滤掉,其他的候选pair保留。

本发明实施例上述步骤可以采用基于高斯随机块模型的标签传播算法,该算法偏好更小的类,类之间的连边被分割,这符合产品词下某种语义的属性值不会很多的观察。虽然存在一定的误伤情况,但会过滤掉更多不靠谱的边,即无效pair。上述整个构造图、设置边权、聚类的步骤,均是为了过滤掉一些无效pair。

需要说明的是,基于高斯随机块模型的标签传播算法是一个标签传播算法,给图上的节点赋随机类标签,然后每个节点按一定规则接受相连节点的类标签,最终算法收敛结束后,带有相同类标签的节点属于同一个类。

本发明实施例对于基于观察1和观察2的初步筛选后的候选,基于某个语义的同义属性值不会很多的语言学基础,通过基于图的聚类对部分边进行分割来过滤候选。例如,产品词“婚纱”下,“冬天”的属性同义词肯定不会很多。这是语言学基础。

在其他发明实施例中,所述方法除了过滤被分割的边,还可以过滤离群点(outlier)。所述离群点定义为聚类后与类只有一条连边且这边是最小权边且边权不等于最大边权。

本发明实施例中,所述类是由聚类算法在图上分割后仍然相连通的节点集合,而连通是指对于类内某个点,总有一条边的路径,能连到类内的其他点。一个聚类算法可能在图上分割出多个类。

例如,如果聚类算法在产品词a下的图上划分出多个类,其中一个类由属性值"a"、"b"、"c"、"d"构成。则如果b与c、d有连边,c与d有连边,而a只与b连边,如果a的边权不是最大pmi值,则a认为是outlier。

本发明实施例中,所述方法还可以包括针对候选3进行过滤:对于经过所述通用规则过滤的候选3,要求候选pair两个词长度最多相差1。

候选3中可以保留以下候选pair:

3.1、候选pair在同义词词林里且contextsim>0.3且任一字非单字。

3.2、候选pair在possim>0.1且置信,且有字面交叠,且contextsim>0.2。

3.3、候选pair长度一样但字的顺序不同,或者长度相差1且其中一词长度至少为2且包含于另一词但不是另一词的最后两字。

本发明实施例中,所述方法还可以包括:对于上述针对候选1和候选2过滤后保留的候选,通过聚类去除无效pair和/或outlier之后)以及针对候选3过滤后保留的候选pair,进行进一步的过滤。该进一步的过滤方法可以包括:

1、候选pair中的两个词的长度相差1以上的过滤掉。

2、候选pair中的两个词中最大长度大于3,且字面交叠数不足(最大长度-1),过滤掉。

例如,“连衣裙”产品词下,“波西米亚”与“波浪”这两个属性值,最大长度是指这2个属性值长度较大的那个,这个例子里为4,字面交叠数为1,由于字面交叠数1小于(4-1),那么这个候选pair会被过滤掉。

3、候选pair中的两个词都是英文加数字的形式,通常是型号,过滤掉。

4、如果候选属性值对其中一个是产品词另一个不是产品词,过滤掉。

5、输出<产品词,属性值同义>

本发明实施方式公开的一种同义词的挖掘方法,提供了一种产品词限定语境下的属性值同义词挖掘的方法,首先通过不同来源得到该产品词下的候选属性值对,并针对性地做了过滤,得到了较高的准确率。在测试产品词集合上综合各<产品词,属性值同义>统计准确率达到90%左右。这里的准确率是指模型/方法判断为正例的样本中真实为正例的比例。

图3示意性示出本公开示例性实施例中另一种同义词的挖掘方法的流程图。如图3所示,该同义词的挖掘方法可以包括以下步骤。

在步骤s210中,在限定语境下获取产品词下的候选属性值同义词对。

在步骤s220中,根据预设规则对所述候选属性值同义词对进行过滤,输出所述产品词下的属性值同义词对。

步骤s210和s220可以分别参考图2所示实施例中的步骤s110和s120,在此不再详述。

在步骤s230中,根据同义产品词词表,将同义产品词下的属性值同义词对相互补充。

本发明实施例中,召回在机器学习领域是指对于一些目前没有被算法、模型判断为正例的真实正例,进行召回的过程。这个步骤能够帮助扩大召回。

例如,产品词”婚纱裙”下算法没有得到属性值同义词“冬季””冬天”。而算法在“婚纱”下有得到属性值同义词“冬季””冬天”,那么这里的扩招回步骤将得到“婚纱裙”下的“冬季”“冬天”属性值同义词,所以是扩大了召回。

本发明实施例中,基于上述观察4,根据已有的同义产品词表,将同义产品词下的同义属性值对相互补充,使得同义产品词拥有相同的同义属性值。例如,对于同义产品词a和b,将b的同义属性值对补充到a中,并将a的同义属性值对补充到b中。

本发明实施方式公开的同义词的挖掘方法,基于电商平台的特点,优化产品词下同义属性值的提取和过滤。具体的,基于观察1、2、3,通过多个不同来源得到产品词下的候选属性值对。针对不同来源的候选属性值对,首先用相同的通用规则过滤,再针对性地采用不同的过滤手段进行过滤。对于最终得到的<产品词,属性值同义>结果,利用观察4进行扩展,提出利用产品词的同义关系为产品词补充同义属性值。因此,能够在保证较高准确率的情况下,有较高的召回率。

图4示意性示出本公开示例性实施例中一种同义词的挖掘装置的框图。

如图4所示,该同义词的挖掘装置100可以包括候选同义词获取模块110以及同义词输出模块120。

候选同义词获取模块110可以用于在限定语境下获取产品词下的候选属性值同义词对。

同义词输出模块120可以用于根据预设规则对所述候选属性值同义词对进行过滤,输出所述产品词下的属性值同义词对。

需要说明的是:所述同义词的挖掘装置中各模块单元的具体细节已经在对应的同义词的挖掘方法中进行了详细的描述,这里不再赘述。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。

下面参考图5,其示出了适于用来实现本申请实施例的电子设备600的结构示意图。图5示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图5所示,电子设备600包括中央处理单元(cpu)601,其可以根据存储在只读存储器(rom)602中的程序或者从存储部分608加载到随机访问存储器(ram)603中的程序而执行各种适当的动作和处理。在ram603中,还存储有系统600操作所需的各种程序和数据。cpu601、rom602以及ram603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。

以下部件连接至i/o接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至i/o接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(cpu)601执行时,执行本申请的系统中限定的上述功能。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,发送单元还可以被描述为“向所连接的服务端发送图片获取请求的单元”。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:在限定语境下获取产品词下的候选属性值同义词对;根据预设规则对所述候选属性值同义词对进行过滤,输出所述产品词下的属性值同义词对。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1