标签: corpus

在R tm中添加自定义停用词

我在R中有一个使用该tm软件包的语料库.我正在应用该removeWords功能来删除停用词

tm_map(abs, removeWords, stopwords("english")) 
Run Code Online (Sandbox Code Playgroud)

有没有办法将自己的自定义停用词添加到此列表中?

r corpus text-mining stop-words tm

14
推荐指数
2
解决办法
3万
查看次数

使用NLTK/Python中的电影评论语料库进行分类

我想在NLTK第6章中进行一些分类.这本书似乎跳过了创建类别的一步,我不确定我做错了什么.我的脚本在这里,响应如下.我的问题主要源于第一部分 - 基于目录名称的类别创建.这里的一些其他问题使用了文件名(即pos_1.txt和neg_1.txt),但我更喜欢创建可以将文件转储到的目录.

from nltk.corpus import movie_reviews

reviews = CategorizedPlaintextCorpusReader('./nltk_data/corpora/movie_reviews', r'(\w+)/*.txt', cat_pattern=r'/(\w+)/.txt')
reviews.categories()
['pos', 'neg']

documents = [(list(movie_reviews.words(fileid)), category)
            for category in movie_reviews.categories()
            for fileid in movie_reviews.fileids(category)]

all_words=nltk.FreqDist(
    w.lower() 
    for w in movie_reviews.words() 
    if w.lower() not in nltk.corpus.stopwords.words('english') and w.lower() not in  string.punctuation)
word_features = all_words.keys()[:100]

def document_features(document): 
    document_words = set(document) 
    features = {}
    for word in word_features:
        features['contains(%s)' % word] = (word in document_words)
    return features
print document_features(movie_reviews.words('pos/11.txt'))

