问题标签 [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 回答
360 浏览

r - 在(稀疏)文档特征矩阵中拆分 ngram

这是对此问题的后续问题。在那里,我问是否有可能在文档特征矩阵(来自 quanteda-package 的 dfm-class)中拆分 ngram 特征,例如二元组会产生两个单独的一元组。

为了更好地理解:我从将特征从德语翻译成英语得到了 dfm 中的 ngram。复合词(“Emissionsminderung”)在德语中很常见,但在英语中并不常见(“emission reduction”)。

这个例子有一个很好的答案,对于上面提到的相对较小的矩阵,它工作得非常好。但是,一旦矩阵变大,我就会不断遇到以下内存错误。

因此,是否有一种内存效率更高的方法来解决这个 ngram 问题或处理大型(稀疏)矩阵/数据帧?先感谢您!

0 投票
2 回答
2373 浏览

r - 如何将 Dataframe 转换为 DTM

我想将我的表转换为 DTM 并维护元数据。

相同的数据

每行都应该是一个文档。但是为了使用 cast_dtm(),需要有一个计数变量。为了“投射”,它需要采用“文档、术语、计数”格式。

如何将我的数据转换为“文档、术语、计数”数据框?从那里,很容易转换成 DTM,然后做我需要的。

0 投票
1 回答
264 浏览

r - KWIC 到 R 中的现有数据框

我想获取 Quanteda 包的结果并将其添加到现有的电子表格中。例如:

这将创建一个包含多列的数据框。我希望将其添加到它来自的数据中(在本例中为 x),然后将其余部分设为 NULL 或 NA。

dplyr 中的 mutate 是正确的吗?还是我需要别的东西?

谢谢!

0 投票
1 回答
5312 浏览

r - Quanteda:如何删除我自己的单词列表

由于在 quanteda 中没有现成的波兰语停用词实现,我想使用我自己的列表。我把它放在一个文本文件中,作为一个用空格分隔的列表。如果需要,我还可以准备一个由新行分隔的列表。

如何从我的语料库中删除自定义的长长的停用词列表?干了之后怎么办?

我尝试过创建各种格式,转换为字符串向量,如

我也尝试在语法中使用这样的词向量

或者

没有任何效果。我的停用词出现在语料库和分析中。应用自定义停用词的正确方法/语法应该是什么?

0 投票
1 回答
225 浏览

r - Quanteda:如何从单词列表中创建功能相同的 dfms

我在文章的 n-gram 矩阵上运行随机森林,因为我想将其分类为 2 个类别。作为 RF 的结果,我收到了一份重要变量的列表。

现在我想只对选定的前 n 个特征运行随机森林,然后使用相同的特征来预测新的分类。为此,我只需要为最重要的变量(来自 RF)创建 dfm。如何从这些重要变量的列表中创建字典?

代码的相关部分......创建字典后,我只有一个条目。如何正确创建它?

简而言之,当我有一个字符串、单词、n-gram 列表时,如何创建一个字典以便在dfm()函数中使用它来生成术语矩阵?

这是完整代码“可重现示例”及其使用的数据的链接。https://www.dropbox.com/s/3oe1tcfcauer0wf/text_data.zip?dl=0

0 投票
1 回答
169 浏览

r - TM,Quanteda,text2vec。根据正则表达式模式获取单词列表中术语左侧的字符串

我想分析一个包含多种语言的姓名、地址和电话号码的大文本文件夹。

这些通常会以“地址”、“电话号码”、“姓名”、“公司”、“医院”、“送货人”一词开头。我会有一本这些词的字典。

我想知道文本挖掘工具是否适合这项工作。我想为所有这些文档创建一个语料库,然后在给定字典条目的右侧或下方找到满足特定(我正在考虑正则表达式标准)的文本。

R中的数据挖掘包中是否有这样的语法,即。获取单词列表条目右侧或下方的字符串,满足特定模式的字符串?

如果不是,R中的工具会更适合做这项工作吗?

0 投票
1 回答
173 浏览

r - Quanteda:如何绘制作为时间函数的词汇多样性?

我已经为我在 Quanteda 中的 DFM 计算了词汇多样性,并希望随着时间的推移绘制它。对于每个文档,我的语料库中都有年、月和日期的变量作为 docvar。有什么方法可以结合这些数据并随着时间的推移生成词汇多样性图?

0 投票
1 回答
1301 浏览

r - Quanteda 警告:结果的列数不是向量长度的倍数(arg 2030)

尝试使用in readtext library(附带的quanteda library)解析超过 7000 个 txt 文件R,我收到以下警告。

警告消息:在(函数(...,deparse.level = 1):结果的列数不是向量长度的倍数(arg 2030)

如何确定哪个 txt 文件导致警告?

使用详细选项不会显示警告是否发生。为了您的信息,尝试解析两个文件我得到以下信息(b2w,如果我一次只解析 1 个文档,则不会显示警告)。

从 /Users/OS/surfdrive/Competenties/Data-step-1/BinnenlandsBestuur/1982/9-12/Office Lens 20170308-102311.jpg.txt 读取文本从 /Users/OS/surfdrive/Competenties/Data-step- 读取文本1/BinnenlandsBestuur/1983/Office Lens 20170308-103518.jpg.txt,使用 glob 模式...阅读(txt)文件:Office Lens 20170308-102311.jpg.txt,使用 glob 模式...阅读(txt)文件: Office Lens 20170308-103518.jpg.txt 读取 2 个文档。警告消息:1:在(函数(...,deparse.level = 1):结果的列数不是向量长度的倍数(arg 2)2:在if(verbosity == 2&nchar(msg) > 70) pad <- paste0("\n", pad) : 条件长度 > 1 并且只使用第一个元素

谢谢你,彼得

PS。如果此信息不足,我将在 github 页面上发布一个可重现的示例。

0 投票
1 回答
179 浏览

r - 与所有 dfm 2 到 5 克一起加入 quanteda dfm 前十名 1 克

为了在处理非常大的语料库样本时节省内存空间,我希望只取前 10 个 1 克并将它们与所有 2 到 5 克结合起来形成我的单个 quanteda::dfmSparse 对象,该对象将用于自然语言处理[nlp] 预测。携带所有 1 克将毫无意义,因为只有前十 [或二十] 将与我正在使用的简单后退模型一起使用。

我找不到一个 quanteda::dfm(corpusText, . . .) 参数来指示它只返回顶部 ## 功能。因此,根据包作者@KenB 在其他线程中的评论,我正在使用 dfm_select/remove 函数来提取前十个 1 克,并基于“quanteda dfm join”搜索结果命中“在 'quanteda' 包中连接 dfm 矩阵”我'正在使用 rbind.dfmSparse??? 函数加入这些结果。

到目前为止,据我所知,一切看起来都是正确的。以为我会从 SO 社区中退出这个游戏计划,看看我是否忽略了一条更有效的途径来达到这个结果,或者我迄今为止所达到的解决方案存在一些缺陷。

/eoq

0 投票
1 回答
272 浏览

r - 通过在 Shiny 应用程序文本框中键入的文本显示匹配的句子

我正在尝试构建一个闪亮的应用程序,它可以通过匹配文本框中的语料库来动态显示数据库列中的句子,即。当用户开始在文本框中键入文本时,所有将匹配的句子(来自键入的文本的语料库)都需要按与语料库匹配的单词数量的顺序显示我尝试过的kwic函数但这无助于动态匹配语料库,我尝试过的方法,

请求帮助...