1.基于卡方统计和TF-CRF改进的TF-IDF计算模型包括:数据载入模块、TF-IDF计算模块、卡方统计模块、CRF计算模块、权重计算模块、权重排序模块、权重筛选模块和特征词保存模块,所述数据载入模块内的文本数据从多方获取,再进行分词后得到特征提取需要的数据,提取数据之后将其转换成list列表形式输入数据载入模块,所述TF-IDF计算模块按照现有技术中TF-IDF的计算方法,得到特征词的权值;
所述卡方统计模块将获取到的文本文件数据分为两个类别,属于类别Ci和不属于类别Ci,进行卡方统计;
所述CRF计算模块在三卡方统计模块的基础上,进行CRF的计算;
所述计算权重模块为经过公式(2)、(12)、(14)得到的:所述特征词筛选模块用于对特征词的权重进行对比,权重大于设定的权值的特征词保留,权重小于设定的权值的特征词剔除;
所述特征词保存模块用于将文本文件中筛选出来的特征词剔除权重后保存在文本文件中;
其特征在于模型工作步骤如下:
步骤1.建立用于保存筛选后特征词的.txt文本文件;
步骤2.进行数据模块的载入;
步骤3.进行TF-IDF计算模块的运算;
步骤4.进行卡方统计模块的运算;
步骤5.进行CRF计算模块的运算;
步骤6.进行权重计算模块的运算;
步骤7.进行权重排序模块的运算;
步骤8.进行权重筛选模块的运算;
步骤9.进行词保存模块的运算;
步骤10.将步骤2-9运算筛选得到的筛选后特征词保存在步骤1建立的文档中。
2.根据权利要求1所述基于卡方统计和TF-CRF改进的TF-IDF计算模型,其特征在于所述步骤2的详细步骤为:(1)打开文本文件,进行遍历,并返回return到list_source中;
(2)在加载数据集函数loadDataSet()时,建立dataset来存储返回的list_source;
(3)同样的将同类的文本文件按照以上方式打开遍历存储到dataset,不同类的文本文件存储到datasetdif;
(4)关闭文本文件。
3.根据权利要求1所述基于卡方统计和TF-CRF改进的TF-IDF计算模型,其特征在于所述步骤3的详细步骤为:(1)总词频统计,首先,建立doc_frequency列表来存储总的词频数,然后,遍历一个文本文件list_words的每个词word_list,再计算每个词的词频,将词频存储在doc_frequency列表中,得到它的总词频数;
(2)计算每个词的TF值,首先,建立word_tf字典来存储每个特征词的TF值,然后,循环遍历步骤(1)得到的总词频数列表,再分别除以该文本文件的总词数sum(doc_frequency.values()),得到每个词的TF值;
(3)计算每个词的IDF值,首先,建立word_idf字典来存储每个词的IDF值,word_doc列表来存储包含该词的文档数,并且使得doc_num等于总的文本文件数然后,遍历所有文本文件中的词,其中嵌套循环遍历该文本文件list_words中的特征词word_list;如果该文本中的特征词和所以文本文件中的词相等,包含该词的文档数word_doc自增1,并且立即continue跳过本次内层循环,进行下一次外层循环,即下一个文本文件的遍历,直到所有文本文件都遍历完,得到包含该词文档数word_doc列表,则进行该文本文件的另一个特征词的再次循环。最后,循环遍历得到包含该词文档数word_doc列表,进行计算总的文件数doc_num除以包含该词word_doc列表所对应该文本文件每个特征词的文档数,再对其商求对数math.log(),得到存储每个词的IDF值的word_idf字典;
(4)计算每个词的TF*IDF的值,首先,建立字典word_tf_idf来存储TF*IDF的值。然后,遍历每个特征词的TFword_tf和IDFword_idf的值,将其相乘,得到TF*IDFword_tf_idf的字典。
4.根据权利要求1所述基于卡方统计和TF-CRF改进的TF-IDF计算模型,其特征在于所述步骤4的详细步骤为:(1)赋值同类文档中包含特征值A、不同类文档中包含特征值B、同类文档中不包含特征值C、不同类文档中不包含特征值D连等于0;
(2)enumerate()函数外层遍历同类文本文件中所有文件的特征词,内层循环遍历该文本文件中的特征值,如果同类文本文件中的文件中有词等于该文本文件的特征词,则A自增
1;反之如果没有,则C自增1;
(3)同上,enumerate()函数外层遍历不同类文本文件中所有文件的特征词,内层循环遍历该文本文件中的特征值,如果不同类文本文件中的文件中有词等于该文本文件的特征词,则B自增1;反之如果没有,则D自增1;
(4)计算卡方统计量CHI,
(5)计算改进后的卡方统计量CHI;由公式(14)可得,将W赋值给re,并返回re。
5.根据权利要求1所述基于卡方统计和TF-CRF改进的TF-IDF计算模型,其特征在于所述步骤5的详细步骤为:(1)赋值同类文档中包含特征值X、不同类文档中包含特征值U、同类文档数Y、不同类文档数VX连等于0;
(2)enumerate()函数外层遍历同类文本文件中所有文件的特征词,同类文档数Y自增
1,内层循环遍历该文本文件中的特征值,如果同类文本文件中的文件中有词等于该文本文件的特征词,则X自增1;反之如果没有,则continue跳出当前循环;
(3)同上,enumerate()函数外层遍历不同类文本文件中所有文件的特征词,不属于同类文档数V自增1,内层循环遍历该文本文件中的特征值,如果不同类文本文件中的文件中有词等于该文本文件的特征词,则U自增1;反之如果没有,则continue跳出当前循环;
(4)计算CRF,将 赋值给rn,最后再返回rn。
6.根据权利要求1所述基于卡方统计和TF-CRF改进的TF-IDF计算模型,其特征在于所述步骤6的详细步骤为:(1)建立字典word_tf_idf_chi来存储每个特征词的权重,调用计算TF-IDF模块和卡方统计模块的函数;
(2)遍历word_tf_idf的字典,并且调用卡方(CHISquare,CHI)和CRF的函数,循环将三个数值word_tf_idf、W(CHI)和CRF相乘,得到每个特征词的权重,再循环存入字典word_tf_idf_chi中。
7.根据权利要求1所述基于卡方统计和TF-CRF改进的TF-IDF计算模型,其特征在于所述步骤7的详细步骤为:(1)运用字典排序的sorted()函数进行排序,把sorted(word_tf_idf_chi.items(),key=operator.itemgetter(1),reverse=True)赋值给dict_feature_select;
(2)返回returndict_feature_select。
8.根据权利要求1所述基于卡方统计和TF-CRF改进的TF-IDF计算模型,其特征在于所述步骤8的详细步骤为:(1)将所有特征词的权重赋值给features;
(2)取权重的绝对值,以免有负数产生影响特征词的筛选。运行abs()函数进行取绝对值;
(3)遍历循环,保留权重大于设定权值的特征词。
9.根据权利要求1所述基于卡方统计和TF-CRF改进的TF-IDF计算模型,其特征在于所述步骤9的详细步骤为:(1)新建一个.txt文本文件用来保存筛选后的特征词;
(2)循环将特征词feature[i][0]按照一行一个的顺序保存到文本文件中;
(3)关闭文本文件。