ANÁLISIS SEMÁNTICO DIRIGIDO POR LA SINTAXIS. El análisis semántico de oraciones se encarga de representar o ilustrar el significado abstracto de las oraciones. “El análisis semántico es el proceso de relacionar estructuras sintácticas (frases, cláusulas, oraciones, texto) con sus significados independientes del lenguaje” (Brkić & Matetić, 2019). “Las representaciones de significado se presentarán en First Order Predicate Calculus, un lenguaje de representación de significado flexible y bien entendido” (Brkić & Matetić, 2019). Datos proporcionados: Oración a analizar: “Martha owns a cheap restaurant” Gramática libre de contexto. Lexicón o diccionario gramatical. Lenguaje Libre de Contexto Reglas gramaticales Forma - FOL (Logica de Primér Orden+Notación ) S → NP VP NP.sem(VP.sem) NP → Det Nominal Det.sem(Nominal.sem) NP → ProperNoun ProperNoun.sem Nominal → Noun Noun.sem Nominal → Adj Nominal n Nominal.sem(n)^Isa(n,Adj.sem) VP → Verb Verb.sem VP →Verb NP Verb.sem(NP.sem) Lexicón o diccionario gramatical. ( - FOL) Det a {P.Q.∃xP(x) ^Q(x)} Noun restaurant {r.Restaurant(r)} ProperNoun Martha {m.m(Martha)} Verb owns {w.z.w(x.∃e Own(e) ^Owner(e, z) ^OwnedThing(e,x))} Adj cheap {Cheap} Solución: Se realiza el análisis semántico de la oración mediante el Cálculo del predicado de Lógica de Primer Orden (First Order Logic Predicate Calculus---FOLPC) Paso 1. Árbol Sintáctico. Árbol sintáctico: S:(NP:(ProperNoun: Martha), VP:(Verb:owns,NP:(Det:a,Nominal:(adj:cheap,Nominal:(restaurant))))) Paso 2. Construcción de Leyes semánticas (Semantic Attachments) basadas en el árbol de análisis sintáctico de la oración “Martha owns a cheap restaurant”: 1. NP.Sem(VP.Sem) = ProperNoun.Sem(Verb.Sem(NP.Sem)) 2. Martha.Sem(owns.Sem(Det.Sem(NP.sem))) 3. Martha.Sem(owns.Sem(a.Sem(n Nominal.sem(n) ^Isa(n,Adj.sem)))) 4. Martha.Sem(owns.Sem(a.Sem(n restaurant.Sem(n) ^Isa(n,cheap.sem))) Árbol Semántico Paso 3. Representación Lambda-First Order Logic ( - FOL) basado en las leyes semánticas propuestas: (m.m(Martha))(m.i.m(j.∃e Own(e) ^Owner(e, i) ^OwnedThing(e,j))( P.Q.∃xP(x) ^Q(x)) (∃r.(r, Restaurant) ^AdjectiveModifier (r, Cheap)) Paso 4. Reducción de Lambda (- Reduction) 1. Nominal → Adj Nominal Aplicando la regla gramatical: Nominal → Adj Nominal{n Nominal.sem(n)^Isa(n,Adj.sem)} n Nominal.sem(n)^Is-a(n,Adj.sem) λx Nominal.sem(x) ^ AM (x, Adj.sem) ∃x Is-a(x,Nominal.sem) ^ AM (x,Adj.sem) (Jurafsky & Martin, 2000) Reemplazando r.Restaurant(r) y cheap en la premisa. r restaurant(r)^Is-a (r, cheap) 2. NP → Det Nominal Det.sem(Nominal.sem) P.Q.∃xP(x) ^Q(x) ·r restaurant(r)^Is-a (r, cheap) P se elimina y P se substitye por Nominal =r restaurant(r)^Is-a (r, cheap) Q.∃x· (r (r, Restaurant) ^Is-a (r, Cheap) (x)^Q(x)) Se reemplaza la variable r por x, se elimina r de la expresión. Q. ∃x (r, Restaurant) ^AM (r, Cheap) (x)^Q(x) 3. VP →Verb NP Verb.sem(NP.sem) w.z.w(x.∃e Own(e) ^Owner(e, z) ^OwnedThing(e,x)) (Q.∃x(r, Restaurant) ^AM (r, Cheap) (x) ^Q(x)) La variable w se substituye por el valor del argumento NP.sem, w se elimina. z.(Q.∃x (r, Restaurant) ^AM (r, Cheap) (x) ^Q(x) x.∃e Own(e) ^Owner(e, z) ^OwnedThing(e,x) Todo el argumento de w reemplaza a la primera variable de la expresión w, es decir a la variable Q, q se elimina. z ∃x (r, Restaurant) ^AM (r, Cheap) (x) ^ x.∃e Own(e) ^Owner(e, z) ^OwnedThing(e,x) (x) X es el argumento de Q. Reemplazamos la primera variable de la expresión Q, es decir, variable x por el argumento que es x , se elimina x. z. ∃x (r, Restaurant) ^AM (r, Cheap) (x) ^∃e Own(e) ^Owner (e, z) ^OwnedThing (e, x) 4. S → NP VP S=NP.sem(VP.sem) m.m(Martha)(z. ∃x (r, Restaurant) ^AM (r, Cheap) (x) ^ ∃e Own(e) ^Owner (e, z) ^OwnedThing (e, x)) La variable m se substituye por el valor del argumento SV.sem. z. ∃r (r, Restaurant) ^AM (r, Cheap) (x) ^ ∃e Own(e) ^Owner (e, z) ^OwnedThing (e, x) (Martha) Marta es el argumento de la expresión m. Por lo que se substituye la variable z por Marta, también se elimina z. R/. ∃x (r, Restaurant) ^AM (r, Cheap) (x) ^ ∃e Own(e) ^Owner (e, Martha) ^OwnedThing (e, x) Representación del significado de la oración: ∃x (r, Restaurant) ^AM (r, Cheap) (x) ^ ∃e Own(e) ^Owner (e, Martha) ^OwnedThing (e, x) Conclusiones: Representar o ilustrar el significado de una oración mediante el análisis semántico requiere convertir las gramáticas libres de contexto a alguna forma de lenguaje que permita relacionar todas las palabras de la oración entre sí. Esto es poco práctico si no se tiene en cuenta la sintaxis de la oración. Utilizar el modelo de representación de Lógica de primer órden con notación Lambda genera un modelo que relaciona efectivamente todas las palabras de la oración permitiendo revelar matemáticamente el significado abstracto de la oración de manera eficaz. Glosario: “Lambda”: En cálculo lambda y lenguajes de programación, es la notación usada para definir funciones cuyo resultado es parte de otra función. S ”Sentence”: Sentencia, oración. ∃ “Existe”: Cuantificador Existencial. Existencial de una o mas variables. Is-a “Is a subclass from another class”: Indicación de subconjunto dentro de un conjunto. AM “Adjective Modifier”: Adjetivo modificador. ^: Operador Conjunción lógica. Bibliografía: 1. Jurafsky, D., & Martin, J. (2000). Speech and language processing (1st ed., pp. 547 - 573). Upper Saddle River, N.J.: Prentice Hall. 2. Brkić, M., & Matetić, M. (2019). A State of the Art Technique in Semantic Analysis of Natural Language Utterances (Pregrado). Department of Informatics - Faculty of Arts and Science University of Rijeka.