一种文本处理方法和系统与流程

文档序号:11134136阅读:400来源:国知局
一种文本处理方法和系统与制造工艺

本发明涉及智能文本信息处理技术领域,特别涉及一种文本处理方法和系统。



背景技术:

社会化大数据中80%是非结构化数据,非结构化大数据处理是大数据面临的最大挑战。结构化数据分析不能充分挖掘发现大数据中的语义。非结构化文本挖掘的挑战在于:语言多样性带来的维护挑战,包括文本中的语言表达方式多种多样,缩写、简写等不规范用法普遍存在,需要穷举所有语言表达方式,业务人员陷入语言表达细节,维护困难;业务分类及规则多变化快带来的维护挑战:业务分类多,分类变化快,每次分类变化时,需要把相关的所有分类的语言规则重新梳理,维护工作量巨大,维护效率低;多语种同步处理带来的挑战:不同语种的挖掘需要同时分析,需要对每种语言单独建立规则,要求维护的业务人员掌握多语种,对维护人员要求太高;文本中噪音大带来的分类挑战:文本长短不一,其中的关联性错综复杂,无法使用关键词统计的方法达到很好的挖掘效果。

而现有的技术一般采用统计方法进行文本挖掘,没有考虑到业务人员的需求,只提供挖掘算法,给业务人员带来了很多的困扰。文本挖掘技术面临的问题是,如何从一篇或海量非结构化文本中分析挖掘出用户关心的有价值的信息,让业务人员从业务角度定义挖掘需求和挖掘规则,而无需考虑文本中语言表达习惯的多样性带来的语言歧义问题。

因此,亟待出现一种无需考虑文本中语言表达习惯的多样性带来的语言歧义问题而对非结构化文本进行有效挖掘的文本处理方法和系统。



技术实现要素:

针对上述技术问题,本发明提供一种无需考虑文本中语言表达习惯的多样性带来的语言歧义问题而对非结构化文本进行挖掘的文本处理方法以及文本处理系统。

本发明解决技术问题采用如下技术方案:一种文本处理方法,其包括:

S1、建立分类超平面函数;以及

S2:通过分类超平面函数,对新输入的文本进行预测;

其中,所述步骤S1具体为:S10:对文本进行分词处理,建立词条文档矩阵;S20:通过决策树算法从词条文档矩阵中提取特征;S30:构造分类超平面函数。

可选的,所述步骤S10包括:

将文本读入到R语言程序中,运用分词工具或用户定义的分词规则将所述文本拆分成单个的词,并统计每个词出现的词频;

使用至少一个向量将该文本表示成布尔矩阵和词频矩阵的形式。

可选的,所述布尔矩阵中,使用0和1表示特征值,如果第i个特征值在文本中出现,定义该文本特征向量的第i个分量值ti=1,否则ti=0,i=1,2,…,n。

可选的,所述词频矩阵表示的特征词在文本中出现的次数,其中每一行代表一个文本向量,每列代表一个特征词,矩阵中的特征值ti代表特征词出现的次数。

可选的,所述步骤S20中,

计算训练数据集D的经验熵H(D):式中,D表示训练数据集,|D|表示其样本容量,设有K个类Ck,k=1,2,…K,K为自然数,|Ck|为属于Ck的样本个数;设特征A有n个不同的取值{a1,a2,…,an},根据特征A的取值将D划分为n个子集D1,D2,…,Dn,|Di|为Di的样本个数,记子集Di中属于类Ck的样本的集合为Dik

计算特征A对数据集D的经验条件熵H(D|A):

计算信息增益:g(D,A)=H(D)-H(D|A);

选取信息增益最大的特征。

可选的,所述步骤S30具体为:

S301、选择惩罚参数0<C<1,构造并求解凸二次规划问题:式中,0≤αi≤C,i=1,2,...,N;通过序列最小化算法求得最优解

式中,N是自然数,其具体值与训练样本个数有关;αi和αj是对应训练样本xi和xj的权重,b表示的为支持向量的权重和阈值,k(xi,xj)是核函数,s.t是数学符号;

S302、计算选择α*的一个分量适合条件计算

S303、构造决策函数

S304、提供多核核函数:替换决策函数中的K(x,xi),得到分类超平面函数,其中,a和b为训练数的权重;s和t是惩罚参数;K是核函数,y是标签,s,t∈R,且s+t=1,x,y∈[-1,1],e为自然对数。

本发明解决技术问题还采用如下技术方案:一种文本处理系统,其包括:

分类超平面函数建立模块,用于分类超平面函数;

文本预测模块,通过分类超平面函数对文本进行预测;

其中,所述分类超平面函数建立模块包括:

