论文部分内容阅读
摘 要 在文本挖掘课程教学中,不仅要求学生掌握文本分类相关理论知识,而且要求学生掌握在真实的文本语料上通过动手实验验证相关算法,进而加深对理论知识的理解。介绍基于Rapid Miner的文本分类实验设计方法。在基于维吾尔文文本语料的分类实验中得到比较满意的实验结果,可以在文本挖掘实验教学中推广使用。
关键词 Rapid Miner;文本挖掘;文本分类;维吾尔文;实验设计
中图分类号:G642.423 文献标识码:B
文章编号:1671-489X(2017)12-0024-04
1 引言
互联网已经变成一个庞大的知识库并正在迅速扩大,大部分的信息作为文本数据被放到网上。如何解析这一日益增加的数据量进而取得有价值的信息,已经变得至关重要。文本挖掘是指从大量文本数据中抽取事先未知的、可理解的、最终可用的知识的过程。文本分类是文本挖掘中最基本而重要的组成部分,是更好地组织和有效地利用这些信息的一项重要技术。
文本挖掘是一门实践性很强的课程。在文本挖掘课程教学中,不仅要求学生掌握文本分类相关理论知识,而且要求学生掌握在真实的文本语料上通过动手实验验证相关算法,进而加深对理论知识的理解,为以后从事文本挖掘领域的理论研究或应用技术研发打好基础。
Rapid Miner是一个可视化的开源文本挖掘工具软件,可以很直观地进行文本挖掘操作[1]。其可视化特性使初学者更容易入门,其开源特性使用户可以免费下载使用。在Rapid Miner中将相应算子(operator)进行连接形成流程(process)来实现文本挖掘功能。在Rapid Miner中输入原始数据,经过流程后输出模型或预测评价结果。算子实际上就是执行某种具体功能的函数,不同算子具有不同的输入和输出。Rapid Miner一般包括流程控制类、数据输入和输出类、数据转换类、建模类、评估类等几类算子。
2 文本分类一般步骤
基于机器学习的文本分类过程一般由文本语料的预处理、特征词典构建、分类模型训练以及模型性能评价等部分组成。
文本预处理 在基于向量空间模型的文本分类系统中,首先要将文本表示为向量空间中的一个向量。在把文本表示为向量之前,通常还要先做好一些必要的前期文本预处理工作,以减少数据噪声,改善文本表示的质量。
在维吾尔语中,大多数超长词实际上在词干后面连接多个词缀而产生的。如单词“”(由
于搞得很复杂)是由27个字符组成的超长词,实际上它的
词干是“”(复杂),其余的都是词缀:
词干长度只有8个字符,而其余的19个字符为词缀。因此,按词长来过滤掉在原始特征集中的一部分词,一方面有助于降低特征空间维数、文本表示的稀疏性,另一方面在一定程度上能够提高词干提取的效率。
在预处理阶段,除了过滤超长词外,还要对低频词进行过滤。通过实验分析发现,绝大多数拼写错误的词只会出现一次,即词频为1,拼写错误的词是增加特征空间维数和加重文本表示向量稀疏性的主要原因之一。除此之外,还有一些稀有词在文本集中出现的次数极少,这些低频词并不适合作为表征文本内容的特征,也要从文本中删除。
通过多次反复实验,最后确定按如下步骤对维吾尔文文本数据集进行预处理,以减少数据噪声、改善文本表示的质量。
1)编码转换:将所有文本都转换成UTF-8编码格式,以统一不同编码形式的维吾尔文文本。
2)分词:维吾尔语是一种黏性语言,在这一类语言中词(word)是最小独立的语言单位,词与词之间用空格作为自然分割符,因此,在维吾尔文文本中,根据自然分割符就可以解决分词的问题。
3)特殊字符过滤:对文本中出现的所有非维吾尔文字符、标点符号、数学符号以及数字进行过滤。
4)停用词过滤:按照预先建立好的停用词表,对文本中出现的所有停用词进行过滤。
5)按词长进行过滤:对词长小于3和大于24的词进行过滤。
6)按词频进行过滤:对词频小于3的低频词和大于1000高频词进行过滤。
特征选择及权重计算 并不是所有在文本中出现过的单词都对分类有贡献,要通过特征选择算法选择那些类别区分能力强的特征构造特征词典。為了更好地衡量特征对分类贡献的大小,还需要计算每个特征的权重。常用的特征选择方法有CHI统计量、互信息(MI)、信息增益(IG)等[2]。常用的特征权重计算方法有TF-IDF。在本实验中采用CHI统计量和TF-IDF。
分类模型构造 已有许多机器学习方法在中文和英文文本分类研究中应用[3]。其中选择朴素贝叶斯(Na?ve Bayes)
方法和k-最近邻(kNN,k-Nearest Neighbor)方法,用来训练和分类维吾尔文文本。这两种分类器都具有模型简单、稳定性好等特点。
模型评价 基于标注过的分类语料训练好分类模型以后,要用该模型对未标注样本进行分类并对模型分类性能进行评价。常用的评价指标[4]包括准确率(precision)、召回率(recall)和F1值等:
P(准确率)=分类正确的文本数/实际分类的文本数
R(召回率)=分类正确的文本数/应有的文本数
F1=2PR/(P R)
3 实验设计
数据集 在中文和英文文本分类研究中,国内外已经有比较标准和开放的文本分类语料库。而就维吾尔文文本分类而言,目前还没有开放的分类文本集可以使用。从人民网(http://uyghur.people.com.cn/)和天山网(http://www.xjtsnews.com/)维吾尔文版上收集1800篇文本,通过人工将其分为政治、经济、体育、旅游、教育、文化共六类,每类300篇。 实验步骤
1)分类模型构造。
第一步:将Process Document from Files算子添加到主窗口。在主窗口右侧的参数(Parameters)窗口指定训练文本所在的目录并设置其他参数,如字符编码选UTF-8,权重计算方法选TF-IDF,设定按词频过滤等,如图1所示。
Process Document from Files是一个嵌套算子,通过在嵌套层添加文本预处理相关算子,如Tokenize(分词)、Filter Tokens by Content(按内容过滤)、Filter Stop Words(停用词过滤)、Filter Tokens by Length(按词长过滤)等并设置各算子相关参数,可以完成文本语料的预处理及向量化任务,如图2所示。
第二步:添加Weight by Chi Squared Statistic算子来计算特征项与类别之间的相关性并按照CHI值降序排序。
第三步:添加Select by Weights算子来选择与类别相关度最高的k个单词作为文本特征。
第四步:最后添加k-NN(Na?ve Bayes或SVM)算子到主流程中以构造分类模型。
第五步:將各算子的相应端口进行连接并点击运行(Run)按钮,执行流程并得到结果,将输出结果中的特征词典及分类模型进行保存,如图3、图4所示。
2)模型测试。
第一步:通过用两个Retrieve算子导入前面训练好的k-NN分类模型和预处理后的测试集。
第二步:添加Model Applier算子,用k-NN模型对测试集里的文本进行分类,预测每个文本所属的类别。
第三步:使用Performance算子对分类预测结果进行评价。
第四步:将各算子的相应端口进行连接并点击运行(Run)按钮,执行流程并得到实验结果。图5所示是测试流程,图6是测试实验结果。
4 结语
本文介绍采用界面友好的开源数据挖掘工具Rapid Miner进行文本分类的实验步骤。Rapid Miner具有界面友好、使用简便、实验流程设计直观、结构清晰等特点,在基于维吾尔文文本语料的分类实验中得到比较满意的实验结果,可以在文本挖掘课程教学中推广使用。
参考文献
[1]Verma T, Renu R, Gaur D. Tokenization and Filtering Process
in Rapid Miner[J].International Journal of Applied Information Systems(IJAIS),2014,7(2):16-18.
[2]阿力木江·艾沙,吐尔根·依布拉音,库尔班·吾布力,等.基于类别分布差异和特征熵的维吾尔语文本特征选择[J].计算机应用研究,2013,30(10):2958-2961.
[3]苏金树,张博锋,徐昕.基于机器学习的文本分类技术研究进展[J].软件学报,2006,17(9):1848-1859.
[4]阿力木江·艾沙,吐尔根·依布拉音,艾山·吾买尔,等.基于机器学习的维吾尔文文本分类研究[J].计算机工程与应用,2012,48(5):110-112.
关键词 Rapid Miner;文本挖掘;文本分类;维吾尔文;实验设计
中图分类号:G642.423 文献标识码:B
文章编号:1671-489X(2017)12-0024-04
1 引言
互联网已经变成一个庞大的知识库并正在迅速扩大,大部分的信息作为文本数据被放到网上。如何解析这一日益增加的数据量进而取得有价值的信息,已经变得至关重要。文本挖掘是指从大量文本数据中抽取事先未知的、可理解的、最终可用的知识的过程。文本分类是文本挖掘中最基本而重要的组成部分,是更好地组织和有效地利用这些信息的一项重要技术。
文本挖掘是一门实践性很强的课程。在文本挖掘课程教学中,不仅要求学生掌握文本分类相关理论知识,而且要求学生掌握在真实的文本语料上通过动手实验验证相关算法,进而加深对理论知识的理解,为以后从事文本挖掘领域的理论研究或应用技术研发打好基础。
Rapid Miner是一个可视化的开源文本挖掘工具软件,可以很直观地进行文本挖掘操作[1]。其可视化特性使初学者更容易入门,其开源特性使用户可以免费下载使用。在Rapid Miner中将相应算子(operator)进行连接形成流程(process)来实现文本挖掘功能。在Rapid Miner中输入原始数据,经过流程后输出模型或预测评价结果。算子实际上就是执行某种具体功能的函数,不同算子具有不同的输入和输出。Rapid Miner一般包括流程控制类、数据输入和输出类、数据转换类、建模类、评估类等几类算子。
2 文本分类一般步骤
基于机器学习的文本分类过程一般由文本语料的预处理、特征词典构建、分类模型训练以及模型性能评价等部分组成。
文本预处理 在基于向量空间模型的文本分类系统中,首先要将文本表示为向量空间中的一个向量。在把文本表示为向量之前,通常还要先做好一些必要的前期文本预处理工作,以减少数据噪声,改善文本表示的质量。
在维吾尔语中,大多数超长词实际上在词干后面连接多个词缀而产生的。如单词“”(由
于搞得很复杂)是由27个字符组成的超长词,实际上它的
词干是“”(复杂),其余的都是词缀:
词干长度只有8个字符,而其余的19个字符为词缀。因此,按词长来过滤掉在原始特征集中的一部分词,一方面有助于降低特征空间维数、文本表示的稀疏性,另一方面在一定程度上能够提高词干提取的效率。
在预处理阶段,除了过滤超长词外,还要对低频词进行过滤。通过实验分析发现,绝大多数拼写错误的词只会出现一次,即词频为1,拼写错误的词是增加特征空间维数和加重文本表示向量稀疏性的主要原因之一。除此之外,还有一些稀有词在文本集中出现的次数极少,这些低频词并不适合作为表征文本内容的特征,也要从文本中删除。
通过多次反复实验,最后确定按如下步骤对维吾尔文文本数据集进行预处理,以减少数据噪声、改善文本表示的质量。
1)编码转换:将所有文本都转换成UTF-8编码格式,以统一不同编码形式的维吾尔文文本。
2)分词:维吾尔语是一种黏性语言,在这一类语言中词(word)是最小独立的语言单位,词与词之间用空格作为自然分割符,因此,在维吾尔文文本中,根据自然分割符就可以解决分词的问题。
3)特殊字符过滤:对文本中出现的所有非维吾尔文字符、标点符号、数学符号以及数字进行过滤。
4)停用词过滤:按照预先建立好的停用词表,对文本中出现的所有停用词进行过滤。
5)按词长进行过滤:对词长小于3和大于24的词进行过滤。
6)按词频进行过滤:对词频小于3的低频词和大于1000高频词进行过滤。
特征选择及权重计算 并不是所有在文本中出现过的单词都对分类有贡献,要通过特征选择算法选择那些类别区分能力强的特征构造特征词典。為了更好地衡量特征对分类贡献的大小,还需要计算每个特征的权重。常用的特征选择方法有CHI统计量、互信息(MI)、信息增益(IG)等[2]。常用的特征权重计算方法有TF-IDF。在本实验中采用CHI统计量和TF-IDF。
分类模型构造 已有许多机器学习方法在中文和英文文本分类研究中应用[3]。其中选择朴素贝叶斯(Na?ve Bayes)
方法和k-最近邻(kNN,k-Nearest Neighbor)方法,用来训练和分类维吾尔文文本。这两种分类器都具有模型简单、稳定性好等特点。
模型评价 基于标注过的分类语料训练好分类模型以后,要用该模型对未标注样本进行分类并对模型分类性能进行评价。常用的评价指标[4]包括准确率(precision)、召回率(recall)和F1值等:
P(准确率)=分类正确的文本数/实际分类的文本数
R(召回率)=分类正确的文本数/应有的文本数
F1=2PR/(P R)
3 实验设计
数据集 在中文和英文文本分类研究中,国内外已经有比较标准和开放的文本分类语料库。而就维吾尔文文本分类而言,目前还没有开放的分类文本集可以使用。从人民网(http://uyghur.people.com.cn/)和天山网(http://www.xjtsnews.com/)维吾尔文版上收集1800篇文本,通过人工将其分为政治、经济、体育、旅游、教育、文化共六类,每类300篇。 实验步骤
1)分类模型构造。
第一步:将Process Document from Files算子添加到主窗口。在主窗口右侧的参数(Parameters)窗口指定训练文本所在的目录并设置其他参数,如字符编码选UTF-8,权重计算方法选TF-IDF,设定按词频过滤等,如图1所示。
Process Document from Files是一个嵌套算子,通过在嵌套层添加文本预处理相关算子,如Tokenize(分词)、Filter Tokens by Content(按内容过滤)、Filter Stop Words(停用词过滤)、Filter Tokens by Length(按词长过滤)等并设置各算子相关参数,可以完成文本语料的预处理及向量化任务,如图2所示。
第二步:添加Weight by Chi Squared Statistic算子来计算特征项与类别之间的相关性并按照CHI值降序排序。
第三步:添加Select by Weights算子来选择与类别相关度最高的k个单词作为文本特征。
第四步:最后添加k-NN(Na?ve Bayes或SVM)算子到主流程中以构造分类模型。
第五步:將各算子的相应端口进行连接并点击运行(Run)按钮,执行流程并得到结果,将输出结果中的特征词典及分类模型进行保存,如图3、图4所示。
2)模型测试。
第一步:通过用两个Retrieve算子导入前面训练好的k-NN分类模型和预处理后的测试集。
第二步:添加Model Applier算子,用k-NN模型对测试集里的文本进行分类,预测每个文本所属的类别。
第三步:使用Performance算子对分类预测结果进行评价。
第四步:将各算子的相应端口进行连接并点击运行(Run)按钮,执行流程并得到实验结果。图5所示是测试流程,图6是测试实验结果。
4 结语
本文介绍采用界面友好的开源数据挖掘工具Rapid Miner进行文本分类的实验步骤。Rapid Miner具有界面友好、使用简便、实验流程设计直观、结构清晰等特点,在基于维吾尔文文本语料的分类实验中得到比较满意的实验结果,可以在文本挖掘课程教学中推广使用。
参考文献
[1]Verma T, Renu R, Gaur D. Tokenization and Filtering Process
in Rapid Miner[J].International Journal of Applied Information Systems(IJAIS),2014,7(2):16-18.
[2]阿力木江·艾沙,吐尔根·依布拉音,库尔班·吾布力,等.基于类别分布差异和特征熵的维吾尔语文本特征选择[J].计算机应用研究,2013,30(10):2958-2961.
[3]苏金树,张博锋,徐昕.基于机器学习的文本分类技术研究进展[J].软件学报,2006,17(9):1848-1859.
[4]阿力木江·艾沙,吐尔根·依布拉音,艾山·吾买尔,等.基于机器学习的维吾尔文文本分类研究[J].计算机工程与应用,2012,48(5):110-112.