使用内容文本分类方法自动对存储在云数据管理系统内的大数据进行分类
2018-01-17刘博斐
摘 要 管理电子文档最好的策略当属于给文档建立索引并且对其进行有效地分类。大多数的组织都将其文档存储在以关键字命名的文件结构中。然而将文件分发在合适的文件结构必须由对此文件结构非常了解的人来完成,只有他们能保证分类的准确性。在以前,这样的员工需要花费大量的时间进行文件的人工分类。这样的工作非常耗时,枯燥和乏味。有时一些错误由员工对文件结构系统的知识匮乏或个人的疏忽引起,而这样的错误会降低其他员工获取文件的效率。为了得到更高的准确率并减轻员工的负担,企业都很希望能部署一个自动分类的解决方案,以达到员工更有效及更准确的获取存储信息。
【关键词】信息生命 云计算 机器学习
信息生命周期管理(Information Lifecycle Governance - ILG)是每个企业的基石。ILG帮助企业管理他们的商业信息,同时降低风险,减少消耗并且最大限度使用数据的价值。ILG主要用于数据的清理,归类,记录,管理和销毁。所有这些都基于一个最基本的功能:数据分类。数据的销毁是指将商业数据分类到有价值一类和对企业再无价值并且等待销毁一类。当存储的数据已达到销毁年限必须要被销毁。真实的ILG系统在没有数据分类的前提下是无法使用的。例如这样一个文件存储系统:两层结构,第一层由15个类别组成,例如“Accounting”,“Development”, “Human Resources”等等,每个类别的第二层有20-30个类别,例如在“Human Resource”类别下有”Application Files”, “Employee Application”等。至今大多数的文档都是人工进行存储的,人力资源的员工要负责对文件进行合理的分类,假使每天一个HR产生250个文件也就是说250个文件需要人工进行分类。如果我们有375个类别每个类别下10个文档,每天需要人工分类的文件数就是3750,当精确度要求很高的时候也不是很容易的。这个例子说明了一个自动分类的系统不仅是很有用的,而且还是必须得。
此篇文章旨在建立一个自动分类过程并且将其与企业文件系统进行合适的连接。
1 基本概念
云计算——是一种用户部署在互联网上使用远程服务器网络的技术,远程服务器可存储,管理和处理数据。在云环境中,网络、硬件、系统软件都可以被当作服务提供给用户。云环境的最大优势是能帮助最大限度的李彤分享资源从而减少开销。在云环境中,资源可以根据用户的需求进行动态的分配。
本文的测试环境就是建立在一个私有云的存储环境中。所有自动分类系统的测试都运行在这个存储环境。所有已分类和未分类的文档都被存储在云系统中并且通过Internet获得。
2 分类储存
在云计算环境中,所有未分类和已分类的文档,不论来自互联网,公司内网或者文件系统都将被存储在云存储系统中。数据分类模块从云存储系统中获得文档,分析文件内容,进行分类后将其放回到云存储系统中,此时文件将根据其在文件存数系统中所属的类别进行分类存储。
内容分析——分为定量内容分析及话语分析。内容分析是在社会学里研究文本内容的工具。它能帮助组织理解大量存储的非结构化信息中的内容及上下文环境。例如,内容分析工具可以帮助我们回答的问题有:最常出现的词语和概念是什么?或者两个最可能一起出现的词语是什么?定量内容分析主要关注于词语出现的频率,次数,关键字的频率等等。这些信息将被以定量数据的形式存储并用于以后进行统计上的分析。与定量内容分析相反,话语分析主要关注与文章的含义,主题。研究人员必须能理解文章的客观意思,需要更多的关注于文章字里行间的语法及语义信息。
在自动分类中,内容分析主要起到查找,分析和内容挖掘的作用。例如在聚类方法中,聚类的结果通常是一个文档的自然分布和分布结构。研究人员需要对每个聚类簇中的文档进行分析从而理解每个簇的主要含义和关键词组,在此基础上进行例如,数据清洗或建立分类条件。更好地理解文件集非常有益于高效,准确的分类。一个简单的建立分类条件的例子是,当一个文档包含“训练集”这样的关键字则非常有可能在描述数据分类的事情,因为大多数的监督型学习的数据分类都需要一个训練集。则当聚类的某个簇含有类似的语义非常明确的词语或短语时,这一类能被清楚地标记出来。
3 机器学习
3.1 机器学习
机器学习是人工智能的一个分支,它的关键是从数据中学习并且使用学习到的知识建立一个系统,这个系统可以在今后的生产环境中重复使用。例如,一个机器学习系统可以被垃圾及非垃圾邮件训练,经过足够的学习之后,这个系统应该有可以识别垃圾邮件的能力从而使用户免于垃圾文件的困扰。另一个例子是关于数据挖掘,在经过记录和分析用户的行为后,系统应该能轻易地推测那种用户更可能买某一类商品或者哪两种商品更有可能一起被客户购买。
机器学习的方法包括以下几种。聚类,未监督学习方法,将文档分发到每个聚类簇中,使得在同一簇中的文档根据某些既定的规则非常相似,而不同簇中的文档则非常不同。支持向量机,监督型学习方法,它使用一些已经被分类的样本集进行训练,训练结果是一个分类模型可用于未分类文档的分类。其他的学习方法包括决策树,人工神经网络等等。
3.2 文档分类
文档分类或归类是在图书管理科学,信息科学和计算机科学中非常重要的一个研究方向。他的目的是将文档归类于一个或多个类别中以使得相似的文档在一起。文档分类可以人工或使用计算机完成。使用计算机完成的分类多数在机器计算的帮助下用于信息及计算机科学领域。可以分类的文件包括文本,图片,音乐等等。每一种形式的文件都有他们特别的分类问题。
自然语言处理是要进行分类前必须解决的主要问题。执行自动分类的电子计算机必须理解文档内容,这些文档是由非结构化的自然语言组成,比如英语而不是机器语言。机器必须能翻译文档的自然语言并且提取出能反映文档,分类的有意义信息,并且使用他们进行有效的文本分类。最直接的策略就是分词。一个完整的文档可以被分解成一串单独的词组。每个文档则可以由这些词组中最常出现的子集代表。因此一个文档就会被看作一些次的集合,在这种情况下语法和语义信息是不需要的。在此前提下,要进行分类,最重要的一步是找到一个合适的方法用这些词的集合来表示一篇文档。为了避免无意义词的影响可以首先移除词组集合中的“停词”比如“a”,“and”,“but”等等,这些“停词”并不能传递任何和主题有关的信息。然后使用空间向量模型如下:endprint
假设t1,t2…tn代表描述文档的独立词组D1,D2…Dm代表文档。Di可被向量空间模型表示如下:Di=(ai1,ai2,…,ain)T
aij是词组 tj在文档Di 中的权重。aij c可以简单的是词组tj在文档 Di中出现的次数或一些更复杂的计算例如tf-idf,它结合了词组频率及文档反向频率,Tf-idf在充分考虑词组频率的同时避免了一些普通词组的影响,这些普通词组可能出现在大多数文档中,因此可以被当作噪点处理。
3.3 无监督的文档分类
文档人工归类是一个非常耗时和枯燥的工作,有时人工分类基于个人的主观判断并不是很好控制,因此无监督的分类是一个非常好的选择。对于无监督的方法来说,输入只是一些需要被分类的文档。假设研究人员对这些文档一无所知。文档的聚类就是将这些文档分发进不同的组中。同一组的分档将比不同组的更像彼此。因此聚类可以说是无监督学习方法中最重要的一种。聚类的输出是一组有结构的未标记的数据组,每个组中有一些文档,这个生成的结构可被看作机器生成的数据存储结构。
4 K-means 算法
在传统的无监督分类过程中会在整个集合中运行实际的聚类方法例如k-means。在聚类中最常用的相似判断规则是两个文档空间向量的距离。属于一个聚类簇中的文档必须足够“接近”,这个阈值需提前设定。K-means算法迭代运行直到聚类簇不再改变。此时,稳定的聚类簇被当作一个集合。
K-means 算法:
(1)选择正整数 k 作为分类类别个数;
(2)选择K个随机对象作为簇初始中心;
(3)重复;
1.将任意一个对象分发到距离最近的簇中。
2.计算新生成簇的中心。
(4)直到。
1.簇的中心不再改变或者。
2.所有的对象不再移动。
将文件转化成向量之后,距离计算可以使用例如欧氏距离这样的方法来计算文件之间的“相似性”。
监督学习算法——当数据量不断增大时,如果使用传统非监督型学习方法,当加入新的数据时,所有的程序将重新执行一遍而产生一个全新的数据存储结构。这非常耗时耗力,并且不断改变的数据结构将使查询者陷入困惑。监督型学习方法是一个通过提前人工分类的训练集生成分类器的重要分类方法。分类器可以对全新的,未分类的数据尽心分类。
Boosting分类算法是综合几个简单并且并不准确的分类器从而得到高准确性单一分类器的方法。这个单一分类器开始时并不是很准确但是持续的被训练。为了训练每个简单分类器,boosting算法通过训练集为每一个分类样本存储一个权重。每次分类错误的样本将增加权重以使得下一个分类器能更关注于这些曾经分类错误的样本从而提高分类准确性。下图展示了Adaboost算法找到一系列弱分类器并且给样本增加权重使得被错误分类的样本得到进一步重视的整个过程。
半监督学习方法——是一种使用少量的已分类数据生成分类器并通过它对一些未分类数据进行分类,之后将此数据加入训练集进一步训练分类器的方法。例如,分析关于大学课程的文档,在已经分类到大学课程这一类的文档中我们发现当文档中含有“作业”这个关键词的时候,此文档很有可能是大学课程相关文档。假使我们接受这一条件,并且使用它来分析未分类的文档,“课程”这一次也频繁出现,因此可以用于提高分类的准确性。
基于条件的分類——在一些情况下,有些词含有很特殊的信息但是可能出现频率很低,这些词需要加倍重视,因为他们在分类中起很重要的作用,基于条件分类能充分利用这些词的特点并且建立一个性能很高的分类器。
三种分类器方法:
(1)聚类和半监督学习方法的结合:当我们对文档集合一无所知时可以先使用聚类快速生成一个文档结构,当聚类簇足够大时我们可以将聚类簇标记为新的类。标记完所有文档和聚类簇之后,已经标记的文档可作为半监督学习方法的输入,输出的分类器和还未标记的文档可以递归运行半监督学习方法,直到生成一个稳定的分类器。
(2)监督学习方法/半监督学习方法和人工校验的结合:进行完分类之后,当一个文件被判定为与已标记的类吻合度很低而与其他某个未标记类吻合度很高时,有经验的分类人员将介入人工分类,当此文档被判定为噪音时可以删除,直到所有文档都符合已标记的类时,生成的分类器将用于之后的分类。
(3)基于条件的分类算法:如以上,增加条件分类特性,分类器的性能有时能有明显的提高
5 结论
在(1)中聚类结束后很难将聚类簇与给定的文件系统结构一一对应,(2)中准确性与用户提供的数据好坏有很大关系,人工进行校验非常耗时耗力。而当增加了(3)条件之后,分类准确度有了显著提升,并且对于专业人员来说,编写分类条件并不是很难。
作者简介
刘博斐(1989-),德国汉诺威大学通讯工程专业,硕士研究生,从事信息系统总体设计、新型智慧城市建设等领域。
雒琛(1989-),德国汉诺威大学计算机专业,硕士研究生,从事大数据分析应用、软件系统开发等工作。
作者单位
1.中电科新型智慧城市研究院有限公司 广东省深圳市 518000
2.德国SAP公司(深圳) 广东省深圳市 518000endprint