我读过一些关于文本分类的论文,但它们非常抽象。我无法理解如何使用由句子 -> 标签组成的数据来训练多层感知器。
感知器接受大小为 m 的向量输入并输出向量。
作为第一步,我减少了维度并将每个单词映射到一个包含 n 个特征的向量,其中 n 是一个常数。
现在如何混合句子中的单词以输入大小为 m ?每个单词都映射到一个大小为 n 的向量,但是然后呢?知道每个句子都有不同数量的单词。
谢谢
我读过一些关于文本分类的论文,但它们非常抽象。我无法理解如何使用由句子 -> 标签组成的数据来训练多层感知器。
感知器接受大小为 m 的向量输入并输出向量。
作为第一步,我减少了维度并将每个单词映射到一个包含 n 个特征的向量,其中 n 是一个常数。
现在如何混合句子中的单词以输入大小为 m ?每个单词都映射到一个大小为 n 的向量,但是然后呢?知道每个句子都有不同数量的单词。
谢谢
好的。这些是要遵循的步骤。
将句子填充到固定长度。使用最大长度。如果您对创建存储桶感到满意,您可以将句子填充到单个存储桶的最大长度。要填充,将 PAD 标记添加到每个句子,直到它们成为您要使用的固定序列长度的大小。
从填充语料库中提取唯一单词,并为每个单词分配一个数字 id。您可以使用唯一列表中的索引作为 ID。过滤掉稀有词并用未知标记替换它们将被证明是有用的。
现在,如果你有一个像“我是约翰”这样的句子,并且你的最大序列长度是 5,那么这个句子将变成“我是约翰 PAD PAD”。提取唯一词后,您可以将句子表示为 ID,例如 [1,2,3,4,4] 现在如果您有 100 个句子,您将拥有一个大小为 100 X 5 的矩阵。
有关详细信息,请查看Denny Britz 的此RNN 教程,这是从头开始的。
如果您是深度学习的拥护者,那么请查看 Denny Britz 的 CNN 文本分类教程,其中他使用 tensorflow 并训练自己的词嵌入。第一篇博客将为您提供有关如何准备文本数据集所需的所有信息。