0 / 0
Go back to the English version of the documentation
实体抽取
Last updated: 2024年11月07日
实体抽取

Watson Natural Language Processing Entity 抽取模型从输入文本中抽取实体。

有关可用抽取类型的详细信息,请参阅以下部分:

针对一般实体的基于机器学习的抽取

基于机器学习的抽取模型是根据更复杂的实体类型 (例如人员,组织和位置) 的标签数据进行训练的。

功能

实体模型从输入文本中抽取实体。 可识别以下类型的实体:

  • 日期
  • 持续时间
  • 设施
  • 地理特征
  • 职位
  • 位置
  • 度量
  • Money
  • 有序
  • 组织
  • 员工
  • 时间
基于机器学习的抽取功能 (基于示例)
功能 示例
从输入文本中抽取实体。 IBM's CEO Arvind Krishna is based in the US -> IBM\Organization , CEO\JobTitle, Arvind Krishna\Person, US\Location

可用的工作流程和块因所使用的运行时而异。

工作流程名称

  • entity-mentions_transformer-workflow_multilingual_slate.153m.distilled: 此工作流程可以在 CPU 和 GPU 上使用。
  • entity-mentions_transformer-workflow_multilingual_slate.153m.distilled-cpu: 此工作流程针对基于 CPU 的运行时进行了优化。

受支持的语言

实体抽取可用于以下语言。

ar , cs , da , de , en , es , fi , fr , he , hi , it , ja , ko , nb , nl , nn , pt , ro , ru , sk , sv , tr , zh-cn

有关语言代码和相应语言的列表,请参阅语言代码

代码样本

import watson_nlp
# Load the workflow model
entities_workflow = watson_nlp.load('entity-mentions_transformer-workflow_multilingual_slate.153m.distilled')
# Run the entity extraction workflow on the input text
entities = entities_workflow.run('IBM\'s CEO Arvind Krishna is based in the US', language_code="en")
print(entities.get_mention_pairs())

代码样本的输出:

[('IBM', 'Organization'), ('CEO', 'JobTitle'), ('Arvind Krishna', 'Person'), ('US', 'Location')]

常规实体的基于规则的抽取

基于规则的模型 entity-mentions_rbr_xx_stock 识别语法上的常规实体。

块名称 entity-mentions_rbr_xx_stock

功能

基于规则的抽取处理语法上的常规实体类型。 实体块从输入文本中抽取实体。 可识别以下类型的实体:

  • PhoneNumber
  • EmailAddress
  • 编号
  • %
  • IPAddress
  • HashTag
  • TwitterHandle
  • URLDate
基于示例的基于规则的抽取功能
功能 示例
从输入文本中抽取语法常规实体类型。 My email is [email protected] -> [email protected]\EmailAddress

受支持的语言

实体抽取可用于以下语言。 有关语言代码和相应语言的列表,请参阅 语言代码

ar , cs , da , de , en , es , fi , fr , he , hi , it , ja , ko , nb , nl , nn , pt , ro , ru , sk , sv , tr , zh-cn , zh-tw

对其他块的依赖关系

代码样本

import watson_nlp

# Load a rule-based Entity Mention model for English
rbr_entity_model = watson_nlp.load('entity-mentions_rbr_en_stock')

# Run the entity model on the input text
rbr_entity_mentions = rbr_entity_model.run('My email is [email protected]')
print(rbr_entity_mentions)

代码样本的输出:

{
  "mentions": [
    {
      "span": {
        "begin": 12,
        "end": 27,
        "text": "[email protected]"
      },
      "type": "EmailAddress",
      "producer_id": {
        "name": "RBR mentions",
        "version": "0.0.1"
      },
      "confidence": 0.8,
      "mention_type": "MENTT_UNSET",
      "mention_class": "MENTC_UNSET",
      "role": ""
    }
  ],
  "producer_id": {
    "name": "RBR mentions",
    "version": "0.0.1"
  }
}

PII 实体的基于规则的抽取

基于规则的模型 entity-mentions_rbr_multi_pii 通过识别 PII 实体的公共格式并根据每个实体类型的情况执行可能的校验和或验证来处理大多数类型。 例如,使用 Luhn 算法验证信用卡号候选者。

块名称 entity-mentions_rbr_multi_pii

功能

实体块 entity-mentions_rbr_multi_pii 识别以下类型的实体:

