Procesamiento del Lenguaje
Natural para la Ingeneria de
Requerimientos:
Aplicabilidad para
documentos largos
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.
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.
 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-
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.
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.
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.
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.
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.
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.
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 ".
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
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:
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
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
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.
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.
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)
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
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.
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
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.
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
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
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.
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),
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).
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”
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.

Natural language processing

  • 1.
    Procesamiento del Lenguaje Naturalpara la Ingeneria de Requerimientos: Aplicabilidad para documentos largos
  • 2.
    Introducción Una clave primordialpara 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 afin -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. Afirmaque 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 losmé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 enfoquesintá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 defineuna 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 DELA 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 asociacionesentre 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 sedeben 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 sedeben 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??  ELproceso 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 deldocumento  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 yextracció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 deListas 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 deextracció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 dela 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 deun 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 unaná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 laontologí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 deEstudio 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.
  • 24.
    En el esquemaanterior 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 ledan 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 objetivoes 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 Loprimero 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 Usarsiempre 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 losverbos “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.