fonaments de processament del llenguatge natural 13305 – lingüística - upf
DESCRIPTION
FONAMENTS DE PROCESSAMENT DEL LLENGUATGE NATURAL 13305 – Lingüística - UPF. [email protected] 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. - PowerPoint PPT PresentationTRANSCRIPT
N.Bel - FPLN
FONAMENTS DE PROCESSAMENT DEL LLENGUATGE NATURAL
13305 – Lingüística - UPF
FONAMENTS DE PROCESSAMENT DEL LLENGUATGE NATURAL
13305 – Lingüística - UPF
Sessió 2
N.Bel - FPLN
Processament del Llenguatge NaturalProcessament del Llenguatge Natural
Processar es 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...}
N.Bel - FPLN
Tema 2Tema 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
N.Bel - FPLN
Processament del Llenguatge NaturalProcessament 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ó)
N.Bel - FPLN
Els motsEls 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
N.Bel - FPLN
Coneixements i instruccionsConeixements 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 algorismeSi tenim un algorisme, podem tenir una màquina (Turing, 1936)
N.Bel - FPLN
A. TuringA. 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
N.Bel - FPLN
Algorisme per reconèixer paraulesAlgorisme per reconèixer paraules
Coneixement al diccionari “guapa” és una paraula.Algorisme (seqüència ordenada de preguntes i accions):1. estàs a un caràcter en blanc.2. el següent caràcter és una ‘g’?
• no, ja saps que no és una paraula• sí, pots avançar un pas
3. el següent caràcter és una ‘u’?• no, ja saps que no és una paraula• sí, pots avançar un pas
N.Bel - FPLN
Per reconèixer: ‘guapa’Per reconèixer: ‘guapa’
0 1 2 5
g u a
3 4
pa
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ó
Estatfinal
Estatinicial
transicions
N.Bel - FPLN
Taula d’estats de transicions:si estem al estat 0 i veig l’input ‘g’ anem a 1
Taula d’estats de transicions:si estem al estat 0 i veig l’input ‘g’ anem a 1
INPUT
Estat g u a p a
0 1 0 0 0 0
1 0 2 0 0 0
2 0 0 3 0 0
3 0 0 0 4 0
4 0 0 0 0 5
5: 0 0 0 0 0
N.Bel - FPLN
Autòmat d’estats finitsAutò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’.
N.Bel - FPLN
Definició formalDefinició 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, F Q (és un subconjunt)
(q,i) és la funció de transició o la matriu de transició entre estats. Donat un estat q Q i un símbol de l’ínput i Σ, la función (q,i) dóna com a resultat (retorna) un nou estat q’ Q.
N.Bel - FPLN
Per al nostre autòmatPer 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
N.Bel - FPLN
Autòmats deterministes i no deterministes
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.
N.Bel - FPLN
Autòmat no deterministaAutòmat no determinista
0 1 2 5
g u a
3 4
pa
a
• Altra tipus d’autòmat no determinista són els que tenen arcs sense símbol que es diuen “transicions epsilon” o “transicions-ε “
• guaaaaapa
N.Bel - FPLN
Exploració i complexitat en autòmats no deterministes
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
N.Bel - FPLN
El millor d’un autòmat ésEl 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
N.Bel - FPLN
1,2,3 probando ...1,2,3 probando ...
Quines són legals: guapa, guaapa, guaaapa, guaaaaaaaaaapa, gupa?
0 1 2 5
g u a
3 4
pa
a
N.Bel - FPLN
El millor d’un autòmat ésEl 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
N.Bel - FPLN
Expressions RegularsExpressions 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:
N.Bel - FPLN
Operadors d’Expressions RegularsOperadors d’Expressions Regulars
. 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
N.Bel - FPLN
/^[a-z]*$/
/1|2.?[0-9]{3}/
/.*sz.*/