Configurar o REMBRANDT
1. Hierarquia de variáveis de configuração
O REMBRANDT pode trabalhar sem a necessidade de especificar parâmetros de configuração, pois usa valores por omissão. No entanto, mais cedo ou mais tarde irá querer alterar um pouco o funcionamento do REMBRANDT, ou adaptá-lo às especificações de uma máquina. Isso pode ser feito da seguinte forma:
- Escrevendo um ficheiro de configuração
rembrandt.propertiese coloque-o na directoria corrente. O ficheiro de configuração deve ser XML válido, com uma etiqueta de raíz <configuration>, seguida de uma ou mais etiquetas <property>. A etiqueta <property> deve conter uma etiqueta <name> e uma etiqueta <value>, além de uma etiqueta opcional <description>.- Especificando um ficheiro de configuração como argumento da linha de comandos (ou seja,
java rembrandt.bin.Rembrandt --conf=conf-sample.xml.- Definindo variáveis de ambiente Java (
-D).Os parâmetros serão lidos nessa ordem, substituindo os valores anteriores se forem especificados mais do que uma vez. Assim sendo, as variáveis de ambiente Java têm prioridade sobre as variáveis do ficheiro de configuração passado no argumento, e este tem prioridade sobre o ficheiro
rembrandt.properties.
2. Entradas e saídas do REMBRANDT
Por omissão, o REMBRANDT usa o
STDIN, oSTDOUTe oSTDERRna codificação definida pelo parâmetro Javafile.encoding. Caso se pretenda usar ficheiros para carregar e/ou escrever dados, defina as variáveisrembrandt.${stream}.file(${stream} pode tomar os valoresinput,outputeerr), como ilustra o seguinte exemplo:
java -Drembrandt.input.file=file_input.txt -Drembrandt.output.file=file_output.txt rembrandt.bin.RembrandtO
STDERRpode ser usado para gerar estatísticas adicionais. Por omissão, oSTDERRestá activo (para desactivar, userembrandt.err.enabled=false) e gera informação no ficheirorembrandt.err.logno mais detalhada das mutações que cada EM sofreu até o seu estado final. O err pode ser reconfigurado como no seguinte exemplo:
echo "Rembrandt" | java -Drembrandt.err.file=file3.err -Drembrandt.err.writer=rembrandt.io.HTMLDocumentWriter -Drembrandt.err.styletag=rembrandt.io.HTMLStyleTag rembrandt.bin.RembrandtO
file3.errirá ser usado para escrever uma versão HTML do documento anotado. Note a presença do parâmetrorembrandt.err.writer; os parâmetrosrembrandt.${stream}.readererembrandt.${stream}.writerdefinem o formato dos ficheiros de entrada e de saída do REMBRANDT, que podem ir desde simples texto (rembrandt.io.UnformattedReadererembrandt.io.UnformattedWriter) até formatos que agregam vários documentos HTML, objectos serializados em XML, e o formato REMBRANDT. Os valores devem ser classes válidas queextendam rembrandt.io.Readererembrandt.io.Writer.O estilo das etiquetas das EM, por sua vez, são configuradas pelo parâmetro
rembrandt.output.styletag, que pode tomar o valor do nome de uma classe que extendarembrandt.io.StyleTag(por omissão, usa-se o RembrandtStyleTag). Outras configurações do estilo inclui:
rembrandt.output.tagstyle.lang, para definir a língua das etiquetas e classificaçõesrembrandt.output.tagstyle.verbose, que define os elementos a colocar na etiqueta. Os valores são:
- 0 - apenas a classificação
- 1 - acima, mais um identificador, número de frase e de termo
- 2 - acima, mais a referenciação pela Wikipédia / DBpedia
- 3 - acima, mais historial de mutação da EM
3. Configuração do motor do REMBRANDT
O parâmetro
rembrandt.core.doEntityRelation, que pode ser true ou false (por omissão, está desligado), define se, após o reconhecimento de EM, irá tentar repescar EM através da detecção de relações entre entidades.
- Vantagens: Aumenta o número de EM classificadas.
- Desvantagens:Não está optimizado, e pode demorar bastante tempo a processar em documentos longos.
O parâmetro
rembrandt.core.doALT, que pode ser true ou false (por omissão, está ligado), define se o REMBRANDT pode gerar anotações alternativas para o mesmo excerto de texto.
- Vantagens: Gera mais EM que representam melhor a expressão. Por exemplo, 'Universidade de Lisboa' fica anotada como 'Universidade de Lisboa' e 'Lisboa' ao mesmo tempo.
- Desvantagens: A etiqueta usada, <ALT>, repete o texto para apresentar as alternativas, e como tal, dificulta o seu pós-processamento.
O parâmetro
rembrandt.core.removeRemainingUnknownNE, que pode ser true ou false (por omissão, está ligado), decide o que fazer com as EM que, no final, não apresentem classificação semântica (ou seja, o seu significado é desconhecido). Por omissão, essas EM são eliminadas.
4. Configuração da SASKIA no acesso à base de dados
Para a ligação à base de dados, o módulo Saskia usa os seguintes parâmetros:
saskia.wikipedia.db.name- Especifica o nome da base de dados (por omissão, 'saskia').
saskia.wikipedia.db.url- Especifica o URL de ligação da base de dados, permitindo ligar a base de dados remotas. Por omissão, o valor éjdbc:mysql://127.0.0.1.
saskia.wikipedia.db.user- Especifica o utilizador da base de dados (por omissão, 'saskia').
saskia.wikipedia.db.password- Especifica a senha para acesso à base de dados (por omissão, 'saskia').
saskia.wikipedia.db.params- Especifica parâmetros adicionais para o conector. Por omissão, os parâmetrosuseUnicode=true&encodingCharset=UTF-8&autoReconnect=trueforçam o MySQL connector/J a usar UTF-8 nas transacções com o MySQL.
saskia.wikipedia.table.${name}- Especifica o nome das tabelas $name (page, category, categorylinks, pagelinks e redirect).