【问题标题】:Identifying all the names from a given text从给定文本中识别所有名称
【发布时间】:2014-04-06 16:42:53
【问题描述】:

我想识别任何文字中写的所有名字,目前我正在使用 IMDB 电影评论。

我正在使用 stanford POS 标记器,并分析所有专有名词(因为专有名词是人名、事物、地点的名称),但这很慢。

首先我标记所有输入行,然后我检查所有带有 NNP 的单词,这是一个缓慢的过程。

是否有任何有效的替代品来完成这项任务?任何库(最好在 JAVA 中)。 谢谢。

【问题讨论】:

  • 查看 Apache OpenNLP 并研究命名实体标记。
  • 我尝试了 Ipen NLP,但结果并不那么准确,尽管它比 stanford POS 标注器快得多。
  • NER 是一个比词性标注更难的问题,词性标注器不会做你想做的事。 NER 当然有商业替代品,或者您可以尝试 OpenCalais。

标签: java nlp stanford-nlp linguistics lingpipe


【解决方案1】:

你知道输入语言吗?如果是,您可以将每个单词与字典进行匹配,如果该单词不在字典中,则将其标记为专有名词。它需要一个完整的字典,包含该语言每个单词的所有变格,并注意数字和其他特殊情况。

编辑:另见this answer in the official FAQ:您是否尝试更改使用的模型?

【讨论】:

  • 语言我懂,但效率会不会比我现在做的更差?
  • 我不知道词性标注器是如何工作的,但我猜它还需要使用字典来找出它是什么词,并确定它在句子中的作用。所以如果你只做字典部分会更快。但当然,这是一项耗时的任务。
【解决方案2】:

名为 GlobalNLP 的(付费)网络服务可以使用多种语言进行操作:https://nlp.linguasys.com/docs/services/54131f001c78d802f0f2b28f/operations/5429f9591c78d80a3cd66926

【讨论】:

    猜你喜欢
    • 2017-05-06
    • 2018-10-29
    • 1970-01-01
    • 2020-02-12
    • 1970-01-01
    • 1970-01-01
    • 2013-04-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多