问题标签 [quanteda]

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 投票
1 回答
882 浏览

r - 在R中使用带有词根的txt文件进行词形化

我想使用结构如下的波兰引理的外部 txt 文件:(许多其他语言的引理来源http://www.lexiconista.com/datasets/lemmatization/

什么包和什么语法,可以让我使用这样的 txt 数据库来对我的词袋进行词形还原。我意识到,对于英语有 Wordnet,但对于那些想将这个功能用于稀有语言的人来说没有运气。

如果没有,这个数据库是否可以转换为对任何提供词形还原的包有用?也许通过将其转换为广泛的形式?例如,免费的 AntConc concordancer 使用的表格,( http://www.laurenceanthony.net/software/antconc/ )

简而言之:如何在任何已知的 CRAN R 文本挖掘包中使用 txt 文件中的词条进行词条化?如果是这样,如何格式化这样的txt文件?

更新:亲爱的@DmitriySelivanov 我摆脱了所有变音符号,现在我想将它应用于 tm corpus "docs"

我尝试将其作为标记器

它向我抛出了一个错误:

该函数可以使用文本向量作为魅力。

0 投票
1 回答
1368 浏览

r - 使用 Quanteda 语料库识别名词

我正在使用 Ken Benoit 和 Paul Nulty 的 quanteda 包来处理文本数据。

我的语料库包含带有完整德语句子的文本,我只想使用每个文本的名词。德语的一个技巧是只使用大写单词,但这在句首会失败。

从这个最小的例子中,我想检索:“Halle”、“Saale”、“Stadt”、“Deutschland”、“Hamburg”、“London”、“Martini”、“James”、“Bond”。

我假设我需要一本定义动词/名词/等的字典。和专有名称(詹姆斯邦德,汉堡等),或者是否有内置功能/字典?

额外问题:该解决方案是否也适用于英文文本?

0 投票
2 回答
341 浏览

r - 如何将自定义函数应用于 quanteda 语料库

我正在尝试将脚本从使用 tm 迁移到 quanteda。阅读 quanteda 文档,有一种关于“下游”应用更改以使原始语料库保持不变的理念。好的。

我之前编写了一个脚本来查找我们的 tm 语料库中的拼写错误,并得到了我们团队的支持来创建手动查找。所以,我有一个包含 2 列的 csv 文件,第一列是拼写错误的术语,第二列是该术语的正确版本。

以前使用 tm 包我是这样做的:

然后在我的 tm 语料库转换中,我这样做了:

将此自定义函数应用于我的 quanteda 语料库的等效方法是什么?

0 投票
1 回答
84 浏览

r - 为什么 featnames(myDFM) 包含多于一两个标记的特征?

我正在使用一个 1M 的大型文档语料库,并在从中创建文档频率矩阵时应用了几种转换:

然后查看生成的功能:

为什么这些特征的长度超过 1:2 bigrams?词干提取似乎已经成功,但标记似乎是句子而不是单词。

我尝试将我的代码调整为:dfm(tokens(corpus1M, what = "word")但没有任何变化。

我试图制作一个可重复的小例子:

然后,如果我应用与上面相同的 dfm:

这很令人惊讶,因为几乎所有单词都被删除了?甚至停用词都不像以前,所以我更困惑!尽管只是尝试,我现在也无法创建可重现的示例。也许我误解了这个功能是如何工作的?

如何在 quanteda 中创建一个 dfm,其中只有 1:2 的单词标记并且删除了停用词?

0 投票
4 回答
1156 浏览

r - 使用哈希字典的词形还原函数不适用于 R 中的 tm 包

我想使用大型外部字典(格式如下面的 txt 变量)对波兰语文本进行词形还原。我不幸运,可以选择使用流行的文本挖掘包的波兰语。@DmitriySelivanov的答案https://stackoverflow.com/a/45790325/3480717适用于简单的文本向量。(我还从字典和语料库中删除了波兰语变音符号。)该函数适用于文本向量。

不幸的是,它不适用于 tm 生成的语料库格式。让我粘贴 Dmitriy 的代码:

现在我想将它应用于 tm 语料库“文档”这是我将在 tm 生成的语料库上与 tm 包一起使用的示例语法。

我尝试的另一种语法:

它向我抛出了一个错误:

该函数适用于文本向量,但不适用于 tm 语料库。提前感谢您的建议(如果它不适用于 tm,甚至可以将此功能与其他文本挖掘包一起使用)。

0 投票
0 回答
162 浏览

classification - 在文档和句子级别对文本进行分类(使用 Quanteda 和 RTextTools)

我正在尝试弄清楚如何在从 LexisNexis 下载的语料库上使用 RTextTools 应用文本分类。

我成功地使用 Quanteda 包将 LexisNexis N html 文件解析为文档特征矩阵,并使用 RTextTools 对这些文件中的文本进行分类。

但是,我不仅希望能够在文档级别上对这 N 个文本进行分类,而且还希望能够在句子级别上进行分类。我想不出将这 N 个文档解析为由 X 个句子组成的 dfm 的方法。

此外,我认为我的训练数据中的大多数句子都是无关紧要的,因此不再分类。RTextTools 如何处理我的测试数据中不相关的句子?

0 投票
1 回答
386 浏览

r - 如何用我自己的表中的词干版本替换标记(词)?

我得到这样的数据(简化):

样本数据

标记化

以我自己的数据样本字典为词干

我得到了什么

我想得到什么

0 投票
1 回答
182 浏览

r - Quanteda:具有预定义特征集的文档特征矩阵

我正在使用 quanteda 构建两个文档特征矩阵:

但是,我希望 DFM2 具有一组特定的功能,即来自 DFM1 的功能:

有没有我想念的魔法论据?还是有另一种有效的方法来为大袋的词存档?

0 投票
2 回答
2503 浏览

r - R:在使用带有 readtext 的 quanteda 语料库时遇到问题

在使用 Quanteda 包阅读我的语料库后,在使用各种后续语句时出现相同的错误:

UseMethod(“texts”)中的错误:没有适用于“文本”的适用方法应用于类“c('corpus_frame','data.frame')”)的对象。

例如,当使用这个简单的语句时:texts(mycorpus)[2] 我的实际目标是创建一个 dfm(它给了我与上面相同的错误消息)。

我用这段代码阅读了语料库:

我的数据集由 50 篇报纸文章组成,包括一些元数据,例如出版日期。

见截图。语料库

为什么我每次都会收到此错误?非常感谢您的帮助!

回应1:

仅使用时,readtext()我会更进一步,texts(text.corpus)[1]并且不会产生错误。

但是,在标记化时,再次发生相同的错误,因此:

产量:

UseMethod(“tokenize”)中的错误:没有适用于“tokenize”的方法应用于“c('readtext','data.frame')”类的对象

UseMethod(“tokens”)中的错误:没有适用于“tokens”的适用方法应用于类“c('readtext','data.frame')”的对象

回应 2:

现在我得到了这两个错误消息作为回报,我最初也得到了,所以我开始使用corpus_frame()

UseMethod(“tokens”)中的错误:没有适用于“tokens”的适用方法应用于“c('corpus_frame','data.frame')”类的对象

此外:警告消息:“语料库”已弃用。改用“corpus_frame”。查看帮助(“已弃用”)

我是否需要指定“标记化”或任何其他步骤仅应用于“文本”列而不应用于整个数据集?

回应 3:

谢谢你,帕特里克,这确实澄清了我,让我更进一步。运行时:

我明白了:

tokens_internal(texts(x), ...) 中的错误:... 列表不包含 3 个元素此外:警告消息:removePunctremoveNumbers 已弃用;改用 remove_punctremove_numbers

所以我相应地改变了它(使用remove_punctand remove_numbers),现在代码运行良好。

或者,我也试过这个:

这给出了这个错误:

term_matrix(., drop_punct = TRUE, drop_numbers = TRUE, ngrams = 1:2) 中的错误:无法识别的文本过滤器属性:“drop_numbers”

去除 后drop_numbers = TRUE,实际生成矩阵。非常感谢您的帮助!

0 投票
2 回答
1418 浏览

r - 删除带有前导和尾随停用词的 ngram

我想在一堆学术论文中识别主要的 n-gram,包括带有嵌套停用词的 n-gram,但不是带有前导或尾随停用词的 n-gram。

我有大约 100 个 pdf 文件。我通过 Adob​​e 批处理命令将它们转换为纯文本文件,并将它们收集在一个目录中。从那里我使用 R。(这是代码的拼凑,因为我刚刚开始使用文本挖掘。)

我的代码:

例如,在此处提供的顶级 ngrams 示例中,我想保留“管理学院”,而不是“以及”或“the_role_of”。我希望代码适用于任何 n-gram(最好包括少于 3-gram,尽管我知道在这种情况下首先删除停用词更简单)。