doc2vec用于训练文本向量-deeplearning4j实现
来源:互联网 发布:如何安装ubuntu双系统 编辑:程序博客网 时间:2024/06/03 16:56
1.概述
Tomas Mikolov不仅仅提出word2vec,还提出了fasttext、doc2vec、doc2vec classify等经典 论文,下面用deeplearning4j实现doc2vec,并通过训练好的doc2vec计算文档相似度以及找最相似的文档,理论方面不多做介绍。
2.数据格式
和前面提到用于训练word2vec的数据格式是一样的
想要 年轻漂亮 妹 zi 手机 搜 魔都 2 字 印 伤 陈 里面 排名 前 几位 专门 解绍 上海夜生活 软 见 \ ( o )
预定 满 加 h 其他数字 免费 吃
40包 邮 送 10 币 名字 就是 微信
佑 琪 喜欢 经常 过来 玩 人气 比较 旺 啊 玩具 特别 多 好多 品牌 玩具 都有 属于 综合 比较 大 有时候 看到 比较 喜欢 但是 又 比较 占 家里 空间 玩具 会 玩具 超人 给 他 租 回去 手机 上下 单 可以 上门 取送 玩具 特别 方便 appstore 里面 可以 搜索 下载 到
这家 中心 老师 负责 对待 孩子 耐心 家长 有 礼貌 可以 锻炼 孩子 社交能力 还有很多 免费体验 玩具 比如 滑行车 我 玩具 租赁 平台 玩具 超 ren 给 孩子 租 到 过 同款 干净 质量 很棒 体验 不错 赞一个
这家 中心 老师 负责 对待 孩子 耐心 家长 有 礼貌 可以 锻炼 孩子 大动作 发育 还有很多 免费体验 玩具 比如 秋千 我 玩具 租赁 平台 玩具 chao 人 给 孩子 租 到 过 同款 干净 质量 很棒 体验 不错 赞一个
梓涵 贪玩 有时候 天气 不好 我 平时 wan 具 超人 租 玩具 拿 过来 小朋友们 一起玩 感觉 她 一下 长大 直接 应用 市场 appstore 搜索 玩具 超人 " 能找到
这家 中心 老师 负责 对待 孩子 耐心 家长 有 礼貌 可以 锻炼 孩子 大动作 发育 还有很多 免费体验 玩具 比如 摇摇 马 我 玩具 租赁 平台 玩 ju 超人 给 孩子 租 到 过 同款 干净 质量 很棒 体验 不错 赞一个
我 玩具 租赁 平台 玩具 超 入 ren 给 孩子 租 到 过 同款 干净 质量 很棒 体验 不错 赞一个
这家 中心 老师 负责 对待 孩子 耐心 家长 有 礼貌 可以 锻炼 孩子 情绪 感受 能力 还有很多 免费体验 玩具 比如 海洋球 我 玩具 租赁 平台 玩具 chao 人 给 孩子 租 到 过 同款 干净 质量 很棒 体验 不错 赞一个
转让 一张 副 卡 未 开通 再 送 100 代金券
3.代码
想要 年轻漂亮 妹 zi 手机 搜 魔都 2 字 印 伤 陈 里面 排名 前 几位 专门 解绍 上海夜生活 软 见 \ ( o )
预定 满 加 h 其他数字 免费 吃
40包 邮 送 10 币 名字 就是 微信
佑 琪 喜欢 经常 过来 玩 人气 比较 旺 啊 玩具 特别 多 好多 品牌 玩具 都有 属于 综合 比较 大 有时候 看到 比较 喜欢 但是 又 比较 占 家里 空间 玩具 会 玩具 超人 给 他 租 回去 手机 上下 单 可以 上门 取送 玩具 特别 方便 appstore 里面 可以 搜索 下载 到
这家 中心 老师 负责 对待 孩子 耐心 家长 有 礼貌 可以 锻炼 孩子 社交能力 还有很多 免费体验 玩具 比如 滑行车 我 玩具 租赁 平台 玩具 超 ren 给 孩子 租 到 过 同款 干净 质量 很棒 体验 不错 赞一个
这家 中心 老师 负责 对待 孩子 耐心 家长 有 礼貌 可以 锻炼 孩子 大动作 发育 还有很多 免费体验 玩具 比如 秋千 我 玩具 租赁 平台 玩具 chao 人 给 孩子 租 到 过 同款 干净 质量 很棒 体验 不错 赞一个
梓涵 贪玩 有时候 天气 不好 我 平时 wan 具 超人 租 玩具 拿 过来 小朋友们 一起玩 感觉 她 一下 长大 直接 应用 市场 appstore 搜索 玩具 超人 " 能找到
这家 中心 老师 负责 对待 孩子 耐心 家长 有 礼貌 可以 锻炼 孩子 大动作 发育 还有很多 免费体验 玩具 比如 摇摇 马 我 玩具 租赁 平台 玩 ju 超人 给 孩子 租 到 过 同款 干净 质量 很棒 体验 不错 赞一个
我 玩具 租赁 平台 玩具 超 入 ren 给 孩子 租 到 过 同款 干净 质量 很棒 体验 不错 赞一个
这家 中心 老师 负责 对待 孩子 耐心 家长 有 礼貌 可以 锻炼 孩子 情绪 感受 能力 还有很多 免费体验 玩具 比如 海洋球 我 玩具 租赁 平台 玩具 chao 人 给 孩子 租 到 过 同款 干净 质量 很棒 体验 不错 赞一个
转让 一张 副 卡 未 开通 再 送 100 代金券
package com.dianping.deeplearning.paragraphvectors;
import java.io.FileNotFoundException;
import java.util.Collection;
import org.deeplearning4j.models.paragraphvectors.ParagraphVectors;
import org.deeplearning4j.models.word2vec.VocabWord;
import org.deeplearning4j.models.word2vec.wordstore.inmemory.AbstractCache;
import org.deeplearning4j.text.documentiterator.LabelsSource;
import org.deeplearning4j.text.sentenceiterator.BasicLineIterator;
import org.deeplearning4j.text.sentenceiterator.SentenceIterator;
import org.deeplearning4j.text.tokenization.tokenizer.preprocessor.CommonPreprocessor;
import org.deeplearning4j.text.tokenization.tokenizerfactory.DefaultTokenizerFactory;
import org.deeplearning4j.text.tokenization.tokenizerfactory.TokenizerFactory;
import org.nd4j.linalg.api.ndarray.INDArray;
import org.nd4j.linalg.ops.transforms.Transforms;
public class Doc2VecAdd {
private final static String ADXPATH_STRING="adx/wordvecsence.txt";
public static void main(String[] args) throws FileNotFoundException {
SentenceIterator iter=new BasicLineIterator(ADXPATH_STRING);
AbstractCache<VocabWord> cache=new AbstractCache<>();
TokenizerFactory t=new DefaultTokenizerFactory();
t.setTokenPreProcessor(new CommonPreprocessor());
LabelsSource source = new LabelsSource("DOC_");
ParagraphVectors vectors=new ParagraphVectors.Builder().minWordFrequency(1).iterations(5)
.epochs(1)
.layerSize(100)
.learningRate(0.025)
.labelsSource(source)
.windowSize(5)
.iterate(iter)
.trainWordVectors(false)
.vocabCache(cache)
.tokenizerFactory(t)
.sampling(0)
.build();
vectors.fit();
/*找到和下面句子最相近的词10的文档
* 想要 年轻漂亮 妹 zi 手机 搜 魔都 2 字 印 伤 陈 里面 排名 前 几位 专门 解绍 上海夜生活 软 见 \ ( o )
*
* note:文档索引是从0开始的
*/
System.out.println("找到和这篇文档最相似的文档:");
System.out.print("想要 年轻漂亮 妹 zi 手机 搜 魔都 2 字 印 伤 陈 里面 排名 前 几位 专门 解绍 上海夜生活 软 见"+"\n");
Collection<String> listCollection = vectors.wordsNearest("DOC_0", 10);
for (String li : listCollection) {
System.out.println(li);
}
System.out.println("获取文档的相似度以及向量");
INDArray arr=vectors.lookupTable().vector("DOC_0");
System.out.println("arr1 is :"+arr);
INDArray arr1=vectors.inferVector("我的 手机 号码 是 手机号码");
INDArray arr2=vectors.inferVector("我的 微信 号码 是 微信号");
System.out.println("文档1和文档2的相似度是:"+Transforms.cosineSim(arr1, arr2));
}
}
4.结果
文档是以0开始做索引的
找到和这篇文档最相似的文档:
想要 年轻漂亮 妹 zi 手机 搜 魔都 2 字 印 伤 陈 里面 排名 前 几位 专门 解绍 上海夜生活 软 见
DOC_192
DOC_3709
DOC_1044
DOC_1668
DOC_4014
DOC_1372
DOC_2186
DOC_428
DOC_24
DOC_1249
获取文档的相似度以及向量
arr1 is :[0.16, -0.01, 0.09, -0.05, 0.01, 0.12, 0.09, 0.03, 0.08, -0.16, -0.13, 0.12, -0.03, -0.03, -0.45, 0.01, 0.05, -0.03, -0.04, -0.03, 0.06, 0.03, -0.17, -0.04, -0.03, -0.05, -0.01, 0.21, -0.04, -0.05, 0.07, 0.07, -0.03, 0.06, -0.06, 0.04, 0.07, -0.15, 0.12, 0.02, 0.21, -0.09, 0.04, -0.12, -0.02, 0.01, 0.11, 0.07, 0.02, 0.12, 0.00, 0.05, 0.15, -0.06, -0.03, -0.02, 0.02, 0.21, 0.02, 0.07, -0.01, 0.10, -0.01, 0.09, 0.14, 0.04, 0.01, -0.03, 0.12, -0.09, 0.18, 0.06, -0.10, -0.05, 0.09, 0.09, 0.19, -0.02, -0.02, -0.14, -0.06, -0.10, 0.10, -0.05, 0.19, 0.19, -0.04, -0.04, -0.01, 0.07, 0.06, 0.05, -0.05, -0.07, 0.15, 0.09, -0.04, 0.01, 0.05, 0.01]
文档1和文档2的相似度是:0.610120952129364
先看下DOC_192
DOC_3709
总体来说还是比较准确的。
阅读全文
0 0
- doc2vec用于训练文本向量-deeplearning4j实现
- doc2vec用于分类 deeplearning4j实现
- lstm用于文本分类(gpu实现)--deeplearning4j为例子
- 文本深度表示模型—word2vec&doc2vec词向量模型
- 文本深度表示模型—word2vec&doc2vec词向量模型
- 卷积文本分类(gpu)实现--deeplearning4j
- doc2vec的基于新文本内容的增量训练方案
- [Algorithm & NLP] 文本深度表示模型——word2vec&doc2vec词向量模型
- [Algorithm & NLP] 文本深度表示模型——word2vec&doc2vec词向量模型
- 文本深度表示模型——word2vec&doc2vec词向量模型(转)
- Python训练Word2Vec和Doc2Vec
- Deeplearning4j 实战(6):基于LSTM的文本情感识别及其Spark实现
- 深度学习Deeplearning4j 入门实战(6):基于LSTM的文本情感识别及其Spark实现
- Deeplearning4j 实战(6):基于LSTM的文本情感识别及其Spark实现
- Doc2Vec训练相似文章识别模型
- word2vec词向量训练及中文文本相似度计算
- word2vec词向量训练及中文文本相似度计算
- 用word2vec训练文本摘要的词向量模型
- dubbo 实践
- 用于Matlab的多摄像机系统校准工具箱 用于Matlab的多摄像机系统校准工具箱 这是用于校准多摄像机系统的工具箱。该工具箱的要求是系统中的两个相邻摄像机应该能够同时看到校准板的某些部分。一般来说
- Python之数组(array)使用方法总结与Numpy中的数组用法
- 计算机网络
- nginx_upstream_check_module
- doc2vec用于训练文本向量-deeplearning4j实现
- Cookie完成自动登录及Config和ServletContext
- SpringMVC 解决IE8浏览器把返回报文格式application/json当文件下载的问题
- android Audio OverView之二(hal)
- 自定义你的前端组件(shadow-DOM)二
- SVM支持向量机目标函数及参数训练过程说明解读
- WebSocket学习01
- CENTOS7 下安装Chrome
- 字符串操控