Programas de avaliação do ReRelEM
Hugo Gonçalo Oliveira e Cristina Mota
- O ficheiro harem3.conf
- Conversor da notação da CD
- Utilização dos programas clássicos
- Expansão de relações
- Normalização de IDs
- Avaliação de relações
- Resumidor dos resultados
- Outros programas
- 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.
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.
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:
- Tipo 1 (sem especificação de facetas relacionadas):
<EM ID="X" CATEG="FACDIR1|FACDIR2" COREL="ID1 ID1 ID2" TIPOREL="rel1 rel2 rel3">;
- Tipo 2:
<EM ID="X" CATEG="FACDIR1|FACDIR2" TIPOREL="FACDIR1**rel1**ID1**FACESQ1 FACDIR2**rel2**ID1**FACESQ1 FACDIR1**rel3**ID2**FACESQ1">;
- Tipo 1 (com especificação de facetas relacionadas):
<EM ID="X" CATEG="FACDIR1|FACDIR2" COREL="ID1 ID2 ID2" TIPOREL="rel1 rel2 rel3"
FAC_DIR="FACDIR1 FACDIR2 FACDIR1" FAC_ESQ="FACESQ1 FACESQ1 FACESQ1">.
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:
- <EM ID="X" CATEG="LOCAL|ORGANIZACAO">Europa</EM>
- <EM ID="Y" CATEG="LOCAL">UE</EM>
- <EM ID="Z" CATEG="ORGANIZACAO|LOCAL" COREL="X X Y Y" TIPOREL="incluido incluido incluido incluido"
FAC_DIR="LOCAL ORGANIZACAO LOCAL ORGANIZACAO" FAC_ESQ="LOCAL ORGANIZACAO LOCAL ORGANIZACAO">Portugal</EM>
Tipo2:
- <EM ID="X" CATEG="LOCAL|ORGANIZACAO">Europa</EM>
- <EM ID="Y" CATEG="LOCAL">UE</EM>
- <EM ID="Z" CATEG="LOCAL|ORGANIZACAO" COREL="X X Y Y"
TIPOREL="LOCAL**incluido**X**LOCAL ORGANIZACAO**incluido**X**ORGANIZACAO LOCAL**incluido**Y**LOCAL ORGANIZACAO**incluido**Y**ORGANIZACAO>Portugal</EM>
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:
- <EM ID="A" CATEG="ORGANIZACAO">PSE</EM>
- <EM ID="B" CATEG="ABSTRACCAO|ORGANIZACAO|LOCAL">Estrasburgo</EM>
- <EM ID="C" CATEG="ORGANIZACAO" COREL="A B" TIPOREL="inclui ORGANIZACAO**ocorre_em**11**LOCAL">Parlamento Europeu</EM>
Opções:
- -depara: nada ou -t2t1 (tipo 2 para tipo1), -t1t2 (tipo 1 para tipo 2);
- cd.xml: ficheiro XML com a CD a converter.
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:
- Alinhador: utilizado para alinhar as EMs da participação com as EMs na CD do ReRelEM
(a CD do ReRelEM é um sub-conjunto do textos da CD HAREM, anotados de acordo com as
directivas do ReRelEM);
- Avaliador: avaliação dos alinhamentos;
- Filtros: eliminação de alinhamentos fora do cenário especificado (se for o caso) e tratamento de alinhamentos parcialmente correctos;
- Organizador de ALTs: organização das alternativas na segmentação (ALTs).
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:
- Explicitar todas as relações inversas implícitas;
- 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
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
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:
- MaxAval_CD: avaliação máxima possível com a marcação na CD;
- MaxAval_S: avaliação máxima possível com a marcação feita pelo sistema;
- Avaliacao: avaliação efectiva da relações marcadas pelo sistema,
comparada com a marcação na CD.
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
Resume os vários resultados que se podem retirar da avaliação das relações,
separados em três partes:
- (só) CORELs: métricas de avaliação tendo em conta apenas o preenchimento do atributo COREL;
- Relações: métricas de avaliação tendo em conta as relações (COREL + TIPOREL);
- Pontuação ReRelEM: métricas de avaliação tendo em conta a
fórmula de avaliação do ReRelEM.
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
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:
- ident
- inclui
- incluido
- ocorre_em
- sede_de
- outra relação
Opções
-
Se não for pretendido visualizar todos os grafos representados num ficheiro,
(normalmente nem existirá memória para o fazer). Existem portanto as seguintes opções:
- -ver: para seleccionar se se pretende visualizar só grafos do lado da CD (cd) ou do lado da participação (part);
- -docs: para seleccionar quais os documentos dos grafos a mostrar.
Esta opção deve ser seguida de uma lista constituída pelos IDs (DOCIDs) dos documentos separados por ';'.
- É também possível seleccionar a identificação em cada nó do grafo, através da opção -nos
seguida de: nada ou id (nós identificados pelo ID),
em (nós identificados pela própria EM) ou ambos (nós identificados por ID+EM)
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>]
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:
- Windows: java -cp .;lib/jdom.jar ...
- Unix: java -cp .:lib/jdom.jar ...
Última actualização: 10 de Agosto de 2008
Contacte
a organização do Segundo HAREM