一种基于内容的问题自动分类方法及其系统转让专利

申请号 : CN200810102710.X

文献号 : CN101251862B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘文印

申请人 : 北京百问百答网络技术有限公司

摘要 :

本发明公开了一种基于内容的问题自动分类方法及其系统,该系统包括:问题关键字获取模块,用于根据模板中的关键字标签和/或可填充内容标签获取新问题的问题关键字,为问题关键字设置权值,并得到新问题的问题向量;特征空间构造模块,用于根据已有所有类别的问题及所述权值获取每一类别的特征向量,构造特征空间;及语义映射模块,连接特征空间构造模块、问题关键字获取模块,用于将新问题的问题向量映射到特征空间,根据新问题映射后的问题向量、每一类别的特征向量计算新问题与每一类别之间的相似度,并根据相似度返回最相关的类别。本发明实现了对用户所提出的新问题自动分类,并把最可能的结果返回给用户供其选择。

权利要求 :

1.一种基于内容的问题自动分类方法,其特征在于,包括:

问题关键字获取步骤,用于根据模板中的关键字标签和/或可填充内容标签获取新问题的问题关键字,为所述问题关键字设置权值,并根据所述权值得到所述新问题的问题向量;

特征空间构造步骤,用于根据已有所有类别的问题及所述权值获取每一类别的特征向量,并构造特征空间;

语义映射步骤,用于将所述新问题的问题向量映射到所述特征空间,根据所述新问题映射后的问题向量、每一类别的特征向量计算所述新问题与每一类别之间的相似度,并根据所述相似度返回最相关的类别;

所述问题关键字获取步骤中,进一步包括:

根据词频为所述新问题中的每个单词设置初始权值,并在获取所述问题关键字后,将所述问题关键字的权值设置为该初始权值乘以λ的步骤;

当λ为1时,所述新问题中的所有单词的重要性相同,当λ大于1时,对所述问题关键字已被设置为较高的权值;

所述获取每一类别的特征向量的步骤进一步包括:

由每一类别中的所有单词表示该类别初始的特征向量;

根据单词的权值对每一类别中的所有单词按降序排序,第j个单词在第i个类别中的的权值由tfij和idfj的乘积来计算;

根据所有类别中单词的集合WS、所有类别的集合C以如下公式获取满足下面条件的前ki个词作为第i个类别ci的特征向量:ki=min{l|1l|WS|,Σj=1l(tfij·idfj)2δ·Σj=1|WS|(tfij·idfj)2}|WS|:WS中单词的总数;

tfij:第j个单词在第i个类别中的词频;

idfj:第j个单词的逆向类别频率,是所有类别的数目与包含第j个单词的类别的数目的比值或该比值的函数;

δ:权值覆盖参数,在0和1之间。

2.根据权利要求1所述的基于内容的问题自动分类方法,其特征在于,所述由每一类别中的所有单词表示该类别初始的特征向量的步骤中,还包括:对带有模板的问题中的单词根据该单词是否有关键字标签和/或可填充内容标签计算不同的词频的步骤;在统计该单词在一个类别中的词频时,如果该单词在该类别的一个问题中没有关键字标签和/或可填充内容标签,则该单词在该类别的词频增加1次;如果该单词在该类别的该问题中有关键字标签和/或可填充内容标签,则该单词在该类别的词频增加λ,λ不小于1。

3.根据权利要求1或2所述的基于内容的问题自动分类方法,其特征在于,所述语义映射步骤具体包括:

生成所述新问题中的单词与所述特征空间中的单词的相似度矩阵;

根据所述相似度矩阵将所述新问题的问题向量映射到所述特征空间,得到所述新问题映射后的问题向量;

根据所述新问题映射后的问题向量、每一类别的特征向量计算所述新问题与每一类别的相似度,并根据所述相似度返回与所述新问题最相关的类别;

以如下公式生成所述相似度矩阵:

S=s11......s1j.....s1n.......si1......sij..............sm1......smnS:新问题中的单词与特征空间中的单词的相似度矩阵;

n:特征空间中单词的数目;m:新问题中单词的数目;

sij:新问题中第i个单词和特征空间中第j个单词的相似度。

4.根据权利要求3所述的基于内容的问题自动分类方法,其特征在于,所述sij通过基于同义词典的最短路径长度计算方法获取,计算公式是:sij=0disij>γ1disij+1disijγdisij:第i个单词、第j个单词之间的最短路径长度;γ:非负的阈值;

如果第i个单词、第j个单词在该同义词典中的最短路径长度大于γ,则认为两个单词完全不相似。

5.根据权利要求3所述的基于内容的问题自动分类方法,其特征在于,通过将所述新问题的问题向量与所述相似度矩阵相乘进行映射,得到所述新问题映射后的问题向量,计算公式是:

以如下公式表示所述新问题映射前的问题向量:

q=(w1,w2,......,wm)

q’:新问题映射后的问题向量;

q:新问题映射前的问题向量;

wi:新问题中第i个单词的权值;

m:新问题中单词的数目。

6.根据权利要求4或5所述的基于内容的问题自动分类方法,其特征在于,通过将所述新问题映射后的问题向量与每一类别的特征向量利用一相似度模型计算所述相似度。

7.根据权利要求1、2、4或5所述的基于内容的问题自动分类方法,其特征在于,所述语义映射步骤中,进一步包括:当所述新问题为隐私问题时,通过把已知的涉及个人隐私的所有或典型问题放入称为隐私的类别,计算所述新问题与该类别的相似度是否超过一个设定的阈值,以判断所述新问题是否为属于隐私的问题;或当所述新问题为暴力问题时,通过把已知的涉及暴力的所有或典型问题放入名称为暴力的类别,计算所述新问题与该类别的相似度是否超过一个设定的阈值,以判断所述新问题是否为属于暴力的问题;或当所述新问题为色情问题时,通过把已知的涉及色情的所有或典型问题放入名称为色情的类别,计算所述新问题与该类别的相似度是否超过一个设定的阈值,以判断所述新问题是否为属于色情的问题;或当所述新问题为国家安全问题时,通过把已知的涉及国家安全问题的所有或典型问题放入名称为涉及国家安全问题的类别,计算所述新问题与该类别的相似度是否超过一个设定的阈值,以判断所述新问题是否为属于涉及国家安全问题的问题。

