主要内容

变换

将文档转换为低维空间

描述

实例

数据核=变换(lsaMdl,文件)将文档转换为潜在语义分析(LSA)模型的语义空间lsaMdl

数据核=变换(lsaMdl,纸袋)转换由单词袋或n-grams袋模型表示的文档纸袋进入LSA模型的语义空间lsaMdl

数据核=变换(lsaMdl,计数)转换文件代表通过字计数的矩阵到LSA模型的语义空间lsaMdl

实例

数据核=变换(ldaMdl,文件)将文档转换为LDA模型的潜在Dirichlet分配(LDA)主题概率空间ldaMdl.的行数据核是文档的主题混合表示。

数据核=变换(ldaMdl,纸袋)转换由单词袋或n-grams袋模型表示的文档纸袋进入LDA模型的LDA主题概率空间ldaMdl

实例

数据核=变换(ldaMdl,计数)将单词计数矩阵表示的文档转换为LDA模型的LDA主题概率空间ldaMdl

数据核=变换(___,名称,值)指定使用额外的一个或多个选项的名称 - 值对的参数。这些名称 - 值对只有当输入模式是一种适用阿尔达莫代尔对象。

例子

全部收缩

加载示例数据。档案sonnetsPreprocessed.txt包含莎士比亚十四行诗的预处理版本。该文件每行包含一首十四行诗,单词之间用空格分隔。从中提取文本sonnetsPreprocessed.txt,以换行符将文本拆分为文档,然后标记文档。

文件名=“sonnetsPreprocessed.txt”; str=提取文件文本(文件名);textData=split(str,换行符);文档=标记化文档(textData);

创建一个词袋模型使用巴格沃兹

包= bagOfWords(文档)
袋= bagOfWords具有属性:计算:[154x3092双]词汇:[ “公平”, “生物”, “欲望” ...] NUMWORDS:3092个NumDocuments:154

安装包含20个组件的LSA模型。

numCompnents = 20;numCompnents mdl = fitlsa(袋)
MDL = lsaModel与属性:NumComponents:20个ComponentWeights:2.7866e + 03 515.5889 443.6428 316.4191 ...] DocumentScores:[154x20双] WordScores:[3092x20双]词汇:[ “公平”, “生物”, “欲望” ...] FeatureStrengthExponent:2

使用变换将前10个文档转换为LSA模型的语义空间。

dscores =变换(mdl、文档(1:10))
dscores =10×205.6059 -1.8559 0.9286 -0.7086 -0.4652 -0.8340 0.6751 0.0611 0.2268 1.9320 -0.7289 -1.0864 0.7131 -0.0571 -0.3401 0.0940 -0.4406 1.7507 -1.1534 0.1785 7.3069 -2.3578 1.8359 -2.3442 -1.5776 -2.0310 0.7948 1.3411 -1.1700 1.8839 0.0883 0.4734 -1.1244 0.67951.3585 -0.0247 0.3627 -0.5414 -0.0272 -0.0114 7.1056 -2.3508 -2.8837 -1.0688 -0.3462 -0.6962 0.0334 -0.0472 0.4916 0.6496 -1.1959 -1.0171 -0.4020 1.2953 -0.4583 0.5984 -0.3890 1.1780 0.6413 0.6575 8.6292 -3.0471 -0.8512 -0.4356 -0.30550.4671 -1.4219 -0.8454 -0.8270 0.4122 2.2082 -1.1770 1.7775 -2.2344 -2.7813 1.4979 0.7486 -2.0593 0.6376 1.0721 1.0434 1.7490 0.8703 -2.2315 -1.1221 0.2848 -2.0522 -0.6975 1.7191 -0.2852 0.8879 0.9950 -0.5555 0.8842 -0.0360 1.0050 0.4158 0.5061 0.9602 0.4672 6.8358-2.0806 -3.3798 -1.0452 -0.2075 2.0970 -0.4477 0.2080 0.9532 1.6203 0.6653 0.0036 1.0825 0.6396 -0.2154 -0.0794 0.7108 1.8007 -4.0326 -0.3872 2.3847 0.3923 -0.4323 -1.53​​40 0.4023 -1.0396 -1.0326 0.3776 0.2101 -1.0944 -0.7513 -0.2894 0.4303 0.1864 0.4922 0.4844 0.5191 -0.2378 0.9528 0.4817 3.7925 -0.3941 -4.4610 -0.4930 0.4651 0.3404 -0.5493 0.1470 0.5065 0.2566 0.3394 -1.1529 -0.0391 -0.8800 -0.4712 0.9672 0.5457 -0.3639 -0.3085 0.5637 4.6522 0.7188 -1.1787 -0.8996 0.3360 0.4531 -0.1935 0.3328  -0.8640 -1.6679 -0.8056 -2.1993 0.1808 0.0163 -0.9520 -0.8982 0.6603 3.6451 1.2412 1.9621 8.8218 -0.8168 -2.5101 1.1197 -0.8673 -1.2336 0.0768 0.1943 -0.7629 -0.1222 0.3786 1.1611 0.2326 0.3415 -0.3327 -0.3792 1.7554 0.2526 -2.1574 -0.0193

