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 HAREM clássico

Hugo Gonçalo Oliveira
  1. O ficheiro harem.conf
  2. Alinhador
  3. Avaliador da identificação
  4. Filtros
  5. Organizador de ALTs
  6. Listador de espúrios
  7. Avaliador semântico
  8. Selector de ALTs
  9. Resumidor das classificações
  10. Gerador de resultados
  11. Notas para utilização
  12. Licença

Neste documento descrevem-se de forma muito resumida os módulos utilizados para a avaliação da pista do HAREM clássico, incluída no Segundo HAREM.

A avaliação tem como ponto de partida a colecção dourada (CD) e as participações 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.

Os módulos são apresentados pelo seu título. Aqueles que utilizaram como base módulos utilizado no Primeiro HAREM têm também o seu antigo nome entre parêntesis.

Para exemplificar os vários passos foi utilizado uma colecção dourada muito simples CD e o seguinte ficheiro harem.conf.

0. O ficheiro harem.conf

Este ficheiro, que se tem de se encontrar na mesma directoria dos programas, consiste na listagem do elenco de categorias, tipos e subtipos a utilizar na avaliação (e ainda os nomes de relações utilizados no ReRelEM).

Cada linha deste ficheiro consiste em um caracter (que indica o tipo de atributo que se vai seguir), seguido de ':' e do valor do atributo. Por exemplo, a linha C:PESSOA define a categoria PESSOA.

1. Alinhador (AlinhEM)

O Alinhador tem como entrada um ficheiro relativo a uma participação completa (constituída por documentos da colecção HAREM), mas alinha apenas EMs que fazem parte de documentos que estão na CD.

Cada alinhamento consiste numa EM do lado da CD e a sua correspondente do lado da participação.

Invocação:
java -Dfile.encoding=ISO-8859-1 [-Xmx512M] -cp .;lib/jdom.jar pt.linguateca.harem.Aligner -submissao ficheiro.xml -cd CDexemplo.xml > ficheiro.alinhado

Argumentos obrigatórios:

(Nota: quando os ficheiros são muito grandes pode ser necessário utilizar a opção -Xmx512M para aumentar a memória disponível)

Saída:
EMs da CD alinhadas com as EMs da participação

2. Avaliador de alinhamentos (AvalIDa)

Este módulo avalia os alinhamentos, comparando a delimitação das EM do lado da CD com a delimitação das EM do lado da participação.

Cada alinhamento pode ser avaliado como Correctos, Espúrios, Em Falta ou Parcialmente Correcto.

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

Saída:
Alinhamentos avaliados relativamente à identificação. Os alinhamentos podem estar Correctos, Espúrios, Em Falta, Parcialmente_Correctos_Por_Excesso ou Parcialmente_Correctos_Por_Defeito

3. Véus

O Véus consiste na aplicação de filtros para adaptar um conjunto de alinhamentos a um cenário selectivo.

Os filtros estão disponíveis através da utilização de opções:

Os filtros que representam um cenário (sistema e avaliacao) são construídos segundo uma máscara "CATEG1(TIPO1{SUBTIPO1,SUBTIPO2...};TIPO2...):CATEG2..."

Exemplos de filtros:

Filtro Descrição
"PESSOA(*):LOCAL(*):ORGANIZACAO(*)" Apenas as categorias PESSOA, LOCAL e ORGANIZACAO e o seu conjunto normal de tipos/subtipos.
"LOCAL(FISICO{*};HUMANO{*})" A categoria LOCAL apenas com os tipos FISICO e HUMANO e o seu conjunto normal de subtipos.
"LOCAL(FISICO{*};HUMANO{RUA,PAIS,DIVISAO,REGIAO})" A categoria LOCAL apenas com o tipo FISICO como seu conjunto normal de subtipos e com o tipo HUMANO apenas com os subtipos RUA, PAIS, DIVISAO e REGIAO.
"*" (ou sem a flag do cenario) Cenário completo. 

(Nota: utilizar um véu com todas as categorias, tipos e subtipos não é completamente igual a utilizar apenas o "*". O véu com tudo vai retirar da CD entidades não classificadas)

Informação adicional sobre a avaliação em diferentes cenários selectivos.

Invocação:
java -Dfile.encoding=ISO-8859-1 -cp .;lib/jdom.jar pt.linguateca.harem.AlignmentFilter -alinhamento ficheiro.alinhado.avalida -estilo muc [-sistema filtro1][-avaliacao filtro2] > ficheiro.alinhado.avalida.veu