8.一种基于内容的问题自动分类系统,其特征在于,包括:

问题关键字获取模块,用于根据模板中的关键字标签和/或可填充内容标签获取新问题的问题关键字,为所述问题关键字设置权值,并根据所述权值得到所述新问题的问题向量;

特征空间构造模块,连接所述问题关键字获取模块,用于根据已有所有类别的问题及所述权值获取每一类别的特征向量,构造特征空间;及语义映射模块,连接所述特征空间构造模块、所述问题关键字获取模块,用于将所述新问题的问题向量映射到所述特征空间,根据所述新问题映射后的问题向量、每一类别的特征向量计算所述新问题与每一类别之间的相似度,并根据所述相似度返回最相关的类别;

所述问题关键字获取模块又包括:

关键字获取模块,用于根据模板中的关键字标签和/或可填充内容标签获取所述问题关键字;

关键字权值设置模块,连接所述关键字获取模块,用于为所述问题关键字设置权值,并根据所述权值得到所述新问题的问题向量;

所述关键字权值设置模块根据词频为所述新问题中的每个单词设置初始权值,并在所述关键字获取模块获取所述问题关键字后,将所述问题关键字的权值设置为该初始权值乘以λ;

当λ为1时,所述新问题中的所有单词的重要性相同,当λ大于1时,对所述问题关键字已被设置为较高的权值;

所述特征空间构造模块又包括:

特征向量初始化模块,用于由每一类别中的所有单词表示该类别初始的特征向量;

单词排序模块,连接所述特征向量初始化模块,用于根据单词的权值对每一类别中的所有单词按降序排序,第j个单词在第i个类别中的的权值由tfij和tdfj的乘积来计算;

特征向量生成模块,连接所述单词排序模块,用于根据所有类别中单词的集合WS、所有类别的集合C以如下公式获取满足下面条件的前ki个词作为第i个类别ci的特征向量:ki=min{l|1l|WS|,Σj=1l(tfij·idfj)2δ·Σj=1|WS|(tfij·idfj)2}|WS|:WS中单词的总数;tfij:第j个单词在第i个类别中的词频;

idfj:第j个单词的逆向类别频率,是所有类别的数目与包含第j个单词的类别的数目的比值或该比值的函数;

δ:权值覆盖参数,在0和1之间。

9.根据权利要求8所述的基于内容的问题自动分类系统,其特征在于,所述特征向量初始化模块对带有模板的问题中的单词根据该单词是否有关键字标签和/或可填充内容标签计算不同的词频;在统计该单词在一个类别中的词频时,如果该单词在该类别的一个问题中没有关键字标签和/或可填充内容标签,则该单词在该类别的词频增加1次;如果该单词在该类别的该问题中有关键字标签和/或可填充内容标签,则该单词在该类别的词频增加λ,λ不小于1。

10.根据权利要求8或9所述的基于内容的问题自动分类系统,其特征在于,所述语义映射模块又包括:

单词相似度矩阵生成模块,用于生成所述新问题中的单词与所述特征空间中的单词的相似度矩阵;

问题向量映射模块,连接所述单词相似度矩阵生成模块,用于根据所述相似度矩阵将所述新问题的问题向量映射到所述特征空间,得到所述新问题映射后的问题向量;

问题与类别相似度计算模块,连接所述问题向量映射模块,用于根据所述新问题映射后的问题向量、每一类别的特征向量计算所述新问题与每一类别的相似度,并根据所述相似度返回与所述新问题最相关的类别;

所述单词相似度矩阵生成模块以如下公式生成所述相似度矩阵:

S=s11......s1j.....s1n.......si1......sij..............sm1......smnS:新问题中单词与特征空间中的单词的相似度矩阵;

n:特征空间中单词的数目;m:新问题中单词的数目;

sij:新问题中第i个单词和特征空间中第j个单词的相似度。

11.根据权利要求10所述的基于内容的问题自动分类系统,其特征在于,所述sij通过基于同义词典的最短路径长度计算方法获取,计算公式是:sij=0disij>γ1disij+1disijγdisij:两个单词的最短路径长度;

γ:非负的阈值;

如果第i个单词、第j个单词在该同义词典中的最短路径长度大于γ,则认为两个单词完全不相似。

12.根据权利要求10所述的基于内容的问题自动分类系统,其特征在于,所述问题向量映射模块通过将所述新问题的问题向量与所述相似度矩阵相乘进行映射,得到所述新问题映射后的问题向量,计算公式是:

q=(w1,w2,......,wm)

q’:新问题映射后的问题向量;

q:新问题映射前的问题向量;

wi:新问题中第i个单词的权值;

m:新问题中单词的数目。

13.根据权利要求8、9、11或12所述的基于内容的问题自动分类系统,其特征在于,所述问题与类别相似度计算模块通过将所述新问题映射后的问题向量与每一类别的特征向量利用一相似度模型计算所述相似度。

14.根据权利要求8、9、11或12所述的基于内容的问题自动分类系统,其特征在于,所述新问题包括隐私问题、暴力问题、色情问题、国家安全问题或特定类别问题中的一种或多种。

15.根据权利要求14所述的基于内容的问题自动分类系统,其特征在于,

所述语义映射模块在当所述新问题为隐私问题时,通过把已知的涉及个人隐私的所有或典型问题放入称为隐私的类别,计算所述新问题与该类别的相似度是否超过一个设定的阈值,以判断所述新问题是否为属于隐私的问题;或所述语义映射模块在当所述新问题为暴力问题时,通过把已知的涉及暴力的所有或典型问题放入名称为暴力的类别,计算所述新问题与该类别的相似度是否超过一个设定的阈值,以判断所述新问题是否为属于暴力的问题;或所述语义映射模块在当所述新问题为色情问题时,通过把已知的涉及色情的所有或典型问题放入名称为色情的类别,计算所述新问题与该类别的相似度是否超过一个设定的阈值,以判断所述新问题是否为属于色情的问题;或所述语义映射模块在当所述新问题为国家安全问题时,通过把已知的涉及国家安全问题的所有或典型问题放入名称为涉及国家安全问题的类别,计算所述新问题与该类别的相似度是否超过一个设定的阈值,以判断所述新问题是否为属于涉及国家安全问题的问题。