词条文档矩阵建立单元,用于对文本进行分词处理,建立词条文档矩阵;

特征提取单元,通过决策树算法从词条文档矩阵中提取特征;

分类超平面函数构造单元,用于构造分类超平面函数。

可选的,所述词条文档矩阵建立单元将文本读入到R语言程序中,运用分词工具或用户定义的分词规则将所述文本拆分成单个的词,并统计每个词出现的词频;使用至少一个向量将该文本表示成布尔矩阵和词频矩阵的形式。

可选的,所述特征提取单元通过下述步骤提取特征:

计算训练数据集D的经验熵H(D):式中,D表示训练数据集,|D|表示其样本容量,设有K个类Ck,k=1,2,…K,K为自然数,|Ck|为属于Ck的样本个数;设特征A有n个不同的取值{a1,a2,…,an},根据特征A的取值将D划分为n个子集D1,D2,…,Dn,|Di|为Di的样本个数,记子集Di中属于类Ck的样本的集合为Dik

计算特征A对数据集D的经验条件熵H(D|A):

计算信息增益:g(D,A)=H(D)-H(D|A);

选取信息增益最大的特征。

可选的,所述分类超平面函数构造单元通过下述步骤构造分类超平面函数:

S301、选择惩罚参数0<C<1,构造并求解凸二次规划问题:式中,0≤αi≤C,i=1,2,...,N;通过序列最小化算法求得最优解

式中,N是自然数,其具体值与训练样本个数有关;αi和αj是对应训练样本xi和xj的权重,b表示的为支持向量的权重和阈值,k(xi,xj)是核函数,s.t是数学符号;

S302、计算选择α*的一个分量适合条件计算

S303、构造决策函数

S304、提供多核核函数:替换决策函数中的K(x,xi),得到分类超平面函数,其中,a和b为训练数的权重;s和t是惩罚参数;K是核函数,y是标签,s,t∈R,且s+t=1,x,y∈[-1,1],e为自然对数。

本发明具有如下有益效果:本发明实施例提供的文本处理方法和系统,该方法将存储的文本进行分词处理后,提取该文本的句子特征,根据决策树算法进行特征的提取,以此降低支持向量机中模型训练点维数,缩短训练时间。根据决策树训练提取了文本的特征向量,根据该特征向量采用多核的支持向量机算法进行文本分类,具有计算准确,模型训练样本少,训练时间短,文本分类准确率高的特点。

附图说明

图1为本发明的文本处理方法的流程图;

图2为本发明的文本处理系统的结构示意图;

具体实施方式

下面结合实施例及附图对本发明的技术方案作进一步阐述。

实施例1

本实施例提供了一种文本处理方法,其包括以下步骤:

S1、建立分类超平面函数。

本实施例中,当对待预测的文本数据进行预测时,首先需要建立对输入的待预测的文本数据进行预测的分类超平面函数,从而使得待预测的文本数据可以通过所述分类超平面函数进行分类;例如有两条新闻,一条关于篮球,一条关于饮食类,可以以这两条新闻作为训练文本,得到分类超平面函数,然后通过该分类超平面函数对待预测的文本数据(后来的新闻)做出预测,判断他们是属于篮球类还是饮食类的新闻。

本实施例中,所述建立分类超平面函数可以包括以下步骤:

S10:对训练文本进行分词处理,建立词条文档矩阵

在文本挖掘领域,文本被看成是出现在文本中的关键词的集合,这些关键词就是特征项。一般说来,特征项主要是名词,因为名词本身就具有实际意义,有助于理解相关文档的内容。当然,有时也以文本中的所有词作为特征这种情况下的文档逻辑视图是全文。利用特征项,文本可以表示成布尔模型、向量模型和概率模型。

在本发明实施例中,建立词条文档矩阵包括:通过将一段txt文本读入到R语言程序中,运用分词工具如基于R语言编程软件中的jiebaR软件分词工具将其拆分成单个的词,并统计词出现的词频,但并不局限于此。本发明实施例中,可基于分词工具的分词规则来对文本进行分词,但是也可以基于用户自定义的分词规则来进行分词。

通过分词工具,训练文本Ti(输入的一段txt文本)可以表示成向量T=(t1,t2,...,tn)的形式,称为文本向量。其表现的形式可包括布尔矩阵和词频矩阵两种。

①布尔矩阵

本发明实施例中使用最简单的0,1表示特征值,即如果第i个特征值在txt文本中出现,定义该文本特征向量的第i个分量值ti=1,否则ti=0,i=1,2…n。

例如,m维布尔特征空间中,n个文本向量可以组成以下形式的特征矩阵:

②词频矩阵

