【文智背后的奥秘】系列篇——自动文本分类

一.自动文本分类

概述文本分类,顾名思义,就是将一篇文档归为已知类别中的一类或者几个类,为了实现自动分类的目标,通常有以下几个步骤:

  1. 构建分类类别体系
  2. 获取带有类别标签的训练数据
  3. 训练数据的文本表达及特征选择
  4. 分类器的选择与训练
  5. 分类应用数据

给定一篇待分类的文档,若对其进行自动分类,通常需要把文档表达成机器可以处理的数据类型。目前常用的文本表达方式有向量空间模型(VSM),即把文档映射为一个特征向量

其中ti为文档分词后的词条项,w(ti)为相应词条项的权重。

我们的自动文本分类系统,为用户提供自动文本分类服务,平台已对文本分类的模型算法进行了封装,用户只需提供待分类的文本数据,而不必关注具体的实现,通过平台就能得到提供文本的所属类别。目前平台能识别类别囊括了软件、影视、音乐、健康养生、财经、广告推广、犯罪、政治等40多个类别,且系统算法支持快速迭代更新已有类别及增加新类别。

二.自动文本分类系统

1.系统主要框架

目前我们的自动分类系统框架如图1.1所示。系统主要分为三大块:系统输入层、系统算法封装层和输出层。其中系统的输入可包含四个部分:包含文本的url、主标题和副标题及正文部分,其中前三个输入串可选;系统的算法封装层,封装了对文本目标进行分类的分类器及算法模型的迭代更新;系统的输出为该文档所属的类别。

图1.1 自动分类系统框图

2.系统关键技术

2.1 类别体系

目前我们系统构建的类别体系主要基于网页内容分类体系,主要类别涵盖了旅游资讯、游戏、人物访谈介绍、体育、音乐、影视、软件、文学、健康、美食、财经、教育、广告推广、犯罪类别、自然灾害、政治等40多个类别。每个类别体系下对应一个与类别相关的词特征文件。词特征文件的生成及挖掘更新,文章后面会有提及。此类别体系,易扩展,增加新的类别时,若与旧体系类别无交叉,则直接添加该类别及生成一个对应的词特征文件,原有类别体系不变。若为旧体系类别中的子类别时,只需分拆原有体系中对应的大类类别,即对该大类类别词特征文件分拆即可,别的类别词特征文件不变。图2.0为系统类别体系的一个缩略的层级结构。

图2.0 类别体系层级结构

2.2 分类相关技术

2.2.1 概述

从图1.1中可以看到,我们的分类系统输入支持四个维度的特征:

  • 包含输入文档内容的url网址(可选)
  • 文档的主标题(可选)
  • 文档的副标题(可选)
  • 文档的正文

直观上来说,url网址中的某些模式和类别呈现很强的正相关性。比如url包含“video”字符串,那么该url对应的文档分为影视类的概率就很大。同理,文档的标题所属的类别往往决定文档的最终类别。下图2.1为分类器分类的主要流程。其中数据预处理主要包括数据去噪、去重等,各个分类器请参见下节。

图2.1 分类器分类主要流程

2.2.2 分类模型

目前流行的分类算法有决策树、基于规则的分类、朴素贝叶斯、支持向量机SVM、逻辑回归、神经网络等。我们的自动分类系统根据目前类别体系及应用场景,最终采用了朴素贝叶斯+规则相结合的方法。

2.2.3 特征选择

从分类流程可看出,系统支持对url和文本内容分别分类,最后通过类别投票打分方式确定最终的类别输出。从系统的输入数据来看,提取的特征主要包括:url域特征和文本词特征。Url域特征通过简单的串分割即可得到,文本词特征可利用分词软件进行切分。文档通过分词之后,会包含大量的词。而有些词,如“的”、“很好”等对类别不具有区别性。因此需要通过特征选择方法来选择一批类别相关的词特征。常用的特征选择方法有基尼系数、互信息、信息增益、卡方统计等。通过比较,最终系统卡方统计方法来进行特征选择。图2.2为系统采用的特征选择流程。流程输入为类别的正样本和负样本。通过文档分词之后,可通过简单的词的idf及词性对词进行过滤。然后对于最后保留的词计算词与类别的卡方值,通过设置一个合理卡方值阈值及词个数阈值,选取大于阈值的词作为该类的特征词。对于最后选出的特征词,通过tf*idf及归一化后的卡方值来确定该词的权重。Url域特征文件生成方法亦类似。