说明书 :

技术领域

本发明涉及分类技术,特别是涉及一种基于内容的问题自动分类方法及其系统。

背景技术

传统的文本相似度计算方法通过对文本用其词频向量(或称为文本词频向量,term-frequency vector)表示,然后计算词频向量间的距离得到文本相似度。然而,大多数现有的计算文本相似度的方法只适用于长文本,传统的计算长文本相似度方法之所以有效,是因为相似的长文本通常包含了一定数量的相同的词汇。但是对于问题这样的短文本,相似的问题并不一定有相同的词,自然语言的灵活性使得人们可以通过不同的措词表达相同的意思,所以现有的相似度计算方法应用效果并不好。另外,现有方法只从以自由文本表示的问题内容本身,很难得知哪个词是最关键(核心)的词(即问题关键字),因此不能对这些词予以重视,也就不能很好地理解问题内容及对其分类。
一种现有的文本相似度计算的改进方法是Hatzivassiloglou等人提出的对多个特征进行综合的方法(见V.Hatzivassiloglou,J.Klavans,and E.Eskin.“Detecting Text Similarity over Short Passages:Exploring Linguistic FeatureCombinations via Machine Learning.”Proc.Joint SIGDAT Conference onEmpirical Methods in NLP and Very Large Corpora,1999),该方法综合了词汇共同出现(Word co-occurrence),名词短语匹配,WordNet同义词,动词的共同词义类和共有的专用名词(Shared Proper Noun)等一些简单特征以及一些复杂特征,如顺序、距离和原语(Primitive),从而进行文本相似度计算。然而,该方法只是以前方法的一个综合体并且试验显示其仅在包含一个至几个段落的文本上效果不错,并不能很好地解决短文本相似度的计算。
另一种文本相似度计算的改进方法是Okazaki等人提出的把词汇数据库应用到计算句子间的相似度当中的文本相似度计算方法(见N.Okazaki,Y.Matsuo,N.Matsumura,and M.Ishizuka.“Sentence Extraction by SpreadingActivation through Sentence Similarity,”IEICE Transactions on Information andSystems,vol.E86D,no.9,pp.1686-1694,2003)。在该方法中,句子相似度通过累加所有词汇对获得。然而,该方法有两个缺点:首先,有较多同义词的词汇会对结果产生较大的影响;其次,未能解决一词多义的问题。
此外,现有技术中还有些分类方法,但这些分类方法在用户所提出的新问题涉及个人隐私、反动/国家安全、暴力、色情等不安全或令人反感的信息的问题,无法有效地对用户所提出的问题进行分类管理,且大多数的分类方法需要用户对所提出的问题进行手工分类,因此这大大限制了用户提问的效率,进一步响应了用户对所提问题的体验。
因此,有必要提出一种高效率的自动问题分类方法,提高问题分类的准确率;同时要求该方法能对人们日常生活中广为涉及的不安全或令人反感的信息的问题起到过滤作用,以提高问答系统的安全程度,为用户提供一个良好的安全环境,使用户体验更愉快。

发明内容

本发明所要解决的技术问题在于提供一种基于内容的问题自动分类方法及其系统,用于解决现有技术中问题分类不准、用户提问效率不高以及问答环境不安全、不愉快等问题。
为了实现上述目的,本发明提供了一种基于内容的问题自动分类方法,其特征在于,包括:
问题关键字获取步骤,用于根据模板中的关键字标签和/或可填充内容标签获取新问题的问题关键字,为所述问题关键字设置权值,并根据所述权值得到所述新问题的问题向量;
特征空间构造步骤,用于根据已有所有类别的问题及所述权值获取每一类别的特征向量,并构造特征空间;
语义映射步骤,用于将所述新问题的问题向量映射到所述特征空间,根据所述新问题映射后的问题向量、每一类别的特征向量计算所述新问题与每一类别之间的相似度,并根据所述相似度返回最相关的类别。
所述的基于内容的问题自动分类方法,其中,所述问题关键字获取步骤中,进一步包括:
根据词频为所述新问题中的每个单词设置初始权值,并在获取所述问题关键字后,将所述问题关键字的权值设置为该初始权值乘以λ的步骤;
当λ为1时,所述新问题中的所有单词的重要性相同,当λ大于1时,对所述问题关键字已被设置为较高的权值。
所述的基于内容的问题自动分类方法,其中,所述获取每一类别的特征向量的步骤具体包括:
由每一类别中的所有单词表示该类别初始的特征向量;
根据单词的权值对每一类别中的所有单词按降序排序,第j个单词在第i个类别中的的权值由tfij和idfj的乘积来计算;
根据所有类别中单词的集合WS、所有类别的集合C以如下公式获取满足下面条件的前ki个词作为第i个类别ci的特征向量:
ki=min{l|1l|WS|,Σj=1l(tfij·idfj)2δ·Σj=1|WS|(tfij·idfj)2}
|WS|:WS中单词的总数;
tfij:第j个单词在第i个类别中的词频;
idfj:第j个单词的逆向类别频率,是所有类别的数目与包含第j个单词的类别的数目的比值或该比值的函数;
δ:权值覆盖参数,在0和1之间。
所述的基于内容的问题自动分类方法,其中,所述由每一类别中的所有单词表示该类别初始的特征向量的步骤中,进一步包括:
对带有模板的问题中的单词根据该单词是否有关键字标签和/或可填充内容标签计算不同的词频的步骤;在统计该单词在一个类别中的词频时,如果该单词在该类别的一个问题中没有关键字标签和/或可填充内容标签,则该单词在该类别的词频增加1次;如果该单词在该类别的该问题中有关键字标签和/或可填充内容标签,则该单词在该类别的词频增加λ,λ不小于1。
所述的基于内容的问题自动分类方法,其中,所述语义映射步骤具体包括:
生成所述新问题中的单词与所述特征空间中的单词的相似度矩阵;
根据所述相似度矩阵将所述新问题的问题向量映射到所述特征空间,得到所述新问题映射后的问题向量;
根据所述新问题映射后的问题向量、每一类别的特征向量计算所述新问题与每一类别的相似度,并根据所述相似度返回与所述新问题最相关的类别;
以如下公式生成所述相似度矩阵:

