用于观点发现的句子向量形式的特征。
Features of vector form of sentences for opinion finding.
我想找到一个句子的正面或负面意见。例如只谈论一句话。
The play was awesome
如果改成矢量形式
[0,0,0,0]
搜索词袋后
bad
naughty
awesome
矢量形式变为
[0,0,0,1]
其他句子也一样。现在我想把它传递给机器学习算法来训练它。 如何使用这些多个向量训练网络?(用于寻找未见过的句子的意见)显然不是!因为输入在神经网络中是固定的。有什么办法吗?上面的过程只是我的想法。如果我错了,请纠正我。提前致谢。
因为您的直观输入格式是 "Sentence"。这确实是一串具有 任意 长度的标记。将句子抽象为标记系列并不是一个好的选择,因为许多现有算法仅适用于确定的输入格式。
因此,我建议尝试在整个训练集上使用 tokenizer。这将为您提供字典长度的向量,它对于给定的训练集是固定的。
因为当句子的长度变化很大时,字典的大小总是保持稳定。
然后您可以将神经网络(或其他算法)应用于标记化向量。
但是,分词器生成的向量非常稀疏,因为你只处理句子而不是文章。
你可以试试LDA (supervised, not PCA),在缩小维度的同时放大差异。
这将保留你的训练数据的基本信息,并以固定大小表达你的数据,而这个 "size" 不会太大。
顺便说一句,你可能不必根据态度来标记每个词,因为一个句子的观点也取决于其他类型的词。
对表达意见的单词数量的简单算术很多会使您的模型存在很大偏差。更好地标记句子并将其余工作留给分类器。
For the confusions
PCA and LDA are Dimensional Reduction techniques.
difference
Let's assume each tuple of sample is denoted as x
(1-by-p vector).
p is too large, we don't like that.
Let's find a matrix A(p-by-k) in which k is pretty small.
So we get reduced_x
= x*A
, and most importantly, reduced_x
must
be able to represent x
's characters.
Given labeled data, LDA can provide proper A that can maximize
distance between reduced_x
of different classes, and also minimize
the distance within identical classes.
In simple words: compress data, keep information.
When you've got
reduced_x
, you can define training data: (reduced_x|y)
where y is
0 or 1.
我想找到一个句子的正面或负面意见。例如只谈论一句话。
The play was awesome
如果改成矢量形式
[0,0,0,0]
搜索词袋后
bad
naughty
awesome
矢量形式变为
[0,0,0,1]
其他句子也一样。现在我想把它传递给机器学习算法来训练它。 如何使用这些多个向量训练网络?(用于寻找未见过的句子的意见)显然不是!因为输入在神经网络中是固定的。有什么办法吗?上面的过程只是我的想法。如果我错了,请纠正我。提前致谢。
因为您的直观输入格式是 "Sentence"。这确实是一串具有 任意 长度的标记。将句子抽象为标记系列并不是一个好的选择,因为许多现有算法仅适用于确定的输入格式。
因此,我建议尝试在整个训练集上使用 tokenizer。这将为您提供字典长度的向量,它对于给定的训练集是固定的。
因为当句子的长度变化很大时,字典的大小总是保持稳定。
然后您可以将神经网络(或其他算法)应用于标记化向量。
但是,分词器生成的向量非常稀疏,因为你只处理句子而不是文章。
你可以试试LDA (supervised, not PCA),在缩小维度的同时放大差异。
这将保留你的训练数据的基本信息,并以固定大小表达你的数据,而这个 "size" 不会太大。
顺便说一句,你可能不必根据态度来标记每个词,因为一个句子的观点也取决于其他类型的词。
对表达意见的单词数量的简单算术很多会使您的模型存在很大偏差。更好地标记句子并将其余工作留给分类器。
For the confusions
PCA and LDA are Dimensional Reduction techniques. difference
Let's assume each tuple of sample is denoted as
x
(1-by-p vector).p is too large, we don't like that.
Let's find a matrix A(p-by-k) in which k is pretty small.
So we get
reduced_x
=x*A
, and most importantly,reduced_x
must be able to representx
's characters.Given labeled data, LDA can provide proper A that can maximize distance between
reduced_x
of different classes, and also minimize the distance within identical classes.In simple words: compress data, keep information.
When you've got
reduced_x
, you can define training data:(reduced_x|y)
where y is 0 or 1.