Versão para impressão
Seleccionador das alternativas para a tarefa de classificação Semântica
AltinaSem - Java
Seleccionador das Alternativas para a tarefa de Classificação Semântica
Há sempre um conjunto de etiquetas que não geram consenso na hora da sua identificação e classificação, pois podem ser interpretadas de várias maneiras. Durante a criação da Colecção Dourada, foi compilada uma lista de casos 'curiosos', onde é extremamente difícil atribuir sem dúvidas uma categoria à EM. Para lidar com esta questão, optou-se por introduzir etiquetas <ALT>, que permitem ao anotador definir várias hipóteses de anotação para uma dada EM. Durante a avaliação final, é necessário escolher as melhores alternativas para cada sistema. É exactamente essa a função do AltinaSem que recebe os ficheiros após o processamento do Emir.
Critérios de Selecção
Os critérios tomados em consideração na escolha da melhor alternativa são apresentados a seguir e estão listados por ordem de preferência. Ou seja, se se utiliza o segundo critério casa tenha existido um empate com o primeiro. Do mesmo modo só se averigua o terceiro caso as alternativas tenham empatado no segundo. Os critérios são os seguintes:
-
Seleccionar a alternativa que maximizam a medida F considerando os alinhamentos nela contida.
-
No caso de empate do critério anterior, escolhe-se a alternativa que maximiza o somatório dos CSCs de cada alinhamento. O CSC para cada alinhamento é previamente calculado pelo Emir e concatenado ao respectivo alinhamento. É de salientar que o CSC de cada alinhamento é multiplicado pelo seu peso de modo a dar mais importância aos alinhamentos que mais aproximam das EMs contidas na CD..
-
Finalmente, e no caso de empate dos dois critérios anteriores, escolhe-se a alternativa com o maior número de alinhamentos.
Mais à frente, estes critérios são exemplificados em detalhe.
Cálculo da medida F
O cálculo de Precisão e Abrangência de cada uma das alternativas, do qual a medida F depende, segue as especificações que se encontram na página das Medidas. Tal como acontecia no AltinaId durante os cálculos considera-se que existe um alinhamento fictício correctamente categorizado. A utilização do alinhamento fictício garante que os resultados obtidos são sempre superiores a zero, e facilita a computação no cálculo de alternativas vazias e não beneficia nenhum sistema. Note-se que este alinhamento fictício só é considerado no cálculo da medida F. A título de ilustração considere o seguinte exemplo previamente processada pelo AvalIDa:
<ALT>
<ALT1>
</ALT1>
<ALT2>
<ORGANIZACAO|PESSOA TIPO="SUB|GRUPOMEMBRO" MORF="M,P">Agrupamentos de Escuteiros</ORGANIZACAO|PESSOA> ---> [null]:[Em_Falta]
</ALT2>
<ALT3>
<ORGANIZACAO TIPO="INSTITUICAO" MORF="M,P">Escuteiros</ORGANIZACAO> ---> [null]:[Em_Falta]
</ALT3>
</ALT>
Podemos imaginar a representação do alinhamento fictício da seguinte da forma:
<ALT>
<ALT1>
<PESSOA TIPO="INDIVIDUAL">fictício</PESSOA> ---> [<PESSOA TIPO="INDIVIDUAL">fictício</PESSOA>]:[Correcto]
</ALT1>
<ALT2>
<PESSOA TIPO="INDIVIDUAL">fictício</PESSOA> ---> [<PESSOA TIPO="INDIVIDUAL">fictício</PESSOA>]:[Correcto]
<ORGANIZACAO|PESSOA TIPO="SUB|GRUPOMEMBRO" MORF="M,P">Agrupamentos de Escuteiros</ORGANIZACAO|PESSOA> ---> [null]:[Em_Falta]
</ALT2>
<ALT3>
<PESSOA TIPO="INDIVIDUAL">fictício</PESSOA> ---> [<PESSOA TIPO="INDIVIDUAL">fictício</PESSOA>]:[Correcto]
<ORGANIZACAO TIPO="INSTITUICAO" MORF="M,P">Escuteiros</ORGANIZACAO> ---> [null]:[Em_Falta]
</ALT3>
</ALT>
Considerando então o exemplo dado, o ALTinaSem pontua cada uma das alternativas, em relação à medida F, da seguinte forma:
<ALT>
<ALT1>
CATEGORIA(Precisão=1.0 Abrangência=1.0 Medida_F=1.0)
<PESSOA TIPO="INDIVIDUAL">fictício</PESSOA> ---> [<PESSOA TIPO="INDIVIDUAL">fictício</PESSOA>]:[{Categoria(Correcto:[PESSOA] Espúrio:[] Em_Falta:[]) Tipo(Correcto:[INDIVIDUAL] Espúrio:[] Em_Falta:[]) Peso(1.0)}]
</ALT1>
<ALT2>
CATEGORIA(Precisão=1.0 Abrangência=0.5 Medida_F=0.6666666666666666)
<PESSOA TIPO="INDIVIDUAL">fictício</PESSOA> ---> [<PESSOA TIPO="INDIVIDUAL">fictício</PESSOA>]:[{Categoria(Correcto:[PESSOA] Espúrio:[] Em_Falta:[]) Tipo(Correcto:[INDIVIDUAL] Espúrio:[] Em_Falta:[]) Peso(1.0)}]
<ORGANIZACAO|PESSOA TIPO="SUB|GRUPOMEMBRO" MORF="M,P">Agrupamentos de Escuteiros</ORGANIZACAO|PESSOA> ---> [null]:[{Categoria(Correcto:[] Espúrio:[] Em_Falta:[ORGANIZACAO|PESSOA]) Tipo(Correcto:[] Espúrio:[] Em_Falta:[]) CSC(0.0) Peso(0.0)}]
</ALT2>
<ALT3>
CATEGORIA(Precisão=1.0 Abrangência =0.5 Medida_F=0.6666666666666666)
<PESSOA TIPO="INDIVIDUAL">fictício</PESSOA> ---> [<PESSOA TIPO="INDIVIDUAL">fictício</PESSOA>]:[{Categoria(Correcto:[PESSOA] Espúrio:[] Em_Falta:[]) Tipo(Correcto:[INDIVIDUAL] Espúrio:[] Em_Falta:[]) Peso(1.0)}]
<ORGANIZACAO TIPO="INSTITUICAO" MORF="M,P">Escuteiros</ORGANIZACAO> ---> [null]:[{Categoria(Correcto:[] Espúrio:[] Em_Falta:[ORGANIZACAO]) Tipo(Correcto:[] Espúrio:[] Em_Falta:[]) CSC(0.0) Peso(0.0)}]
</ALT3>
</ALT>
Considerando as pontuações atribuídas pelo AltinaSem, a ALT1 seria considerada como a mais benéfica para o sistema. Como existe uma alternativa que com uma medida F superior às restantes não é necessário considerar os restantes critérios. No final os alinhamentos contidos nesta alternativa são impressos para o STDOUT, e os restantes alinhamentos são ignorados.
Distribuição e Utilização
O
ALTinaSem é distribuído num ficheiro "Java Archive Resource" (JAR) --
AltinaSem.jar-- que inclui o código fonte:
AltinaSem.jar.
Para inspeccionar o código basta extrair os ficheiros do arquivo executando o seguinte comando numa shell do seu sistema:
jar -xf AltinaSem.jar
Para invocar o AltinaSem numa máquina com a JVM instalada, execute o comando:
java -Dfile.encoding=ISO-8859-1 -jar AltinaSem.jar -alinhamento saida.avalida.absoluto.emir
O resultado do AltinaSem será impresso para o STDOUT. Portanto é conveniente redireccionar a saída do AltinaSem para um ficheiro, de forma a que estes resultados possam ser guardados e posteriormente processados pelo Ida2Sem.
Exemplos
De seguida apresentamos alguns exemplos ilustrativos de alternativas juntamente com os respectivos valores de Precisão, Abrangência e Medida_F, e quando necessário, o valor correspondente ao somatório do CSC dos alinhamentos contidos em cada alternativa:
#TEMPO=["PERIODO", "DATA", "HORA", "CICLICO"]; VARIADO=["OUTRO"]; PESSOA=["MEMBRO", "GRUPOIND", "CARGO", "GRUPOCARGO", "INDIVIDUAL", "GRUPOMEMBRO"]; LOCAL=["GEOGRAFICO", "ALARGADO", "ADMINISTRATIVO", "VIRTUAL", "CORREIO"]; ACONTECIMENTO=["ORGANIZADO", "EVENTO", "EFEMERIDE"]; VALOR=["CLASSIFICACAO", "MOEDA", "QUANTIDADE"]; OBRA=["PRODUTO", "REPRODUZIDA", "PUBLICACAO", "ARTE"]; COISA=["SUBSTANCIA", "CLASSE", "OBJECTO"]; ABSTRACCAO=["IDEIA", "NOME", "ESTADO", "OBRA", "MARCA", "ESCOLA", "PLANO", "DISCIPLINA"]; ORGANIZACAO=["INSTITUICAO", "ADMINISTRACAO", "EMPRESA", "SUB"]
HAREM-051-00043 PT Web
<ALT>
<ALT1>
CATEGORIA(Precisão=1.0 Abrangência=0.5 Medida_F=0.6666666666666666)
<ORGANIZACAO|PESSOA TIPO="SUB|GRUPOMEMBRO" MORF="M,P">Agrupamentos de Escuteiros</ORGANIZACAO|PESSOA> ---> [null]:[{Categoria(Correcto:[] Espúrio:[] Em_Falta:[ORGANIZACAO|PESSOA]) Tipo(Correcto:[] Espúrio:[] Em_Falta:[]) CSC(0.0) Peso(0.0)}]
</ALT1>
<ALT2>
CATEGORIA(Precisão=1.0 Abrangência=0.5 Medida_F=0.6666666666666666)
<ORGANIZACAO TIPO="INSTITUICAO" MORF="M,P">Escuteiros</ORGANIZACAO> ---> [null]:[{Categoria(Correcto:[] Espúrio:[] Em_Falta:[ORGANIZACAO]) Tipo(Correcto:[] Espúrio:[] Em_Falta:[]) CSC(0.0) Peso(0.0)}]
</ALT2>
<ALT3>
CATEGORIA(Precisão=1.0 Abrangência=1.0 Medida_F=1.0)
</ALT3>
</ALT>
<ALT>
<ALT1>
CATEGORIA(Precisão=0.75 Abrangência=0.75 Medida_F=0.75)
<VALOR TIPO="QUANTIDADE">98 anos e meio</VALOR> ---> [<VALOR TIPO="MOEDA">98 anos</VALOR>]:[{Categoria(Correcto:[VALOR] Espúrio:[] Em_Falta:[]) Tipo(Correcto:[] Espúrio:[MOEDA] Em_Falta:[QUANTIDADE]) CSC(1.0) Peso(0.5)}]
</ALT1>
<ALT2>
CATEGORIA(Precisão=1.0 Abrangência=1.0 Medida_F=1.0)
<VALOR TIPO="QUANTIDADE">98 anos</VALOR> ---> [<VALOR TIPO="MOEDA">98 anos</VALOR>]:[{Categoria(Correcto:[VALOR] Espúrio:[] Em_Falta:[]) Tipo(Correcto:[] Espúrio:[MOEDA] Em_Falta:[QUANTIDADE]) CSC(1.0) Peso(1.0)}]
</ALT2>
</ALT>
<ALT>
<ALT1>
CATEGORIA(Precisão=0.3333333333333333 Abrangência=0.5 Medida_F=0.4)
<LOCAL TIPO="ALARGADO" MORF="M,S">Estúdio da Oficina Cultural Oswald de Andrade</LOCAL> ---> [<ORGANIZACAO TIPO="INSTITUICAO" MORF="F,S">Oficina Cultural Oswald</ORGANIZACAO>, <PESSOA TIPO="INDIVIDUAL" MORF="M,S">Andrade</PESSOA>]:[{Categoria(Correcto:[] Espúrio:[ORGANIZACAO] Em_Falta:[LOCAL]) Tipo(Correcto:[] Espúrio:[] Em_Falta:[]) CSC(0.0) Peso(0.42857142857142855)}, {Categoria(Correcto:[] Espúrio:[PESSOA] Em_Falta:[LOCAL]) Tipo(Correcto:[] Espúrio:[] Em_Falta:[]) CSC(0.0) Peso(0.14285714285714285)}]
</ALT1>
<ALT2>
CATEGORIA(Precisão=0.5333333333333333 Abrangência=0.8 Medida_F=0.64)
<ORGANIZACAO TIPO="INSTITUICAO" MORF="F,S">Oficina Cultural Oswald de Andrade</ORGANIZACAO> ---> [<ORGANIZACAO TIPO="INSTITUICAO" MORF="F,S">Oficina Cultural Oswald</ORGANIZACAO>, <PESSOA TIPO="INDIVIDUAL" MORF="M,S">Andrade</PESSOA>]:[{Categoria(Correcto:[ORGANIZACAO] Espúrio:[] Em_Falta:[]) Tipo(Correcto:[INSTITUICAO] Espúrio:[] Em_Falta:[]) CSC(1.75) Peso(0.6)}, {Categoria(Correcto:[] Espúrio:[PESSOA] Em_Falta:[ORGANIZACAO]) Tipo(Correcto:[] Espúrio:[] Em_Falta:[]) CSC(0.0) Peso(0.2)}]
</ALT2>
</ALT>
<ALT>
<ALT1>
CATEGORIA(Precisão=0.625 Abrangência=0.4166666666666667 Medida_F=0.5)
<ORGANIZACAO TIPO="ADMINISTRACAO" MORF="M,S">Governo</ORGANIZACAO> ---> [<ORGANIZACAO TIPO="ADMINISTRACAO">Governo de Cavaco Silva</ORGANIZACAO>]:[{Categoria(Correcto:[ORGANIZACAO] Espúrio:[] Em_Falta:[]) Tipo(Correcto:[ADMINISTRACAO] Espúrio:[] Em_Falta:[]) CSC(1.75) Peso(0.25)}]
<PESSOA TIPO="INDIVIDUAL" MORF="M,S">Cavaco Silva</PESSOA> ---> [<ORGANIZACAO TIPO="ADMINISTRACAO">Governo de Cavaco Silva</ORGANIZACAO>]:[{Categoria(Correcto:[] Espúrio:[ORGANIZACAO] Em_Falta:[PESSOA]) Tipo(Correcto:[] Espúrio:[] Em_Falta:[]) CSC(0.0) Peso(0.5)}]
</ALT1>
<ALT2>
CATEGORIA(Precisão=1.0 Abrangência=1.0 Medida_F=1.0)
<PESSOA|ORGANIZACAO TIPO="GRUPOCARGO|ADMINISTRACAO" MORF="M,S">Governo de Cavaco Silva</PESSOA|ORGANIZACAO> ---> [<ORGANIZACAO TIPO="ADMINISTRACAO">Governo de Cavaco Silva</ORGANIZACAO>]:[{Categoria(Correcto:[ORGANIZACAO] Espúrio:[] Em_Falta:[]) Tipo(Correcto:[ADMINISTRACAO] Espúrio:[] Em_Falta:[]) CSC(1.75) Peso(1.0)}]
</ALT2>
</ALT>
<ALT>
<ALT1>
CATEGORIA(Precisão=0.8 Abrangência=0.8 Medida_F=0.8000000000000002)
Soma_CSC=0.6
<ORGANIZACAO TIPO="INSTITUICAO">Faculdade de Ciências</ORGANIZACAO> ---> [<ORGANIZACAO TIPO="ADMINISTRACAO">Faculdade de Ciências e Tecnologia</ORGANIZACAO>]:[{Categoria(Correcto:[ORGANIZACAO] Espúrio:[] Em_Falta:[]) Tipo(Correcto:[] Espúrio:[ADMINISTRACAO] Em_Falta:[INSTITUICAO]) CSC(1.0) Peso(0.6)}]
</ALT1>
<ALT2>
CATEGORIA(Precisão=0.8 Abrangência=0.8 Medida_F=0.8000000000000002)
Soma_CSC=1.05
<ORGANIZACAO TIPO="ADMINISTRACAO">Ciências e Tecnologia</ORGANIZACAO> ---> [<ORGANIZACAO TIPO="ADMINISTRACAO">Faculdade de Ciências e Tecnologia</ORGANIZACAO>]:[{Categoria(Correcto:[ORGANIZACAO] Espúrio:[] Em_Falta:[]) Tipo(Correcto:[ADMINISTRACAO] Espúrio:[] Em_Falta:[]) CSC(1.75) Peso(0.6)}]
</ALT2>
</ALT>
<ALT>
<ALT1>
CATEGORIA(Precisão=0.4444444444444444 Abrangência=0.4444444444444444 Medida_F=0.4444444444444444)
Soma_CSC=0.5555555555555556
<ABSTRACCAO TIPO="ESCOLA">Faculdade</ABSTRACCAO> ---> [<ORGANIZACAO TIPO="INSTITUICAO">Faculdade</ORGANIZACAO>]:[{Categoria(Correcto:[] Espúrio:[ORGANIZACAO] Em_Falta:[ABSTRACCAO]) Tipo(Correcto:[] Espúrio:[] Em_Falta:[]) CSC(0.0) Peso(1.0)}]
<COISA TIPO="CLASSE">Ciências e Tecnologia</COISA> ---> [<COISA TIPO="CLASSE">Tecnologia</COISA>]:[{Categoria(Correcto:[COISA] Espúrio:[] Em_Falta:[]) Tipo(Correcto:[CLASSE] Espúrio:[] Em_Falta:[]) CSC(1.6666666666666667) Peso(0.3333333333333333)}]
</ALT1>
<ALT2>
CATEGORIA(Precisão=0.4444444444444444 Abrangência=0.4444444444444444 Medida_F=0.4444444444444444)
Soma_CSC=0.5833333333333333
<ORGANIZACAO TIPO="INSTITUICAO">Faculdade de Ciências</ORGANIZACAO> ---> [<ORGANIZACAO TIPO="INSTITUICAO">Faculdade</ORGANIZACAO>]:[{Categoria(Correcto:[ORGANIZACAO] Espúrio:[] Em_Falta:[]) Tipo(Correcto:[INSTITUICAO] Espúrio:[] Em_Falta:[]) CSC(1.75) Peso(0.3333333333333333)}]
<ABSTRACCAO TIPO="DISCIPLINA">Tecnologia</ABSTRACCAO> ---> [<COISA TIPO="CLASSE">Tecnologia</COISA>]:[{Categoria(Correcto:[] Espúrio:[COISA] Em_Falta:[ABSTRACCAO]) Tipo(Correcto:[] Espúrio:[] Em_Falta:[]) CSC(0.0) Peso(1.0)}]
</ALT2>
</ALT>
<ALT>
<ALT1>
CATEGORIA(Precisão=0.5 Abrangência=0.5 Medida_F=0.5)
Soma_CSC=0.0
<VARIADO TIPO="OUTRO" MORF="F,S">Ordem Nacional do Merito Cientifico do Governo Federal</VARIADO> ---> [<ORGANIZACAO TIPO="INSTITUICAO">Ordem Nacional do Merito Cientifico do Governo Federal</ORGANIZACAO>]:[{Categoria(Correcto:[] Espúrio:[ORGANIZACAO] Em_Falta:[VARIADO]) Tipo(Correcto:[] Espúrio:[] Em_Falta:[]) CSC(0.0) Peso(1.0)}]
</ALT1>
<ALT2>
CATEGORIA(Precisão=0.625 Abrangência=0.4166666666666667 Medida_F=0.5)
Soma_CSC=0.25
<VARIADO TIPO="OUTRO" MORF="F,S">Ordem Nacional do Merito Cientifico</VARIADO> ---> [<ORGANIZACAO TIPO="INSTITUICAO">Ordem Nacional do Merito Cientifico do Governo Federal</ORGANIZACAO>]:[{Categoria(Correcto:[] Espúrio:[ORGANIZACAO] Em_Falta:[VARIADO]) Tipo(Correcto:[] Espúrio:[] Em_Falta:[]) CSC(0.0) Peso(0.625)}]
<ORGANIZACAO TIPO="ADMINISTRACAO" MORF="M,S">Governo Federal</ORGANIZACAO> ---> [<ORGANIZACAO TIPO="INSTITUICAO">Ordem Nacional do Merito Cientifico do Governo Federal</ORGANIZACAO>]:[{Categoria(Correcto:[ORGANIZACAO] Espúrio:[] Em_Falta:[]) Tipo(Correcto:[] Espúrio:[INSTITUICAO] Em_Falta:[ADMINISTRACAO]) CSC(1.0) Peso(0.25)}]
</ALT2>
</ALT>
<ALT>
<ALT1>
CATEGORIA(Precisão=0.5 Abrangência=1.0 Medida_F=0.6666666666666666)
<ESPURIO>Agrupamentos de Escuteiros</ESPURIO> ---> [<ORGANIZACAO TIPO="INSTITUICAO">Agrupamentos de Escuteiros</ORGANIZACAO>]:[{Categoria(Correcto:[] Espúrio:[ORGANIZACAO] Em_Falta:[]) Tipo(Correcto:[] Espúrio:[] Em_Falta:[]) CSC(0.0) Peso(0.0)}]
</ALT1>
<ALT2>
CATEGORIA(Precisão=0.6666666666666666 Abrangência=0.6666666666666666 Medida_F=0.6666666666666666)
<ORGANIZACAO TIPO="INSTITUICAO" MORF="M,P">Escuteiros</ORGANIZACAO> ---> [<ORGANIZACAO TIPO="INSTITUICAO">Agrupamentos de Escuteiros</ORGANIZACAO>]:[{Categoria(Correcto:[ORGANIZACAO] Espúrio:[] Em_Falta:[]) Tipo(Correcto:[INSTITUICAO] Espúrio:[] Em_Falta:[]) CSC(1.75) Peso(0.3333333333333333)}]
</ALT2>
<ALT3>
CATEGORIA(Precisão=1.0 Abrangência=1.0 Medida_F=1.0)
<ORGANIZACAO|PESSOA TIPO="SUB|GRUPOMEMBRO" MORF="M,P">Agrupamentos de Escuteiros</ORGANIZACAO|PESSOA> ---> [<ORGANIZACAO TIPO="INSTITUICAO">Agrupamentos de Escuteiros</ORGANIZACAO>]:[{Categoria(Correcto:[ORGANIZACAO] Espúrio:[] Em_Falta:[]) Tipo(Correcto:[] Espúrio:[INSTITUICAO] Em_Falta:[SUB]) CSC(1.0) Peso(1.0)}]
</ALT3>
</ALT>