在MATLAB中使用主题模型对福尔摩斯书籍进行文本分析

由于之前主要研究现代信号处理,对自然语言处理NLP不太了解,所以这篇文章诸位权当看个乐子。

福尔摩斯就不介绍了,大家都懂的,因此直接进入正题。本文使用Latent Dirichlet Allocation(LDA)主题模型分析福尔摩斯的原著小说和短篇小说中的文本。 LDA 是自然语言处理中的生成统计模型,可以发现文档中的潜在主题并推断主题中的单词概率,本文分为2个部分。在第1部分中,仅涉及福尔摩斯的原创作品。 2个数据集的总词数分别为203936个和454214,一共处理和分析了 658,150 个单词。福尔摩斯原著小说中共发现了4个主题,分别是“sir, holmes, think, case, watson“(“福尔摩斯与华生—友谊与主角”),“say, come, know, well, man”(“谜团和解谜”),“时间,小,房间,方式,发现”(“困难(例如时间和空间限制)”)和“人,得到,拿,问,做"(“案例的属性”)。在第 2 部分中,使用 3 部经典小说(简·奥斯汀的《理智与情感》、艾米莉·勃朗特的《呼啸山庄》和夏洛特·勃朗特的《简爱》)与福尔摩斯的短篇故事集来训练另一个 LDA 模型。第2部分新增的3部经典小说(《理智与情感》、《呼啸山庄》和《简爱》)分别为186302字、116537字和119580字,合计422419字。

首先开始第一部分,从第1组小说中加载和提取文本数据

data = readtable("SH_novels.csv",TextType="string");
head(data)

textData = data.Text;
textData(1:4)

准备用于分析的文本数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哥廷根数学学派

码字不易,且行且珍惜

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值