标签: latent-semantic-indexing

潜在语义分析概念

我已经阅读过使用奇异值分解(SVD)在文本语料库中进行潜在语义分析(LSA).我已经明白了如何做到这一点,我也理解了SVD的数学概念.

但我不明白为什么它适用于文本语料库(我相信 - 必须有语言解释).有人能用语言学的观点来解释我吗?

谢谢

algorithm nlp data-mining text-mining latent-semantic-indexing

13
推荐指数
2
解决办法
2858
查看次数

什么NLP工具用于匹配具有相似含义或语义的短语

我正在开展一个项目,要求我将短语或关键字与一组相似的关键字相匹配.我需要对它进行语义分析.

一个例子:

相关的QT
廉价医疗保险
实惠的医疗保险
低成本的医疗保险
健康计划,以便更
便宜的健康保险

常识

低成本的健康保险

Common Common列下的单词应与Under Related QT列相匹配.我看了一堆工具和技术来做同样的事情.S-Match似乎非常有前途,但我必须使用Python而不是Java.潜在语义分析看起来也不错,但我认为更多的是基于关键字而不是关键字匹配的文档分类.我对NLTK有点熟悉.有人可以提供一些有关我应该采取的方向以及我应该使用哪些工具的见解?

python nlp nltk latent-semantic-indexing

13
推荐指数
2
解决办法
9238
查看次数

使用Latent Dirichlet分配算法在gensim中进行聚类

是否可以使用LDA在gensim中对给定的输入集进行聚类?我该怎么办呢?

python algorithm cluster-analysis latent-semantic-indexing

9
推荐指数
3
解决办法
1万
查看次数

我们如何确定Latent语义分析的维数?

我最近一直致力于潜在的语义分析.我已经使用Jama包在java中实现了它.

这是代码:

    Matrix vtranspose ; 
    a = new Matrix(termdoc);  
    termdoc = a.getArray(); 
    a = a.transpose() ; 
    SingularValueDecomposition sv =new SingularValueDecomposition(a) ; 
    u = sv.getU();
    v = sv.getV(); 
    s = sv.getS();
    vtranspose = v.transpose() ; // we obtain this as a result of svd 

    uarray = u.getArray();
    sarray = s.getArray(); 
    varray = vtranspose.getArray(); 
    if(semantics.maketerms.nodoc>50)
    {

        sarray_mod = new double[50][50]; 
        uarray_mod = new double[uarray.length][50];
        varray_mod = new double[50][varray.length]; 
        move(sarray,50,50,sarray_mod); 
        move(uarray,uarray.length,50,uarray_mod); 
        move(varray,50,varray.length,varray_mod); 
        e = new Matrix(uarray_mod); 
        f = new Matrix(sarray_mod);
        g = new …
Run Code Online (Sandbox Code Playgroud)

java theory svd lsa latent-semantic-indexing

8
推荐指数
1
解决办法
5009
查看次数

在潜在语义索引方面需要帮助

对不起,如果我的问题听起来很愚蠢:)你可以向我推荐任何伪代码或者在java中实现LSI的好算法吗?我不是数学专家.我试着在维基百科和其他网站上阅读一些关于LSI(潜在语义索引)的文章,他们充满了数学.我知道LSI充满了数学.但是,如果我看到一些源代码或算法.我更容易理解事情.这就是我在这里问的原因,因为有很多GURU在这里!提前致谢

java algorithm math latent-semantic-indexing

7
推荐指数
2
解决办法
4297
查看次数

任何潜在的语义索引?

Java中是否有LSI的开源实现?我想将该库用于我的项目.我见过jLSI,但它实现了其他一些LSI模型.我想要一个标准型号.

java latent-semantic-indexing

6
推荐指数
1
解决办法
8274
查看次数

Python差异的潜在语义分析

我正在尝试使用以下代码关注Python中关于潜在语义索引维基百科文章:

documentTermMatrix = array([[ 0.,  1.,  0.,  1.,  1.,  0.,  1.],
                            [ 0.,  1.,  1.,  0.,  0.,  0.,  0.],
                            [ 0.,  0.,  0.,  0.,  0.,  1.,  1.],
                            [ 0.,  0.,  0.,  1.,  0.,  0.,  0.],
                            [ 0.,  1.,  1.,  0.,  0.,  0.,  0.],
                            [ 1.,  0.,  0.,  1.,  0.,  0.,  0.],
                            [ 0.,  0.,  0.,  0.,  1.,  1.,  0.],
                            [ 0.,  0.,  1.,  1.,  0.,  0.,  0.],
                            [ 1.,  0.,  0.,  1.,  0.,  0.,  0.]])
