Extração de entidade

Os modelos de extração do Watson Natural Language Processing Entity extraem entidades do texto de entrada.

Para obter detalhes sobre os tipos de extração disponíveis, consulte estas seções:

Extração baseada em machine-learning para entidades gerais

Os modelos de extração baseados em aprendizado de máquina são treinados em dados rotulados para os tipos de entidade mais complexos, como pessoa, organização e local..

Recursos

Os modelos de entidade extraem entidades do texto de entrada. Os tipos de entidades a seguir são reconhecidos:

  • Data
  • Duração
  • Recurso
  • Recurso geográfico
  • Título do cargo
  • Localização
  • Medida
  • Money
  • Ordinal
  • Organização
  • Pessoa
  • Hora
Capacidades de extração baseada em machine-learning com base em um exemplo
Recursos Exemplos
Extrai entidades do texto de entrada. IBM's CEO Arvind Krishna is based in the US -> IBM\Organization , CEO\JobTitle, Arvind Krishna\Person, US\Location

Os fluxos de trabalho e blocos disponíveis diferem, dependendo do tempo de execução usado.

Nomes do Fluxo de Trabalho

  • entity-mentions_transformer-workflow_multilingual_slate.153m.distilled: esse fluxo de trabalho pode ser usado em CPUs e GPUs.
  • entity-mentions_transformer-workflow_multilingual_slate.153m.distilled-cpu: esse fluxo de trabalho é otimizado para tempos de execução baseados em CPU.

Idiomas suportados

A extração da entidade está disponível para os seguintes idiomas.

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

Para obter uma lista dos códigos de idioma e dos idiomas correspondentes, consulte Códigos de idioma

Código de amostra

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())

Saída da amostra de código:

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

Extração baseada em regra para entidades gerais

O modelo baseado em regra entity-mentions_rbr_xx_stock identifica entidades sintaticamente regulares.

Nome do bloco entity-mentions_rbr_xx_stock

Recursos

A extração baseada em regra manipula sintaticamente tipos de entidade regulares. O bloco de entidade extrai entidades do texto de entrada. Os tipos de entidades a seguir são reconhecidos:

  • PhoneNumber
  • EmailAddress
  • Número
  • Porcentagem
  • IPAddress
  • HashTag
  • TwitterHandle
  • URLDate
Capacidades de extração baseada em regras baseadas em um exemplo
Recursos Exemplos
Extrai tipos de entidade sintaticamente regulares do texto de entrada. My email is john@us.ibm.com -> john@us.ibm.com\EmailAddress

Idiomas suportados

A extração da entidade está disponível para os seguintes idiomas. Para obter uma lista dos códigos de idioma e dos idiomas correspondentes, consulte Códigos de idiomas.

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

Dependências de outros blocos

Nenhuma

Código de amostra

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 john@us.ibm.com')
print(rbr_entity_mentions)

Saída da amostra de código:

