Los modelos de extracción de entidades de Watson Natural Language Processing Entity extraen entidades del texto de entrada.
Para obtener detalles, sobre los tipos de extracción disponibles, consulte estas secciones:
- Extracción basada en aprendizaje automático para entidades generales
- Extracción basada en reglas para entidades generales
- Extracción basada en reglas para entidades PII
Extracción basada en machine learning para entidades generales
Los modelos de extracción basados en aprendizaje automático se entrenan en datos etiquetados para los tipos de entidad más complejos, como persona, organización y ubicación.
Prestaciones
Los modelos de entidad extraen entidades del texto de entrada. Se reconocen los tipos de entidades siguientes:
- Fecha
- Duración
- Recurso
- Característica geográfica
- Cargo
- Ubicación
- Medida
- Money
- Ordinal
- Organización
- Persona
- Hora
Funciones | Ejemplos |
---|---|
Extrae entidades del texto de entrada. | IBM's CEO Arvind Krishna is based in the US -> IBM\Organization , CEO\JobTitle , Arvind Krishna\Person , US\Location |
Los flujos de trabajo y bloques disponibles difieren, en función del tiempo de ejecución utilizado.
Nombres de flujo de trabajo
entity-mentions_transformer-workflow_multilingual_slate.153m.distilled
: este flujo de trabajo se puede utilizar tanto en CPU como en GPU.entity-mentions_transformer-workflow_multilingual_slate.153m.distilled-cpu
: este flujo de trabajo está optimizado para tiempos de ejecución basados en CPU.
Idiomas soportados
La extracción de entidades está disponible para los siguientes 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 consultar la lista de códigos lingüísticos y las lenguas correspondientes, véase Códigos lingüísticos
Ejemplo de código
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())
Ejemplo de salida de código:
[('IBM', 'Organization'), ('CEO', 'JobTitle'), ('Arvind Krishna', 'Person'), ('US', 'Location')]
Extracción basada en reglas para entidades generales
El modelo basado en reglas entity-mentions_rbr_xx_stock
identifica entidades regulares sintácticamente.
Nombre de bloque entity-mentions_rbr_xx_stock
Prestaciones
La extracción basada en reglas maneja tipos de entidad regulares sintácticamente. El bloque de entidad extrae entidades del texto de entrada. Se reconocen los tipos de entidades siguientes:
- PhoneNumber
- EmailAddress
- Número
- Porcentaje
- Dirección IP
- HashTag
- TwitterHandle
- URLDate
Funciones | Ejemplos |
---|---|
Extrae tipos de entidad regulares sintácticamente del texto de entrada. | My email is [email protected] -> [email protected]\EmailAddress |
Idiomas soportados
La extracción de entidades está disponible para los siguientes idiomas. Para obtener una lista de los códigos de idioma y el idioma correspondiente, consulte Códigos de idioma.
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
Dependencias de otros bloques
Ninguna
Ejemplo de código
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)
Ejemplo de salida de código:
{
"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"
}
}
Extracción basada en reglas para entidades PII
El modelo basado en reglas entity-mentions_rbr_multi_pii
maneja la mayoría de los tipos identificando formatos comunes de entidades PII y realizando una posible suma de comprobación o validaciones según corresponda para cada tipo de entidad. Por ejemplo, los candidatos de número de tarjeta de crédito se validan utilizando el algoritmo de Luhn.
Nombre de bloque entity-mentions_rbr_multi_pii
Prestaciones
El bloque de entidad entity-mentions_rbr_multi_pii
reconoce los siguientes tipos de entidades:
Nombre de tipo de entidad | Descripción | Idiomas soportados |
---|---|---|
BankAccountNumber.CreditCardNumber .amex | Número de tarjeta de crédito para los tipos de tarjeta AMEX (15 dígitos). Se comprueba mediante el algoritmo de Luhn. | Todos |
BankAccountNumber.CreditCardNumber .Maestro | Número de tarjeta de crédito para tipos de tarjeta Master (16 dígitos). Se comprueba mediante el algoritmo de Luhn. | Todos |
BankAccountNumber.CreditCardNumber .Otro | Número de tarjeta de crédito para la categoría sobrante de otros tipos. Se comprueba mediante el algoritmo de Luhn. | Todos |
BankAccountNumber.CreditCardNumber .Visa | Número de tarjeta de crédito para los tipos de tarjeta VISA (16 a 19 dígitos). Se comprueba mediante el algoritmo de Luhn. | Todos |
EmailAddress | Direcciones de correo electrónico, por ejemplo: [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 |
Dirección IP | Direcciones IPv4 y IPv6 , por ejemplo, 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 |
Cualquier número de teléfono específico, por ejemplo, 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 |
Algunos nombres de tipo de entidad PII son específicos del país. El _
en los siguientes tipos de entidad es un marcador para un código de país.
BankAccountNumber.BBAN._
: Son números de cuenta bancaria nacionales más variables y la extracción es principalmente específica del idioma sin un algoritmo de suma de comprobación general.BankAccountNumber.IBAN._
: Los IBAN altamente estandarizados están soportados de forma independiente del idioma y con un algoritmo de suma de comprobación.NationalNumber.NationalID._
: estos ID nacionales no tienen un algoritmo de suma de comprobación (publicado) y se están extrayendo en una base específica del idioma.NationalNumber.Passport._
: Las sumas de comprobación sólo se implementan para los países donde existe un algoritmo de suma de comprobación. Se trata de un idioma extraído específicamente con restricciones de contexto adicionales.NationalNumber.TaxID._
: estos ID no tienen un algoritmo de suma de comprobación (publicado) y se están extrayendo en una base específica del idioma.
Los tipos de entidad disponibles para qué idiomas y qué código de país utilizar se listan en la tabla siguiente.
País | Nombre de tipo de entidad | Descripción | Idiomas soportados |
---|---|---|---|
Austria | BankAccountNumber.BBAN.AT |
Número de cuenta bancaria básica | de |
BankAccountNumber.IBAN.AT |
Número de cuenta bancaria internacional | todo | |
NationalNumber.Passport.AT |
Número de pasaporte | de | |
NationalNumber.TaxID.AT |
Número de identificación fiscal | de | |
Bélgica | BankAccountNumber.BBAN.BE |
Número de cuenta bancaria básica | fr, nl |
BankAccountNumber.IBAN.BE |
Número de cuenta bancaria internacional | todo | |
NationalNumber.NationalID.BE |
Número de identidad nacional | fr, nl | |
NationalNumber.Passport.BE |
Número de pasaporte | fr, nl | |
Bulgaria | BankAccountNumber.BBAN.BG |
Número de cuenta bancaria básica | bg |
BankAccountNumber.IBAN.BG |
Número de cuenta bancaria internacional | todo | |
NationalNumber.NationalID.BG |
Número de identidad nacional | bg | |
Canadá | NationalNumber.SocialInsuranceNumber.CA |
Número de seguro social. Se implementa el algoritmo de suma de comprobación. | es, fr |
Croacia | BankAccountNumber.BBAN.HR |
Número de cuenta bancaria básica | hora |
BankAccountNumber.IBAN.HR |
Número de cuenta bancaria internacional | todo | |
NationalNumber.NationalID.HR |
Número de identidad nacional | hora | |
NationalNumber.TaxID.HR |
Número de identificación fiscal | hora | |
Chipre | BankAccountNumber.BBAN.CY |
Número de cuenta bancaria básica | el |
BankAccountNumber.IBAN.CY |
Número de cuenta bancaria internacional | todo | |
NationalNumber.TaxID.CY |
Número de identificación fiscal | el | |
Chequia | BankAccountNumber.BBAN.CZ |
Número de cuenta bancaria básica | cs |
BankAccountNumber.IBAN.CZ |
Número de cuenta bancaria internacional | cs | |
NationalNumber.NationalID.CZ |
Número de identidad nacional | cs | |
NationalNumber.TaxID.CZ |
Número de identificación fiscal | cs | |
Dinamarca | BankAccountNumber.BBAN.DK |
Número de cuenta bancaria básica | da |
BankAccountNumber.IBAN.DK |
Número de cuenta bancaria internacional | todo | |
NationalNumber.NationalID.DK |
Número de identidad nacional | da | |
Estonia | BankAccountNumber.BBAN.EE |
Número de cuenta bancaria básica | et |
BankAccountNumber.IBAN.EE |
Número de cuenta bancaria internacional | todo | |
NationalNumber.NationalID.EE |
Número de identidad nacional | et | |
Finlandia | BankAccountNumber.BBAN.FI |
Número de cuenta bancaria básica | fi |
BankAccountNumber.IBAN.FI |
Número de cuenta bancaria internacional | todo | |
NationalNumber.NationalID.FI |
Número de identidad nacional | fi | |
NationalNumber.Passport.FI |
Número de pasaporte | fi | |
Francia | BankAccountNumber.BBAN.FR |
Número de cuenta bancaria básica | es |
BankAccountNumber.IBAN.FR |
Número de cuenta bancaria internacional | todo | |
NationalNumber.Passport.FR |
Número de pasaporte | es | |
NationalNumber.SocialInsuranceNumber.FR |
Número de seguro social. Se implementa el algoritmo de suma de comprobación. | es | |
Alemania | BankAccountNumber.BBAN.DE |
Número de aAccount de banco básico | de |
BankAccountNumber.IBAN.DE |
Número de cuenta bancaria internacional | todo | |
NationalNumber.Passport.DE |
Número de pasaporte | de | |
NationalNumber.SocialInsuranceNumber.DE |
Número de seguro social. Se implementa el algoritmo de suma de comprobación. | de | |
Grecia | BankAccountNumber.BBAN.GR |
Número de cuenta bancaria básica | el |
BankAccountNumber.IBAN.GR |
Número de cuenta bancaria internacional | todo | |
NationalNumber.Passport.GR |
Número de pasaporte | el | |
NationalNumber.TaxID.GR |
Número de identificación fiscal | el | |
NationalNumber.NationalID.GR |
Número de identificación nacional | el | |
Hungría | BankAccountNumber.BBAN.HU |
Número de cuenta bancaria básica | hu |
BankAccountNumber.IBAN.HU |
Número de cuenta bancaria internacional | todo | |
NationalNumber.NationalID.HU |
Número de identidad nacional | hu | |
NationalNumber.TaxID.HU |
Número de identificación fiscal | hu | |
Islandia | BankAccountNumber.BBAN.IS |
Número de cuenta bancaria básica | es |
BankAccountNumber.IBAN.IS |
Número de cuenta bancaria internacional | todo | |
NationalNumber.NationalID.IS |
Número de identidad nacional | es | |
Irlanda | BankAccountNumber.BBAN.IE |
Número de cuenta bancaria básica | es |
BankAccountNumber.IBAN.IE |
Número de cuenta bancaria internacional | todo | |
NationalNumber.NationalID.IE |
Número de identidad nacional | es | |
NationalNumber.Passport.IE |
Número de pasaporte | es | |
NationalNumber.TaxID.IE |
Número de identificación fiscal | es | |
Italia | BankAccountNumber.BBAN.IT |
Número de cuenta bancaria básica | it |
BankAccountNumber.IBAN.IT |
Número de cuenta bancaria internacional | todo | |
NationalNumber.NationalID.IT |
Número de identidad nacional | it | |
NationalNumber.Passport.IT |
Número de pasaporte | it | |
Letonia | BankAccountNumber.BBAN.LV |
Número de cuenta bancaria básica | lv |
BankAccountNumber.IBAN.LV |
Número de cuenta bancaria internacional | todo | |
NationalNumber.NationalID.LV |
Número de identidad nacional | lv | |
Liechtenstein | BankAccountNumber.BBAN.LI |
Número de cuenta bancaria básica | de |
BankAccountNumber.IBAN.LI |
Número de cuenta bancaria internacional | todo | |
Lituania | BankAccountNumber.BBAN.LT |
Número de cuenta bancaria básica | Lt |
BankAccountNumber.IBAN.LT |
Número de cuenta bancaria internacional | todo | |
NationalNumber.NationalID.LT |
Número de identidad nacional | Lt | |
Luxemburgo | BankAccountNumber.BBAN.LU |
Número de cuenta bancaria básica | de, fr |
BankAccountNumber.IBAN.LU |
Número de cuenta bancaria internacional | todo | |
NationalNumber.TaxID.LU |
Número de identificación fiscal | de, fr | |
Malta | BankAccountNumber.BBAN.MT |
Número de cuenta bancaria básica | mt |
BankAccountNumber.IBAN.MT |
Número de cuenta bancaria internacional | todo | |
Países Bajos | BankAccountNumber.BBAN.NL |
Número de cuenta bancaria básica | nl |
BankAccountNumber.IBAN.NL |
Número de cuenta bancaria internacional | todo | |
NationalNumber.NationalID.NL |
Número de identidad nacional | nl | |
NationalNumber.Passport.NL |
Número de pasaporte | nl | |
Noruega | BankAccountNumber.BBAN.NO |
Número de cuenta bancaria básica | No |
BankAccountNumber.IBAN.NO |
Número de cuenta bancaria internacional | todo | |
NationalNumber.NationalID.NO |
Número de identidad nacional | No | |
NationalNumber.NationalID.NO.Old |
Número de identificación nacional antiguo | No | |
NationalNumber.Passport.NO |
Número de pasaporte | No | |
Polonia | BankAccountNumber.BBAN.PL |
Número de cuenta bancaria básica | pl |
BankAccountNumber.IBAN.PL |
Número de cuenta bancaria internacional | todo | |
NationalNumber.NationalID.PL |
Número de identidad nacional | pl | |
NationalNumber.Passport.PL |
Número de pasaporte | pl | |
NationalNumber.TaxID.PL |
Número de identificación fiscal | pl | |
Portugal | BankAccountNumber.IBAN.PT |
Número de cuenta bancaria internacional | todo |
BankAccountNumber.BBAN.PT |
Número de cuenta bancaria básica | pt | |
NationalNumber.NationalID.PT |
Número de identidad nacional | pt | |
NationalNumber.NationalID.PT.Old |
Número de identificación nacional, formato obsoleto | pt | |
NationalNumber.TaxID.PT |
Número de identificación fiscal | pt | |
Rumanía | BankAccountNumber.BBAN.RO |
Número de cuenta bancaria básica | ro |
BankAccountNumber.IBAN.RO |
Número de cuenta bancaria internacional | todo | |
NationalNumber.NationalID.RO |
Número de identidad nacional | ro | |
NationalNumber.TaxID.RO |
Número de identificación fiscal | ro | |
Eslovaquia | BankAccountNumber.IBAN.SK |
Número de cuenta bancaria internacional | todo |
BankAccountNumber.BBAN.SK |
Número de cuenta bancaria básica | sk | |
NationalNumber.TaxID.SK |
Número de identificación fiscal | sk | |
NationalNumber.NationalID.SK |
Número de identidad nacional | sk | |
Eslovenia | BankAccountNumber.IBAN.SI |
Número de cuenta bancaria internacional | todo |
España | BankAccountNumber.IBAN.ES |
Número de cuenta bancaria internacional | todo |
BankAccountNumber.BBAN.ES |
Número de cuenta bancaria básica | es | |
NationalNumber.NationalID.ES |
Número de identidad nacional | es | |
NationalNumber.Passport.ES |
Número de pasaporte | es | |
NationalNumber.TaxID.ES |
Número de identificación fiscal | es | |
Suecia | BankAccountNumber.IBAN.SE |
Número de cuenta bancaria internacional | todo |
BankAccountNumber.BBAN.SE |
Número de cuenta bancaria básica | es | |
NationalNumber.NationalID.SE |
Número de identidad nacional | es | |
NationalNumber.Passport.SE |
Número de pasaporte | es | |
Suiza | BankAccountNumber.IBAN.CH |
Número de cuenta bancaria internacional | todo |
BankAccountNumber.BBAN.CH |
Número de cuenta bancaria básica | de, fr, it | |
NationalNumber.NationalID.CH |
Número de identidad nacional | de, fr, it | |
NationalNumber.Passport.CH |
Número de pasaporte | de, fr, it | |
NationalNumber.NationalID.CH.Old |
Número de identificación nacional, formato obsoleto | de, fr, it | |
Reino Unido de Gran Bretaña e Irlanda del Norte | BankAccountNumber.IBAN.GB |
Número de cuenta bancaria internacional | todo |
NationalNumber.SocialSecurityNumber.GB.NHS |
Número del Servicio Nacional de Salud | todo | |
NationalNumber.SocialSecurityNumber.GB.NINO |
Número de la Seguridad Social | todo | |
NationalNumber.NationalID.GB.Old |
Número de identificación nacional, formato obsoleto | todo | |
NationalNumber.Passport.GB |
Número de pasaporte. El algoritmo de suma de comprobación no se implementa y, por lo tanto, viene con restricciones de contexto adicionales. | todo | |
Estados Unidos | NationalNumber.SocialSecurityNumber.US |
Número de la Seguridad Social. El algoritmo de suma de comprobación no se implementa y, por lo tanto, viene con restricciones de contexto adicionales. | es |
NationalNumber.Passport.US |
Número de pasaporte. El algoritmo de suma de comprobación no se implementa y, por lo tanto, viene con restricciones de contexto adicionales. | es |
Dependencias de otros bloques
Ninguna
Ejemplo de código
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)
Ejemplo de salida 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"
}
}
Tema principal: Watson