基于Java的关键词抽取功能的设计与实现毕业论文
2021-03-15 21:10:02
摘 要
数字时代中,文本挖掘技术已经成为了数据挖掘领域中的一个研究热点。对于一篇文本特别是长文本来说,关键词是是其最简洁、最直观的描述,它可以直接反映出文本的主题。同时,关键词提取技术也是文本挖掘工程中其他任务的基础。因此,能够高效、准确地实现关键词的自动提取对于文本挖掘工作至关重要。
本论文基于Java环境,从理论与应用两个角度对中文分词、关键词提取算法以及文本分类进行研究。首先对四款主流Java中文分词器的分词性能进行对比,参照人工分词标准,选出了合适的ANSJ开源中文分词器;接着对基于TF·IDF的传统关键词提取算法进行分析,思考改进方案,选择了一种结合词性与词语位置的TF·IDF提取算法;之后根据关键词提取结果,选出文中高权重的语句,依据先后顺序进行排序从而形成自动摘要;此外,本文还利用了开放图表绘制类库jfreechart对关键词提取结果进行了可视化展示;最后,利用LIBSVM对文本分类语料库进行训练,选取合适核函数实现文本领域分类功能。
结果表明,该设计能够高质量的完成对关键词的提取工作,对文本领域分类的准确度基本令人满意。
关键词:中文分词;关键词提取;文本挖掘;支持向量机
Abstract
In the digital age, text mining has become a research hotspot of data mining. For a text, especially a long text, the keyword is its most concise and most intuitive description, it can directly reflect the theme of the text. At the same time, the keyword extraction technique is also the basis of other tasks in a text mining project. Therefore, the efficient and accurate implementation of automatic extraction of keywords is essential for text mining.
This paper focuses on Chinese word segmentation, keyword extraction and text classification algorithm from the perspective of theory and application, which is based on the Java environment. First, the paper discusses the segmentation performance of four mainstream Java Chinese word segmentators, and selects the ANSJ open source Chinese word segmentator with reference to the artificial word segmentation standard. Next, the traditional keyword extraction algorithm based on TF·IDF is analyzed and the improvement scheme is considered. A TF·IDF extraction algorithm combining the part of speech and word position is selected. Then, according to the result of keyword extraction, the high weight of the sentence is selected, and the automatic summary is sorted according to the order in the text. In addition, this paper also uses the open source chart class library named jfreechart to make the keyword extraction results display visually. Finally, we use LIBSVM to train the text categorization corpus, select the appropriate kernel function to realize the text domain classification function.
The results show that this design can complete the extraction of keywords in high quality, and the accuracy of classification of text field is generally satisfactory.
Key words: Chinese word segmentation; keyword extraction; text mining; SVM
目 录
第1章 绪论 1
1.1 研究背景及意义 1
1.2 国内外研究现状 1
1.3 论文的研究内容 3
1.4 文章的组织结构 3
第2章 文本挖掘技术与理论 4
2.1 中文分词 4
2.1.1 中文分词难点 4
2.1.2 歧义消除 4
2.1.3 未登录词识别 5
2.2 关键词提取 5
2.2.1 关键词提取方法 5
2.2.2 自动摘要 6
2.3 文本分类 7
2.4 本章小结 8
第3章 系统结构 9
3.1 系统结构 9
3.2 系统流程 9
第4章 系统设计与实现 11
4.1中文分词 11
4.1.1 分词器性能对比 11
4.1.2 ANSJ分词 12
4.1.3 代码实现 14
4.1.4 分词结果测试 15
4.2 关键词提取与自动摘要 15
4.2.1 改进的TF·IDF算法 15
4.2.2 代码实现 16
4.2.3 关键词提取与自动摘要效果测试 19
4.3 关键词图形可视化显示 20
4.3.1 代码实现 20
4.3.2 可视化效果测试 21
4.4 文本分类 21
4.4.1 文档集训练 21
4.4.2 文本分类效果测试 23
4.5 界面设计 25
4.6 本章小结 27
第5章 总结与展望 28
5.1 设计总结 28
5.2 未来展望 28
参考文献 29
附录 30
致谢 33
第1章 绪论
1.1 研究背景及意义
随着科学与技术的不断发展,我们正处于一个信息爆炸的社会,数字化信息在源源不断的增长。据中国互联网络信息中心,截至2016年末,中国网页总数达到2360亿个,年增长率高达11.2%。其中,超过90%的可分析信息是以文本的形式存在的。目前得到广泛应用的万维网,实际上只是一个巨大的储存、共享信息的介质,其中的文字、图像、声音等信息并不能被计算机自身完全理解,只是单纯的显示在我们面前。对于一篇文本来说,相比于计算机,尽管人类的阅读速度慢,但是能够准确而深刻地理解这篇文本的主旨内容、文本类型、语言风格等内容。因此,让计算机能够习得自然语言处理知识,利用其高速的处理能力来对文本进行处理。
自然语言处理技术的发展,使得文本挖掘技术走上了一个新台阶。文本挖掘是一门交叉学科,对文本进行信息的处理依赖于对自然语言进行处理。对文本的关键字进行提取有助于对文本信息进行更深层次的研究。
关键词提取主要分为两个部分,第一个部分是分词,第二个部分是词语权重排序从而提取权重高的词语作为关键词。中文分词指的是将汉字串依照语义分割成一些独立的单词。与英文等拉丁系语言相比,中文的词汇在句子中并没有空格来明作为明显的划分界限,词与词的间距十分模糊。而且,中文词语的字数不固定,这就导致中文分词相比于英文分词要复杂许多。此外,对分词结果进行排序也至关重要。如果简单以词频进行排序,可能会出现大量无意义的词语排名过于靠前的情况,严重影响到关键词质量。因此,提高对中文文本关键词提取的速度与精度,将对文本挖掘的发展起到一定的推动作用。
1.2 国内外研究现状
早在上世纪50年代末,H.P.Luhn就提出通过对词频进行统计来提取文本关键信息的思想,随后K.S.Johns、Maron等学者也陆续在文本挖掘领域中取得了一系列进展。以IBM公司的智能文本挖掘器为代表的一系列文本挖掘工具,将文本挖掘技术应用到了实际生活中。与此相比,国内的文本挖掘技术则相对发展得略晚。然而,目前已有大量有关文本挖掘技术的高质量研究成果,基于中文的文本挖掘技术的应用日益广泛。