featuresets = [(document_features(d), c) for …
Run Code Online (Sandbox Code Playgroud)

python nlp corpus nltk sentiment-analysis

13
推荐指数
1
解决办法
2万
查看次数

创建具有4M行的语料库和DTM的更有效方法

我的文件有超过4M的行,我需要一种更有效的方法将我的数据转换为语料库和文档术语矩阵,以便我可以将它传递给贝叶斯分类器.

请考虑以下代码:

library(tm)

GetCorpus <-function(textVector)
{
  doc.corpus <- Corpus(VectorSource(textVector))
  doc.corpus <- tm_map(doc.corpus, tolower)
  doc.corpus <- tm_map(doc.corpus, removeNumbers)
  doc.corpus <- tm_map(doc.corpus, removePunctuation)
  doc.corpus <- tm_map(doc.corpus, removeWords, stopwords("english"))
  doc.corpus <- tm_map(doc.corpus, stemDocument, "english")
  doc.corpus <- tm_map(doc.corpus, stripWhitespace)
  doc.corpus <- tm_map(doc.corpus, PlainTextDocument)
  return(doc.corpus)
}

data <- data.frame(
  c("Let the big dogs hunt","No holds barred","My child is an honor student"), stringsAsFactors = F)

corp <- GetCorpus(data[,1])

inspect(corp)

dtm <- DocumentTermMatrix(corp)

inspect(dtm)
Run Code Online (Sandbox Code Playgroud)

输出:

> inspect(corp)
<<VCorpus (documents: 3, metadata (corpus/indexed): 0/0)>>

[[1]]
<<PlainTextDocument (metadata: 7)>> …
Run Code Online (Sandbox Code Playgroud)

r corpus term-document-matrix qdap data.table

13
推荐指数
2
解决办法
1万
查看次数

R中的TermDocumentMatrix错误

我一直在研究R中{tm}包的许多在线示例,试图创建一个TermDocumentMatrix.创建和清理语料库非常简单,但是当我尝试创建矩阵时,我一直遇到错误.错误是:

UseMethod("meta",x)中的错误:"meta"没有适用于类"character"对象的适用方法此外:警告消息:在mclapply(unname(content(x)),termFreq,control):all计划的核心在用户代码中遇到错误

例如,这里是Jon Starkweather的文本挖掘示例中的代码.为这么长的代码提前道歉,但这确实产生了一个可重复的例子.请注意,错误在{tdm}函数结束时出现.

#Read in data
policy.HTML.page <- readLines("http://policy.unt.edu/policy/3-5")

#Obtain text and remove mark-up
policy.HTML.page[186:202]
id.1 <- 3 + which(policy.HTML.page == "                    TOTAL UNIVERSITY        </div>")
id.2 <- id.1 + 5
text.data <- policy.HTML.page[id.1:id.2]
td.1 <- gsub(pattern = "<p>", replacement = "", x = text.data, 
     ignore.case = TRUE, perl = FALSE, fixed = FALSE, useBytes = FALSE)

td.2 <- gsub(pattern = "</p>", replacement = "", x = td.1, ignore.case = TRUE,
     perl = FALSE, fixed = FALSE, useBytes …
Run Code Online (Sandbox Code Playgroud)

r corpus text-mining tm term-document-matrix

12
推荐指数
2
解决办法
1万
查看次数

R RKEA - 没有足够的带有类标签的训练实例(必需:1,提供:0)!

我正在努力让RKEA在R Studio中工作.这是我目前的代码:

#Imports packages
library(RKEA)
library(tm)

#Creates a corpus of training sentences
data <- c("This is a sentence",
          "I am in an office",
          "I'm working on a laptop",
          "I have a glass of water",
          "There is a wooden desk",
          "I have an apple for lunch")
data <- as.data.frame(data)
data <- Corpus(VectorSource(data$data))

#Creates a corpus of training keywords
keywords <- c("sentence",
              "office",
              "working",
              "glass",
              "wooden",
              "apple")
keywords <- as.data.frame(keywords)
keywords <- Corpus(VectorSource(keywords$keywords))

#Creates output file for created model
tmpdir <- tempfile() …
Run Code Online (Sandbox Code Playgroud)

r corpus keyword extraction tm

12
推荐指数
1
解决办法
232
查看次数

语料库/带有音节压力信息的英语单词数据集?

我知道这是一个很长的镜头,但有没有人知道英语单词的数据集有音节压力信息?像下面这样简单的东西会很棒:

AARD vark
A ble
a BOUT
ac COUNT
AC id
ad DIC tion
ad VERT ise ment
...
Run Code Online (Sandbox Code Playgroud)

nlp corpus dataset

10
推荐指数
1
解决办法
1499
查看次数

加速R中大数据帧的处理

上下文

我一直在尝试实现本文最近提出的算法.给定大量的文本(语料库)的,该算法应该返回特性Ñ -grams(即,序列Ñ语料库的话).用户可以决定适当的n,并且在我尝试使用n = 2-6时,就像在原始论文中一样.换句话说,使用该算法,我想提取表征语料库的2到6克.

我能够实现基于哪个特征n -gram被识别来计算得分的部分,但是一直在努力消除非特征性的.

数据

我有一个名为的列表token.df,其中包含五个数据框,包括出现在语料库中的所有n- gram.每个数据帧对应于n- gram中的每个n.例如,按字母顺序包括所有bigrams(2-gram)及其分数(下面称为mi).token.df[[2]]

> head(token.df[[2]])
w1    w2      mi
_      eos  17.219346
_   global   7.141789
_     what   8.590394
0        0   2.076421
0       00   5.732846
0      000   3.426785
Run Code Online (Sandbox Code Playgroud)

在这里,二元组0 0(虽然它们不是这样的单词)的得分为2.076421.由于数据框包括出现在语料库中的所有n- gram,因此它们每行都有超过一百万行.

> sapply(token.df, nrow)
[[1]]
NULL

[[2]]
[1] 1006059  # number of unique bigrams in the corpus

[[3]]
[1] 2684027  # number of unique trigrams …
Run Code Online (Sandbox Code Playgroud)

r corpus dataframe

10
推荐指数
1
解决办法
643
查看次数

使用R语料库保留文档ID

我搜索了stackoverflow和web,只能找到部分解决方案,或者由于TM或qdap的变化而找不到的部分解决方案.问题如下:

我有一个数据帧:ID和文本(简单文档ID /名称,然后一些文本)

我有两个问题:

第1部分:如何创建tdm或dtm并维护文档名称/ ID?它只在inspect(tdm)上显示"character(0)".
第2部分:我想只保留一个特定的术语列表,即删除自定义停用词的相反.我希望这发生在语料库中,而不是tdm/dtm.

对于第2部分,我使用了一个我在这里得到的解决方案:如何在tm字典中实现邻近规则来计算单词?

这个发生在tdm部分!对于使用"tm_map(my.corpus,keepOnlyWords,customlist)"之类的东西,第2部分是否有更好的解决方案?

任何帮助将不胜感激.非常感谢!

text r corpus text-mining tm

10
推荐指数
2
解决办法
6912
查看次数

如何在R tm包中显示语料库文本?

我是R和tm包中的新手,所以请原谅我的愚蠢问题;-)如何在R tm包中显示纯文本语料库的文本?

我在语料库中加载了一个包含323个纯文本文件的语料库:

 src <- DirSource("Korpora/technologie")
corpus <- Corpus(src)
Run Code Online (Sandbox Code Playgroud)

但是当我用语料库调用语料库时:

corpus[[1]]
Run Code Online (Sandbox Code Playgroud)

我总是得到这样的输出而不是语料库本身:

<<PlainTextDocument>>
Metadata:  7
Content:  chars: 144
Content:  chars: 141
Content:  chars: 224
Content:  chars: 75
Content:  chars: 105
Run Code Online (Sandbox Code Playgroud)

如何显示语料库的文本?

谢谢!

更新可 重复的样本:我已经尝试了内置的示例文本:

> data("crude")
> crude
<<VCorpus>>
Metadata:  corpus specific: 0, document level (indexed): 0
Content:  documents: 20
> crude[1]
<<VCorpus>>
Metadata:  corpus specific: 0, document level (indexed): 0
Content:  documents: 1
> crude[[1]]
<<PlainTextDocument>>
Metadata:  15
Content:  chars: 527
Run Code Online (Sandbox Code Playgroud)

如何打印文档文本?

更新2:会话信息:

> sessionInfo()
R version 3.1.3 (2015-03-09) …
Run Code Online (Sandbox Code Playgroud)

r corpus tm

10
推荐指数
3
解决办法
3万
查看次数

免费标记语料库用于命名实体识别

我正在寻找一个免费标记的语料库,用于系统训练以进行命名实体识别.我找到的大多数(如"纽约时报")都很贵而且不开放.有人可以帮忙吗?

corpus named-entity-recognition nltk tagged-corpus

9
推荐指数
2
解决办法
1万
查看次数