问题标签 [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.
python - 从文本文件创建术语文档矩阵
我正在尝试读取一个文本文件并使用文本挖掘包创建一个术语文档矩阵。我可以创建术语文档矩阵,我需要逐行添加每一行。问题是我想一次包含整个文件。我在以下代码中缺少什么?提前感谢您的任何建议?
示例文本文件:“data_set.txt”包含以下信息:
让我们写一些python代码
到目前为止,本书主要讨论了即席检索的过程。
在此过程中,我们将学习一些重要的机器学习技术。
输出将是 Term Document Matrix,基本上是一个特定单词出现了多少次。输出图像: http: //postimg.org/image/eidddlkld/
r - R:在 R 中的文档术语矩阵中查找与文档中的术语“欺诈”相关的前 10 个术语
我有一个由年份命名的 39 个文本文件的语料库 - 1945.txt、1978.txt.... 2013.txt。
我已将它们导入 R 并使用 TM 包创建了一个文档术语矩阵。我正在尝试调查从 1945 年到 2013 年,与 term'fraud' 相关的单词多年来的变化情况。所需的输出将是一个 39 x 10/5 的矩阵,其中年份作为行标题,前 10 或 5 个术语作为列。
任何帮助将不胜感激。
提前致谢。
我的 TDM 的结构:
r - R中多个术语的findAssocs
在 RI 中,用于[tm package][1]
从文档语料库构建术语文档矩阵。
我的目标是从术语文档矩阵中的所有二元组中提取单词关联,并为每个前三个或一些返回。因此,我正在寻找一个包含矩阵中所有 row.names 的变量,以便该函数findAssocs()
可以完成他的工作。
到目前为止,这是我的代码:
我试图用所有的 row.names 定义一个变量txtTdmBi
并将其提供给findAssocs()
函数。但是,结果如下:
因为这里已经解释了为在多个术语文档矩阵上花费的术语提取关联,我想有可能在单个术语文档矩阵中找到多个术语的关联。除了如何?
我希望有人能澄清我如何解决这个问题。提前感谢您的任何支持。
r - 使用 R 的词频列表
我一直在使用 tm 包来运行一些文本分析。我的问题是创建一个包含单词及其频率的列表
我通常使用以下代码生成频率范围内的单词列表
有什么方法可以自动执行此操作,以便我们获得包含所有单词及其频率的数据框?
我面临的另一个问题是将术语文档矩阵转换为数据框。当我处理大量数据样本时,我遇到了内存错误。有一个简单的解决方案吗?
python - Python中的术语文档矩阵和余弦相似度
我有以下情况,我想使用Python
(最好使用numpy
and scipy
)来解决:
- 我要转换为稀疏术语文档矩阵的文档集合。
- 提取每个文档的稀疏向量表示(即矩阵中的一行),并在某些文档子集中使用余弦相似度找出前 10 个相似文档(文档标有类别,我想在同一类别中找到相似的文档)。
我如何做到这一点Python
?我知道我可以用来scipy.sparse.coo_matrix
将文档表示为稀疏向量并采用点积来查找余弦相似度,但是如何将整个语料库转换为一个大但稀疏的术语文档矩阵(这样我也可以将它的行提取为scipy.sparse.coo_matrix
行向量)?
谢谢。
java - 使用 Lucene 4.4 生成 Term-Document 矩阵
我正在尝试为一个小型语料库创建术语文档矩阵,以进一步试验 LSI。但是,我找不到使用 Lucene 4.4 的方法。
我知道如何为每个文档获取 TermVector,如下所示:
我想我可以将所有 termVector 合并为矩阵中的列来获取矩阵。但是,不同文档的 termVector 具有不同的大小。而且我们不知道如何将 0 填充到 termVector 中。所以,当然,这种方法是行不通的。
因此,我想知道是否有人可以告诉我如何使用 Lucene 4.4 创建术语文档向量?(如果可能,请显示示例代码)。
如果 Lucene 不支持此功能,您推荐的其他方式是什么?
非常感谢,
r - 如何从一组文本和一组特定的术语(标签)构建术语文档矩阵?
我有两组数据:
一组标签(单个单词,如
php
,html
等)一组文本
我现在希望构建一个 Term-Document-Matrix 来表示tags
元素中text
元素的出现次数。
我查看了R 库 tm和TermDocumentMatrix
函数,但我看不到将标签指定为输入的可能性。
有没有办法做到这一点?
我对任何工具(R、Python、其他)持开放态度,尽管使用 R 会很棒。
让我们将数据设置为:
现在我想根据 TagSet 获得 TextSet 的 TermDocumentMatrix。
我试过这个:
但这是根据文本的单词检查文本,而我想检查是否存在已定义的标签。
r - 使用R从excel文件制作术语文档矩阵
对于使用 tm 插件 webmining 进行情感分析,我将创建一个 TermDocumentMatrix,如下面的代码示例所示: http: //www.inside-r.org/packages/cran/tm/docs/tm_tag_score
我有一个 csv 文件,其中包含不同行的文章标题,总共 1 列,没有标题。我的目标是使用 csv 文件中的标题行创建一个术语文档矩阵(或 PlainTextDocument,如果可能的话),但到目前为止我只能创建一个常规矩阵:
我没有在 csv 文件中包含标题。这是我尝试开始情绪分析时的错误消息:
UseMethod(“TermDocumentMatrix”,x)中的错误:没有适用于“TermDocumentMatrix”的方法应用于“c('matrix','character')”类的对象
有没有办法使用我创建的矩阵创建一个 TermDocumentMatrix?
我也曾尝试创建一个阅读器来提取 csv 文件的内容并将其放入语料库中,但这给了我一个错误:
(elem$content, , mapping[[n]]) 中的错误[.default
:维数不正确
当我在此站点上尝试其他建议时(例如,来自 CSV 文件的 R 文本挖掘文档(每个文档一行)),我继续遇到无法对“data.frame”类对象进行情感分析的问题:
hvz <- read.csv("headlinesonly.csv", header=FALSE)
需要(tm)
corp <- 语料库(DataframeSource(hvz))
dtm <- DocumentTermMatrix(corp)
pos <- tm_tag_score(TermDocumentMatrix(hvz, control = list(removePunctuation = TRUE)), tm_get_tags("Positiv"))
UseMethod(“TermDocumentMatrix”,x)中的错误:没有适用于“TermDocumentMatrix”的方法应用于“data.frame”类的对象
需要(“tm.plugin.tags”)
加载所需的包:tm.plugin.tags
sapply(hvz, tm_tag_score, tm_get_tags("Positiv"))
UseMethod(“tm_tag_score”,x)中的错误:没有适用于“tm_tag_score”的方法应用于“因子”类的对象
r - 在 R tm 包中包含术语文档矩阵中的所有标记
我正在尝试用RTermDocumentMatrix
中的包的功能制作一个术语文档矩阵tm
,发现有些单词不包括在内。
在这里,单词is和of已从矩阵中排除。如果语料库只包含删除的单词,它会给出以下消息。
在构建矩阵之前删除了is和of的消息信号,但我无法弄清楚它发生的原因以及如何将所有标记包含在语料库中。
任何帮助表示赞赏。
r - 从 TermDocumentMatrix 创建稀疏矩阵
我TermDocumentMatrix
从tm
R 中的库创建了一个。它看起来像这样:
这只是矩阵的一个小样本;实际上,我正在使用 214 个术语。在小范围内,这很好。如果我想将 myTermDocumentMatrix
转换为普通矩阵,我会这样做:
然而,我上面显示的数据只是我的整体数据的一个子集。我的整体数据可能至少有 10,000 个术语。当我尝试从整体数据创建 TDM 时,出现错误:
所以从这里开始,我正在寻找为我的 tdm 寻找有效内存分配的替代方法。
我尝试将我的 tdm 转换为Matrix
库中的稀疏矩阵,但遇到了同样的问题。
在这一点上我有什么选择?我觉得我应该调查以下之一:
我已经尝试了这两个库中的函数,但似乎没有得到任何实质性的结果。有谁知道最好的前进方式是什么?我花了很长时间摆弄这个问题,以至于我想在我浪费更多时间走错方向之前,我会问那些比我更有经验的人处理大型数据集。
编辑:将 10,00 更改为 10,000。谢谢@nograpes。