Fragmentation
Transfert superficiel[edit]
Le transfert superficiel signifie qu'il n'y a pas d'arbre d'analyse (qui sont utilisés dans le "transfert profond"). Mais alors comment va se produire la réorganisation de la phrase ?
Par fragmentation (en trois étapes): D'abord on réordonne les mots dans le fragment, ensuite on réordonne les fragments.
- D'abord, on reconnaît les modèles d'expression, comme adjectif + nom ou adjectif + adjectif + nom
- pour cela, on fabrique un 'pseudo lemme', avec une balise contenant le type - normalement 'SN' (groupe nominal) or SV (groupe verbal)
- ensuite, on traduit par rapport à ces pseudo mots en décomposant la langue jusqu'à ses constituants essentiels, fondamentalement
Fragmentation expliquée[edit]
Nos règles sont basées sur les modèles de la langue source; on a besoin d'utiliser la fragmentation pour par exemple la paire anglais-espéranto, donc la première tâche est d'identifier ces modèles.
the man sees the girl (l'homme voit la fille)
Fragmentation :
SN(the man) SV(sees) SN(the girl)
(Normalement, en anglais ce sont 'NP' et 'VP' respectivement pour 'groupe nominal' et 'groupe verbal', mais nous nous en tiendrons à la convention établie pour apertium)
Deux règles sont nécessaires pour faire ces fragments : plus tard, d'autres règles de fractionnement peuvent être reconnues 'the tall man' (l'homme grand) 'my favourite Spanish friend' (mon ami espagnol favori) 'the prettiest Polish girl' (la plus jolie fille polonaise) etc. comme SN; 'was going' (allait), 'had been going (était allé)', 'must have been going' (doit être allé) comme SV. On considère d'abord ces modèles séparément, mais le marquage des fragments avec n'importe quelle information sera utile plus tard.
Ainsi, les fragments sont normalement given(?) un 'pseudo lemme' qui reconnaît le modèle qui les reconnaît (?) ('the man' (l'homme), 'my friend' (mon ami) seront mis dans un fragment appelé 'det_nom', etc.), la première balise rajoutée est le type de phrase; ensuite, les balises qui sont nécessaires dans le prochain ensemble de règles. Essentiellement, nous traitons les fragments de phrase de la même manière que l'analyseur morphologique traite les formes de surface.
Donc, en prenant 'big cat', on obtiendrait :
^adj_nom<SN><sg><CD>{^granda<ad><2><3>$ ^kato<n><2><3>$}$
Les nombres dans les balises lemme (ici <2><3>) signifient 'prendre l'information de la balise de fragment numéro #'. CD signifie 'Cas à déterminer (ce n'est pas complètement spécifié, comme le sont GD (genre à déterminer) et ND (nombre à déterminer), mais c'est celui qui est logique d'utiliser).
Donc, avec un simple SN SV SN, on peut avoir une règle qui fournit les mêmes choses dans le même ordre, mais change le 'CD' du SN numéro 1 en 'nom', et du SN numéro 2 en 'acc'.
Exemple[edit]
I saw a signal
devient après un balisage de disambiguisation
^prpers<prn><subj><p1><mf><sg>$ ^see<vblex><past>$ ^a<det><ind><sg>$ ^signal<n><sg>$.
qui est transféré et fragmenté en
^prnpers<SN><p1><mf><sg>{^prpers<prn><subj><2><3><4>$}$ ^verb<SV><past>{^vidi<vblex><past>$}$ ^nom<SN><sg><nom>{^signalo<n><2><3><4>$}$.
et transformé par la règle SN SV SN<nom> -> SN SV SN<acc>
^prnpers<SN><p1><mf><sg>{^prpers<prn><subj><2><3><4>$}$ ^verb<SV><past>{^vidi<vblex><past>$}$ ^nom<SN><sg><acc>{^signalo<n><2><3><4>$}$.
Notez comment le fragment possède maintenant les balises nom<SN><sg><acc> et donc ^signalo<n><2><3><4>$ obtient ces balises lors de la défragmentation :
^prpers<prn><subj><p1><mf><sg>$ ^vidi<vblex><past>$ ^signalo<n><sg><acc>$.
Voir aussi[edit]
- Fragmentation : un exemple complet
- Format_du_flux_Apertium#Fragments
- Préparation pour utiliser les outils de transfert
- English and Esperanto
Liens externes[edit]
- Wikipedia
- Fragmentation (Boite à outils en langage naturel)
- Fragmenteur CRF (Fragmenteur conditionnel des champs aléatoires d'une phrase anglaise)
- JTextPro (Une boite à outils basée Java pour le traitement de textes)