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 aprendizado de máquina para entidades gerais
- Extração baseada em regras para entidades gerais
- Extração baseada em regra para entidades PII
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
| 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
| 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:
| 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 adicionaisNationalNumber.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.
| 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"
}
}