引言

在分词之后,如果想要做一些有意思的事情(比如文本分类和句子相似度分析等)就需要文本的表示。

文本的表示就是通过向量来表示单词、句子以及文章。

单词的表示

首先来看下单词的表示,有很多种方法。今天我们先来介绍一个最简单的方法。

独热(One-hot)编码

单词的表示首先需要有一个词典,这里假设我们的词典是这样的:

word_dic = ['我们','去','爬山','今天','你们','昨天','跑步']

这里只是为了更好的理解,实际上的词典库是很大的,比如有10万个单词。

假设我们现在有“我们”、“爬山”、“跑步”、“昨天”这几个单词,要怎么表示呢。

我们要构造一个维度为词典大小的向量,首先来看“我们”,它出现在词典的第1个位置,索引0的位置置1,其他位置置0。

#我们  (1,0,0,0,0,0,0)

然后剩下的单词也这么表示:

#爬山  (0,0,1,0,0,0)
#跑步  (0,0,0,0,0,1)
#昨天  (0,0,0,0,1,0)

句子的表示

有了单词的表示,那么如何表示句子呢。

假设有以下三个句子:

  • 我们今天去爬山
  • 你们昨天跑步
  • 你们又去爬山又去跑步

首先要做的便是分词,如何分词可以看上一篇文章。下面直接给出一种分词的结果:

  • 我们 今天 去 爬山
  • 你们 昨天 跑步
  • 你们 又 去 爬山 又 去 跑步

有了这些之后,下面介绍两种句子的表示方法。

Boolean Representation

所谓布尔表示,就是非真(1)即假(0)。

word_dic = ['我们','又','去','爬山','今天','你们','昨天','跑步']

我们在这个词典中新加了一个单词“又”。
句子的表示和上面单词的表示类似,不过要同时考虑多个单词,如果某个单词出现了,则设对应位置的值为1,否则为0。来看几个例子吧。

我们\今天\去\爬山:

(1,0,1,1,1,0,0,0)

怎么来的呢,第0个位置的“我们”出现了,因此将这个位置的向量值置1,“又”没有出现,对应位置置0,“去”出现了,置1

最终得到的向量大小也是和词典大小一致。
然后来看下一个句子。

你们\昨天\跑步:

(0,0,0,0,0,1,1,1)

接着看最后一个句子,你们\又\去\爬山\又\去\跑步:

(0,1,1,1,0,1,0,1)

这里要注意的是“又”和“去”在句子中出现了两次,但是布尔只有两个值,非0即1,因此还是用1来表示。

这种表示方法没有考虑单词出现的次数,不管出现了多少次,都是通过1来表示,如果我们考虑次数,那么就是下面这种方法。

Count-based Representation

还是以上面三个句子和词典为例。

word_dic = ['我们','又','去','爬山','今天','你们','昨天','跑步']

我们\今天\去\爬山:

(1,0,1,1,1,0,0,0)

你们\昨天\跑步:

(0,0,0,0,0,1,1,1)

因为这两个句子中每个单词只出现了一次,所以和布尔表示法没啥区别。

接着看最后一个句子,你们\又\去\爬山\又\去\跑步:

(0,2,2,1,0,1,0,1)

这里是“又”和“去”在句子中出现了两次,因此对应的值就是2

此方法会考虑单词出现的次数,即词频。

有了单词和句子的表示,那么我们如何判断两个句子或两个单词之间的相似度呢,请移步下一篇文章。

参考

  1. 贪心学院课程

