Os arquivos "scripts"

Última atualização:07/11/2010

Para maiores detalhes sobre os arquivos scripts, consulte a bibliografia constante no site do PERCEVAL.

Versão

Esta documentação se aplica à versão Perceval v.3.0.3.

Definições

Um script é um arquivo de texto que descreve as características e o transcurso de um experimento.

Chamamos trial uma prova ou tentativa que consiste em:

Em geral, um experimento é constituído de uma série de provas.

PERCEVAL é concebido para registrar não mais do que uma resposta por prova.
LANCELOT é concebido para registrar mais do que uma resposta por prova.

Os princípios da condução de experimentos por script

O transcurso de um experimento é descrito por um arquivo piloto (“script”), uma técnica já utilizada nas recomendações do projeto europeu SAM (Speech Assessment Methodology) para o sistema S.O.A.P. (cf. HOWARD-JONES, P., SAM Partnership, (1991), 'SOAP' - A Speech Output Assessment Package for Controlled Multilingual Evaluation of Synthetic Speech, Proceedings of Eurospeech 91, vol. 1, p 281-283.).

Neste tipo de método, o cerne do programa de experimentação se comporta como um analisador léxico-sintático que lê e interpreta o arquivo “script” selecionado (cf. CAVÉ, C. , DI CRISTO, P., GHIO, A. TESTON, B. (1995) Une station de tests automatisée pour l'évaluation de la qualité et l'intelligibilité de la parole. Travaux de l'Institut de Phonétique d'Aix, 16, p.123-139). Portanto, ele adapta o transcurso do teste em função dos comandos e de outras informações lidas no "script". Este tipo de operação permite uma suavidade muito maior na concepção do teste.

Os scripts podem ser escritos diretamente à mão com a condição de se utilizar uma sintaxe correta. Em complemento, um iniciante pode seguir as instruções dadas por uma aplicação de ajuda, num ambiente fácil de utilizar baseado em um menu de rolagem. Para cada sujeito submetido ao teste, um arquivo de respostas é gerado, contendo as informações necessárias à exploração dos resultados. Estes arquivos são escritos na forma de texto com tabulação e podem ser lidos diretamente como arquivo de planilha (p.ex. pelo Excel) ou por aplicações de tratamento estatístico.

Um script é um arquivo de texto composto de diferentes seções:




Figura 1 : exemplo de script PERCEVAL

Uma seção corresponde a um tipo de informação. O nome da seção é escrito da seguinte maneira: [nome_seção]. Cada seção contém um conjunto de linhas com um campo ("CLE=") e um conteúdo do campo (à direita do sinal '='). Este conteúdo pode ser fragmentado em diferentes campos de informação distintos por separadores.

A seção [INFORMATION] traz informações gerais.

A seção [TRIAL_DATA] contém um conjunto de dados.

