文档帮助中心文档
预测文档的顶级LDA主题
topicIdx =预测(ldaMdl、文档)
topicIdx =预测(ldaMdl袋)
topicIdx =预测(ldaMdl计数)
[topicIdx,分数]=预测(___)
___=预测(___、名称、值)
例子
topicIdx=预测(ldaMdl,文档)返回概率最大的LDA主题索引文档基于LDA模型ldaMdl。
topicIdx=预测(ldaMdl,文档)
topicIdx
ldaMdl
文档
topicIdx=预测(ldaMdl,袋)返回具有最大概率的LDA主题索引,这些文档由单词袋或n克袋模型表示。
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(文档)
计数:[154x3092 double]词汇:[“最公平的”“生物”“欲望”…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.057.602 e + 02 | 5.000 | 3.4597 e 03 | | 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 corpustopicprobability:[0.0500 0.0500 0.0500 0.0500 0.0500…[154x20 double] [3092x20 double]词汇:["最公平的" "生物"…TopicOrder: '初始匹配概率' FitInfo: [1x1 struct]
预测一系列新文档的首选主题。
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.037.602 e + 02 | 5.000 | 3.4597 e 03 | | 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 corpustopicprobability:[0.0500 0.0500 0.0500 0.0500 0.0500…[154x20 double] topicwordprobability: [3092x20 double]词汇:["1" "2" "3" "4" "5"…TopicOrder: '初始匹配概率' FitInfo: [1x1 struct]
预测的前5个文档的首要主题计数。
topicIdx =预测(mdl计数(1:5,:))
topicIdx =5×13 15 19 3 14
拟合一个包含20个主题的LDA模型。若要抑制详细输出,请设置“详细”为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.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
输入单词袋或n克袋模型,指定为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コマンドをサポトしていません。
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您的地理位置,我们建议您选择:。
您也可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。
联系当地办事处