标签: text-mining

如何识别给定文本中的想法和概念

我正在开展一个项目,目前能够检测文本正文中何时提到某个主题/想法非常有用.例如,如果文本包含:

也许如果你告诉我一些关于琼斯先生的事情,那会有所帮助.如果我可以描述他的外表,甚至更好的照片,这也会很有用吗?

能够发现这个人要求拍摄琼斯先生的照片真是太棒了.我可以采取一种非常天真的方法,只是寻找"照片"或"照片"这个词,但如果他们写下这样的话,这显然是不好的:

请永远不要给我发一张琼斯先生的照片.

有谁知道从哪里开始这个?它甚至可能吗?

我已经研究了像nltk这样的东西,但我还没有找到一个人做类似事情的例子,我仍然不完全确定这种分析是什么.任何可以让我离开的帮助都会很棒.

谢谢!

nlp artificial-intelligence text-mining nltk

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

潜在Dirichlet分配与文档聚类之间的关系

我想澄清潜在的Dirichlet分配(LDA)与文档聚类的通用任务之间的关系.

LDA分析倾向于输出每个文档的主题比例.如果我的理解是正确的,这不是文档聚类的直接结果.但是,我们可以将此概率比例视为每个文档的特征代表.之后,我们可以根据LDA分析生成的特征配置调用其他已建立的聚类方法.

我的理解是否正确?谢谢.

nlp machine-learning data-mining text-mining lda

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

用德语文本中的nltk提取单词

我试图从德语文档中提取单词,当我使用nltk教程中描述的以下方法时,我无法获得具有特定语言特殊字符的单词.

ptcr = nltk.corpus.PlaintextCorpusReader(Corpus, '.*');
words = nltk.Text(ptcr.words(DocumentName))
Run Code Online (Sandbox Code Playgroud)

如何获取文档中的单词列表?

nltk.tokenize.WordPunctTokenizer()德语短语的示例Veränderungen über einen Walzer如下:

In [231]: nltk.tokenize.WordPunctTokenizer().tokenize(u"Veränderungen über einen Walzer")

Out[231]: [u'Ver\xc3', u'\xa4', u'nderungen', u'\xc3\xbcber', u'einen', u'Walzer']
Run Code Online (Sandbox Code Playgroud)

在这个例子中,"ä"被视为分隔符,即使"ü"不是.

python nlp text-mining nltk

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

来自CSV文件的R文本挖掘文档(每个文档一行)

我正在尝试使用R中的tm包,并且有一个客户反馈的CSV文件,每行都是不同的反馈实例.我想将此反馈的所有内容导入语料库,但我希望每行都是语料库中的不同文档,以便我可以比较DocTerms矩阵中的反馈.我的数据集中有超过10,000行.

最初我做了以下事情:

fdbk_corpus <-Corpus(VectorSource(fdbk), readerControl = list(language="eng"), sep="\t")
Run Code Online (Sandbox Code Playgroud)

这将创建一个包含1个文档和> 10,000行的语料库,我想要> 10,000个文档,每个文档包含1行.

我想我可以在一个文件夹中拥有10,000多个单独的CSV或TXT文档并从中创建一个语料库...但我认为有一个比这更简单的答案,将每一行作为一个单独的文档阅读.

r documents corpus text-mining tm

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

R中的文本分类

我的目标是自动将反馈电子邮件路由到相应的部门.
我的字段是FNUMBER,CATEGORY,SUBCATEGORY,Description.
我有上述6个月的数据格式 - 整个电子邮件DescriptionCATEGORY和一起存储SUBCATEGORY.

我必须分析DESCRIPTION列并找到Keywordsfor Each Category/subcategory和下一个反馈电子邮件进入时,它应该根据Keyword历史数据生成自动分类到类别和子类别.

我已将一个XML文件导入R - 用于R中的文本分类,然后将XML转换为带有必填字段的数据框.我有一个特定月份的23017记录 - 我只列出了前20个列作为下面的数据帧.

我有超过100个类别和子类别.
我是文本挖掘概念的新手 - 但是在SO和tm包的帮助下 - 我尝试了下面的代码:

