搜索引擎中的语义分析问题请教——如何判断商品标题中的中心词?

2018-01-25 16:13:39 +08:00
 feimo

在做电商搜索的产品。

目前遇到一个问题,是如何判断商品标题中的中心词,有没有算法、(或者)成熟平台的接口可以引用?

要解决的问题举例如下:

比如用户搜索:榴莲 找到两个商品,商品标题分别是:泰国榴莲榴莲冰淇淋

这两个商品的中心词分别是:榴莲冰淇淋

如果没有这个算法,那么可能冰淇淋排在前面,而很多榴莲排在了后面。

(注:除了中心词的判断,当然有其它方法可以解决这个问题,比如关键词和类目的关联关系判断。在不考虑这一场景下,只考虑通过中心词来解决这个问题,是否有算法?)

3118 次点击
所在节点    算法
10 条回复
ilovebaicai
2018-01-25 16:54:14 +08:00
如果是单纯的字符串匹配算法,可以试试 ac,python 有实现的库 ahocorasick。
你这个中心词是怎么定义的?
feimo
2018-01-25 17:04:03 +08:00
@ilovebaicai 没有具体的定义规则。
如果按人的思路来看,中心词其实就是能够代表这个商品是什么东西、最普遍叫法的词语,如:

泰国榴莲——泰国(地名);榴莲(中心词)
榴莲冰淇淋——榴莲(描述性词语); 冰淇淋(中心词,才是代表这个商品是什么东西的词语)
榴莲味软糖——榴莲味(描述性词语); 软糖(中心词,才是代表这个商品是什么东西的词语)
榴莲披萨——榴莲(描述性、属性类词语); 披萨(中心词,才是代表这个商品是什么东西的词语)

我是做产品的,所以对技术了解有限,以我现在公司的能力,做不到这种语义分析。
但是不知道,现在是否有这样的算法、其它平台是否有这种能力,可以由机器判断商品标题中,哪个词是中心词?
ballshapesdsd
2018-01-25 17:06:33 +08:00
怎么感觉后面的就是中心词。。形容词不都在前面的吗
ilovebaicai
2018-01-25 17:35:48 +08:00
抱歉,想不到什么好的方法。
你可以看一下这个:哈工大 LTP,https://github.com/HIT-SCIR/ltp
feimo
2018-01-25 17:45:10 +08:00
@ballshapesdsd 可能有较多数情况符合这一规律,但并不完全是。商品标题的名称太多了,比如下面的:
如果只按后面的分词来确定中心词,很可能出现的结果是:

日式红豆夹心饼(草莓味)——————草莓,定义为中心词
跑步机养护硅油 30 毫升健身器材——健身器材,定义为中心词
feimo
2018-01-25 17:55:34 +08:00
@ilovebaicai 好的,谢谢,我去了解一下
qiayue
2018-01-25 17:57:25 +08:00
榴莲冰激凌
榴莲是冰激凌的原材料
冰激凌不是榴莲的原材料

红豆夹心饼草莓味
红豆是饼的原材料
草莓也是饼的原材料

所以我觉得最容易实现的一个思路是,建立一个库,标记这些名词,哪些是加工出来的,哪些是原材料
虽然这个方法只能解决一部分商品问题,但能解决一些是一些
feimo
2018-01-25 18:13:19 +08:00
@qiayue 是个思路。
我有想过两个方案。

其一是:针对单个商品,增加中心词字段。这样需要人工来维护,人工来对每个商品定义其中心词。中心词召回的商品,则排序权重更高。

其二是:因为方案一,人工维护成本大(且是持续性维护),最后被否了。
因此有了第二个方案,建一个中心词表,将所有属于中心词的名词,都放到这个表内(人工维护成本就很低,且是一次性维护)。如何应用呢,举例如下:
泰国榴莲————中心词表中,有榴莲
榴莲冰淇淋————中心词表中,有榴莲、冰淇淋
那么就看商品名中,核心词数量,越少,则越精准。排序权重就越高。
但是第二个,也不可控,很多商品的名称各种各样。可能会导出现 badcase。

你的思路,想来应该具备可行性。
gowl
2018-01-25 18:48:37 +08:00
看来语义分析是一个巨大的市场啊:)
dezhou9
2019-01-11 13:18:26 +08:00
先找中心词,ner 可以做到

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/425914

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX