目录

第二章 文本分析简介

第一节 文本分析研究现状

第二节 文本分析与传播学研究

一、为什么文本挖掘技术逐渐受到传播学者的关注?

二、不同的文本分析研究对传播学的理论贡献

第三节 文本分析的基本步骤:文本的结构化处理

一、语词切割

二、去除停用词

三、标准化

四、词性标注

五、构建语词-文档矩阵

第四节 Python语言简介

一、NLTK(Natural LanguageToolkit)

二、Textmining

三、Gensim和Lda

四、JiebaR


第二章 文本分析简介

第一节 文本分析研究现状

文本挖掘也称文本分析,即利用数据挖掘方法在文本数据集上的运用,旨在从大量非结构化的文本集合中挖掘信息、发现知识。它是一个跨学科的交叉研究领域,涉及机器学习、自然语言处理、统计学等多个领域的知识和方法。

文本挖掘的对象时非结构化或半结构化的文本集合,而不是数据库中的形式化记录。文本预处理的目的就是使得文本数据结构化,从而方便利用现有的数据挖掘技术对其进行分析。文本预处理过程包含分词(中文)、特征表示和特征提取等一系列操作。

文本经过预处理后,就可以对结构化的数据进行挖掘分析了。常用的文本挖掘技术包括以下几类。

(1)文本分类。文本分类指按照预先定义好的类别,为文档集中的每个文档确定一个或几个类别。文本分类是一个有监督的机器学习过程,一般分为训练和分类两个阶段。研究者首先对一个训练文档集进行人工标注“类别标签”,构建分类模型,并将“学习”得到的分类方法对其他文档进行自动分类。

(2)文本聚类。与文本分类不同的是,文本聚类没有预先定义好的类别,是一种典型的无监督的机器学习方法,文本处理的自动化程度更高。文本聚类的目标是将文档集合分成若干个“簇”,使得同一簇内文档内容的相似度尽可能大,而不同簇之间的相似度尽可能小,并为每个簇给出一个主题摘要。

(3)关联分析。关联分析指的是寻找同一事物中不同变量同时出现的规律性。关联分析挖掘最初用于发现数据库中“项”或“属性”间的关系,在文本分析中指的是从文档集合中找出不同词语之间有意义的关系。关联可分为简单关联、时序关联以及因果关联。

(4)趋势预测。趋势预测是指通过对已有文档的分析,推测出特定数据在将来某个时刻的取值情况。如果考虑文本数据的时间维度,那么文本数据可以看作一类特殊的时序数据,能够反映一段时间内文本主题的变化情况,因此可以用来预测下一时间段文本主题的发展变化趋势。

情报分析、专利分析、情感分析、舆情分析、热点发现、知识管理等为国内外学者共同关注较多的主题。

第二节 文本分析与传播学研究

一、为什么文本挖掘技术逐渐受到传播学者的关注?

文本挖掘近年来逐渐受到传播学研究的重视,有以下几个原因。

第一,社会化媒体作为新的信息传播媒介技术改变了人们的信息传播行为。社会化媒体的“去中心化”的特点,使得其中的每个个体都是信息源,也是信息传播者。新的媒介技术,对传播学理论的阐发具有重要意义。

第二,社会化媒体平台精确记录了海量用户长时间、具有精细时间颗粒度的细节行为。这些海量却精细的信息——如用户发布的文本信息——能够用于回答传播学的一些基本且重要的理论问题。

第三,相比较传统的文本内容分析,文本挖掘方法具有一定的优势。文本分析的核心任务是文本分类和文本特征识别。传统的内容分析需要研究者事先给出编码和类别界定。换言之,文本类别以及文本内容特征识别已经被人为界定。这种先验判断已经干预了分析结果。而文本挖掘方法旨在通过将文本进行结构化处理,进而通过相关算法,以较少人工干预的方式更客观地提取文本特征,对文本进行分类。从这个意义上说,文本挖掘算法的测量信度和效度更具优越性。更为重要的是,基于社会化媒体的海量文本内容,使得传统的人工内容分析方法已无法完全胜任文本分析任务。因此,传播学领域中在线海量内容相关的研究,需要利用更为自动化的方法,通过一定的人工干预完成内容分析任务。

