Programas de avaliação do ReRelEM

Hugo Gonçalo Oliveira e Cristina Mota
  1. O ficheiro harem3.conf
  2. Conversor da notação da CD
  3. Utilização dos programas clássicos
  4. Expansão de relações
  5. Normalização de IDs
  6. Avaliação de relações
  7. Resumidor dos resultados
  8. Outros programas
  9. Nota (Windows VS Unix)

Neste documento descrevem-se de forma muito resumida os programas utilizados na avaliação da tarefa 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.


0. O ficheiro harem3.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 já 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). O programa pode ser também utilizado para fazer o inverso, ou seja, transformar a notação tipo 1 na notação tipo 2, sendo para isso necessário que os ficheiros a converter estejam completamente no tipo 1.

Exemplos dos tipos de notação:

A principal diferença na notação no tipo 2 é o preenchimento do campo TIPOREL:

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

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:

Opções:

Invocação:
java -Dfile.encoding=ISO-8859-1 -cp .;lib/jdom.jar pt.linguateca.harem.RerelemChangeNotation [-depara] <cd.xml> > cd_convertida.xml


2. Utilização dos programas clássicos

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

Para mais detalhes sobre a utilização destes programas, consulte este manual.


3. Expansão de relações

O expandidor tem como missão aplicar regras para a explicitação de relações. Nessas regras encontra-se o cálculo da inversa (de acordo com o que estiver definido no ficheiro harem3.conf) e as regras de transitividade.

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ção: É possível utilizar a opção -exptudo para controlar se a expansão se faz apenas do lado da CD (-exptudo nao) ou também do lado da participação (-exptudo sim). Se a opção for omitida, a expansão será feita apenas do lado da CD.

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


4. Normalização 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. Optou-se por se igualar cada ID de cada EM na participação ao ID da EM com que ela está alinhada. EMs espúrias recebem um novo ID único (ESPURIO-N).

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


5. Avaliação de relações

Avaliação das relações marcadas na participação, comparando com o que está marcado na CD. Em frente a cada alinhamento são colocadas as relações correctas, os COREL correctos, espúrios e em falta e ainda os seguintes valores (calculados através da fórmula de avaliação do ReRelEM:

Comparação de relações

Uma relação relacao1(A, B) é igual a uma relacao2(X, 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).
Apesar disto, tendo em conta que a CD foi anotada com um leque maior de relações (que não estavam estabelecidas quando os participantes enviaram as suas participações e que, como tal, não estão a ser alvo de avaliação), a comparação de uma relação outra(A, B) (marcada pelo o sistema) com uma relação que na CD tem um tipo não básico (tipos base: "ident", "inclui", "incluido", "ocorre_em", "sede_de"),´ por exemplo nascido_em(A, B), é considerada como sendo igual.

Entidades espúrias

Para que a identificação incorrecta de EMs não seja duplamente penalizada (HAREM + ReRelEM), na avaliação as EMs espúrias são ignoradas, bem como IDs de EMs espúrias que se encontrem dentro do atributo CORELs.

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


6. Resumidor dos resultados

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

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


Outros programas

Detector de inconsistêcias

Procura numa colecção ReRelEM por relações inconsistentes, como por exemplo situações em que uma entidade se relaciona com outra através de uma relação e da inversa dessa relação, pela mesma ordem, por exemplo: directa(A, B) e inversa(A, B), onde A e B são entidades.
Tem como entrada um ficheiro de alinhamentos que pode ser uma saída do organizador de ALTs, do expandidor de relações ou do normalizador de IDs.

Opção: É possível seleccionar se se pretende detectar inconsistências apenas no lado da CD ou no lado da participação, utilizando a opção -testar.

Invocação:
java -Dfile.encoding=ISO-8859-1 -cp .;lib/jdom.jar pt.linguateca.harem.RelationsInconsistenceDetector -alinhamento ficheiro.alinhado [-testar <cd|part>]

Mostrar todas as relações

Mostra todas as relações marcadas numa colecção na notação do ReRelEM.

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

Ver grafo de relações

Programa que permite visualizar o grafo que representa as relações nos vários documentos.
Tem como entrada um ficheiro de alinhamentos que pode ser uma saída do organizador de ALTs, do expandidor de relações ou do normalizador de IDs.

A cor dos 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> [-ver <cd|part>] [-docs docid1;docid3] [-nos <id|em|ambos>]

Nota

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 ...

Última actualização: 10 de Agosto de 2008
Contacte a organização do Segundo HAREM