主要内容

lsamodel.

潜在语义分析(LSA)模型

描述

潜在语义分析(LSA)模型发现文档之间的关系和它们包含的单词。LSA模型是一种维度减少工具,可用于在高维词数上运行低维统计模型。如果模型适合使用N-r克模型,则软件将n-gram视为个别单词。

创建

使用该模型创建LSA模型fitlsa函数。

属性

全部展开

组件数,指定为非负整数。组件的数量是结果向量的维度。改变价值NumComponents更改生成的向量的长度,而不会影响初始值。你只能设置NumComponents小于或等于适合LSA模型的组件数。

例子:100.

指数缩放特征组件的强度domecesscores.字节码属性,转变函数,指定为非负标量。LSA模型通过属性的奇异值(特性强度)扩展属性,指数为FeatureStrengthExponent / 2

例子:2.5

组件权重,指定为数字向量。LSA模型的组件权重是奇异值,平方。ComponentWeights是1 -NumComponents矢量在哪里j进入对应于组件的重量j.这些成分是按重量递减的顺序排列的。您可以使用权重来估计组件的重要性。

为每个输入文档的向量评分,指定为一个矩阵。LSA模型的文档分数是每个文档在低维空间中用于拟合LSA模型的分数向量。domecesscores.是一个D-经过-NumComponents矩阵D是用于适合LSA模型的文档数量。这(I,J)进入domecesscores.对应于组件的分数j在文档

每个组件的字分数,指定为矩阵。LSA模型的单词分数是LSA模型的每个组件中的每个单词的分数。字节码是一个V-经过-NumComponents矩阵V是单词数量词汇表.这(v, j)进入字节码对应于单词的分数v在组件j

模型中的唯一单词,指定为字符串向量。

数据类型:字符串

对象的功能

转变 将文档转换为低维空间

例子

全部收缩

将潜在语义分析模型应用于文档集合。

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

文件名=“sonnetspreprocessed.txt”;str = extractFileText(文件名);textData =分裂(str,换行符);文件= tokenizedDocument (textData);

使用袋式模型使用bagOfWords

袋= bagOfWords(文档)
单词:[" fairrest " "creatures" "desire"…NumWords: 3092 NumDocuments: 154

适合一个具有20个组件的LSA模型。

NumComponents = 20;mdl = fitlsa(袋子,num components)
mdl = lsammodel with properties: NumComponents: 20 ComponentWeights: [2.7866e+03 515.5889 443.6428 316.4191…词汇:[" fairmost " "creatures" "desire"…] FeatureStrengthExponent: 2

使用LSA模型将新文档转换为低维空间。

newDocuments = tokenizedDocument ([“名字有什么关系呢?”玫瑰不管叫什么名字都一样芳香。”“如果音乐是爱的食物,就会扮演。”]);dscores = transform(mdl,newdocuments)
dscores =2×20.0.1338 0.1623 0.1680 -0.0541 -0.2464 -0.0134 -0.2604 -0.0205 0.1127 0.0627 0.3311 -0.2327 0.1689 -0.2695 0.0228 0.1241 0.1198 0.2535 -0.0607 0.0305 0.2547 0.5576 -0.0095 0.5660 -0.0643 -0.1236 0.0082 0.0522 -0.0690 -0.0330 0.0385 0.0803 - 0.0384 -0.0005 0.1943 0.0207 0.0278 0.0001 -0.0469

从一些文本数据创建一个单词包模型。

str = [“我早餐喜欢吃火腿、鸡蛋和熏肉。”“我有时不吃早餐。”“我晚饭吃鸡蛋和火腿。”];文件= tokenizedDocument (str);袋= bagOfWords(文件);

适合两个组件的LSA模型。将功能强度指数设置为0.5。

numComponents = 2;指数= 0.5;mdl = fitlsa(袋、numComponents、...“FeatureStrengthExponent”指数)
MDL = Lsamodel具有属性:NumComponents:2个组件重量:[16.2268 4.0000] DocumentCores:[3x2 Double] Wordcores:[14x2 Double]词汇:[“我”“享受”“Ham”“,”......] FeatureTrengeponent:0.5000

计算使用文件分数向量之间的余弦距离pdist.查看矩阵中的距离D使用方形D(i,j)表示文档之间的距离j

dscores = mdl.DocumentScores;距离= pdist (dscores,的余弦);d =方形格式(距离)
d =3×30 0.6244 0.1489 0.6244 0 1.1670 0.1489 1.1670 0

通过绘制指南针图中的文档分数向量来可视化文档之间的相似性。

图罗盘(DScores(1,1),DScores(1,2),“红色”) 抓住指南针(dscores (2, 1), dscores (2, 2),'绿色')指南针(dscores (3,1), dscores (3, 2),'蓝色') 抓住离开标题(“文件分数”) 传奇([“文档1”“文档2”“文档3”],'地点'“bestoutside”

介绍了R2017b