首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基于R的Tweets命名实体识别

基于R的Tweets命名实体识别
EN

Stack Overflow用户
提问于 2014-12-09 02:48:24
回答 1查看 2.9K关注 0票数 0

我的目标是:我试图识别在推特中的位置(如果它存在的话)。

我尝试使用Opennlp包,尽管增加了堆内存大小,但还是多次遇到“内存不足的错误”。代码在识别6-8条tweet的位置后终止。

我只对100到150个位置(作用域列表)感兴趣,但是将tweet中的每个单词与tweets列表中的每个单词匹配对于一个tweet集合来说是非常低效的。

我想知道,除了'NLP‘之外,是否有合适的可以为twitter数据启用NER?

另外,执行这个常规最有效的方法是什么?

我是,对python/不是很熟悉,所以我想使用R。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-09 06:21:48

好吧,所以我解决了记忆不足的问题。我为每条推特反复导入模型。因此,我评论了这位now..works很好。

这是我的代码:

代码语言:javascript
运行
复制
#Sys.setenv(JAVA_HOME='C:\\Program Files\\Java\\jre7') # for 64-bit version\

#Sys.setenv(JAVA_HOME='C:\\Program Files (x86)\\Java\\jre7') # for 32-bit version

#library(rJava)

#install.packages("openNLPmodels.en_1.5-1.tar.gz", repos = "http://datacube.wu.ac.at/", type = "source")

#library(openNLP)

#library(NLP)

#install en-ner-location.bin from http://opennlp.sourceforge.net/models-1.5/ and save in location given below



for(i in 1:nrow(quake1))

{

s<-quake1$text[i]

#sent_token_annotator <- Maxent_Sent_Token_Annotator()

#word_token_annotator <- Maxent_Word_Token_Annotator()

a2 <- annotate(s, list(sent_token_annotator, word_token_annotator))

#entity_annotator <- Maxent_Entity_Annotator(kind="location",language="en",model='C:\\Program Files\\R\\R-3.1.1\\library\\openNLP\\en-ner-location.bin')

a3<-entity_annotator(s, a2)

location<-""

if(length(a3)>0) {

for(j in 1:length(a3))

location<-paste(location,substring(s,a3$start[j],a3$end[j]),sep=";")

}

quake1$location[i]<-location

}

新目标:我想确保#SanJose这样的地点也被识别出来。因为大多数hashtag w.r.t位置都是单个字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27370682

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档