step1 <-  structure(list(FNUMBER = structure(1:20, .Label = c(" 20131202-0885 ", 
"20131202-0886 ", "20131202-0985 ", "20131202-1145 ", "20131202-1227 ", 
"20131202-1228 ", "20131202-1235 ", "20131202-1236 ", "20131202-1247 ", 
"20131202-1248 ", "20131202-1249 ", "20131222-0157 ", "20131230-0668 ", 
"20131230-0706 ", "20131230-0776 ", "20131230-0863 ", …
Run Code Online (Sandbox Code Playgroud)

text r text-mining tm

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

R tm removeWords函数不删除单词

我试图从我建立的语料库中删除一些单词,但它似乎没有起作用.我首先浏览所有内容并创建一个数据框,按照频率顺序列出我的单词.我使用此列表来识别我不感兴趣的单词,然后尝试创建一个删除了单词的新列表.但是,单词仍保留在我的数据集中.我想知道我做错了什么以及为什么这些话没有被删除?我已经包含以下完整代码:

install.packages("rvest")
install.packages("tm")
install.packages("SnowballC")
install.packages("stringr")
library(stringr) 
library(tm) 
library(SnowballC) 
library(rvest)

# Pull in the data I have been using. 
paperList <- html("http://journals.plos.org/plosone/search?q=nutrigenomics&sortOrder=RELEVANCE&filterJournals=PLoSONE&resultsPerPage=192")
paperURLs <- paperList %>%
  html_nodes(xpath="//*[@class='search-results-title']/a") %>%
  html_attr("href")
paperURLs <- paste("http://journals.plos.org", paperURLs, sep = "")
paper_html <- sapply(1:length(paperURLs), function(x) html(paperURLs[x]))

paperText <- sapply(1:length(paper_html), function(x) paper_html[[1]] %>%
                      html_nodes(xpath="//*[@class='article-content']") %>%
                      html_text() %>%
                      str_trim(.))
# Create corpus
paperCorp <- Corpus(VectorSource(paperText))
for(j in seq(paperCorp))
{
  paperCorp[[j]] <- gsub(":", " ", paperCorp[[j]])
  paperCorp[[j]] <- gsub("\n", " ", paperCorp[[j]])
  paperCorp[[j]] <- gsub("-", " ", paperCorp[[j]])
} …
Run Code Online (Sandbox Code Playgroud)

text r corpus text-mining tm

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

与python的tfidf的数据框架

我必须对一些情绪进行分类,我的数据框是这样的

Phrase                      Sentiment

is it  good movie          positive

wooow is it very goode      positive

bad movie                  negative
Run Code Online (Sandbox Code Playgroud)

我做了一些预处理作为标记化停止词干...等我得到

Phrase                      Sentiment

[ good , movie  ]        positive

[wooow ,is , it ,very, good  ]   positive

[bad , movie ]            negative
Run Code Online (Sandbox Code Playgroud)

我需要最终得到一个数据帧,该行是文本,其值是tf_idf,列是像这样的单词

good     movie   wooow    very      bad                Sentiment

tf idf    tfidf_  tfidf    tf_idf    tf_idf               positive
Run Code Online (Sandbox Code Playgroud)

(其余两条线也一样)

python text-mining tf-idf dataframe pandas

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

从R中的许多html文件创建一个语料库

我想创建一个语料库来收集下载的HTML文件,然后在R中读取它们以供将来的文本挖掘.

从本质上讲,这就是我想要做的:

  • 从多个html文件创建语料库.

我尝试使用DirSource:

library(tm)
a<- DirSource("C:/test")
b<-Corpus(DirSource(a), readerControl=list(language="eng", reader=readPlain))
Run Code Online (Sandbox Code Playgroud)

但它返回"无效的目录参数"

  • 一次读入来自语料库的html文件.不知道怎么做.

  • 解析它们,将它们转换为纯文本,删除标签.很多人建议使用XML,但是,我找不到处理多个文件的方法.它们都是一个文件.

非常感谢.

html r corpus text-mining xml-parsing

8
推荐指数
2
解决办法
9466
查看次数

清洁语料库时,tm包函数未删除引号和连字符

我正在尝试清理语料库,我使用了典型的步骤,如下面的代码:

docs<-Corpus(DirSource(path))
docs<-tm_map(docs,content_transformer(tolower))
docs<-tm_map(docs,content_transformer(removeNumbers))
docs<-tm_map(docs,content_transformer(removePunctuation))
docs<-tm_map(docs,removeWords,stopwords('en'))
docs<-tm_map(docs,stripWhitespace)
docs<-tm_map(docs,stemDocument)
dtm<-DocumentTermMatrix(docs)
Run Code Online (Sandbox Code Playgroud)

然而,当我检查矩阵时,几乎没有带引号的单词,例如:"我们""公司""代码指南" - 已知 - 加速

似乎单词本身在引号内,但当我尝试再次运行removePunctuation代码时,它不起作用.前面还有一些带子弹的话我也无法删除.

任何帮助将不胜感激.

r text-mining tm

8
推荐指数
1
解决办法
4305
查看次数

使用Gensim获取三元组的问题

我想从我提到的例句中得到bigrams和trigrams.

我的代码适用于bigrams.但是,它不捕获数据中的三元组(例如,人工计算机交互,我的句子的5个位置提到)

方法1下面提到的是我在Gensim中使用短语的代码.

from gensim.models import Phrases
documents = ["the mayor of new york was there", "human computer interaction and machine learning has now become a trending research area","human computer interaction is interesting","human computer interaction is a pretty interesting subject", "human computer interaction is a great and new subject", "machine learning can be useful sometimes","new york mayor was present", "I love machine learning because it is a new subject area", "human computer interaction helps people to get user friendly …
Run Code Online (Sandbox Code Playgroud)

python data-mining text-mining gensim word2vec

8
推荐指数
1
解决办法
3494
查看次数