S:新问题中的单词与特征空间中的单词的相似度矩阵;
n:特征空间中单词的数目;
sij:新问题中第i个单词和特征空间中第j个单词的相似度。
所述的基于内容的问题自动分类方法,其中,所述sij通过基于同义词典的最短路径长度计算方法获取,计算公式是:
sij=0disij>γ1disij+1disijγ
disij:第i个单词、第j个单词之间的最短路径长度;
γ:非负的阈值;
如果第i个单词、第j个单词在该同义词典中的最短路径长度大于γ,则认为两个单词完全不相似。
所述的基于内容的问题自动分类方法,其中,通过将所述新问题的问题向量与所述相似度矩阵相乘进行映射,得到所述新问题映射后的问题向量,计算公式是:

以如下公式表示所述新问题映射前的问题向量:
q=(w1,w2,......,wm)
q’:新问题映射后的问题向量;
q:新问题映射前的问题向量;
wi:新问题中第i个单词的权值;
m:新问题中单词的数目。
所述的基于内容的问题自动分类方法,其中,通过将所述新问题映射后的问题向量与每一类别的特征向量利用一相似度模型计算所述相似度。
所述的基于内容的问题自动分类方法,其中,所述语义映射步骤中,进一步包括:
当所述新问题为隐私问题时,通过把已知的涉及个人隐私的所有或典型问题放入称为隐私的类别,计算所述新问题与该类别的相似度是否超过一个设定的阈值,以判断所述新问题是否为属于隐私的问题;或
当所述新问题为暴力问题时,通过把已知的涉及暴力的所有或典型问题放入名称为暴力的类别,计算所述新问题与该类别的相似度是否超过一个设定的阈值,以判断所述新问题是否为属于暴力的问题;或
当所述新问题为色情问题时,通过把已知的涉及色情的所有或典型问题放入名称为色情的类别,计算所述新问题与该类别的相似度是否超过一个设定的阈值,以判断所述新问题是否为属于色情的问题;或
当所述新问题为国家安全问题时,通过把已知的涉及国家安全问题的所有或典型问题放入名称为涉及国家安全问题的类别,计算所述新问题与该类别的相似度是否超过一个设定的阈值,以判断所述新问题是否为属于涉及国家安全问题的问题。
为了实现上述目的,本发明还提供了一种基于内容的问题自动分类系统,其特征在于,包括:
问题关键字获取模块,用于根据模板中的关键字标签和/或可填充内容标签获取新问题的问题关键字,为所述问题关键字设置权值,并根据所述权值得到所述新问题的问题向量;
特征空间构造模块,连接所述问题关键字获取模块,用于根据已有所有类别的问题及所述权值获取每一类别的特征向量,构造特征空间;及
语义映射模块,连接所述特征空间构造模块、所述问题关键字获取模块,用于将所述新问题的问题向量映射到所述特征空间,根据所述新问题映射后的问题向量、每一类别的特征向量计算所述新问题与每一类别之间的相似度,并根据所述相似度返回最相关的类别。
所述的基于内容的问题自动分类系统,其中,所述问题关键字获取模块又包括:
关键字获取模块,用于根据模板中的关键字标签和/或可填充内容标签获取所述问题关键字;
关键字权值设置模块,连接所述关键字获取模块,用于为所述问题关键字设置权值,并根据所述权值得到所述新问题的问题向量。
所述的基于内容的问题自动分类系统,其中,所述关键字权值设置模块根据词频为所述新问题中的每个单词设置初始权值,并在所述关键字获取模块获取所述问题关键字后,将所述问题关键字的权值设置为该初始权值乘以λ;
当λ为1时,所述新问题中的所有单词的重要性相同,当λ大于1时,对所述问题关键字已被设置为较高的权值。
所述的基于内容的问题自动分类系统,其中,所述特征空间构造模块又包括:
特征向量初始化模块,用于由每一类别中的所有单词表示该类别初始的特征向量;
单词排序模块,连接所述特征向量初始化模块,用于根据单词的权值对每一类别中的所有单词按降序排序,第j个单词在第i个类别中的的权值由tfij和idfj的乘积来计算;
特征向量生成模块,连接所述单词排序模块,用于根据所有类别中单词的集合WS、所有类别的集合C以如下公式获取满足下面条件的前ki个词作为第i个类别ci的特征向量:
ki=min{l|1l|WS|,Σj=1l(tfij·idfj)2δ·Σj=1|WS|(tfij·idfj)2}
|WS|:WS中单词的总数;
tfij:第j个单词在第i个类别中的词频;
idfj:第j个单词的逆向类别频率,是所有类别的数目与包含第j个单词的类别的数目的比值或该比值的函数;
δ:权值覆盖参数,在0和1之间。
所述的基于内容的问题自动分类系统,其中,所述特征向量初始化模块对带有模板的问题中的单词根据该单词是否有关键字标签和/或可填充内容标签计算不同的词频;在统计该单词在一个类别中的词频时,如果该单词在该类别的一个问题中没有关键字标签和/或可填充内容标签,则该单词在该类别的词频增加1次;如果该单词在该类别的该问题中有关键字标签和/或可填充内容标签,则该单词在该类别的词频增加λ,λ不小于1。
所述的基于内容的问题自动分类系统,其中,所述语义映射模块又包括:
单词相似度矩阵生成模块,用于生成所述新问题中的单词与所述特征空间中的单词的相似度矩阵;
问题向量映射模块,连接所述单词相似度矩阵生成模块,用于根据所述相似度矩阵将所述新问题的问题向量映射到所述特征空间,得到所述新问题映射后的问题向量;
问题与类别相似度计算模块,连接所述问题向量映射模块,用于根据所述新问题映射后的问题向量、每一类别的特征向量计算所述新问题与每一类别的相似度,并根据所述相似度返回与所述新问题最相关的类别;
所述单词相似度矩阵生成模块以如下公式生成所述相似度矩阵:

