一种基于改进的knn文本分类方法

文档序号:6634417阅读:250来源:国知局
一种基于改进的knn文本分类方法
【专利摘要】本发明提供了一种基于改进的KNN文本分类方法,首先对训练文本进行预处理并计算每个训练样本的特征向量,构建训练集的特征向量空间模型;然后定义密度和距离,将整个样本空间按类型定义为多个球形区和离群点,并存储为训练集库;在进行测试时,首先判断待测文本是否落入某个球形区,根据对应标号判断其类别,否则,离群点和每个球形的中心点作为训练集库,调用KNN算法,判断待测试文本的类别。本发明提供的方法在兼顾分类速度、分类准确度以及对数据倾斜敏感度的同时,能够较好的应用于非球形分布的分类问题,尤其适合具有高维特征向量,分布不规则特征的文本分类问题。
【专利说明】一种基于改进的KNN文本分类方法

【技术领域】
[0001] 本发明属于核安全级软件验证与确认【技术领域】,特别涉及一种基于改进的KNN文 本分类方法。

【背景技术】
[0002] 近年来,随着软件开发过程逐渐规范化,对技术文件的质量要求越来越高,尤其是 在用于核安全级的软件开发过程中,产生大量的技术文件,如需求文件,设计文件等,根据 核电相关标准的要求,对每个需求项和设计项,必须满足某些评估规则的要求;并随着软件 的迭代开发,技术文件也不断地更新升版,针对每一版的文件中的每个条目项(如需求项 或设计项),也必须满足某些规则的要求,因此,快速准确的确定条目项与规则之间的关联 关系是质量人员亟待解决的问题。另外,在软件产品开发的整个生命周期中,为了及早发现 潜在的失效模式,在每个阶段都要迭代执行失效模式分析(FMEA),建立失效模式库,确定条 目项与评估规则之间的匹配关系,在对软件技术文件进行审查和分析时,能够为质量人员 自动的识别每个条目项适用的评估规则,便于审查,避免漏审或错审;在进行FMEA分析时, 能够识别相关的失效模式,使分析人员特别关注到相关的失效模式,并能够自动查询与条 目项与失效模式之间的关联关系是急需解决的问题。
[0003] 文本分类是指按照预先定义的主题类别,根据信息内容将不同的信息划分到与其 相关的类别中,文本分类技术作为组织和处理大量电子资源信息的关键技术,将有助于信 息检索和分析,方便用户快速、准确地定位所需要的信息。20世纪90年代以后,随着互联网 技术的飞速发展,基于统计理论和机器学习方法成为主流的文本分类技术,主要包括向量 空间法、决策树方法、神经网络方法、遗传算法、贝叶斯分类、K近邻(KNN)、支持向量机等。 其中K近邻是最早应用于自动文本分类的机器学习算法之一,其分类思想是:取待分类文 本d的K个近邻,看这K个近邻中多数属于哪一类,就将d归于该类。该方法由于其简单, 易于理解,易于实现,无需估计参数,无需训练,且适合于多分类问题的优势而被广泛的应 用。但是,该方法对测试样本分类时计算量大,内存开销大,对数据倾斜问题敏感,尤其当样 本表现为高维特征,分布密度不均匀时,将会降低分类器的实现性能和分类性能。另外还有 一种结合向量空间法,针对KNN算法耗时缺点,将特征向量空间划分为m+1个区域,每个类 的区域以中心向量和球半径表示,所有没有被划分的样本点单独划分为一个区域,在测试 时,首先判断是否落入某个球中,调用该区域标号判断类别,否则,调用KNN算法判断类别。 该方案在对训练集进行空间划分的过程中,每个类别采取以向量中心和球半径确定的球面 作为该类的区域临界面,针对非球形的类族,可能出现大规模的样本点被排除,仅留下一小 部分样本点被划分在球形区内,这意味着仅有一小部分被球形区代替,会降低分类速度;同 时,对于非球形分布的类族来说,该方法计算出来的球形区并非是该类族的聚集区或代表 区域,因此,该方法对于非球形分布的类族来说,分类的准确度会大大降低;此外,当待测点 处于球形区的边缘,在调用KNN时,排除球形区内的点对分类的决策影响,容易造成错误的 分类结果。


【发明内容】

