Esta documentación es para IBM Watson® Knowledge Studio en IBM Cloud®. Para ver la documentación de la versión anterior de Knowledge Studio en IBM Marketplace, pulse este enlace.
Reglas
El editor de normas finalizará el 30 de junio de 2025. Consulte las notas de la versión para obtener más información.
Cree un modelo basado en reglas que pueda reconocer patrones en los documentos. Utilice reglas para capturar patrones que se produzcan en documentos y transmita información sobre tipos de entidades subyacentes.
Visión general de la clase
Al construir una regla, utilice clases para representar tipos de información. Estas clases son similares a los tipos de entidades. Entonces, ¿por qué no utilizamos simplemente los tipos de entidades al definir reglas? Porque al crear reglas, puede definir clases intermedias que se utilicen solo para crear otras clases más complejas. Estas clases intermedias son exclusivamente utilitarias. No son útiles por sí solas. Las clases intermedias funcionan con otras clases intermedias para definir una clase más útil y completa. Una clase intermedia es necesaria, pero no algo que exponga como parte de un sistema de tipos. Para habilitar el modelo basado en reglas para hacer cosas útiles como preanotar documentos con menciones de entidades, debe correlacionar las clases complejas que utilice durante la creación de reglas con sus tipos de entidades equivalentes del sistema de tipos.
Por ejemplo, desea un modelo que pueda reconocer nombres de personas. Para entrenar un modelo de aprendizaje automático para que reconozca nombres de personas, debe anotar muchos nombres distintos escritos en una variedad de formatos en documentos
en un conjunto de anotaciones con el tipo de entidad PERSON
, y entrenar un modelo para que reconozca nombres de personas. Para crear un modelo basado en reglas para que reconozca nombres de personas, defina una regla que describa
los patrones de texto utilizados para escribir los nombres de personas. Así, podría crear una clase FirstName
y una clase LastName
y utilizar estas clases intermedias para definir una clase FullName
.
Debe definir las condiciones que determinan la ubicación de la clase FullName
en relación con prefijos comunes, como Dr.
, y sufijos comunes, como Jr.
. Cuando se utiliza el modelo basado en reglas, la
clase FullName
se correlaciona con el tipo de entidad PERSON
.
Otro motivo para evitar correlacionar clases intermedias a entidades del sistema de tipos es que si preanota documentos con el modelo basado en reglas, y a continuación los añade a los datos de campo para entrenar un modelo de aprendizaje automático,
no deseará definir reglas de tal forma que haga que se solapen las menciones de entidades. Por ejemplo, si fuera a correlacionar la clase intermedia FirstName
y la clase compleja FullName
con la entidad PERSON
,
se podría dar lugar a una aparición de John Doe, Jr.
en una mención que se solape.
Herramientas del editor de reglas
El editor de reglas proporciona algunas herramientas que le ayudan a definir reglas.
-
Diccionario
Añada un diccionario y asígnele un nombre de clase. Las palabras que se encuentren que coincidan con las entradas del diccionario se anotarán automáticamente con la clase asignada.
-
Expresión regular
Una expresión regular (regex) es una secuencia de caracteres que define un patrón de búsqueda. Un ejemplo básico sería
[A-Z][a-z]*
, que busca palabras que empiezan por mayúscula.[A-Z]
coincide con cualquier letra alfabética en mayúscula (de la A a la Z) y[a-z]*
coincide con cualquier letra alfabética en minúscula (de la a a la z) cero o más veces. El asterisco (*) es el carácter que define el valor de repetición (cero o más veces).Considere la posibilidad de utilizar un programa de utilidad regex basado en web gratuito para ayudarle a determinar la expresión correcta que se utilizará para capturar el patrón que desea encontrar.
Por ejemplo, sus documentos pueden tener muchas referencias similares a las siguientes frases:
35-year-old driver 16-year-old learner
La sintaxis
n-year-old x
es un patrón que normalmente representa a una persona. Puede definir una regla de expresión regular para buscar frases que coincidan con el patrónn-year-old x
, y anotarlas como menciones de entidadPERSON
.
Métodos recomendados para expresiones regulares
Aunque la herramienta regex que se incluye en el editor de reglas reconoce expresiones que siguen la sintaxis de java.util.regex.Pattern
, no se admite la sintaxis completa. Al utilizar la herramienta regex, tenga en cuenta los
siguientes métodos recomendados:
- Las reglas coinciden sólo en los límites de señales (tokens). No se pueden escribir reglas que coincidan con una subsecuencia de una señal. Para obtener más información, consulte Señaladores.
- Sus expresiones regulares deben ser simples y limpias.
- Plantéese el uso de diccionarios en lugar de expresiones regulares. Aunque se le ocurra una regla inteligente que puede capturar varias expresiones, en general, la coincidencia de diccionario es más rápida que la coincidencia de reglas. Además, los diccionarios son más fáciles de mantener.
- En lugar de depender completamente en expresiones regulares para la coincidencia de señales (tokens), es mejor utilizar una combinación de diccionarios, expresiones regulares y reglas. Por ejemplo, pensemos en una situación de un número
de teléfono en una frase
My mobile is 123-456
. Es posible que pueda escribir una regla que utilice una expresión regular para que coincida con dicha frase. Pero en este caso, el método recomendado es añadir un diccionario para encontrar palabras como móvil y teléfono, escribir una expresión regular simple que capture posibles secuencias de números de teléfono y, a continuación, crear una regla para explorar una secuencia de patrones, comodictionary term
+text
+regex
, tal como se muestra en la frase de ejemplo,My mobile is 123-456
. - Evite el uso innecesario de operaciones lookahead y lookbehind (
(?=ABC)
). En muchos casos, puede lograr el mismo resultado utilizando una combinación de expresiones regulares y reglas.