我是文本挖掘的新手.我正在使用一个开源jar(Mate Parser),它在依赖解析后以CoNLL 2009格式给出输出.我想使用依赖解析结果进行信息提取.但我能够理解一些输出但不能理解CoNLL数据格式.任何人都可以帮助我理解CoNLL数据格式吗?任何类型的指针将不胜感激.
所以基本上我正在寻找文本文件中两个尖括号内的4位数代码.我知道我需要打开文本文件然后逐行解析,但我不确定在检查"for line in file"之后构建代码的最佳方法.
我想我可以以某种方式拆分它,剥离它或分区,但我也写了一个我使用编译的正则表达式,所以如果它返回一个匹配对象,我不认为我可以使用那些基于字符串的操作.另外我不确定我的正则表达式是否足够贪婪......
我想将所有找到的匹配的实例存储为元组或列表中的字符串.
这是我的正则表达式:
regex = re.compile("(<(\d{4,5})>)?")
Run Code Online (Sandbox Code Playgroud)
考虑到目前为止相当基本的代码,我认为我不需要包含所有代码.
我正在尝试使用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的向量.我怎样才能将字符串视为单个文档,而不是每个字符都是文档?另外,我对文本挖掘很新,所以如果我在概念上做错了,那就太棒了.任何帮助表示赞赏.
我正在尝试运行此代码(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) 在RI有一个推文列表,我想只保留那些英文.
我想知道你是否有人知道一个R包提供了一种识别字符串语言的简单方法.
干杯,z
我正在尝试使用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
但我仍然得到同样的错误.
我很感激任何帮助.
我需要在一个大数据集(10-100亿条记录)上运行各种机器学习技术.问题主要是文本挖掘/信息提取,包括各种内核技术但不限于它们(我们使用一些贝叶斯方法,自举,渐变提升,回归树 - 许多不同的问题和解决方法)
什么是最好的实施?我在ML方面经验丰富,但是对于大型数据集没有多少经验.是否有任何可扩展和可定制的机器学习库利用MapReduce基础设施强烈偏好c ++,但Java和python是可以的亚马逊Azure或自己的数据中心(我们可以买得起)?
我试图找到一个实际上可以找到R文本挖掘包中最常用的两个和三个单词短语的代码(也许还有另一个我不知道的包).我一直在尝试使用标记器,但似乎没有运气.
如果您过去曾处理过类似情况,您是否可以发布经过测试且实际有效的代码?非常感谢!
这篇文章的另一个潜在标题可能是"当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) text-mining ×10
r ×5
python ×2
tm ×2
c++ ×1
data-mining ×1
document ×1
doparallel ×1
file-io ×1
iconv ×1
java ×1
mapreduce ×1
math ×1
nlp ×1
nltk ×1
regex ×1
text ×1
text-parsing ×1
tf-idf ×1
utf-8 ×1