{
  "mentions": [
    {
      "span": {
        "begin": 12,
        "end": 27,
        "text": "john@us.ibm.com"
      },
      "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"
  }
}

Extração baseada em regra para entidades PII

O modelo baseado em regras entity-mentions_rbr_multi_pii manipula a maioria dos tipos, identificando formatos comuns de entidades PII e realizando possíveis checksum ou validações conforme apropriado para cada tipo de entidade. Por exemplo, os candidatos de número de cartão de crédito são validados usando o algoritmo Luhn.

Nome do bloco entity-mentions_rbr_multi_pii

Recursos

O bloco entidade entity-mentions_rbr_multi_pii reconhece os seguintes tipos de entidades:

Entidades extraídas pelo bloco entidade-mentions_rbr_multi_pii
Nome do tipo de entidade Descrição Idiomas suportados
BankAccountNumber.CreditCardNumber .Amex Número do cartão de crédito para tipos de cartão AMEX (15 dígitos). Verificado através do algoritmo Luhn. Todos
BankAccountNumber.CreditCardNumber .Mestre Número do cartão de crédito para tipos de cartão Master card (16 dígitos). Verificado através do algoritmo Luhn. Todos
BankAccountNumber.CreditCardNumber .Outro Número do cartão de crédito para categoria de esquerda de outros tipos. Verificado através do algoritmo Luhn. Todos
BankAccountNumber.CreditCardNumber .Visto Número do cartão de crédito para tipos de cartão VISA (16 19 dígitos). Verificado através do algoritmo Luhn. Todos
EmailAddress Endereços de e-mail, por exemplo: john@gmail.com 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 e IPv6 endereços, por exemplo, 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 Qualquer número de telefone específico, por exemplo, 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

Alguns nomes de tipo de entidade PII são específicos do país. O _ nos tipos de entidade a seguir é um placeholder para um código de país.

  • BankAccountNumber.BBAN._ : São números de conta bancária nacional mais variáveis e a extração é majoritariamente linguística-específica sem um algoritmo de checksum geral.
  • BankAccountNumber.IBAN._ : IBANs altamente padronizados são suportados de forma independente de linguagem e com um algoritmo de checksum.
  • NationalNumber.NationalID._: Esses IDs nacionais não possuem um algoritmo de checksum (publicado), e estão sendo extraídos em uma base específica do idioma.
  • NationalNumber.Passport._ : Os checos são implementados apenas para os países onde um algoritmo de checksum existe. Eles são especificamente extraídos de linguagem com restrições de contexto adicionais
  • NationalNumber.TaxID._ : Esses IDs não possuem um algoritmo de checksum (publicado), e estão sendo extraídos em uma base específica do idioma.

Quais tipos de entidade estão disponíveis para quais linguagens e qual código de país a utilizar está listado na tabela a seguir.

Tipos de entidade PII específicos do país
País Nome do tipo de entidade Descrição Idiomas suportados
Áustria BankAccountNumber.BBAN.AT Número da conta bancária básica de
BankAccountNumber.IBAN.AT Número de conta bancária internacional todos
NationalNumber.Passport.AT Número do passaporte de
NationalNumber.TaxID.AT Número de identificação fiscal de
Bélgica BankAccountNumber.BBAN.BE Número da conta bancária básica fr, nl
BankAccountNumber.IBAN.BE Número de conta bancária internacional todos
NationalNumber.NationalID.BE Número de Identificação Nacional fr, nl
NationalNumber.Passport.BE Número do passaporte fr, nl
Bulgária BankAccountNumber.BBAN.BG Número da conta bancária básica bg
BankAccountNumber.IBAN.BG Número de conta bancária internacional todos
NationalNumber.NationalID.BG Número de Identificação Nacional bg
Brasil NationalNumber.SocialInsuranceNumber.CA Número de seguro social. Algoritmo de checksum é implementado. en, fr
Croácia BankAccountNumber.BBAN.HR Número da conta bancária básica hr
BankAccountNumber.IBAN.HR Número de conta bancária internacional todos
NationalNumber.NationalID.HR Número de Identificação Nacional hr
NationalNumber.TaxID.HR Número de identificação fiscal hr
Chipre BankAccountNumber.BBAN.CY Número da conta bancária básica el
BankAccountNumber.IBAN.CY Número de conta bancária internacional todos
NationalNumber.TaxID.CY Número de identificação fiscal el
República Tcheca BankAccountNumber.BBAN.CZ Número da conta bancária básica cs
BankAccountNumber.IBAN.CZ Número de conta bancária internacional cs
NationalNumber.NationalID.CZ Número de Identificação Nacional cs
NationalNumber.TaxID.CZ Número de identificação fiscal cs
Dinamarca BankAccountNumber.BBAN.DK Número da conta bancária básica da
BankAccountNumber.IBAN.DK Número de conta bancária internacional todos
NationalNumber.NationalID.DK Número de Identificação Nacional da
Estônia BankAccountNumber.BBAN.EE Número da conta bancária básica et
BankAccountNumber.IBAN.EE Número de conta bancária internacional todos
NationalNumber.NationalID.EE Número de Identificação Nacional et
Finlândia BankAccountNumber.BBAN.FI Número da conta bancária básica fi
BankAccountNumber.IBAN.FI Número de conta bancária internacional todos
NationalNumber.NationalID.FI Número de Identificação Nacional fi
NationalNumber.Passport.FI Número do passaporte fi
França BankAccountNumber.BBAN.FR Número da conta bancária básica Fr
BankAccountNumber.IBAN.FR Número de conta bancária internacional todos
NationalNumber.Passport.FR Número do passaporte Fr
NationalNumber.SocialInsuranceNumber.FR Número de seguro social. Algoritmo de checksum é implementado. Fr
Alemanha BankAccountNumber.BBAN.DE Número aAccount do banco básico de
BankAccountNumber.IBAN.DE Número de conta bancária internacional todos
NationalNumber.Passport.DE Número do passaporte de
NationalNumber.SocialInsuranceNumber.DE Número de seguro social. Algoritmo de checksum é implementado. de
Grécia BankAccountNumber.BBAN.GR Número da conta bancária básica el
BankAccountNumber.IBAN.GR Número de conta bancária internacional todos
NationalNumber.Passport.GR Número do passaporte el
NationalNumber.TaxID.GR Número de identificação fiscal el
NationalNumber.NationalID.GR Número de ID nacional el
Hungria BankAccountNumber.BBAN.HU Número da conta bancária básica hu
BankAccountNumber.IBAN.HU Número de conta bancária internacional todos
NationalNumber.NationalID.HU Número de Identificação Nacional hu
NationalNumber.TaxID.HU Número de identificação fiscal hu
Islândia BankAccountNumber.BBAN.IS Número da conta bancária básica é
BankAccountNumber.IBAN.IS Número de conta bancária internacional todos
NationalNumber.NationalID.IS Número de Identificação Nacional é
Irlanda BankAccountNumber.BBAN.IE Número da conta bancária básica pt
BankAccountNumber.IBAN.IE Número de conta bancária internacional todos
NationalNumber.NationalID.IE Número de Identificação Nacional pt
NationalNumber.Passport.IE Número do passaporte pt
NationalNumber.TaxID.IE Número de identificação fiscal pt
Itália BankAccountNumber.BBAN.IT Número da conta bancária básica ele
BankAccountNumber.IBAN.IT Número de conta bancária internacional todos
NationalNumber.NationalID.IT Número de Identificação Nacional ele
NationalNumber.Passport.IT Número do passaporte ele
Japão BankAccountNumber.BBAN.JA Número da conta bancária básica ja
NationalNumber.Passport.JA Número do passaporte ja
NationalNumber.DriversLicense.JA Número da carteira de motorista ja
NationalNumber.IndividualNumber.JA Cartão de identificação pessoal ja
Letónia BankAccountNumber.BBAN.LV Número da conta bancária básica lv
BankAccountNumber.IBAN.LV Número de conta bancária internacional todos
NationalNumber.NationalID.LV Número de Identificação Nacional lv
Listenstaine BankAccountNumber.BBAN.LI Número da conta bancária básica de
BankAccountNumber.IBAN.LI Número de conta bancária internacional todos
Lituânia BankAccountNumber.BBAN.LT Número da conta bancária básica lt
BankAccountNumber.IBAN.LT Número de conta bancária internacional todos
NationalNumber.NationalID.LT Número de Identificação Nacional lt
Luxemburgo BankAccountNumber.BBAN.LU Número da conta bancária básica de, fr
BankAccountNumber.IBAN.LU Número de conta bancária internacional todos
NationalNumber.TaxID.LU Número de identificação fiscal de, fr
Malta BankAccountNumber.BBAN.MT Número da conta bancária básica mt
BankAccountNumber.IBAN.MT Número de conta bancária internacional todos
Holanda BankAccountNumber.BBAN.NL Número da conta bancária básica nl
BankAccountNumber.IBAN.NL Número de conta bancária internacional todos
NationalNumber.NationalID.NL Número de Identificação Nacional nl
NationalNumber.Passport.NL Número do passaporte nl
Noruega BankAccountNumber.BBAN.NO Número da conta bancária básica não
BankAccountNumber.IBAN.NO Número de conta bancária internacional todos
NationalNumber.NationalID.NO Número de Identificação Nacional não
NationalNumber.NationalID.NO.Old Número de identificação nacional antigo não
NationalNumber.Passport.NO Número do passaporte não
Polônia BankAccountNumber.BBAN.PL Número da conta bancária básica pl
BankAccountNumber.IBAN.PL Número de conta bancária internacional todos
NationalNumber.NationalID.PL Número de Identificação Nacional pl
NationalNumber.Passport.PL Número do passaporte pl
NationalNumber.TaxID.PL Número de identificação fiscal pl
Portugal BankAccountNumber.IBAN.PT Número de conta bancária internacional todos
BankAccountNumber.BBAN.PT Número da conta bancária básica en
NationalNumber.NationalID.PT Número de Identificação Nacional en
NationalNumber.NationalID.PT.Old Número de identificação nacional, formato obsoleto en
NationalNumber.TaxID.PT Número de identificação fiscal en
Romênia BankAccountNumber.BBAN.RO Número da conta bancária básica ro
BankAccountNumber.IBAN.RO Número de conta bancária internacional todos
NationalNumber.NationalID.RO Número de Identificação Nacional ro
NationalNumber.TaxID.RO Número de identificação fiscal ro
Eslováquia BankAccountNumber.IBAN.SK Número de conta bancária internacional todos
BankAccountNumber.BBAN.SK Número da conta bancária básica sk
NationalNumber.TaxID.SK Número de identificação fiscal sk
NationalNumber.NationalID.SK Número de Identificação Nacional sk
Eslovênia BankAccountNumber.IBAN.SI Número de conta bancária internacional todos
Espanha BankAccountNumber.IBAN.ES Número de conta bancária internacional todos
BankAccountNumber.BBAN.ES Número da conta bancária básica es
NationalNumber.NationalID.ES Número de Identificação Nacional es
NationalNumber.Passport.ES Número do passaporte es
NationalNumber.TaxID.ES Número de identificação fiscal es
Suécia BankAccountNumber.IBAN.SE Número de conta bancária internacional todos
BankAccountNumber.BBAN.SE Número da conta bancária básica sv
NationalNumber.NationalID.SE Número de Identificação Nacional sv
NationalNumber.Passport.SE Número do passaporte sv
Suíça BankAccountNumber.IBAN.CH Número de conta bancária internacional todos
BankAccountNumber.BBAN.CH Número da conta bancária básica de, fr, it
NationalNumber.NationalID.CH Número de Identificação Nacional de, fr, it
NationalNumber.Passport.CH Número do passaporte de, fr, it
NationalNumber.NationalID.CH.Old Número de identificação nacional, formato obsoleto de, fr, it
Reino Unido da Grã-Bretanha e Irlanda do Norte BankAccountNumber.IBAN.GB Número de conta bancária internacional todos
NationalNumber.SocialSecurityNumber.GB.NHS Número do Serviço Nacional de Saúde todos
NationalNumber.SocialSecurityNumber.GB.NINO Número do Seguro Nacional de Segurança Social todos
NationalNumber.NationalID.GB.Old Número de ID nacional, formato obsoleto todos
NationalNumber.Passport.GB Número do passaporte. O algoritmo de checksum não é implementado e, portanto, vem com restrições de contexto adicionais. todos
Estados Unidos NationalNumber.SocialSecurityNumber.US Número da Previdência Social. O algoritmo de checksum não é implementado e, portanto, vem com restrições de contexto adicionais. pt
NationalNumber.Passport.US Número do passaporte. O algoritmo de checksum não é implementado e, portanto, vem com restrições de contexto adicionais. pt

Dependências de outros blocos

Nenhuma

Código de amostra

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)

Saída da amostra de código:

{
  "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"
  }
}