HAREM - Avaliação de Reconhecimento de Entidades Mencionadas

Linguateca - 2005.
  Versão para impressão

Véu --- Filtro de Categorias, Generos e Origens

Véu
Filtro de Categorias, Géneros e Origens

Introdução

O presente texto tem como objectivo apresentar o programa que foi desenvolvido para extrair subconjuntos de alinhamentos avaliados (pelo AvalIDa). Como está especificado na página de medidas, a organização irá fornecer vários relatórios de avaliação tendo em conta diferentes cenários semânticos, assim como a agregação de resultados para diferentes origens e géneros. Por outras palavras, é necessário medir o desempenho dos sistemas tendo em conta uma ou mais categorias específicas, assim como só considerar documentos de determinado género e/ou origem. Assim, o Véu tem como função filtrar todos os alinhamentos previamente identificados, e extrair o subconjunto de alinhamentos que interessa considerar. É de salientar que a filtragem por categorias só faz sentido quando o sistema em causa efectuou a respectiva a classificação semântica, ou seja, quando a etiqueta genérica EM não é utilizada.

Quando o Véu é executado por um filtro por categorias e/ou tipos, a primeira linha da saída do Véu replica essa informação, juntamente com os tipos aceites pela categoria. Assim e assumindo que a saída é direccionada para um ficheiro, não se perde informação sobre o tipo de filtro que foi aplicado. Se por exemplo fosse executado um filtro indicando que só se queria alinhamentos contendo a categoria PESSOA, a primeira linha a ser produzida pelo Véu seria

#PESSOA=["MEMBRO", "GRUPOIND", "CARGO", "INDIVIDUAL", "GRUPOMEMBRO"]

Note-se a utilização do '#': este símbolo indica aos seguintes módulos de avaliação que esta linha só deve ser considerada para efeitos de avaliação semântica e morfológica. No caso de não haver nenhum filtro, ou quando o filtro é executado em relação à origem ou género (e não em relação às categorias) dos documentos, então a primeira linha contém a informação sobre todas as categorias e tipos utilizados no HAREM:

#PESSOA=["MEMBRO", "GRUPOIND", "CARGO", "INDIVIDUAL", "GRUPOMEMBRO"]; LOCAL=["GEOGRAFICO", "ALARGADO", "ADMINISTRATIVO", "VIRTUAL", "CORREIO"]; ....

Abaixo, mostramos um exemplo das primeiras linhas produzidas pelo Véu quando aplicado um filtro que extrai apenas os alinhamentos contendo as categorias PESSOA e ORGANIZACAO:

#PESSOA=["MEMBRO", "GRUPOIND", "CARGO", "INDIVIDUAL", "GRUPOMEMBRO"]; ORGANIZACAO=["INSTITUICAO", "ADMINISTRACAO", "EMPRESA", "SUB"]
HAREM-051-00043 PT Web

<ESPURIO>Lions Clube de Faro</ESPURIO> ---> [<PESSOA TIPO="GRUPOMEMBRO" MORF="F,S">Lions Clube de Faro</PESSOA>]:[Espúrio]

<ORGANIZACAO TIPO="INSTITUICAO" MORF="M,S">Clube Lions</ORGANIZACAO> ---> [null]:[Em_Falta]

<ORGANIZACAO TIPO="INSTITUICAO" MORF="M,S">Lions Clube de Faro</ORGANIZACAO> ---> [<PESSOA TIPO="GRUPOMEMBRO" MORF="F,S">Lions Clube de Faro</PESSOA>]:[Correcto]

É possível ainda executar um filtro colocando uma restrição nos tipos de uma determinada categoria. Neste caso, e imaginando um filtro que só pretende obter os alinhamentos identificados com a categoria ORGANIZACAO e a categoria LOCAL excepto as que têm tipo VIRTUAL, a primeira linha do output do véu seria:

#LOCAL=["GEOGRAFICO", "ADMINISTRATIVO", "ALARGADO", "CORREIO"]; ORGANIZACAO=["INSTITUICAO", "ADMINISTRACAO", "EMPRESA", "SUB"]

Esta situação é ilustrada na figura 1.