二、不同的文本分析研究对传播学的理论贡献

1.情绪的传染

文本情绪的判定,其本质上是一个分类问题。情绪的判定是信息传播效果——这一传播学重要研究领域的测量维度之一。用户对于信息的接受——特别是广告、选举等说服性信息的情感倾向,是测量其信息接受程度的重要指标。

2.个体情感变化规律

3.文本特征提取

该研究从非常新颖的语词结构视角,分析了文本信息特征对于其信息传播效率的影响。基于语词网络的分析——这种文本分析与网络分析结合的分析方法——是计算传播学对于传播内容的重要发展方向,具有方法层面的启发性。

4.利用文本进行个体行为预测

文本分析还可以用来预测选举行为。选民的选举行为预测是传统传播学民意调查研究的重要研究问题之一。

5.文本与社会文化变迁

文本分析还可以用来分析宏观社会文化以及媒体技术变迁。带有精确出版时间的数字图书以及关键词汇在每个时间点下的出现频率,能够大致反映出一个社会的文化、社会价值、政治、意识形态以及科技等各个层面的变迁情况。

6.文本分析与表示学习

文本分析,或者自然语言处理,其本质是将文本转换成机器能够识别的数学化语言。这个转换过程,可以简单理解为语词在“可计算性”层面的编码方式。自然语言处理研究领域将每个语词看成一个向量,称为“词向量”。词向量的提出就是要将自然语言理解的问题转化为机器学习的问题词向量的“编码方式”,即为词向量表示方法。对于词向量相应的表示方法,基于深度学习的词向量的分布式表示,在自然语言处理领域被称为“表示学习” 。

独热表示方法是词向量构建的最简单方式。对于给定文档,词向量的维度是该文档中所有词的数量,文档中每个词占一个维度,所以每个词向量有一个维度取值为1,其他为0.

独热表示方法存在以下几个问题。第一,该表示方法假设每个词相互独立。这个假设在文本分析的很多任务中显然并不适用。第二,独热表示方法中,对每个词构建词向量时,其维度往往非常大。

因此,由于独热表示方法存在的缺陷,基于深度学习等机器学习算法近年的流行,表示学习领域近年来提出了多种词向量的分布式表示方法。分布式表示方法旨在将给定文档的语词表示为“稠密低维实值向量”。与独热表示方法不同,分布式表示方法具有空间意义。分布式表示方法利用机器学习相关训练算法得到词向量,而所有词向量形成一个向量空间,每个词向量为该向量空间的一个点。利用分布式表示方法,每两个词在向量空间中的距离即表示词的语义相似性。同时,分布式表示方法将每个语词的词向量维度控制在200~300,有效地提高了文本分析的计算效率。

文本表示学习还能够被用于研究语义变迁。

该研究发现,词汇具有越多的意义,其词义发生变化的可能性越高。同时,总体来看,词汇被使用的频率越高,其词义发生变化的可能性也越低。反之,词汇被使用的频率越低,其词义发生变化的可能性越高。

第三节 文本分析的基本步骤:文本的结构化处理

文本分析的核心目的是将非结构化的文本进行结构化处理,从而转换成为计算机可以识别的结构性数据,进而进行后续的各种计算。具体而言,任何一种文本分析算法,都需要基于结构化文本。文本分析的准备工作,基本步骤包括:语词切割、去除停用词、标准化、词性标注以及构建语词-文档矩阵。

一、语词切割

顾名思义,语词切割即把一个句子拆成多个语词。

英文分词任务非常简单,只需根据空格依次拆分即可。相比于英文分词,中文分词任务则复杂很多。中文句子没有语词间隔,无法依次断开。更重要的是,中文文本由于缺乏明显的词性形态标记,会出现“歧义链”,无法按照既有词典进行匹配,中文分词需要更复杂的算法来实现。

