利用gensim主题模型寻找相似的coursera课程
来源:互联网 发布:org.apache.http.nio 编辑:程序博客网 时间:2024/05/22 03:51
参考http://www.52nlp.cn/如何计算两个文档的相似度三
#encoding=utf-8from nltk.tokenize import word_tokenizefrom nltk.corpus import stopwordsfrom nltk.stem.lancaster import LancasterStemmercourses=[line.strip() for line in file('coursera_corpus')]courses_name=[course.split('\t')[0] for course in courses]texts_tokenized=[[word.lower()for word in word_tokenize(document.decode('utf-8'))] for document in courses]#用nltk中的停用词列表滤除课程语料中的停用词english_stopwords=stopwords.words('english')texts_filtered_stopwords=[[word for word in document if word not in english_stopwords]for document in texts_tokenized]#过滤标点符号english_punctuations=[',','.',':','?','(',')','[',']','&','!','*','@','#','$','%']texts_filted=[[word for word in document if word not in english_punctuations] for document in texts_filtered_stopwords]#提取词干st=LancasterStemmer()texts_stemmed=[[st.stem(word) for word in document]for document in texts_filted]#去掉只出现一次的词汇from collections import defaultdictfrequency=defaultdict(int)for text in texts_stemmed:for token in text:frequency[token]+=1texts=[[token for token in text if frequency[token]>1]for text in texts_stemmed]from gensim import corpora, models, similaritiesimport logging#logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s', level=logging.INFO)dictionary=corpora.Dictionary(texts)corpus=[dictionary.doc2bow(text) for text in texts]tfidf=models.TfidfModel(corpus)corpus_tfidf=tfidf[corpus]lsi=models.LsiModel(corpus_tfidf,id2word=dictionary,num_topics=10)index=similarities.MatrixSimilarity(lsi[corpus])print "the query course is:",courses_name[174]ml_course=texts[174]ml_bow=dictionary.doc2bow(ml_course)ml_lsi=lsi[ml_bow]sims=index[ml_lsi]sort_sims=sorted(enumerate(sims),key=lambda item:-item[1])courses_nameTop=[tup[0]for tup in sort_sims[0:10]]courses_sim=[courses_name[num] for num in courses_nameTop]print "the similarity courses are:"for doc in courses_sim:print doc
0 0
- 利用gensim主题模型寻找相似的coursera课程
- gensim的主题模型LSI
- gensim做主题模型
- gensim 主题模型 seed
- gensim做主题模型
- gensim的LSI模型来计算文档的相似度
- gensim的LSI模型来计算文档的相似度
- 主题模型Python工具包:Gensim
- gensim文本主题模型推荐
- Gensim LDA主题模型实验
- 基于gensim的文本主题模型(LDA)分析
- 初试主题模型LDA-基于python的gensim包
- 文本分析--基于gensim的文本主题模型分析
- 利用lstm模型实现短文本主题相似——qjzcy的博客
- 主题模型TopicModel:通过gensim实现LDA
- Gensim做中文主题模型(LDA)
- 主题模型TopicModel:通过gensim实现LDA
- jaccard利用Minhash和LSH寻找相似的集合
- C++ 堆和栈的解说
- Unable to instantiate fragment com.doov.music.online.search.SearchHWRFragment: make sure class name
- c#连接mysql环境配置
- R语言RJava安装步骤
- 概率论
- 利用gensim主题模型寻找相似的coursera课程
- TinyXML参照文档
- 设计模式--外观模式Facade(结构型):
- Android可记住用户密码登陆界面
- Eclipse中出现无法找到Maven包
- Linux下rar 命令压缩和解压详解
- HDU ACM 2178 猜数字
- 开始
- 注解式框架ButterKnife的用法及在adapter中使用的优化