词频矩阵表示的特征词在txt文本中出现的次数,其中每一行代表一个文本向量,每列代表一个特征词,矩阵中的特征值ti代表特征词在文档Ti(不同的Ti代表不同的文本)出现的次数表示。

S20:从词条文档矩阵中提取特征

特征选择的重点在于选取对训练数据具有分类能力的特征,这样可以提高决策学习的效率。如果利用一个特征进行分类的结果与随机分类的结果没有很大差别,则称这个特征没有分类能力的,扔掉这样的特征对决策树学习的精度影响不大,通常特征选择的准则是信息增益或信息增益比。

本发明采用决策树算法提取特征,决策树可以对训练数据有很好分类能力,也就是通过计算信息增益,将信息增益大的特征留下,从而产生一个树状结构的图形,这样就可以剔除那些次要的特征,以此降低维度;所述决策树算法的具体算法如下:

输入:训练数据集D和特征A;其中训练数据集D表示已经经过处理的,拆分单个的词;特征A表示一段文本主要的特征。

输出:特征A对训练数据集D的信息增益g(D,A)。

信息增益g(D,A)的计算包括以下步骤:

(1)计算训练数据集D的经验熵H(D)

其中,D表示训练数据集,即样本的个数,|D|表示其样本容量,设有K个类Ck,k=1,2,…K,K为自然数,|Ck|为属于Ck的样本个数,设特征A有n个不同的取值{a1,a2,…,an},根据特征A的取值将D划分为n个子集D1,D2,…,Dn,|Di|为Di的样本个数,记子集Di中属于类Ck的样本的集合为Dik

(2)计算特征A对数据集D的经验条件熵H(D|A)

(3)计算信息增益

g(D,A)=H(D)-H(D|A)

决策树学习应用信息增益准则来选择特征。对于给定的训练数据集D和特征A,经验熵H(D)表示对数据集D进行分类的不确定性,而经验条件熵H(D|A)表示在特征A给定的条件下对数据集D进行分类的不确定性,那么它们的差,即信息增益,就表示由于特征A而使得对数据集D的分类不确定性减少的程度,显然,对于数据集D而言,信息增益依赖于特征,不同的特征往往具有不同的信息增益,信息增益大的特征具有更强的分类能力。

根据信息增益准则来选择特征的方法是:对训练数据集(或子集)D,计算其每个特征的信息增益,并比较它们的大小,选择信息增益最大的特征。

S30:构造分类超平面函数

支持向量机算法的最初的模型是最大间隔线性分类器,因此不能在非线性的情况下运用。然而核函数是将训练数据映射到高维空间中,并且在高维空间中学习、训练得出一个分类准确度较高的决策函数。

假设给定一个训练集T={(x1,y1),(x2,y2),...,(xN,yN)};

其中,xi∈X=Rn,yi∈Y={+1,-1},i=1,2,...,N,Rn表示N维的欧式空间,xi为第i个特征向量,yi为xi的类标记,即xi对应的分类。如果训练数据集线性不可分,则意味着这些训练样本点不满足函数间隔yi(w·xi+b)-1≥0的条件,为此,可以对每个训练样本点(xi,yi)引进一个松弛变量ξi≥0,使得函数间隔加上松弛变量大于等于1,因此约束条件可以改变为yi(w·xi+b)≥1-ξi,其中,w表示落在超平面上支持向量的权重,b表示阈值,可以理解为在超平面上各个坐标轴上的截距。

同时,对每个松弛变量ξi,加上一个惩罚参数,则目标函数的由原来的变成

这里,C称为惩罚参数,且0<C<1,一般由实际应用的问题决定,C值大是对误分类的惩罚增大,C值小是对误分类的惩罚减小,C是调和有噪声的点和被误分的点的参数,再将对目标函数求极大转换为极小,于是得到对偶问题式,可以通过求解对偶问题而得原始问题的解,进而确定分离超平面和决策函数。

非线性分类问题是指通过利用非线性模型才能很好地进行分类的问题,非线性问题往往不好求解,所以希望能用解线性分类问题的方法解决这个问题。基于这个目的,本实施例引入了核方法,其基本的思想就是通过一个非线性映射将原始空间中的数据映射到对应的特征空间中,分类问题的学习任务通过在特征空间中学习得出一个分类决策函数。

本实施例的主要目标是建立一个多核的函数。在实际问题的应用中核函数的选择与数据结构特点有着十分紧密的关系,而本实施例的向量值再生核函数就是基于多个基本核函数的线性组合,从而弥补了特定核函数关于数据特点的选择问题,通过调节与优化线性组合之间参数,使组合的核函数尽可能满足实际的需求。

在本实施例中,提供一个多核核函数,其能够将选取的预定数量的特征映射到高维的空间中,从而将这些预定数量的特征变成线性可分的。这是多核核函数的主要特征。其具体形式如下:

