前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >科普|文本分析浅析——文档分类

科普|文本分析浅析——文档分类

作者头像
大数据文摘
发布2018-05-23 18:45:56
1.2K0
发布2018-05-23 18:45:56
举报
文章被收录于专栏:大数据文摘大数据文摘

作者| AyLien

翻译| 康欣 校对| 刘熹娜 编辑| Ivy

序言

自动文档分类是一个很好的例子,说明如何善用机器学习和自然语言处理,让机器更好地处理人类语言。自动分类目的,是给一个文档或一段文字指派一个或多个类别,以方便对文档进行归类和管理。特别是对于出版社、新闻网站、博客或其他需要处理大量文字内容的人和机构来说,人工对文档,并进行分组和分类是极其耗费人力和时间的工作。

大体上讲,有两类机器学习方式:监督学习和非监督学习。监督学习方法是在“以往的观察”之上建立模型,这种“以往的观察”被称为训练集。在做文档分类时,预先定义好文档类别,再人工为训练数据集中每个文档打上类别标记。建立了训练数据集之后,接着是用这个人工标记的数据集训练一个分类器。其思想是:在训练完成后,这个分类器将能够预测任何一个给定文档的类别。

非监督机器学习方式有所不同,它们不需要训练数据集。以文档分类来说,类别是事先未知的。非监督学习方式(如聚合和话题建模),可以在一批文档中自动发现相似文档并进行分组。本文将聚焦监督分类方式的机器学习。

1

什么是分类器?

分类器的工作是生成“预测”。简明地说,当分类器对一个新文档进行分类时,它预先判定这个文档属于某个特定类别;并且,分类器通常为这个文档指定一个类别“标签”。分类器或许还会根据使用的分类算法或策略给出一个可信度,表明分类标签正确性有多高。用一个简单例子就可以很好地解释分类器是如何工作的。

2

分类器如何工作?

如前所述,分类器用于预测,以预测足球比赛是否会正常进行作为一个简单的例子,就能说明分类器如何工作。首先,我们要建立一个数据集。为此,我们需要记录室外温度并统计过去一年中给定比赛夜是否降雨,用这些记录建立一个天气情况数据集。然后,我们会根据比赛是否正常进行来“标记”这个数据集,并创建一个训练数据集用于此后的预测。

在这种情况下,我们有温度和降雨两个“特征”来帮助我们预测比赛是否会举行。如下表所示,任何比赛夜,我们可以参考表格数据来预测比赛是否会如期进行。在这个简单的例子中,如果温度低于零度且正在下雨,那么比赛很有可能会取消。

在上表中,每一列称为一个“特征”,“比赛”那一列被称为“类别”或“标签”,其下面的行都被被称为“实例”。这些实例可被理解为数据点,而数据点可视为一个向量,形如<特征1,特征2,…,特征N>。

3

文档分类简易例证

以此类推,将这种预测方法应用于文档的分类,其中的单词将被视为“特征”来预测该文档的类别。还是使用一个简单例子来说明。假设,我们的训练集中有如下三个非常简短的文档:

首先,我们要抽取训练集三个文档中的所有单词,并且据此建立一个表格(或向量):

类别:<some,tigers,live,in,the,zoo,green,is,a,color,go,to,new,york,city>

然后,我们会对每一个训练文档建立一个向量,如果这个单词存在于该训练文档,则取值为1,若不存在则取值为0,并给该文档一个适当的标记,如下所示。

当对未标记过的新文档“Orange is a color”进行分类时,我们会根据已有的类别向量对新文本的单词做标记,并为该文档生成一个单词向量:

如果,接下来将未分类文档中的向量之前三个文档类别中的向量作比较,我们会看到未知文档与类别2中文档的相似度最高。

未知类别文档类别与类别1的比较(6个匹配项)

< 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0 >类别1

< 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0>未知类别

未知类别文档类别与类别2的比较(14个匹配项,最相似!!)

< 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0>类别2

< 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0>未知类别

未知类别文档类别与类别3的比较(7个匹配项)

< 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1 >类别3

< 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0>未知类别

因此,机器很有可能将新文档标记为类别2并配以高可信度。在统计自然语言处理的方法中。这是一个非常简单常见的例子。

4

细看现实世界的文本分类

现实中的分类器由三个部分组成,接下来我们会逐一进行介绍,并对分类器的工作原理稍作解释。

1. 数据集

如前所示,统计分类方法需要人工先对一批文档标记上恰当的类别。在很大程度上,数据集的质量是一个统计自然语言处理分类器最重要的部分。

数据集需要足够大,能够为每一类别提供数量充足的文档。举例来说,你希望在文档的归类过程中有500种可能涉及到的类别,假设每个类别有100个文档,那么总共则至少需要5万个文档。

文档自动分类对数据集的质量也有很高的要求,高质量的数据集才能明显区分出不同类别文档的相互差异,清晰的划分出不同类别。

2. 预处理

在之前简单的例子中,当创建文档向量时,我们赋予每一个词同等的重要性。我们可以做某种预处理,并根据单词对于待分类分档的重要性,来赋予它们不同的权重。其中一种常用的方法是TF-IDF(term frequency-inverse document frequency, 词频-逆向文档频率)。某一个单词的TF-IDF权重,会随着这个词在一篇文档中出现的次数而增加,也会根据它在整个文档集合中出现的频率而降低。对于经常出现在整个文档集合中的词(如“a”,“it”等)来说,这样做会有效降低这类单词的综合权重。[译者注:如果某个词在一篇文章中出现的频率(TF)高,但在其它文章中的TF低,则该词就具有很好的类别区分能力,适合用来分类。]

3.分类算法及策略

在上面的例子中,我们用来分类分档的算法非常简单:通过比较文档向量中匹配项的数量,来看它与哪一个类别最为相似,并以此对文档进行分类。现实情况中,我们或许会把文档分在两个甚至两个以上的类别中,并且会在给定的类别中为一篇文档赋予多个标签。我们的分类系统还可能是多层次的结构,并因此分类器也需要在分类过程中考虑到多层次结构的因素。

举例来说,使用IPTC(International Press and Telecommunications Council,国际新闻电讯评议会)的国际主题新闻编码来设定标签,我们会给一个文档同时贴两个标签,如“体育事件-世界杯”或“体育-足球”。其中,“体育”和“体育事件”是根类别,而“足球”和“世界杯”是子类别。

有大量的用于分类的算法,如支持向量机、朴素贝叶斯、决策树等,它们的所能达到的细节早已超出了本文的范围。

结论

希望你现在对文本分类的基本原理及其工作流程,有更透彻的理解。作为总结,在监督学习中,模型的建立是基于一个训练集。此后,分类器在这个手工标记过的训练数据集上进行训练,并希望可以预测任何给定文档的类别。影响预测质量最大的因素就是训练数据集的质量。

原文链接:

http://blog.aylien.com/post/104768074963/text-analysis-101-a-basic-understanding-for

大数据文摘编译者简介

刘熹娜

非典型北京姑娘,射手座,本科北二外翻译学院,研究生谢菲尔德大学国际新闻,现从事于媒体的大数据相关行业。爱一切未知事物,好奇心过剩说的就是我,希望可以和大家一起做出更好的文章。

康小欣

博士,多年从事图像及数据处理和分析、计算机视觉、模式识别、机器学习、增强现实等领域的技术研究和创新应用,现为西门子中国研究院高级研究员。希望借此平台,与大数据分析爱好者以及专家学者交流、合作。

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

本文分享自 大数据文摘 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档