标签: text-mining

什么是"熵和信息增益"?

我正在读这本书(NLTK),这令人困惑. 定义为:

熵是每个标签乘以同一标签的对数概率的概率之和

如何在文本挖掘方面应用最大熵?有人可以给我一个简单,简单的例子(视觉)吗?

math text computer-science text-mining nltk

330
推荐指数
6
解决办法
20万
查看次数

什么是CoNLL数据格式?

我是文本挖掘的新手.我正在使用一个开源jar(Mate Parser),它在依赖解析后以CoNLL 2009格式给出输出.我想使用依赖解析结果进行信息提取.但我能够理解一些输出但不能理解CoNLL数据格式.任何人都可以帮助我理解CoNLL数据格式吗?任何类型的指针将不胜感激.

nlp text-parsing text-mining information-extraction

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

如何使用Python结合正则表达式和字符串/文件操作并存储模式的实例来搜索文本文件中的模式?

所以基本上我正在寻找文本文件中两个尖括号内的4位数代码.我知道我需要打开文本文件然后逐行解析,但我不确定在检查"for line in file"之后构建代码的最佳方法.

我想我可以以某种方式拆分它,剥离它或分区,但我也写了一个我使用编译的正则表达式,所以如果它返回一个匹配对象,我不认为我可以使用那些基于字符串的操作.另外我不确定我的正则表达式是否足够贪婪......

我想将所有找到的匹配的实例存储为元组或列表中的字符串.

这是我的正则表达式:

regex = re.compile("(<(\d{4,5})>)?")
Run Code Online (Sandbox Code Playgroud)

考虑到目前为止相当基本的代码,我认为我不需要包含所有代码.

python regex file-io text-mining string-parsing

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

使用Sklearn的TfidfVectorizer变换

我正在尝试使用Sklearn的TfidfVectorizer对象获取单个文档的tf-idf向量.我根据一些训练文档创建词汇表,并使用fit_transform训练TfidfVectorizer.然后,我想找到任何给定测试文档的tf-idf向量.

from sklearn.feature_extraction.text import TfidfVectorizer

self.vocabulary = "a list of words I want to look for in the documents".split()
self.vect = TfidfVectorizer(sublinear_tf=True, max_df=0.5, analyzer='word', 
                 stop_words='english')
self.vect.fit_transform(self.vocabulary)

...

doc = "some string I want to get tf-idf vector for"
tfidf = self.vect.transform(doc)
Run Code Online (Sandbox Code Playgroud)

问题是这会返回一个包含n行的矩阵,其中n是我的doc字符串的大小.我希望它只返回一个代表整个字符串的tf-idf的向量.我怎样才能将字符串视为单个文档,而不是每个字符都是文档?另外,我对文本挖掘很新,所以如果我在概念上做错了,那就太棒了.任何帮助表示赞赏.

python document text-mining tf-idf

36
推荐指数
1
解决办法
5万
查看次数

R-Project没有适用于'meta'的方法应用于类"character"的对象

我正在尝试运行此代码(Ubuntu 12.04,R 3.1.1)

# Load requisite packages
library(tm)
library(ggplot2)
library(lsa)

# Place Enron email snippets into a single vector.
text <- c(
  "To Mr. Ken Lay, I’m writing to urge you to donate the millions of dollars you made from selling Enron stock before the company declared bankruptcy.",
  "while you netted well over a $100 million, many of Enron's employees were financially devastated when the company declared bankruptcy and their retirement plans were wiped out",
  "you sold $101 million worth …
Run Code Online (Sandbox Code Playgroud)

r text-mining tm

32
推荐指数
2
解决办法
4万
查看次数

检测R中的文本语言

在RI有一个推文列表,我想只保留那些英文.

我想知道你是否有人知道一个R包提供了一种识别字符串语言的简单方法.

干杯,z

r text-mining

30
推荐指数
6
解决办法
2万
查看次数

'utf8towcs'中的r tm包无效输入

我正在尝试使用R中的tm包来执行一些文本分析.我绑了以下内容:

require(tm)
dataSet <- Corpus(DirSource('tmp/'))
dataSet <- tm_map(dataSet, tolower)
Error in FUN(X[[6L]], ...) : invalid input 'RT @noXforU Erneut riesiger (Alt-)?lteppich im Golf von Mexiko (#pics vom Freitag) http://bit.ly/bw1hvU http://bit.ly/9R7JCf #oilspill #bp' in 'utf8towcs'
Run Code Online (Sandbox Code Playgroud)

问题是某些字符无效.我想从R中或在导入文件进行处理之前从分析中排除无效字符.

我尝试使用iconv将所有文件转换为utf-8并排除任何无法转换为的内容,如下所示:

find . -type f -exec iconv -t utf-8 "{}" -c -o tmpConverted/"{}" \; 
Run Code Online (Sandbox Code Playgroud)

正如在此指出的那样使用iconv将latin-1文件批量转换为utf-8

但我仍然得到同样的错误.

我很感激任何帮助.

r utf-8 text-mining iconv

27
推荐指数
6
解决办法
4万
查看次数

大规模机器学习

我需要在一个大数据集(10-100亿条记录)上运行各种机器学习技术.问题主要是文本挖掘/信息提取,包括各种内核技术但不限于它们(我们使用一些贝叶斯方法,自举,渐变提升,回归树 - 许多不同的问题和解决方法)

什么是最好的实施?我在ML方面经验丰富,但是对于大型数据集没有多少经验.是否有任何可扩展和可定制的机器学习库利用MapReduce基础设施强烈偏好c ++,但Java和python是可以的亚马逊Azure或自己的数据中心(我们可以买得起)?

c++ java mapreduce machine-learning text-mining

26
推荐指数
2
解决办法
2908
查看次数

使用R TM包找到2和3个单词的短语

我试图找到一个实际上可以找到R文本挖掘包中最常用的两个和三个单词短语的代码(也许还有另一个我不知道的包).我一直在尝试使用标记器,但似乎没有运气.

如果您过去曾处理过类似情况,您是否可以发布经过测试且实际有效的代码?非常感谢!

r data-mining text-mining

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

使用多个核时,tm_map转换函数的行为不一致

这篇文章的另一个潜在标题可能是"当r中的并行处理时,核心数量,循环块大小和对象大小之间的比例是否重要?"

我有一个语料库我正在运行一些使用tm包的转换.由于语料库很大,我使用多路并行包进行并行处理.

有时转换完成任务,但有时它们不会.例如,tm::removeNumbers().语料库中的第一个文档的内容值为"n417".因此,如果预处理成功,那么此doc将转换为"n".

下面的样本语料库用于复制.这是代码块:

library(tidyverse)
library(qdap)
library(stringr)
library(tm)
library(textstem)
library(stringi)
library(foreach)
library(doParallel)
library(SnowballC)

  corpus <- (see below)
  n <- 100 # this is the size of each chunk in the loop

  # split the corpus into pieces for looping to get around memory issues with transformation
  nr <- length(corpus)
  pieces <- split(corpus, rep(1:ceiling(nr/n), each=n, length.out=nr))
  lenp <- length(pieces)

  rm(corpus) # save memory

  # save pieces to rds files since not enough RAM
  tmpfile <- tempfile() 
  for (i in …
Run Code Online (Sandbox Code Playgroud)

parallel-processing r text-mining tm doparallel

24
推荐指数
1
解决办法
607
查看次数