我试图用R和H2O建立一个情感分类模型。我有一个格式的数据文件:
+-----------+------------------------------------------------------+
| Sentiment | Text |
+-----------+------------------------------------------------------+
| 1 | This is a sample text. This is another sentence. |
+-----------+------------------------------------------------------+
| 0 | Another sentence. And another! |
+-----------+------------------------------------------------------+
| -1 | Text text and Text! Text everywhere! So much text... |
+-----------+------------------------------------------------------+因此,情感值a为1,0和-1,每一行的文本可以由几个句子组成。我知道想要准备数据集,以便将其与h2o的深度学习函数一起使用。因此,我想使用tmcn.word2vec R包。但是我不能用这个包把它按行变换。我只需获取整个文本列并将其转换为word2vec文档,但这样我的情感信息就会丢失。
是否有另一种方法将文本转换为R中的深度学习函数的数字输入?尤其是对H2O?
诚挚的问候
发布于 2016-09-01 16:56:06
https://www.kaggle.com/c/word2vec-nlp-tutorial/details/part-3-more-fun-with-word-vectors
上面的Kaggle文章解释了克服这一挑战的几种方法(但是,用Python)。确实有,
我认为这些想法可能会有帮助。
发布于 2015-08-13 23:22:38
因此,有几种方法可以帮助您完成在此应用程序中使用H2O的任务。不过,首先,您需要对数据集中的文本进行规范化。
我假设您正在进行一些文本清理/标记化,这将产生一系列单独的字串。然后您将在这些单独的字串上运行您的Word2Vec模型。问题是每个文本文档都可以是N个字长,所以您可能需要尝试将给定字符串的word2vec向量平均。
因此,在上面关于sentence2的示例中:v(另一个)+v(句子)+v(和)+v(另一个)/4(单个单词),这将为每个单独的文本文档生成一个X特征的平均向量。
在此之后,您可以在R中使用我们的h2o.cbind()函数,因此将您的数据集划分为两个数据帧,其中框架1只是文档的情感(-1,0,1),下一个数据帧是tweet(‘另一个句子。和另一个’)。在tweet dataframe上运行上述步骤,然后对这两个步骤进行绑定。
但是,在使用我们的h2o ()命令之前,请确保将这两个数据帧传递到h2o.cbind,然后您应该已经准备好在数据集中运行h2o.deeplearning()模型了!
祝好运!
发布于 2016-03-16 07:36:14
我用的是rword2vec包而不是tmcn.word2vec。
为了训练wordvec模型,不应该有标点符号,所有单词都应该小写,这样才能取得更好的效果。
train=data$Text
train=tolower(train)
train=gsub("[[:punct:]]", "", train)
write(train,"text_data.txt")现在在这个文本文件上训练word2vec模型。输出文件可以是.txt或.bin。
支持.txt输出文件:您可以很容易地更改或操作字向量。
.txt输出文件的Con :不能在.txt文件上使用其他rword2vec函数(距离、类推)。
为了训练word2vec模型:
model=word2vec(train_file = "text_data.txt",output_file ="model1.bin",layer1_size = 300,min_count = 40,num_threads = 4,window = 10,sample = 0.001,binary=1)要从二进制输出文件中获取.txt文件,请执行以下操作:
bin_to_txt("model1.bin","model1text.txt") 我们需要"model1text.txt“来创建训练数据集。有两种常见的创建培训数据集的方法:
有关更多信息,请参阅这教程系列:
利用上述方法对kaggle's书包与爆米花袋(Github回购链接)建立了情感分类模型。通过进行一些必要的更改,您可以使用此代码获取文本数据的培训数据集。
最后,利用h2o或任何机器学习算法对训练数据集进行训练,得到情感分类模型。
https://stackoverflow.com/questions/30901595
复制相似问题