# 面向文本分析的交互式主题建模
**摘要**
在机器学习和自然语言处理领域中,主题模型(Topic Model)是在一系列文档中发现抽象主题的一种统计模型,并被广泛地应用于文本文档集合的分析。近年来,各种主题建模技术,特别是概率图建模技术,取得了显著的进展,其中隐含狄利克雷分布(LDA)等最先进的技术已经成功地应用于可视化文本分析。然而,大多数基于概率模型的方法在多次运行的一致性和经验收敛性方面存在缺陷。此外,由于公式和算法的复杂性,LDA 无法轻易合并各种类型的用户交互和反馈。本课题的主要目的是设计一个主题模型可视化分析系统,使用非负矩阵分解的方法对文本进行主题建模,将训练过程和结果实时地可视化呈现给用户,并以半监督模式为核心,设计一系列用户交互方式,达到基于用户驱动的文本主题模型交互优化。在经过若干次模型交互优化后,如果用户对当前训练的主题模型感到满意了,便可以使用此模型来对语料库之外的新文档进行拟合,从而得到新文档的主题分布预测。本系统采用 Web 技术,后端算法和接口使用 Python 语言和 FastAPI Web 框架编写,前端界面使用 React&Ant Design 框架编写。本系统中收录了现实网络上多种类型的语料库(中/英文文本、社交用户短文本、新闻长文本),并提供了一个 Bilibili 网站的视频评论爬取工具,用户可以选择自己感兴趣的视频并爬取该视频下的评论,然后对其进行主题建模分析。最后,通过对这些实际语料库进行主题建模,执行相应的用户交互优化主题模型,并对其结果进行对比、分析,发现该系统在运行效率、多次运行的结果一致性方面明显要优于 LDA 算法,并且用户交互确实能够表达出用户的意图,并对主题模型的结果有改进优化的效果。
**关键词**:自然语言处理,文本分析,数据可视化,交互式聚类,主题模型,半监督,非负矩阵分解(NMF)
# 一、绪论
## 1.1 本课题的研究背景和意义
近年来,随着网络以及社交媒体的不断发展及活跃,互联网上每天都会产生大量的文本信息。在这些海量的文本数据中,对其进行分析并提取出有价值的内容,并由此指导用户的决策过程一直是研究的热点领域。在解决这些问题的各种方法中,主题建模方法(从文档语料库中发现语义上具有意义的主题)在数据挖掘/机器学习和可视化分析领域得到了广泛的应用。顾名思义,这是一个自动识别文本对象中存在的主题并派生文本语料库显示的隐藏模式的过程。
主题建模不同于使用正则表达式或基于字典的关键字搜索技术的基于规则的文本挖掘方法。这是一种无监督的方法,用于查找和观察大型文本集中的一堆单词(称为“主题”)。主题可以定义为“语料库中共同出现的术语的重复模式”。
主题模型有着广泛的应用场景,特别是对于文档聚类,组织大量文本数据,从非结构化文本中检索信息以及选择功能非常有用。例如,《纽约时报》正在使用主题模型来提升其用户–文章推荐引擎;各种专业人士正在针对招聘行业使用主题模型,他们旨在提取职位描述的潜在特征并将其映射到合适的候选人。
在本节接下来的内容中,我们将回顾主题模型的发展及研究现状,提出目前存在的问题,以及本课题的研究意义。
### 1.1.1 主题模型的发展及研究现状
早在上世纪 80 年代,研究者们常常使用 TF-IDF 方法来进行文档的检索和信息的提取。在此方法中,先选择一个基于词或者词组的基本词汇,然后对于语料库中的每个文档,分别统计其中每个单词的出现次数。经过合适的正则化后,再将词的频率计数和反向文档频率计数相比较,得到一个词数乘以文档数的向量 X。向量的每个行中都包含着语料库中每个文档的 TF-IDF 值。
但是整个 TF-IDF 算法是建立在一个假设之上的:一个单词出现的文本频数越小,它区别不同类别文本的能力就越大。这个假设很多时候是不正确的,尤其是在引入 IDF 的过程中,单纯地认为文本频率小的单词就越重要,文本频率大的单词就越无用,显然这并不是完全正确的。其也不能有效地反映单词的重要程度和特征词的分布情况,因此精度有限。
上世纪 90 年代,Deerwester S 等人提出了潜在语义分析(LSA),它是一种用于知识获取和展示的计算理论和方法,出发点就是文本中的词与词之间存在某种联系,即存在某种潜在的语义结构。Thomas Hofmann 于 1999 年提出了概率潜在语义分析(pLSA),并在文中描述了 pLSA 与 LSA 的区别,即 LSA 主要基于奇异值分解(SVD),而 pLSA 则依赖混合分解。他随后进行了一系列实证研究,并讨论了 pLSA 在自动文档索引中的应用。他的实证结果表明 pLSA 相对于 LSA 的表现有明显进步。
年,潜在语义分析被 Jerome Bellegarda 提出使用在自然语言处理中。2003 年 Andrew Y. Ng 等人在论文中提出用于 pLSA 的 aspect model 具有严重的过度拟合问题,他们提出了隐含狄利克雷分布(LDA),这可以看作是结合了贝叶斯思想的 pLSA。LDA 是目前使用的最常见的主题模型。
年,针对当前主题模型可以为文档构建可解释的向量表示,而词向量在句法规则方面十分有效,Christopher E Moody 提出了 lda2vec,一个学习密集单词向量的模型,将上述两类模型的优点结合。他们的方法很容易融入现有的自动微分框架,并允许科学家使用无监督文档表示,同时学习单词向量和它们之间的线性关系。
### 1.1.2 目前存在的问题
主题模型是一种无监督学习模型,其结果的好坏取决于所选的模型参数和训练集,并且具有很高的不确定性。用户通常无法在训练过程中对模型的结果进行修正,特别是一些专业领域,用户无法向主题模型提供一些领域知识来提高主题建模的质量。已有一些研究提出,通过对主题模型添加约束的形式来解决这一问题。Hu 等人提出了交互式主题模型,然而主题建模的结果十分不直观,从中寻找不恰当的结果并添加合适的约束非常耗时、费力。同时现在基于概率图模型的主题建模算法结果往往具有不确定性,很难引入用户的交互反馈操作,比如让用户交互调整建模的中间结果和参数,从而得到更优的主题分析结果。
### 1.1.3 本课题的研究意义
本课题的研究意义是对当前主题建模算法进行优化改进,解决算法结果的不确定性和用户交互反馈引入的困难性这 2 个问题,将可视化分析技术与主题模型相结合,提供有效的交互手段,让人们充分参与到分析主题模型的结果中来,利用人的认知能力,从数据中挖掘有效信息,达到基于用户驱动的文本主题模型交互优化。
## 1.2 研究内容和主要工作
本课题的研究主要内容是在国内外交互式主题建模的研究基础上,设计一个面向文本分析的交互式主题建模可视化分析系统。系统使用非负矩阵分解(NMF)来作为主题建模的主要算法,并参考了 Jaegul Choo 等人提出的 UTOPIAN 主题建模可视化分析系统,对其中的半监督非负矩阵分解(SS-NMF)算法和多种用户交互方式进行了实现及改进。
本系统采用 Web 技术,后端算法和接口使用 Python 语言和 FastAPI Web 框架编写,前端界面使用 React&Ant Design
没有合适的资源?快使用搜索试试~ 我知道了~
基于 LDA SS-NMF 的交互式文本主题分析可视化分析系统 毕业设计 附完整代码.zip
共109个文件
png:59个
py:22个
pyc:15个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 4 下载量 110 浏览量
2023-02-08
12:59:53
上传
评论 3
收藏 9.95MB ZIP 举报
温馨提示
主要内容是在国内外交互式主题建模的研究基础上,设计一个面向文本分析的交互式主题建模可视化分析系统。系统使用非负矩阵分解(NMF)来作为主题建模的主要算法,并参考了Jaegul Choo等人提出的UTOPIAN主题建模可视化分析系统,对其中的半监督非负矩阵分解(SS-NMF)算法和多种用户交互方式进行了实现及改进。 本系统采用Web技术,后端算法和接口使用Python语言和FastAPI Web框架编写,前端界面使用React&Ant Design框架编写。
资源推荐
资源详情
资源评论
收起资源包目录
基于 LDA SS-NMF 的交互式文本主题分析可视化分析系统 毕业设计 附完整代码.zip (109个子文件)
.gitignore 117B
.gitignore 38B
InteractiveTopicVis.iml 1KB
LICENSE 1KB
README.md 46KB
2-52fe560a845d40c1ecf7d4d8f932d1dc.png 2.35MB
3-4d99f5c6a2e2e23b1cced686bbbe9c3b.png 1.92MB
4-7984eb56e93f0d3218bdca013c62f831.png 1.82MB
17-7fe11e601d1d2029d643338acf0ded3b.png 220KB
45-ed7b6026bf0dc89a00a2597418aac3f9.png 217KB
25-077b7db50fe3b55ee34123d9dbc6b8da.png 181KB
31-80c327065c01c11e2c1dcf0b69a4333f.png 175KB
24-32a9b68b75a1f09cac9a9518e83ffbb1.png 169KB
58-4a602544b2d803b9c92be79234ffb0f2.png 158KB
57-ba5e7f0d088317ef1f4b04da689ebc18.png 157KB
59-3c34b09bee67ca83cca4ae567b4e22e0.png 138KB
22-bfa974a80028e6ec47e9fa3c0242557a.png 126KB
11-cebcd92bb636df499676ff8c4508709e.png 119KB
26-1fa7ea334cd40ec25abf445f02df02cf.png 118KB
51-6255e01e2419e69d249bb35bebca543b.png 117KB
34-b2de7db4a97196026a12ddb712e98d37.png 105KB
56-ba2ba277ca7588ecc009e093b8e4f7ae.png 100KB
16-85255896af238fb5060852fa69431265.png 95KB
29-4ad4a981c28591612d670062abf0b859.png 91KB
7-c95478ff5937d01bf326a58de77c8da0.png 88KB
19-5ddcb7ca2639bfc584c62a1751f6e992.png 88KB
44-a13a7f23df0fa68861775c12a92ac11f.png 81KB
43-e68eeed4f166c82d5352b8bc05111884.png 78KB
20-250b3cd0d1b8f75e14995fb816c30749.png 76KB
18-01ce8303a88b74c2bf1e48d253a542f2.png 76KB
52-b04ff6ab997931fc4bcffd7273d14524.png 76KB
49-5677ee762f242b4024c8a152774ed6ca.png 76KB
27-73c0f6549e7222fdca90ed02ca1d5ca0.png 74KB
9-3e4dba1a06fabcbc4746b29b1ba61c90.png 71KB
38-d5d1e13fa0c8f45581684ce7304e09d3.png 68KB
5-92ac47c7c0d4bf3dc6e65290cace3497.png 67KB
47-443e0a4648314d1b8ed421c9cb89bc8a.png 65KB
42-59993933c2c05d4df6aa1fd4a924c7a6.png 62KB
8-132bc6dedd881f362f8996d72f4b7812.png 61KB
6-d0316fb8ea9e8659a082fa810abe54d2.png 61KB
46-41e6b6cc973c59352e35015951f05eee.png 60KB
41-9857d2fab864bff2aaf44cd0ed4fcc86.png 59KB
37-f249eef8ebeb37ad8ff55a762c68906b.png 57KB
15-404ad5b1a76d8fd1ea9afe17a8f76fa1.png 55KB
50-7a6f7af9bf86c2e6ccfe028d1d77c24f.png 52KB
13-7b0c67aabf86b36bb27402c6d06ff2d4.png 50KB
53-257940386f9d99482eb3e6e274070dd7.png 46KB
54-cb5276b5d868442022d16eb3be8ee25b.png 45KB
23-6811e4a8b82322ceaa2169d3f5ee0e78.png 45KB
48-71522150cfbd784b34818e4a19a231a9.png 44KB
14-2ba4281c360d1bdea007c1b883ffee43.png 41KB
1-89615285c5ce8473e385df954590b23f.png 38KB
40-0c3f9670115470a6309f22fa46ed1f2a.png 38KB
36-4aad55521fc34153d8305cb6786adbc1.png 37KB
12-e15ef8a8292ec6ce636f27978655cd69.png 27KB
21-3d3378ae16ffd0d76828b3b0f9c4f556.png 26KB
39-63257f745617f8088ba6149d72557629.png 24KB
35-3b6c673741cf8affeb4da7971a16be3e.png 24KB
28-4f15823570032f4df80229dbce46b054.png 22KB
30-2b66c51b503ae2246674390479b9201e.png 19KB
55-9b249fa0b9991061a21641e382d1b480.png 18KB
10-917f2584991011f309b97b3df754555b.png 15KB
32-6c41cb77aa2b2690cf30d6d0b02de896.png 13KB
33-13a5d46c16634c78b37f0704cbaa6081.png 12KB
TopicModelTrainingTask.py 29KB
ssnmf2.py 17KB
main.py 17KB
ssnmf.py 15KB
TSNEWithCallback.py 9KB
TextPreprocessing.py 8KB
bilibiliSpyder.py 5KB
videoCommentsManager.py 5KB
bilibiliJsonTool.py 3KB
test_anything.py 3KB
nmf.py 3KB
bilibiliSqlTool.py 2KB
models.py 2KB
crud.py 1KB
schemas.py 1KB
chineseLyricsToSql.py 969B
shoppingReviewsToSql.py 752B
COVID19NewsToSql.py 700B
lda_data.py 526B
database.py 474B
streamlitUI.py 246B
__init__.py 0B
TopicModelTrainingTask.cpython-38.pyc 21KB
main.cpython-38.pyc 11KB
ssnmf2.cpython-38.pyc 9KB
ssnmf.cpython-38.pyc 8KB
TextPreprocessing.cpython-38.pyc 7KB
TSNEWithCallback.cpython-38.pyc 6KB
bilibiliSpyder.cpython-38.pyc 4KB
videoCommentsManager.cpython-38.pyc 4KB
bilibiliJsonTool.cpython-38.pyc 3KB
schemas.cpython-38.pyc 2KB
models.cpython-38.pyc 2KB
nmf.cpython-38.pyc 2KB
bilibiliSqlTool.cpython-38.pyc 2KB
crud.cpython-38.pyc 2KB
共 109 条
- 1
- 2
资源评论
- qq_413791852024-03-24文件根本不全,运行不了
- Prometheus36082023-06-30资源简直太好了,完美解决了当下遇到的难题,这样的资源很难不支持~
- 午夜黑鸦2023-03-18这个资源内容超赞,对我来说很有价值,很实用,感谢大佬分享~
- a156236315112024-04-22资源很赞,希望多一些这类资源。
甜辣uu
- 粉丝: 8386
- 资源: 1103
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功