前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >文本分析之gensim处理文本【语料库与词向量空间】

文本分析之gensim处理文本【语料库与词向量空间】

作者头像
字节脉搏实验室
发布2021-07-09 15:28:05
1.2K0
发布2021-07-09 15:28:05
举报

文章源自【字节脉搏社区】-字节脉搏实验室

作者-S0u1

文本分析是指对文本的表示及其特征项的选取;文本分析是文本挖掘、信息检索的一个基本问题,它把从文本中抽取出的特征词进行量化来表示文本信息。文本(text),与 讯息(message)的意义大致相同,指的是由一定的符号或符码组成的信息结构体,这种结构体可采用不同的表现形态,如语言的、文字的、影像的等等。文本是由特定的人制作的,文本的语义不可避免地会反映人的特定立场、观点、价值和利益。因此,由文本内容分析,可以推断文本提供者的意图和目的。

首先我们会用到jieba、gensim
jieba 是目前最好的 Python 中文分词组件,它主要有以下 3 种特性
  • 支持 3 种分词模式:精确模式、全模式、搜索引擎模式
  • 支持繁体分词
  • 支持自定义词典
代码语言:javascript
复制
import jieba  # 导入之前需要先安装 pip install jieba
Gensim是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。

支持流式训练,并提供了诸如相似度计算,信息检索等一些常用任务的API接口

代码语言:javascript
复制
from gensim import corpora,models,similarities # 导入之前需要先安装 pip install gensim

基本概念

语料:一组原始文本的集合,用于无监督地训练文本主题的隐层结构。语料中不需要人工标注的附加信息。在Gensim中,Corpus通常是一个可迭代的对象(比如列表)。每一次迭代返回一个可用于表达文本对象的稀疏向量。

向量:由一组文本特征构成的列表。是一段文本在Gensim中的内部表达。

稀疏向量:通常,我们可以略去向量中多余的0元素。此时,向量中的每一个元素是一个(key, value)的元组

模型:是一个抽象的术语。定义了两个向量空间的变换(即从文本的一种向量表达变换为另一种向量表达)。

代码语言:javascript
复制
data = '活在字节海洋里面的一群渔民:我们的方向是那云计算、系统集成、网工、运维、大数据还有那黑暗无比的网络'
res1 = jieba.cut(data)
for item in res1:
    print(item)

主要使用统计学的词向量转化。在进行中文的处理时需要提前进行分词,有时候还需要设置自己的专属名词以保证分词的准确性。这个不是重点,假如我们已经有了一个处理好的中文分词的文档语料。在此基础上进行后续操作。

将对应得text转化二位的list数据,以方便gensim生成向量 import pprint text = train_data['text'] sentences = [] for item in text: sentence = str(item).split(',') sentences.append(sentence)将分词之后的数据转化为字典文件 from gensim import corpora dictionary = corpora.Dictionary(sentences) print(dictionary)

这个字典有着非常重要的作用,每一个词都有一个固定的id,可以使用下面的代码进行查询 print(dictionary.token2id)

为了字典后续的应用可以将字典存储成文本文件 dictionary.save('mydic.dict')同时也可以将生成的词袋模型保存起来 corpus = [dictionary.doc2bow(sentence) for sentence in sentences] corpora.MmCorpus.serialize('bow.mm', corpus)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-05-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 字节脉搏实验室 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 首先我们会用到jieba、gensim
  • jieba 是目前最好的 Python 中文分词组件,它主要有以下 3 种特性
  • Gensim是一款开源的第三方Python工具包,用于从原始的非结构化的文本中,无监督地学习到文本隐层的主题向量表达。
  • 基本概念
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档