Figura 1. Figura ilustrando a aplicação do Véu.

Etiquetas <OMITIDO>

Outro aspecto a ter em conta em relação ao Véu são as etiquetas <OMITIDO> que são utilizadas durante o processo de alinhamento efectuado pelo AlinhEm. Como os alinhamentos marcados com estas etiquetas não são considerados para efeitos de avaliação, o Véu ignora todos os alinhamentos encontrados com a etiqueta <OMITIDO>, não sendo estes colocados na saída gerada.

Distribuição e Utilização

O Véu foi desenvolvido pelo Nuno Seco e é distribuído num ficheiro "Java Archive Resource" (JAR) --Veu.jar-- que inclui o código fonte: Veu.jar.

Para inspeccionar o código basta extrair os ficheiros do arquivo executando o seguinte comando numa shell do seu sistema:

jar -xf Veu.jar

Para invocar o Véu numa máquina com a JVM instalada, execute por exemplo o comando:

java -Dfile.encoding=ISO-8859-1 -jar Veu.jar -alinhamento sistema.alinhado.etq.verificado.avalida -categoria PESSOA(CARGO,GRUPOMEMBRO):ORGANIZAO -genero Web -origem PT

Onde sistema.alinhado.etq.verificado.avalida corresponde ao nome do ficheiro que foi gerado utilizando o AvalIDa. O Véu pode receber até quatro parâmetros de entrada, sendo que só o -alinhamento, e que corresponde ao nome do ficheiro a processar, é obrigatório. O parâmetro -categoria especifica as categorias que devem ser filtradas e colocadas à saída do sistema. O formato do argumento é uma lista de categorias separadas por ':', como por exemplo a lista 'PESSOA:ORGANIZACAO:ABSTRACCAO' que obrigaria o Véu a colocar à sua saída todos os alinhamentos contendo qualquer das categorias PESSOA, ORGANIZACAO ou ABSTRACCAO. Note-se que basta existir apenas uma referência à categoria num dado alinhamento, na entidade da CD ou nas entidades correspondentes identificadas pelo sistema, para que este seja considerado e colocado à saída. A restrição nos tipos é representada através da utilização de uma lista de tipos entre parênteses imediatamente a seguir à categoria relevante. Portanto, no exemplo apresentado, PESSOA(CARGO,GRUPOMEMBRO):ORGANIZACAO restringe os alinhamentos às categorias ORGANIZACAO e PESSOA, sendo que só tipos CARGO E GRUPOMEMBRO é que são tidos em conta para a categoria PESSOA.

Os restantes dois parâmetros, identificados pelas opções -origem e -genero, têm uma sintaxe semelhante. Recebem uma lista de origens ou géneros para efectuar a filtragem. Por exemplo a utilização da opção -origem com o parâmetro 'PT' irá colocar à saída todos os alinhamentos de documentos que forma considerados daquela origem. Analogamente, a utilização da opção -genero com o parâmetro 'Web' irá colocar à saída todos os alinhamentos de documentos retirados da Internet.

Estes parâmetros podem ser combinados de várias formas de modo a obter os alinhamentos desejados.

Salienta-se que é necessário a utilização do parâmetro -Dfile.encoding=ISO-8859-1 para garantir que os ficheiros são processados utilizando uma codificação de caracteres correcta. O resultado do Véu é 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.

Exemplo

A título de exemplo, e para clarificar o funcionamento do Véu, tomemos o seguinte documento previamente processado pelo AvalIDa (note-se que os alinhamentos foram numerados de forma a facilitar a posterior referenciação dos mesmos):

HAREM-000-00000 PT Web

1. <LOCAL|LOCAL TIPO="ADMINISTRATIVO|VIRTUAL" MORF="M,S">Baú</LOCAL|LOCAL> ---> [<LOCAL TIPO="CORREIO" MORF="M,S">Baú</LOCAL>]:[Correcto]

2. <LOCAL TIPO="CORREIO" MORF="F,S">Gazeta de Macau</LOCAL> ---> [<LOCAL TIPO="VIRTUAL" MORF="F,S">Gazeta de Macau</LOCAL>]:[Correcto]