图2.2 类别特征选择流程

2.2.4 类别在线预测与特征词的离线挖掘

通过上面特征选择方法之后,最终系统会为类别体系中的每个类别生成类别词特征文件。为了提高分类时的时间性能,系统会为特征文件生成trie-tree,这样能更快的匹配命中的特征,而无需对全文档进行分词。考虑到输入的正文的长度,在实际分类时,算法会对正文按一定长度进行切分分别分类,最后加权综合得到正文的分类类别。目前,针对输入的文档,系统提供4个预测器分别给出url、主标题、副标题、正文的分类类别结果。为了判别出输入文档的最终类别,算法采用加权各个分类结果,最后投票得出。公式如下式所示:

其中加权权重wi可通过ada-boost学习算法训练得到。系统最终输出的是文档分为系统所支持的各个类别的得分。

上述分类算法对文档进行分类后,得到带有类别标签的文档数据,这部分数据可作为类特征词更新补充离线挖掘流程的输入集。图2.3给出了类别在线预测与特征离线挖掘流程。

图2.3 在线预测与离线挖掘流程

图2.3可看出,离线挖掘流程复用在线预测的分类部分,得到挖掘流程的输入数据,通过离线挖掘,更新类别的词特征,进而反馈给输入端,用于改进下一次的分类模型,如此则形成预测、更新的闭环。

图2.3中的特征离线挖掘,系统主要采用以下两种方式完成:

方式一: 把经过分类后的文本数据,即带有类别标签的数据,经过图2.2所示的特征挖掘流程得到类增加的特征集。由于输入的数据为直接系统分类后的数据,非人工标注的样本数据,因此,为了增加挖掘的特征准确性和可用性,经算法挖掘后的特征需要经过人工进行标注,并与旧特征集排重合并,最终离线迭代更新类的特征集。

方式二: 选取大批量数据进行主题模型(topic model)聚类训练(如LDA/word2vec聚类),得到隐含主题及描述该主题的特征词文件。再把经过分类后的文本数据用训练得到的隐含主题进行表征描述,通过卡方检验方法选择与类别相关的top N个主题,合并这些主题下的特征文件,同样经过人工标注剔除噪声特征,并与旧特征集排重合并,最终离线迭代更新类的特征集。

图2.4类特征离线挖掘两种方式

方式一和上述讲到的特征选择方法类似。方式二则基于图2.5所示直观理解所实现,即一篇文档可由多个抽象主题进行表达,而每个主题可直接由词特征集来表示。比如说一个典型的交通事故类别文章,可能会命中很多汽车类别中的汽车类型名,如“宝马”、“大货车”,同时也可能命中犯罪类别中的经常出现的“伤亡”、“死亡”等特征词。语义层面上,把文档用主题进行表达,可用相关的主题模型算法得到。本系统使用开源工具word2vec把词按隐含主题进行聚类。在主题模型聚类过程中,需要指定训练语料的隐含主题数,鉴于当前的应用场景,设定主题数为5000。通过word2vec工具得到的词特征集,覆盖面全且语义相近,能很好解决类别词特征覆盖的长尾问题。

图2.5 文档、主题、特征集关系表示

3.系统关键指标

  • 分类时间性能:单进程、平均每条数据长度2kb,1500条/秒
  • 分类准确率:类别体系中分类准确率平均80%以上

4.系统应用

系统最初为网页抽取或转码时对网页进行分类。经过不断的迭代更新,目前系统适应的场景更加广泛,如微博等社交消息的分类处理与应用、网络热门话题识别与应用等。图4.1为系统分类的效果图示例。

图4.1 文本分类效果图

