Este documento describe el proceso de extracción de ontología a partir de documentos escritos en lenguaje natural. Explica que primero se identifican y agrupan los términos clave, luego se construye una taxonomía de estos términos y por último se buscan asociaciones entre ellos. También establece reglas para la escritura de documentos que faciliten este proceso, como usar consistentemente los mismos nombres para los mismos conceptos. Finalmente, realiza un caso de estudio aplicando estos métodos a un documento largo para verificar su
2. Introducción
Una clave primordial para que un proyecto de
software tenga éxito, es una especificación
precisa
Las especificaciones formales son ideales para
el desarrollador de software.
La gran mayoría de las especificaciones están
escritas en lenguaje natural, para el lector es
muy importante identificar los conceptos usados
por el escritor de tales especificaciones.
3. 1.1- Trabajo a fin -Relacionado-
El fin de la mayoría de los usos de el procesamiento natural
del lenguaje no es entender el texto, si no extraer conceptos
contenidos en el documento.
4. Kevin Ryan.
Afirma que el modelo de dominio producido por NLP puede
estar incompleto, ya que cierta información que se piensa que
es “Conocimiento del dominio Común” es omitida en el texto
de requerimientos, pero eso ya es una tarea de los ingenieros
de requerimientos para la detección de tales omisiones.
-Un modelo incompleto seria un indicador de omisiones de
texto-
5. Ben Achor.
Clasifica los métodos de lingüística, ya sea sintáctica o
semántica.
Ej.
AbstFinder
Extrae los términos (léxico) que se producen repetidamente en
el texto de especificaciones. Este método es bastante robusto
por que no se basa en la parte de análisis de habla.
Simplemente considera frases como secuencia de caracteres
y busca subsecuencias comunes en diferentes frases.
6. En el enfoque sintáctico como Abbott, se analizan todas las
partes del documento (verbos, sustantivos, etc) o busca por
sentencias especiales.
Abbott, analiza los sustantivos usando parta construir el
programa.
Chen, va mas allá y produce diagramas E/R (entidad/relación)
como el resultado del análisis.
Chris Rupp, Nattoch Dag and Fabbrini, ellos están
relacionados en el sentido de que ellos también analizan
documentos de requerimientos escritos en lenguaje natural.
Su fin no es automatizar la extracción de información de los
textos.
7. Chris Rupp define una serie de reglas de escritura. La plantilla define
que argumentos son necesarios para cada verbo.
De las sentencias escritas de acuerdo a la plantilla se pueden extraer
fácilmente los actores, acciones y objetos dentro del texto.
El fin de este enfoque es unificar la escritura, la cual te permite
producir mejores documentos de requerimientos, pero no te ofrece la
automatización para analizar el texto.
8. 1.2-OBJETIVOS DE NUESTRO
TRABAJO
1. Aprender a escribir menos ambiguo y con mas precisión.
Significa que se utilizan reglas de escritura, hacen el texto menos
ambiguo y mas preciso en el punto de vista del ser humano.
2. Aprender a detectar ambigüedades y imprecisiones
Leer el documento y eliminar todas las ambigüedades e imprecisiones.
3. Usar un lenguaje natural restringido, el cual es no es ambiguo y es
mas preciso.
Gracias al uso correcto de la gramática podemos extraer la ontología
del dominio del texto.
9. 2- EXTRACCION DE LA
ONTOLOGIA: ENFOQUE
La extracción del conocimiento del dominio consiste en 3
pasos.
1. Extracción de los términos
Sujetos y objetos son los términos que se quieren extraer, los
predicados son usados para clasificar términos.
2. Agrupación de términos y la creación/construcción de la
taxonomía.
Los términos extraídos son agrupados de acuerdo a su
contexto gramatical.
10. 3. Buscando asociaciones entre los términos extraídos.
En este paso se toma la taxonomía generada en el segundo
paso como entrada y se enriquece por la asociación general
entre los términos extraídos
La idea esta tomada desde la minería de datos. El texto se
considera como una transacción de una base de datos.
Después del ultimo paso obtenemos una aplicación inicial del
modelo del dominio, representada como un árbol binario
relacionado entre esos términos.
11. Reglas que se deben
seguir:(1)
Utilice siempre el mismo nombre para el mismo concepto.
Utilice siempre la forma completa en el caso de nombres
compuestos, es decir, "dejar mensaje o iniciar
mensaje "en lugar de" detener o iniciar mensaje ".
12. Reglas que se deben seguir:(2)
No utilizar los verbos “be" y “have“.
No utilizar las referencias cruzadas de una frase como
Mensaje X es enviada a la unidad Y
13. Proceso escalable??
EL proceso tendrá la capacidad de ser extendido sin perder
calidad?
Esto nos ha permitido identificar los pasos que requieren
mucho tiempo que potencialmente no escalan:
14. 1°. Preparación del documento
Este paso en textos pequeños es muy fácil y rápido ya que se
requiere que el formato de texto contenga una sola frase por línea.
Un día de trabajo manual
15. 2° Análisis y extracción de
información.
Extraer el predicado, el sujeto y los objetos de cada frase.
Con esto se obtuvo que había un problema adicional con el
texto que contiene frases incompletas e incorrectas
gramaticalmente:
Ejemplo:
Si la corriente de alta velocidad-V <30 km
16. 3°. Fraseo de Listas y Tablas:
Resultó que las listas y las tablas fueron la principal fuente
de frases incompletas, ya que la relación entre los conceptos
no tienen una estructura gramaticalmente.
Hasta este punto 2.5 días de trabajo manual.
17. 4°. Taxonomía de extracción
Se refiere a encontrar conceptos clasificados, esto produjo
muchos problemas ya que se utilizan los mismos conceptos
para denotar diferentes términos:
Para esto se usaron 1.5 días.
Hasta este punto 4 días de trabajo manual.
18. 4.5 Asociación de la Mineria
KAON
Es OpenSource
Creación y mantenimiento de ontologías, utilizada por
aplicaciones de negocios.
(Dl Workbench, OilEd, OntoEdit, Protege)
19. Ontología.- formulación de un esquema conceptual
dentro de uno o varios dominios dados; con la finalidad
de facilitar la comunicación e intercambio de
información entre diferentes sistemas . Analogía
Campos de aplicación : IA y la representación del
conocimiento
20. Se hizo un análisis por sentencia, y se identificaron las
palabras más comunes.
El resultado fueron mas de 1000 asociaciones potenciales.
Después se ordenaron lexicalmente.
21. Para construir la ontología se tomaron en
cuenta las asociaciones donde la frecuencia
absoluta >=5.
Es decir, pares de conceptos que
aparecieran 5 o más veces en la misma
sentencia. Se redujo a un 25% de las
asociaciones.
Tiempo para validar manualmente éstas
asociaciones : 1
Días utilizados hasta esta etapa: 5
22. 4.6 Caso de Estudio tablero de
mandos
Se verifico que si la forma de extraer la ontología para documentos
grandes todavía funcionaba y si se justificaba el tiempo de utilizado.
23.
24. En el esquema anterior se puede observar las ontologías extraídas.
(kaon:Root) es la mayor, sus subclases y las relaciones entre ellas.
Se muestras relaciones ; is a – con la línea de grosor variable.
Cajas blancas: denotas conceptos y clases de conceptos.
Cajas obscuras: son propiedades/asociaciones
25. Las fechas le dan sentido para formar oraciones.
El otro objetivo del instrument cluster case study, era testear la
escalabilidad del acercamiento.
Se extrajeron los conceptos y las asociaciones; además se corrigieron
inconsistencias. Y los 5 días de trabajo, para un documento de 80
hojas estuvo justificado
26. En resumen
El objetivo es definir/extraer de un documento las palabras
(ontología) más utilizadas por el experto del dominio o el usuario
final para que el tanto el éste como el desarrollador de software
puedan definir un lenguaje en común entre ambas partes.
Un requerimiento mal formado es ambiguo e impreciso.
27. Formar una ontología
Lo primero que se debe de hacer es la extracción de términos (se
etiquetan con las partes del discurso (Parts of Speech) que suman
nueve en total, siendo los verbos quienes se utilizan para clasificar a
los sujetos y a los objetos),
28. Construir la taxonomía (la herramienta ASIUM para
realizar la clasificación de los términos) para
finalmente encontrar las asociación existente entre
los términos que fueron extraídos (se genera un
árbol con los términos y sus relaciones entre ellos).
29. Reglas del Texto
Usar siempre el mismo nombre para el mismo concepto. (Como por
ejemplo, en nuestro proyecto del auto inteligente, hubo ocasiones que
nos referiamos al carro como: carro o automovil, lo cual no es
recomendable).
En el caso de nombres compuestos, utilizar de preferencia con un
guión “mode-normal”. (En el idioma inglés, es más frecuente que en el
español encontrarse con éste tipo de compound names, es decir son
términos o cosas que se componen de dos palabras). Siempre utilizar
la forma completa de los compound names: “detener mensaje o iniciar
mensaje” en lugar de utilizar “detener o iniciar mensaje”
30. No utilizar los verbos “be” and “have”. Ya que no proveen mucha
información para lector humano y para la computadora crea
muchos conceptos que no se relacionan. Pero sí se pueden utilizar
en los casos de la forma pasiva o de sentencias en perfect (como
el present perfect, el perfect continuos, past perfect).
Lo que sigue en el trabajo de extración es poner las oraciones de
una por línea. Y aunque existen herramientas para éste
procedimiento, los investigadores dicen que se da mejor resultados
sí se hace manualmente.
Después se tiene que sacar las asociaciones y se puedan declarar
los términos con mayor frecuencia para formar el árbol con la
ontología extraída y una relación entre ellos. Para lo cual existe
una nomenclatura que incluyen flecha, cajas blancas , cajas
negras.