Programas de avaliação do Segundo HAREM

HAREM, Linguateca
  1. HAREM clássico
  2. Pista TEMPO
  3. ReRelEM
  4. Gerador de relatórios
Programas Data da versão
Download 13/11/2008

Programas Segundo HAREM

Programas de avaliação do ReRelEM

Hugo Gonçalo Oliveira e Cristina Mota
  1. O ficheiro harem.conf
  2. Conversor da notação da CD
  3. Utilização dos programas clássicos
  4. Expandidor de relações
  5. Seleccionador de alinhamentos
  6. Normalizador de IDs
  7. Alinhamentos para triplas
  8. Véus ReRelEM
  9. Avaliação de relações
  10. Resumidor dos resultados
  11. Gerador de resultados
  12. Visualizador de relações
  13. Notas para utilização
  14. Licença

Neste documento descrevem-se de forma muito resumida os programas utilizados na avaliação da pista do ReRelEM, integrada no Segundo HAREM.

Tendo como ponto de partida a CD do ReRelEM e uma participação, a sequência de invocações é feita de acordo com a ordem apresentada, sendo que a saída de cada programa é a entrada do seguinte.

A avaliação tem como ponto de partida a colecção dourada do ReRelEM (CD) e as participações no HAREM e é feita através da invocação sequencial de módulos, pela ordem aqui apresentada. Cada módulo tem como entrada um (ou mais) ficheiros de texto, que são processados de forma a produzir um resultado pronto a ser tratado pelo módulo seguinte.

0. O ficheiro harem.conf

Este ficheiro é o mesmo utilizado na avaliação do HAREM clássico.

Para indicar o nome de uma relação é necessário iniciar a linha com "R:" seguida do nome da relação. Se a relação tiver inversa, a última deve ser colocada em frente, da seguinte forma:
R:relacao;inversa

A primeira relação indicada deve ser a identidade ("ident") sendo a ordem das restantes relações irrelevante. Há no entanto que dizer que o nome das relações base do ReRelEM ("ident", "inclui", "incluido", "ocorre_em", "sede_de") se deve manter inalterado devido à forma como estão implementadas as regras de transitividade.

1. Conversor da notação da CD

De forma a facilitar a identificação e leitura de relações entre diferentes facetas de EMs vagas foi criada uma nova notação para esses casos. A CD foi modificada de acordo com essa notação.

No entanto, como a nova notação não é completamente compatível com programas que já tinham sido desenvolvidos nem com as participações, foi criado um programa para transformar a nova notação (a que chamamos tipo 2) numa notação muito semelhante e compatível com a notação original, descrita nas directivas do ReRelEM (a que chamamos tipo 1).

Exemplos dos tipos de notação:

A diferença na notação no tipo 2 encontra-se no preenchimento do campo TIPOREL:

No tipo 2, o atributo TIPOREL contém respectivamente: a faceta da própria EM (CATORIGEM) que entra na relação, o tipo da relação (TIPOREF), o ID da EM relacionada (COREL) e a faceta da EM relacionada (CATALVO). Esta notação é transformada no tipo 1 criando dois novos atributos (FAC_ORIGEM e FAC_ALVO).

A conversão é aplicada na CD e também nas participações. Quando se tratam de relações entre EMs vagas e existe a informação das facetas relaciondas, FAC_ORIGEM e FAC_ALVO são preenchidos com essas mesmas facetas. Quando essa informação não existe (EMs simples ou EMs na participação, onde essa informação não existe) os atributos são preenchidos com a categoria das EMs relacionadas.

Exemplo concreto:

Tipo1:

Tipo2:

A notação tipo 2 é apenas utilizada quando existem relações entre facetas de EMs vagas. Quando isso não acontece, deve continuar a utilizar-se o tipo 1, podendo nesse caso encontrar-se ambos no mesmo TIPOREL. Por exemplo:

Invocação:
java -Dfile.encoding=ISO-8859-1 -cp .;lib/jdom.jar pt.linguateca.harem.RerelemChangeNotationM2 <coleccao.xml> > coleccao_convertida.xml

2. Utilização dos programas clássicos

Nos quatro passos seguintes da avaliação ReRelEM são utilizados os programas de avaliação do HAREM clássico:

Para mais detalhes sobre a utilização destes programas, consulte estas instruções.
3. Expandidor de relações

O módulo Expandidor tem como missão aplicar regras para a explicitação de relações.