中文分词有多种算法,根据词典进行分词的方法主要包括前向最大匹配、后向最大匹配、双向最大匹配法;而基于统计的方法则包括“产生式统计分词”和“判别式统计分词”。

此外,用户自创内容往往产生网络流行语,这些词汇并不严格遵循中文的构词原则,因此即使对分词算法进行改进,也无法有效对这些网络流行语进行区分。对于这种情况,研究者可以通过自主插入词汇的方式,强制再输出分词结果时将插入词汇作为固定语词搭配。

二、去除停用词

对于海量文本,将文本进行结构化处理的目的之一,是减少冗余信息,从而节省计算机的存储空间,并减少后续算法复杂度。在人们的日常语言中,有一些词汇被广泛使用,这些词在任何篇章、句子中都会出现(如中文“的”“地”“得”、英文“a”“the”等),这些词被称为停用词。

停用词大致分为两类。一类是人类语言中包含的功能词,这些功能词极其普遍,与其他词相比,功能词没有什么实际含义,大多为语气助词、副词、介词、连接词等。另一类为使用十分广泛的词。这些词汇大大增加了文本的体量,却无法为文本提供更具有区分效度的信息,因此,这些词往往在文本结构化预处理阶段就被去除。

三、标准化

标准化的主要目的是对语词进行归一化处理,从而尽可能减少语料结构化之后的基本维度,减少语料体量,最终降低计算难度。标准化环节的具体任务包括同义词替代、去除词根和词形还原。在海量文本中,有些语词尽管写法不同,但表达的是同一个意思,因此需要对这些同义词进行归一化处理。

标准化另两个重要任务是词干提取以及词形还原。该任务主要针对英文文本。这两种方法的目的都是讲单词保留其基本形态。具体而言,词干提取主要指提取单词的词干或者词根,即给单词“做减法”,包括去除不规则动词和名词形式、保留单词的基本词根等。词形还原主要指一个任何形式的语言词汇还原为一般形式。

利用Python的NLTK程序包,研究者可以非常轻松地完成语词的标准化。

四、词性标注

词形标注是文本结构化预处理的最后一步。词性标注即将切分出的每个语词根据语境及语词基本含义进行语词性质标注。词性标注在文本分析中有两个重要作用。第一,标注好词性的文本,可以直接进行简单的词频分析。第二,词性标注文本可以作为后续将文本进行矩阵转化时的筛选标准。根据不同的研究目的,研究者可以仅仅选择具有实际含义的名词、动词、形容词等进行后续的语义、情感分析,而忽略掉助词、字符串、代词、介词、连词、助词等。这将有效减少数据集的维度,从而提高相应文本分析算法的效率。

对词性进行标注之后,研究者就可以进行简单的文本分析了。

五、构建语词-文档矩阵

1.语词-文档矩阵的构建

文本结构化的最后一步是语词-文档矩阵构建。除了词频统计,大部分文本分析的算法都是基于词向量。当语词被切分和词性标记之后,做进一步文本分析时,中英文没有差异。

词向量构建的基础在于构建语词-文档矩阵,或者语词共现矩阵。语词-文档矩阵表示每个单词在文档中出现的次数(词频),每一行是一个语词,每一列是一个文档。矩阵中每一个值表示的是该语词在文档中出现的次数。

2.语词-文档矩阵的加权:TF-IDF算法

值得注意的是,由于语词的数目非常大,而文档数远小于语词数,因此,上表中词的频数大多非常稀疏。换言之,一个文档数据集的所有词,出现在每一篇文章中的比例极小。这个问题通常称为“稀疏性问题”。而稀疏性问题会降低后续的文档分析算法效率。一个有效解决“稀疏性问题”的方法是给每个词在对应文档中一个权重。最常用的加权方法叫作词频/逆向文档频率值。