S:新问题中单词与特征空间中的单词的相似度矩阵;
n:特征空间中单词的数目;
sij:新问题中第i个单词和特征空间中第j个单词的相似度。
所述的基于内容的问题自动分类系统,其中,所述sij通过基于同义词典的最短路径长度计算方法获取,计算公式是:
sij=0disij>γ1disij+1disijγ
disij:两个单词的最短路径长度;
γ:非负的阈值;
如果第i个单词、第j个单词在该同义词典中的最短路径长度大于γ,则认为两个单词完全不相似。
所述的基于内容的问题自动分类系统,其中,所述问题向量映射模块通过将所述新问题的问题向量与所述相似度矩阵相乘进行映射,得到所述新问题映射后的问题向量,计算公式是:

q=(w1,w2,......,wm)
q’:新问题映射后的问题向量;
q:新问题映射前的问题向量;
wi:新问题中第i个单词的权值;
m:新问题中单词的数目。
所述的基于内容的问题自动分类系统,其中,所述问题与类别相似度计算模块通过将所述新问题映射后的问题向量与每一类别的特征向量利用一相似度模型计算所述相似度。
所述的基于内容的问题自动分类系统,其中,所述新问题包括隐私问题、暴力问题、色情问题、国家安全问题或特定类别问题中的一种或多种。
所述的基于内容的问题自动分类系统,其中,
所述语义映射模块在当所述新问题为隐私问题时,通过把已知的涉及个人隐私的所有或典型问题放入称为隐私的类别,计算所述新问题与该类别的相似度是否超过一个设定的阈值,以判断所述新问题是否为属于隐私的问题;或
所述语义映射模块在当所述新问题为暴力问题时,通过把已知的涉及暴力的所有或典型问题放入名称为暴力的类别,计算所述新问题与该类别的相似度是否超过一个设定的阈值,以判断所述新问题是否为属于暴力的问题;或
所述语义映射模块在当所述新问题为色情问题时,通过把已知的涉及色情的所有或典型问题放入名称为色情的类别,计算所述新问题与该类别的相似度是否超过一个设定的阈值,以判断所述新问题是否为属于色情的问题;或
所述语义映射模块在当所述新问题为国家安全问题时,通过把已知的涉及国家安全问题的所有或典型问题放入名称为涉及国家安全问题的类别,计算所述新问题与该类别的相似度是否超过一个设定的阈值,以判断所述新问题是否为属于涉及国家安全问题的问题。
本发明的有益技术效果在于:
与现有技术相比,本发明提出了一种基于内容的问题自动分类的方法,其通过对每一类别内的现有问题的内容进行分析,获取每一类别的特征向量,及所有类别的问题所构成的特征空间,通过给问题关键字设置较高权值以及计算词语相似度等方法,计算新问题与每一个类别的特征向量的相似度(或关联程度),从而将用户所提出的新问题自动分类,并把最可能的结果返回给用户供其选择。该方法有利于系统对用户所提问题进行分类管理,提高管理效率,以及实现过滤涉及个人隐私、反动、暴力、色情等不安全信息的问题。该方法免除了用户对其问题进行的手工分类,因此有利于提高用户提问的效率;同时该分类方法实现了问题的准确分类,问答环境较为安全,使用户问答更为愉快。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。

附图说明

图1是本发明的问题自动分类系统结构图;
图2是本发明的问题自动分类方法流程图;
图3是本发明的义映射模块处理流程图;
图4是本发明λ=1时的测试结果;
图5是本发明λ=2时的测试结果;
图6是本发明λ=3时的测试结果;
图7是本发明方法(λ=2时)与词频方法的比较(推荐1个类别);
图8是本发明方法(λ=2时)与词频方法的比较(推荐3个类别)。

具体实施方式

