我有一个数据集,在底层文本上有多层注释,例如部分标签,来自浅层解析器的块,名称实体以及来自各种 自然语言处理(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 有效负载.但是,我认为有效载荷只能用于调整文档的排名,并且它们不用于选择返回的文档.
后者很重要,因为对于某些用例,包含模式 …
我正在开展一个项目,该项目由一个连接到NCBI(国家生物技术信息中心)的网站组成,并在那里搜索文章.事情是我必须对所有结果进行一些文本挖掘.我正在使用JAVA语言进行文本化,使用IAXFACES进行AJAX用于开发网站.我有什么:从搜索返回的文章列表.每篇文章都有一个ID和一个摘要.我们的想法是从每个抽象文本中获取关键字.然后比较所有摘要中的所有关键字,找出最重复的关键字.然后在网站上显示搜索的相关字词.有任何想法吗 ?我在网上搜索了很多,我知道有名称实体识别,部分语音标记,有关于基因和蛋白质的NER的GENIA词库,我已经尝试过阻止...停止单词列表等...我只需要知道最好的aproahc来解决这个问题.非常感谢.
我只是想知道是否有人知道大型稀疏矩阵的奇异值分解(SVD)的java实现?我需要这个实现潜在语义分析(LSA).
我尝试了来自UJMP和JAMA的软件包,但当行数> = 1000且col> = 500时,它们会窒息.如果有人能指出我的伪代码或其他东西,那将非常感激.
假设我有如下所述的数据.
11AM user1刷机
上午11:05 user1准备Brakfast
上午11:10用户1吃早餐
上午11:15 user1洗澡
上午11:30用户1离开办公室
12PM user2刷机
下午12:05 user2 Prep Brakfast
下午12:10用户2吃早餐
12:15 PM user2洗澡
12:30 PM user2离开办公室
11AM user3洗澡
上午11:05 user3准备Brakfast
上午11:10 user3刷机
上午11:15 user3吃早餐
上午11:30 user3离开办公室
12PM user4洗澡
下午12:05 user4 Prep Brakfast
下午12:10 user4刷机
下午12:15用户4吃早餐
12:30 PM user4离开办公室
这些数据告诉我不同人的日常生活.从这些数据来看,似乎user1和user2的行为相似(尽管它们执行活动的时间有所不同,但它们遵循相同的顺序).出于同样的原因,User3和User4的行为类似.现在我必须将这些用户分组到不同的组中.在此示例中,group1- user1和USer2 ...后跟group2,包括user3和user4
我应该如何处理这种情况.我正在尝试学习数据挖掘,这是一个我认为是数据挖掘问题的例子.我试图找到解决方案的方法,但我想不出一个.我相信这些数据有其中的模式.但我无法想到可以揭示它的方法.此外,我必须在我拥有的数据集上映射此方法,这非常巨大,但与此类似:)数据是关于日志说明事件一次发生.我想找到代表相似事件序列的组.
任何指针将不胜感激.
我有三类不平衡数据问题(90%,5%,5%).现在我想使用LIBSVM训练分类器.
问题是LIBSVM优化其参数gamma和Cost以获得最佳精度,这意味着100%的示例被归类为class 1,这当然不是我想要的.
我已经尝试修改重量参数-w但没有太大的成功.
所以我想要的是,以一种优化成本的方式修改grid.py,以及按类别而不是整体精度划分的精度和召回的伽玛.有没有办法做到这一点?或者是否有其他脚本可以做这样的事情?
我在R中termDocumentMatrix创建了一个tm包.
我正在尝试创建一个具有50个最常出现的术语的矩阵/数据帧.
当我尝试转换为矩阵时,我收到此错误:
> ap.m <- as.matrix(mydata.dtm)
Error: cannot allocate vector of size 2.0 Gb
Run Code Online (Sandbox Code Playgroud)
所以我尝试使用Matrix包转换为稀疏矩阵:
> A <- as(mydata.dtm, "sparseMatrix")
Error in as(from, "CsparseMatrix") :
no method or default for coercing "TermDocumentMatrix" to "CsparseMatrix"
> B <- Matrix(mydata.dtm, sparse = TRUE)
Error in asMethod(object) : invalid class 'NA' to dup_mMatrix_as_geMatrix
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下方法访问tdm的不同部分:
> freqy1 <- data.frame(term1 = findFreqTerms(mydata.dtm, lowfreq=165))
> mydata.dtm[mydata.dtm$ Terms %in% freqy1$term1,]
Error in seq_len(nr) : argument must be coercible to non-negative integer
Run Code Online (Sandbox Code Playgroud)
这是其他一些信息: …
我有一个数据库,我根据以下三个字段存储数据:id,text,{labels}.请注意,每个文本都已分配给多个label\tag\class.我想构建一个模型(weka\rapidminer\mahout),它可以推荐\将一堆标签\标签\类分类到给定的文本.
我听说过SVM和朴素贝叶斯分类器,但不确定它们是否支持多标签分类.任何指导我正确方向的东西都非常受欢迎!
至少可以考虑使用3种类型的n-gram来表示文本文档:
我不清楚哪一个应该用于给定的任务(聚类,分类等).我在某处读到,当文字包含拼写错误时,字符级别的n-gram优于字级n-gram,因此"Mary loves dogs"仍然类似于"Mary lpves dogs".
选择"正确"表示还有其他标准需要考虑吗?
我是R的文本处理新手.我正在尝试下面的简单代码
library(RTextTools)
texts <- c("This is the first document.", "This is the second file.", "This is the third text.")
matrix <- create_matrix(texts,ngramLength=3)
这是问题2和3个词使用R TM包的短语中的答案之一
但是,它会产生错误Error in FUN(X[[2L]], ...) : non-character argument.
我删除ngramLength参数时可以生成文档术语矩阵,但我需要搜索某些字长的短语.任何替代或更正的建议?
我正在处理文本字符串,如下所示:
LN1 2DW, DN21 5BJ, DN21 5BL, ...
在Python中,我如何计算逗号之间的元素数量?每个元素可以由6个,7个或8个字符组成,在我的示例中,显示了3个元素.分隔符始终是逗号.
我从未做过任何与文本挖掘有关的事情,所以这对我来说是一个开始.
text-mining ×10
java ×4
data-mining ×3
nlp ×3
r ×2
comma ×1
large-data ×1
libsvm ×1
lucene ×1
n-gram ×1
python ×1
svm ×1
text ×1
tm ×1