| Linguateca - 2006. |
Versão para impressão |
|
O presente texto tem como objectivo apresentar o programa que foi elaborado para seleccionar a Alternativa que será considerada na avaliação final. Como já foi referido, quando não existiu consenso na etiquetagem de algumas das entidades na CD optou-se por representar explicitamente todas as possibilidades de etiquetagem relevantes. Como tal, é necessário escolher das alternativas de etiquetagem colocadas na CD qual a que melhor se aproxima da saída do sistema a ser avaliado. Foi preocupação da organização tentar escolher a alternativa que contribuísse favoravelmente para a classificação final do sistema.
Assim sendo, os critérios levado em conta para a selecção da alternativa foram dois (o segundo aplicando-se como critério de desempate):
Convém ainda referir que a medida-f é uma medida que toma em consideração a precisão e a abrangência das entidades etiquetadas. Se porventura o sistema em causa não consegui etiquetar a entidade identificada na CD então iria obter uma medida-f de zero. Esta situação tornava difícil a escolha da ALT correcta quando contrastado com uma situação em que uma das alternativas não obrigava a etiquetação (1ª alternativa de exemplo anterior) porque também obtia uma medida-f de zero. Das várias possibilidades de resolução, obtou-se por introduzir em cada uma das alternativas um alinhamento correcto que garantia medidas-f superiores a zero e que não beneficiaria nenhum sistema em detrimento de outro.
Tomemos como exemplo uma situação em que a sequência de termos -- Governo PSD de Cavaco Silva -- foi etiquetada da seguinte forma na CD:
<ALT> Governo PSD de Cavaco Silva | <EM>Governo PSD de Cavaco Silva</EM> | <EM>Governo PSD</EM> de <EM>Cavaco Silva</EM> </ALT>
Imaginemos ainda que a mesma sequência de termos foi etiquetada por um qualquer sistema como:
<EM>Governo PSD de Cavaco Silva</EM>
A título de ilustração consideremos o seguinte conjunto de alinhamentos que corresponde à situação apresentada. De modo a facilitar a compreensão do processo de escolha da ALT, coloca-mos à frente de cada ALTn a respectiva pontuação em termos de precisão e abrangência utilizados para calcular a medida-f e também a pontuação do erro-combinado. Em cada alternativa colocou-se também o alinhamento fictício que garante medidas-f superiores a zero:
<ALT> <ALT1> Precisão=0.5 Abrangência=1.0 Medida_F=0.6666666666666666 Erro_Combinado=0.5 <ESPURIO>Governo PSD de Cavaco Silva</ESPURIO> ---> [<EM>Governo PSD de Cavaco Silva</EM>]:[Espúrio] <EM>fictício</EM> ---> [<EM>Fictício</EM>]:[Correcto] </ALT1> <ALT2> Precisão=1.0 Abrangência=1.0 Medida_F=1.0 Erro_Combinado=0.0 <EM>Governo PSD de Cavaco Silva</EM> ---> [<EM>Governo PSD de Cavaco Silva</EM>]:[Correcto] <EM>fictício</EM> ---> [<EM>Fictício</EM>]:[Correcto] </ALT2> <ALT3> Precisão=0.7 Abrangência=0.4666666666666666 Medida_F=0.5599999999999999 Erro_Combinado=0.5333333333333333 <EM>Governo PSD</EM> ---> [<EM>Governo PSD de Cavaco Silva</EM>]:[Parcialmente_Correcto_por_Excesso(0.2; 0.8)] <EM>Cavaco Silva</EM< ---> [<EM>Governo PSD de Cavaco Silva</EM>]:[Parcialmente_Correcto_por_Excesso(0.2; 0.8)] <EM>fictício</EM> ---> [<EM>Fictício</EM>]:[Correcto] </ALT3> </ALT>
Neste caso consideramos que a segunda alternativa (ALT2) como a mais favorável para o sistema, visto que tem o maior valor quando consideramos a medida-f. Por vezes é possível existirem empates nos valores produzidos pela medida-f, tal como exemplificado a seguir:
<ALT> <ALT1> Precisão=0.3333333333333333 Abrangência=1.0 Medida_F=0.5 Erro_Combinado=0.6666666666666666 <ESPURIO>Governo</ESPURIO> ---> [<EM>Governo</EM>]:[Espúrio] <ESPURIO>PSD</ESPURIO> ---> [<EM>PSD</EM>]:[Espúrio] <EM>fictício</EM> ---> [<EM>Fictício</EM>]:[Correcto] </ALT1> <ALT2> Precisão=0.4000000000000001 Abrangência=0.6000000000000001 Medida_F=0.48000000000000004 Erro_Combinado=0.6 <EM>Governo PSD de Cavaco Silva</EM> ---> [<EM>Governo</EM>, <EM>PSD</EM>]:[Parcialmente_Correcto_por_Defeito(0.1; 0.9), Parcialmente_Correcto_por_Defeito(0.1; 0.9)] <EM>fictício</EM> ---> [<EM>Fictício</EM>]:[Correcto] </ALT2> <ALT3> Precisão=0.5 Abrangência=0.5 Medida_F=0.5 Erro_Combinado=0.625 <EM>Governo PSD</EM> ---> [<EM>Governo</EM>, <EM>PSD</EM>]:[Parcialmente_Correcto_por_Defeito(0.25; 0.75), Parcialmente_Correcto_por_Defeito(0.25; 0.75)] <EM>Cavaco Silva</EM> ---> [null]:[Em_Falta] <EM>fictício</EM> ---> [<EM>Fictício</EM>]:[Correcto] </ALT3> </ALT>
Note-se que o valor máximo obtido para a medida-f é de 0.5 dando origem então a uma situação ambígua no que diz respeito à escolha da ALT mais favorável. Como já referido anteriormente, nestas situações escolhe-se a ALT que produz o menor valor para quando considerando o erro-combinado. Neste exemplo concreto a ALT seleccionada seria a terceira (ALT3) e era esta que seria colocada à saida do AltinaID sendo as restantes ignoradas. Por outra palavras todo o bloco anterior (desde <ALT> a </ALT>) seria substituido por na saída da AltinaID:
<EM>Governo PSD</EM> ---> [<EM>Governo</EM>, <EM>PSD</EM>]:[Parcialmente_Correcto_por_Defeito(0.25; 0.75), Parcialmente_Correcto_por_Defeito(0.25; 0.75)] <EM>Cavaco Silva</EM> ---> [null]:[Em_Falta]
A AltinaID é distribuído no pacote ferramentas_HAREM_java.jar que inclui o código fonte: IdentificationAltAlignmentSelector.
Para invocar a AltinaID numa máquina com a JVM instalada, execute o comando:
java -Dfile.encoding=ISO-8859-1 -cp ferramentas_HAREM_java.jar pt.linguateca.harem.IdentificationAltAlignmentSelector -alinhamento ficheiro.alinhado.avalida > ficheiro.alinhado.avalida.altidOnde sistema.alinhado.etq.verificado corresponde ao nome do ficheiro que foi gerado utilizando o AlinhEM com a opção para visualizar etiquetas númericas e já verificado manualmente. Salienta-se a utilização do parâmetro -Dfile.encoding=ISO-8859-1 que é necessário para garantir que os ficheiros são processados utilizando uma codificação de caracteres correcta. O resultado da AltinaID será enviado para o standard output, daí ser conveniente redireccionar a saída para um ficheiro, de forma a facilitar a posterior validação e avaliação.