Nessas regras a aplicar encontra-se o cálculo da inversa (de acordo com o que estiver definido no ficheiro harem.conf) e outras regras.

Procedimento:

  1. Explicitar todas as relações inversas implícitas;
  2. Enquanto a aplicação das regras de transitividade a todos os pares de relações existentes der origem a novas relações, explicitar as inversas implícitas

Opções:

Invocação:
java -Dfile.encoding=ISO-8859-1 -cp .;lib/jdom.jar pt.linguateca.harem.RelationExpanderM2 -alinhamento ficheiro.alinhado.alts [-exptudo <sim|nao>] > ficheiro.alinhado.alts.expandido

Saída:
Alinhamentos com as relações expandidas.

4. Seleccionador de alinhamentos

Aplicado para restringir o conjunto de alinhamentos às respostas correctas do sistema. Alinhamentos espúrios, em falta ou com a categoria errada são eliminados. Nos restantes alinhamentos mantêm-se apenas as categorias comuns na EM do lado da CD e do participação.

Invocação:
java -Dfile.encoding=ISO-8859-1 -cp .;lib/jdom.jar pt.linguateca.harem.AlignmentSelector -alinhamento ficheiro.alinhado.alts.expandido > ficheiro.alinhado.alts.expandido.seleccionado

Saída:
Alinhamentos correctos e com categorias iguais do lado da CD e participação.

5. Normalizador de IDs

Utilizado para normalizar os IDs das EMs nos alinhamentos de forma a possibilitar a comparação das relações do lado da CD com as relações do lado da participação. As entradas dos atributos COREL, TIPOREL, FAC_ORIGEM e FAC_ALVO são também normalizadas. Os IDs em COREL são adaptados aos novos IDs e as relações com pelo menos um ID ou conjunto ID+faceta inexistente são removidas.

Invocação:
java -Dfile.encoding=ISO-8859-1 -cp .;lib/jdom.jar pt.linguateca.harem.IDNormalizer -alinhamento ficheiro.alinhado.alts.expandido.seleccionado > ficheiro.alinhado.alts.expandido.seleccionado.normalizado

Saída:
Alinhamentos onde as EMs do lado participação têm o ID igual ao da EM do lado da CD com que estão alinhadas e os IDs no campo COREL seguem também essa normalização.

6. Alinhamentos para Triplas

Este módulo tem como objectivo alterar a notação utilizada pelos módulos anteriores, transformando a notação de alinhamentos numa notação de triplas.

Uma tripla é constituída pelo ID da categoria origem (ou ID+faceta), o tipo da relação e o ID da categoria alvo (ou ID+faceta), por exemplo:
ABC LOCAL inclui XYZ LOCAL

Opções:

Invocação:
java -Dfile.encoding=ISO-8859-1 -cp .;lib/jdom.jar pt.linguateca.harem.RelationExpanderM2 -alinhamento ficheiro.alinhado.alts.expandido.seleccionado.normalizado [-exptudo <sim|nao>] > ficheiro.alinhado.alts.expandido.seleccionado.normalizado.triplas

Saída:
Conjuntos de relações (representadas por triplas) do lado da CD e do lado da participação.

7. Véus ReRelEM

Semelhante aos filtros do HAREM clássico, mas para o tipo de relações. Aos conjuntos de relações do lado da CD e do lado da participação são removidas aquelas que cujo tipo não se encontra no conjunto de tipos pretendidos.

Opção:
O filtro é especificado através da opção -filtro seguida de uma lista de tipos de relação, separados por ";". Não especificando um filtro, nenhuma relação é removida.

Invocação:
java -Dfile.encoding=ISO-8859-1 -cp .;lib/jdom.jar pt.linguateca.harem.RelationsFilter -alinhamento ficheiro.alinhado.alts.expandido.seleccionado.normalizado.triplas [-filtro tiporel1;tiporel2] > ficheiro.alinhado.alts.expandido.seleccionado.normalizado.triplas.filtrado

Saída:
Conjuntos de relações do lado da CD e do lado da participação, filtrados de acordo com o cenário

8. Avaliador de relações

Avaliação das relações marcadas na participação, comparando com o que está marcado na CD. A saída desta etapa consiste numa lista de relações completamente correctas, com os argumentos certos e tipo errado (COREL correcto), espúrias e em falta. Em frente a cada relação é colocada a sua avaliação (Avaliação) e a sua pontuação de acordo com a fórmula de avaliação do ReRelEM. Uma relação pode ser classificada como Correcta, COREL Correcto, Espúria, Em Falta.

