gensim-data
gensim-data 是一个专注于自然语言处理(NLP)领域的开源数据存储库,提供预训练模型和文本语料库。它解决了研究数据集经常消失、格式复杂或难以使用的问题,通过标准化的 API 和长期支持,为非结构化文本处理提供了稳定可靠的数据来源。
这个存储库非常适合 NLP 研究人员和开发者使用,尤其是那些需要快速获取高质量语料或预训练模型的人。用户无需直接与存储库交互,只需通过 Gensim 的下载 API 即可轻松加载所需资源,例如词向量模型或文本数据集。所有数据会自动保存到本地 ~/gensim-data 文件夹中,方便管理。
gensim-data 的独特之处在于其设计的可持续性:每个数据集都有独立的版本发布,并附带详细的使用示例和许可证说明,确保透明性和合规性。此外,数据以 GitHub 发布附件的形式存储,保证了数据的不可变性和长期可用性。
无论是加载预训练模型(如 GloVe 词向量)还是获取语料库(如 Wikipedia 或 text8),gensim-data 都能显著简化工作流程,让研究人员和开发者专注于核心任务,而不必为数据准备耗费精力。
使用场景
一位数据科学家正在开发一个基于自然语言处理的问答系统,需要使用预训练的词向量模型来提升语义理解能力。
没有 gensim-data 时
- 需要手动搜索和下载预训练模型,比如从不同网站获取 GloVe 或 Word2Vec 模型,过程繁琐且容易出错。
- 下载的文件格式不统一,可能需要额外编写代码来解析和加载模型,增加了开发时间。
- 数据集或模型可能因为链接失效或版本更新而无法长期使用,导致项目维护困难。
- 缺乏对数据集许可证的清晰说明,可能在无意中违反使用条款,带来法律风险。
- 文件存储位置分散,团队协作时难以共享和管理资源。
使用 gensim-data 后
- 只需调用简单的 API(如
api.load("glove-twitter-25")),即可自动下载并加载所需模型,大幅简化操作流程。 - 所有数据集和模型都经过标准化处理,开箱即用,无需额外编写解析代码,节省开发时间。
- 数据集和模型存储在本地
~/gensim-data文件夹中,版本固定且长期可用,确保项目的稳定性和可维护性。 - 每个数据集附带明确的许可证信息,帮助开发者合规使用,降低法律风险。
- 团队成员可以通过相同的 API 轻松获取资源,文件路径统一,便于协作和资源共享。
gensim-data 的核心价值在于为自然语言处理任务提供了便捷、可靠的数据和模型获取方式,显著提升了开发效率和项目稳定性。
运行环境要求
- 未说明
未说明
未说明