对于每个语词在每篇文章中,其都对应一个TF-IDF值。这个值代表了相应的语词对应于相应文档的权重,即这个刺激对这篇文章来说的重要程度。TD-IDF算法由两部分内容构成,一个是“词频”,即该词在某个文档中出现的频率。由于文档长度不一,因此这个词频的算法需要根据文档的长度进行归一化处理。词频的算法非常简单,即该词在文档中出现的频率除以文档中所有k个词之和。

第二部分是逆向文档频率。IDF刻画了一个词语普遍的重要性。IDF值由总文档树除以包含该语词文档的树木,再取对数。在总文档数明确的情况下,如果包含该语词文档的数目越多,则该词的IDF值就越少,也就是说该词的普遍重要性就越高。而反之,如果给定文档包含该语词文档的数目越少,则该词的IDF值就越大,即表明该词的普遍重要性越低。

第四节 Python语言简介

一、NLTK(Natural LanguageToolkit)

NLTK是文本处理中运用较广的包,它提供了包括WordNet等50余个公开语料库;同时还提供了大量自然语言处理模型。此外,其能够完成文本处理的前期准备任务,如分词、去除停用词、标准化、去除词根以及词性标注、命名实体识别和句法分析等。NLTK模型是功能非常全面的文本分析程序包,能够同时实现词云等基本的文本可视化任务。NLTK还能够对文本进行情感分析。把情感分析看作一个简单的积极语词和消极语词或者喜怒哀乐不同类别的情感分类问题,情感分析任务能够借助NLTK程序包实现。

二、Textmining

Textmining包主要用于实现文本统计模型分析(如词袋模型),并能够用于创建语词-文档矩阵。这个程序包还能够用于寻找最常用的语词搭配,计算语词之间的语义距离,以及对长文档进行切割等。同时,Textmining与NLTK类似,也加载了大量语料库,能够用于对文本的特征提取。

三、Gensim和Lda

Gensim和Lda模型皆用于进行语义建模。Lda主要用于隐含狄利克雷分布语义模型;而Gensim程序包除了可以进行语义建模,还能够用于分布式计算,从而处理大规模文本数据。此外,Gensim还能够用于语义的向量化表示。

四、JiebaR

中文的文本分析工作和英文文本分析工作存在着较大差别。其中一个重要差别存在于文本预处理的第一步——分词。中文文本不能借助于单词的空格来轻松实现分词,而需要根据中文语义对语词进行切割。因此,对于中文文本分析,需要有专门的程序包来实现。目前,中文文本分析应用较为广泛的程序包是JiebaR。这个程序包能够完成对中文文本的预处理工作,同时进行词性标注。该程序包还能够进行基本的文本分析(如词频统计等)。