(Nota: onde está o sufixo .veu, adicionado ao nome do ficheiro gerado pode e deve estar um nome que identifique o cenário selectivo a que a avaliação diz respeito)

Saída:
Alinhamentos filtrados de acordo com as opções. Como é sempre utilizado o filtro "muc" deixam de existir entidades parcialmente identificadas.

4. Organizador de ALTs

Este módulo organiza os ALT, de forma a garantir que:

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

Saída:
Alinhamentos com ALTs organizados. Alinhamentos dentro de ALTs têm anexado o seu peso.

5. Listador de espúrios Este módulo pode ser invocado se se pretender listar todas as EMs espúrias nos documentos da participação.

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

Saída:
Alinhamentos espúrios da participação.

6. Avaliador da classificação (Emir)

O Avaliador da classificação compara os atributos CATEG, TIPO e SUBTIPO no lado da CD e no lado da participação, sendo cada um dos seus pontuado classificado como Correcto, Espúrio ou Em Falta.
De acordo com a pontuação dos atributos é calculada a medida da Classificação de cada alinhamento, bem como um Peso que é igual a 1.0, tirando quando se trata de uma EM espúria (0) ou quando se trata de uma EM dentro de um ALT.

No Primeiro HAREM este peso também podia estar entre 0 e 1 no caso de EMs parcialmente identificadas.

Opção: -pesos identificação;α;β;γ: indicação dos pesos a ser utilizados no cálculo da medida (identificação, α, β γ). Os pesos por omissão são respectivamente 1, 1, 0.5 e 0.25

Invocação:
java -Dfile.encoding=ISO-8859-1 -cp .;lib/jdom.jar pt.linguateca.harem.SemanticAlignmentEvaluator -alinhamento ficheiro.alinhado.avalida.veu.alts [-pesos id;α;β;γ] > ficheiro.alinhado.avalida.veu.alts.emir

Saída:
Alinhamentos avaliados de acordo com a classificação.

Um atributo pode estar Correcto, Em Falta ou ser Espúrio.
Além da avaliação dos atributos são anexados mais alguns valores aos alinhamentos:

(Nota: apesar da saída do Avaliador da classificação utilizadar a sigla CSC para identificar a medida da classificação, este termo utilizado no Primeiro HAREM (classificação semântica combinada) deixou de existir no Segundo HAREM.)
7. Selector de ALTs (ALTina)

O Selector de ALT é utilizado apenas na avaliação relaxada de ALT.

É aplicado sobre a saída do Avaliador da classificação e tem como objectivo seleccionar apenas o melhor elemento dentro de cada ALT. Existem dois critérios para a selecção do melhor elemento:

  1. Alternativa com a melhor Medida-F
  2. Alternativa com a melhor medida da classificação

Invocação:
java -Dfile.encoding=ISO-8859-1 -cp .;lib/jdom.jar pt.linguateca.harem.SemanticAltAlignmentSelector -alinhamento ficheiro.alinhado.avalida.veu.alts.emirficheiro.alinhado.avalida.veu.alts.emir.altrel

Saída:
Alinhamentos com ALTs alinhados à melhor alternativa na participação.

8. Resumidor das classificações (Ida)

Resume as pontuações obtidas para as métricas e medidas obtidas nas tarefas de identificação e classificação.

Pode ser invocado utilizando a saída do Avaliador da classificação ou do Selector de ALTs.

Invocação:
java -Dfile.encoding=ISO-8859-1 -cp .;lib/jdom.jar pt.linguateca.harem.GlobalSemanticEvaluator -alinhamento ficheiro.alinhado.avalida.veu.alts.emir > ficheiro.alinhado.avalida.veu.alts.emir.ida

Saída:
Resumo das várias pontuações obtidas pelo sistema.

9. Gerador de resultados (Sultão)

O Gerador de resultados utiliza todos os ficheiros do tipo .ida com a 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 (na tarefa de classificação e também na identificação), ordenados pela melhor Medida-F. Outras valores presentes incluem a Precisão e a Abrangência.

Opções disponíveis através da utilização de flags:

Invocação:
java -Dfile.encoding=ISO-8859-1 -cp .;lib/jdom.jar pt.linguateca.harem.GlobalSemanticReporter [-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. São também apresentadas outras medidas como a precisão ou a abrangência.

Notas

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