推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于PYTHON的文本分类系统开发研究

更新时间:2019-12-30 09:10:07 大小:157K 上传用户:songhuahua查看TA发布的资源 标签:python文本分类系统 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

介绍了Python在文本分类系统开发过程中的便捷之处,讨论了Python在整个开发过程中各个环节的特点与优点,并以线性核函数参数寻优结合数据可视化和自适应kNN分类算法为例具体展示了应用Python语言开发文本分类系统的优点。


部分文件列表

文件名 大小
基于PYTHON的文本分类系统开发研究.pdf 157K

部分页面预览

(完整内容请下载后查看)
28 3  
第 卷第 期  
Vol. 28 Noꢀ 3  
Marꢀ 2011  
计算机应用与软件  
Computer Applications and Software  
2011  
3
年 月  
Python  
基于  
的文本分类系统开发研究  
孙 强 李建华 李生红  
(
200240)  
上海交通大学电子工程系 上海  
Python  
在文本分类系统开发过程中的便捷之处 讨论了  
Python  
在整个开发过程中各个环节的特点与优点 并以  
摘 要  
介绍了  
kNN  
Python  
线性核函数参数寻优结合数据可视化和自适应  
分类算法为例具体展示了应用  
语言开发文本分类系统的优点  
Python  
关键词  
科学计算 文本分类  
ON DEVELOPING PYTHON-BASED TEXT CLASSIFICATION SYSTEM  
Sun Qiang Li Jianhua Li Shenghong  
( Department of Electronic EngineeringShanghai Jiaotong UniversityShanghai 200240China)  
Abstract  
In this paperwe describe the convenience of applying Python in the development process of text classification systemꢀ The speꢁ  
cialities and advantages of Python in the whole chain works of development are addressedꢀ A final section will be devoted to exhibit some adꢁ  
vantages of applying Python in text classification: the examples demonstrated are: Linear Kernel Parameter Selection with Data Visualization  
and Adaptive kNN Text Classification Modelꢀ  
Keywords  
Python Scientific programming Text classification  
0
引 言  
文本分12研究将一篇文章判定为预先设定类别问题  
相关研究成果广泛应用于信息分发 邮件过滤 网页主题归类  
查询结果分类 网络内容安全等领域  
1
文本分类流程示意图  
:
在文本分类研究中 理论与实践环节之间相互紧密结合 自  
TmPy  
:
开发提出了不同需求 输入  
各环节对文本分类系统  
然语言理3特征选择  
机器学习 等学科为文本分类提  
4]  
5]  
;
环节需要灵活的文本处理以及根据需要进行网页抓取 预处理  
;
供了坚实的理论基础 文本分类还属于实践性很强的研究领域  
;
环节则包括文件格式解析以及字符编码判定与转换 文本索引  
索引项语义级别的选6特征选择方式 的选取 不同机器  
7]  
;
环节涉及字符串处理 分词软件自动调用 算法实现等领域 特  
1]  
学习算法 的选用都需要大量实践操作来进行检验  
征选择 分类算法和测试评估环节是系统核心环节 重点是矢量  
因此选择适当的编程语言有助于文本分类领域的理论研  
数据处理 分类和优化算法设计等  
究 算法检验以及系统开发  
Python  
是一门应用广泛的通用编  
由此可知 文本分类系统研究与开发过程要求编程语言应  
程语言 易于学习使用且功能强大 适合各种规模的软件编写  
当具备优秀的字符串处理 灵活的数值处理和算法实现能力 且  
Python  
在文本分类领域的研究与开发实践中  
也有其显著特点  
对全面需求均有较完善处理能力 而且由于涉及多个环节 编写  
TmPy,  
与优点 本文结合中文文本分类系统课题  
讨论系统开发  
作为开发语言解决这  
Pyꢁ  
程序易读易维护也有助于文本分类系统开发  
过程中各环节需求特点 以及选择  
Python  
2
Python  
些问题的优势所在 进而得出在文本分类等科学计算领域  
在开发文本系统中的特点  
thon  
具有广泛应用前景的结论  
Python  
具有许多特点 使得其在文本分类等科学计算领域  
有广泛应用  
1
文本分类系统  
Python  
语言在设计时即十分重视可读性 在  
良好的可读性  
书写格式统一 尽量采用常用单词而非特殊符号表示关键词 丰  
文本分类过程首先对输入文本进行信息获取 格式解析 字  
符编码转换等预处理 然后进行文本索引与特征选择 将文本在  
: 2009 -09 - 18。  
收稿日期  
( 60772098) ;  
国家自然科学基金资助项目  
特征空间上的表示形式作为中间结果传递给分类算法以训练分  
( 2010CB731403) ;  
国家重点基础研究发展计划  
教育部新世纪优秀人才  
类器 训练后的分类器可以对新的未标记样本进行类别判定  
( NCET - 06 - 0393) 。  
, , : ,  
孙强 博士生 主研领域 文本分类 网络  
支持计划  
信息处理  
1
从而实现自动分类 一个典型的文本分类系统如图 所示  
14  
2011  
计算机应用与软件  
Python  
a
k
富的数据结构 算法和标准库等方面均有体现 从而使得  
选择合适的比值  
料库进行对比实验 精简版本共 个类别  
70%  
作为 步进停止标准 利用公开的搜狗语  
kN  
9
( N = 9) ,  
每个类别以  
代码易于阅读和维护 有利于涉及多个环节 多人参与 需借鉴  
30%  
为测试集  
参考他人研究成果等情况的系统开发维护  
训练样本文件名切分前  
文件为训练集 后  
6000  
内置常用数据结构与算法 不仅有利于提高程序易读性 且  
以两分分词法进行分词 信息增益方式选择  
维特征 以正  
为特征权重方式 以两个样本的余弦值为相似  
1, ,  
性度量 对比结果见表 由表 可知 无论是准确率还是召回  
TFIDF  
使得开发重心集中在文本系统本身关键算法实现方面  
则化的  
1
丰富的标准库与第三方库 许多辅助环节如字符编码 网络  
信息抓取等已有实现可以借鉴 从而可以避免重复开发  
率 自适应  
kNN  
方式均有明显提高  
良好的嵌入扩展与 胶水 能力 利用 胶水 特性可将已有  
1
kNN  
kNN  
与自适应  
精确率  
分类性能对比  
召回率  
adaptiveKNN  
;
程序 黏合 在一起自动运行 嵌入与扩展可与其它编程语言互  
文本类别  
操作 发挥混合语言编程的优势  
kNN  
ꢀ 929  
ꢀ 760  
ꢀ 695  
ꢀ 689  
ꢀ 755  
ꢀ 699  
ꢀ 685  
ꢀ 801  
ꢀ 637  
ꢀ 739  
adaptiveKNN  
kNN  
ꢀ 745  
ꢀ 755  
ꢀ 725  
ꢀ 772  
ꢀ 710  
ꢀ 751  
ꢀ 701  
ꢀ 748  
ꢀ 711  
ꢀ 735  
分类算法  
C000008  
C000016  
C000014  
C000024  
C000013  
C000022  
C000020  
C000010  
C000023  
Average  
相关研究的丰富积累 如同在其它众多科学计算领域一样  
ꢀ 786  
ꢀ 863  
Python  
在自然语言理解 文本处理和机器学习等领域也有广泛  
ꢀ 864  
ꢀ 858  
的研究 有许多优秀的相关模块与研究专著 丰富的研究成果  
ꢀ 816  
ꢀ 845  
为进一步研究提供了坚实基础  
ꢀ 957  
ꢀ 862  
Python  
综上所述  
的各种特点使得文本分类系统各个环节  
ꢀ 922  
ꢀ 848  
ꢀ 918  
ꢀ 853  
的需求得以顺利实现  
ꢀ 728  
ꢀ 855  
ꢀ 895  
ꢀ 851  
3
Python  
基于  
的文本分类系统开发  
ꢀ 785  
ꢀ 849  
TmPy  
本节结合文本分类系统  
Python  
开发过程中的若干环节来具  
ꢀ 852  
ꢀ 854  
体展示  
语言开发的快捷与灵活  
Python  
实现 各个环节具体开发过程从图  
以上算法全部由  
31  
基于线性核函数的参数选择  
Python  
形直观显示 粘合现有软件 算法实现等多个方面展示了  
C
线性核函数进行文本分类需要考虑惩罚因子 的寻优  
C  
的开发特点  
选择过大时容易受噪声影响 过小时又容易产生学习能力不足  
Python LibSVM  
问题 利用  
的黏合功能可以方便地调用  
软件相  
关功能 设计算法遍历 参数 将输出分类准确率以图形方式  
LibSVM heart  
log( C) - 15  
4
结 论  
C
直观显示 以  
自带  
数据为例 遍历  
Python  
语言在文本分类系统开发时的特点 并  
本文详述了  
10  
2
( C )  
到 的处理结果如图 所示 可见左侧较高准确率处 较小  
kNN  
以线性核参数寻优结合可视化与自适应  
分类算法等来具  
( C  
)
表现稳定 比右侧 较大 更为可靠  
体描述其特点 表明  
Python  
适合作为文本分类等科学计算领域  
的开发语言  
当然 如同常用编程语言一样  
Python  
Pyꢁ  
也有其不足之处  
thon  
CFortran  
在运行性能方面比  
等编译类型语言仍有较明显  
差距 对于运算密集型应用应当考虑通过将耗费计算量特别大  
C
的部分重写为 模块供  
Python  
调用 或者通过胶水特性直接调  
CFortran  
Python  
最大优势在  
等语言的已有程序来进行弥补  
于活跃和友好的社区 开发遇到问题可以得到及时真诚的反馈  
进而完善文本分类系统 提高其实用性 并将其用于网络信息处  
理 邮件过滤等应用领域  
参 考 文 献  
2
线性核函数参数时寻优示意图  
3. 2  
kNN  
自适应  
分类法  
1 Fabrizio Sꢀ Machine learning in automated text categorizationꢀ ACM  
Computing Surveys ( CSUR) 200234: 1 47ꢀ  
2Yang Yꢀ An Evaluation of Statistical Approaches to Text Categorizationꢀ  
Information Retrieval1999( 1) : 69 90ꢀ  
3Manning C DSchütze Hꢀ Foundations of statistical natural language  
processingꢀ MIT Press1999ꢀ  
kNN  
k
k  
应用  
分类方法时需要选择适当 值 过小易受噪声  
数据影响 过大时又容易受样本类别先验分布影响 通常采用  
k。  
交叉验证方式选择合适的  
k,  
N
考虑采用动态自适应策略来选择 对于 类样本 起始选  
k
择 为  
N + 1k N,  
k
N
然后 步进增加 对比随着 增大时新增加的  
4Forman Gꢀ An extensive empirical study of feature selection metrics for  
text classificationꢀ Journal of Machine Learning Research2003 ( 3) :  
1289 1305ꢀ  
个近邻与目标样本的平均相似程度以及原来选中近邻的平均相  
:
似程度之比  
( k+1) ×N  
1
5Bishop C Mꢀ Pattern recognition and machine learningSpringer2006ꢀ  
6Joachims Tꢀ Learning to Classify Text Using Support Vector Machines:  
MethodsTheory and Algorithmsꢀ Kluwer Academic Publishers2002ꢀ  
7Yang YPedersen J Oꢀ A comparative study on feature selection in text  
categorizationꢀ 1997ꢀ  
Sim( tx )  
i
N
i = k×N  
a
=
( 1)  
kN  
k×N-1  
1
Sim( tx )  
i
k × N  
i = 0  
随着在训练集上分类准确率的变化 同样以交叉验证方式  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载