快速开始
Gensim-data 是用来做什么的?
研究数据集经常会出现消失、随时间变化、变得过时,或者没有合理的实现来处理数据格式的读取和处理。
基于这个原因,Gensim 推出了自己的数据集存储库,致力于长期支持、提供标准化的使用 API,并专注于非结构化文本处理(不包括图像或音频)的数据集。这个 Gensim-data 仓库就充当了这样的存储库。
您无需直接使用此存储库。相反,只需安装 Gensim 并使用其下载 API(见下文快速入门)。它会自动与该存储库进行交互。
💡 当您使用 Gensim 下载 API 时,所有数据都会存储在您的 ~/gensim-data 主目录文件夹中。
有关项目原理和设计决策的更多信息,请阅读这篇文章:New Download API for Pretrained NLP Models and Datasets。
它是如何工作的?
从技术上讲,实际的(有时非常大的)语料库和模型文件被存储为 release attachments 在 Github 上。每个数据集(以及每个数据集的新版本)都有自己的发布版本,且永远不可更改。
每次发布都附带一个使用示例和发布说明,例如:2017 年 USPTO 专利语料库; 2017 年英文维基百科,包含纯文本部分。
🔴 每个数据集都有自己的许可证,用户在使用数据集之前应仔细阅读!
快速入门
要加载模型或语料库,可以使用 Gensim 的 Python 或命令行接口(首先需要安装 Gensim):
Python API
示例:加载预训练模型(gloVe 词向量):
import gensim.downloader as api info = api.info() # 显示可用模型/数据集的信息 model = api.load("glove-twitter-25") # 下载模型并返回可直接使用的对象 model.most_similar("cat") """ 输出: [(u'dog', 0.9590819478034973), (u'monkey', 0.9203578233718872), (u'bear', 0.9143137335777283), (u'pet', 0.9108031392097473), (u'girl', 0.8880630135536194), (u'horse', 0.8872727155685425), (u'kitty', 0.8870542049407959), (u'puppy', 0.886769711971283), (u'hot', 0.8865255117416382), (u'lady', 0.8845518827438354)] """示例:加载语料库并用它训练 Word2Vec 模型:
from gensim.models.word2vec import Word2Vec import gensim.downloader as api corpus = api.load('text8') # 下载语料库并返回打开后的可迭代对象 model = Word2Vec(corpus) # 使用语料库训练模型 model.most_similar("car") """ 输出: [(u'driver', 0.8273754119873047), (u'motorcycle', 0.769528865814209), (u'cars', 0.7356342077255249), (u'truck', 0.7331641912460327), (u'taxi', 0.718338131904602), (u'vehicle', 0.7177008390426636), (u'racing', 0.6697118878364563), (u'automobile', 0.6657308340072632), (u'passenger', 0.6377975344657898), (u'glider', 0.6374964714050293)] """示例:仅下载数据集并返回本地文件路径(不打开):
import gensim.downloader as api print(api.load("20-newsgroups", return_path=True)) # 输出: /home/user/gensim-data/20-newsgroups/20-newsgroups.gz print(api.load("glove-twitter-25", return_path=True)) # 输出: /home/user/gensim-data/glove-twitter-25/glove-twitter-25.gz同样的操作,但通过CLI,命令行界面完成:
python -m gensim.downloader --info # 显示可用模型/数据集的信息 python -m gensim.downloader --download text8 # 将 text8 数据集下载到 ~/gensim-data/text8 python -m gensim.downloader --download glove-twitter-25 # 将模型下载到 ~/gensim-data/glove-twitter-50/
可用数据
数据集
| 名称 | 文件大小 | 了解更多 | 描述 | 许可 |
|---|---|---|---|---|
| 20-newsgroups | 13 MB | 臭名昭著的约20,000篇新闻组帖子集合,几乎均匀分布在20个不同的新闻组中。 | 未找到 | |
| fake-news | 19 MB | 新闻数据集,包含来自244个网站的文本和元数据,总计代表了在特定30天窗口内的12,999篇帖子。数据通过webhose.io API抓取,由于数据来源于其爬虫,并非所有被BS Detector(垃圾站点检测器)识别的网站都出现在此数据集中。缺少标签的数据源被简单地标记为'bs'。该数据集中没有(据称)任何真实、可靠或值得信赖的新闻来源(至少目前如此),所以请不要相信你读到的内容。 | https://creativecommons.org/publicdomain/zero/1.0/ | |
| patent-2017 | 2944 MB | 专利授权全文。包含2017年发布的每项专利授权的完整文本,包括表格、序列数据和“内联”数学表达式。 | 未找到 | |
| quora-duplicate-questions | 20 MB | 超过400,000行潜在的重复问题对。每一行包含每对问题的ID、每个问题的完整文本以及一个二进制值,指示该行是否包含重复对。 | 可能是 https://www.quora.com/about/tos | |
| semeval-2016-2017-task3-subtaskA-unannotated | 223 MB | SemEval 2016 / 2017任务3子任务A未标注数据集包含从卡塔尔生活社区问答(CQA)网络论坛收集的189,941个问题和1,894,456条评论。这些可以用作语言建模的语料库。 | 这些数据集可供一般研究用途免费使用。 | |
| semeval-2016-2017-task3-subtaskBC | 6 MB | SemEval 2016 / 2017任务3子任务B和C数据集包含英语的训练+开发集(317个原始问题,3,169个相关问题和31,690条评论)以及测试数据集。任务描述和收集的数据详见任务论文的第3节和第4.1节 http://alt.qcri.org/semeval2016/task3/data/uploads/semeval2016-task3-report.pdf,链接位于 https://github.com/RaRe-Technologies/gensim-data/issues/18 的“Papers”部分。 | 为该任务发布的所有文件均可供一般研究用途免费使用。 | |
| text8 | 31 MB | 来自维基百科的前100,000,000字节纯文本。用于测试目的;完整的维基百科数据集请参见wiki-english-*。 | 未找到 | |
| wiki-english-20171001 | 6214 MB | 2017年10月提取的维基百科数据转储。通过 python -m gensim.scripts.segment_wiki -f enwiki-20171001-pages-articles.xml.bz2 -o wiki-en.gz 生成。 |
https://dumps.wikimedia.org/legal.html |
模型
| 名称 | 向量数量 | 文件大小 | 基础数据集 | 了解更多 | 描述 | 参数 | 预处理 | 许可协议 |
|---|---|---|---|---|---|---|---|---|
| conceptnet-numberbatch-17-06-300 | 1917247 | 1168 MB | ConceptNet, word2vec, GloVe 和 OpenSubtitles 2016 | ConceptNet Numberbatch 包含最先进的语义向量(也称为词嵌入,word embeddings),可以直接用作单词意义的表示,也可以作为进一步机器学习的起点。ConceptNet Numberbatch 是 ConceptNet 开放数据项目的一部分。ConceptNet 提供了多种计算单词意义的方法,其中之一是词嵌入。ConceptNet Numberbatch 是这些词嵌入的一个快照。它通过一种集成方法构建,结合了来自 ConceptNet、word2vec、GloVe 和 OpenSubtitles 2016 的数据,并使用了一种改进的 retrofitting 方法。 |
|
- | https://github.com/commonsense/conceptnet-numberbatch/blob/master/LICENSE.txt | |
| fasttext-wiki-news-subwords-300 | 999999 | 958 MB | Wikipedia 2017, UMBC webbase 语料库和 statmt.org 新闻数据集 (16B tokens) | 在 Wikipedia 2017、UMBC webbase 语料库和 statmt.org 新闻数据集(16B tokens)上训练的 100 万个词向量。 |
|
- | https://creativecommons.org/licenses/by-sa/3.0/ | |
| glove-twitter-100 | 1193514 | 387 MB | Twitter (2B 推文, 27B tokens, 1.2M 词汇, 不区分大小写) | 基于 2B 推文、27B tokens、1.2M 词汇、不区分大小写的预训练向量(https://nlp.stanford.edu/projects/glove/)。 |
|
使用 python -m gensim.scripts.glove2word2vec -i <fname> -o glove-twitter-100.txt 转换为 w2v 格式。 |
http://opendatacommons.org/licenses/pddl/ | |
| glove-twitter-200 | 1193514 | 758 MB | Twitter (2B 推文, 27B tokens, 1.2M 词汇, 不区分大小写) | 基于 2B 推文、27B tokens、1.2M 词汇、不区分大小写的预训练向量(https://nlp.stanford.edu/projects/glove/)。 |
|
使用 python -m gensim.scripts.glove2word2vec -i <fname> -o glove-twitter-200.txt 转换为 w2v 格式。 |
http://opendatacommons.org/licenses/pddl/ | |
| glove-twitter-25 | 1193514 | 104 MB | Twitter (2B 推文, 27B tokens, 1.2M 词汇, 不区分大小写) | 基于 2B 推文、27B tokens、1.2M 词汇、不区分大小写的预训练向量(https://nlp.stanford.edu/projects/glove/)。 |
|
使用 python -m gensim.scripts.glove2word2vec -i <fname> -o glove-twitter-25.txt 转换为 w2v 格式。 |
http://opendatacommons.org/licenses/pddl/ | |
| glove-twitter-50 | 1193514 | 199 MB | Twitter (2B 推文, 27B tokens, 1.2M 词汇, 不区分大小写) | 基于 2B 推文、27B tokens、1.2M 词汇、不区分大小写的预训练向量(https://nlp.stanford.edu/projects/glove/)。 |
|
使用 python -m gensim.scripts.glove2word2vec -i <fname> -o glove-twitter-50.txt 转换为 w2v 格式。 |
http://opendatacommons.org/licenses/pddl/ | |
| glove-wiki-gigaword-100 | 400000 | 128 MB | Wikipedia 2014 + Gigaword 5 (6B tokens, 不区分大小写) | 基于 Wikipedia 2014 + Gigaword 5 的预训练向量,6B tokens,400K 词汇,不区分大小写(https://nlp.stanford.edu/projects/glove/)。 |
|
使用 python -m gensim.scripts.glove2word2vec -i <fname> -o glove-wiki-gigaword-100.txt 转换为 w2v 格式。 |
http://opendatacommons.org/licenses/pddl/ | |
| glove-wiki-gigaword-200 | 400000 | 252 MB | Wikipedia 2014 + Gigaword 5 (6B tokens, 不区分大小写) | 基于 Wikipedia 2014 + Gigaword 5 的预训练向量,5.6B tokens,400K 词汇,不区分大小写(https://nlp.stanford.edu/projects/glove/)。 |
|
使用 python -m gensim.scripts.glove2word2vec -i <fname> -o glove-wiki-gigaword-200.txt 转换为 w2v 格式。 |
http://opendatacommons.org/licenses/pddl/ | |
| glove-wiki-gigaword-300 | 400000 | 376 MB | Wikipedia 2014 + Gigaword 5 (6B tokens, 不区分大小写) | 基于 Wikipedia 2014 + Gigaword 5 的预训练向量,5.6B tokens,400K 词汇,不区分大小写(https://nlp.stanford.edu/projects/glove/)。 |
|
使用 python -m gensim.scripts.glove2word2vec -i <fname> -o glove-wiki-gigaword-300.txt 转换为 w2v 格式。 |
http://opendatacommons.org/licenses/pddl/ | |
| glove-wiki-gigaword-50 | 400000 | 65 MB | Wikipedia 2014 + Gigaword 5 (6B tokens, 不区分大小写) | 基于 Wikipedia 2014 + Gigaword 5 的预训练向量,5.6B tokens,400K 词汇,不区分大小写(https://nlp.stanford.edu/projects/glove/)。 |
|
使用 python -m gensim.scripts.glove2word2vec -i <fname> -o glove-wiki-gigaword-50.txt 转换为 w2v 格式。 |
http://opendatacommons.org/licenses/pddl/ | |
| word2vec-google-news-300 | 3000000 | 1662 MB | Google News (约 1000 亿单词) | 基于 Google News 数据集(约 1000 亿单词)部分训练的预训练向量。该模型包含 300 万单词和短语的 300 维向量。短语是通过 'Distributed Representations of Words and Phrases and their Compositionality' 中描述的一种简单数据驱动方法获得的(https://code.google.com/archive/p/word2vec/)。 |
|
- | 未找到 | |
| word2vec-ruscorpora-300 | 184973 | 198 MB | 俄罗斯国家语料库(约 2.5 亿单词) | 在完整俄罗斯国家语料库(约 2.5 亿单词)上训练的 Word2vec Continuous Skipgram 向量。该模型包含 18.5 万单词。 |
|
语料库经过词形还原并标注了通用词性标签 | https://creativecommons.org/licenses/by/4.0/deed.en |
(由 generate_table.py 根据 list.json 生成)
想要添加新的语料库或模型吗?
使用 gzip 或 bz2 压缩你的数据集。
在任何文件共享服务上分享压缩后的文件。
创建一个 新问题,并提供数据集的链接。附上一份详细描述,说明你为什么以及如何创建该数据集,相关的论文或研究内容,以及其他用户应如何使用它。在适当的情况下,请包含代码示例。
Gensim-data 是开源软件,遵循 LGPL 2.1 许可证 发布。
版权所有 (c) 2018 RARE Technologies。
版本历史
fasttext-wiki-news-subwords-3002018/03/16semeval-2016-2017-task3-subtaskBC2018/02/05semeval-2016-2017-task3-subtaskA-unannotated2018/02/05patent-20172017/12/28conceptnet-numberbatch-17-06-3002017/12/18word2vec-ruscorpora-3002017/12/18wiki-english-201710012017/11/10quora-duplicate-questions2017/11/14word2vec-google-news-3002017/11/09__testing_word2vec-matrix-synopsis2017/10/29__testing_multipart-matrix-synopsis2017/11/08__testing_matrix-synopsis2017/10/29glove-twitter-2002017/10/30glove-wiki-gigaword-3002017/10/28glove-wiki-gigaword-2002017/10/28glove-wiki-gigaword-1002017/10/28glove-twitter-502017/10/28glove-twitter-252017/10/28glove-twitter-1002017/10/2820-newsgroups2017/10/28常见问题
相似工具推荐
ML-For-Beginners
ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。
scikit-learn
scikit-learn 是一个基于 Python 构建的开源机器学习库,依托于 SciPy、NumPy 等科学计算生态,旨在让机器学习变得简单高效。它提供了一套统一且简洁的接口,涵盖了从数据预处理、特征工程到模型训练、评估及选择的全流程工具,内置了包括线性回归、支持向量机、随机森林、聚类等在内的丰富经典算法。 对于希望快速验证想法或构建原型的数据科学家、研究人员以及 Python 开发者而言,scikit-learn 是不可或缺的基础设施。它有效解决了机器学习入门门槛高、算法实现复杂以及不同模型间调用方式不统一的痛点,让用户无需重复造轮子,只需几行代码即可调用成熟的算法解决分类、回归、聚类等实际问题。 其核心技术亮点在于高度一致的 API 设计风格,所有估算器(Estimator)均遵循相同的调用逻辑,极大地降低了学习成本并提升了代码的可读性与可维护性。此外,它还提供了强大的模型选择与评估工具,如交叉验证和网格搜索,帮助用户系统地优化模型性能。作为一个由全球志愿者共同维护的成熟项目,scikit-learn 以其稳定性、详尽的文档和活跃的社区支持,成为连接理论学习与工业级应用的最
keras
Keras 是一个专为人类设计的深度学习框架,旨在让构建和训练神经网络变得简单直观。它解决了开发者在不同深度学习后端之间切换困难、模型开发效率低以及难以兼顾调试便捷性与运行性能的痛点。 无论是刚入门的学生、专注算法的研究人员,还是需要快速落地产品的工程师,都能通过 Keras 轻松上手。它支持计算机视觉、自然语言处理、音频分析及时间序列预测等多种任务。 Keras 3 的核心亮点在于其独特的“多后端”架构。用户只需编写一套代码,即可灵活选择 TensorFlow、JAX、PyTorch 或 OpenVINO 作为底层运行引擎。这一特性不仅保留了 Keras 一贯的高层易用性,还允许开发者根据需求自由选择:利用 JAX 或 PyTorch 的即时执行模式进行高效调试,或切换至速度最快的后端以获得最高 350% 的性能提升。此外,Keras 具备强大的扩展能力,能无缝从本地笔记本电脑扩展至大规模 GPU 或 TPU 集群,是连接原型开发与生产部署的理想桥梁。
crawl4ai
Crawl4AI 是一款专为大语言模型(LLM)设计的开源网络爬虫与数据提取工具。它的核心使命是将纷繁复杂的网页内容转化为干净、结构化的 Markdown 格式,直接服务于检索增强生成(RAG)、智能体构建及各类数据管道,让 AI 能更轻松地“读懂”互联网。 传统爬虫往往面临反爬机制拦截、动态内容加载困难以及输出格式杂乱等痛点,导致后续数据处理成本高昂。Crawl4AI 通过内置自动化的三级反机器人检测、代理升级策略以及对 Shadow DOM 的深度支持,有效突破了这些障碍。它能智能移除同意弹窗,处理深层链接,并具备长任务崩溃恢复能力,确保数据采集的稳定与高效。 这款工具特别适合开发者、AI 研究人员及数据工程师使用。无论是需要为本地模型构建知识库,还是搭建大规模自动化信息采集流程,Crawl4AI 都提供了极高的可控性与灵活性。作为 GitHub 上备受瞩目的开源项目,它完全免费开放,无需繁琐的注册或昂贵的 API 费用,让用户能够专注于数据价值本身而非采集难题。
meilisearch
Meilisearch 是一个开源的极速搜索服务,专为现代应用和网站打造,开箱即用。它能帮助开发者快速集成高质量的搜索功能,无需复杂的配置或额外的数据预处理。传统搜索方案往往需要大量调优才能实现准确结果,而 Meilisearch 内置了拼写容错、同义词识别、即时响应等实用特性,并支持 AI 驱动的混合搜索(结合关键词与语义理解),显著提升用户查找信息的体验。 Meilisearch 特别适合 Web 开发者、产品团队或初创公司使用,尤其适用于需要快速上线搜索功能的场景,如电商网站、内容平台或 SaaS 应用。它提供简洁的 RESTful API 和多种语言 SDK,部署简单,资源占用低,本地开发或生产环境均可轻松运行。对于希望在不依赖大型云服务的前提下,为用户提供流畅、智能搜索体验的团队来说,Meilisearch 是一个高效且友好的选择。
Made-With-ML
Made-With-ML 是一个面向实战的开源项目,旨在帮助开发者系统掌握从设计、开发到部署和迭代生产级机器学习应用的完整流程。它解决了许多人在学习机器学习时“会训练模型但不会上线”的痛点,强调将软件工程最佳实践与 ML 技术结合,构建可靠、可维护的端到端系统。 该项目特别适合三类人群:一是希望将模型真正落地的开发者(包括软件工程师、数据科学家);二是刚毕业、想补齐工业界所需技能的学生;三是需要理解技术边界以更好推动产品的技术管理者或产品经理。 Made-With-ML 的亮点在于注重第一性原理讲解,避免盲目调包;同时覆盖 MLOps 关键环节(如实验跟踪、模型测试、服务部署、CI/CD 等),并支持在 Python 生态内平滑扩展训练与推理任务,无需切换语言或复杂基础设施。课程内容结构清晰,配有详细代码示例和视频导览,兼顾理论深度与工程实用性。