其中,a和b是训练数的权重,在训练过程中人为给出的,具体没有实际的含义;s和t是惩罚参数,其目的是为了平衡两个核函数;K是核函数,y是标签,s,t∈R且s+t=1,x,y∈[-1,1];x是训练数据,x=(x1,x2,x3,…xn),是一个n维的向量,可以理解为一个训练数据集n个特征,而||x-y||2表示的是在做高维映射时为了使得让数据变的线性可分。

即多核核函数K是由两个核函数的组成的多核核函数,其目的是将非线性的点经过核函数作用映射到更高维空间中,将其变成线性可分的。

本发明实施例提供的上述向量值的多核函数有很大的灵活性,它可以将不同类型的核函数组合在一起,由此可以构造出不同的核函数,以对文本进行分类,具体步骤如下:

输入:训练数据集训练集T={(x1,y1),(x2,y2),...,(xN,yN)};其中,xi∈X=Rn,yi∈Y={+1,-1},i=1,2,...,N,xi为第i个特征向量,yi为xi的类标记,即xi对应的分类。

(1)选择惩罚参数0<C<1,构造并求解凸二次规划问题

式中,0≤αi≤C,i=1,2,...,N;

即,通过序列最小化算法训练求得最优解其中N是自然数,N的大小具体是多少训练样本的个数有关。

(2)计算

选择α*的一个分量适合条件计算

(3)构造决策函数

(4)使用多核核函数替换决策函数中的K(x,xi),得到分类超平面函数。

S2:通过分类超平面函数,对新输入的文本进行预测

在得到上述分类超平面函数后,如果将文本输入该分类超平面函数,即可以实现对文本的分类,例如:有两条新闻,一个是关于篮球的新闻,一条是关于饮食类的新闻,本发明首先根据这两条新闻得到分类超平面函数,然后对新输入的新闻做分类,判断新输入的新闻是属于关于篮球类的新闻,还是饮食类的新闻。

实施例2

本实施例提供了一种文本处理系统,其包括:

分类超平面函数建立模块,用于分类超平面函数;

文本预测模块,通过分类超平面函数对文本进行预测;

其中,所述分类超平面函数建立模块包括:

词条文档矩阵建立单元,用于对文本进行分词处理,建立词条文档矩阵;

特征提取单元,通过决策树算法从词条文档矩阵中提取特征;

分类超平面函数构造单元,用于构造分类超平面函数。

本实施例中,与实施例1类似,所述词条文档矩阵建立单元将文本读入到R语言程序中,运用分词工具或用户定义的分词规则将所述文本拆分成单个的词,并统计每个词出现的词频;使用至少一个向量将该文本表示成布尔矩阵和词频矩阵的形式。

本实施例中,所述布尔矩阵中,使用0和1表示特征值,如果第i个特征值在文本中出现,定义该文本特征向量的第i个分量值ti=1,否则ti=0,i=1,2,…,n。

本实施例中,所述词频矩阵表示的特征词在文本中出现的次数,其中每一行代表一个文本向量,每列代表一个特征词,矩阵中的特征值ti代表特征词出现的次数。

所述特征提取单元,可以通过下述步骤提取特征:

计算训练数据集D的经验熵H(D):式中,D表示训练数据集,|D|表示其样本容量,设有K个类Ck,k=1,2,…K,K为自然数,|Ck|为属于Ck的样本个数;设特征A有n个不同的取值{a1,a2,…,an},根据特征A的取值将D划分为n个子集D1,D2,…,Dn,|Di|为Di的样本个数,记子集Di中属于类Ck的样本的集合为Dik

计算特征A对数据集D的经验条件熵H(D|A):

计算信息增益:g(D,A)=H(D)-H(D|A);

选取信息增益最大的特征。

所述分类超平面函数构造单元可以通过下述步骤构造分类超平面函数:

S301、选择惩罚参数0<C<1,构造并求解凸二次规划问题:式中,0≤αi≤C,i=1,2,...,N;通过序列最小化算法求得最优解

式中,N是自然数,其具体值与训练样本个数有关;αi和αj是对应训练样本xi和xj的权重,b表示的为支持向量的权重和阈值,k(xi,xj)是核函数,s.t是数学符号;

S302、计算选择α*的一个分量适合条件计算

S303、构造决策函数

S304、提供多核核函数:替换决策函数中的K(x,xi),得到分类超平面函数,其中,a和b为训练数的权重;s和t是惩罚参数;K是核函数,y是标签,s,t∈R,且s+t=1,x,y∈[-1,1],e为自然对数。

以上实施例的先后顺序仅为便于描述,不代表实施例的优劣。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1