要重现本例中的结果,请设置rng“默认”

rng (“默认”)

加载示例数据。档案sonnetsPreprocessed.txt包含莎士比亚十四行诗的预处理版本。该文件每行包含一首十四行诗,单词之间用空格分隔。从中提取文本sonnetsPreprocessed.txt,以换行符将文本拆分为文档,然后标记文档。

文件名=“sonnetsPreprocessed.txt”; str=提取文件文本(文件名);textData=split(str,换行符);文档=标记化文档(textData);

创建一个词袋模型使用巴格沃兹

包= bagOfWords(文档)
袋= bagOfWords具有属性:计算:[154x3092双]词汇:[ “公平”, “生物”, “欲望” ...] NUMWORDS:3092个NumDocuments:154

适合的LDA模型五个主题。

numTopics = 5;numTopics mdl = fitlda(袋)
初始主题分配在0.102958秒内采样。=================================================================================================================================================================================================================================================================================================================================================================================================================================迭代|每次时间|相对|训练|主题|主题| | |迭代|变化|困惑|集中|集中| | | | | | | | | | | | | | |第1244周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周周;2 | 0.02 | 1.3254e-03 | 1.102e+03 | 1.250 | 0 | 3 | 0.01 | 2.9402e-05 | 1.102e+03 | 1.250 | 0 |=====================================================================================
MDL = ldaModel与属性:NumTopics:5 WordConcentration:1 TopicConcentration:1.2500 CorpusTopicProbabilities:[0.2000 0.2000 0.2000 0.2000 0.2000] DocumentTopicProbabilities:[154x5双] TopicWordProbabilities:[3092x5双]词汇:[ “公平”, “生物” ...] TopicOrder:“初始拟合概率” FitInfo:[1x1的结构]

使用变换在文档转换为话题的概率的向量。您可以使用可视化堆叠条形图这些混合物。查看前10个文件的主题混合物。

topicMixtures =变换(MDL,文档(1:10));图BARH(topicMixtures,“叠加”)XLIM([0 1])标题(“主题混合”)包含(“话题概率”) ylabel (“文档”) 传奇(“主题”+字符串(1:numTopics),“位置”,'northeastoutside')

图中包含一个轴对象。标题为“混合”的轴对象包含5个bar类型的对象。这些对象表示主题1、主题2、主题3、主题4和主题5。

加载示例数据。sonnetsCounts.mat包含一个单词计数矩阵和相应的词汇预处理版本的莎士比亚十四行诗。

加载sonnetsCounts.mat大小(数量)
ans =.1×2154 3092

配合20个主题的LDA模型。要重现本例中的结果,请设置rng“默认”

rng (“默认”)numTopics=20;mdl=fitlda(计数,numTopics)
初始主题作业在0.13535秒内采样。=================================================================================================================================================================================================================================================================================================================================================================================================================================迭代|每次时间|相对|训练|主题|主题| | |迭代|变化|困惑|集中|集中| | | | | | | | | | | | | | |第1244周周周よ124???124??124???124???124??124??124??124??124??124???124???124?124?124?124?1244周周周周第第四周周周第四周周第第四周周周第第四周周第第第四周周第第四周周第四周周第第四周周第四周第第四周周第第第第四周周第第第第第四周周第第第四周周第第第第第第二次次次第二周第四周周第四周周第四周第四周第四周第四周第四周第四周第四周第第四周第四周第四周第四周第四周第第四周第四周第四周第第四周第四周第四周第第第四周第第四周第第第第;2 | 0.04 | 4.7400e-03 | 7.778e+02 | 5.000 | 0.03 | 3.4597e-03 | 7.602e+02 | 5.000 | 4 | 0.03 | 3.4662e-03 | 7.430e+02 | 5 ||0.03 | 2.9259e-03 | 7.288e+02 | 5.000 | 0 | 6 | 0.03 | 6.4180e-05 | 7.291e+02 | 5.000 |=====================================================================================
MDL = ldaModel与属性:NumTopics:20 WordConcentration:1 TopicConcentration:5个CorpusTopicProbabilities:[0.0500 0.0500 0.0500 0.0500 0.0500 ...] DocumentTopicProbabilities:[154x20双] TopicWordProbabilities:[3092x20双]词汇:[ “1” “2”“3“ ”4“ ”5“ ...] TopicOrder: '初始拟合概率' Fit​​Info:[1x1的结构]