下面结合附图和具体实施方式对本发明的技术方案作进一步更详细的描述。
如图1所示,是本发明的问题自动分类系统结构图。该系统100包括:特征空间构造模块10、问题关键字获取模块20、语义映射模块30。
首先,当一个用户提出一个新问题时,该问题被送至问题关键字获取模块20处理。问题关键字获取模块20根据模板中的关键字标签和/或可填充内容标签获取新问题的问题关键字,并为获取的问题关键字设置较高的权值,同时根据单词的权值得到该新问题的问题向量。特征空间构造模块10根据已有所有类别的问题及权值生成每一类别的特征向量,并构造特征空间。在本发明的实施例中,将百答问答系统(www.BuyAns.com)中的3120个已有问题作为问题数据库40,用来构造特征空间。然后在语义映射模块30中将该新问题的问题向量映射到特征空间,得到新问题映射后的问题向量,根据新问题映射后的问题向量、每一类别的特征向量计算新问题与每一类别之间的相似度,并根据相似度划分问题与不同类别之间的相似度级别,从而获取更准确的结果。有关关键字标签和/或可填充内容标签的定义参见专利申请号码为200510130778.5的中国发明专利申请、国际发明专利申请号为PCT/CN2006/003648的发明专利申请“一种网上用户交互问答方法及其系统”。
相对于普通文本,问题通常较短,因此在本发明实施例中,采用单词层次的特征代替短语层次的特征。
进一步地,特征空间构造模块10包括:特征向量初始化模块11、单词排序模块12、特征向量生成模块13。
特征向量初始化模块11,用于将每一类别中所有单词表示该类别初始的特征向量;
单词排序模块12,连接特征向量初始化模块11,用于根据单词的权值对每一类别中的所有单词按降序排序;
第j个单词在第i个类别中的的权值由tfij和idfj的乘积来计算。
特征向量生成模块13,连接单词排序模块12,用于生成特征向量,其是用WS代表所有单词的集合,C代表所有类别的集合,用满足下面条件的前ki个词作为第i个类别ci的特征向量,其中,
ki=min{l|1l|WS|,Σj=1l(tfij·idfj)2δ·Σj=1|WS|(tfij·idfj)2}
式中符号意义如下:
WS:所有单词的集合;
C:所有类别的集合;
|WS|:WS中单词的总数;
tfij:第j个单词在第i个类别中的词频;
idfj:第j个单词的逆向类别频率,即所有类别的数目与包含第j个单词的类别的数目的比值或该比值的某一函数,如该比值的对数或正数平方根;
δ:权值覆盖参数,在0和1之间。
进一步地,问题关键字获取模块20包括:关键字获取模块21、关键字权值设置模块22。
关键字获取模块21,用于根据模板中的关键字标签和/或可填充内容标签来获取问题关键字。
关键字获取模块21在获取问题关键字时所采用的模板是事先生成的、由用户在提问时选用的模板,如百答问答系统(www.BuyAns.com)中供用户提问的模板;其中,关键字标签和/或可填充内容标签用来标识问题类型、问题目标、可填充部分的语义信息等。例如,问题“What book did Rachel Carson writein 1962?”对应的模板可以为:
[Physical_Object\Product]did[Physical_Object\Human]writein[Numeric\Date]?
这里,“<>”、“[]”部分即关键字标签和/或可填充内容标签。问题中被标注的单词如“book”、“Rachel Carson”、“1962”,相对于其他未被标注的单词来说更加重要。通过其对应的关键字标签和/或可填充内容标签即可获取所有被标注的单词,并作为问题关键字。
在本发明的实施例中,关键字权值设置模块22通过下面的方法为问题关键字设置较高的权值。首先,关键字权值设置模块22根据词频为新问题中的每个单词设置初始权值。在关键字获取模块21获取新问题的问题关键字后,将初始权值乘以一个系数λ。这里,λ不小于1。当λ为1时,所有单词同等重要;当λ大于1时,问题关键字即被设置较高的权值。
进一步地,用户在提问时也可以不选用任何模板,此时问题所有的关键字都没有关键字标签和/或可填充内容标签,也就找不到关键字,此时不需做任何特殊处理。
同样地,在特征向量初始化时,特征向量初始化模块11也可以对带有模板的问题中的单词根据其是否有关键字标签和/或可填充内容标签而计算不同的词频。在统计某个单词在某个类别中的词频时,如果该单词在该类别的某个问题中没有关键字标签和/或可填充内容标签,则该单词在该类别的词频只是正常地增加1次。但是如果该单词有关键字标签和/或可填充内容标签,其词频则可增加λ(λ不小于1)。
针对某一用户提出的新问题,语义映射模块30包括:单词相似度矩阵生成模块31、问题向量映射模块32、问题与类别相似度计算模块33。
单词相似度矩阵生成模块31,用于生成新问题中的单词与特征空间中的单词的相似度矩阵。
问题向量映射模块32,连接单词相似度矩阵生成模块31,用于根据相似度矩阵将新问题的问题向量映射到特征空间,得到新问题映射后的问题向量。
问题与类别相似度计算模块33,连接问题向量映射模块32,用于根据新问题映射后的问题向量与每个类别的特征向量计算新问题与每个类别的相似度,根据这些相似度值,来判断新问题与每个类别的关联程度,最后返回最相关的若干类别。
单词相似度矩阵生成模块31生成单词相似度矩阵的公式如下:

式中符号意义如下:
S:新问题中单词与特征空间中的单词的相似度矩阵;
n:特征空间中单词的数目;
sij:新问题中第i个单词和特征空间中第j个单词的相似度。
其中,sij通过基于WordNet或任一其他同义词典的最短路径长度计算方法来获得,即
sij=0disij>γ1disij+1disijγ
式中符号意义如下:
sij:新问题中第i个单词和特征空间中第j个单词的相似度;
disij:两个单词的最短路径长度;
γ:一个非负的阈值。如果两个单词在WordNet或任一其他同义词典中的最短路径长度大于该阈值,则认为它们是完全不同的。
问题向量映射模块32进行映射所采用的新问题初始的问题向量表示为:
q=(w1,w2,......,wm)
式中符号意义如下:
q:新问题的问题向量;
m:新问题中单词的数目;
wi:新问题中第i个单词的权值。
问题向量映射模块32进行映射是通过将新问题的问题向量与单词相似度矩阵相乘来实现的,即