[0004] 针对现有的文本分类算法中精度和速度不能同时兼顾的问题,本发明提出一种基 于KNN算法的改进文本分类算法,利用文本分类技术解决软件可靠性评价分析中的规则匹 配和失效模式匹配问题。
[0005] 本发明解决其技术问题所采用的技术方案是,一种基于改进的KNN文本分类方 法:
[0006] S1,根据每个训练样本的特征向量,构建特征向量空间模型,并存储为训练集库;
[0007] 采用特征向量空间模型VSM,对所述训练样本进行预处理,并提取特征词;根据训 练样本的特征词,计算每个训练样本的特征向量,构建训练集的特征向量空间模型;
[0008] 所述特征向量空间模型按照文本类型划分为至少一个球形区和至少一个离群 占.
[0009] 所述训练集库包括:每个所述球形区的中心向量、半径、类型和每个离群点的特征 向量、类型;
[0010] S2,当需要对新文本进行分类时,
[0011] 首先,根据所述训练样本中提取的特征词在所述新文本中出现的情况,采用向量 空间模型,计算所述新文本的特征向量;
[0012] 然后,判断所述新文本的特征向量是否落入所述训练集库的某个球形区,如果 "是"取得所述球形区对应的类型,否则,根据所述训练集库中存储的所有离群点和所有球 形区的中心点,采用KNN算法判断所述新文本的类型。
[0013] 将所述特征向量空间模型按类型划分为多个球形区和离群点的方法:
[0014] 1)依据每个文本类型中所有样本点的局部密度P i和样本点到高密度点的距离 S i,将所述文本类型划分为核心区和样本点;
[0015] 2)取某文本类型作为当前文本类型,并将所述当前文本类型核心区的样本点设为 待划分样本点;
[0016] 3)按照所述待划分样本点的局部密度值进行从大到小排序,取当前局部密度值最 大的点为中心,构造一个球形区;所述球形区域内所有的点属于当前文本类型,所述球形区 的半径为与所述球形区中心点之间的相似度最小的值;
[0017] 4)将未被划分到所述步骤3)中球形区的样本点作为待划分样本点,重复步骤3), 直到属于所述类型核心区的样本点都被划分到某个球形区内;
[0018] 5)重复步骤2)直到将所述特征向量空间模型所有类型的核心区的样本点都被划 分到某个球形区内;
[0019] 优选的,在所述步骤3)的所述球形区中,如果除了所述球形区中心点外,没有其 它点属于所述球形区则所述球形区中心点为离群点;
[0020] 优选的,将所述文本类型还包括截止距离d。;根据属于所述文本类型的样本点的 邻居数为所有所述特征向量空间模型中样本点的1% -2%确定所述类型的截止距离d。;
[0021] 优选的,根据属于所述类型的离群点数量占所述类型样本点总数的一定比例确定 所述样本点的局部密度P i和所述样本点到高密度点的距离S,的阈值;
[0022] 优选的,所述属于所述类型的离群点数量占所述类型样本点总数的5% -10%。
[0023] 所述样本点的局部密度P i的计算方法为:从所述样本点中任取一点i,计算与点 i的相似度大于所述样本点的文本类型的截止距离d。的样本点的个数,为所述点i的局部 密度Pi;
[0024] 优选的,所述点i的局部密度P i的计算式为:
[0025] Pi= I: kx (dc-dik) (I)

