NLP计算文档相似度之TF-IDF
来源:互联网 发布:菜鸟网络是什么 编辑:程序博客网 时间:2024/05/16 10:10
#!/usr/bin/python # -*- coding: utf-8 -*-import numpyimport osfrom sklearn import feature_extractionfrom sklearn.feature_extraction.text import TfidfTransformerfrom sklearn.feature_extraction.text import TfidfVectorizer, CountVectorizer#sys.setdefaultencoding('utf8')了 网易 杭研 大厦","小明 硕士 毕业 与 中国 科学院","我 爱 北京 天安门"]trainfile = open(u'D:\python_noweightpathway\TIA\TIAxmmc.txt','r',encoding= 'utf8') #不同的documents用换行符隔开traincorpus = trainfile.readlines()#corpus=["我 来到 北京 清华大学","我 他 来到trainfile.close()corpus = traincorpus;vectorizer=CountVectorizer()#该类会将文本中的词语转换为词频矩阵,矩阵元素a[i][j] 表示j词在i类文本下的词频tfidf_vectorizer = TfidfVectorizer(max_df=0.95, min_df=2, #max_features=n_features, stop_words='english')transformer=TfidfTransformer()#该类会统计每个词语的tf-idf权值tfidf=transformer.fit_transform(tfidf_vectorizer.fit_transform(corpus))#第一个fit_transform是计算tf-idf,第二个fit_transform是将文本转为词频矩阵word=tfidf_vectorizer.get_feature_names()#获取词袋模型中的所有词语weight=tfidf.toarray()#将tf-idf矩阵抽取出来,元素a[i][j]表示j词在i类文本中的tf-idf权重f = open("D:\python_noweightpathway\TIA\TIAsmilarity.txt","w+")for i in range(len(weight)):#打印每类文本的tf-idf词语权重,第一个for遍历所有文本,第二个for便利某一类文本下的词语权重# print u"-------这里输出第",i,u"类文本的词语tf-idf权重------" f.write(str(i+1)+"\t") for j in range(len(word)): if(weight[i][j]>0): f.write(str(j+1) + ":" + str(weight[i][j]) + " ") f.write("\n") print (i)f.close()# f = open("D:\python_noweightpathway\TIA\dictionary.txt","w+")# for i in range(len(word)):# f.write(str(i) + "\t" + word[i].encode("utf-8") + "\n")# f.close()SimMatrix = (tfidf * tfidf.T).Aprint (SimMatrix[1,3]) #"第一篇与第4篇的相似度"numpy.savetxt("D:\python_noweightpathway\TIA\SimMatrix.csv", SimMatrix, delimiter=",") #保存相似度矩阵
阅读全文
0 0
- NLP计算文档相似度之TF-IDF
- 文本相似度计算之tf-idf
- spark mllib 中的tf-idf算法计算文档相似度
- NLP计算文档相似度之doc2vec
- NLP计算文档相似度之LSH
- TF-IDF与文档相似度的应用
- TF-IDF提取关键词并用余弦算法计算相似度
- 使用spark TF-IDF特征计算文章间相似度
- TF-IDF 余弦相似度
- 暑期 NLP 之 TF-IDF 算法笔记
- <转>【NLP】TF-IDF
- TF-IDF与余弦相似度
- [NLP]使用LDA模型计算文档相似度
- 文档的词频-反向文档频率(TF-IDF)计算
- 文档的词频-反向文档频率(TF-IDF)计算
- 文档的词频-反向文档频率(TF-IDF)计算
- TF-IDF计算一
- TF-IDF计算三
- 配置spring+Mybatis事务时产生的jar包冲突问题
- PHP 新特性
- Dockerfile概述
- license
- 进程上下文和中断上下文详解
- NLP计算文档相似度之TF-IDF
- Matlab datenum函数
- 采集存储
- 安卓各种调试问题合辑[不定时更新]
- Android WebView加载网页进度监听
- Error:Execution failed for task ':app:mergeDebugResources'解决办法
- 使用kermit串口工具时出现 /dev/ttyS0 is not a terminal device 错误
- <基础原理进阶>机器学习算法python实现【1】--分类简谈&KNN算法
- AIX安装配置参考