Os arquivos "scripts" |
Última atualização:07/11/2010
Para maiores detalhes sobre os arquivos scripts, consulte a bibliografia constante no site do PERCEVAL.
Esta documentação se aplica à versão Perceval v.3.0.3.
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:
visualizar um ou mais estímulos
e/ou escutar um ou mais arquivos sonoros
em seguida, recolher uma resposta do sujeito
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.
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:
informações gerais (p.ex.: sobre autores, data, título do teste etc.)
dados sob forma de tabela (p.ex.: palavras, durações, características fonéticas, nomes de arquivos de som ou imagens etc.)
eventos (produzir um som, apresentar uma imagem, etc.)
condições experimentais a serem controladas (ordem dos estímulos, teclas de respostas, fonte dos caracteres, cor da tela, formato do arquivo de respostas etc.)
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] traz informações gerais. Estas informações são opcionais, mas aconselha-se preenchê-las para um melhor acompanhamento.
TITLE=título do experimento
AUTHOR=criadores/utilizadores do experimento
PURPOSE=sujeito do experimento
DATE=data de concepção do experimento
VERSION=versão do experimento
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.
FIELDS=lista dos campos (ex: <AFFICHAGE><AUDIO><CORRECT><TRAIT><CONTEXTE>)
TRIALii=...
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).
É 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.).
É possível:
criar uma seção [SETTINGS_COMMON] contendo as características comuns a todos os grupos.
utilizar as seções [SETTINGS_GROUPn] para precisar melhor as características específicas a cada grupo.
[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>
Veja abaixo a lista das chaves autorizadas. Para mais detalhes, clique aqui.
INSTRUCTION_FORMAT=apresentação das instruções fornecidas aos sujeitos
FINAL_MESSAGE_FORMAT=apresentação da mensagem final do experimento
TRAINING_ORDER=ordem e blocos de provas na fase de treino
TRIAL_ORDER=ordem e blocos de provas na fase de teste
RESPONSE_FORMAT=formato do arquivo de respostas (escolha das informações e dados a registrar)
TRIAL_COMMANDS=seção de comandos a executar para cada prova
TEXT_FORMAT=formato de apresentação do texto durante o experimento
IMAGE_FORMAT=formato de apresentação de uma imagem durante o experimento
INPUT=definição das teclas associadas às respostas
CORRECT=indica o estatuto de uma resposta eventualmente esperada (correta)
SOUND_FEEDBACK=reforço sonoro
DISPLAY_FEEDBACK=reforço visual
PAUSE=intervalo de inatividade entre 2 provas
RESPONSE_ITEMii=informações sobre o item de resposta n°ii
RSTATUS_MARK_FORMAT=formato de apresentação do estatuto eventual da resposta (ok, err, xxx)
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>
Por default, a seção dos comandos é única:
[TRIAL_EVENTS] para Perceval
[TRIAL_TEMPLATE] para Lancelot
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>
Veja abaixo a lista dos comandos autorizados. Para mais detalhes, .clique aqui
REM => nota (inoperante)
BEGIN => marcador de início dos comandos (inoperante)
END => marcador de fim dos comandos (inoperante)
PLAY_SOUND => produção sonora
DISPLAY_TEXT => apresentar texto
DISPLAY_FILEBMP => apresentar uma imagem bitmap
CLEAR_SCREEN => limpar a tela
WAIT => esperar
GET_INPUT => obter as respostas
Listas de comandos possíveis na seção de comandos e/ou a serem integradas nas páginas HTML.
PLAY_SOUND => produção sonora
SHOW_TEMPLATE => apresentar uma página HTML
START_CHRONO => desencadeamento do cronômetro pelo tempo de resposta
SHOW_MARK => apresentar as marcas ocultas na página HTML atual
REPLACE_STRING => substituir uma sequência de caracteres por outra
GET_RESPONSES => obter as respostas
SHOW_NEXT_TRIAL_MARK => apresentar o link que permite passar à prova seguinte
Listas complementares de comandos interativos a serem integrados apenas nas páginas HTML e interditas na seção de comandos.
INSTRUCTIONS_READ => link para sair da leitura de instruções e desencadear o teste
NEXT_TRIAL => link para passar à prova seguinte
POST_RESPONSES => ação a associar ao formulário da página HTML
FINISHED => link para sair da aplicação
Mais detalhes sobre as marcas ocultas nas páginas HTML.
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. |