文档帮助中心文档
预测文档的顶级LDA主题
topicIdx =预测(ldaMdl、文档)
topicIdx =预测(ldaMdl袋)
topicIdx =预测(ldaMdl计数)
[topicIdx,分数]=预测(___)
___=预测(___、名称、值)
例子
topicIdx=预测(ldaMdl,文档)返回具有最大可能性的LDA主题索引文档基于LDA模型ldaMdl.
topicIdx=预测(ldaMdl,文档)
topicIdx
ldaMdl
文档
topicIdx=预测(ldaMdl,袋)返回由bag-of-words或bag-of-n-grams模型表示的文档的概率最大的LDA主题索引。
topicIdx=预测(ldaMdl,袋)
袋
topicIdx=预测(ldaMdl,计数)返回由单词计数矩阵表示的文档的最大概率LDA主题索引。
topicIdx=预测(ldaMdl,计数)
计数
[topicIdx,分数) =预测(___)也返回一个后验概率矩阵分数.
[topicIdx,分数) =预测(___)
分数
___=预测(___,名称,值)使用一个或多个名称-值对参数指定其他选项。
___=预测(___,名称,值)
名称,值
全部折叠
要重现本例中的结果,请设置rng来“默认”.
rng
“默认”
rng (“默认”)
加载示例数据。该文件sonnetsPreprocessed.txt包含了经过预处理的莎士比亚十四行诗。该文件每行包含一首十四行诗,单词之间用空格分隔。将文本从sonnetsPreprocessed.txt,将文本以换行符分割为文档,然后标记文档。
sonnetsPreprocessed.txt
文件名=“sonnetsPreprocessed.txt”;str = extractFileText(文件名);textData =分裂(str,换行符);文件= tokenizedDocument (textData);
创建一个词袋模型使用bagOfWords.
bagOfWords
袋= bagOfWords(文档)
单词:[" fairrest " "creatures" "desire"…NumWords: 3092 NumDocuments: 154
拟合具有20个主题的LDA模型。
numTopics = 20;numTopics mdl = fitlda(袋)
初始主题任务的采样时间为0.035863秒。===================================================================================== | 迭代每个相对| | |时间培训|主题| | | | | |迭代变化困惑浓度浓度| | | | | |(秒)日志(L) | | |迭代 | =====================================================================================| 0 | 0.02 | 5.000 | 1.159 e + 03 | | 0 | | 1 | 0.08 | 5.4884 e-02 e + 02 | 8.028 | 5.000 | 0 | | 2 | 0.06 | 4.7400 e 03 e + 02 | 7.778 | 5.000 | 0 | | 3 | 0.05 | 3.4597 e 03 e + 02 | 7.602 | 5.000 | 0 | | 4 | 0.05 | 3.4662 e 03 e + 02 | 7.430 | 5.000 | 0 | | 5 | 0.05 | 2.9259 e 03 e + 02 | 7.288 | 5.000 | 0 | | 6 | 0.06 | 6.4180 e-05 e + 02 | 7.291 | 5.000 | 0 |=====================================================================================
mdl = ldaModel with properties: NumTopics: 20 WordConcentration: 1 TopicConcentration: 5 corpustopic概率:[0.0500 0.0500 0.0500 0.0500 0.0500…词汇:[“最公平的”“生物”…TopicOrder: 'initial-fit-probability'
预测新文档数组的顶级主题。
newDocuments = tokenizedDocument ([“名字有什么关系呢?”玫瑰不管叫什么名字都一样芳香。”“如果音乐是爱情的食粮,那就继续演奏吧。”]);newDocuments topicIdx =预测(mdl)
topicIdx =2×119日8
使用词云可视化预测的主题。
图次要情节(1、2、1)wordcloud (mdl, topicIdx (1));标题(“主题”+ topicIdx(1) subplot(1,2,2) wordcloud(mdl,topicIdx(2));标题(“主题”+ topicIdx (2))
加载示例数据。sonnetsCounts.mat包含一个单词计数矩阵和相应的词汇预处理版本的莎士比亚十四行诗。
sonnetsCounts.mat
负载sonnetsCounts.mat大小(数量)
ans =1×2154 3092
拟合具有20个主题的LDA模型。要重现本例中的结果,请设置rng来“默认”.
rng (“默认”) numTopics = 20;numTopics mdl = fitlda(计数)
初始主题分配的采样时间为0.177311秒。===================================================================================== | 迭代每个相对| | |时间培训|主题| | | | | |迭代变化困惑浓度浓度| | | | | |(秒)日志(L) | | |迭代 | =====================================================================================| 0 | 1.50 | 5.000 | 1.159 e + 03 | | 0 | | 1 | 0.04 | 5.4884 e-02 e + 02 | 8.028 | 5.000 | 0 | | 2 | 0.05 | 4.7400 e 03 e + 02 | 7.778 | 5.000 | 0 | | 3 | 0.03 | 3.4597 e 03 e + 02 | 7.602 | 5.000 | 0 | | 4 | 0.06 | 3.4662 e 03 e + 02 | 7.430 | 5.000 | 0 | | 5 | 0.05 | 2.9259 e 03 e + 02 | 7.288 | 5.000 | 0 | | 6 | 0.05 | 6.4180 e-05 e + 02 | 7.291 | 5.000 | 0 |=====================================================================================
mdl = ldaModel with properties: NumTopics: 20 WordConcentration: 1 TopicConcentration: 5 corpustopic概率:[0.0500 0.0500 0.0500 0.0500 0.0500…词汇:["1" "2" "3" "4" "5"…TopicOrder: 'initial-fit-probability'
预测中前5个文档的顶级主题计数.
topicIdx =预测(mdl计数(1:5,:))
topicIdx =5×13 15 19 3 14
拟合具有20个主题的LDA模型。要抑制verbose输出,请设置“详细”为0。
“详细”
numTopics = 20;mdl = fitlda(袋、numTopics、“详细”, 0);
预测新文档的顶级主题。指定迭代限制为200。
newDocument = tokenizedDocument (“名字有什么关系呢?”玫瑰不管叫什么名字都一样芳香。”);iterationLimit = 200;[topicIdx,分数]=预测(mdl newDocument,...“IterationLimit”iterationLimit)
topicIdx = 19
成绩=1×200.0250 0.0250 0.0250 0.0250 0.1250 0.0250 0.0250 0.0250 0.0250 0.0250 0.0730 0.0250 0.0250 0.0770 0.0250 0.0250 0.0250 0.0250 0.0250 0.2250 0.1250
在条形图中查看预测得分。
图酒吧(分数)标题(LDA主题预测评分)包含(“主题指数”) ylabel (“分数”)
ldaModel
输入LDA模型,指定为ldaModel对象。
tokenizedDocument
输入文档,指定为tokenizedDocument数组、字的字符串数组或字符向量的单元格数组。如果文档是一个tokenizedDocument,那么它一定是一个列向量。如果文档是字符向量的字符串数组或单元格数组,则它必须是单个文档的一行单词。
提示
为了确保该函数不会丢弃有用的信息,您必须首先使用与预处理用于训练模型的文档相同的步骤对输入文档进行预处理。
bagOfNgrams
输入bag-of-words或bag-of-n-grams模型,指定为bagOfWords对象或一个bagOfNgrams对象。如果袋是一个bagOfNgrams对象,则该函数将每个n-gram视为单个单词。
单词的频率计数,指定为非负整数矩阵。如果您指定“DocumentsIn”是“行”,则值为计数(i, j)对应的次数j词汇表中的单词出现在我文档。否则,该值计数(i, j)对应的次数我词汇表中的单词出现在j文档。
“DocumentsIn”
“行”
计数(i, j)
指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家.
的名字
价值
Name1, Value1,…,的家
“IterationLimit”,200年
DocumentsIn
“列”
文档的方向在单词计数矩阵中,指定为逗号分隔对组成“DocumentsIn”以及以下其中之一:
“行”—输入是一个单词计数矩阵,对应文档的行数。
“列”-输入是一个转置的字数矩阵,其列对应于文档。
此选项仅适用于将输入文档指定为单词计数矩阵的情况。
请注意
如果您对单词计数矩阵进行了定位,使文档与列对应并指定“DocumentsIn”、“列”,那么您可能会经历优化执行时间的显著减少。
“DocumentsIn”、“列”
IterationLimit
One hundred.
最大迭代次数,由逗号分隔对组成“IterationLimit”一个正整数。
“IterationLimit”
例子:“IterationLimit”,200年
LogLikelihoodTolerance
0.0001
对数似然的相对容忍度,指定为逗号分隔的对,由“LogLikelihoodTolerance”一个正标量。当达到此公差时,优化终止。
“LogLikelihoodTolerance”
例子:“LogLikelihoodTolerance”,0.001
“LogLikelihoodTolerance”,0.001
预测主题索引,作为数字索引的向量返回。
预测的主题概率,返回为D——- - - - - -K矩阵,D是输入文件的数量和K是LDA模型中主题的数量。评分(i, j)概率是那个话题吗j出现在文档我.每一行的分数总结。
D
K
评分(i, j)
j
我
fitlda|logp|变换|wordcloud|bagOfWords|ldaModel
fitlda
logp
变换
wordcloud
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系