word2vec 自己训练中文语料

简介: (1) 准备文本 可以用爬虫爬,也可以去下载,必须是全文本。 (2)对数据进行分词处理 因为英文但此只见是空格所以不需要分词,二中文需要分词, 中文分词工具还是很多的,我自己常用的: - 中科院NLPIR - 哈工大LTP - 结巴分词 注意:分词后保存的文件将会作为word2vec的输入文件进行训练 (3)训练与实验 python 需要先安装gensim,参

(1) 准备文本

可以用爬虫爬,也可以去下载,必须是全文本。

(2)对数据进行分词处理

因为英文但此只见是空格所以不需要分词,二中文需要分词,


中文分词工具还是很多的,我自己常用的:
- 中科院NLPIR
- 哈工大LTP
- 结巴分词

注意:分词后保存的文件将会作为word2vec的输入文件进行训练

(3)训练与实验

python 需要先安装gensim,参考http://blog.csdn.net/u013378306/article/details/54629643

#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
功能:测试gensim使用,处理中文语料
时间:2016年5月21日 20:49:07
"""

from gensim.models import word2vec
import logging

# 主程序
logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)
sentences = word2vec.Text8Corpus(u"C:\\Users\\lenovo\\Desktop\\word2vec实验\\分词后的文件.txt")  # 加载语料
model = word2vec.Word2Vec(sentences, size=200)  # 训练skip-gram模型; 默认window=5

# 计算两个词的相似度/相关程度
y1 = model.similarity(u"不错", u"好")
print u"【不错】和【好】的相似度为:", y1
print "--------\n"

# 计算某个词的相关词列表
y2 = model.most_similar(u"书", topn=20)  # 20个最相关的
print u"和【书】最相关的词有:\n"
for item in y2:
    print item[0], item[1]
print "--------\n"

# 寻找对应关系
print u"书-不错,质量-"
y3 = model.most_similar([u'质量', u'不错'], [u'书'], topn=3)
for item in y3:
    print item[0], item[1]
print "--------\n"

# 寻找不合群的词
y4 = model.doesnt_match(u"书 书籍 教材 很".split())
print u"不合群的词:", y4
print "--------\n"

# 保存模型,以便重用,保存后会生成一个文件,里面存的是语料库的向量
model.save(u"书评.model")
# 对应的加载方式
# model_2 = word2vec.Word2Vec.load("text8.model")

# 以一种C语言可以解析的形式存储词向量
model.save_word2vec_format(u"书评.model.bin", binary=True)
# 对应的加载方式
# model_3 = word2vec.Word2Vec.load_word2vec_format("text8.model.bin", binary=True)

if __name__ == "__main__":
    pass


目录
相关文章
|
10月前
|
机器学习/深度学习 自然语言处理 搜索推荐
预训练的词嵌入(Word Embedding)
预训练的词嵌入(Word Embedding)
397 2
|
数据采集 存储 缓存
SpringBoot与布隆过滤器的完美邂逅:高效防护大规模数据的奇妙结合【实战】
SpringBoot与布隆过滤器的完美邂逅:高效防护大规模数据的奇妙结合【实战】
454 0
|
4月前
|
存储 人工智能 搜索推荐
《重新定义高效微调:QLoRA 4位量化的颠覆式创新解析》
QLoRA是一种高效的量化微调技术,通过4位NormalFloat量化、双重量化及分页优化器等创新手段,大幅降低大模型微调的内存与计算需求,同时保持甚至超越传统方法的性能。它能在单个48GB GPU上微调65B参数模型,并在多项基准测试中表现优异,如Guanaco模型在Vicuna测试中达到99.3%的ChatGPT水平。QLoRA为资源有限条件下的大模型应用与个性化定制开辟了新路径,推动AI技术在多领域的发展。
234 9
|
SQL 存储 关系型数据库
从Hive建表语句到MySQL的转换
【8月更文挑战第11天】
635 7
|
机器学习/深度学习 人工智能 自然语言处理
|
机器学习/深度学习 自然语言处理 数据挖掘
使用Python和大模型进行数据分析和文本生成
Python语言以其简洁和强大的特性,成为了数据科学、机器学习和人工智能开发的首选语言之一。随着大模型(Large Language Models, LLMs)如GPT-4的崛起,我们能够利用这些模型实现诸多复杂任务,从文本生成到智能对话、数据分析等等。在这篇文章中,我将介绍如何用Python连接和使用大模型,并通过示例展示如何在实际项目中应用这些技术。
|
机器学习/深度学习 自然语言处理 PyTorch
【从零开始学习深度学习】48.Pytorch_NLP实战案例:如何使用预训练的词向量模型求近义词和类比词
【从零开始学习深度学习】48.Pytorch_NLP实战案例:如何使用预训练的词向量模型求近义词和类比词
|
并行计算 Unix 编译器
CMake 秘籍(七)(5)
CMake 秘籍(七)
176 0
|
机器学习/深度学习 存储 自然语言处理
【新闻文本分类】(task4)使用gensim训练word2vec
Word2vec即“word to vector”,是一个生成对“词”的向量表达的模型。 想要训练 Word2vec 模型,我们需要准备由一组句子组成的语料库。假设其中一个长度为 T 的句子包含的词有 w1,w2……wt,并且我们假定每个词都跟其相邻词的关系最密切。
633 0
【新闻文本分类】(task4)使用gensim训练word2vec