我有一个数据集,在底层文本上有多层注释,例如部分标签,来自浅层解析器的块,名称实体以及来自各种 自然语言处理(NLP)工具的其他部分.对于像这样的句子The man went to the store,注释可能如下所示:
Word POS Chunk NER ==== === ===== ======== The DT NP Person man NN NP Person went VBD VP - to TO PP - the DT NP Location store NN NP Location
我想使用Lucene索引一堆带有这些注释的文档,然后在不同的层上执行搜索.简单查询的一个示例是检索华盛顿被标记为人的所有文档.虽然我并不是完全致力于表示法,但语法上的最终用户可能会按如下方式输入查询:
查询:Word=Washington,NER=Person
我还想做更复杂的查询,涉及跨不同层的注释的连续顺序,例如,找到所有文档,其中有一个单词标记的人,后面arrived at是单词标记位置的单词.这样的查询可能如下所示:
查询:"NER=Person Word=arrived Word=at NER=Location"
用Lucene来解决这个问题的好方法是什么?无论如何索引和搜索包含结构化令牌的文档字段?
有效载荷
一个建议是尝试使用Lucene 有效负载.但是,我认为有效载荷只能用于调整文档的排名,并且它们不用于选择返回的文档.
后者很重要,因为对于某些用例,包含模式 …
是否有任何R包允许查询维基百科(最有可能使用Mediawiki API)获取与此类查询相关的可用文章列表,以及导入文本挖掘的选定文章?
我正在尝试构建一个接受文本并输出本文单词的拼音拼写的系统.关于哪些库可以在Python和Java中使用的任何想法?
我想创建一个语料库来收集下载的HTML文件,然后在R中读取它们以供将来的文本挖掘.
从本质上讲,这就是我想要做的:
我尝试使用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,但是,我找不到处理多个文件的方法.它们都是一个文件.
非常感谢.
我在scikit中使用了各种版本的TFIDF来学习一些文本数据的建模.
vectorizer = TfidfVectorizer(min_df=1,stop_words='english')
Run Code Online (Sandbox Code Playgroud)
生成的数据X采用以下格式:
<rowsxcolumns sparse matrix of type '<type 'numpy.float64'>'
with xyz stored elements in Compressed Sparse Row format>
Run Code Online (Sandbox Code Playgroud)
我想尝试使用LDA作为减少稀疏矩阵维数的方法.有没有一种简单的方法可以将NumPy稀疏矩阵X输入到gensim LDA模型中?
lda = models.ldamodel.LdaModel(corpus=corpus, id2word=dictionary, num_topics=100)
Run Code Online (Sandbox Code Playgroud)
我可以忽略scikit并按照gensim教程概述的方式,但我喜欢scikit矢量化器及其所有参数的简单性.
我们向客户提供了许多反馈和问题报告.它们是纯文本.我们正在尝试为这些文档构建自动分类器,以便将来的反馈/问题可以自动路由到正确的支持团队.除了文本本身,我认为我们应该将客户档案,案例提交区域等内容纳入分类器.我认为这可以为分类器提供更多线索,以便做出更好的预测.
目前,为培训选择的所有功能都基于文本内容.如何包含上述元功能?
(顺便说一下,我是新手.如果这个问题很简单,那么请原谅.)
我目前的方法是首先对原始文本(包括标题和正文)进行一些典型的预处理,例如删除停用词,POS标记和提取重要单词.然后我将标题和正文转换为单词列表,并以稀疏格式存储它们,如下所示:
实例1:word1:word1计数,word2:word2计数,....
实例2:wordX:word1计数,wordY:word2计数,....
对于其他非文本功能,我打算将它们添加为单词列之后的新列.所以最终的例子看起来像:
实例1:word1:word1计数,...,特征X:值,特征Y:值
我试图将Text文档分类为多个类别.我的下面的代码工作正常
matrix[[i]] <- create_matrix(trainingdata[[i]][,1], language="english",removeNumbers=FALSE,stemWords=FALSE,weighting=weightTf,minWordLength=3)
container[[i]] <- create_container(matrix[[i]],trainingdata[[i]][,2],trainSize=1:50,testSize=51:100) ,
models[[i]] <- train_models(container[[i]], algorithms=c("MAXENT","SVM"))
results[[i]] = classify_models(container[[i]],models[[i]])
Run Code Online (Sandbox Code Playgroud)
当我尝试下面的代码来获得精度,召回,准确度值:
analytic[[i]] <- create_analytics(container[[i]], results[[i]])
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Error in `row.names<-.data.frame`(`*tmp*`, value = c(NA_real_, NA_real_ :
duplicate 'row.names' are not allowed
Run Code Online (Sandbox Code Playgroud)
我Categories的text格式.如果我转换categories成Numeric- 上面的代码工作正常.
是否有工作来保持text格式的类别,并获得精度,召回,准确值.
我的目标是获得多级分类器的精度,召回率,准确度值和混淆矩阵.是否有任何其他包来获取多类文本分类器的上述值(一个与所有)
precision r text-mining document-classification confusion-matrix
是什么意思cut-off,并iteration在OpenNLP培训?或者就此而言,自然语言处理.我只需要一个外行解释这些术语.据我所知,迭代是算法重复的次数,并且截断是一个值,如果文本的值高于某个特定类别的截止值,它将被映射到该类别.我对吗?
我正在尝试清理语料库,我使用了典型的步骤,如下面的代码:
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代码时,它不起作用.前面还有一些带子弹的话我也无法删除.
任何帮助将不胜感激.
我想从我提到的例句中得到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) text-mining ×10
r ×4
python ×3
data-mining ×2
java ×2
nlp ×2
corpus ×1
gensim ×1
html ×1
lda ×1
lucene ×1
opennlp ×1
precision ×1
scikit-learn ×1
spelling ×1
tm ×1
wikipedia ×1
word2vec ×1
xml-parsing ×1