首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于词嵌入的文本分类

基于词嵌入的文本分类
EN

Stack Overflow用户
提问于 2020-03-30 11:15:50
回答 3查看 459关注 0票数 0

我有一个正面和负面内容的数据集。让我们假设这是一个垃圾邮件项目。

我需要构建一个模型,它可以对pos/neg中的内容进行分类。所以我在做一个有监督的学习任务,因为我有一个标记数据集。因此,最佳选择必须是使用SVC模型。

到目前一切尚好。

现在复杂的部分来了。

我想用Keras模型来解决相同的任务。所以我的问题是:

它仍然是有监督的还是无监督的,因为我在这个任务中使用了单词嵌入,在这里引用本文,单词嵌入用于无监督的任务:https://www.quora.com/Is-deep-learning-supervised-unsupervised-or-something-else

上面写着:

深度学习可以是无监督的:字嵌入、图像编码到低维或高维等。

那么-它现在是无监督的还是监督的(因为我的数据集被标记了)?

而深度学习是另一种技术,如无监督和监督的学习,还是这些主题之间的关系?深度学习是使用监督技术还是非监督技术?还是必须在深度学习、无监督学习和监督学习之间做出选择?

太让人困惑了!请帮帮我!特别是对于LSTM任务。我需要知道它在哪里被监督(因为有标记的数据集)或者没有监督(因为使用了单词嵌入)

谢谢,伙计们!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-03-30 12:54:29

一句鼓励的话,我回想起同样的感觉;当我开始学习这个领域时,我感到非常沮丧。真的变得更容易了!

词嵌入是由无监督学习产生的。但是,您可以像您正在做的那样,在受监督的投影中使用经过训练的嵌入层。换句话说,您的项目是一个有监督的学习项目,其中一个层次是使用通过无监督培训技术获得的权重。

这可能有助于进一步了解嵌入层,它们是如何形成的,以及它们可以为监督学习做些什么。我将尝试用非技术的方式来解释,这样你就可以在学习细节和踏板之前对这个概念有一种感觉。

假设你从一个巨大的语料库开始。你计算每个单词出现的频率,并使用它来排序每个相对于其他单词(或者使用其他公式,不管怎样)。这是一种文本“标记化”的方法。关键是要把单词变成数字。很明显,这很重要,因为我们决定用它们来做数学,但它带来了一点麻烦:数字关系不一定包含任何关于单词含义的关系的信息。为了改善这一点,您可以像这样训练一个小网络:从您的语料库中提取块并创建跳跃图,并教导网络,在应用了度量衡和余弦相似度量之后,如果单词出现在彼此附近(或其他一些标准),则产生的输出应该是1;或者,如果单词不出现在彼此附近,则应该是0 (如果您愿意的话,也可以是-1 )。在语料库的过程中,倾向于一起使用的单词会一起移动,同样也会相反。目标是创建一种符号的相对意义的地图(如果你愿意的话);换句话说,目标是创建单词相对意义的n维表示。然后,经过培训,可以将嵌入保存到像您这样的项目中。然后,嵌入层将在保存的嵌入中查找令牌并获取其输出,即在嵌入空间中的字的向量表示;它们在我们的理论地图中的坐标。这被认为是“无监督的”,因为您不必显式地为比较提供事实真相;在这种情况下,它是从培训样本(即从任何输入生成的跳图)生成的。另一个例子是,如果预期的输出与输入(如自动编码器中的输出)相同,那么输入是不受监督的(就像以前一样),因为您不必提供预期的输出;如果您提供了一个输入,它就会自动得到预期的输出。

如果所有这些都令人困惑,那就停下来考虑一下你自己的想法:如果我问你“大比萨饼”这个词的意思和“大比萨饼”中“大”的意思相同,你可以参考你对“大”这个词的含义的理解,并尽可能接近它:也许是“大”这个词。嵌入是一种制作地图的方法,其中“大”和“大”沿着大多数轴(即大多数维度)非常接近地放置在一起。

所以,当你加载一些预先训练好的嵌入时,你只是把一些权重加载到你的一个层中。有时人们用零初始化层,有时人们使用随机的正态分布或高斯分布,有时人们使用特定的值(例如加载保存的网络或加载嵌入);这都是一样的。如果你继续进行监督训练,那么你就是在做这样的事情:执行监督训练。在嵌入层之后,您正在处理的信息不是任意的单词,而是以下内容:相对意义。如果这不只是简单的,我不知道是什么!我发现,当数据通过网络时,考虑它所代表的内容是很有帮助的。

票数 2
EN

Stack Overflow用户

发布于 2020-03-30 13:22:24

  1. 您的项目是一个监督学习任务,因为您期望该算法将从您提供的标签数据中学习。
  2. 深度学习是基于人工神经网络的方法的一部分,可用于有监督和无监督的方法。
  3. 单词嵌入是字映射:每个单词都表示为向量。您可以使用单词嵌入来将单词转换为向量,以满足神经网络的需要。
  4. 反过来,单词嵌入通常是由浅层神经网络和无监督的方法生成的。
票数 3
EN

Stack Overflow用户

发布于 2020-03-30 12:10:04

单词嵌入本身是一项无监督的任务。这并不意味着您不能将其作为一个更有监督的任务(如文本分类)的一部分(将其更多地看作是数据预处理)。因为,对于您更大的问题,您正在使用标签,您的问题是一个监督的问题,而事实上您没有使用这些标签的词嵌入子任务并不改变这一点。

作为一种非常普遍的规则,问题的性质或问题(监督/无监督)是由整个端到端问题而不是由其子任务决定的。

比较简单的分类/回归与数值特征的设置可能会有帮助:在这里,我们经常对输入的数值特征进行缩放;缩放也是一种无监督的技术(不需要标签),但由于它只用于预处理,因此不影响更大问题的性质。

在字嵌入的情况下,任务本身使用ML模型(而不是相对简单的算术操作,如缩放)来处理,这并不改变论点:它只是监督分类管道中的一个无监督组件。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60929359

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档