Difference between revisions of "Fragmentation"

From Apertium
Jump to navigation Jump to search
(Début de traduction)
 
(Lien page anglaise)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
  +
[[Chunking|In English]]
  +
 
== Transfert superficiel ==
 
== Transfert superficiel ==
   
Line 25: Line 27:
 
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.
 
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.
   
So the chunks are normally given a 'pseudo lemme' that matches the pattern that matched them ('the man', 'my friend' will be put in a chunk called 'det_nom', etc.), the first tag added is the phrase type; after that, tags that are needed in the next set of rules.
+
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 [[forme de surface|formes de surface]].
Essentially, we're treating phrase chunks in the same way that the morphological analyser treats lexemes ('surface forms').
 
   
Donc, en premant 'big cat', on obtiendrait :
+
Donc, en prenant 'big cat', on obtiendrait :
 
<pre>
 
<pre>
 
^adj_nom<SN><sg><CD>{^granda<ad><2><3>$ ^kato<n><2><3>$}$
 
^adj_nom<SN><sg><CD>{^granda<ad><2><3>$ ^kato<n><2><3>$}$
 
</pre>
 
</pre>
   
The numbers in the lemma tags (here <2><3>) mean 'take the information from chunk tag number #'. CD means 'Case to be Determined (it's not fully established, as GD and ND are, but it's the logical one to use).
+
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).
   
So, with a simple SN SV SN, we can have a rule that outputs the same things in the same order, but changes the 'CD' of SN number 1 to 'nom', and of SN number 2 to 'acc'.
+
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 ==
 
== Exemple ==
Line 43: Line 45:
 
</pre>
 
</pre>
   
  +
devient après un balisage de disambiguisation
becomes after tagger disambiguation
 
 
<pre>
 
<pre>
 
^prpers<prn><subj><p1><mf><sg>$
 
^prpers<prn><subj><p1><mf><sg>$
Line 51: Line 53:
 
</pre>
 
</pre>
   
  +
qui est transféré et fragmenté en
which is transfered and chunked into
 
 
<pre>
 
<pre>
 
^prnpers<SN><p1><mf><sg>{^prpers<prn><subj><2><3><4>$}$
 
^prnpers<SN><p1><mf><sg>{^prpers<prn><subj><2><3><4>$}$
Line 58: Line 60:
 
</pre>
 
</pre>
   
and transformed by rule SN SV SN<nom> -> SN SV SN<acc>
+
et transformé par la règle SN SV SN<nom> -> SN SV SN<acc>
 
<pre>
 
<pre>
 
^prnpers<SN><p1><mf><sg>{^prpers<prn><subj><2><3><4>$}$
 
^prnpers<SN><p1><mf><sg>{^prpers<prn><subj><2><3><4>$}$
Line 64: Line 66:
 
^nom<SN><sg><acc>{^signalo<n><2><3><4>$}$.
 
^nom<SN><sg><acc>{^signalo<n><2><3><4>$}$.
 
</pre>
 
</pre>
Note how the chunk has now tags nom<SN><sg><acc> and therefore ^signalo<n><2><3><4>$ gets these tags when unchunking:
+
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 :
 
<pre>
 
<pre>
 
^prpers<prn><subj><p1><mf><sg>$
 
^prpers<prn><subj><p1><mf><sg>$
Line 74: Line 76:
   
 
* [[Fragmentation : un exemple complet]]
 
* [[Fragmentation : un exemple complet]]
* [[http://wiki.apertium.org/wiki/Format_du_flux_Apertium#Fragments]]
+
* [[Format_du_flux_Apertium#Fragments]]
 
* [[Préparation pour utiliser les outils de transfert]]
 
* [[Préparation pour utiliser les outils de transfert]]
* [[anglais and Esperanto]]
+
* [[English and Esperanto]]
   
 
== Liens externes ==
 
== Liens externes ==
   
* [http://fr.wikipedia.org/wiki/Analyse_syntaxique_de_surface wikipedia]
+
* [http://fr.wikipedia.org/wiki/Analyse_syntaxique_de_surface Wikipedia]
* [http://nltk.googlecode.com/svn/trunk/doc/book/ch07.html Chunking] (Natural Language Toolkit)
+
* [http://nltk.googlecode.com/svn/trunk/doc/book/ch07.html Fragmentation] (Boite à outils en langage naturel)
* [http://crfchunker.sourceforge.net/ CRFChunker] (Conditional Random Fields anglais Phrase Chunker)
+
* [http://crfchunker.sourceforge.net/ Fragmenteur CRF] (Fragmenteur conditionnel des champs aléatoires d'une phrase anglaise)
* [http://jtextpro.sourceforge.net/ JTextPro] (A Java-based Text Processing Toolkit)
+
* [http://jtextpro.sourceforge.net/ JTextPro] (Une boite à outils basée Java pour le traitement de textes)
   
 
[[Category:Documentation]]
 
[[Category:Documentation]]

Latest revision as of 07:05, 8 October 2014

In English

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]

Liens externes[edit]