Módulo de procesamiento de expresiones separables
Módulo de procesamiento de expresiones separables apertium-sep (Separable Expression Processing).
Se trata de añadir un módulo al traductor que permita tratar más fácilmente las expresiones separables de algunas lenguas. En particular, servirá para identificar y tratar de forma sistemática los “phrasal verbs” del inglés, pero también otras construcciones de otras lenguas.
Localización[edit]
Hay dos alternativas:
- Tras el módulo pretransfer y antes del módulo transfer. Antes, por tanto, de la transferencia léxica.
- Se ve como una generalización del módulo pretransfer, y su funcionamiento por defecto con un fichero de especificaciones vacío es idéntico al del pretransfer. Tiene sentido porque los problemas que se resuelven son de la misma naturaleza.
- Entrada
Texto procedente del pretransfer, es decir, texto etiquetado y con las unidades léxicas separadas.
- Salida
Texto con las unidades separables unidas, y las partículas centrales pasadas a la derecha (después) de las nuevas unidades separables unidas.
Algunos ejemplos:
Entrada | Salida |
---|---|
take the cat out | take_out the cat |
put you out | put_out_1 out |
put the cat out | put_out_2 the cat |
Especificación[edit]
La especificación del módulo se hará en un fichero XML con los patrones detectados y cuál será la forma unida de la expresión separable.
Ejemplo (tentativo):
<sep> <declarations> <sequence-decl n="pronoun"> <word tags="prn.*"/> </sequence-decl> <sequence-decl n="SN1"> <word tags="det.*"/> <word tags="adj.*"/> <word tags="n.*"/> <sequence-decl> <list-decl n=”verbs_out”> <word lemma=”take” tags=”vblex.*”/> <word lemma=”put” tags=”vblex.*”/> <!-- ... --> </list> </declarations> <expressions> <expression name="take out 1" output="take_out"> <list n="verbs_out”/> <sequence n="SN1"/> <word lemma="out" tags="adv.*"/> </expressions> </sep>
Observaciones[edit]
- Se entiende que las etiquetas de la forma unida de la expresión separables son las de la primera palabra por defecto.
- Las secuencias se copian al final, por orden.
- Si se entiende que es una generalización del pretransfer, para el resto del texto se entiende que funciona igual que funcionaba el pretransfer. Una sección “expressions” vacía implica que el módulo funciona igual que el antiguo pretransfer.
- En las
<declarations>
, se pueden anidar infinitamente<list-decl>
con<sequence-decl>
.
Preguntas[edit]
- Que vamos a hacer con expresiones "embedded", tipo:
- "Take the one that broke it apart away"
- Take away the one that break apart it.