一切皆可Embedding
在NLP(自然语言处理)中,自然语言无法直接应用到数学模型的建立中,需要将其映射到欧式空间。Embedding就是解决如何将自然语言表示为向量的,Google推出了Word2Vec模型,可以将语义相近的词映射到向量空间中相近的位置,之后Google又提出了BERT,BERT可以考虑到相同词在不同位置有不同含义等信息,利用这个新的语言模型刷新了问答、文本情感分析等多个语言任务的表现。同时,Embedding也可以作为深度学习模型的隐藏层,可以极大提高模型的表现。
自从word2vec横空出世,似乎各行各业的一切东西都在被Embedding,Embedding在数学上表示一个映射F: X -> Y,也就是一个函数,其中该函数是一一对应的而且保持空间同构性 (即在X空间是近邻的,则被映射到Y空间也是近邻的)。Embedding技术被应用在了多种业务场景中:
1) 在 Airbnb 中实现实时个性化搜索,利用用户近几周或者近几个月点击过的房源行为数据实时对用户的搜索目标房源进行相似度比较和排序,这样既极大的提高了效率而且也保证的搜索房源的准确性提高了用户体验。
2) 在电子商务领域,根据用户的浏览和购买行为数据,通过深度学习模型可以将用户和物品同时嵌入(embedding)到相同的低维空间,然后利用Embedding计算用户和物品之间的相似度(匹配度)直接给用户推荐感兴趣的物品。
在人力资本领域,求职者、公司、职位、专业、技能等不同的实体间存在着多种类型的关系,构成了一个知识图谱(Knowledge Graph)。这里,我们主要关注的是Graph Embedding(其实也可以称为Network Embedding)。我们利用Graph Embedding技术,把这些实体嵌入到低维的向量空间,可以直接比较他们的相似性,并能大大的提高简历和岗位的匹配效果。对于具有较多类型节点且各类型节点的数量巨大来说这是比较好的尝试,而且取得了一些效果。
生成Graph Embedding常用方法及其原理
由于graph embedding的广泛应用,同时衍生出了很多计算embedding的方法,下面我们介绍几种商业上比较常用的几种方法&