### 回答1: 《嵌入式系统原理与设计pdf》是陈文智编写的一本关于嵌入式系统的原理和设计的书。嵌入式系统是一种特殊的计算机系统,它被嵌入到其他设备中,用于控制和监控设备的运行。这本书系统地介绍了嵌入式系统的基本原理、设计方法和应用案例。 该书的主要内容包括嵌入式系统的概述、硬件设计、实时操作系统、嵌入式软件开发、系统性能分析和测试等方面。首先,作者对嵌入式系统的定义、特点和应用进行了介绍,让读者对嵌入式系统有一个整体的了解。然后,详细讲解了嵌入式系统的硬件设计,包括处理器选择、外围设备的接口设计和电源管理等内容。接着,作者介绍了实时操作系统的原理和设计方法,以及嵌入式软件的开发流程和技术。最后,他还介绍了如何对嵌入式系统进行性能分析和测试,以保证系统的可靠性和稳定性。 该书注重理论与实践相结合,既介绍了嵌入式系统的基本理论知识,又通过丰富的实例和案例,让读者了解到嵌入式系统在实际应用中的设计和开发过程。此外,书中还提供了丰富的参考资料和相关资源,方便读者进一步深入学习和理解嵌入式系统原理和设计。 总而言之,《嵌入式系统原理与设计pdf》是一本全面介绍嵌入式系统原理和设计的优秀教材。读者通过学习这本书,可以系统地了解嵌入式系统的基本原理、设计方法和应用技术,为嵌入式系统的开发和应用提供有力的支持。 ### 回答2: 《嵌入式系统原理与设计》是陈文智编写的一本关于嵌入式系统原理与设计的教材。本书系统地介绍了嵌入式系统的基本原理和设计方法。 首先,本书全面介绍了嵌入式系统的基本概念和特点,包括嵌入式系统的定义、应用领域、发展历程等。同时,书中对嵌入式系统的硬件和软件进行了详细的讲解,包括处理器架构、存储器、I/O接口等硬件方面的内容,以及实时操作系统、设备驱动、程序设计等软件方面的内容。读者可以通过本书全面了解嵌入式系统的组成和功能。 其次,本书介绍了嵌入式系统的设计方法和流程。陈文智通过实例和案例分析,详细介绍了嵌入式系统的设计过程、需求分析、系统架构、接口设计等方面的内容。此外,本书还对嵌入式系统的测试、调试和优化技术进行了介绍,读者可以学习到一些实用的技巧和方法。 此外,本书还特别关注了嵌入式系统的应用实践。陈文智以实际的项目为例,介绍了嵌入式系统在消费电子、医疗设备、交通运输等领域的应用。读者不仅可以从理论上了解嵌入式系统的原理和设计,还可以通过实际案例了解嵌入式系统在实际应用中的具体问题和解决方法。 总之,《嵌入式系统原理与设计》是一本系统而全面的教材,适合嵌入式系统领域的学习者和实践者参考阅读。陈文智的深入浅出的讲解方式和丰富的实例使读者可以更好地理解和应用嵌入式系统的原理和设计。 ### 回答3: 《嵌入式系统原理与设计pdf 陈文智》是一本介绍嵌入式系统原理与设计的电子书,作者是陈文智教授。嵌入式系统是指嵌入在其他设备或系统中,具有特定功能的计算机系统。这本电子书主要涵盖了嵌入式系统的基本原理和设计方法。 首先,该书介绍了嵌入式系统的概念和定义,以及其在计算机科学、工程和嵌入式设备中的应用。它解释了嵌入式系统与普通计算机系统的区别,并讨论了嵌入式系统的特点和挑战。 其次,该书深入探讨了嵌入式系统的组成和体系结构。它详细介绍了嵌入式处理器的类型和特点,以及与其相关的内存、输入输出设备、总线和操作系统。此外,该书还提供了关于嵌入式系统设计和开发的实用指导,包括硬件和软件设计的基本原则和方法。 该书还涉及了嵌入式系统的实时性要求和调度算法,以及嵌入式系统的功耗管理和能效优化技术。它探讨了嵌入式系统的通信和网络实现,包括局域网、无线通信和互联网等方面。 总的来说,《嵌入式系统原理与设计pdf 陈文智》这本书全面而深入地介绍了嵌入式系统的原理和设计方法。无论是对于初学者还是有经验的嵌入式系统工程师,都是一本非常有价值的资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值