u,s,vt …
Run Code Online (Sandbox Code Playgroud)

python nlp numpy scipy latent-semantic-indexing

6
推荐指数
1
解决办法
1453
查看次数

通过Gensim查找未见文档的主题

我正在使用Gensim进行一些大规模的主题建模.我很难理解如何确定未见(非索引)文档的预测主题.例如:我有2500万个文档,我已经转换为LSA(和LDA)空间中的向量.我现在想弄清楚一个新文档的主题,我们称之为x.

根据Gensim文档,我可以使用:

topics = lsi[doc(x)]
Run Code Online (Sandbox Code Playgroud)

其中doc(x)是将x转换为向量的函数.

然而,问题是上述变量主题返回一个向量.如果我将x与其他文档进行比较,该向量很有用,因为它允许我找到它们之间的余弦相似性,但我无法实际返回与x本身相关的特定单词.

我错过了什么,或者Gensim没有这种能力?

谢谢,

编辑

拉斯曼斯有答案.

我能够通过使用以下方式显示主题:

for t in topics:
    print lsi.show_topics(t[0])
Run Code Online (Sandbox Code Playgroud)

python nlp latent-semantic-indexing gensim

6
推荐指数
1
解决办法
1万
查看次数

概率潜在语义分析/索引 - 简介

但最近我发现这个链接对于理解LSA的原理非常有帮助而没有太多的数学. http://www.puffinwarellc.com/index.php/news-and-articles/articles/33-latent-semantic-analysis-tutorial.html.它构成了我可以进一步建立的良好基础.

目前,我正在寻找对概率潜在语义分析/索引的类似介绍.少数数学和更多解释其背后原理的例子.如果你知道这样的介绍,请告诉我.

它可以用来找到句子之间相似性的度量吗?它会处理多义词吗?

是否有相同的python实现?

谢谢.

nlp lsa latent-semantic-indexing

5
推荐指数
1
解决办法
4058
查看次数

免费的LSI服务或API来获取相关的关键字

有人告诉我雅虎曾经有一个免费的LSI服务,称为Yahoo Boss API,自7月20日起就要求付费,并且微软必应搜索引擎提供免费服务,提供类似但不如Yahoo Boss API的功能.

是否存在除上述之外的其他免费API,为开发人员提供此类服务?

我一直试图从谷歌找到类似的东西而没有任何结果.

api seo search-engine latent-semantic-indexing bing-api

5
推荐指数
0
解决办法
1304
查看次数

结合 LSA/LSI 与朴素贝叶斯进行文档分类

我是gensim包和向量空间模型的新手,我不确定我应该如何处理我的 LSA 输出。

为了简要概述我的目标,我想使用主题建模来增强朴素贝叶斯分类器,以改进评论(正面或负面)的分类。这是我一直在阅读的一篇很棒的论文,它塑造了我的想法,但让我对实现仍然有些困惑。

我已经得到了朴素贝叶斯的工作代码——目前,我只是使用一元词袋,因为我的特征和标签要么是正面的,要么是负面的。

这是我的 gensim 代码

from pprint import pprint # pretty printer
import gensim as gs

# tutorial sample documents
docs = ["Human machine interface for lab abc computer applications",
              "A survey of user opinion of computer system response time",
              "The EPS user interface management system",
              "System and human system engineering testing of EPS",
              "Relation of user perceived response time to error measurement",
              "The generation of random binary unordered trees", …
Run Code Online (Sandbox Code Playgroud)

latent-semantic-indexing document-classification gensim latent-semantic-analysis naivebayes

5
推荐指数
1
解决办法
1128
查看次数

LSA - 特征选择

我有这个文件的SVD分解

SVD分解

我已阅读此页面,但我不明白如何计算文档分离的最佳功能.

我知道:

S x Vt 给出了文档和功能之间的关系

U x S 给出了术语和特征之间的关系

但最佳功能选择的关键是什么?

machine-learning svd latent-semantic-indexing feature-selection latent-semantic-analysis

3
推荐指数
1
解决办法
962
查看次数