自然语言处理——文本的表示相关推荐

  1. 自然语言处理文本分析_通过自然语言处理释放文本分析的力量

    自然语言处理文本分析 深度学习 , 自然语言处理 (Deep Learning, Natural Language Processing) Natural language is a language ...

  2. 自然语言处理——文本分类概述

    内容提要 分类概述 分类流程 数据采集 爬虫技术 页面处理 文本预处理 英文处理 中文处理 去停用词 文本表示 特征选择 分类模型 分类概述   分类(Classification)是指自动对数据进行 ...

  3. 【天池月饼活动】基于自然语言处理文本生成与轮询问答与依图生文与中秋月饼配图

    文章目录 活动要求 项目演示 自然语言处理文本生成之对联上下联对答: 自然语言处理文本生成之依图生文: 多级轮询月饼对话 自动生成月饼 代码讲解 自从我前天进入阿里天池实验室,我就被他吸粉了,嫖了他的 ...

  4. 第五届“达观杯”自然语言处理文本分类竞赛开启报名,丰厚奖金等你来战!...

    在 CCF(中国计算机学会)自然语言处理专业委员会的特别支持下,第五届"达观杯"正式拉开帷幕.达观杯是由国内文本智能处理领军企业达观数据主办发起的人工智能算法竞赛,每年一届,至今已 ...

  5. 自然语言处理—文本情感分析

    自然语言处理(NLP)中的文本情感分析是一个重要的应用领域,多用于评价性的用户信息回馈,如电影影评和购物后的评价.而情感分析主要是通过用户的回答文本数据(中文),进行文本情感量化分析,现有的情感分析方 ...

  6. 自然语言处理 文本预处理(上)(分词、词性标注、命名实体识别等)

    文章目录 一.认识文本预处理 1 文本预处理及其作用 2. 文本预处理中包含的主要环节 3. 概览 二.文本处理的基本方法 1. 分词 1.1 什么是分词 1.2 分词的作用 1.3 流行中文分词工具 ...

  7. NLP自然语言处理—文本分类入门

    前言 NLP作为机器学习三大热门领域之一,现在的发展也是越来越完备,从2012年神经网络崛起之后,自然语言领域就迎来了春天,特别是当预训练方法横空出世之后,NLP作为最先尝到预训练甜头的先锋,可以说是 ...

  8. 达观数据携手CCF举办第五届“达观杯”自然语言处理文本分类竞赛 ,开赛报名中!

    作为国内领先的智能文本处理企业,达观数据主办发起"达观杯"人工智能算法竞赛,每年一届,至今已成功举办四届.2021年,在CCF(中国计算机学会)自然语言处理专业委员会的特别支持下, ...

  9. 自然语言处理——文本分类综述

    最近在学习文本分类,读了很多博主的文章,要么已经严重过时(还在一个劲介绍SVM.贝叶斯),要么就是机器翻译的别人的英文论文,几乎看遍全文,竟然没有一篇能看的综述,花了一个月时间,参考了很多文献,特此写 ...

  10. 自然语言处理-文本情感分析

    本文为笔者学习阿里云大学的基于LSTM的文本情感分析教学视频总结. 一.何为文本情感分析 其实也就是,用户输入了一句话,我们需要靠机器来知道这句话的情感,本文会以开心和不开心为例,来进行情感分析,有点 ...

最新文章

  1. 计算机辅助建筑设计亚洲学会,清华大学
  2. c++ string类 用法简介
  3. react中遇到的问题
  4. 基于Python语言使用RabbitMQ消息队列(一)
  5. sqlite数据库主键自增_sqlite 中主键id自增的方法(转)
  6. TaoLer V1.7.12版本简单迅捷的轻论坛系统源码
  7. ibm system x服务器重装系统,IBM X346服务器重装系统_xSeries 346阵列配置
  8. matlab金融时间序列分析,5 个 MATLAB 金融时序预测速查表
  9. 基于AT89S52单片机的GPS液晶显示定位系统
  10. 卡诺模型(KANO Model)
  11. spark学习之SparkSQL
  12. 高频消息中间件面试题解析
  13. ai作文批改_网易有道词典再推AI作文批改新功能
  14. 搜索推荐评价指标Precision@k、Recall@k、F1@k、NDCG@k
  15. DVWA 不跳转_20201020好软件不私藏:稀有极品神器,直接解锁VIP!!
  16. 怎样将CAD里面画好的图纸转换到WORD文档里面去
  17. 在Ubuntu里配置slim
  18. IP 库的那些事儿之 2013 - 2014 流水帐版
  19. 聪明人喜欢挑战性,高难度excel操作技巧你会几个?
  20. 点选式验证码?使用深度学习搞定它

热门文章

  1. java day35【Bootstrap】
  2. SpringMVC源码阅读:定位Controller
  3. RESTful源码笔记之RESTful Framework的基本组件
  4. netflix-hystrix-简例
  5. UVALive - 5713 最小生成树
  6. grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
  7. VS11中添加PagedList引用
  8. 2018ICPC赛后总结
  9. .net中序列化读写xml方法的总结
  10. 【搜索-剪枝-偏难】PAT-天梯赛-L3-015. 球队“食物链”