首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LingPipe命名实体识别器输出许多不匹配的内容

LingPipe命名实体识别器输出许多不匹配的内容
EN

Stack Overflow用户
提问于 2015-03-06 23:08:11
回答 1查看 214关注 0票数 0

我正在尝试使用LingPipe和遵循this tutorial来提取命名实体(个人、个人和组织)。下面是我试图从中提取名称的full text,下面是代码(为简洁起见,省略了异常处理):

代码语言:javascript
复制
Chunker chunker = readChunker("/path-to-chunker"); // custom method for
                                                     reading the model
String article = "Some long news article spanning multiple lines...";

Chunking chunking = chunker.chunk(article);
Set<Chunk> chunkingSet = chunking.chunkSet();
for (Chunk chunk : chunkingSet) {
   String name = article.substring(chunk.start(), chunk.end()));
   System.out.println(name);
}

这是我得到的输出的一部分:

代码语言:javascript
复制
Tony Abbott
Indonesia
Joko Widodo
Sukumaran
Andrew Chan
Bali.
pair
the Bali
Nusa Kambangan
Indonesian
Indonesian
I’
Widodo. I
” Abbott
Julie Bishop
Widodo
al-Jazeera
Sukumaran
Chan
Bishop
”

如你所见,有很多不匹配/部分匹配,比如Bali.pairthe BaliI'Widodo. I" Abbott"。我假设库的NER运行得很好,问题是上面的代码不知何故滥用了这个库中的类/方法。但我似乎就是找不到代码的错误之处?

有什么想法吗?

EN

回答 1

Stack Overflow用户

发布于 2015-03-07 05:21:02

看起来问题出在你在第一行读到的chunker模型中。可能,它使用了错误的标记器,这是Bali.I'Widodo. I" Abbott"的来源。pairthe Bali可以用普通误差来解释(标记器的精度通常不超过80-90% )。然而,这种错误的来源也可以通过糟糕的模型来解释-例如,它可以针对另一个领域进行训练。

顺便说一句,为什么你使用longpipe,而不是Stanford NER?一般来说,它会显示更好的结果;例如,第一个可用的(即随机的) article。此外,对于Standford NER来说,here是一个很好的分步教程。

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

https://stackoverflow.com/questions/28901640

复制
相关文章

相似问题

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