近来阅读了一篇阿里电商知识图谱核心技术揭秘,深感大厂的技术先进性,阅读后有如下粗浅总结。
阿里电商知识图谱AliCoCo
首先,AliCoCo提出了自己的本体体系,或者说构建思路。分为四层:电商概念层,原子概念层,分类体系,和商品层。
由下到上的解释是:
商品层就是包罗万千的商品。
分类体系就是指对这些商品和非商品的多级树形结构的分类,其中一级分类有20个,包括我们经常接触到的 “时间”,“地点”,“动作”,“IP”,也有很少接触到的“品类”,“图案”,“功能”,“口味”等。你或许会疑问,为啥一级分类既有商品,又有非商品呢,回答这个问题需要从图谱的目的出发,图谱的目的是针对用户需求进行建模。比方说用户需求是“户外烧烤”需要的商品。那这个时候需要的分类体系就得针对用户需求中提到的 “户外”这一场景,“烧烤”这一行为进行囊括了。
原子概念层指的是 描述用户需求的短语 所包含的词粒度的内容,这些细粒度词语被称之为 “原子概念”。 比方说 “户外烧烤”中的“户外”, “烧烤”这两个词。
由此,最顶层的电商概念层,就指的是 表达成短语级别的用户需求。 比方说 “户外烧烤”。
不知道这样由下至上的描述,是否能够让大家对AliCoCo的概念体系设计理解的更加深入呢。
如此构建电商图谱或者领域图谱的好处是:
1)直接对需求进行建模,端到端的打通用户想法和输出,比方说原先用户需要明确户外烧烤需要的商品(比如烧烤架),现在用户只需要输入自己的想法/意图,平台便可以直接推荐具体的内容,这一点极大的让用户变得更舒服(更懒)。
2)构建过程中所产生的原子概念,分类体系都可以无缝衔接的服务到推荐系统,搜索系统当中,提高了整个系统的技术深度。
3)将用户想法和用户选择的这一部分不易描述的知识通过图谱的迭代固化,实现了认知智能的实现。
每一层构建难点
先说电商概念层,用户需求是一个比较泛的概念,所以需要严格界定,文章提出了表达成短语级别的“用户需求”还需要满足 5个条件,才能称之为合格的输入。
这5个条件分别是 (1)有消费需求 (2)通顺 (3)合理 (4)指向明确 (5)无错别字
在我看来,这5个条件的提出十分合情合理,毕竟不满足这些条件的用户需求,系统也没必要为此服务。
接着,既然有概念的界定,那必须有与之对应的技术的实现。
第一个问题即:如何生成符合这5个条件的电商概念,如何判断某个输入是否为合格的电商概念?
假如我们已经解决了第一个问题,能够生成并判断有效的电商概念,电商概念如何和原子概念进行链接呢?毕竟最后是需要和确切的商品进行关联的。所以
第二个问题即:短语的电商概念和词语级别的原子概念的链接?即短文本的NER任务
接着我们来看看原子概念层,这一层是对电商概念的拆解,也是对商品的描述,起到了承上启下的作用,所以如何从无到有的构建这一层,并且保证极高的准确度显得极为重要。
第三个问题即:原子概念词汇的挖掘,我们有哪些具体的词汇可以作为原子概念词汇,即文本挖掘和序列标注问题
第四个问题即:原子概念之间的上下位关系构建,我们采集到的具体词汇之间的父子关系如何确定呢
原子概念层相对于商品来说,更像是属性,在清晰的描述属性之后,我们最终还是需要回到电商概念(用户需求)到商品的关联上面。
最后一层:商品层。
第五个问题:需要判断某个商品和某个电商概念是否匹配。即语义匹配模型。
AliCoCo1.0的效果
文章说道目前AliCoCo已有2.8m原子概念、5.3m电商概念、超过千亿级别的关系,98%商品纳入AliCoCo体系,平均每个商品关联了14个原子概念和135个电商概念。并且极大的帮助到了电商搜索和推荐。
AliCoCo2.0的展望
(1)补充常识性关系
(2)是否问题建模为概念分
(3)多语言和多模态