柯尊柏 张建华 李昂
摘要:随着互联网技术的快速发展,以文本为主导的信息资源与日俱增,如何从中找到优质的信息资源并正确分类成为各领域的研究热点。本文采用百度命名实体识别API,结合特征词权重的计算实现名人数据分类,实验表明分类效果较好。
关键词:文本分类;特征提取;数据采集;特征词汇;名人数据
中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2019)03-0010-02
Abstract: With the rapid development of Internet technology and the increase of text-based information resources, how to find high-quality information resources and correctly classify them has become a research hotspot in various fields. This paper adopts baidu naming entity recognition API and combines with the calculation of feature word weight to realize the classification of celebrity data. The experiment shows that the classification effect is good.
Key words: Text Categorization; Feature Extraction; Data Acquisition; glossary feature; celebrity data
随着Internet的迅猛发展,互联网上出现了海量的、优质的信息资源,其中文本信息资源占主导地位。为了有效地管理和利用这些分散的海量信息资源,基于内容的信息检索和数据挖掘逐渐成为备受关注的领域[1],其中,文本分类(Text Categorization,简称 TC)扮演者重要角色。文本分类是指将文档集合中每个文档归入预先定义的类别之中[2]。
本文首先对数据采集和预处理中的技术进行介绍,然后对特征提取、文本分类的实现以及分类结果进行分析,最后对整个工程进行概述。下文所提到的名人数据均是指介绍名人信息(如地名、机构名、作品名等等)的一句或一段话。
1 数据采集
面对互联网上的海量资源,如何准确高效地获取所需资源成为焦点,网络爬虫(Web Crawler)由此诞生。它是一种能够根据给定URL按照一定的规则,自动搜集互联网数据信息的程序。
数据采集以Python作为网络爬虫的开发语言,采用的第三方库有requests、json、time、csv。通过requests库自动提交网络请求,调用百度API获取json数据。为了不对服务器造成负担,每获取一个名人简介延时2秒。随即提取json数据中的“abstract”字段,为避免获取数据中的逗号对数据存放造成干扰,以“|”为分隔符“utf-8”为编码格式将数据存入csv文件。
2 数据预处理
由于文本作为非结构化的数据类型,其特点表现为特征空间的高维性、文本特征表示向量的稀疏性及文本主题特征不突出等特点[2]。且从互联网上爬取到的数据含有大量“脏数据”,这些脏数据对特征的抽取、文本分类产生了较大影响。因此需要对文本进行预处理。
预处理分去除“脏数据”、分词两大部分。从互联网上爬取的数据中的“脏数据”以乱码为主,对于乱码需要找到正确的编码格式,重新进行编码解码。其次是由于网页生成过程中产生的本不应出现的字符,像“18px”“<div>”“???”之类的“脏数据”。需要找到其规律然后利用replace替换。此外,需要除去这些数据中存在的大量停用词(Stop Word),一般这种词几乎不携带任何信息,如中文中“的”“啊”“吗”。
由于中文词与词之间没有固定的间隔符,需要进行分词处理,将文本从连续字符流形式转化为离散词流形式[3]。引入分词主要是为了后续给词汇赋予权重、数据评分做准备。
3 特征提取
特征提取就是将文本中对表达文本所属类别有较强说服力的词汇从文本中提取出来[3]。
这里借助百度的实体识别来完成,利用百度的词法分析将人名(PER)、地名(LOC)、作品名(nw)、时间(TIME)、机构名(ORG)等特征性的词汇提取出来。观察数据 “Sabryn Genet,演员,主要作品《Smoke n Lightnin》《与鲨共游》《年轻和骚动不安的一族》”,通过百度的实体识别可提取出人名:Sabryn Genet;作品名:《Smoke n Lightnin》《与鲨共游》《年轻和骚动不安的一族》。又如“Zhanna Friske(让娜·福利斯克),1974年7月8日出生于俄罗斯莫斯科,演员、歌星。”通过百度的实体识别可提取出的人名:Zhanna Friske、让娜·福利斯克;时间:1974年7月8日;地点:俄罗斯、莫斯科。在文本分类过程中给予这些特征词汇较高的权重,就可以起到较好的区分效果。
4 文本分类
文本分类是根据文本的内容将大 量的文本归到一个或者多个类别的过程[4]。这里训练的文本均是没有标签的,无法通过建立有监督机器学习模型来进行分类。故而依据文本中的特征词汇所占比例,以及每个特征词汇对所属文本说服力的大小来对文本进行分类。
通过先前对数据“Sabryn Genet,演员,主要作品《Smoke n Lightnin》《与鲨共游》《年轻和骚动不安的一族》”的分析,得知这条数据有基础词汇7个,其中特征词汇4个。基于对语料库中数据的观察,做出如下实验:依据特征词汇的权重总和与基础词汇的权重总和的比值来确定这一条数据与名人数据的关联程度。给上述的7个基础词汇分别赋予权重1,4个特征词汇也分别赋予权重1。那么就称这条数据与名人数据的关联程度为4/7。如果一条含有m个基础词汇的数据中有n特征词匯,那么就称这条数据与名人数据的关联程度为n/m。当基础词汇全部都是特征词汇即n=m时,就假定这就是一条名人数据。
此外,基于对语料库中数据的观察,发现存在一些词频较高且具有代表性的词汇,如“演员”“出生于”“本名”“作者”“来自”等。通过词频统计对这部分词汇进行采集,将其作为特征词汇并给予权重。
经过多次反复实验得出最后的权重参数:
其中[i=1nweighti]为特征词汇的权重总和,[j=1mweightj]为基础词汇的权重总和。经过计算得出这条测试语句与名人数据的关联程度为0.2142857142。经过多次试验测试得出测试数据与名人数据的关联程度保持在0.05以上时,测试数据多为名人数据。故取0.05为数据性质(名人数据/非名人数据)的分界线。
5 实验总结
实验将文本中的人名、地名、作品名、时间、机构名等词汇与“演员”“出生于”“本名”“作者”“来自”等词频较高且具有代表性的词汇统称为特征词汇。而后,分别给予这些特征词汇与基础词汇权重,通过计算来确定测试文本数据与名人数据的关联程度。最后,依据关联程度来对文本数据进行分类。
在实验过程中,用到了百度的实体识别。数据语料库内的数据共7189条,最后分离出来的非名人数据共545条。
6 结论
本文主要讨论了文本分类技术在名人数据筛选系统中的应用,通过实验从数据采集、数据预处理、特征提取再到文本分类等步骤验证了分类技术应用于名人信息筛选的可行性。
参考文献:
[1] 苏金树,张博锋,徐昕.基于机器学习的文本分类技术研究进展[J].软件学报,2006(9):1848-1859.
[2] 饶文碧,柯慧燕.Web文本分类技术研究及其实现[J].计算机技术与发展,2006(3):116-118.
[3] 陈子昕.基于SVM的文本分类系统设计与实现[J].东莞理工学院学报,2008(3):38-43.
[4] 徐泓洋,杨国为.中文文本特征选择方法研究综述[J].工业控制计算机,2017,30(11):80-81.
【通联编辑:谢媛媛】