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