3. <LOCAL TIPO="CORREIO">Rua da Amizade, 38, Graças, Recife - PE - CEP 52.011.260</LOCAL> ---> [<LOCAL TIPO="CORREIO">Rua da Amizade, 38, Graças, Recife</LOCAL>, <PESSOA TIPO="INDIVIDUAL">PE</PESSOA>]:[Parcialmente_Correcto_por_Defeito(0.20588235294117646; 0.7941176470588236), Parcialmente_Correcto_por_Defeito(0.029411764705882353; 0.9705882352941176)]

4. <ORGANIZACAO|LOCAL TIPO="INSTITUICAO|VIRTUAL" MORF="F,S">Porta da Esperança</ORGANIZACAO|LOCAL> ---> [<LOCAL TIPO="GEOGRAFICO" MORF="F,S">Porta da Esperança</LOCAL>]:[Correcto]

5. <LOCAL|LOCAL TIPO="ADMINISTRATIVO|GEOGRAFICO" MORF="M,S">Baú</LOCAL|LOCAL> ---> [<COISA TIPO="CLASSE" MORF="M,S">Baú</COISA>]:[Correcto]

6. <ORGANIZACAO|LOCAL TIPO="INSTITUICAO|ALARGADO" MORF="M,S">Círculo dos Trabalhadores</ORGANIZACAO|LOCAL> ---> [<PESSOA TIPO="GRUPOMEMBRO" MORF="M,S">Círculo dos Trabalhadores</PESSOA>]:[Correcto]

7. <LOCAL TIPO="VIRTUAL" MORF="F,S">Internet</LOCAL> ---> [<LOCAL TIPO="GEOGRAFICO" MORF="F,S">Internet</LOCAL>]:[Correcto]

8. <ORGANIZACAO TIPO="ADMINISTRACAO" MORF="M,S">Iraque</ORGANIZACAO> ---> [<LOCAL TIPO="ADMINISTRATIVO" MORF="M,S">Iraque</LOCAL>]:[Correcto]

9. <LOCAL|OBRA TIPO="VIRTUAL|PRODUTO" MORF="?,S">Reforma</LOCAL|OBRA> ---> [null]:[Em_Falta]

10. <LOCAL|ABSTRACCAO TIPO="ADMINISTRATIVO|IDEIA" MORF="F,S">Freguesia de Itapecerica</LOCAL|ABSTRACCAO> ---> [<LOCAL TIPO="ADMINISTRATIVO">Freguesia de Itapecerica pela Lei Provincial</LOCAL>]:[Parcialmente_Correcto_por_Excesso(0.25; 0.75)]

11. <OBRA TIPO="PUBLICACAO" MORF="F,S">Lei Provincial no 12</OBRA> ---> [<LOCAL TIPO="ADMINISTRATIVO">Freguesia de Itapecerica pela Lei Provincial</LOCAL>]:[Parcialmente_Correcto_por_Excesso(0.1111111111111111; 0.8888888888888888)]

Sobre este documento queremos efectuar um filtro, de forma a obter:

  1. Todas as PESSOAS do tipo GRUPOCARGO e GRUPOMEMBRO.
  2. Todos os LOCAIS excepto do tipo VIRTUAL.
  3. Todas as ORGANIZACOES excepto do tipo INSTITUICAO.
Para tal bastaria invocar o Véu utilizando o seguinte comando:

java -Dfile.encoding=ISO-8859-1 -jar Veu.jar -documento.txt -categoria "PESSOA(GRUPOCARGO):LOCAL(GEOGRAFICO,ALARGADO,ADMINISTRATIVO,CORREIO):ORGANIZACAO" > documento.txt.filtro

Onde documento.txt é ficheiro contendo os alinhamentos avaliados e documento.txt.filtro é o ficheiro para onde irão os alinhamentos que satisfazem a restrição imposta.

De seguida apresentamos, com comentários, a saída gerada pelo Véu:

#PESSOA=["GRUPOCARGO", "GRUPOMEMBRO"]; LOCAL=["GEOGRAFICO", "ALARGADO", "ADMINISTRATIVO", "CORREIO"]; ORGANIZACAO=["ADMINISTRACAO", "EMPRESA", "SUB"]