【权利要求】
1. 一种基于改进的KNN文本分类方法,其特征在于: S1,根据每个训练样本的特征向量,构建特征向量空间模型,并存储为训练集库; 采用特征向量空间模型VSM,对所述训练样本进行预处理,并提取特征词;根据训练样 本的特征词,计算每个训练样本的特征向量,构建训练集的特征向量空间模型; 所述特征向量空间模型按照文本类型划分为至少一个球形区和至少一个离群点; 所述训练集库包括:每个所述球形区的中心向量、半径、类型和每个离群点的特征向 量、类型; S2,当需要对新文本进行分类时, 首先,根据所述训练样本中提取的特征词在所述新文本中出现的情况,采用向量空间 模型,计算所述新文本的特征向量; 然后,判断所述新文本的特征向量是否落入所述训练集库的某个球形区,如果"是"取 得所述球形区对应的类型,否则,根据所述训练集库中存储的所有离群点和所有球形区的 中心点,采用KNN算法判断所述新文本的类型。
2. 根据权利要求1所述的基于改进的KNN文本分类方法,其特征在于,将所述特征向量 空间模型按类型划分为多个球形区和离群点的方法: 1) 依据每个文本类型中所有样本点的局部密度Pi和样本点到高密度点的距离Si,将 所述文本类型划分为核心区和样本点; 2) 取某文本类型作为当前文本类型,并将所述当前文本类型核心区的样本点设为待划 分样本点; 3) 按照所述待划分样本点的局部密度值进行从大到小排序,取当前局部密度值最大的 点为中心,构造一个球形区;所述球形区域内所有的点属于当前文本类型,所述球形区的半 径为与所述球形区中心点之间的相似度最小的值; 4) 将未被划分到所述步骤3)中球形区的样本点作为待划分样本点,重复步骤3),直到 属于所述类型核心区的样本点都被划分到某个球形区内; 5) 重复步骤2)直到将所述特征向量空间模型所有类型的核心区的样本点都被划分到 某个球形区内; 优选的,在所述步骤3)的所述球形区中,如果除了所述球形区中心点外,没有其它点 属于所述球形区则所述球形区中心点为离群点; 优选的,将所述文本类型还包括截止距离d。;根据属于所述文本类型的样本点的邻居 数为所有所述特征向量空间模型中样本点的1% -2%确定所述类型的截止距离d。; 优选的,根据属于所述类型的离群点数量占所述类型样本点总数的一定比例确定所述 样本点的局部密度Pi和所述样本点到高密度点的距离S,的阈值; 优选的,所述属于所述类型的离群点数量占所述类型样本点总数的5% -10%。
3. 根据权利要求2所述的基于改进的KNN文本分类方法,其特征在于,所述样本点的局 部密度Pi的计算方法为:从所述样本点中任取一点i,计算与点i的相似度大于所述样本 点的文本类型的截止距离d。的样本点的个数,为所述点i的局部密度Pi; 优选的,所述点i的局部密度Pi的计算式为: Pi = I:kx (dc-dik) (1) 其中
d。为截止距离;dik为i点到其他样本点k的距离; 优选的,所述点i到高密度点j的距离S,为:
所述高密度点j为:比所述点i密度大,且距离所述点i的距离最小的点; 优选的,当所述点i为密度最大的点时,点j为距离点i最近的点,Si为:
4. 根据权利要求1所述的基于改进的KNN文本分类方法,其特征在于,所述特征向量 的建立方法为:忽略所述特征词在所述文本中的先后顺序,将所述文本用向量icKwpWs,… ,wn)表示;其中,d为所述文本;所述、w2,…,wn为所述文本的n个特征词; 优选的,所述文本中的特征词是互异的。
5. 根据权利要求1-4任一项所述的基于改进的KNN文本分类方法,其特征在于,所述特 征向量空间模型VSM方法包括:将每个所述训练样本的特征向量构成的向量空间模型VSM 标记为DWi,d2,. . .,dT),将所述文本类型标记为C(Cl,c2,. . .,cm);所述相似程度为两点之 间的距离;其中D为所有文本的集合,屯,d2,. . .,dT为属于向量空间模型D的所有文本,C为 文本类型的集合,Cl,c2,. . .,cm为所有的文本类型。
6. 根据权利要求1-5任一项所述的基于改进的KNN文本分类方法,其特征在于,所述球 形区表示如下: Bit ={xGRn|Sim(x,vt (cj)) ^rit} ,i= = 1, 2, . . . ,f(cj) (4)
其中,rit、Bit分别为类别q的核心区中划分的第t个球半径和球,UnhandledCoreh) 为类别q的核心区中没有被划分过的样本点集合,Core(D)为所有类的核心区的集合; vt(Ci)为在确定第t个球形时,类q的UnhandledCoreh)中pi最大的点,f(Ci)为类q 核心区最多能划分的球的个数。
7. 根据权利要求1-6任一项所述基于改进的KNN文本分类方法,其特征在于,所述基于 改进的KNN文本分类方法,应用于核电仪控系统技术文件的文本评估规则关联; 所述训练文本或新文本为:核电站仪控系统技术文件;所述核电站仪控系统技术文件 包括:技术文件、需求文件和设计文件; 所述文本类别包括:数据采集、通信、接口、故障诊断、冗余; 所述关键词包括:采集、轮询、质量位、故障、数据包、报警、定期、自诊断、协议、AIS、计 数器、运算、正确性、初始化、竞争、写双口、RAM、完整性、破坏、读写、通信、干扰、非规约数、 收发、看门狗、上行帧、下行帧、响应时间、中断、喂狗。
8. 根据权利要求1-6任一项所述基于改进的KNN文本分类方法,其特征在于,所述基于 改进的KNN文本分类方法,应用于核电仪控系统技术文件的失效模式分析; 所述训练文本或所述新文本为:核电站仪控系统技术文件;所述核电站仪控系统技术 文件包括:技术文件、需求文件和设计文件; 所述文本类别包括:通道采集、板卡自诊断、通信、运算处理、状态显示与警告; 所述关键词包括:初始化、参数、配置、EEPROM、校验、计数器、确定性、协议、数据帧、MAC地址、指示灯、报警、质量位、竞争、写双口、RAM、完整性、破坏、读写、通信、通道、缓冲区、自 诊断、ROM、超时、指令、日志、复位、冗余、量程、上限、下限、挂起、精度、轮询、中断、误差、干 扰、非规约数、收发、看门狗。
【文档编号】G06F17/30GK104408095SQ201410650756
【公开日】2015年3月11日 申请日期:2014年11月15日 优先权日:2014年11月15日
【发明者】冯素梅, 赵云飞, 刘建龙, 张亚栋, 刘邦信, 周小波, 程建明 申请人:北京广利核系统工程有限公司, 中国广核集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1