由 entity-mentions_rbr_multi_pii 块抽取的实体
实体类型名称 描述 支持的语言
BankAccountNumber.CreditCardNumber.Amex 卡类型 AMEX 的信用卡号 (15 位数字)。 已通过 Luhn 算法进行检查。 全部
BankAccountNumber.CreditCardNumber.Master 卡类型主卡的信用卡号 (16 位数字)。 已通过 Luhn 算法进行检查。 全部
BankAccountNumber.CreditCardNumber.Other 其他类型的留存类别的信用卡号。 已通过 Luhn 算法进行检查。 全部
BankAccountNumber.CreditCardNumber.Visa 卡类型 VISA 的信用卡号 (16 到 19 位数字)。 已通过 Luhn 算法进行检查。 全部
EmailAddress 电子邮件地址,例如: [email protected] ar , cs , da , de , en , es , fi , fr , he , hi , it , ja , ko , nb , nl , nn , pl , pt , ro , ru , sk , sv , tr , zh-cn
IPAddress IPv4 和 IPv6 地址,例如 10.142.250.123 ar , cs , da , de , en , es , fi , fr , he , hi , it , ja , ko , nb , nl , nn , pl , pt , ro , ru , sk , sv , tr , zh-cn
PhoneNumber 任何特定电话号码,例如 0511-123-456 ar , cs , da , de , en , es , fi , fr , he , hi , it , ja , ko , nb , nl , nn , pl , pt , ro , ru , sk , sv , tr , zh-cn

某些 PII 实体类型名称特定于国家或地区。 以下实体类型中的 _ 是国家或地区代码的占位符。

  • BankAccountNumber.BBAN._ : 这些是比较多变的国家银行帐号,提取的大多是语言特定,没有一般的校验和算法。
  • BankAccountNumber.IBAN._ : 以独立于语言的方式并通过校验和算法支持高度标准化的 IBAN。
  • NationalNumber.NationalID._: 这些国家标识没有 (已发布) 校验和算法,并且是在特定于语言的基础上抽取的。
  • NationalNumber.Passport._ : 仅对存在校验和算法的国家或地区实施校验和。 这些是具有其他上下文限制的特定抽取语言。
  • NationalNumber.TaxID._ : 这些标识没有 (已发布) 校验和算法,并且是在特定于语言的基础上抽取的。

下表列出了哪些实体类型可用于哪些语言以及要使用的国家或地区代码。

