FACULDADE DE TECNOLOGIA DE SÃO JOSÉ DOS CAMPOS
FATEC PROFESSOR JESSEN VIDAL
O uso de um parser como ferramenta para transformar lista de exercícios em um formato de troca de dados.
São José dos Campos
2015
1/20
Apresentação do problema em estudo
Ambientes virtuais de aprendizagem possibilitam que professores criem conteúdos interativos. Porém não é possível que conteúdos já existentes sejam inseridos numa AVA de maneira fácil, como por exemplo listas de exercícios que estão em documentos de texto, os professores precisam inserir manualmente cada exercício na AVA.
2/20
Objetivos do trabalho
O objetivo geral deste trabalho é desenvolver uma ferramenta que transforme listas de exercícios em formato de docx para um formato de troca de dados, por exemplo um javascript object notation (JSON). Permitindo assim que AVAs possam utilizar conteúdos dinâmicos.
3/20
Docx
Um docx é um conjuntos de arquivos xml compactados

4/20
Transformando o docx em html
Manipular docx é trabalhoso, além de que docx não é renderizado por navegadores. Sendo assim para alcançar os objetivos, antes do docx ser parseado, ele é transformado em html.
5/20
Transformação do docx em html

6/20
Modelagem como máquina de estados finitos

A máquina de estados finitos usada no projeto é uma DFA que consiste em três estados
7/20
Descrição dos estados
-
Clean Html
- Split exercises
- validate chunks
8/20
Descrição dos estados
Clean Html


9/20
Descrição dos estados
[
[
<p>Exercício 1. A teoria da velocidade das reações, ou Teoria do complexo ativado, foi proposta para explicar o comportamento cinético da interação de espécies químicas.</p>,
<p>A respeito dessa teoria, é incorreto afirmar que: </p>,
<p>a) a velocidade da reação será tanto maior quanto maior for a energia potencial do complexo ativado.</p>,
<p>b) um estado de equilíbrio é estabelecido entre os reagentes e o complexo ativado.</p>,
<p>c) o complexo ativado é uma espécie de intermediária de elevada energia potencial.</p>,
<p>d) o complexo ativado se decompõe espotaneamente, formando os produtos da reação.</p>,
<p>e) a energia de ativação da reação direta corresponde à diferença entre as energias do complexo ativado e dos reagentes.</p>,
<p>Resposta: a</p>
]
]
Split Exercises
10/20
Descrição dos estados
Validate Chunks
for chunk in self.chunks:
tags = self.get_tags(chunk)
difficulty = self.get_difficulty(chunk)
source = self.get_source(chunk)
hints = self.get_hints(chunk)
answer = self.get_answer(chunk)11/20
Implementação das expressões regulares
[\s]*?(Resposta|answer)\s*[:\).\-\s]*

12/20
Testes Unitários
Testes unitários são uma forma de garantir funcionamento correto de um sistema.
def test_parse_docx(self):
html = Docx2Html(u"Questões de matemática.docx").parsed.encode("utf-8")
fsm = FiniteStateMachineParser(html=html)
fsm.on_message("start")
exercise1 = fsm.exercises[0]
self.assertEquals(exercise1["stem"], "Qual é a raiz quadrada de 81 ?")
self.assertEquals(exercise1["choices"][0]["text"], "9")
self.assertEquals(exercise1["choices"][1]["text"], "8")
self.assertEquals(exercise1["choices"][2]["text"], "10")
self.assertEquals(exercise1["answer"], "a")13/20
Resultados
Para mostrar resultados concretos do uso dessa ferramenta, ela foi integrada com um AVA chamada QMágico.
14/20
Integração com um Ambiente Virtual de Aprendizagem

Tela de envio de arquivo
15/20
Arquivo sendo transformado
Integração com um Ambiente Virtual de Aprendizagem

16/20
Exercício sendo utilizado
Integração com um Ambiente Virtual de Aprendizagem

17/20
Considerações Finais
Contribuições
-
Desenvolvimento de uma ferramenta de transformação de documentos de texto em json.
-
Uso do conceito de máquinas de estados finitos para a arquitetura da ferramenta.
-
Uso de expressões regulares para extrair os dados do texto.
-
Integração da ferramenta com uma AVA.
18/20
Considerações Finais
Conclusões
-
É possível transformar documentos de texto em formatos de troca de dados extraindo os dados relevantes.
-
Desenvolver a ferramenta utilizando o conceito de máquina de estados finitos permite que extender a ferramenta de forma fácil.
-
Professores tem usados cada vez mais recursos digitais e remover as barreiras para o mundo digital é necessário.
19/20
Considerações Finais
Trabalhos Futuros
As contribuições alcançadas nesse trabalho servem como uma base para que educadores criem conteúdos digitais e essa base fornece a oportunidade para trabalhos futuros, tais como:
-
Permitir diversos formatos de texto como entrada, como por exemplo o formato em pdf.
-
Permitir diversos formatos de imagens.
-
Aceitar fórmulas e símbolos.
20/20
TG
By Iury Alves de Souza
TG
- 376