Comparação de relações:
Uma relação A relacao1 B é igual a uma X relacao2 Y apenas se forem do mesmo tipo (relacao1 = relacao2) e se os seus argumentos forem iguais e estiverem na mesma ordem (A=X e B=Y).

Cálculos adicionais:
Além da avaliação das relações são calculados, alguns valores para facilitar o cálculo das medidas finais na próxima fase. Para cada documento são marcados os seguintes valores:

Invocação:
java -Dfile.encoding=ISO-8859-1 -cp .;lib/jdom.jar pt.linguateca.harem.RelationsEvaluatorM2 -alinhamento ficheiro.alinhado.alts.expandido.seleccionado.normalizado.triplas.filtrado > ficheiro.alinhado.alts.expandido.seleccionado.normalizado.triplas.filtrado.avaliado

Saída:
Conjuntos de relações avaliadas.

9. Resumidor dos resultados

Resume os vários resultados que se podem retirar da avaliação das relações, separados em três partes:

(Nota: o único tipo de avaliação oficial é o primeiro, Avaliação de Relações, onde cada relação correcta vale 1, caso contrário vale 0).

Invocação:
java -Dfile.encoding=ISO-8859-1 -cp .;lib/jdom.jar pt.linguateca.harem.GlobalRelationsEvaluatorM2 -alinhamento ficheiro.alinhado.alts.expandido.seleccionado.normalizado.triplas.filtrado.avaliado > ficheiro.alinhado.alts.expandido.seleccionado.normalizado.triplas.filtrado.avaliado.resumo

Saída:
Resumo das várias medidas alcançadas pela participação.

10. Gerador de resultados

Em tudo semelhante ao gerador de resultados para o HAREM clássico. Utiliza todos os ficheiros do tipo .resumo com terminação pretendida e que se encontrem dentro de determinada directoria e subdirectorias (ambos dados como argumento) para gerar uma tabela HTML com os vários sistemas e respectivas classificações do ReRelEM, ordenados pela melhor Medida-F.

Opções:

Invocação:
java -Dfile.encoding=ISO-8859-1 -cp .;lib/jdom.jar pt.linguateca.harem.GlobalRelationsReporter [-depurar] -filtro filtro -dir directorio_participacoes [-info lista_participantes.csv ] > resultados.html

Saída:
HTML com os sistemas e respectivas classificações representadas em todos os ficheiros na directoria directorio_participacoes terminados em filtro e ordenadas pela melhor Medida-F.

Visualizador de relações

Programa que permite visualizar o grafo com as relações nos vários documentos anotados de acordo com o ReRelEM.
O Visualizador tem como entrada (se nada for especificado) um ficheiro de alinhamentos, como a saída do organizador de ALTs ou do Expandidor. É também possível ter uma entrada onde as relações estão representadas sob a notação de triplas (utilizando a opção -entrada triplas), como a saída do Véus ReRelEM.

No grafo apresentado a cor das ligações entre os nós corresponde a um tipo de relação. Legenda:

Opções

Invocação:
java -Dfile.encoding=ISO-8859-1 cp .;lib/jdom.jar;lib/jgraph.jar pt.linguateca.harem.ViewRelationsGraphs -alinhamento <ficheiro_alinhamentos> -doc docid [-ver <cd|part>] [-entrada <triplas|alinhamentos>] [-nos <id|em|ambos>]

Informação adicional: Os grafos apresentados posicionam os nós numa grelha 6 por N. Para um melhor posicionamento é possível utilizar a biblioteca JGraphLayout Pro que não incluímos no conjunto dos programas porque requer uma licença específica (para fins comerciais - paga, ou acad´micos - gratuita).

Nota

Todos os módulos utilizados para esta avaliação foram implementados em Java, e é necessário ter instalada a versão 1.6 ou posterior do Java Runtime Environment (ou compatível).

Encontram-se aqui descritas as invocações dos programas em ambiente Windows. Em ambiente Unix é necessário alterar a separação dos arquivos no classpath (de ';' para ':'), por exemplo:

  1. Windows: java -cp .;lib/jdom.jar ...
  2. Unix: java -cp .:lib/jdom.jar ...

Licença

O pacote de programas para a avaliação do Segundo HAREM é disponibilizado pela Linguateca através de uma licença BSD.


Última actualização: 11 de Novembro de 2008
Contacte a organização do Segundo HAREM