从维基百科学习单词和实体的矢量表示的工具

wikipedia2vec的Python项目详细描述


维基百科2vec

Fury badgeCircleCI

wikipedia2vec是一个工具,用于从wikipedia获取单词和实体(即wikipedia中具有相应页面的概念)的嵌入(或向量表示)。 它由Studio Ousia开发和维护。

此工具使您能够同时学习单词和实体的嵌入,并将相似的单词和实体彼此靠近放置在连续向量空间中。 嵌入可以很容易地通过一个命令进行训练,并以一个公开可用的wikipedia转储作为输入。

这个工具实现了conventional skip-gram model来学习单词的嵌入,以及Yamada et al. (2016)中提出的扩展来学习实体的嵌入。 此工具已用于几个最新的NLP模型,如entity linkingnamed entity recognitionknowledge graph completionentity relatednessquestion answering

这个工具已经在linux、windows和macos上测试过了。

< > WiKiTaa2VEC与现有的嵌入工具(即FAST文本、GENSIM、RDF2VEC和WiKi2VEC)的经验比较是可用的{{A11}。

12种语言(英语、阿拉伯语、中文、荷兰语、法语、德语、意大利语、日语、波兰语、葡萄牙语、俄语和西班牙语)的文档和预训练嵌入可在http://wikipedia2vec.github.io/在线获得。

基本用法

维基百科2vec可以通过pypi安装:

% pip install wikipedia2vec

有了这个工具,可以通过运行一个train命令并以wikipedia dump作为输入来学习嵌入。 例如,以下命令下载最新的英语维基百科转储并从此转储学习嵌入:

% wget https://dumps.wikimedia.org/enwiki/latest/enwiki-latest-pages-articles.xml.bz2
% wikipedia2vec train enwiki-latest-pages-articles.xml.bz2 MODEL_FILE

然后,学习的嵌入被写入model_文件。 请注意,此命令可以接受许多可选参数。 详情请参阅our documentation

参考

如果您在科学出版物中使用Wikipedia2vec,请引用以下文章:

山田英彦,浅井昭一,新藤弘一,竹田英彦,竹藤喜彦,Wikipedia2Vec: An Optimized Tool for Learning Embeddings of Words and Entities from Wikipedia

@article{yamada2018wikipedia2vec,
  title={Wikipedia2Vec: An Optimized Tool for Learning Embeddings of Words and Entities from Wikipedia},
  author={Yamada, Ikuya and Asai, Akari and Shindo, Hiroyuki and Takeda, Hideaki and Takefuji, Yoshiyasu},
  journal={arXiv preprint 1812.06280},
  year={2018}
}

许可证

Apache License 2.0

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用“Wed,01 Jul 2015 17:32:41 EDT”解析字符串   java Storm apache升级(1.0.0到2.0.0)   java类驻留在不同的目录中,而不是包指定的目录。为什么?   将Java中的图像缩放到非常小的维度   java如何通过子文档从自定义方面访问ElasticSearch parentdoc字段   java如何在RationalSoftwareArchitect中使用findbugs?   Java中的事件提升处理   java值被添加到arrayList的所有索引中,而不是在“”时添加到最后一个索引中。正在使用arraylist的add()方法   JFrame中的java JPanel派生类   java如何用循环和异步方法模拟类   java Android阻止可绘制背景超出视图范围   为客户排序Java阵列   java Apache poi如何将工作表设置为枚举位置值属性?   java Rhino在使用自定义类参数调用javascript函数时出错   java格式化日期从年月日到年月日   spring如何修复java。lang.illegalargumentexception在此特定场景中是否尝试创建具有null实体的合并事件?   java如何创建更好的对象