特定于国家或地区的 PII 实体类型
国家/地区 实体类型名称 描述 支持的语言
奥地利 BankAccountNumber.BBAN.AT 基本银行帐号 zh
BankAccountNumber.IBAN.AT 国际银行帐号 全部
NationalNumber.Passport.AT 护照号码 zh
NationalNumber.TaxID.AT 税务识别号 zh
比利时 BankAccountNumber.BBAN.BE 基本银行帐号 弗尔山 /nl fr
BankAccountNumber.IBAN.BE 国际银行帐号 全部
NationalNumber.NationalID.BE 身份证号 弗尔山 /nl fr
NationalNumber.Passport.BE 护照号码 弗尔山 /nl fr
保加利亚 BankAccountNumber.BBAN.BG 基本银行帐号 bg
BankAccountNumber.IBAN.BG 国际银行帐号 全部
NationalNumber.NationalID.BG 身份证号 bg
加拿大 NationalNumber.SocialInsuranceNumber.CA 社会保险号。 已实现校验和算法。 昂山 /fr en
克罗地亚 BankAccountNumber.BBAN.HR 基本银行帐号 小时
BankAccountNumber.IBAN.HR 国际银行帐号 全部
NationalNumber.NationalID.HR 身份证号 小时
NationalNumber.TaxID.HR 税务识别号 小时
塞浦路斯 BankAccountNumber.BBAN.CY 基本银行帐号 el
BankAccountNumber.IBAN.CY 国际银行帐号 全部
NationalNumber.TaxID.CY 税务识别号 el
捷克 BankAccountNumber.BBAN.CZ 基本银行帐号 cs
BankAccountNumber.IBAN.CZ 国际银行帐号 cs
NationalNumber.NationalID.CZ 身份证号 cs
NationalNumber.TaxID.CZ 税务识别号 cs
丹麦 BankAccountNumber.BBAN.DK 基本银行帐号 da
BankAccountNumber.IBAN.DK 国际银行帐号 全部
NationalNumber.NationalID.DK 身份证号 da
爱沙尼亚 BankAccountNumber.BBAN.EE 基本银行帐号 et
BankAccountNumber.IBAN.EE 国际银行帐号 全部
NationalNumber.NationalID.EE 身份证号 et
芬兰 BankAccountNumber.BBAN.FI 基本银行帐号 fi
BankAccountNumber.IBAN.FI 国际银行帐号 全部
NationalNumber.NationalID.FI 身份证号 fi
NationalNumber.Passport.FI 护照号码 fi
法国 BankAccountNumber.BBAN.FR 基本银行帐号 fr
BankAccountNumber.IBAN.FR 国际银行帐号 全部
NationalNumber.Passport.FR 护照号码 fr
NationalNumber.SocialInsuranceNumber.FR 社会保险号。 已实现校验和算法。 fr
德国 BankAccountNumber.BBAN.DE 基本银行 aAccount 编号 zh
BankAccountNumber.IBAN.DE 国际银行帐号 全部
NationalNumber.Passport.DE 护照号码 zh
NationalNumber.SocialInsuranceNumber.DE 社会保险号。 已实现校验和算法。 zh
希腊 BankAccountNumber.BBAN.GR 基本银行帐号 el
BankAccountNumber.IBAN.GR 国际银行帐号 全部
NationalNumber.Passport.GR 护照号码 el
NationalNumber.TaxID.GR 税务识别号 el
NationalNumber.NationalID.GR 国家身份证号码 el
匈牙利 BankAccountNumber.BBAN.HU 基本银行帐号 hu
BankAccountNumber.IBAN.HU 国际银行帐号 全部
NationalNumber.NationalID.HU 身份证号 hu
NationalNumber.TaxID.HU 税务识别号 hu
冰岛 BankAccountNumber.BBAN.IS 基本银行帐号
BankAccountNumber.IBAN.IS 国际银行帐号 全部
NationalNumber.NationalID.IS 身份证号
爱尔兰 BankAccountNumber.BBAN.IE 基本银行帐号 zh-CN
BankAccountNumber.IBAN.IE 国际银行帐号 全部
NationalNumber.NationalID.IE 身份证号 zh-CN
NationalNumber.Passport.IE 护照号码 zh-CN
NationalNumber.TaxID.IE 税务识别号 zh-CN
意大利 BankAccountNumber.BBAN.IT 基本银行帐号
BankAccountNumber.IBAN.IT 国际银行帐号 全部
NationalNumber.NationalID.IT 身份证号
NationalNumber.Passport.IT 护照号码
拉托维亚 BankAccountNumber.BBAN.LV 基本银行帐号 lv
BankAccountNumber.IBAN.LV 国际银行帐号 全部
NationalNumber.NationalID.LV 身份证号 lv
列支敦士登 BankAccountNumber.BBAN.LI 基本银行帐号 zh
BankAccountNumber.IBAN.LI 国际银行帐号 全部
立陶宛 BankAccountNumber.BBAN.LT 基本银行帐号 lt
BankAccountNumber.IBAN.LT 国际银行帐号 全部
NationalNumber.NationalID.LT 身份证号 lt
卢森堡 BankAccountNumber.BBAN.LU 基本银行帐号 德河 /fr de
BankAccountNumber.IBAN.LU 国际银行帐号 全部
NationalNumber.TaxID.LU 税务识别号 德河 /fr de
马尔他 BankAccountNumber.BBAN.MT 基本银行帐号 mt
BankAccountNumber.IBAN.MT 国际银行帐号 全部
荷兰 BankAccountNumber.BBAN.NL 基本银行帐号 nl
BankAccountNumber.IBAN.NL 国际银行帐号 全部
NationalNumber.NationalID.NL 身份证号 nl
NationalNumber.Passport.NL 护照号码 nl
挪威 BankAccountNumber.BBAN.NO 基本银行帐号 False
BankAccountNumber.IBAN.NO 国际银行帐号 全部
NationalNumber.NationalID.NO 身份证号 False
NationalNumber.NationalID.NO.Old 旧的国家身份号码 False
NationalNumber.Passport.NO 护照号码 False
波兰 BankAccountNumber.BBAN.PL 基本银行帐号 pl
BankAccountNumber.IBAN.PL 国际银行帐号 全部
NationalNumber.NationalID.PL 身份证号 pl
NationalNumber.Passport.PL 护照号码 pl
NationalNumber.TaxID.PL 税务识别号 pl
葡萄牙 BankAccountNumber.IBAN.PT 国际银行帐号 全部
BankAccountNumber.BBAN.PT 基本银行帐号 pt
NationalNumber.NationalID.PT 身份证号 pt
NationalNumber.NationalID.PT.Old 国家标识号,过时格式 pt
NationalNumber.TaxID.PT 税务识别号 pt
罗马尼亚 BankAccountNumber.BBAN.RO 基本银行帐号 ro
BankAccountNumber.IBAN.RO 国际银行帐号 全部
NationalNumber.NationalID.RO 身份证号 ro
NationalNumber.TaxID.RO 税务识别号 ro
斯洛伐克 BankAccountNumber.IBAN.SK 国际银行帐号 全部
BankAccountNumber.BBAN.SK 基本银行帐号 sk
NationalNumber.TaxID.SK 税务识别号 sk
NationalNumber.NationalID.SK 身份证号 sk
斯洛文尼亚 BankAccountNumber.IBAN.SI 国际银行帐号 全部
西班牙 BankAccountNumber.IBAN.ES 国际银行帐号 全部
BankAccountNumber.BBAN.ES 基本银行帐号 es
NationalNumber.NationalID.ES 身份证号 es
NationalNumber.Passport.ES 护照号码 es
NationalNumber.TaxID.ES 税务识别号 es
瑞典 BankAccountNumber.IBAN.SE 国际银行帐号 全部
BankAccountNumber.BBAN.SE 基本银行帐号 sv
NationalNumber.NationalID.SE 身份证号 sv
NationalNumber.Passport.SE 护照号码 sv
瑞士 BankAccountNumber.IBAN.CH 国际银行帐号 全部
BankAccountNumber.BBAN.CH 基本银行帐号 德弗尔 /fr , it
NationalNumber.NationalID.CH 身份证号 德弗尔 /fr , it
NationalNumber.Passport.CH 护照号码 德弗尔 /fr , it
NationalNumber.NationalID.CH.Old 国家标识号,过时格式 德弗尔 /fr , it
大不列颠和北爱尔兰联合王国 BankAccountNumber.IBAN.GB 国际银行帐号 全部
NationalNumber.SocialSecurityNumber.GB.NHS 国家保健服务号码 全部
NationalNumber.SocialSecurityNumber.GB.NINO 全国社会保障保险号码 全部
NationalNumber.NationalID.GB.Old 国家身份证号码,过时格式 全部
NationalNumber.Passport.GB 护照号码。 校验和算法未实现,因此带有其他上下文限制。 全部
美国 NationalNumber.SocialSecurityNumber.US 社会保障号。 校验和算法未实现,因此带有其他上下文限制。 zh-CN
NationalNumber.Passport.US 护照号码。 校验和算法未实现,因此带有其他上下文限制。 zh-CN

对其他块的依赖关系

代码样本

import watson_nlp

# Load the RBR PII model. Note that this is a multilingual model supporting multiple languages.
rbr_entity_model = watson_nlp.load('entity-mentions_rbr_multi_pii')

# Run the RBR model. Note that language code of the input text is passed as a parameter to the run method.
rbr_entity_mentions = rbr_entity_model.run('Please find my credit card number here: 378282246310005. Thanks for the payment.', language_code='en')
print(rbr_entity_mentions)

代码样本的输出:

{
  "mentions": [
    {
      "span": {
        "begin": 40,
        "end": 55,
        "text": "378282246310005"
      },
      "type": "BankAccountNumber.CreditCardNumber.Amex",
      "producer_id": {
        "name": "RBR mentions",
        "version": "0.0.1"
      },
      "confidence": 0.8,
      "mention_type": "MENTT_UNSET",
      "mention_class": "MENTC_UNSET",
      "role": ""
    }
  ],
  "producer_id": {
    "name": "RBR mentions",
    "version": "0.0.1"
  }
}

父主题: Watson Natural Language Processing 任务目录

Generative AI search and answer
These answers are generated by a large language model in watsonx.ai based on content from the product documentation. Learn more