首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Word2vec java实战

Word2vec java实战

作者头像
用户2146693
发布2021-12-28 10:37:11
7040
发布2021-12-28 10:37:11
举报
文章被收录于专栏:架构师进阶架构师进阶

前言

在学习了word2vec的牛逼后,开始进入实战,解决问题了。

实战

添加依赖

        <dependency>
            <groupId>com.medallia.word2vec</groupId>
            <artifactId>word2vecjava_2.11</artifactId>
            <version>1.0-ALLENAI-4</version>
        </dependency>

训练模型

由于语料比较小,各项参数,都调小了。

@Service
@Slf4j
public class Word2vecService {

    public Word2VecModel train() {
        try {
            List<String> data = List.of("anarchism originated as a term of abuse first used against early working class radicals including the diggers of the english anarchism originated as a term of abuse first");
            List list = Lists.transform(data, var11 -> Arrays.asList(var11.split(" ")));
            Word2VecModel word2VecModel = Word2VecModel.trainer().setMinVocabFrequency(1).useNumThreads(4).setWindowSize(1).type(NeuralNetworkType.CBOW).setLayerSize(12).useNegativeSamples(5).setDownSamplingRate(1.0E-4D).setNumIterations(5).setListener((var1, var2) -> System.out.println(String.format("%s is %.2f%% complete", Format.formatEnum(var1), var2 * 100.0D))).train(list);
            return word2VecModel;
        } catch (InterruptedException e) {
            log.error("exception:{}", e);
            return null;
        }
    }

}

验证模型

curl http://localhost:8080/w2v/model

{"vocab":["of","a","abuse","anarchism","as","first","originated","term","the","against","class","diggers","early","english","including","radicals","used","working"]}

curl http://localhost:8080/w2v/matches?name=originated

[{"originated":1.0},{"used":0.31949775120966817},{"against":0.2685951628434606},{"working":0.243240735844125},{"first":0.21188438070768922},{"as":0.14340927658891997},{"anarchism":0.14088247689095754},{"a":0.11150486710031617},{"early":-0.03650820548138082},{"radicals":-0.08134581648415767}]R
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 实战
    • 添加依赖
      • 训练模型
        • 验证模型
        相关产品与服务
        命令行工具
        腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档