概述

命名实体标记(Named Entity Tagger)使用表示实体类型的标签对文本块中的每个单词或术语进行注释,这些标签取自 Groningen Meaning Bank (GMB) 数据集中由 17 个实体标签组成的列表。这些标签涵盖了以下 8 种命名实体:个人、地点、组织、地缘政治实体、人工制品、事件、自然物体、时间以及表示“无实体”的标签(参阅 GMB 数据集手册页面以获取完整的实体定义)。另外,还可以使用“B-”标签或“I-”标签来标记实体类型。“B-”标签表示新实体中的第一个术语(或单术语实体的唯一术语),而实体中的后续术语将带有“I-”标签。例如,”New York” 将标记为 ["B-GEO", "I-GEO"],而 “London” 将标记为 "B-GEO"

此模型由递归神经网络架构组成,其中将一个双向 LSTM 层应用于字符级嵌入向量(这些向量与预先训练的 GloVe 6B 词嵌入向量组合使用);最后将第二个双向 LSTM 层应用于此组合向量表示。此模型的输入是一个字符串,而输出是输入文本中的术语列表(在应用简单的标记化之后)以及每个术语的预测实体标签列表。

此模型基于 Guillaume Genthial 的 Named Entity Recognition with TensorFlow 模型,适合使用 Keras 框架。IBM CODAIT 团队根据 GMB 数据集版本 2.2.0 的子集对此模型进行了训练。

模型元数据

领域 应用 行业 框架 训练数据 输入数据格式
自然语言处理 命名实体识别 通用 Keras Groningen Meaning Bank (GMB) 数据集 文本

注意基础数据集主要基于新闻文章,因此该模型在处理与一般新闻、商业、地缘政治和体育赛事相关的输入时应该表现得相对更好。该数据集涵盖了 2014 年之前的时间段,这决定了模型将要注意到的实体。

参考资料

许可

组件 许可 链接
模型仓库 Apache 2.0 许可
模型权重 Apache 2.0 许可
模型代码(第三方) Apache 2.0 TensorFlow NER Repo 许可

此模型的可用部署选项

可以使用以下机制来部署此模型:

  • 通过 Dockerhub 进行部署:

    docker run -it -p 5000:5000 codait/max-named-entity-tagger
    
  • 在 Red Hat OpenShift 上部署:

    遵循本教程中有关 OpenShift Web 控制台或 OpenShift Container Platform CLI 的操作说明,并指定 codait/max-named-entity-tagger 作为镜像名称。

  • 在 Kubernetes 上部署:

    kubectl apply -f https://raw.githubusercontent.com/IBM/MAX-Named-Entity-Tagger/master/max-named-entity-tagger.yaml
    

    可以在此处找到有关如何将此 MAX 模型部署到 IBM Cloud 上的生产环境的更详细的教程。

  • 本地部署:遵循 GitHub 上的模型 README 文件中的操作说明

用法示例

您可以测试或使用此模型

使用 cURL 测试模型

在部署模型后,可以在命令行中测试该模型。例如:

curl -X POST -H 'Content-Type: application/json' -d '{"text":"John lives in Brussels and works for the EU"}' 'http://localhost:5000/model/predict'

您应该会看到与下面类似的 JSON 响应:

{
    "status": "ok",
    "prediction": {
        "entities": [
            "B-PER",
            "O",
            "O",
            "B-GEO",
            "O",
            "O",
            "O",
            "O",
            "B-ORG"
        ],
        "input_terms": [
            "John",
            "lives",
            "in",
            "Brussels",
            "and",
            "works",
            "for",
            "the",
            "EU"
        ]
    }
}

在无服务器应用程序中测试模型

通过遵循在 IBM Cloud Functions 中利用深度学习教程中的操作说明,可以在无服务器应用程序中使用此模型。

此模型的可用训练选项

可以使用以下机制来训练此模型:

资源与贡献

如果您有兴趣为 Model Asset Exchange 项目做出贡献或有任何疑问,遵循此处的操作说明。

本文翻译自:Named Entity Tagger(2018-10-31)