式中符号意义如下:
q’:新问题映射后的问题向量;
q:新问题映射前的问题向量;
S:新问题中单词与特征空间中的单词的相似度矩阵;
wi:新问题中第i个单词的权值;
n:特征空间中单词的数目;
sij:新问题中第i个单词和特征空间中第j个单词的相似度。
问题与类别相似度计算模块33通过将新问题映射后的问题向量与类别的特征向量利用任一相似度模型来计算所述相似度,如,进行点积来获得相似度,即
sim(q′,ci)=q′·ci
式中符号意义如下:
sim(q’,ci):相似度;
q’:新问题映射后的问题向量;
ci:第i个类别的向量。
本发明提出的问题自动分类系统是基于问答系统,实现了问题的自动分类,有利于系统对用户所提问题进行分类管理,提高管理效率,以及实现过滤涉及个人隐私、反动/国家安全、暴力、色情等不安全或令人反感信息的一种或多种问题。该系统也可以免除用户对其问题进行的手工分类,因此有利于提高用户提问的效率。
当系统100在过滤隐私问题时,语义映射模块30通过把已知的涉及个人隐私的所有或典型问题放入某一名称为“隐私”的类别,计算某一新问题与该类别的相似度是否超过某一个事先确定的阈值来判断其是否为属于“隐私”的问题。
当系统100在过滤暴力问题时,语义映射模块30通过把已知的涉及暴力的所有或典型问题放入某一名称为“暴力”的类别,计算某一新问题与该类别的相似度是否超过某一个事先确定的阈值来判断其是否为属于“暴力”的问题。
当系统100在过滤色情问题时,语义映射模块30通过把已知的涉及色情的所有或典型问题放入某一名称为“色情”的类别,计算某一新问题与该类别的相似度是否超过某一个事先确定的阈值来判断其是否为属于“色情”的问题。
当系统100在过滤涉及国家安全问题时,语义映射模块30通过把已知的涉及国家安全问题的所有或典型问题放入某一名称为“涉及国家安全问题”的类别,计算某一新问题与该类别的相似度是否超过某一个事先确定的阈值来判断其是否为属于“涉及国家安全问题”的问题。
如图2所示,是本发明的问题自动分类方法流程图。该流程描述了一种基于内容的问题自动分类的方法,其通过对每一类别内的现有问题的内容进行分析,获取每一类别的特征向量,及所有类别的问题所构成的特征空间,通过给问题关键字设置较高的权值以及计算词语相似度等方法,计算新问题与每一个类别的相似度(或关联程度),从而将用户所提出的新问题自动分类,并把最可能的结果返回给用户供其选择。
在图2中,通过该问题自动分类的方法实现问答系统中问题的自动分类,具体步骤流程包括:
步骤S201,利用问题的模板来获取新问题的问题关键字,并为该问题关键字设置较高的权值,同时得到该新问题的问题向量;
该步骤中,获取问题关键字的步骤具体包括:
B1)获取关键字步骤,根据模板中的关键字标签和/或可填充内容标签来获取;
B2)为关键字设置权值,并得到该新问题的问题向量。
进一步地,获取关键字步骤中,模板是事先生成的、由用户在提问时选用的模板,如百答问答系统(www.BuyAns.com)中供用户提问的模板;其中,关键字标签和/或可填充内容标签用来标识问题类型、问题目标、可填充部分的语义信息等。有关模板的定义参见专利申请号码为200510130778.5的中国发明专利申请、国际发明专利申请号为PCT/CN2006/003648的发明专利申请“一种网上用户交互问答方法及其系统”。例如,问题“What book did Rachel Carsonwrite in 1962?”对应的模板可以为:
[Physical_Object\Product]did[Physical_Object\Human]write in[Numeric\Date]?
这里,“<>”、“[]”部分即关键字标签和/或可填充内容标签。问题中被标注的单词如“book”、“Rachel Carson”、“1962”,相对于其他未被标注的单词来说更加重要。通过其对应的关键字标签和/或可填充内容标签即可获取所有被标注的单词,并作为问题关键字。
进一步地,为关键字设置权值步骤。首先,根据词频为问题中的每个单词设置初始权值;获取问题关键字后,将初始权值乘以一个系数λ。这里,λ不小于1。当λ为1时,所有单词同等重要;当λ大于1时,问题关键字即被设置较高的权值。用户在提问时也可以不选用任何模板,此时问题所有的关键字都没有关键字标签和/或可填充内容标签,也就找不到关键字,此时不需做任何特殊处理。
同样地,在特征向量初始化步骤中,也可以对带有模板的问题中的单词根据其是否有关键字标签和/或可填充内容标签而计算不同的词频。在统计某个单词在某个类别中的词频时,如果该单词在该类别的某个问题中没有关键字标签和/或可填充内容标签,则该单词在该类别的词频只是正常地增加1次。如果该单词有关键字标签和/或可填充内容标签,其词频可增加λ(λ不小于1)。
步骤S202,构造特征空间,具体地,根据已有的所有类别的问题及单词的权值来获取每一类别的特征向量,并构造特征空间;
该步骤中,获取类别的特征向量的步骤具体包括:
A1)特征向量初始化步骤,用类别中所有单词表示其初始的特征向量;
A2)单词排序步骤,根据单词的权值对每一类别中的单词按降序排序,第j个单词在第i个类别中的的权值由tfij和idfj的乘积来计算;
A3)特征向量生成步骤,用WS代表所有单词的集合,C代表所有类别的集合,用满足下面条件的前ki个词作为第i个类别ci的特征向量,其中,
ki=min{l|1l|WS|,Σj=1l(tfij·idfj)2δ·Σj=1|WS|(tfij·idfj)2}
式中符号意义如下:
|WS|:WS中单词的总数;
tfij:第j个单词在第i个类别中的词频;
idfj:第j个单词的逆向类别频率,即所有类别的数目与包含第j个单词的类别的数目的比值或该比值的某一函数,如该比值的对数或正数平方根;
δ:权值覆盖参数,在0和1之间。
步骤S203,进行语义映射,是将新问题的问题向量映射到特征空间得到新问题映射后的问题向量,然后根据新问题映射后的问题向量、类别的特征向量计算新问题与类别的相似度,根据相似度划分问题与不同类别之间的相似度级别,从而把最可能的结果返回给用户供其选择。
针对某一用户提出的新问题,该步骤具体包括:
C1)单词相似度矩阵生成步骤,生成新问题中单词与特征空间中的单词的相似度矩阵;
C2)映射步骤,根据相似度矩阵将新问题的问题向量映射到特征空间,得到新问题映射后的问题向量;
C3)问题与类别相似度计算步骤,根据新问题映射后的问题向量、每个类别的特征向量,计算新问题映射后的问题向量与每个类别的相似度,来判断新问题与类别的相似度或关联程度,最后根据相似度,返回最相关的若干类别给用户,供其选择。
进一步地,单词相似度矩阵生成步骤中,生成单词相似度矩阵采用如下公式:

式中符号意义如下:
S:新问题中单词与特征空间中的单词的相似度矩阵;
n:特征空间中单词的数目;
sij:新问题中第i个单词和特征空间中第j个单词的相似度。
进一步地,单词相似度矩阵生成步骤中,相似度sij通过基于WordNet或任一其他同义词典的最短路径长度计算方法来获得,即
sij=0disij>γ1disij+1disijγ
式中符号意义如下:
sij:新问题中第i个单词和特征空间中第j个单词的相似度;
disij:两个单词的最短路径长度;
γ:一个非负的阈值。如果两个单词在WordNet或任一其他同义词典中的最短路径长度大于该阈值,则认为它们是完全不同的。
进一步地,映射步骤中,新问题初始的问题向量以如下公式表示:
q=(w1,w2,......,wm)
式中符号意义如下:
q:新问题的问题向量;
m:新问题中单词的数目;
wi:新问题中第i个单词的权值。
进一步地,映射步骤中,映射方法是通过将新问题的问题向量与单词相似度矩阵相乘来实现,即