使用变换在文档转换为话题的概率的向量。

topicMixtures =变换(MDL,计数(1:10,:))
topicMixtures =10×200.0167 0.0035 0.1645 0.0977 0.0433 0.0833 0.0987 0.0033 0.0299 0.0234 0.0033 0.0345 0.0235 0.0958 0.0667 0.0519 0.0833 0.0300 0.0711 0.0544 0.0116 0.0044 0.0033 0.0033 0.0431 0.0053 0.0145 0.0421 0.0971 0.0033 0.0040 0.1632 0.1784 0.0937 0.0683 0.0398 0.0954 0.0037 0.0293 0.0482 0.01078 0.0064 0.06120.0036 0.0176 0.0036 0.0464 0.0906 0.1169 0.0888 0.1115 0.1180 0.0607 0.0055 0.0962 0.2403 0.0033 0.0296 0.1613 0.0164 0.0955 0.0163 0.0045 0.0415 0.0404 0.0342 0.0176 0.0417 0.0642 0.0033 0.0676 0.0341 0.0341 0.0948 0.0038 0.01099 0.0187 0.0560 0.01045 0.0356 0.0668 0.1196 0.0038 0.0931 0.06260.0445 0.0035 0.1167 0.0034 0.0446 0.0583 0.1268 0.01135 0.0034 0.0047 0.0993 0.0909 0.0582 0.0308 0.0887 0.0856 0.0034 0.1720 0.0764 0.0090 0.0180 0.0325 0.1213 0.0036 0.0036 0.0505 0.0472 0.0348 0.0477 0.0039 0.0038 0.0122 0.0041 0.0036 0.1605 0.1487 0.0465 0.0043 0.0033 0.1248 0.0033 0.0299 0.0033 0.01699 0.06950.0033 0.0039 0.0620 0.0833 0.0040 0.0700 0.0033 0.1479 0.0033 0.0433 0.0412 0.0387 0.0555 0.0165 0.0166 0.0433 0.0033 0.0038 0.0048 0.0033 0.0473 0.0474 0.1290 0.1107 0.0089 0.0112 0.0167 0.1555 0.2423 0.0040 0.0362 0.0035 0.1117 0.0304 0.0034 0.1248 0.0439 0.0340 0.0168 0.0714 0.0034 0.0214 0.0056 0.0449 0.1438 0.0036 0.0290 0.0980 0.0304

输入参数

全部收缩

输入LSA模型,指定为lsaModel对象。

输入LDA模型,指定为阿尔达莫代尔对象。

输入文档,指定为tokenizedDocument数组、字的字符串数组或字符向量的单元格数组。如果文件是A.tokenizedDocument,那么它必须是一个列向量。如果文件是字符向量的字符串数组或单元格数组,则它必须是单个文档的一行单词。

提示

为了确保函数不会丢弃有用的信息,必须首先使用用于预处理用于训练模型的文档的相同步骤预处理输入文档。

输入袋的词或袋的的N-gram模型,指定为巴格沃兹对象或一个巴戈夫克对象。如果纸袋是A.巴戈夫克对象,则该函数将每个n-gram视为一个单词。

字的频率计数,指定为非负整数矩阵。如果您指定“文件罪”成为“行”,然后是值计数(i, j)对应于J词汇个字出现在第16号文件。否则,值计数(i, j)对应于词汇个字出现在J个文档。

名称值参数

指定可选的用逗号分隔的对名称,值参数。名称是参数的名称和价值为对应值。名称必须出现引号内。您可以按照任何顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:“IterationLimit”,200年将迭代限制设置为200。

笔记

这些名称 - 值对只有当输入模式是一种适用阿尔达莫代尔对象。

在字计数矩阵文件定向,指定为逗号分隔的一对组成的“文件罪”以及下列其中一项:

  • “行”–输入是一个字数矩阵,其行对应于文档。

  • “专栏”-输入是一个转置的字数矩阵,其列对应于文档。

此选项仅适用于将输入文档指定为单词计数矩阵的情况。

笔记

如果您对单词计数矩阵进行了定位,使文档与列对应并指定“DocumentsIn”,“columns”,则您可能会体验到优化执行时间的显著减少。

最大迭代次数,指定为逗号分隔对,由'IterationLimit'一个正整数。

例子:“IterationLimit”,200年

对数似然的相对容忍度,指定为逗号分隔的对,由“对数可能性容差”一个正标量。当达到此公差时,优化终止。

例子:'LogLikelihoodTolerance',0.001

输出参数

全部收缩

输出文档分数,作为分数向量矩阵返回。

在R2017b中引入