[自然语言处理] 文本向量化技术

前期准备

使用文本向量化的前提是要对文章进行分词,分词可以参考前一篇文章。然后将分好的词进行向量化处理,以便计算机能够识别文本。常见的文本向量化技术有词频统计技术、TF-IDF技术等。

词频统计技术

词频统计技术是很直观的,文本被分词之后。 用每一个词作为维度key,有单词对应的位置为1,其他为0,向量长度和词典大小相同。然后给每个维度使用词频当作权值。词频统计技术默认出现频率越高的词权重越大。

举例说明:

原文:

  句子A:我喜欢看电视,不喜欢看电影。

  句子B:我不喜欢看电视,也不喜欢看电影。

分词结果:

  句子A:我/喜欢/看/电视,不/喜欢/看/电影。

  句子B:我/不/喜欢/看/电视,也/不/喜欢/看/电影。

列出维度:我,喜欢,看,电视,电影,不,也.

统计词频:

  句子A:我 1,喜欢 2,看 2,电视 1,电影 1,不 1,也 0。

  句子B:我 1,喜欢 2,看 2,电视 1,电影 1,不 2,也 1。

转换为向量:

  句子A:[1, 2, 2, 1, 1, 1, 0]

  句子B:[1, 2, 2, 1, 1, 2, 1]

可以看出:词频统计技术直观、简单。但是有明显的缺陷:中文中有的词汇,如:“我”,“的”出现频率很高,因此会赋予较高的权值,但是这些词汇本身无意义。因此若要使用词频统计技术,必须要引入停用词将这些无意义的词汇进行过滤。

TF-IDF技术

TF-IDF技术就是为了克服词频统计技术的缺陷而产生的,它引入了“逆文档频率”概念,它衡量了一个词的常见程度,TF-IDF的假设是:如果某个词或短语在一篇文章中出现的频率高,并且在其他文章中很少出,那么它很可能就反映了这篇文章的特性,因此要提高它的权值。
TF-IDF技术的需要维护一个语料库或文件集用于计算每个词的出现频率,频率越高的逆文档频率越小。语料库可以是整个铁路规章制度的集合,也可以是某个规章制度的全文。实践证明,TF-IDF在分词的时候,也需要剔除掉明显的停用词,这样效果会比较好。

例如对于铁路规章制度而言,文本中“列车”一次的词频必然会非常高,但是在其语料库中出现的频率会非常高,因此其权重反而会降低。

时间: 2024-12-05 19:43:30

[自然语言处理] 文本向量化技术的相关文章

Linux Shell编程实战---Shell中的文本切片技术

Shell中的文本切片技术 在shell中竟然也是有字符串切片这个东西存在的,一直在python中运用切片,下面记录一下shell中切片的用法. (1).替换变量内容中的部分文本 $var="This is a line of text" $ echo${var/line/REPLACED} This is aREPLACED of text" line被替换成REPLACED. (2).指定字符串的起始位置和长度来生成子串 语法如下: ${variable_name:sta

数据转换服务-文本抽出技术

利用我公司自主开发的数据格式转换产品,面向社会各界,提供数据转换技术服务.根据用户的需求,将用户提供的原始数据文件转换为用户所需的数据文件格式.本公司向广大用户承诺,数据格式转换结果满足用户的需求,收费价格合理.为用户提供质量优良的技术服务. DMC Text Filter是北京市红樱枫软件有限公司自主独立开发完成的,支持多平台.多线程.多语言的通用文本抽出程序库.利用该程序库可以从数十种数据文件格式中,将纯文本数据进行抽出. (1)原数据文件的语言 中国语(简体/繁体),英语,日本语及韩国语.

word to vector 文本向量化

现在趋势是高层用可解释的模型例如 线性模型或者gbdt,下层用带深度的embedding. 文本向量化的 word 2 vector 很不错也有很多自己做得模型,关键在于语聊,模型效果差异不大. 这里有训练好的模型,30种语言非英语,感觉语料不是很好 https://github.com/Kyubyong/wordvectors 这个项目里面有英文预料的,英文有很多语料库例如wordbank google news,wallstreet,都是很好的语聊库. https://github.com/

文本向量化(理论篇)

本文介绍常见的文本表示模型,One-hot.词袋模型(BOW).TF-IDF.N-Gram和Word2Vec 一.离散表示 1.One-hot编码 One-hot编码是非常用的方法,我们可以用One-hot编码的方式将句子向量化,大致步骤为: 用构造文本分词后的字典 对词语进行One-hot编码 John likes to watch movies. Mary likes too John also likes to watch football games. 上面的两句话分词后可以构造一个字典

Spark学习笔记——文本处理技术

1.建立TF-IDF模型 import org.apache.spark.{SparkConf, SparkContext} import org.apache.spark.mllib.linalg.{SparseVector => SV} import org.apache.spark.mllib.feature.HashingTF import org.apache.spark.mllib.feature.IDF /** * Created by common on 17-5-6. */ o

文本向量化的原理

一.文本分词 将需要进行分析的文本进行分词(英文直接按照空格分隔词汇,中文则需通过分词工具分隔之后,把词之间加上空格) 二.去停用词 在文本中可以发现类似”the”.”a”等词的词频很高,但是这些词并不能表达文本的主题,我们称之为停用词. 对文本预处理的过程中,我们希望能够尽可能提取到更多关键词去表达这句话或文本的中心思想,因此我们可以将这些停用词去掉后再编码. 三.将词编号 按照词频(次出现的频率)进行倒序编号,如英文中一篇文章出现最多的应该是“a”,“the”等词汇(假设‘a’出现次数大于‘

使用gensim和sklearn搭建一个文本分类器(一):文档向量化

总的来讲,一个完整的文本分类器主要由两个阶段,或者说两个部分组成:一是将文本向量化,将一个字符串转化成向量形式:二是传统的分类器,包括线性分类器,SVM, 神经网络分类器等等. 之前看的THUCTC的技术栈是使用 tf-idf 来进行文本向量化,使用卡方校验(chi-square)来降低向量维度,使用liblinear(采用线性核的svm) 来进行分类.而这里所述的文本分类器,使用lsi (latent semantic analysis, 隐性语义分析) 来进行向量化, 不需要降维, 因为可以

文本结构化(信息抽取)技术调研与综述

文本结构化技术调研 1. 引言 文本数据一般由有序的段落.句子.单词文本流组成,而这种形式的文本通常是非结构化的,并不是结构化的表格数据,文本的特征也与噪声混杂在一起,很难直接提取出特征,也就没有办法将机器学习方法应用在原始的非结构化文本数据中.因此,我们需要一种文本结构化技术,能够自动化处理非结构化文本,并且在不损失重要信息的情况下,用结构化数据提取出该文本的主要信息. 出于不同的目的,一般采用信息抽取与特征工程的方式实现文本结构化技术,但是这两种方法在本质上属于不同类型的方法,信息抽取一般是

词向量技术原理及应用详解(一)

文本表示是自然语言处理中的基础工作,文本表示的好坏直接影响到整个自然语言处理系统的性能.在自然语言处理研究领域,文本向量化是文本表示的一种重要方式. 顾名思义,文本向量化就是将文本表示成一系列能够表达文本语义的向量.无论中文还是英文,词语都是表达文本处理的最基本单元. 当前阶段,对文本向量化都是通过词向量化实现的.当然也有将文章或者句子作为文本处理的基本单元,像doc2vec和str2vec技术. 接下来主要是讨论以词语作为基本单元的word2vec技术,将先从onehot编码到word2vec