A seção [TRIAL_EVENTS] descreve o transcurso do teste.
No exemplo da Figura 1, o comando da linha X20 permite apresentar na tela o conteúdo da 1ª coluna (#1) dos TRIAL_DATA. Por exemplo, na prova n°1 será apresentado o texto " 1) main 2) bain ". O comando da linha X30 permite fazer escutar o arquivo de som cujo nome é fornecido na 2ª coluna (#2) dos TRIAL_DATA. No nosso exemplo, será reproduzido o arquivo " bain.wav ". O comando da linha X40 inicia a espera pela resposta do sujeito. No nosso exemplo, um atraso de resposta de 2000 ms será atribuído a cada sujeito. Após esse intervalo de tempo, o resultado será considerado como ausência de resposta.

A seção [SETTINGS_GROUP1] define a configuração do teste.
Várias configurações são possíveis em um mesmo script, cada qual correspondendo a um grupo de sujeitos. Ao início do teste, as instruções ao sujeito são apresentadas na tela. Estas instruções estão contidas num arquivo de texto cujo nome é, por exemplo, " Pairemin.txt " (cf. *1). Uma fase de treino pode ser executada. As provas utilizadas são definidas em *2. Durante a fase de teste propriamente dita, a ordem das provas pode ser antecipadamente fixa ou pode-se usar uma ordem aleatória (cf. *3). O formato de apresentação (fonte de caracteres, corpo, cor etc.) é parametrizado em *4. As teclas de respostas são listadas em *5: teclas do teclado padrão (CK_…), do teclado numérico (VK_…) ou da caixa de respostas (BK_…). De acordo com a natureza do teste, é possível codificar diretamente a resposta como correta ou incorreta (cf. *6). No nosso exemplo, esta informação está contida na 3ª coluna (#3) dos TRIAL_DATA. A pausa (cf. *7) define o tempo de inatividade entre duas provas. Os resultados serão compilados num arquivo de respostas no formato descrito em *8. A Figure 2 fornece um exemplo obtido com o script acima.

Figura 2 : exemplo de arquivo de respostas ao teste dos pares mínimos

A: $SUBJECT especifica o código do sujeito.
B: $TRIAL fornece o número ordinal da prova.
C: #1 é o conteúdo da 1ª coluna dos TRIAL_DATA. No exemplo, trata-se do texto apresentado na tela, que corresponde à escolha forçada.
D: #2 é o conteúdo da 2ª coluna dos TRIAL_DATA. No exemplo, trata-se do arquivo de som reproduzido.
E: #3 é o conteúdo da 3ª coluna dos TRIAL_DATA. No exemplo, trata-se da resposta correta.
F:$RESPONSE é a resposta dada pelo sujeito.
G:$RESP_STATUS especifica se a resposta do sujeito é correcta ou não ("ok" se correta, "err" se incorreta).
H: #4 é o conteúdo da 4ª coluna dos TRIAL_DATA. No exemplo, trata-se do traço distintivo testado.
I: #5 é o conteúdo da 5ª coluna dos TRIAL_DATA. No exemplo, trata-se do contexto vocálico testado.
J: $RTIME é o tempo de resposta.

A seção INFORMATION

A seção [INFORMATION] traz informações gerais. Estas informações são opcionais, mas aconselha-se preenchê-las para um melhor acompanhamento.

Chaves autorizadas

A seção TRIAL_DATA

A seção [TRIAL_DATA] é uma tabela contendo um conjunto de dados.

Esta tabela é uma matriz de K colunas por N linhas.

Cada coluna contém um tipo de informação.

Cada linha corresponde a uma prova. Os diferentes elementos de uma linha devem ser enquadrados por separadores <...> (ex: <data1><data2>). Para facilitar a formatação dos dados entre separadores, é possível utilizar o assistente de geração de script que permite importar/copiar arquivos tabulados e salvar o resultado num texto em que cada dado é formatado com os separadores.

Chaves autorizadas

Chamada dos TRIAL_DATA

O decurso e as condições do experimento necessitarão de buscar as informações registradas nos dados TRIAL_DATA. Para isso, basta mencionar #1 para chamar os dados da coluna n°1, #2 para chamar os dados da coluna n°2 ou #AUDIO se "AUDIO" é um nome de campo que aparece na chave FIELDS=(ver acima).

A seção SETTINGS_GROUPn

É possível haver várias seções SETTINGS_GROUP por script, SETTINGS_GROUP1 correspondendo ao grupo 1, SETTINGS_GROUP2 correspondendo ao grupo 2 e assim por diante.

Cada chave da seção define as características gerais (ex: ordem das provas, formato das respostas, formato da apresentação etc.).

SETTINGS_GROUPn vs SETTINGS_COMMON

É possível:

[SETTINGS_COMMON]
FINAL_MESSAGE_FORMAT=<MessageFinal.htm>
TRAINING_ORDER=<RANDOM 1-10>
RESPONSE_FORMAT=<$DATE><$SUBJECT>...
...

[SETTINGS_GROUP1]
TITLE=<Evaluation avec feedback>
TRIAL_COMMANDS=<TRIAL_EVENTS1>
INSTRUCTION_FORMAT=<InstructionsAvecFeedback.txt>
TRAINING_ORDER=<RANDOM 11-60>
SOUND_FEEDBACK=<POSITIVE positive1.wav positive2.wav><NEGATIVE negative1.wav negative2.wav>
DISPLAY_FEEDBACK=<POSITIVE positive1.bmp positive2.bmp><NEGATIVE negative.bmp)

[SETTINGS_GROUP2]
TITLE=<Evaluation sans feedback>
TRIAL_COMMANDS=<TRIAL_EVENTS2>
INSTRUCTION_FORMAT=<InstructionsSansFeedback.txt>
TRAINING_ORDER=<RANDOM 61-100>

Campos autorizados

Veja abaixo a lista das chaves autorizadas. Para mais detalhes, clique aqui.

LANCELOT e PERCEVAL

PERCEVAL apenas

LANCELOT apenas

A seção de comandos (ex: TRIAL_EVENTS, TRIAL_TEMPLATE)

Sintaxe geral dos comandos

Um campo de comando é formada por um índice de comando, um comando e de eventuais argumentos-parâmetros. Tais campos têm todos a seguinte sintaxe:

Xn=COMANDO <(CODIGO_PARAMETRO1) VALOR_PARAMETRO1><(CODIGO_PARAMETRO2) VALOR_PARAMETRO2>

exemplo:

X10=PLAY_SOUND <#wave>
X20=DISPLAY_TEXT <#texto>

As seções de comandos

Por default, a seção dos comandos é única:

Em todo caso, se o campo TRIAL_COMMANDS é mencionado na seção SETTINGS, será o valor deste campo que explicitará a seção de comandos a ser utilizada.

exemplo:

[SETTINGS_GROUP1]
TRIAL_COMMANDS=<APRENDIZAGEM_AUDITIVA>

[SETTINGS_GROUP2]
TRIAL_COMMANDS=<APRENDIZAGEM_VISUAL>

[APRENDIZAGEM_AUDITIVA]
X10=PLAY_SOUND <#wave>

[APRENDIZAGEM_VISUAL]
X10=DISPLAY_TEXT <#texte>

Comandos autorizados

Veja abaixo a lista dos comandos autorizados. Para mais detalhes, .clique aqui

LANCELOT e PERCEVAL

PERCEVAL

LANCELOT

Listas de comandos possíveis na seção de comandos e/ou a serem integradas nas páginas HTML.

Suplemento LANCELOT

Listas complementares de comandos interativos a serem integrados apenas nas páginas HTML e interditas na seção de comandos.

Mais detalhes sobre as marcas ocultas nas páginas HTML.

Observações gerais

Os separadores

Nos scripts Perceval ou Lancelot, uma linha é composta de um campo seguido de um sinal '=' e do valor do campo.

CHAVE=valor da chave

Os diferentes elementos (parâmetros) que podem compor o valor de um campo devem ser enquadrados por separadores <...>.

CLÉ=<param1><param2>

exemplos:

TRIAL1=<data1><data2>
X10=PLAY_SOUND <file.wav><TIME_BEGIN 0><TIME_END 1000>
RESPONSE_FORMAT=<$SUBJECT><$TRIAL><#2>

Se, por um motivo qualquer, o conteúdo de um parâmetro tiver de ser composto pelos sinais '<' ou '>', será necessário reforçar os separadores de parâmetros pelos sinais '<%separator%' no lugar de '<' e '%separator%>' no lugar de '>'.

exemplos :

TRIAL1=<%separator% 10>2 %separator%><vrai>
RSTATUS_MARK_FORMAT=
<%separator% OK <B><FONT COLOR="#008800">Correct</FONT></B> %separator%>


© Versão brasileira: Rui Rothe-Neves - Laboratório de Fonética, FALE - UFMG, (Apoio: CNPq, Bolsa de Produtividade em Pesquisa - nº 311484/2009-3; CNPq, Modalidade: Auxílio a Pesquisa – nº 506337/2010-3). Edição: Cássia R. O. Ribeiro.