论文总字数:29272字
摘 要
中文文本的分词及关键词提取问题一直都是中文文本处理领域的热门研究问题,本文基于现有的中文文本分词及关键词提取技术设计并开发了一套针对科技企业领域的自动文本分类及企业标签提取系统。
本文所开发的企业文本分类及标签提取系统由三大模块构成,首先是文本预处理模块,本模块由编码转换、中文分词与停止词过滤构成。编码统一为Unicode编码,中文分词采用效果较好的开源分词模型Jieba分词,停止词过滤采用标准中文停止词表。文本预处理模块之后是分类词典训练模块,采用加入了词性及方差因子改进TF-IDF算法对训练语料库进行训练并经过人工辅助筛选得出分类词典。最后是文本分类及企业标签提取模块,利用训练好的分类词典对企业文本进行领域划分,并针对每个企业自身再次运用TF-IDF算法提取企业自身的标签词。最后通过详细的实验对本系统进行全面测试,整个系统在测试集的精确率、召回率及F-measure等评价系统下表现出了优异的性能。
关键词:文本分类,企业标签提取,TF-IDF算法
Abstract
Chinese word segmentation and keyword extraction is the basis and are always popular research areas of the Chinese text processing. An automatic text categorization and tag extraction system aimed at categorizing tech companies’ introduction texts and extracting tags for these companies are designed and developed, this system is based on existing Chinese word segmentation and keyword extraction techniques.
The system described in this thesis consists of three major parts. The first part is text pre-processing, which is made up of codec transition, Chinese word segmentation and stop words filter. This part unifies the codec as Unicode and using a well-known open source Chinese word segmentation model—Jieba for word segmentation, the standard Chinese stop words list is chosen for stop words filter. After text pre-processing is the categorization codec training part, this part makes use of the traditional TF-IDF algorithm and improve it with part of speech(POS) to develop a categorization codec, which will be refined by handwork. The last part is the text categorization and company tag extraction, using the refined categorization codec to categorize companies and extracting each company’s tag using improved TD-IDF algorithm. After the system is constructed, a full test is designed and performed, and the system performs amazingly, the precision rate, the recall rate and the F-measure are all great.
KEY WORDS: text categorization, company tag extraction, TF-IDF algorithm
目 录
摘 要 I
Abstract II
第一章 绪论 1
1.1 课题研究背景 1
1.2 文本挖掘研究现状 2
1.3 论文的主要研究内容 3
1.4 论文内容安排 3
第二章 相关理论基础 5
2.1 分词理论与方法 5
2.1.1 现代分词的理论基础 5
2.1.2 Viterbi算法 6
2.2 模式分类方法 7
2.2.1 基于分类词典的文本分类 7
2.3 本章小结 8
第三章 企业标签生成方法 9
3.1 需求分析 9
3.2 总体设计 9
3.2.1 设计难点 11
3.3 文本预处理 12
3.3.1 中文分词 12
3.3.2 编码转换 12
3.3.3 停止词过滤 12
3.4 TF-IDF算法 13
3.4.1 传统的TF-IDF算法 13
3.4.2 考虑方差因子与词性要素的TF-IDF算法 15
3.5 分类词典的构筑 17
3.6 企业标签的生成 17
3.7 本章小结 17
第四章 实验结果与分析 18
4.1 实验设计 18
4.1.1 文本收集 18
4.1.2 文本预处理 19
4.1.3 分类词表训练 22
4.1.4 测试分类词表 27
4.2 实验结果 27
4.2.1 文本分类测试 27
4.2.2 标签提取测试 31
4.3 实验讨论 32
4.4 本章小结 36
第五章 总结与展望 38
5.1 总结 38
5.2 展望 38
致 谢 39
参考文本 40
绪论
课题研究背景
在信息时代,有非常大量的信息都储存在文本当中,比如各种研究文本、企业信息文本、图书、网页文本等。近几年计算机技术突飞猛进,数据挖掘、文本信息挖掘等技术成为了信息科学研究的热点,而将一些成熟的文本挖掘技术用于生产实际也是众望所归。
在非常多的情况下,读者并没有足够的精力完整读完得到的所有的文本,所以很多文本都提供了摘要与关键词来帮助读者判断文本内容自己是否感兴趣,是否要继续读下去。在过去,文本摘要和关键词提取都是靠人力完成,但是在信息爆炸的时代这种做法显然就显得效率低下,人们自然而然得就开始寻求依靠计算机来对文本进行关键词提取与摘要筛选的技术。对信息管理领域这种技术尤其重要,网络搜索引擎本质上是根据所搜索的关键词进行关键词匹配和Rank排序,这就要求一个网页能自动取出其中的关键词作为标签供引擎查找,这时自动关键词提取和标签生成技术就体现出了作用。对其他信息管理领域道理同样适用。
图1-1现代网络文本检索流程示意图
在现在的文本数据库中,许多文本是非常结构化的,比如万维网的网页;也有不少如XML网页和邮件一样的半结构化的文本。高度结构化的文本很可能包含了非常多的结构标签比如标题、作者、出版日期、长度、分类等等,也可能包含非结构化的成分比如说摘要和文本内容。对于结构化的文本处理是非常省事的,因为各种结构标签可能包含了你想要的关键内容,而非结构化的文本想要处理就需要用特殊的方法对其进行转化,从中提取出想要的内容。
文本挖掘技术(Text Mining)指的是从非结构化的文本内容中提取出用户关注的内容或者模式的过程。由于不同的需求与面对的文本对象的不同,文本挖掘包含了多不同的技术,是一个多学科交叉的研究领域。有的文本适合用机器学习,有的情况下没有太多可训练的样本,就只能用文本分析或其他一些信息技术来处理对象文本。
企业标签指的是从一个企业的官方非结构化信息文本(如公司简介文本、电子表格、客户电子邮件、问题查询、网页等)中挖掘提取出来的描述此企业性质、所属行业、产品特点等信息的文本标签,借助这些文本标签本文可以更方便地对大量的企业进行行业分类与管理。
图 1-2中国知网采用的搜索引擎的主题标签技术
文本挖掘研究现状
文本挖掘是一个非常宽泛的领域,在很多情况下表达的是一种利用计算机从大量无结构的数据中获得“高质量”的数据方法。“高质量”数据指的是结构化的、可被人利用的数值数据。文本挖掘与信息提取、自然语言处理、数据挖掘等多个领域息息相关[1]。目前英语文本挖掘技术已经进入了实用阶段,有了Intelligent Miner For Text等挖掘软件,同时也建立起了文本挖掘测评规范。S.M.INZALKAR[2]总结出了文本挖掘的几个步骤:文本收集(Document Gathering)、文本预处理(Document Pre- Processing)、文本转换(Text Transformation)、特征提取(Feature Selection)、数据挖掘/模式选择(Data mining/Pattern Selection)和评估(Evaluate)。H. M. Mahedi Hasan[3]对文本挖掘中的关键词提取技术做出了研究,并总结出目前常用的集中关键词提取技术,分别为条件随机场、支持向量机、统计及机器学习和语义分析。而在文本分类方面,目前比较热门的方法有基于向量空间模型的文本相似性比较,如朴素贝叶斯(Naïve Bayes)法[4]、类中心(Category Centroid)法[5][6]、K-最近邻(K-Nearest Neighbor)法[7]、神经网络(Neural Network)法[8]、支持向量机(Support Vector Machine)法[9]以及深度学习(Deep Learning)法[10]等.
本文国由于文本挖掘起步晚,同时因为中文语言处理复杂度比英语高,中文文本挖掘难度也比英文文本挖掘要困难一些。史广顺等人[11]提出了基于语法模式的信息提取技术,并将这种技术应用于中文名片自动识别。孙健等人[12]研究了利用K-最近距离算法的自动文本分类,发现了特征词权重对自动文本分类影响。陈立孚等人[13]利用机器学习的方法进行自动文本分类,并比较了SVM与KNN算法在自动文本分类方面的性能优劣。在中文分词方面郁振庭[14]提出了基于神经网络的词法分析。黄昌宁等人[15]通过对中文分词十年研究回顾,得出基于字标注的统计学习方法优于以往的基于词(或词典)的分词系统的结论。而在中文文本建模方面,周昆[16]提出了基于改进向量空间模型的中文文本分类法,并基于这种建模方法建立了一套成熟并已投入实际运用的文本分类软件。
总的来说大多数对中文文本挖掘的研究者都还只是在算法层面进行研究,中文文本分类的实用软件还没有较成熟的成果。但是可以看出科研工作者对于中文文本处理及其包含的领域下各种技术的研究热情是非常高涨的,而随着对文本处理智能化的需求日益增多,可以预见到不远的未来也会有成熟的智能中文文本处理方案出炉。
论文的主要研究内容
本论文首先对目前比较成熟的中文分词及关键词提取技术进行了考察,并在结合项目实际需要与能利用的有限数据资源的两方面条件考虑下,选取了Jieba分词作为中文分词工具,并利用TF-IDF做基础的关键词提取。同时对两者算法进行分析并针对本项目进行一部分改进,最后进行了结果测试与讨论。
论文内容安排
本论文正文内容一共分为五个章节:
第一章是绪论,首先介绍了文本挖掘、关键词标签等概念,并分析了为什么现在利用电脑进行文本、数据处理的需求那么大,同时说明了这些技术在目前的信息管理系统与网页搜索引擎中的广泛利用。
第二章是相关理论基础,首先对中文文本处理领域中比较关键且难度较大的中文分词问题进行了讲解,介绍了一些目前比较先进的中文分词模型,进而讲解了现代中文分词的数学理论基础,并通过图文结合讲解了Viterbi算法在中文分词中的作用。接着介绍了常用于文本处理的一些模式分类方法,最后提出本文采用基于分类词典的文本分类方法。
第三章是本论文重点,主要讨论如何生成企业标签。首先本文对生成企业标签这个任务做了详细的需求分析,从需求中可以看出,目标文本是各个企业的企业简介文本,这种文本一般来说具有简介但是信息浓缩度高的特点。接着本文讨论了针对目标需求而提出的整体设计,因为是本文处理的是中文文本,所以绕不开中文分词这一个难关,本文提出使用网上开源的较为成熟的Jieba分词模型作为本文设计系统的分词基础。紧接着本文说明由于缺少标准语料库资源,本文采取手工收集语料来进行实验。之后本文又着重讲解了文本的预处理技术,并针对本文的目标文本特性提出采用文本编码处理、中文分词、停止词过滤三部分构成文本预处理模块。接着介绍了在提取文本特征词方面,本文采取比较成熟的TF-IDF算法作为基础,并对其加以改良以适应本文目标设计。最后提出采用词表重合度来判别目标文本与相关领域的相似度。在概述完总体设计之后,本文对核心的TF-IDF算法进行了数学基础的介绍,在提出传统TF-DIF算法缺陷之后提出了改进的算法。
第四章是实验结果与分析,主要对设计好的整体系统进行分模块的测试与最后的整体效果测试。通过对本文构筑的系统进行全面的测试,本文得出了停止词过滤非常明显的减少了之后的程序需要处理的词量,大大提升了程序的性能;TF-IDF算法的特征词提取效果非常不错,即使存在少量噪声词也能通过人工辅助获得优质的分类词典;分类词典重合度越低文本分类效果越好等结论。
第五章是总结与展望。在总结了本文工作的基础上,提出了两方面改进,即系统代码都只满足了功能而没有刻意进行优化,导致产生了很多冗余的计算量,应该构造更好的数据结构与计算效率更高的算法来提高整体性能;另一方面是由于人机界面使用的是控制台,用户体验比较粗糙,应该有更直觉化的人机交互界面来改善体验。
相关理论基础
分词理论与方法
中文分词是现代中文文本处理中的一项关键基础技术,最近几年来出现了大量的研究成果,这与科研工作者们对中文分词领域愈来愈高的科研热情是分不开的。最具有代表性的方法有哈尔滨工业大学的LTP、清华大学的THULAC、中国科学院计算技术研究所的ICTCLAS以及本文用到的Jieba分词模型。虽然这些分词框架都各有所长,但不可否认的是目前大多数分词模型在专业领域分词方面还是有很多不足的[17]。韩冬煦等人[18]针对专业领域分词的研究提出了使用卡方统计量以及边界熵提升未登录词的处理能力,并通过实验证明了这种方法确实能提升针对专业领域分词的性能。
现代分词的理论基础
对于文本处理任务,首要要做的就是进行分词,英文文本天生有空格符分词,而中文由于没有空格符分词,所以就需要专门解决的问题。现代的分词技术都是基于统计学的,所以基于统计的分词技术的前提就是要有一个标准的语料库,语料库的意思是一个经过人工标注的标准文本库,经过语料库训练统计后本文才能根据统计的结果来进行分词。而语料库需要统计的是字与字,字与词,词与词之间的共现概率,根据这种概率本文就可以对一段话进行依靠统计学基础的词语划分。
图 2-1中英分词差异
假设有一段话“南京很美丽”,那么从统计的角度来看,这句话被划分为“南京/很/美丽”的概率就要比被划分为“南京/很美/丽”的概率要大。从数学角度来分析这一划分的理由,对任意句子S,它可能有m种分法:
(2-1)
其中下标代表了第i种分法的词的个数,假设其中第k种分词方法是最优分词法,那么这种概率应该具有最大的统计分布概率,即:
(2-2)
这个概率是个词语的联合分布概率,为了简化计算,一般采用马尔科夫假设,即每一个词出现的概率只与它前一个词有关:
(2-3)
于是联合分布公式就变为:
(2-4)
在这种情况下任意两个词的二元分布概率可以表达为:
(2-5)
(2-6)
公式(2-5)(2-6)中的表示词语一起出现的次数,,各自表示词语在语料库中出现的次数。
虽然以上的公式都是只依赖于前一个词的两元模型,但是三元、四元乃至N元模型的计算方法都是共通的,但是元数越多计算的复杂度也就越高,空间复杂度为,其中V为语料库的大小,N为元数。
总结来说,本文对于一个句子,利用语料库得到的统计概率,找到这个句子的最大概率分词方法就是最优分词。
Viterbi算法
一个长句子的分词可能会有非常多的情况,如果采用暴力硬解找到所有可能的概率的话会消耗非常多的计算资源,而Viterbi算法作为一个求最优路径的算法,刚好解决了这一问题。本质上Viterbi算法采用的是动态规划的方法来求最优路径,它要求规划的每一部分都是最优的。例子如下:
图2-2 Viterbi算法动态规划分词示例
图2-2是对句子“东大很美丽”运用Viterbi算法进行分词的一个可能结果,这个示例建立在二元分词模型的基础上,途中箭头上的数字代表了语料库训练出的模型中分词位置的条件概率,即BEMS(开始位置、结束位置、中间位置、单独成词)条件概率。比如图2-2中可以看出。接下来简单推导下Viterbi算法的计算过程。对句子开头来说:
(2-7)
(2-8)
对“大”这个节点来说,它只有一个前导节点“东”,所以很显然:
(2-9)
剩余内容已隐藏,请支付后下载全文,论文总字数:29272字
该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;