2011-04-22 23 views
17

Las URL en su archivo 'readme' no son válidas (http://www.fjoch.com/mkcls.html y http://www.fjoch.com/GIZA++.html). ¿Hay un buen tutorial sobre giza ++? ¿O hay algunas alternativas que tienen documentación completa?¿Hay algún tutorial sobre giza ++?

+0

segundo enlace está muerto. La pregunta es un tanto argumentativa (¿qué es un "buen" tutorial?), También. Deberías tratar de mejorarlo antes de que se cierre. – 0xC0000022L

+0

Ambos enlaces están muertos ... – alvas

+0

Consulte http://stackoverflow.com/questions/21955792/is-there-a-proper-installation-guide-for-giza-on-ubuntu/43274827#43274827 – alvas

Respuesta

36

El siguiente es un extracto de un tutorial Estoy armando para una clase. Publicaré un enlace cuando tenga algo más. (Nota: Esto supone que haya instalado correctamente GIZA ++ - v2 en un sistema * nix.)


1) Comience con dos ficheros de datos que contiene frases paralelas, una frase por línea. Por ejemplo, un par de archivos paralelos inglés-francés podrían leerse de la siguiente manera.

muestra 1 - train.en

I gave him the book . 
He read the book . 
He loved the book . 

Muestra 2 - train.fr

Je lui ai donne/ le livre . 
Il a lu le livre . 
Il aimait le livre . 

2) Ejecutar estos archivos a través de plain2snt.out para obtener archivos de vocabulario de origen y destino (.vcb), así como un archivo de par de oraciones ( .snt).

Desde el directorio GIZA ++, ejecute:

./plain2snt.out TEXT1 TEXT2 

donde TEXTO1 y TEXTO2 son los archivos de datos que se describen en el paso 1.

Esto produce cuatro archivos en el mismo directorio que TEXTO1 y TEXTO2 (suponiendo que se encuentran en el mismo directorio):

  • TEXT1_TEXT2.snt
  • TEXT1.vcb
  • TEXT2_TEXT1.snt
  • TEXT2.vcb

Los archivos de vocabulario contienen una (entero) de identificación único para cada palabra en el texto (NB: No tokens/lematizadas), la palabra/cuerda, y el número de veces que ocurrió la secuencia. Estos están separados por un solo carácter de espacio.

Los archivos de frases contienen números. Para cada par de oraciones, hay tres líneas: la primera es un recuento del número de veces que el par de oraciones aparece en el corpus y el segundo y el tercero son una serie de números (separados por espacios) correspondientes a las entradas de palabras en el archivos de vocabulario Según la convención de nomenclatura para archivos * .snt, se supone que el primer archivo es el origen, y el segundo se supone que es el idioma de destino. Por ejemplo, en el archivo TEXT1_TEXT2.snt, la primera línea contará el número de veces que se produjo el primer par de frases en el corpus, la segunda línea será una cadena de números correspondiente a las palabras en el archivo TEXT1.vcb , y la tercera línea será una cadena de números correspondiente a palabras en el archivo TEXT2.vcb.

(NB: hay ejemplos de este formato en http://code.google.com/p/giza-pp/issues/attachmentText?id=8&aid=697742396599277757&name=README-rst&token=40fba3d449abc12366b98b04cfe7dbc1.)

3) Ahora TEXT1.vcb, TEXT2.vcb y cualquiera de los dos archivos * .snt se pueden utilizar como entrada a GIZA ++ para producir una alineación.

Por ejemplo:

./GIZA++ -s TEXT1.vcb -t TEXT2.vcb -c TEXT1_TEXT2.snt 

Pero tenga en cuenta que cuando intenté funcionar esto, tuve que cambiar el nombre de TEXT1_TEXT2.snt a algo sin un guión bajo en el nombre con el fin de conseguir cualquier salida adecuada.

+1

gracias por su respuesta tan larga y completa! :) –

+11

Si tiene un error como: "ERROR: NO SE PRESENTÓ ARCHIVO DE COOCURRENCIA ! ", debe producir un archivo de coocurrencia con" snt2cooc.out train.en.vcb train.fr.vcb corpus.snt> cooc.cooc "y luego ejecutar" GIZA ++ -S train.en.vcb -T train.fr .vcb -C corpus.snt -CoocurrenceFile cooc.cooc " –

1
Cuestiones relacionadas