CN109993216A - 一种基于k最近邻knn的文本分类方法及其设备 - Google Patents
一种基于k最近邻knn的文本分类方法及其设备 Download PDFInfo
- Publication number
- CN109993216A CN109993216A CN201910178920.5A CN201910178920A CN109993216A CN 109993216 A CN109993216 A CN 109993216A CN 201910178920 A CN201910178920 A CN 201910178920A CN 109993216 A CN109993216 A CN 109993216A
- Authority
- CN
- China
- Prior art keywords
- word
- character string
- string vector
- text
- similarity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24143—Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于K最近邻KNN的文本分类方法及其设备。用于减小文本分类的运算量,更有效的表示文本特征信息,提高文本分类的准确率。该方法包括:将文本分解为单词,从所述单词中提取表示文本的特征信息的单词;利用所述提取的单词,将所述文本编码为字符串向量;利用所述KNN模型计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度,根据所述相似度以及所述样本字符串向量对应的分类标签,确定所述字符串向量的分类标签并输出。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于K最近邻KNN(k-NearestNeighbor)的文本分类方法及其设备。
背景技术
目前,文本分类是对文本集合按照一定的分类体系或标准进行自动分类标记,属于一种基于分类体系的自动分类。文本分类过程可以理解为根据待分类数据的某些特征,将待分类数据与样本数据进行匹配的过程,一般的,对文本数据进行特征提取并分类有两种方式,如下所示:
一种是,将文本数据中的特征信息编码成数字向量,计算该数字向量与样本数字向量之间的相似度,根据得到的相似度结果确定与该数字向量对应的文本数据的分类结果。
但是该方式中,所述数字向量维数较大,至少有几百个维度,因此利用该数字向量计算相似度时,容易导致运算量过大;另外,由于维度多,维数大,导致该数字向量分布稀疏,透明性差,降低了文本分类的准确率。
另一种是,将文本数据中的特征信息编码成结构化的形式如编码成一个特征信息表,利用表匹配算法,计算该特征信息表与样本特征信息表之间的相似度,根据得到的相似度结果确定与该特征信息表对应的文本数据的分类结果。
但是该方式中,表匹配算法的计算性能受噪声的影响不够稳定。
发明内容
本发明提供一种基于KNN的文本分类方法及其设备,通过将文本编码成字符串向量的形式提取文本特征信息,计算字符串向量之间的相似度,减小运算量,改善提取的特征信息分布稀疏的问题,并且字符串向量更具象征性,更透明,能够更有效的表示文本特征信息,便于提高文本分类的准确率。
第一方面,本发明提供一种基于K最近邻KNN的文本分类方法,该方法包括:
将文本分解为单词,从所述单词中提取表示文本的特征信息的单词;
利用所述提取的单词,将所述文本编码为字符串向量;
利用所述KNN模型计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度,根据所述相似度以及所述样本字符串向量对应的分类标签,确定所述字符串向量的分类标签并输出。
作为一种可选的实施方式,利用所述KNN模型计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度,包括:
利用所述KNN模型,采用向量之间的余弦相似性算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度;或者
利用所述KNN模型,采用通过计算单词间相似度获得字符串向量间相似度的相似矩阵算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度。
作为一种可选的实施方式,还包括:
获取包括多个字符串向量训练样本,以及所述训练样本中字符串向量对应的分类标签;
初始化KNN模型的模型参数,将所述训练样本输入所述KNN模型;
利用所述KNN模型,采用向量之间的余弦相似性算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度;
根据输出所述训练样本中字符串向量对应的分类标签及训练中字符串向量对应的分类标签,调整当前的KNN模型的模型参数,直至满足预设条件。
作为一种可选的实施方式,包括:
基于服务器中语料库中的单词,将所述文本分解为长字符串;
通过文本分割方法将所述长字符串划分出段落,提取各段落中属于词干的字符,并删除无提取意义的字符。
作为一种可选的实施方式,从所述单词中提取表示文本的特征信息的单词,包括:
根据所述单词中单词的出现频率、语法属性以及位置分布,分别从所述单词中提取表示文本的特征信息的单词。
作为一种可选的实施方式,根据所述单词中单词的出现频率、语法属性以及位置分布,分别从所述单词中提取表示文本的特征信息的单词,包括:
按照所述单词出现频率由高到低的顺序,提取至少一个单词;
根据所述单词的语法属性,按照所述单词中词频-逆文本频率指数TF-IDF加权值由高到低的顺序,提取至少一个单词;
根据所述单词的位置分布,提取分布在设定段落的单词。
作为一种可选的实施方式,所述设定段落为第一段落和/或最后段落。
作为一种可选的实施方式,根据所述单词的位置分布,提取分布在设定段落的单词,包括:
提取分布在最后段落的最后一个单词、第一段落的第一个单词、第一段落的最后一个单词以及最后段落的第一个单词。
作为一种可选的实施方式,根据所述相似度以及所述样本字符串向量对应的分类标签,确定所述字符串向量的分类标签,包括:
选取与所述字符串向量相似度由高到低对应的预设数量的样本字符串向量;
计算所述预设数量的样本字符串向量的抽样概率;
根据所述抽样概率选取的样本字符串向量对应的分类标签,确定所述字符串向量的分类标签。
第二方面,本发明提供一种基于K最近邻KNN的文本分类设备,该设备包括:处理器以及存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器用于:
将文本分解为单词,从所述单词中提取表示文本的特征信息的单词;
利用所述提取的单词,将所述文本编码为字符串向量;
利用所述KNN模型计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度,根据所述相似度以及所述样本字符串向量对应的分类标签,确定所述字符串向量的分类标签并输出。
作为一种可选的实施方式,所述处理器具体用于:
利用所述KNN模型,采用向量之间的余弦相似性算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度;或者
利用所述KNN模型,采用通过计算单词间相似度获得字符串向量间相似度的相似矩阵算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度。
作为一种可选的实施方式,所述处理器具体还用于:
获取包括多个字符串向量训练样本,以及所述训练样本中字符串向量对应的分类标签;
初始化KNN模型的模型参数,将所述训练样本输入所述KNN模型;
利用所述KNN模型,采用向量之间的余弦相似性算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度;
根据输出所述训练样本中字符串向量对应的分类标签及训练中字符串向量对应的分类标签,调整当前的KNN模型的模型参数,直至满足预设条件。
作为一种可选的实施方式,所述处理器具体用于:
基于服务器中语料库中的单词,将所述文本分解为长字符串;
通过文本分割方法将所述长字符串划分出段落,提取各段落中属于词干的字符,并删除无提取意义的字符。
作为一种可选的实施方式,所述处理器具体用于:
根据所述单词中单词的出现频率、语法属性以及位置分布,分别从所述单词中提取表示文本的特征信息的单词。
作为一种可选的实施方式,所述处理器具体用于:
按照所述单词出现频率由高到低的顺序,提取至少一个单词;
根据所述单词的语法属性,按照所述单词中词频-逆文本频率指数TF-IDF加权值由高到低的顺序,提取至少一个单词;
根据所述单词的位置分布,提取分布在设定段落的单词。
作为一种可选的实施方式,所述设定段落为第一段落和/或最后段落。
作为一种可选的实施方式,所述处理器具体用于:
提取分布在最后段落的最后一个单词、第一段落的第一个单词、第一段落的最后一个单词以及最后段落的第一个单词。
作为一种可选的实施方式,所述处理器具体用于:
选取与所述字符串向量相似度由高到低对应的预设数量的样本字符串向量;
计算所述预设数量的样本字符串向量的抽样概率;
根据所述抽样概率选取的样本字符串向量对应的分类标签,确定所述字符串向量的分类标签。
第三方面,本发明提供另一种基于K最近邻KNN的文本分类设备,该设备包括:分解模块、编码模块以及分类模块,其中:
分解模块,用于将文本分解为单词,从所述单词中提取表示文本的特征信息的单词;
编码模块,用于利用所述提取的单词,将所述文本编码为字符串向量;
分类模块,用于利用所述KNN模型计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度,根据所述相似度以及所述样本字符串向量对应的分类标签,确定所述字符串向量的分类标签并输出。
作为一种可选的实施方式,所述分类模块具体用于:
利用所述KNN模型,采用向量之间的余弦相似性算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度;或者
利用所述KNN模型,采用通过计算单词间相似度获得字符串向量间相似度的相似矩阵算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度。
作为一种可选的实施方式,所述设备还用于:
获取包括多个字符串向量训练样本,以及所述训练样本中字符串向量对应的分类标签;
初始化KNN模型的模型参数,将所述训练样本输入所述KNN模型;
利用所述KNN模型,采用向量之间的余弦相似性算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度;
根据输出所述训练样本中字符串向量对应的分类标签及训练中字符串向量对应的分类标签,调整当前的KNN模型的模型参数,直至满足预设条件。
作为一种可选的实施方式,所述分解模块具体用于:
基于服务器中语料库中的单词,将所述文本分解为长字符串;
通过文本分割方法将所述长字符串划分出段落,提取各段落中属于词干的字符,并删除无提取意义的字符。
作为一种可选的实施方式,所述分解模块具体用于:
根据所述单词中单词的出现频率、语法属性以及位置分布,分别从所述单词中提取表示文本的特征信息的单词。
作为一种可选的实施方式,所述分解模块具体用于:
按照所述单词出现频率由高到低的顺序,提取至少一个单词;
根据所述单词的语法属性,按照所述单词中词频-逆文本频率指数TF-IDF加权值由高到低的顺序,提取至少一个单词;
根据所述单词的位置分布,提取分布在设定段落的单词。
作为一种可选的实施方式,所述设定段落为第一段落和/或最后段落。
作为一种可选的实施方式,所述分解模块具体用于:
提取分布在最后段落的最后一个单词、第一段落的第一个单词、第一段落的最后一个单词以及最后段落的第一个单词。
作为一种可选的实施方式,所述分类模块具体用于:
选取与所述字符串向量相似度由高到低对应的预设数量的样本字符串向量;
计算所述预设数量的样本字符串向量的抽样概率;
根据所述抽样概率选取的样本字符串向量对应的分类标签,确定所述字符串向量的分类标签。
第四方面,本发明提供一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述第一方面所述方法的步骤。
本发明提供的一种基于KNN的文本分类方法及其设备,具有以下有益效果:
用于将文本编码成字符串向量提取文本特征信息,计算该文本字符串向量与样本字符串向量之间的相似度,由于本发明中字符串向量维度较少,能够使字符串之间相似度的运算量减小;并且,由于字符串向量维度少,能够改善提取的特征信息分布稀疏的问题,同时,字符串向量更具象征性,更透明,能够更有效的表示文本特征信息,便于提高文本分类的准确率。
附图说明
图1为本发明实施例提供的一种基于KNN的文本分类方法流程图;
图2为本发明实施例提供的一种基于KNN的文本分类方法具体流程图;
图3为本发明实施例提供的一种基于KNN的文本分类设备图;
图4为本发明实施例提供的另一种基于KNN的文本分类设备图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
实施例一
由于传统的KNN文本分类方法需要将文本编码成数值向量后输入KNN模型进行文本分类,但是文本编码成数值向量存在向量维数多、文本特征信息分布稀疏的问题,导致基于KNN对文本编码成的数值向量进行文本分类时,得出的分类结果正确率较低。因此,本发明实施例提供了一种基于KNN的文本分类方法,将文本编码成字符串向量后输入KNN模型,能够快速有效的得到文本分类的结果。
如图1所示,具体实施步骤如下:
步骤10:将文本分解为单词,从所述单词中提取表示文本的特征信息的单词;
上述单词可以是英文单词、中文单词或者能够被计算机处理的任意形式的单个字符,上述将文本分解为单词的具体方式如下:
基于服务器中语料库中的单词,将所述文本分解为长字符串;
通过文本分割方法将所述长字符串划分出段落,提取各段落中属于词干的字符,并删除无特征提取意义的字符。
上述语料库中存储了海量的单词以及该单词对应的字符,将所述文本中与所述语料库中的单词进行匹配,得到文字中出现在语料库中的单词,将得到的单词对应的字符按照在文中出现的先后顺序连接成一个长字符串,通过文本分割方法将所述长字符串划分成各个段落,根据词干提取规则提取各段落中属于词干的字符,为了提高提取表示文本特征信息的效率,删除无提取意义的字符,例如命题、连接词、代词等。上述词干可以但不限于包括动词、名词和形成词等,经过文本分解的处理,能够将所述文本分解为由动词字符、名词字符和形容词字符组成的字符串。所述文本分割方法为现有技术,这里不再详述。
从所述单词中提取表示文本的特征信息的单词,所述特征信息可以但不限于包括:单词的出现频率、语法属性以及位置分布。
根据所述单词中单词的出现频率、语法属性以及位置分布,分别从所述单词中提取表示文本的特征信息的单词,包括:
按照所述单词出现频率由高到低的顺序,提取至少一个单词;
具体的,可以提取所述单词中出现频率最高的单词、所述单词中出现频率第二高的单词以及所述单词中出现频率第三高的单词,并且,所述频率最高的单词/频率第二高的单词/所述频率第三高的单词可以是一个,也可以是多个;
根据所述单词的语法属性,按照所述单词中词频-逆文本频率指数TF-IDF加权值由高到低的顺序,提取至少一个单词;
所述TF-IDF是一种常用的加权统计方法,TF-IDF加权值越高,说明该单词具有很好的类别区分能力,适合用于文本分类。具体的,可以提取所述单词中TF-IDF加权值最高的单词、所述单词中TF-IDF加权值第二高的单词以及所述单词中TF-IDF加权值第三高的单词。并且,所述TF-IDF加权值最高的单词/所述TF-IDF加权值第二高的单词/所述TF-IDF加权值第三高的单词可以是一个,也可以是多个。
根据所述单词的位置分布,提取分布在设定段落的单词。所述设定段落可以是第一段落,或者是最后段落,或者是第一段落和最后段落。
具体的,根据所述单词的位置分布,提取分布在设定段落的单词,包括:提取分布在最后段落的最后一个单词、第一段落的第一个单词、第一段落的最后一个单词以及最后段落的第一个单词。
步骤11:利用所述提取的单词,将所述文本编码为字符串向量;
具体的,利用所述提取的单词,编码的字符串向量由以下字符组成:
所述单词中出现频率最高的单词、所述单词中出现频率第二高的单词、所述单词中出现频率第三高的单词、所述单词中TF-IDF加权值最高的单词、所述单词中TF-IDF加权值第二高的单词、所述单词中TF-IDF加权值第三高的单词、分布在最后段落的最后一个单词、第一段落的第一个单词、第一段落的最后一个单词以及最后段落的第一个单词,根据上述10个字符组成十维字符串向量。
步骤12:利用所述KNN模型计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度,根据所述相似度以及所述样本字符串向量对应的分类标签,确定所述字符串向量的分类标签并输出。
具体的,利用所述KNN模型计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度,包括以下任一种方式:
方式一:利用所述KNN模型,采用向量之间的余弦相似性算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度。
具体的,本发明实施例中的字符串向量是一种有限的字符串,可以根据用户需求定义不同的字符串的长度,字符串向量之间的相似度计算可以采用向量之间的余弦相似性算法,该余弦相似性算法的计算公式如下:
其中,上述公式中stri是字符串向量,d表示字符串向量中字符的个数,d1i表示文本标识是d1的字符串向量str1中第i个字符,d2i表示文本标识是d2的字符串向量str2中第i个字符。sim(str1,str2)为字符串向量str1和字符串向量str2之间的余弦相似性。上文本标识d1可以标识的是待分类的文本,上述文本标识d2可以标识的是KNN模型中样本字符串向量对应的文本。
方式二:利用所述KNN模型,采用通过计算单词间相似度获得字符串向量间相似度的相似矩阵算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度。
具体的,首先根据服务器获取的语料库能够构建相似矩阵,所述相似矩阵中每一行及每一列中的每一项都对应所述语料库中的两个单词,其中,所述相似矩阵中的每一项内容表示所述语料库中任意两个单词之间的相似度。
假设所述语料库中包含N个文本,任意选取两个文本,并从所述两个文本中分别选取一个单词,计算两个文本中选取的两个单词之间的相似性,将所述两个单词之间的相似性量化为0和1之间的量化值,如果所述两个文本完全相同,则计算出的相似矩阵中每一项的相似度为1,如果两个文档完全不同,则计算出的相似矩阵中每一项的相似度为0。
其中,计算上述两个单词之间的相似度的公式如下:
其中,上述公式中的Ti和Tj表示所述语料库中两个不同的文本,ti为文本Ti中的单词,tj为文本Tj中的单词,所述Ti和Tj中单词的数量都为N,则有0<i,j≤N,且i,j均为整数。
在得到上述两个文本中任意两个单词之间相似度后,可以基于得到的相似度,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度。
进一步地,可以采用余弦相似性运算,基于得到的相似度,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度。因此,本发明实施例结合方式一、方式二,提供如下方式:
首先利用所述KNN模型,采用通过计算单词间相似度获得字符串向量间相似度的相似矩阵算法,得到相似矩阵,基于所述相似矩阵中任一项相似度,利用向量之间的余弦相似性算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度。
本发明实施例不仅利用所述KNN模型对所述字符串向量进行分类,而且还利用大量的字符串向量训练样本,对所述KNN模型进行训练,具体如下:
1)获取包括多个字符串向量训练样本,以及所述训练样本中字符串向量对应的分类标签;
具体的,字符串向量的分类标签分为两类,正类和负类。其中,正类和负类对应的文本的分类类别不同,用户可以根据需求确定所述正类标签对应的文本的分类类别,以及所述负类标签对应的文本的分类类别。本发明实施例中对文本具体的分类类别的数量及分类的具体类别不作具体限定,可以根据实际需求设定。
2)初始化KNN模型的模型参数,将所述训练样本输入所述KNN模型;
具体的,在KNN模型建立时,KNN模型中存储了多个样本字符串向量以及对应的分类标签,以用于对KNN模型的模型参数进行训练,同时,KNN模型中还可以存储上述语料库,即基于KNN模型中存储的语料库中的单词,将所述文本分解为长字符串。
3)利用所述KNN模型,采用向量之间的余弦相似性算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度;
作为一种可选的实施方式,利用所述KNN模型,采用通过计算单词间相似度获得字符串向量间相似度的相似矩阵算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度。
4)根据输出所述训练样本中字符串向量对应的分类标签及训练中字符串向量对应的分类标签,调整当前的KNN模型的模型参数,直至满足预设条件。
所述满足的预设条件可以是调整当前的KNN模型的模型参数,直至KNN模型输出的训练样本中字符串向量的分类标签与所述训练样本中预先获取的字符串向量对应的分类标签的分类准确率满足预设条件。
作为一种可选的实施方式,根据所述相似度以及所述样本字符串向量对应的分类标签,确定所述字符串向量的分类标签,包括以下步骤:
1)选取与所述字符串向量相似度由高到低对应的预设数量的样本字符串向量;
2)计算所述预设数量的样本字符串向量的抽样概率;
具体的,可以在初始化KNN模型的模型参数时,预先设置所述各个样本字符串向量的抽样概率,在利用训练样本对KNN模型进行训练时,根据所述各个样本字符串向量被抽中的概率,对所述预先设置的抽样概率进行调整,当KNN完成训练时,所述抽样概率调整完成。
3)根据所述抽样概率选取的样本字符串向量对应的分类标签,确定所述字符串向量的分类标签。
本发明实施例中的KNN是通过计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度进行文本分类,根据所述预设数量的样本字符串向量的抽样概率来选取样本字符串向量对应的分类标签,具体的,利用KNN对字符串向量进行文本分类时,如果一个字符串向量在k个最相似的样本字符串向量中的预设数量内属于某一个类别,则该字符串向量也属于这个类别,否则选取与k个最相似的样本字符串向量中相似度最高的样本字符串向量对应的分类标签。
但本发明实施例中,通过采用向量之间的余弦相似性算法,以及所述相似矩阵算法,一方面,能够使得字符串之间相似度的运算量减小,并且,由于字符串向量维度少,能够改善提取的特征信息分布稀疏的问题;另一方面,字符串向量更具象征性,更透明,能够更有效的表示文本特征信息,便于提高文本分类的准确率。
如图2所示,基于KNN的文本分类的具体步骤如下:
步骤20:将文本编码为字符串向量,输入KNN模型;
步骤21:利用所述KNN模型计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度;
步骤22:按照与所述字符串向量相似度的递增关系将对应的样本字符串向量进行排序;
步骤23:根据排序的结果,按字符串向量相似度从高到低的顺序选取所述样本字符串向量中的K个样本字符串向量,其中,所述K为正整数;
步骤24:计算所述K个样本字符串向量的抽样概率;
步骤25:根据所述抽样概率选取样本字符串向量;
步骤26:将所述选取的样本字符串向量对应的分类标签,作为所述字符串向量的分类标签。
实施例二
基于同一发明构思,本发明实施例还提一种基于K最近邻KNN的文本分类设备,如图3所示,该设备包括:处理器30以及存储器31,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器30用于:
将文本分解为单词,从所述单词中提取表示文本的特征信息的单词;
利用所述提取的单词,将所述文本编码为字符串向量;
利用所述KNN模型计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度,根据所述相似度以及所述样本字符串向量对应的分类标签,确定所述字符串向量的分类标签并输出。
作为一种可选的实施方式,所述处理器30具体用于:
利用所述KNN模型,采用向量之间的余弦相似性算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度;或者
利用所述KNN模型,采用通过计算单词间相似度获得字符串向量间相似度的相似矩阵算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度。
作为一种可选的实施方式,所述处理器30具体还用于:
获取包括多个字符串向量训练样本,以及所述训练样本中字符串向量对应的分类标签;
初始化KNN模型的模型参数,将所述训练样本输入所述KNN模型;
利用所述KNN模型,采用向量之间的余弦相似性算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度;
根据输出所述训练样本中字符串向量对应的分类标签及训练中字符串向量对应的分类标签,调整当前的KNN模型的模型参数,直至满足预设条件。
作为一种可选的实施方式,所述处理器30具体用于:
基于服务器中语料库中的单词,将所述文本分解为长字符串;
通过文本分割方法将所述长字符串划分出段落,提取各段落中属于词干的字符,并删除无提取意义的字符。
作为一种可选的实施方式,所述处理器30具体用于:
根据所述单词中单词的出现频率、语法属性以及位置分布,分别从所述单词中提取表示文本的特征信息的单词。
作为一种可选的实施方式,所述处理器30具体用于:
按照所述单词出现频率由高到低的顺序,提取至少一个单词;
根据所述单词的语法属性,按照所述单词中词频-逆文本频率指数TF-IDF加权值由高到低的顺序,提取至少一个单词;
根据所述单词的位置分布,提取分布在设定段落的单词。
作为一种可选的实施方式,所述设定段落为第一段落和/或最后段落。
作为一种可选的实施方式,所述处理器30具体用于:
提取分布在最后段落的最后一个单词、第一段落的第一个单词、第一段落的最后一个单词以及最后段落的第一个单词。
作为一种可选的实施方式,所述处理器30具体用于:
选取与所述字符串向量相似度由高到低对应的预设数量的样本字符串向量;
计算所述预设数量的样本字符串向量的抽样概率;
根据所述抽样概率选取的样本字符串向量对应的分类标签,确定所述字符串向量的分类标签。
实施例三
本发明提供另一种基于K最近邻KNN的文本分类设备,如图4所示,该设备包括:分解模块40、编码模块41以及分类模块42,其中:
分解模块40,用于将文本分解为单词,从所述单词中提取表示文本的特征信息的单词;
编码模块41,用于利用所述提取的单词,将所述文本编码为字符串向量;
分类模块42,用于利用所述KNN模型计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度,根据所述相似度以及所述样本字符串向量对应的分类标签,确定所述字符串向量的分类标签并输出。
作为一种可选的实施方式,所述分类模块42具体用于:
利用所述KNN模型,采用向量之间的余弦相似性算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度;或者
利用所述KNN模型,采用通过计算单词间相似度获得字符串向量间相似度的相似矩阵算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度。
作为一种可选的实施方式,所述设备还用于:
获取包括多个字符串向量训练样本,以及所述训练样本中字符串向量对应的分类标签;
初始化KNN模型的模型参数,将所述训练样本输入所述KNN模型;
利用所述KNN模型,采用向量之间的余弦相似性算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度;
根据输出所述训练样本中字符串向量对应的分类标签及训练中字符串向量对应的分类标签,调整当前的KNN模型的模型参数,直至满足预设条件。
作为一种可选的实施方式,所述分解模块40具体用于:
基于服务器中语料库中的单词,将所述文本分解为长字符串;
通过文本分割方法将所述长字符串划分出段落,提取各段落中属于词干的字符,并删除无提取意义的字符。
作为一种可选的实施方式,所述分解模块40具体用于:
根据所述单词中单词的出现频率、语法属性以及位置分布,分别从所述单词中提取表示文本的特征信息的单词。
作为一种可选的实施方式,所述分解模块40具体用于:
按照所述单词出现频率由高到低的顺序,提取至少一个单词;
根据所述单词的语法属性,按照所述单词中词频-逆文本频率指数TF-IDF加权值由高到低的顺序,提取至少一个单词;
根据所述单词的位置分布,提取分布在设定段落的单词。
作为一种可选的实施方式,所述设定段落为第一段落和/或最后段落。
作为一种可选的实施方式,所述分解模块40具体用于:
提取分布在最后段落的最后一个单词、第一段落的第一个单词、第一段落的最后一个单词以及最后段落的第一个单词。
作为一种可选的实施方式,所述分类模块42具体用于:
选取与所述字符串向量相似度由高到低对应的预设数量的样本字符串向量;
计算所述预设数量的样本字符串向量的抽样概率;
根据所述抽样概率选取的样本字符串向量对应的分类标签,确定所述字符串向量的分类标签。
实施例四
本发明提供一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如下步骤:
将文本分解为单词,从所述单词中提取表示文本的特征信息的单词;
利用所述提取的单词,将所述文本编码为字符串向量;
利用所述KNN模型计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度,根据所述相似度以及所述样本字符串向量对应的分类标签,确定所述字符串向量的分类标签并输出。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种基于K最近邻KNN的文本分类方法,其特征在于,该方法包括:
将文本分解为单词,从所述单词中提取表示文本的特征信息的单词;
利用所述提取的单词,将所述文本编码为字符串向量;
利用所述KNN模型计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度,根据所述相似度以及所述样本字符串向量对应的分类标签,确定所述字符串向量的分类标签并输出。
2.根据权利要求1所述的方法,其特征在于,利用所述KNN模型计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度,包括:
利用所述KNN模型,采用向量之间的余弦相似性算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度;或者
利用所述KNN模型,采用通过计算单词间相似度获得字符串向量间相似度的相似矩阵算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度。
3.根据权利要求1或2所述的方法,其特征在于,还包括:
获取包括多个字符串向量训练样本,以及所述训练样本中字符串向量对应的分类标签;
初始化KNN模型的模型参数,将所述训练样本输入所述KNN模型;
利用所述KNN模型,采用向量之间的余弦相似性算法,计算所述字符串向量与KNN模型中的样本字符串向量之间的相似度;
根据输出所述训练样本中字符串向量对应的分类标签及训练中字符串向量对应的分类标签,调整当前的KNN模型的模型参数,直至满足预设条件。
4.根据权利要求1所述的方法,其特征在于,将文本分解为单词,包括:
基于服务器中语料库中的单词,将所述文本分解为长字符串;
通过文本分割方法将所述长字符串划分出段落,提取各段落中属于词干的字符,并删除无提取意义的字符。
5.根据权利要求1所述的方法,其特征在于,从所述单词中提取表示文本的特征信息的单词,包括:
根据所述单词中单词的出现频率、语法属性以及位置分布,分别从所述单词中提取表示文本的特征信息的单词。
6.根据权利要求5所述的方法,其特征在于,根据所述单词中单词的出现频率、语法属性以及位置分布,分别从所述单词中提取表示文本的特征信息的单词,包括:
按照所述单词出现频率由高到低的顺序,提取至少一个单词;
根据所述单词的语法属性,按照所述单词中词频-逆文本频率指数TF-IDF加权值由高到低的顺序,提取至少一个单词;
根据所述单词的位置分布,提取分布在设定段落的单词。
7.根据权利要求6所述的方法,其特征在于,所述设定段落为第一段落和/或最后段落。
8.根据权利要求7所述的方法,其特征在于,根据所述单词的位置分布,提取分布在设定段落的单词,包括:
提取分布在最后段落的最后一个单词、第一段落的第一个单词、第一段落的最后一个单词以及最后段落的第一个单词。
9.根据权利要求1所述的方法,其特征在于,根据所述相似度以及所述样本字符串向量对应的分类标签,确定所述字符串向量的分类标签,包括:
选取与所述字符串向量相似度由高到低对应的预设数量的样本字符串向量;
计算所述预设数量的样本字符串向量的抽样概率;
根据所述抽样概率选取的样本字符串向量对应的分类标签,确定所述字符串向量的分类标签。
10.一种基于K最近邻KNN的文本分类设备,其特征在于,该设备包括:处理器以及存储器,其中,所述存储器存储有程序代码,当所述程序代码被所述处理器执行时,使得所述处理器执行权利要求1~9任一所述方法的步骤。
11.一种计算机存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1~9任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910178920.5A CN109993216B (zh) | 2019-03-11 | 2019-03-11 | 一种基于k最近邻knn的文本分类方法及其设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910178920.5A CN109993216B (zh) | 2019-03-11 | 2019-03-11 | 一种基于k最近邻knn的文本分类方法及其设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109993216A true CN109993216A (zh) | 2019-07-09 |
CN109993216B CN109993216B (zh) | 2021-05-11 |
Family
ID=67129638
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910178920.5A Active CN109993216B (zh) | 2019-03-11 | 2019-03-11 | 一种基于k最近邻knn的文本分类方法及其设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109993216B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110674635A (zh) * | 2019-09-27 | 2020-01-10 | 北京妙笔智能科技有限公司 | 一种用于文本段落划分的方法和装置 |
CN111078885A (zh) * | 2019-12-18 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 一种标签分类的方法、相关装置、设备以及存储介质 |
CN111737464A (zh) * | 2020-06-12 | 2020-10-02 | 网易(杭州)网络有限公司 | 文本分类方法、装置和电子设备 |
CN112100381A (zh) * | 2020-09-22 | 2020-12-18 | 福建天晴在线互动科技有限公司 | 一种文本相似度进行量化的方法及其系统 |
CN114417962A (zh) * | 2021-12-08 | 2022-04-29 | 航天科工网络信息发展有限公司 | 基于k近邻算法的异常数据检测方法、系统、设备、介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102033949A (zh) * | 2010-12-23 | 2011-04-27 | 南京财经大学 | 基于修正的k近邻文本分类方法 |
CN102930063A (zh) * | 2012-12-05 | 2013-02-13 | 电子科技大学 | 一种基于特征项选择与权重计算的文本分类方法 |
JP5439235B2 (ja) * | 2010-03-12 | 2014-03-12 | 株式会社日立製作所 | 文書分類方法、文書分類装置、およびプログラム |
CN104063472A (zh) * | 2014-06-30 | 2014-09-24 | 电子科技大学 | 一种优化训练样本集的knn文本分类方法 |
CN104239436A (zh) * | 2014-08-27 | 2014-12-24 | 南京邮电大学 | 一种基于文本分类和聚类分析的网络热点事件发现方法 |
CN106649255A (zh) * | 2015-11-04 | 2017-05-10 | 江苏引跑网络科技有限公司 | 一种对短文本自动分类和识别主题词的方法 |
CN108984724A (zh) * | 2018-07-10 | 2018-12-11 | 凯尔博特信息科技(昆山)有限公司 | 利用高维表示提高特定属性情感分类准确率方法 |
CN109408636A (zh) * | 2018-09-29 | 2019-03-01 | 新华三大数据技术有限公司 | 文本分类方法及装置 |
-
2019
- 2019-03-11 CN CN201910178920.5A patent/CN109993216B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5439235B2 (ja) * | 2010-03-12 | 2014-03-12 | 株式会社日立製作所 | 文書分類方法、文書分類装置、およびプログラム |
CN102033949A (zh) * | 2010-12-23 | 2011-04-27 | 南京财经大学 | 基于修正的k近邻文本分类方法 |
CN102930063A (zh) * | 2012-12-05 | 2013-02-13 | 电子科技大学 | 一种基于特征项选择与权重计算的文本分类方法 |
CN104063472A (zh) * | 2014-06-30 | 2014-09-24 | 电子科技大学 | 一种优化训练样本集的knn文本分类方法 |
CN104239436A (zh) * | 2014-08-27 | 2014-12-24 | 南京邮电大学 | 一种基于文本分类和聚类分析的网络热点事件发现方法 |
CN106649255A (zh) * | 2015-11-04 | 2017-05-10 | 江苏引跑网络科技有限公司 | 一种对短文本自动分类和识别主题词的方法 |
CN108984724A (zh) * | 2018-07-10 | 2018-12-11 | 凯尔博特信息科技(昆山)有限公司 | 利用高维表示提高特定属性情感分类准确率方法 |
CN109408636A (zh) * | 2018-09-29 | 2019-03-01 | 新华三大数据技术有限公司 | 文本分类方法及装置 |
Non-Patent Citations (2)
Title |
---|
朱颢东著: "《文本挖掘中若干核心技术研究》", 31 March 2017, 北京理工大学出版社 * |
樊重俊 等: "《大数据分析与应用》", 31 January 2016, 上海立信会计出版社 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110674635A (zh) * | 2019-09-27 | 2020-01-10 | 北京妙笔智能科技有限公司 | 一种用于文本段落划分的方法和装置 |
CN110674635B (zh) * | 2019-09-27 | 2023-04-25 | 北京妙笔智能科技有限公司 | 一种用于文本段落划分的方法和装置 |
CN111078885A (zh) * | 2019-12-18 | 2020-04-28 | 腾讯科技(深圳)有限公司 | 一种标签分类的方法、相关装置、设备以及存储介质 |
CN111078885B (zh) * | 2019-12-18 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 一种标签分类的方法、相关装置、设备以及存储介质 |
CN111737464A (zh) * | 2020-06-12 | 2020-10-02 | 网易(杭州)网络有限公司 | 文本分类方法、装置和电子设备 |
CN112100381A (zh) * | 2020-09-22 | 2020-12-18 | 福建天晴在线互动科技有限公司 | 一种文本相似度进行量化的方法及其系统 |
CN112100381B (zh) * | 2020-09-22 | 2022-05-17 | 福建天晴在线互动科技有限公司 | 一种文本相似度进行量化的方法及其系统 |
CN114417962A (zh) * | 2021-12-08 | 2022-04-29 | 航天科工网络信息发展有限公司 | 基于k近邻算法的异常数据检测方法、系统、设备、介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109993216B (zh) | 2021-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109993216A (zh) | 一种基于k最近邻knn的文本分类方法及其设备 | |
CN107609121B (zh) | 基于LDA和word2vec算法的新闻文本分类方法 | |
CN109960724B (zh) | 一种基于tf-idf的文本摘要方法 | |
US20230195773A1 (en) | Text classification method, apparatus and computer-readable storage medium | |
CN107122382B (zh) | 一种基于说明书的专利分类方法 | |
CN113434636B (zh) | 基于语义的近似文本搜索方法、装置、计算机设备及介质 | |
CN107451278A (zh) | 基于多隐层极限学习机的中文文本分类方法 | |
CN109684476B (zh) | 一种文本分类方法、文本分类装置及终端设备 | |
CN102411621A (zh) | 一种基于云模型的中文面向查询的多文档自动文摘方法 | |
US20150199567A1 (en) | Document classification assisting apparatus, method and program | |
CN113553848B (zh) | 长文本分类方法、系统、电子设备、计算机可读存储介质 | |
CN106599054A (zh) | 一种题目分类及推送的方法及系统 | |
CN108415897A (zh) | 基于人工智能的类别判别方法、装置及存储介质 | |
CN108846047A (zh) | 一种基于卷积特征的图片检索方法及系统 | |
CN108038099A (zh) | 基于词聚类的低频关键词识别方法 | |
CN103020167A (zh) | 一种计算机中文文本分类方法 | |
CN107357895A (zh) | 一种基于词袋模型的文本表示的处理方法 | |
CN108920446A (zh) | 一种工程文本的处理方法 | |
CN111506726A (zh) | 基于词性编码的短文本聚类方法、装置及计算机设备 | |
CN111143507A (zh) | 一种基于复合式问题的阅读理解方法 | |
CN104182463A (zh) | 一种基于语义的文本分类方法 | |
CN110134781A (zh) | 一种金融文本摘要自动抽取方法 | |
CN116151220A (zh) | 分词模型训练方法、分词处理方法和装置 | |
CN111930937A (zh) | 基于bert的智慧政务文本多分类方法及系统 | |
CN110874408A (zh) | 模型训练方法、文本识别方法、装置及计算设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |