【问题标题】:How to tag field specific nouns using Parts-of-Speech Taggers?如何使用词性标注器标注特定领域的名词?
【发布时间】:2014-02-26 13:16:20
【问题描述】:

我想使用词性技术在句子中标记特定领域,例如技术和科学名词。

示例

考虑句子:

1) 计算机需要键盘、显示器、CPU 才能工作。
2)汽车使用齿轮和离合器。

现在我的目标是,例句必须标记为

  • 第一句

计算机/技术
需要/名词
键盘/技术
CPU / 技术
到 / 介词
工作 /动词

  • 第二句

    汽车/机械
    使用 / 动词
    齿轮 / 机械
    和 / 连词
    离合器 / 机械

我的需要
我想在java中实现上面提到的目标,即通过它相关的领域来标记名词,如技术、机械、电气等。

我以前的作品
我已经使用了 Stanford NLP 、 Open NLP ,但他们正在标记 POS ,但不能满足需要。

请告诉我该怎么做?

【问题讨论】:

  • 你需要用你自己的类别(即技术、机械等)训练一个命名实体识别系统
  • 你能详细说明“命名实体识别”@ChthonicProject

标签: java nlp information-retrieval stanford-nlp opennlp


【解决方案1】:

有趣的问题,这里有一些想法。由于您需要词性,请使用诸如 OpenNLP 之类的词性标注器,这将为您提供所需的 POS 标签。第二部分有点棘手(对某些单词进行分类)。如果映射到某个类别的词受到限制,您可以简单地使用查找列表,有时这是最简单和最准确的,使用 NER 模型会给您带来一些噪音。如果没有,那么您可以执行已经建议的操作,即训练 NER 模型。

【讨论】:

    【解决方案2】:

    命名实体识别 (NER) 是一种实体识别/提取系统,可在文本中定位实体并将其分类为预定义的类别(例如主板 --> 技术、RAM --> 技术随机存取存储器--> 技术)。 NER 通常使用基于语言语法的方法和统计方法。我怀疑您是否需要为您的任务了解这些方法的详细信息。如果您确实感兴趣,请随时阅读conditional random fields

    据我所知,您所需要的只是能够根据自己的类别(即技术、机械等)训练自己的 NER。 The Stanford NER FAQ page 提供了有关如何执行此操作的充分信息。

    要直观了解最终系统的工作原理,您可以查看online demo of the Stanford NER。他们提供英文、中文和德文分类器。有 3 个英语分类器分别针对 3、4 和 7 个类别进行了训练……试试看吧。

    我尽量做到简洁。在 SO 上无法详细介绍 NER。我希望我的回答以及提供的链接对您的任务有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多