【爬虫实战】python文本分析库——Gensim

Gensim是一个可以用来进行文本处理和向量化的Python库。以下是一个使用Gensim进行文本分析的基本例子:




from gensim import corpora, models, similarities
 
# 示例文本数据
documents = [
    "Human machine interface for lab abc computer",
    "A survey of user opinion of computer system response time",
    "The EPS user interface management system",
    "System and human system engineering testing of CAD rental",
    "Relation of user perceived response time to error measurement",
    "The generation of random binary unordered trees",
    "The intersection graph of paths in trees",
    "Graph minors IV Widths of trees and well quasi ordering",
    "Graph minors A survey"
]
 
# 创建字典
dictionary = corpora.Dictionary(documents)
 
# 向量化文档:每个文档变成一个向量,向量中的每个元素是一个单词和它在文档中的出现次数
corpus = [dictionary.doc2bow(text.lower().split()) for text in documents]
 
# 训练TF-IDF模型
tfidf = models.TfidfModel(corpus)
 
# 转换为TF-IDF向量
corpus_tfidf = tfidf[corpus]
 
# 使用Item-based Latent Factor模型进行推荐
similarity_matrix = similarities.MatrixSimilarity(corpus_tfidf)
index = similarities.Similarity.index(similarity_matrix, corpus_tfidf)
 
# 查询最相似的文档
query = "graph minors survey"
query_vec = dictionary.doc2bow(query.lower().split())
sims = similarity_matrix[query_vec]
 
print("Query:", query)
for index, sim in sorted(enumerate(sims), key=lambda item: -item[1]):
    print(f"{index}: {documents[index]} - Similarity: {sim:.4f}")

这段代码首先定义了一些示例文本数据,然后创建了一个字典来映射文档中的单词,接着将每个文档转换为一个向量,并训练了一个TF-IDF模型。之后,它使用Item-based Latent Factor模型(一种基于内容的推荐系统)来找到查询与文档集合中其他文档的相似度。最后,它打印出与查询最相似的文档列表。这个例子展示了如何使用Gensim进行基本的文本分析和推荐系统构建。

最后修改于:2024年08月23日 11:38

评论已关闭

推荐阅读

Vue中使用mind-map实现在线思维导图
2024年08月04日
VUE
Web前端最全Vue实现免密登录跳转的方式_vue怎么样不登录返回首页,最强技术实现
2024年08月04日
VUE
vue3 项目搭建教程(基于create-vue,vite,Vite + Vue)
2024年08月04日
VUE
Vue-颜色选择器实现方案——>Vue-Color( 实战*1+ Demo*7)
2024年08月04日
VUE
Vue项目卡顿慢加载?这些优化技巧告诉你!_vue数据多渲染卡顿
2024年08月04日
VUE
vue中的keep-alive详解与应用场景
2024年08月04日
VUE
Vue、React实现excel导出功能(三种实现方式保姆级讲解)
2024年08月04日
vue-office/docx插件实现docx文件预览
2024年08月04日
VUE
java调用js文件的两种方法(支持V8引擎)
2024年08月04日
JavaScript:解决计算精度问题/mathjs/bignumber.js/big.js/decimal.js
2024年08月04日
两周从爬虫小白变大神 _yjs_js_security_passport
2024年08月04日
JS笔记(对象、函数、数组)
2024年08月04日
Markdown.js:强大的纯JavaScript Markdown解析器
2024年08月04日
Vue项目:js模拟点击a标签下载文件并重命名,URL文件地址下载方法、请求接口下载文件方法总结。
2024年08月04日
vue 父组件怎么获取子组件里面的data数据
2024年08月04日
VUE
个人开发实现AI套壳网站快速搭建(Vue+elementUI+SpringBoot)
2024年08月04日
el-table 表格封装并改造实现单元格可编辑
2024年08月04日
none
nodejs环境下创建vue项目、SSH密钥登陆!!!
2024年08月04日
vue+quill+element-ui实现视频、图片上传及缩放保姆级教程,轻松使用富文本
2024年08月04日
【three.js】22. Imported Models导入模型
2024年08月04日