230 likes | 364 Views
FONAMENTS DE PROCESSAMENT DEL LLENGUATGE NATURAL 13305 – Lingüística - UPF. nuria.bel@upf.edu Sessió 2. Processament del Llenguatge Natural. Processar es reconèixer elements i assignar-los una representació per tal de poder manipular-los i prendre decisions.
E N D
FONAMENTS DE PROCESSAMENT DEL LLENGUATGE NATURAL13305 – Lingüística - UPF nuria.bel@upf.edu Sessió 2
Processament del Llenguatge Natural • Processares reconèixer elements i assignar-los una representació per tal de poder manipular-los i prendre decisions. • Una representació és informació explícita sobre l’ítem lingüístic: {mot, sintagma, sentit, flexió, complements, etc...}
Tema 2 2. Les paraules • Identificació d’unitats: els mots, plantejament del problema • Autòmats i Expressions Regulars, eines per mecanitzar la tasca de reconèixer mots
Processament del Llenguatge Natural • Processament = reconeixement i identificació dels ítems lingüístics. • Com podem reconèixer les paraules? Coneixement i instruccions • Com podem construir una màquina (programa) que les reconegui? Tècniques i implementació (formalització en un llenguatge de programació)
Els mots • Seqüència de caràcters • Unitat significativa d’una llengua (definició d’anar per casa...) • Distingir les paraules de les no-paraules • casa • scaa
Coneixements i instruccions • On està el coneixement sobre els mots d’una llengua? • Hem de poder comparar la seqüència de caràcters de la qual volem decidir si és una paraula o no, amb les paraules que tenim en un diccionari (lèxic) • La tasca esdevé comparar: • el que vull verificar • amb el que tinc declarat i si fem que la única resposta possible sigui “si/no” tindrem un algorisme • Si tenim un algorisme, podem tenir una màquina (Turing, 1936)
A. Turing • Màquina Universal Es pot fer una màquina per resoldre qualsevol problema sempre que puguis fer una descripció algorítmica de la solució i tinguis una memòria infinita
Algorisme per reconèixer paraules • Coneixement al diccionari “guapa” és una paraula. • Algorisme (seqüència ordenada de preguntes i accions): • estàs a un caràcter en blanc. • el següent caràcter és una ‘g’? • no, ja saps que no és una paraula • sí, pots avançar un pas • el següent caràcter és una ‘u’? • no, ja saps que no és una paraula • sí, pots avançar un pas
g u a p a 0 1 2 3 4 5 Per reconèixer: ‘guapa’ transicions Estat inicial Estat final Estàs a ‘0’ i has d’arribar a ‘5’ o has fallat! Solament pots pasar d’un estat a un altre si coincideix el caracter que tens a la cinta amb el que etiqueta la transició
Taula d’estats de transicions:si estem al estat 0 i veig l’input ‘g’ anem a 1
Autòmat d’estats finits • És un model de la resolució d’un problema • El podem representar com un graf dirigit: • un conjunt de nusos • un conjunt de fletxes entre parells de nusos a les que anomenem ‘arcs’.
Definició formal • Q és un conjunt finit de N estats q0, q1, ...., qN • Σ es un alfabet finit de símbols d’entrada • q0 és l’estat inicial • F es el conjunt d’estats finals, FQ (és un subconjunt) • (q,i) és la funció de transició o la matriu de transició entre estats. Donat un estat qQ i un símbol de l’ínput iΣ, la función (q,i) dóna com a resultat (retorna) un nou estat q’Q.
Per al nostre autòmat • Q = {q0, q1, q2, q3, q4, q5} • Σ = {g,u,a,p} • F = {q5} • (q,i) és la taula de transició d’estats
Autòmats deterministes i no deterministes • Parlem d’autòmat determinista perquè no té possibles eleccions • És no determinista quan hi ha més d’una possible sortida d’un nus.
g u a p a 0 1 2 3 4 5 a Autòmat no determinista • guaaaaapa • Altra tipus d’autòmat no determinista són els que tenen arcs • sense símbol que es diuen “transicions epsilon” o “transicions-ε “
Exploració i complexitat en autòmats no deterministes • Hem d’assegurar-nos que troba el camí correcte. Hi ha vàries tècniques: • backtracking (desfer el camí): hem de deixar un índex d’on estem • look-ahead (mirar el context) • en paral·lel, però la més usada és la primera
El millor d’un autòmat és • Defineix un conjunt de cadenes: les reconeix i les pot generar: • {guapa,guaaapa,guaaaaapa} defineix condicions de ‘bona formació’: totes aquelles que hem declarat com a legals
g u a p a 0 1 2 3 4 5 a 1,2,3 probando ... • Quines són legals: guapa, guaapa, guaaapa, guaaaaaaaaaapa, gupa?
El millor d’un autòmat és • Defineix un conjunt de cadenes: les reconeix i les pot generar: • {guapa,guaaapa,guaaaaapa} defineix condicions de ‘bona formació’: totes aquelles que hem declarat com a legals • És un llenguatge formal per definir un llenguatge d’expressions infinites mitjançant un nombre finit d’elements
Expressions Regulars • És un llenguatge formal equivalent al llenguatge d’estats finits: es poden fer expressions que defineixen el mateix conjunt de cadenes. • /gua+pa/ És totalment equivalent? A quin autòmat podria correspondre? • Altres operadors són:
.qualsevol caràcter [...]llistes de caràcters [...-...]conjunt definit de caràcters [^...]qualsevol caràcter que no sigui aquest [^...-...]qualsevol caràcter que no estigui en aquest conjunt .*qualsevol seqüència de caràcters ...| ...disjunció: o ^començament de línia $final de línia *zero o més de l’expressió anterior +una o més ?o zero o 1 exactament {n}n vegades {n,m} de n a m vegades {n, } al menys n vegades (...)agrupament, memòria Operadors d’Expressions Regulars
/^[a-z]*$/ /1|2.?[0-9]{3}/ /.*sz.*/