《计算传播学导论》读书笔记:第二章 文本分析简介相关推荐

  1. 《计算传播学导论》读书笔记——第二章文本分析简介

    <计算传播学导论>读书笔记--第二章文本分析简介 第一节 文本分析研究现状 常用文本挖掘技术 第二节 文本分析与传播学研究 (一)为什么文本挖掘技术逐渐受到传播学者的关注 (二)不同文本分 ...

  2. 计算机系统导论——读书笔记——第二章 信息的表示和处理(持续更新)

    第二章 信息的表示和处理 2.1 信息存储 2.1.1 十六进制 2.1.2 字数据大小 2.1.3 寻址和字节顺序 1.地址:对象所使用的字节中最小的地址 2.大端法:最高有效字节在前 小端法:最低 ...

  3. In-memory Computing with SAP HANA读书笔记 - 第二章:SAP HANA overview

    本文为In-memory Computing with SAP HANA on Lenovo X6 Systems第二章SAP HANA overview的读书笔记. 本章最重要的部分是SAP HAN ...

  4. C++ Primer Plus读书笔记第二章

    自学了一段时间的C++打算还是要系统的整理一下一些知识点,让学习思路更清晰,不然老是学一点忘一点,这个读书笔记用来记录这段时间对C++ Primer Plus一书中知识点的记录,尽量会写的详细一点.直 ...

  5. 《软件测试经验与教训》读书笔记---第二章

    <软件测试经验与教训>读书笔记--目录 第一章 测试员的角色 第二章 按测试员的方式思考 第三章 测试手段 第四章 程序错误分析 第五章 测试自动化 第六章 测试文档 第七章 与程序员交互 ...

  6. 计算机网络(第五版 作者:AndrewS.Tanenbaum David J.Wetherall 清华大学出版社)读书笔记----第二章的学习

    计算机网络第二章--物理层读书笔记 1.物理层是网络的技术设置,物理层的材质和带宽决定了最大的传输速率. 2.传输介质的分类:引导性(有线介质)和非引导性(无线介质). (1)有线介质:磁介质.双绞线 ...

  7. C++Primer读书笔记----第二章变量和基本类型

    前段时间学习iphone开发,非常力不从心,很多C/C++的类库代码看不明白.大学的时候都学过C/C++,但是基本上忘光了,现在做C#开发,经常写出来一些性能低下的代码,究其原因就是原理掌握不扎实,乱 ...

  8. 《辛雷学习方法》读书笔记——第二章 心态

    第二章 心态   (1)保持良好心态:学习时保持良好心态,你才能比较容易入门.深入掌握知识.灵活运用知识.学习时始终保持着轻松愉悦振奋的心情,你就容易产生学习心得,更容易灵活运用. (2)爱情对心态影 ...

  9. 4月19日读书笔记——第二章序列构成的数组(1)

    流畅的python 第二章 序列构成的数组 在这之前,我想要先知道什么是序列.维基百科的答案是 数学上,序列是被排成一列的对象(或事件):这样,每个元素不是在其他元素之前,就是在其他元素之后. 例如: ...

最新文章

  1. 云计算开发要学习哪些东西?云计算开发的内容
  2. oracle12path,Oracle 12c R2 注意事项:login.sql 改变
  3. LiveVideoStack线上分享第三季(八):移动视频工厂 - 如何实现“快速、灵活、简单的视频剪辑框架...
  4. 如何添加引文标_如何在Google文档中查找和添加引文
  5. 设计模式 四人帮_四人帮–代理设计模式
  6. 开设计算机课程的必要性,学前教育专业开设计算机音乐制作课程的必要性与可行性...
  7. Function(函数)
  8. mysql 回表 覆盖索引_mysql 14 覆盖索引+回表
  9. 最强大脑《智行营救》
  10. IE主页被https://hao.360.cn/?a1004劫持,如何解决
  11. specification java_Java Specification类代码示例
  12. matlab生成的gif用ppt打开慢,【热文回顾】PPT太大,打开时太慢,编辑时卡顿,怎么办?...
  13. Java/171. Excel Sheet Column Number Excel序号转换数字
  14. 上海高中开设计算机课,如何提升高中计算机课的趣味性
  15. 【12】MV剪辑案例【13】宣传片剪辑案例
  16. PHP_递归函数时return
  17. 联想拯救者y7000键盘有几个按键失灵_y7000p键盘失灵
  18. 【天光学术】古代文学论文该怎么写?为你步步解说!
  19. ps ps aux 和ps -aux和 ps -ef的选择
  20. 有效需求分析培训梳理(一)

热门文章

  1. python中math的ln_Python math库 ln(x)运算的实现及原理
  2. 2019 年 Q1 全球云基础设施市场份额揭晓,AWS继续领跑市场;Mesos官方回应Twitter“抛弃”Mesos……...
  3. 新年警惕:多数手机银行App存安全隐患
  4. 硅原子重组纳米级芯片构想
  5. android电视盒子应用市场占有率,各Android版本市场占有率排名出炉
  6. IIS站点配置和DW CS6连接Access数据库
  7. 北纬三十度“神命谷”旅游策划方案
  8. uniapp微信浏览器H5授权微信登录
  9. IE浏览器出现版本过低升级字样的解决方案
  10. Win10怎么隐藏磁盘分区