主要内容

lsaModel

潜在语义分析(LSA)模型

描述

潜在语义分析(LSA)模型发现文件,它们包含的单词之间的关系。LSA模型是一种降维的工具用于高维单词统计上运行低维统计模型。如果模型是适合使用bag-of-n-grams模型,然后该软件将字格作为单独的单词。

创建

创建LSA模型使用fitlsa函数。

属性

全部展开

数量的组件指定为一个非负整数。组件的数量结果向量的维数。改变的价值NumComponents变化产生的向量的长度,而不影响初始值。你只能设置NumComponents小于或等于使用的组件数量以适应LSA模型。

例子:One hundred.

指数扩展功能组件的优点DocumentScoresWordScores属性,变换函数,指定为负的标量。LSA模型尺度特性的奇异值(功能优势)的指数FeatureStrengthExponent / 2

例子:2.5

组件的重量,指定为一个数值向量。组件LSA的权重模型是奇异值的平方。ComponentWeights是1 -NumComponents向量的j条目对应组件的重量j。组件是下令减少重量。您可以使用重量估计组件的重要性。

每个输入文档得分向量,指定为一个矩阵。LSA模型的文档得分得分向量在低维空间的每个文档用于符合LSA模型。DocumentScores是一个D——- - - - - -NumComponents矩阵D文档的数量用于符合LSA模型。的(i, j)th的条目DocumentScores对应的分数组件j在文档

单词分数/组件,指定为一个矩阵。这个词的LSA模型中每个单词的分数LSA模型的每个组件。WordScores是一个V——- - - - - -NumComponents矩阵V单词的数量吗词汇表。的(v, j)th的条目WordScores对应的分数v在组件j

独特的模型中,指定为一个字符串向量。

数据类型:字符串

对象的功能

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

例子

全部折叠

基于潜在语义分析模型适合文档的集合。

加载示例数据。该文件sonnetsPreprocessed.txt莎士比亚的十四行诗的包含预处理版本。文件包含每行一个十四行诗,单词之间用一个空格来分隔。提取的文本sonnetsPreprocessed.txt在换行字符,文本分割成文档,然后标记文件。

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

创建一个bag-of-words模型使用bagOfWords

袋= bagOfWords(文档)
袋= bagOfWords属性:计数:[154 x3092双]词汇:“公平”“生物”“希望”“增加”“从而”“美”“玫瑰”“可能”“从不”“死”“成熟”“时间”“死”“温柔”“继承人”“熊”“记忆”“你”“简约”…]NumWords: 3092 NumDocuments: 154

适合LSA与20组件模型。

numComponents = 20;numComponents mdl = fitlsa(袋)
mdl = lsaModel属性:NumComponents: 20 ComponentWeights: [2.7866 e + 03 515.5889 443.6428 316.4191 295.4065 261.8927 226.1649 186.2160 170.6413 156.6033 151.5275 146.2553 141.6741 135.5318 134.1694 128.9931 124.2382 122.2931 116.5035 116.2590] DocumentScores: [154 x20的双]WordScores: [3092 x20的双]词汇:(“公平”“生物”“希望”“增加”“从而”“美”“玫瑰”“可能”“从不”“死”“成熟”“时间”“死”“温柔”“继承人”“熊”“记忆”“你”…]FeatureStrengthExponent: 2

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

newDocuments = tokenizedDocument ([“在一个叫什么名字?增加了其他名字同样芬芳。”“如果音乐是爱情的食粮,玩。”]);newDocuments dscores =变换(mdl)
dscores =2×200.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.0373 0.0384 -0.0005 0.1943 0.0207 0.0278 0.0001 -0.0469

从一些文本数据创建一个bag-of-words模型。

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

适合LSA模型两部分组成。设置功能强度指数为0.5。

numComponents = 2;指数= 0.5;mdl = fitlsa(袋、numComponents、“FeatureStrengthExponent”指数)
mdl = lsaModel属性:NumComponents: 2 ComponentWeights: [16.2268 - 4] DocumentScores: [3 x2双]WordScores: [14 x2双]词汇:[“我”“喜欢”“火腿””、““鸡蛋”“和““培根”“对于”“早餐”“。”"sometimes" "skip" "eat" "dinner"] FeatureStrengthExponent: 0.5000

计算文档得分向量之间的余弦距离pdist。视图的距离在一个矩阵D使用squareformD (i, j)表示文档之间的距离j

dscores = mdl.DocumentScores;距离= pdist (dscores,的余弦);D = squareform(距离)
D =3×30 0 0.6244 0.1489 0.6244 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