StarSpace:低调却好用的 Embed 算法

StarSpace是由Facebook AI Research发布的,旨在将各种数据(如文本、文章、标签等)映射到向量空间中,以便进行相似度判断、分类和推荐等任务。它通过共现矩阵和迭代优化来学习向量表示,适用于文本分类、推荐系统等多种应用场景。要快速使用StarSpace,需要了解其训练模式(trainMode),例如用于文本分类、搜索、推荐等,并能用Tensorflow Projector进行结果可视化。
摘要由CSDN通过智能技术生成

原创:张春阳
在这里插入图片描述

这篇文章是偶然的机会在看一个 Conference 的时候听到的,当时第一感觉是 StarSpace,哇,在到处都是各种看不懂的字母堆叠的算法名称里,这名字给人的感觉眼前一亮,让我想去看看这篇文章。

一查才知道,文章也是师出有门,是 Facebook AI Research 发表在 2017 年的一篇文章,文章的名字也很有意思, StarSpace: Embed All The Things! , 要 embed 一切,目标够大!我喜欢!

一直以来,我都很喜欢工业界出的文章,因为总是可以最高效的从里面学习到值得在工作中尝试的 Idea,这篇文章也是这样,实现的方法并不是很难,但是却很好用,并且能够在不同的场景中使用,确实是 embed 一切。说了这么多,你是不是也和我一个表情了,let’s go!

这篇文章主要的时间线是这样的:

  • StarSpace 是用来解决那些问题的?
  • StarSpace 是怎么做的呢?
  • 怎么快速的在工作中用起来 StarSpace?

StarSpace 是用来解决那些问题的?

在自然语言处理中,我们有大量的文本、文章、实体、标签等一大堆东西,我们希望能够通过向量把他们表示出来。因为如果我们能把他们都表示成在同一个空间内的向量,我们就可以对它们做相似度的判断,做分类的工作,做排序的工作了。在基础的任务之上,我们就能够使用它们来构建内容推荐,文本分类、打标签等等的系统了。这些场景在我们现实工程中的意义那就太大了,可以说现在任何一家互联网公司,都存在这些场景,但只是说大家解决的问题的领域可能不一样。

所以,我们可以说,对工业场景中的各种个样的对象做 embeding,是目前在应用场景中能够解决很多问题的基石。这种思路不仅仅在自然语言中,针对一些文字有效,其实在机器视觉的领域也是同样的,都是要想办法把实体映射到某一个向量空间中。

StarSpace 就是这样一种,把各种各样的数据投射到向量空间中的方法。数据包括但不限于:文本、文章、主题、标签、知识图谱等。

StarSpace 是怎么做的呢?

接下来,我们来看看 StarSpace 是怎么做的呢?

这里我们使用一个具体的例子,来说明 StarSpace 的工作原理。假设你现在是一家外卖公司的算法工程师,你的老板希望你能把用户对餐馆的评论进行向量化表示,从而能够实现对于用户的评论打标签的功能。老板通过其他部门收集来的数据就是一些用户的评价,以及花钱请一些“人工只能训练师”标注的标签。 标注的形式如下图所示, d i d_{i} di 表示评论, t i t_{i} ti 表示标签,并且已经标记好了哪些评论和哪些标签是有关系的。比如下图中 d 2 d_{2} d2 就和 t 1 , t 2 , t 4 t_{1},t_{2},t_{4} t1,t2,t

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值