问题标签 [term-document-matrix]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
939 浏览

r - 在 R 中创建文档术语矩阵

我需要为自己、我的 Twitter 关注者和他们的关注者创建一个文档术语矩阵。

我们需要在不使用 tm 包的情况下创建它。

目前,我们有以下变量:

list l:包含所有关注者的关注者,每个关注者存储(包括我自己和我自己的关注者)

lunique1:列表 l 的未列出和排序版本,它包含所有关注者的关注者

matrix:我们创建的具有以下维度的矩阵:

追随者:包含我所有追随者的列表。(需要 nrow 中的加一 = length(followers)+1 才能将自己包含在维度中

这是我用于创建 documentTermMatrix 的代码(一个仅包含值 0 和 1 的矩阵,以显示谁与谁相关联)

我(还)没有在 R 方面有经验,但这段代码需要在今晚之前工作。我希望你们能帮助我,因为我真的没有想法:(

提前致谢

0 投票
1 回答
2043 浏览

r - 在术语文档矩阵上使用 lapply 计算词频

给定三个 TermDocumentMatrix、text1、text2 和 text3,我想将它们中的每一个的词频计算到一个数据框中并 rbind 所有数据框。三个是样本——我实际上有数百个,所以我需要对其进行功能化。

计算一个 TDM 的词频很容易:

或者

我想列出 TDM:

并计算每个单词的频率并将其放入数据框中:

然后 rbind 全部:

我不知道如何在 TDM 上使用 lapply 来计算词频。

添加示例数据以玩弄:

0 投票
3 回答
337 浏览

r - R - 在有序因子上缓慢工作 lapply

基于创建语料库和 DTM 的更有效方法的问题,我准备了自己的方法,用于从大型语料库构建术语文档矩阵,(我希望)不需要术语 x 文档内存。

它在计算时变慢v1。它运行了 30 分钟,我停止了它。

我准备了一个小例子:

结果是:

id和content有126522个元素,Lev.terms有155591个元素,看来我已经停止处理太早了。因为最终我将处理大约 6M 的文档,我需要问......有什么方法可以加快这段代码的速度吗?

0 投票
0 回答
156 浏览

r - DocumentTermMatrix 函数不考虑 R 中语料库的所有术语

我是tmR 中的新手。我在语料库上运行以下代码,但输出DocumentTermMatrix并未考虑所有条款。

它只显示两个术语,而我的数据集中有超过 15 个术语。有人可以帮忙吗?

0 投票
3 回答
2034 浏览

r - 如何为 R 目录中的文本文件创建 wordcloud

我正在尝试为目录中的每个文本文件创建一个 wordcloud。它们是四次总统宣布演讲。我不断收到以下消息:

最初我能够绘制 Berniedoc,但丢失了图形,但现在无法绘制。

你能告诉我我做错了什么吗?会不会是缩放?或者我应该把“伯尼多克”换成别的东西吗?

0 投票
1 回答
219 浏览

r - 为 R 中的术语文档矩阵排除 colSums 中的异常值

我创建了一个术语文档矩阵“myDtm”,其中包含大量专利中包含的一组关键字。我想获得一个有序的、前 100 名、关键词频率最高的专利列表。

代码行是

结果如下所示(摘录):

问题:如何排除异常值,例如专利号。6822?对于异常值,我指的是仅包含一两个关键字但频率非常高的专利。我想获得看起来像专利号的前 100 名专利列表。20447 或 27640,其中包含大多数关键字。更具体地说,有没有一种说法:按关键字提及的频率对列进行排序,并确保至少 50% 的关键字被提及??

先感谢您。

0 投票
2 回答
2914 浏览

r - R - 比较两个语料库以创建一个新语料库,其中包含语料库 #1 中频率较高的单词

我有两个包含相似单词的语料库。足够相似,使用setdiff并不能真正帮助我的事业。所以我已经转向寻找一种方法来提取更频繁的单词列表或语料库(最终制作一个 wordcloud)(假设这样的东西会有一个阈值 - 所以可能像 50% 更频繁?)在语料库中# 1,与语料库#2相比。

这就是我现在所拥有的一切:

因此,如果单词“wingspan”在语料库#2('SECcorpus')中的计数频率为 100,但在语料库#1('corpus')中的计数频率为 150,我们希望该词出现在我们的结果语料库/列表中。

0 投票
1 回答
1701 浏览

python - 从 ElasticSearch 索引在 Python 中创建术语文档矩阵

ElasticSearch 新手在这里。我有一组文本文档,我通过 Python ElasticSearch 客户端使用 ElasticSearch 对其进行了索引。现在我想使用 Python 和 scikit-learn 对文档进行一些机器学习。我需要完成以下工作。

  1. 使用 ElasticSearch 分析器处理文本(词干、小写等)
  2. 从索引中检索已处理的文档(或分析的标记)。
  3. 将处理后的文档转换为 Term-Document Matrix 进行分类(可能使用 scikit-learn 中的 CountVectorizer)。或者,也许有一些方法可以直接从 ElasticSearch 检索 TDM。

我在思考解决此问题的正确方法时遇到了麻烦,而且 ElasticSearch 似乎没有任何简单的实现。

例如,我可以只从 ES 中检索未分析的文档,然后在 Python 中处理这些文档,但我想使用 ES 的分析器。每次我从 ES 查询一组文档时,我都可以使用 ES 的分析器,但这似乎做了两次,因为它应该已经被分析并存储在索引中。或者,我认为我可以告诉 ES 检索每个文档的术语向量,并从每个文档的结果中手动提取标记和计数,然后根据标记和计数手动编码 TDM。这似乎是迄今为止我能想到的最直接的方式。

是否有任何更简单或更直接的途径可以将分析文本的 TDM 从 ES 索引导入 Python 以使用机器学习包?

0 投票
2 回答
272 浏览

r - 创建 TermDocumentMatrix:文档数量问题

我正在尝试使用大约 3+ 百万行文本的文本文件创建术语文档矩阵。我创建了一个随机文本样本,产生了大约 300,000 行。

不幸的是,当使用以下代码时,我最终得到了 300,000 个文档。我只想要一个包含每个二元组频率的文档:

该示例包含大约 300,000 行。但是,tdm 中的文档数量也是 300,000。

任何帮助将非常感激。

0 投票
2 回答
114 浏览

r - 如何从 TDM 矩阵中分离出二元组的数字向量

我在 R 中有一个大数字(46201 个元素,3.3 Mb)。

我试着把每个分开:

我希望将其中的每一个分开,因此输出将与此类似: