问题标签 [tm]

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 回答
3918 浏览

r - 如何使用 tm 包计算 R 中的可读性

库中是否有为此预先构建的功能tm,或者可以很好地使用它?

我当前的语料库被加载到 tm 中,如下所示:

我尝试使用koRpus,但在与我已经使用的不同的包中重新标记似乎很愚蠢。我也遇到了矢量化它的返回对象的问题,这种方式允许我将结果重新合并到tm. (也就是说,由于错误,它返回的可读性分数通常会比我收藏的文档数量多或少。)

我知道我可以做一个简单的计算,将元音解析为音节,但想要一个更彻底的包来处理边缘情况(地址静默 e 等)。

我选择的可读性分数是 Flesch-Kincaid 或 Fry。

我最初尝试过的 d 是我的 100 个文档的语料库:

不幸的是,x 返回的文档少于 100 个,因此我无法将成功与正确的文档相关联。(这部分是我对 R 中的“foreach”与“lapply”的误解,但我发现文本对象的结构非常困难,以至于我无法适当地标记化、应用 flesch.kincaid 并以合理的应用顺序成功检查错误声明。)

更新

我尝试过的另外两件事,试图将 koRpus 函数应用于 tm 对象......

  1. 使用默认标记器将参数传递给 tm_map 对象: tm_map(d,flesch.kincaid,force.lang="en",tagger=tokenize)

  2. 定义一个分词器,将其传入。

    /li>

这两个都返回:

然后列出 d[ 1 ] 的全文。好像找到了?我应该怎么做才能正确传递函数?

更新 2

这是我尝试使用 lapply 直接映射 koRpus 函数时遇到的错误:

这看起来像一个奇怪的错误——我几乎不认为这意味着它无法找到文本,而是在转储定位的文本之前无法找到一些空白错误代码(例如,'tokenizer') .

更新 3

使用重新标记的另一个问题koRpus是重新标记(与 tm 标记器相比)非常慢,并将其标记化进度输出到标准输出。无论如何,我尝试了以下方法:

我的意图是将y上面的对象作为元数据重新绑定回我的tm(d)语料库,meta(d, "F-KScore") <- y.

不幸的是,应用于我的实际数据集,我收到错误消息:

我认为我的实际语料库中的一个元素必须是 NA,或者太长,或者是其他令人望而却步的元素——而且由于嵌套的功能化,我无法准确追踪它是什么。

所以,目前,似乎没有预先构建的功能来阅读与tm图书馆很好地配合的乐谱。除非有人看到一个简单的错误捕获解决方案,否则我可以将其夹在我的函数调用中以处理无法标记一些明显错误、格式错误的文档?

0 投票
3 回答
26214 浏览

r - LDA 与 topicmodels,我如何查看不同文档属于哪些主题?

我正在使用 topicmodels 包中的 LDA,我已经在大约 30.000 个文档上运行它,获得了 30 个主题,并获得了主题的前 10 个单词,它们看起来非常好。但是我想看看哪些文档属于哪个主题的概率最高,我该怎么做?

0 投票
1 回答
1587 浏览

performance - R:tm Textmining 包:文档级元数据生成速度很慢

我有一个要处理的文档列表,对于每条记录,我想将一些元数据附加到 R 包 tm 生成的“语料库”数据结构内的文档“成员”(通过读取文本文件)。

这个 for 循环可以工作,但速度很慢,性能似乎随着函数 f ~ 1/n_docs 而下降。

这可能会对语料库变量产生影响,但我不知道是什么。但是当我把它放在一个 tm_map() (类似于 lapply() 函数)中时,它运行得更快,但更改不会持久:

变量语料库在退出 tm_map 函数后具有空的元数据字段。它应该被填满。我还有一些与收藏有关的事情。

meta() 函数的 R 文档是这样说的:

我尝试了许多这样的调用(使用 var "corpus" 而不是 "c​​rude"),但它们似乎不起作用。其他人曾经似乎对类似的数据集也有同样的问题(2009 年的论坛帖子,没有回应)

0 投票
1 回答
3379 浏览

r - 找不到 R 函数 row_sums 和 col_sums 的文档

我正在尝试解决我自己关于更改tm包中的 tf-idf 加权函数的问题:https ://stackoverflow.com/questions/15045313/changeing-tf-idf-weight-function-weight-not-by-occurrences-长期但按数量

在这样做时,我正在查看weightTfIdf包含以下代码的函数m,即 TermDocumentMatrix。

但我找不到函数的任何文档row_sumscol_sums;当我尝试使用它们编写自己的加权函数时,出现错误:Error in weighting(x) : could not find function "col_sums"

这些函数在哪里定义?

我从R下面粘贴了完整的功能信息:

0 投票
2 回答
22117 浏览

r - R:为wordcloud图形/ png添加标题

我有一些工作 R 代码可以从术语文档矩阵生成标签云。

现在我想从许多文档中创建一大堆标签云,并在以后直观地检查它们。要知道标签云图片属于哪个文档/语料库,我想为生成的图形添加一个标题。我怎么做?

也许这很明显,但我仍然是 R 图形的初学者。

我自己的语料库太大,无法在此处列出,但此 SO 问题的代码(结合 SO 用户 Andrie 接受的答案的代码形式可以使用: Spaces in wordcloud I want to add a custom title and some more custom text像这样的图片

0 投票
3 回答
16671 浏览

r - R 使用 %in% 从字符向量中删除停用词

我有一个带有字符串的数据框,我想从中删除停用词。我试图避免使用该tm包,因为它是一个大型数据集,并且tm运行速度似乎有点慢。我正在使用tm stopword字典。

这不是我要找的答案。我正在尝试获取不在向量中的单词的向量或字符串stopWords

我究竟做错了什么?

0 投票
0 回答
264 浏览

r - R中的tm包安装失败

我正在尝试在我的 Fedora 机器上安装tminstall.packages("tm")包,但是在尝试安装时出现编译错误。这是我得到的错误快照,

0 投票
1 回答
4012 浏览

r - R文本挖掘-如何将R数据框列中的文本更改为具有词频的几列?

我有一个 4 列的数据框。第 1 列由 ID 组成,第 2 列由文本组成(每个约 100 个单词),第 3 列和第 4 列由标签组成。

现在我想从文本列中检索词频(最常见的词),并将这些频率作为额外的列添加到数据框中。我希望列名是单词本身,并且在文本中用它们的频率(范围从 0 到每个文本)填充的列。

我尝试了 tm 包的一些功能,但直到现在还不能令人满意。有谁知道如何处理这个问题或从哪里开始?有没有可以完成这项工作的软件包?

0 投票
1 回答
21673 浏览

r - 使用 R 中的 tm 包为多个语料库制作前 N 个频繁项的数据框

我用R 中的包TermDocumentMatrix创建了几个 s 。tm

我想在每组文档中找到 10 个最常用的术语,最终得到如下输出表:

根据定义,findFreqTerms(corpus1,N)返回出现 N 次或更多的所有术语。要手动执行此操作,我可以更改 N 直到返回 10 个左右的术语,但输出findFreqTerms按字母顺序列出,所以除非我选择了正确的 N,否则我实际上不知道哪些是前 10 个。我怀疑这个涉及操纵 TDM 的内部结构,您可以使用str(corpus1)R tm 包创建 N 最常见术语的矩阵,但这里的答案对我来说非常不透明,所以我想重新表述这个问题。

谢谢!

0 投票
1 回答
1024 浏览

r - 生成包含 R 中给定术语的 DocumentTermMatix

我正在使用tm语料库生成 DocumentTermMatrix,仅使用经常出现的术语。(即 MinDocFrequency=50)

现在我想生成一个具有不同语料库的 DTM,但计数与前一个完全相同的术语,不多也不少。(交叉验证)

如果我使用与第一个语料库相同的方法来生成 DTM,我最终会包含更多或更少的术语,或者只是不同的术语,因为它们与原始语料库的频率不同。

我该怎么做呢?我需要指定以某种方式计算哪些术语,但我不知道如何计算。

感谢任何可以为我指明正确方向的人,

-N

编辑:我被要求提供一个可重现的示例,所以我在这里粘贴了一些示例代码http://pastebin.com/y3FDHbYS 重新编辑:

然而,这只是显示了我已经熟悉的生成语料库的方法,因此两个 DTM(TextDTM 和 ValiTextDTM)包含不同的术语。我想要实现的是在两个语料库中计算相同的术语,即使它们在验证语料库中的频率要低得多。在示例中,我将尝试计算单词“text”的出现次数,即使这会在验证案例中产生一个非常稀疏的矩阵。