式中符号意义如下:
q’:新问题映射后的问题向量;
q:新问题映射前的问题向量;
S:新问题中单词与特征空间中的单词的相似度矩阵;
wi:新问题中第i个单词的权值;
n:特征空间中单词的数目;
sij:新问题中第i个单词和特征空间中第j个单词的相似度。
进一步,问题与类别相似度计算步骤中,通过新问题映射后的问题向量与类别的向量利用任一相似度模型来计算所述相似度,如,点积来获得相似度,即
sim(q′,ci)=q′·ci
式中符号意义如下:
q’:新问题映射后的问题向量;
ci:第i个类别的向量。
本发明方法有利于系统对用户所提问题进行分类管理,提高管理效率,以及实现过滤涉及个人隐私、反动、暴力、色情等不安全信息的问题。该方法也可以免除用户对其问题进行的手工分类,因此有利于提高用户提问的效率。
当过滤隐私问题时,通过把已知的涉及个人隐私的所有或典型问题放入某一名称为“隐私”的类别,计算某一新问题与该类别的相似度是否超过某一个事先确定的阈值来判断其是否为属于“隐私”的问题。
当过滤暴力问题时,通过把已知的涉及暴力的所有或典型问题放入某一名称为“暴力”的类别,计算某一新问题与该类别的相似度是否超过某一个事先确定的阈值来判断其是否为属于“暴力”的问题。
当过滤色情问题时,通过把已知的涉及色情的所有或典型问题放入某一名称为“色情”的类别,计算某一新问题与该类别的相似度是否超过某一个事先确定的阈值来判断其是否为属于“色情”的问题。
当过滤涉及国家安全问题时,通过把已知的涉及国家安全问题的所有或典型问题放入某一名称为“涉及国家安全问题”的类别,计算某一新问题与该类别的相似度是否超过某一个事先确定的阈值来判断其是否为属于“涉及国家安全问题”的问题。
如图3所示,为本发明语义映射模块处理流程图。该流程具体包括如下步骤:
步骤S301,首先,当用户提交了一个新问题时,通过计算新问题中单词与特征空间中的单词的相似度生成该问题的单词相似度矩阵;
步骤S302,然后,根据单词相似度矩阵将该问题的问题向量映射到特征空间中,并获得该新问题映射后的问题向量;
步骤S303,最后,根据该新问题映射后的问题向量、每个类别的特征向量,计算该问题与所有类别的相似度,并将最相关的3个类别返回给用户供其选择。
在本发明的实施例中,单词相似度矩阵表示公式为:

式中符号意义如下:
S:新问题中单词与特征空间中的单词的相似度矩阵;
n:特征空间中单词的数目。
sij:新问题中第i个单词和特征空间中第j个单词的相似度。其可以通过基于WordNet或任一其他同义词典的最短路径长度计算方法来获得,即
sij=0disij>γ1disij+1disijγ
式中符号意义如下:
sij:新问题中第i个单词和特征空间中第j个单词的相似度;
disij:两个单词的最短路径长度;
γ:一个非负的阈值。如果两个单词在WordNet或任一其他同义词典中的最短路径长度大于该阈值,则认为他们是完全不同的。
在本发明的实施例中,新问题初始的问题向量表示公式为:
q=(w1,w2,......,wm),
式中符号意义如下:
q:新问题的问题向量;
m:新问题中单词的数目;
wi:新问题中第i个单词的权值。
在本发明的实施例中,映射方法是通过将新问题的问题向量与单词的相似度矩阵相乘来实现的,即

式中符号含义如下:
q’:新问题映射后的问题向量;
q:新问题映射前的问题向量;
S:新问题中单词与特征空间中的单词的相似度矩阵;
wi:新问题中第i个单词的权值;
n:特征空间中单词的数目;
sij:新问题中第i个单词和特征空间中第j个单词的相似度。
在本发明的实施例中,问题与类别的相似度是通过新问题映射后的问题向量与类别的特征向量利用任一相似度模型来计算的,如,通过点积来获得的,即
sim(q′,ci)=q′·ci
式中符号意义如下:
sim(q’,ci):相似度;
q’:新问题映射后的问题向量;
ci:第i个类别的向量。
在本发明的实施例中,定义“S@n”来进行性能度量,即正确的分类在本发明给出的前n个分类中的百分比。在实际应用中,返回过多的分类结果反而加大了用户的负担,因此,选择前3个分类作为结果返回,即n=3。
在本发明的实施例中,对210个问题进行了测试。图4、图5、图6分别为当λ=1、2、3时的测试结果。如图所示,当γ取0、1、2时,S@3能达到0.6以上,当γ取3、4、5时,S@3相对较低。当δ逐渐增长,S@3在大多数情况下也随着增加。说明性能随使用单词数增加而提高,直到δ达到某一特定值。当γ由0增大到2,S@3在δ相对较低时也会增大。这说明在计算单词相似度,考虑最短路径长度时,考虑的范围越大,包含的语义信息也就越多,性能也就会越高。由图4、图5、图6比较看出,当λ=2时,性能相对理想,这证明了给问题关键字一个较高的权值是正确的。
如图7所示,为本发明方法在λ=2时和词频方法返回1个类别结果时性能的比较示意图;如图8所示,为本发明方法在λ=2时和词频方法返回3个类别结果时性能的比较示意图。
从图7、图8中不难看出,随着推荐类别数即返回类别数的增加,本发明方法的性能也在提高,并且都优于词频方法的性能。这说明通过对问题中的问题关键词设置较高的权值,有利于划分问题与不同类别之间的相似度级别,从而得到更准确的结果,以供用户选择。
本发明提供了一种基于内容的问题自动分类的方法,该方法通过对每一类别内的现有问题的内容进行分析,获取每一类别的特征向量,及所有类别的问题所构成的特征空间,通过给问题关键字设置较高权值以及计算词语相似度等方法,计算新问题与每一个类别的特征向量的相似度(或关联程度),从而将用户所提出的新问题自动分类,并把最可能的结果返回给用户供其选择。该方法有利于系统对用户所提问题进行分类管理,提高管理效率,以及实现过滤涉及个人隐私、反动、暴力、色情等不安全信息的问题。该方法也可以免除用户对其问题进行的手工分类,因此有利于提高用户提问的效率。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。