HAREM-000-00000 PT Web

1. <LOCAL TIPO="ADMINISTRATIVO" MORF="M,S">Baú</LOCAL> ---> [<LOCAL TIPO="CORREIO" MORF="M,S">Baú</LOCAL>]:[Correcto]
Comentário: A entidade identificada pelo sistema é mantida na saída do Véu visto que se enquadra no contexto do filtro aplicado.

2. <LOCAL TIPO="CORREIO" MORF="F,S">Gazeta de Macau</LOCAL> ---> [null]:[Em_Falta]
Comentário: Neste alinhamento a EM identificada pelo sistema é ignorada visto o tipo viola a restrição imposta pelo filtro.

3. <LOCAL TIPO="CORREIO">Rua da Amizade, 38, Graças, Recife - PE - CEP 52.011.260</LOCAL> ---> [<LOCAL TIPO="CORREIO">Rua da Amizade, 38, Graças, Recife</LOCAL>]:[Parcialmente_Correcto_por_Defeito(0.20588235294117646; 0.7941176470588236)]
Comentário: Neste alinhamento a última EM identificada pelo sistema e classificada com a categoria PESSOA e tipo INDIVIDUAL é removida da saída por este não se enquandrar no mesmo.

4. <ESPURIO>Porta da Esperança</ESPURIO> ---> [<LOCAL TIPO="GEOGRAFICO" MORF="F,S">Porta da Esperança</LOCAL>]:[Espúrio]
Comentário: Neste caso a entidade identificada pelo sistema é considerada espúria porque a entidade da CD não faz parte do domínio do filtro logo não poderia existir numa CD que estivesse anotado apenas com categorias e tipos iguais à do filtro.

5. <LOCAL|LOCAL TIPO="ADMINISTRATIVO|GEOGRAFICO" MORF="M,S">Baú</LOCAL|LOCAL> ---> [null]:[Em_Falta]
Comentário: Como a EM identificada pelo sistema não está classificada com uma categoria válida, a EM do sistema é ignorada.

6. <LOCAL TIPO="ALARGADO" MORF="M,S">Círculo dos Trabalhadores</LOCAL> ---> [<PESSOA TIPO="GRUPOMEMBRO" MORF="M,S">Círculo dos Trabalhadores</PESSOA>]:[Correcto]
Comentário: Este caso é semelhante ao anterior, mas em vez de existir uma categoria inválida é o tipo GRUPOMEMBRO que invalida a EM do sistema.

7. <ESPURIO>Internet</ESPURIO> ---> [<LOCAL TIPO="GEOGRAFICO" MORF="F,S">Internet</LOCAL>]:[Espúrio]
Comentário: O tipo VIRTUAL utilizado para categorizar a EM da CD viola a restrição imposta pelo filtro. Logo não é uma EM que deve ser considerada na avaliação e o alinhamento é considerado espúrio.

8. <ORGANIZACAO TIPO="ADMINISTRACAO" MORF="M,S">Iraque</ORGANIZACAO> ---> [<LOCAL TIPO="ADMINISTRATIVO" MORF="M,S">Iraque</LOCAL>]:[Correcto]
Comentário: Este alinhamento é mantido visto que não existe qualquer violação do filtro aplicado.

9.
Comentário: Como nem a EM da CD nem a EM identificada pelo sistema estão classificadas com categorias contidas no conjunto de categorias válidas, o alinhamento é removido.

10. <LOCAL TIPO="ADMINISTRATIVO" MORF="F,S">Freguesia de Itapecerica</LOCAL> ---> [<LOCAL TIPO="ADMINISTRATIVO">Freguesia de Itapecerica pela Lei Provincial</LOCAL>]:[Parcialmente_Correcto_por_Excesso(0.25; 0.75)]
Comentário:

11.
Comentário: Como a EM da CD está classificada com as categorias contidas no conjunto de categorias válidas e a entidade identificada pelo sistema já está alinhado com outra entidade na CD (ver exemplo anterior), não faz sentido considerar esta entidade espúria como se fez no exemplo 7.

Última actualização: 18/11/2005 10:17:12