描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302519904
本书阐述文本数据挖掘的理论模型、实现算法和相关应用,通过实例从原理上对相关技术的理论方法和实现算法进行阐述,言简意赅,深入浅出,使读者能够在充分理解基本原理的基础上掌握应用系统的实现方法。
本书列入“中国科学院大学研究生教学辅导书系列”,可作为大学高年级本科生或研究生从事相关研究的入门文献,也可作为从事相关技术研发的开发人员的参考资料。
1.1基本概念 1
1.2文本挖掘任务 .2
1.3文本挖掘面临的困难 .5
1.4方法概述与本书的内容组织 .7
1.5进一步阅读 .9
第 2章数据预处理和标注 . 11
2.1数据获取 11
2.2数据预处理 . 15
2.3数据标注 17
2.4基本工具 19
2.4.1汉语自动分词与词性标注 19
2.4.2句法分析 . 20
2.4.3 n元语法模型 . 21
2.5进一步阅读 . 22
第 3章文本表示 . 23
3.1向量空间模型 . 23
3.1.1向量空间模型的基本概念 23
3.1.2特征项的构造与权重 . 24
3.1.3文本长度规范化 . 25
3.1.4特征工程 . 26
3.1.5其他文本表示方法 27
3.2词的分布式表示 29
3.2.1神经网络语言模型 29
3.2.2 C&W模型 . 32
3.2.3 CBOW与 Skip-gram模型 34
3.2.4噪声对比估计与负采样 . 35
3.2.5字词混合的分布式表示方法 . 37
3.3短语的分布式表示 . 38
3.3.1基于词袋的分布式表示 . 39
3.3.2基于自动编码器的分布式表示 . 39
3.4句子的分布式表示 . 42
3.4.1通用的句子表示 . 42
3.4.2任务相关的句子表示 . 45
3.5文档的分布式表示 . 48
3.5.1通用的文档分布式表示 . 48
3.5.2任务相关的文档分布式表示 . 49
3.6进一步阅读 . 52
第 4章文本分类 . 53
4.1概述 . 53
4.2传统文本表示 . 54
4.3特征选择 55
4.3.1互信息法 . 55
4.3.2信息增益法 58
4.3.3卡方统计量法 . 59
4.3.4其他方法 . 60
4.4传统分类算法 . 61
4.4.1朴素贝叶斯模型 . 61
4.4.2 Logistic回归、 Softmax回归与最大熵模型 . 63
4.4.3支持向量机 65
4.4.4集成学习 . 67
4.5深度神经网络方法 . 68
4.5.1多层前馈神经网络 68
4.5.2卷积神经网络 . 69
4.5.3循环神经网络 . 71
4.6文本分类性能评估 . 78
4.7进一步阅读 . 81
第 5章文本聚类 . 83
5.1概述 . 83
5.2文本相似性度量 83
5.2.1样本间的相似性 . 83
5.2.2簇间的相似性 . 86
目录 IX
5.2.3样本与簇之间的相似性 . 87
5.3文本聚类算法 . 87
5.3.1 K-均值聚类 . 87
5.3.2单遍聚类 . 91
5.3.3层次聚类 . 92
5.3.4密度聚类 . 95
5.4性能评估 97
5.4.1外部标准 . 97
5.4.2内部标准 . 99
5.5进一步阅读 . 99
第 6章主题模型 . 101
6.1概述 . 101
6.2潜在语义分析 . 102
6.2.1奇异值分解 102
6.2.2词项 -文档矩阵的奇异值分解 103
6.2.3词项和文档的概念表示及相似度计算 . 104
6.3概率潜在语义分析 . 106
6.3.1模型假设 . 106
6.3.2参数学习 . 107
6.4潜在狄利克雷分布 . 108
6.4.1模型假设 . 108
6.4.2词项和主题序列的联合概率 . 110
6.4.3模型推断 . 112
6.4.4新文档的推断 . 114
6.4.5 PLSA与 LDA的联系与区别 . 115
6.5进一步阅读 . 115
第 7章情感分析与观点挖掘 117
7.1概述 . 117
7.2情感分析任务类型 . 118
7.2.1按目标形式划分 . 118
7.2.2按分析粒度划分 . 119
7.3文档或句子级情感分析方法 . 121
7.3.1基于规则的无监督情感分类 . 122
7.3.2基于传统机器学习的监督情感分类 . 123
7.3.3深度神经网络方法 126
文本数据挖掘
7.4词语级情感分析与情感词典构建 . 131
7.4.1基于语义知识库的方法 . 131
7.4.2基于语料库的方法 131
7.4.3情感词典性能评估 134
7.5属性级情感分析 134
7.5.1属性抽取 . 135
7.5.2属性情感分类 . 138
7.5.3主题与情感的生成式建模 141
7.6情感分析中的特殊问题 143
7.6.1情感极性转移问题 143
7.6.2领域适应问题 . 145
7.7进一步阅读 . 147
第 8章话题检测与跟踪 . 149
8.1概述 . 149
8.2术语与任务 . 151
8.2.1术语 151
8.2.2任务 152
8.3报道或话题的表示与相似性计算 . 154
8.4话题检测 156
8.4.1话题在线检测 . 157
8.4.2话题回溯检测 . 158
8.5话题跟踪 159
8.6评估方法 160
8.7社交媒体话题检测与跟踪 . 161
8.7.1社交媒体话题检测 162
8.7.2社交媒体话题跟踪 163
8.8突发话题检测 . 163
8.8.1突发状态识别 . 164
8.8.2以文档为中心的方法:先检测话题后评估突发性 . 167
8.8.3以特征为中心的方法:先识别突发特征后生成突发话题 . 168
8.9进一步阅读 . 169
第 9章信息抽取 . 171
9.1概述 . 171
9.2命名实体识别 . 173
9.2.1基于规则的命名实体识别方法 . 174
目录 XI
9.2.2有监督的命名实体识别方法 . 175
9.2.3半监督的命名实体识别方法 . 181
9.2.4命名实体识别方法评价 . 183
9.3共指消解 184
9.3.1基于规则的共指消解方法 185
9.3.2数据驱动的共指消解方法 187
9.3.3共指消解评价 . 190
9.4实体消歧 193
9.4.1基于聚类的实体消歧方法 193
9.4.2基于链接的实体消歧 . 197
9.4.3实体消歧任务的评价方法 203
9.5关系抽取 204
9.5.1基于离散特征的关系分类方法 . 206
9.5.2基于分布式特征的关系分类方法 212
9.5.3基于远程监督的关系分类方法 . 214
9.5.4关系分类性能评价 215
9.6事件抽取 215
9.6.1事件描述模板 . 215
9.6.2事件抽取方法 . 217
9.6.3事件抽取评价 . 224
9.7进一步阅读 . 224
第 10章文本自动摘要 227
10.1概述 . 227
10.2抽取式自动摘要 228
10.2.1句子重要性评估 229
10.2.2基于约束的摘要生成方法 . 237
10.3压缩式自动摘要方法 238
10.3.1句子压缩方法 238
10.3.2基于句子压缩的自动摘要方法 242
10.4生成式自动摘要 244
10.4.1基于信息融合的生成式摘要方法 . 244
10.4.2基于编码 -解码的生成式摘要方法 249
10.5基于查询的自动摘要 251
10.5.1基于语言模型的相关性计算方法 . 251
10.5.2基于关键词语重合度的相关性计算方法 . 252
10.5.3基于图模型的相关性计算方法 252
10.6跨语言和多语言自动摘要方法 253
10.6.1跨语言自动摘要 253
10.6.2多语言自动摘要 256
10.7摘要质量评估方法和相关评测 258
10.7.1摘要质量评估方法 . 258
10.7.2相关评测活动 262
10.8进一步阅读 . 263
参考文献 . 265
名词术语索引 . 285
虽然十多年前我就指导博士生开展文本分类和自动文摘等相关技术的研究,但对文本数据挖掘的整体概念并没有一个清晰的认识,只是将研究的单项技术视为自然语言处理的具体应用。韩家炜教授主笔的《数据挖掘 ——概念与技术》和刘兵教授撰写的“Web Data Mining”等专著曾让我大获裨益,每次聆听他们的学术报告和与他们当面交谈也都受益匪浅。促使我萌生撰写这部专著念头的是中国科学院大学让我开设的“文本数据挖掘”课程。 2015年底我接受中国科学院大学计算机与控制学院的邀请,开始准备“文本数据挖掘”课程的内容设计和课件编写工作,我不得不静下心来查阅大量的文献资料,认真思考这一术语所蕴藏的丰富内涵和外延,经过几年的学习、思考和教学实践,文本数据挖掘的概念轮廓渐渐清晰起来。
夏睿和张家俊两位青年才俊的加盟让我萌生的写作计划得以实现。夏睿于 2007年硕士毕业,以优异成绩考入中科院自动化所跟随我攻读博士学位,从事情感文本分析研究,在情感分析和观点挖掘领域以第一作者身份在国际一流学术期刊和会议上发表了一系列有影响力的论文,其中两篇论文入选 ESI高被引论文,攻读博士学位期间完成的关于情感分类特征发现与集成学习的论文被引 400余次。此外,他在文本分类与聚类、主题模型、话题检测与跟踪等多个领域都颇有见地。张家俊于 2006年本科毕业后被免试推荐到中科院自动化所跟随我攻读博士学位,主要从事机器翻译研究,之后在多语言自动摘要、信息获取和人机对话等多个研究方向都有出色的表现。自 2016年起他同我一道在中国科学院大学讲授“自然语言处理”课程的机器翻译、自动文摘和文本分类等部分内容,颇受学生的欢迎。仰仗两位弟子扎实的理论功底和敏锐的科研悟性,很多最新的技术方法和研究成果能够得到及时的验证和实践,并被收入本书,使我倍感欣慰。
自 2016年初动笔,到此时收官,全书耗时两年多,当然大部分写作都是在节假日、周末和其他本该休息的时间里完成的,其间进行了无数次的修改、补充和调整,所花费的时间和精力及其感受到的快乐和烦恼难以言表,正所谓“痛并快乐着”。在写作过程中和初稿完成之后,得到了很多同行专家的大力支持和帮助,他们是(以姓氏拼音顺序排列):韩先培、洪宇、李寿山、刘康、万小军、徐康、章成志、赵鑫、周玉。他们分别审阅了部分章节的内容,提出了宝贵的修改意见和建议。另外,部分研究生和博士生也为本
文本数据挖掘
书的写作提供了力所能及的帮助,他们是:白赫、蔡鸿杰、丁子祥、何烩烩、金晓、李俊杰、马聪、王乐义、向露、郑士梁、朱军楠。他们帮助作者收集整理了部分文献资料,绘制了书中的部分图表,为作者节省了宝贵的时间。在此一并向他们表示衷心的感谢!
由衷地感谢韩家炜教授对本书提出的指导性意见和建议!他能够在百忙之中为本书撰序,是我们的荣幸,不胜感激!本书的撰写工作得到了中国科学院大学教材出版中心的资助和国家自然科学基金重点项目的资助(项目编号: 61333018)。另外,不得不说的是,由于作者的水平和能力所限,加之时间和精力的不足,书中一定存在疏漏或错误,衷心地欢迎读者给予批评指正!
宗成庆 2018年国庆节期间
数据挖掘( data mining)技术近年来备受关注,在快速发展的大数据时代展现了极其重要和广泛的应用前景。根据文献 [Han et al., 2012]给出的广义解释,数据挖掘是指从大量数据中挖掘有趣模式和知识的过程。其中,数据源包括数据库、数据仓库、 Web、其他信息存储库或动态地流入系统的数据。由于这项技术最早起源于从数据库中发现和提炼有用的知识,因此这一术语的英文通常写作 knowledge discovery in database(KDD)。
本书介绍从自然语言文本中挖掘用户所感兴趣的模式和知识的方法和技术,这项技术我们称之为文本数据挖掘( text data mining),有时候也简称为文本挖掘( text mining)。这里所说的文本包括普通 TXT文件、 doc/docx文件、 PDF文件和 HTML文件等各类以语言文字为主要内容的数据文件。
1.1基本概念
与广义的数据挖掘技术相比较,除了解析各类文件(如 doc/docx文件、 PDF文件和 HTML文件等)的结构所用到的专门技术以外,文本数据挖掘的最大挑战在于对非结构化自然语言文本内容的分析和理解。这里需要强调两个方面:一是文本内容几乎都是非结构化的,而不像数据库和数据仓库,都是结构化的;二是文本内容是由自然语言描述的,而不是纯用数据描述的,通常也不考虑图形和图像等其他非文字形式。当然,文档中含有图表和数据也是正常的,但文档的主体内容是文本。因此,文本数据挖掘是自然语言处理( natural language processing, NLP)、模式分类( pattern classi?cation)和机器学习( machine learning, ML)等相关技术密切结合的一项综合性技术。
所谓的挖掘通常带有“发现、寻找、归纳、提炼”的含义。既然需要去发现和提炼,那么,所要寻找的内容往往都不是显而易见的,而是隐蔽和藏匿在文本之中的,或者是人无法在大范围内发现和归纳出来的。这里所说的“隐蔽”和“藏匿”既是对计算机系统而言,也是对用户而言。但无论哪一种情况,从用户的角度,肯定都希望系统能够直接给出所关注的问题的答案和结论,而不是像传统的检索系统一样,针对用户输入的关键词送出无数多可能的搜索结果,让用户自己从中分析和寻找所要的答案。粗略地讲,文本挖掘类型可以归纳成两种,一种是用户的问题非常明确、具体,只是不知道问题的答案是什么,如用户希望从大量的文本中发现某人与哪些组织机构存在什么样的关系。另一种情况是用户只是知道大概的目的,但并没有非常具体、明确的问题,如医务人员希望从大量的病例记录中发现某些疾病发病的规律和与之相关的因素。在这种情况下,可能并非指某一种疾病,也不知道哪些因素,完全需要系统自动地从病例记录中发现、归纳和提炼出相关的信息。当然,这两种类型有时并没有明显的界限。
文本挖掘技术在国民经济、社会管理、信息服务和国家安全等各个领域中都有非常重要的应用,市场需求巨大,如对于政府管理部门来说,可以通过分析和挖掘普通民众的微博、微信、短信等网络信息,及时准确地了解民意、把握舆情;在金融或商贸领域通过对大量的新闻报道、财务报告和网络评论等文字材料的深入挖掘和分析,预测某一时间段的经济形势和股市走向;电子产品企业可随时了解和分析用户对其产品的评价及市场反应,为进一步改进产品质量、提供个性化服务等提供数据支持;而对于国家安全和公共安全部门来说,文本数据挖掘技术则是及时发现社会不稳定因素、有效掌控时局的有利工具;在医疗卫生和公共健康领域可以通过分析大量的化验报告、病例、记录和相关文献、资料等,发现某种现象、规律和结论等等。
文本挖掘作为多项技术的交叉研究领域起源于文本分类( text classi?cation)、文本聚类( text clustering)和文本自动摘要( automatic text summarization)等单项技术。大约在 20世纪 50年代文本分类和聚类作为模式识别的应用技术崭露头角,当时主要是面向图书情报分类等需求开展研究。当然,分类和聚类都是基于文本主题和内容进行的。 1958年 H.P. Luhn提出了自动文摘的思想 [Luhn, 1958],为文本挖掘领域增添了新的内容。 20世纪 80年代末期和 90年代初期,随着互联网技术的快速发展和普及,新的应用需求推动这一领域不断发展和壮大。美国政府资助了一系列有关信息抽取( information extraction, IE)技术的研究项目, 1987年美国国防高级研究计划局( DARPA)为了评估这项技术的性能,发起组织了第一届消息理解会议( Message Understanding Conference, MUC1)。在随后的 10年间连续组织的 7次评测使信息抽取技术迅速成为这一领域的研究热点。之后,文本情感分析( text sentiment analysis)与观点挖掘( opinion mining)、话题检测与跟踪( topic detection and tracking)等一系列面向社交媒体的文本处理技术相继产生,并得到快速发展。今天,这一技术领域不仅在理论方法上快速成长,在系统集成和应用形式上也不断推陈出新。
1.2文本挖掘任务
正如前面所述,文本挖掘是一个多项技术交叉的研究领域,涉及内容比较宽泛。在实际应用中通常需要几种相关技术结合起来完成某个应用任务,而挖掘技术的执行过程通常隐藏在应用系统的背后。例如,一个问答系统( question and answering, Q&A)通常需要问句解析、知识库搜索、候选答案推断和过滤、答案生成等几个环节,而在知识库构建的过程中离不开文本聚类、分类、命名实体识别( named entity recognition, NER)、
1http://www-nlpir.nist.gov/related projects/muc/
1.2文本挖掘任务
关系抽取和消歧等关键技术。因此,文本挖掘通常不是一个单项技术构成的系统,而是若干技术的集成应用。以下对几种典型的文本挖掘技术做简要的介绍。
(1)文本分类文本分类是模式分类技术的一个具体应用,其任务是将给定的文本划分到事先规定的文本类型。例如,根据中国图书馆分类法(第五版) 1,所有图书按其学科内容被划分成五大类:马列主义、毛泽东思想,哲学,社会科学,自然科学和综合性图书,并细分成 22个基本大类。“新浪网” 2首页划分的内容类别包括:新闻、财经、体育、娱乐、汽车、博客、视频、房产等。如何根据一部图书或者一篇文章的内容自动将其划归为某一种类
别,是一项具有挑战性的任务。本书第 4章详细介绍文本分类技术。
(2)文本聚类文本聚类的目的是将给定的文本集合划分成不同的类别。通常情况下从不同的角度可以聚类出不同的结果,如根据文本内容可以将其聚类成新闻类、文化娱乐类、体育类或财经类等,而根据作者的倾向性可以将其聚成褒义类(持积极、支持态度的正面观点)和贬义类(持消极、否定态度的负面观点)等。文本聚类和文本分类的根本区别在于:分类事先知道有多少个类别,分类的过程就是将每一个给定的文本自动划归为某个确定的类别,打上类别标签。而聚类则事先不知道有多少个类别,需要根据某种标准和评价指标将给定的文档集合划分成相互之间能够区分的类别。但两者又有很多相似之处,所采用的算法和模型有较大的交集,如文本表
示模型、距离函数、 K-means(K-均值)算法等。本书第 5章详细介绍文本聚类技术。
(3)主题模型通常情况下每一篇文章都有一个主题和几个子主题,而主题可以用一组词汇表示,这些词汇之间有较强的相关性,且其概念和语义基本一致。我们可以认为每一个词汇都
通过一定的概率与某个主题相关联。反过来,也可以认为某个主题以一定的概率选择某个词汇。因此,我们可以给出如下简单的式子:
p (词i|文档j )=三p (词i|主题k) × p (主题k|文档j )
由此,可以计算出文档中每个词汇出现的概率。为了从文本中挖掘隐藏在词汇背后的主题和概念,人们提出了一系列统计模型,称为主题模型( topic model)。本书第 6章详细介绍主题模型。
(4)情感分析与观点挖掘
所谓的文本情感是指文本作者所表达的主观信息,即作者的观点和态度。因此,文本情感分析( text sentiment analysis)又称文本倾向性分析或文本观点挖掘( opinion
1https://baike.baidu.com/item/中国图书馆图书分类法 /1919634?fr=aladdin
2https://www.sina.com.cn/
mining),其主要任务包括情感分类( sentiment classi?cation)和属性抽取等。情感分类可以看作是文本分类的一种特殊类型,它是指根据文本所表达的观点和态度等主观信息对文本进行分类,或者判断某些(篇)文本的褒贬极性。例如,某一特殊事件发生之后(如马航 MH370飞机失联、联合国主席潘基文参加中国纪念反法西斯战争胜利和抗日战争胜利 70周年阅兵活动、韩朝领导人对话等),互联网上有大量的新闻报道和用户评论,如何从这些新闻和评论中自动了解各种不同的观点(倾向性)呢?某公司发布一款新的产品之后,商家希望从众多用户的网络评论中及时地了解用户的评价意见(倾向性)、用户年龄区间、性别比例和地域分布等,以帮助公司对下一步决策做出判断。这些都属于文本情感分析所要完成的任务。
本书第 7章介绍文本情感分析和观点挖掘技术。
(5)话题检测与跟踪话题检测通常指从众多新闻事件报道和评论中挖掘、筛选出文本的话题,而多数人关心、关注和追踪的话题称为“热点话题”。热点话题发现( hot topic discovery)、检测和跟踪是舆情分析、社会媒体计算和个性化信息服务中一项重要的技术,其应用形式多种多样。例如,“今日热点话题”是从当日所有的新闻事件中筛选出最吸引读者眼球的报道,“2018热门话题”则是从 2018年全年(也可能是自 2018年 1月 1日起到当时某一
时刻)的所有新闻事件中挑选出最受关注的前几条新闻。本书第 8章介绍话题检测与跟踪技术。
(6)信息抽取信息抽取是指从非结构化、半结构化的自然语言文本(如网页新闻、学术文献、社交媒体等)中抽取实体、实体属性、实体间的关系以及事件等事实信息,并形成结构化数据输出的一种文本数据挖掘技术 [Sarawagi, 2008]。典型的信息抽取任务包括命名实体识别、实体消歧、关系抽取和事件抽取。近年来,生物医学文本挖掘( biomedical/medical text mining)技术备受关注。生物医学文本挖掘指的是专门针对生物和医学领域的文本进行的分析、发现和抽取。例如,从大量的生物医学文献中研究发现某种疾病与哪些化学物质(药物)存在关系,或从大量医生记录的病例中分析、发现某些疾病的诱因或某种疾病与其他疾病之间的关系等。与其他领域的文本挖掘相比,生物医学领域的文本挖掘面临很多特殊问题,如文本中存在大量的专用术语和医学名词,甚至还有习惯用语,例如临床上使用的一些行话或者实验室命名的一些蛋白质名称等。另外,不同来源的文本格式差异很大,如病历、化验单、研究论文、公共健康指南或手册等有很大的区别。还有,如何表示和利用生物医学领域的常识,如何获取大规模标注语料等,这些都是该领域面临的特殊问题。另外,金融领域的文本挖掘技术也是近年来研究的一大热点。如从普通用户或监管部门的角度通过可获取的财务报告、公开报道、社交网络的用户评论等信息分析某家金融企业的运营状况和社会声誉,从企业的角度通过分析内部各类报告预警可能存在的风险,或者通过分析客户数据把控信贷风险等。
需要说明的是,信息抽取中的关系通常是指两个或多个概念之间存在的某种语义联系,关系抽取就是自动发现和挖掘概念之间的语义关系。事件抽取通常是针对特定领域
1.3文本挖掘面临的困难
的“事件”对构成事件的元素进行抽取。这里所说的“事件”与日常人们所说的事件有所不同。日常人们所说的事件与一般人的理解是一致的,是指在什么时间、地点、发生了什么事情,所发生的事情往往是一个完整的故事,包括起因、过程和结果等很多详细的描述,而事件抽取中的“事件”往往指由某个谓词框架表达的一个具体行为或状态。如 “特朗普会见安倍晋三首相”是一个由谓词“会见”触发的事件。如果说一般人所理解的事件是一个故事的话,那么,事件抽取中的“事件”只是一个动作或状态。
本书第 9章介绍信息抽取技术。
(7)文本自动摘要文本自动摘要或简称自动文摘( automatic summarization)是指利用自然语言处理方法自动生成摘要的一种技术。在信息过度饱和的今天,自动文摘技术具有非常重要的用途。例如,信息服务部门需要对大量的新闻报道进行自动分类,然后形成某些(个)事件报道的摘要,推送给可能感兴趣的用户,或者某些公司、政府舆情监控部门想大致了解某
些用户群体所发布言论(短信、微博、微信等)的主要内容,自动摘要技术就派上了用场。本书第 10章介绍文本自动摘要技术。
1.3文本挖掘面临的困难
开展文本挖掘技术研究是一项极具挑战性的工作,一方面,自然语言处理的理论体系尚未完全建立,目前对文本的分析在很大程度上仅仅处于“处理”阶段,远未达到像人一样能够进行深度语义理解的水平。另一方面,由于自然语言是人类表达情感、抒发情怀和阐述思想最重要的工具,当人们针对某些特殊的事件或现象表述自己观点的时候,往往采用委婉、掩饰甚至隐喻、反讽等修辞手段,尤其在汉语文本中这种现象更加明显,从而使得文本挖掘面临很多特殊的困难,很多在图像分割、语音识别等其他领域能够取得较好效果的机器学习方法在自然语言处理中往往难以大显身手。归纳起来,文本挖掘的主要困难大致包括如下几点。
(1)文本噪声或非规范性表达使自然语言处理面临巨大的挑战自然语言处理通常是文本挖掘的第一步。由于文本挖掘处理的主要数据来源是互联网,而与规范的书面语相比(如各类正式出版的新闻报刊、文学作品、政论和学术论著,以及国家和地方政府电视台、广播电台播出的正规新闻稿件等),网络文本内容存在大量的非规范表述。根据 [宗成庆, 2013]对互联网新闻文本进行的随机采样调查,网络新闻中词的平均长度约为 1.68个汉字,句子平均长度为 47.3个汉字,均短于规范的书面文本中的词长和句长。相对而言,网络文本中大量使用了口语化的甚至非规范的表述方式,
尤其在网络聊天文本中非规范的表述比比皆是,如“很中国”“都是咱的福祉”“摩登萌妹子一秒变身刚刚受到表彰的车间女主管 ∼”等等。下面是一条典型的微博信息:
//@XXXX://@YYYYYY:中国科学院大学本科招生网 bkzs.ucas.ac.cn正式开通,本科招生简章业已公布。期待我们的母校在充实新鲜血液后能够再创辉煌!晚安,果壳大!
噪声和非规范语言现象的出现使常规的自然语言处理工具的性能大幅下降,如在《人民日报》《新华日报》等规范文本上训练出来的汉语分词工具通常可以达到 95%以上的准确率,甚至高达 98%以上,但在网络文本上的性能立刻下降到 90%以下。根据 [张志琳, 2014]实验的结果,采用基于最大熵( maximum entropy, ME)分类器的由字构词的汉语分词方法( character-based Chinese word segmentation),当词典规模加大到 175万多条(包括普通词汇和网络用语)时,微博分词的性能 F1值只能达到 90%左右。而根据众多汉语句法分析方法研究的结果,在规范文本上汉语句法分析器的准确率可以到达 86%左右,而在网络文本上句法分析器的准确率平均下降 13个百分点 [Petrov and McDonald, 2012]。这里所说的网络文本还不包括那些微博、微信中的对话聊天文本。
(2)歧义表达与文本语义的隐蔽性歧义是自然语言文本中常见的现象,如前面提到的英语单词 “bank”和汉语词汇“苹果”等。另外,句法结构歧义同样大量存在,如句子“关于鲁迅的文章”既可以理解为“关于 [鲁迅的文章 ]”,也可以理解为 “[关于鲁迅 ]的文章”。如何解析这种固有的自然语言歧义表达早已成为自然语言处理领域研究的基础问题,但令人遗憾的是这些问题至今没有十分奏效的处理方法,在实际网络对话文本中却又出现了大量人为的千奇百怪的“特殊表达”,例如,“木有”“坑爹”“奥特”等。有时候说话人为了回避某些事件或人物,故意使用一些特殊用词或者使用英文单词代替某个词汇,如“康师傅”“国妖”“范爷”等,或者故意绕弯儿,如“请问 ×××的爸
爸的儿子的前妻的年龄是多大? ”。请看下面的一则新闻报道:
张小五从警 20多年来,历尽千辛万苦,立下无数战功,曾被誉为孤胆英雄。然而,谁也未曾想到,就是这样一位曾让毒贩闻风丧胆的铁骨英雄竟然为了区区小利铤而走险,痛恨之下昨晚在家开枪自毙。
对于任何一位正常的读者,无须多想就可以完全理解这则新闻所报到的事件,但如果基于该新闻向一个文本挖掘系统提出如下问题:张小五是什么警察?他死了没有?恐怕目前很难有系统能够给出正确的回答,因为文本中并没有直接说张小五其人是警察,而是用“从警”和“毒贩”委婉地告诉读者他是一名缉毒警察,用“自毙”说明他已经自杀身亡。这种隐藏在文本中的信息需要通过深入的文本分析和推理技术才有可能将其挖掘出来,而这往往是困难的。
(3)样本收集和标注困难目前主流的文本挖掘方法是基于大规模数据的机器学习方法,包括传统的机器学习方法和深度学习( deep learning,DL)方法,需要大量标注的训练样本,收集和标注足够多的训练样本是一件非常困难的事情。一方面因为很多网络内容涉及版权或隐私权的问题而难以任意获取,更不能公开或共享;另一方面,即使能够获取一些数据,处理起来也是非常耗时费力的事情,因为这些数据往往含有大量的噪声和乱码,格式也不统一,而
且没有数据标注的标准。另外,能够收集到的数据一般属于某个特定的领域,一旦领域改变,数据收集、整理和标注工作又得重新开始,而且很多非规范语言现象(包括新的网
1.4方法概述与本书的内容组织
络用语、术语等)随领域而异,且随时间而变,这就极大地限制了数据规模的扩大,从而影响了文本挖掘技术的发展。
(4)挖掘目标和结果的要求难以准确表达和理解文本挖掘不像其他理论问题,可以清楚地建立目标函数,然后通过优化函数和求解极值最终获得理想答案。在很多情况下,我们并不清楚文本挖掘的结果将会是什么,应该如何用数学模型清晰地描述预期想要的结果和条件。例如,我们可以从某些文本中抽
取出频率较高的、可以代表这些文本主题和故事的热点词汇,但如何将其组织成以流畅的自然语言表达的故事梗概(摘要),却不是一件容易的事情。
(5)语义表示和计算模型不甚奏效如何有效地构建语义计算模型是长期困扰自然语言处理和计算语言学( computational linguistics)领域的一个基础问题。自深度学习方法兴起以来,词向量(word2vec)表示和基于词向量的各类计算方法在自然语言处理中发挥了重要作用。但是,自然语言中的语义毕竟与图像中的像素不一样,像素可以精确地用坐标和灰度描述,而如何定义和表征词汇的语义,如何实现从词汇语义到短语语义和句子语义,最终构成段落语义和篇章语义的组合计算,始终是语言学家、计算语言学家和从事人工智能研究的学者们共同关注的核心问题之一。迄今为止,还没有一种令人信服的、被广泛接受且有效的语义计算模型和方法。目前大多数语义计算方法,包括众多词义消歧方法、基于主题模型的词义归纳方法和词向量组合方法等,都是基于统计的概率计算方法,从某种意义上讲统计方法就是选择大概率事件的“赌博方法”,无论在什么情况下,只要概率大,就会成为最终被选择的答案。这实际上是一种武断的、甚至是错误的权宜之计,由于计算概率的模型是基于训练样本建立起来的,而实际情况(测试集)未必都与训练样本的情况完全一致,这就必然使部分小概率事件成为“漏网之鱼”,因此,一律用概率来衡量的“赌博方法”只能解决大部分容易被统计出来的问题,却无法解决那些不易被发现、出现频率低的小概率事件,而那些小概率事件往往都是难以解决的困难问题,也就是文本挖掘面临的最大“敌人”。综上所述,文本挖掘汇集了自然语言处理、机器学习和模式分类等各个领域的难题于一身,甚至有时候需要与图形、图像理解等技术相结合,是一项综合性的应用技术。这
一领域的理论体系尚未建立,而应用前景极其广阔,且时不我待,因此文本挖掘必将成为一个备受瞩目的研发热地,并将伴随相关技术的发展而迅速成长壮大。
1.4方法概述与本书的内容组织
正如 1.1节所述,文本挖掘属于自然语言处理、模式分类和机器学习等相关技术的交叉研究领域,因此其技术方法的使用和发展轨迹也随着相关技术的发展和变迁而改变。
回顾半个多世纪的发展历史,概括地讲,文本挖掘方法大致可以分为知识工程方法和统计学习方法两种类型。在 20世纪 80年代之前,文本挖掘以知识工程方法为主,这与当时基于规则的自然语言处理方法、句法模式识别和以逻辑推理方法为主导的专家系统占据主流地位的历史轨迹相吻合。这类方法的基本思路是由领域专家基于给定文本集合的经验知识和常识,人工提取和设计逻辑规则,通过推理算法对文本进行分析和挖掘。这种方法的优点是,可以利用专家的经验和常识,推理的每一步都有明确的依据,最终结果有很好的解释性,但是问题在于,需要耗费大量的人类资源分析和总结经验知识,系统的性能受到专家知识库(规则、词典等)的约束,一旦需要将系统移植到新的领域和任务上时,很多经验知识无法重用,系统移植周期长。到了 90年代以后,随着统计机器学习方法的快速发展和广泛应用,基于统计机器学习的文本挖掘方法在准确率和稳定性等方面具有明显的优势,而且不需要长期占用人工资源,尤其在网络大数据时代,面对海量文本,人工手段无论在速度,还是处理数据的规模和覆盖面等各个方面显然无法与机器相比,因此统计机器学习方法逐渐成为这一领域的主流。近年来兴起的深度学习方法,或称基于神经网络的机器学习( neural network based ML)方法属于同一类方法,这类方法也可统称为数据驱动方法( data driven methods)。尽管统计学习方法也有自身的缺陷,如有指导的( supervised),或称有监督的机器学习方法需要大量的人工标注样本,而无指导的( unsupervised)模型性能通常都比较差,而且无论是有指导的还是无指导的统计学习方法,系统最终产生的结果都缺乏充分的可解释性。
总体而言,知识工程方法和统计学习方法各有利弊,因此在实际应用中系统开发人员往往将两者结合起来,在某些环节利用特征工程方法,而在某些技术模块中使用统计学习方法,通过两种方法的融合尽量使系统达到较高的性能。从技术的成熟度看,知识工程方法相对成熟,其性能的天花板也是可以预见的,而统计学习方法随着已有模型不断改进,新的模型不断提出,模型和算法的性能逐渐得到改善,而且仍有很大的上升空间,尤其在大规模数据处理方面拥有不可替代的优势,因此统计学习方法方兴未艾。这也是本书将内容重心放在统计学习方法上的原因所在。
本书主要介绍文本挖掘的基本方法和模型思路,而不涉及具体系统的实现细节,也不对具体应用领域的任务需求和面临的特殊问题给予过多的阐述,如近年来生物医药领域和金融领域的文本挖掘技术备受关注,面向这些领域需要很多领域相关的技术和资源,如领域知识库、领域相关数据的标注工具和标注样本等。作者希望本书介绍的基本方法和模型具有一定的通用性和普适性,读者掌握这些基本理论方法之后,能够根据自己面对的具体任务需求进行方法扩展和系统实现。
除了本章内容之外,后面 9章的内容按如下思路组织,见图 1.1。
图 1.1本书的内容组织
1.5进一步阅读
第 2章介绍数据预处理方法。数据预处理是后续所有模型和算法实现之前的准备阶段,如汉语、日语、越南语等文本的词语切分,尤其对于网络文本来说,文本中含有大量的噪声和非规范表达,如果不对这些数据进行预处理,后续的模型和算法必将受到干扰,很难达到预期的效果,甚至无法运行。第 3章文本表示是后续几章所用模型的基础,如果不能准确地表示文本,就无法运用后面各章介绍的数学模型。第 4章介绍的文本分类方法、第 5章介绍的文本聚类算法和第 6章介绍的主题模型从某种意义上讲是其他文本挖掘技术的理论基础,因为分类和聚类是模式识别最基础、最核心的两个问题,也是统计机器学习和统计自然语言处理中最常用的两种方法,后续几章介绍的模型和方法大都可以被归结分类和聚类问题,或者采用分类或聚类的思想解决。所以,第 4∼6章可以看作是全书内容的理论基础,或称基础模型。需要说明的是,文本分类、聚类和主题模型除了作为基础模型以外,有时也被作为一种具体应用。
第 7∼10章可以看作是文本挖掘应用技术。某一项技术可以针对某个特定任务构建一个系统,也可以是几项技术联合完成一系列任务。在实际应用中,多数情况下不是单个技术的应用,而是多项相关技术的联合应用和集成。例如,在医药领域的文本挖掘任务通常涉及文本自动分类和聚类、主题模型、信息抽取和自动文摘等技术,而在面向社交网站的舆情监控任务中,可能涉及文本分类、聚类、主题模型、话题检测与跟踪,以及情感分析和观点挖掘等,甚至还涉及自动文摘。
随着互联网和移动通信技术的快速发展和普及,很可能会出现新的应用需求和归属于文本数据挖掘的新技术,但是,我们认为不管什么样的应用需求,也无论被冠以什么名称的新技术,可能会有新的文本表示方法和类别距离计量方法,也可能会有新的实现方法和模型(如端到端的神经网络模型),但聚类和分类的基本思想及其在各种任务里的渗透和应用,不会发生根本性的改变。正所谓“万变不离其宗”。
1.5进一步阅读
本书后续各章分别介绍不同任务的文本挖掘方法,以任务目标为导向阐述各种文本挖掘任务的目标、解决思路和实现方法。本章作为全书的开篇,主要介绍文本挖掘的基本概念和面临的问题。关于数据挖掘概念的详细阐述,读者可以参阅如下文献: [Han et al., 2012]、[程显毅等, 2010]、[李雄飞等, 2010]和 [毛国君等, 2007]等。 [吴信东等,2013]介绍了数据挖掘领域的十大经典算法。 [Aggarwal, 2018]是一部比较全面的介绍文本数据挖掘技术的专著,通过对比读者可以发现,在该书中将文本数据挖掘看作是机器学习技术的具体应用,侧重于从机器学习方法(尤其是传统的机器学习方法)的角度探讨文本信息处理问题,深度学习和神经网络方法涉及较少,并且对文本挖掘各项任务的相关工作介绍也都以传统方法为主,而近年来出现的基于深度学习方法的相关工作介绍的不多,如在文本分类、情感分析与观点挖掘中几乎都没有提及。而在本书中,我们将文本数据挖掘看作是自然语言处理技术的实际应用,因为文本是自然语言的一种呈现方式,既然要从文本中挖掘用户所需要的信息,当然离不开自然语言处理技术。因此,本书以任务需求为驱动,从自然语言处理的视角通过实例和过程化描述阐述文本数据挖掘模型和算法的基本原理,如在文本表示一章中,分别从词、句子、文档的粒度归纳了基于深度学习方法的文本表示和建模方法,并且在后面的文本挖掘各项任务中,除了介绍传统的经典方法以外,都特别关注了近年来备受推崇的深度学习方法。
如果说 [宗成庆, 2013]是自然语言处理技术入门的一本基础性专著或教材的话,那么,本书则是一本自然语言处理技术应用的导论性读物。前者主要介绍自然语言处理的基本概念、基础理论、工具和方法,而本书重点阐述自然语言处理应用系统的实现方法和经典模型。
有些专著对某些文本数据挖掘的专项技术进行了详细阐述,具有很好的参考价值,如 [Liu, 2011;2012;2015]对网络数据挖掘、情感分析和观点挖掘等概念和相关技术给予了详细介绍; [Marcu, 2000]和 [Inderjeet, 2001]对自动摘要技术有详细的阐述,尤其是对早期文摘技术的介绍。在后续各章的“进一步阅读”中都会给出相关的推介。
另外需要说明的是,本书默认读者已经具备一定程度的模式识别和机器学习基础,因此对很多基础理论和方法并不做详细的介绍,略去了很多模型和公式的详细推导,只是将其作为工具引用。如果读者想了解关于模式分类和机器学习等基础模型和公式的详细推导过程,推荐读者参阅如下专著: [李航,2019]、[周志华,2016]、[于剑,2017]、[张学工,2016]等。
评论
还没有评论。