PLN e Big Data: O papel do Processamento de Linguagem Natural na Big Data

PLN e Big Data: O papel do Processamento de Linguagem Natural na Big Data

As tecnologias de Processamento de Linguagem Natural (PLN) já estão presentes em uma variedade de aplicações interativas comumente usadas. Isso não é diferente na área da Justiça brasileira e entre as empresas que desenvolvem soluções para esse ecossistema.

A PLN (em inglês Natural Language Processing) faz parte do campo da ciência da computação que engloba a inteligência artificial e computação cognitiva, cujo foco está na interação entre os computadores e a linguagem (natural) humana.

No artigo de hoje, analisamos o papel do PLN no Big Data com o case da Softplan, empresa que desenvolve soluções para a Justiça com o uso de inteligência artificial, e trouxemos uma solução eficaz que se utiliza dessa tecnologia.

PLN e Big Data

Hoje, cerca de 80% dos dados totais produzidos no mundo estão disponíveis na sua forma bruta sem qualquer tipo de classificação. Exemplos incluem informações de pessoas, transações comerciais, processos jurídicos, entre outros.

Embora o uso humano seja linguístico, ambíguo e desestruturado para ser interpretado por computadores, com a ajuda do PLN, esses dados não estruturados podem ser aproveitados para padrões evolutivos dentro de dados para conhecer melhor a informação contida nos dados.

No mercado jurídico o processamento de linguagem natural veio para organizar os dados, extrair informações importantes e até ajudar na classificação de processos.

O problema

Dentro da Softplan, me deparei com o seguinte problema: seria necessário extrair muitas entidades (informações não estruturadas) de diferentes tipos de documentos – nome das partes, endereço, estado civil e, principalmente, a matéria do processo. Além disso, havia a falta de dados classificados.

Para o desenvolvimento de um modelo de PLN que consiga analisar desde a árvore sintática e ignorar a ambiguidade lexical, são necessários alguns exemplos classificados.

A primeira solução

Com a junção das tarefas de criar a marcação dos dados e desenvolver o modelo de extração, resolvi desenvolver uma ferramenta que aborda o grande problema do PLN: anotação.

A abordagem típica da anotação força projetos para um efeito dominó. Sendo assim, a criação do modelo não pode começar até que o primeiro lote de anotações esteja completo, porém, a equipe de anotação não pode iniciar até receber os manuais de anotação.

Para produzir os manuais de anotações, é preciso saber quais modelos estatísticos serão necessários para a abordagem. Cada tipo de abordagem e/ou modelo PLN é necessária uma marcação diferente ou em quantidade diferente.

pln e big data
Exemplo de marcação do Trainer

 

O Trainer resolve esse problema ao permitir que o cientista de dados ou até um usuário comum conduzam suas próprias anotações, para prototipagem rápida. As ideias podem ser testadas mais rapidamente do que a primeira reunião de planejamento ser agendada.

A segunda solução

Com o problema da anotação solucionado, parti para o segundo problema: como criar um extrator de entidades eficiente o suficiente para generalizar todas as formas estruturais de um documento jurídico. Ou simplesmente como extrair qualquer tipo de informação.

Após alguns testes nos dados anotados, cheguei a seguinte sequência de processamento:

pln e big data

1 – PLN

Inicializa a estrutura responsável por compreender a linguagem natural previamente treinada, resolvendo problemas como ambiguidade lexical, sintática, semântica e anafórica.

2 – TOKENIZER

Cria tokens dos documentos.

3 – INTENT FEATURIZER

Utilizando um modelo estatístico é feita uma previsão de cada rótulo, utilizando técnicas como part-of-speech e rótulos de dependência.

pln e big data

4 – NER (Named entity recognition)

Utilizando as informações fornecidas pelo Trainer são criadas as marcações utilizando o modelo estatístico BILOU de transição. Essa etapa ilustra o processo clássico de extração da informação não estruturada e não classificada, ou seja, da entidade. Em inglês esse processo é denominado Named Entity Recognition.

5 – NER SYNONYMS

Utilizando  a técnica de word2vec, é verificado os possíveis sinônimos para os tokens criados, certificando assim que a extração reflita a realidade desejada. Mesmo que existam diversos sinônimos para a mesma palavra, o resultado sempre será o mesmo.

6- INTENT CLASSIFIER

Por fim, o modelo que classifica o texto de onde as informações serão extraídas. Utilizei as informações fornecidas pelo Intent Featurizer em conjunto com um SVN Linear otimizado por Grind Search.

Uma receita para uma anotação e classificação eficiente

A maioria das ferramentas de anotação evitam fazer sugestão para o usuário, para que não haja polarização das anotações. O Trainer assume a abordagem oposta: pergunte ao usuário o mínimo possível e tente adivinhar o resto. Assim, o modelo tenta sempre predizer uma entidade, mesmo com pouco treino.

Juntando o modelo desenvolvido com o anotador, temos uma ferramenta capaz de extrair entidades com apenas 100 exemplos diferentes. Após o desenvolvimento da primeira versão da ferramenta, é possível marcar, treinar e disponibilizar uma versão de testes da extração em apenas uma hora, não sendo necessário um cientista de dados para tal.

pln e big data
Exemplo de extração de valor da causa

 

pln e big data
Marcações atuais dentro do treino do modelo

 

Assim, chegamos a solução: um usuário especialista no negócio, sem necessidade de conhecimento em ciência de dados, estará habilitado a treinar modelos de aprendizado de máquina de altíssima sofisticação e precisão matemática. Basta seguir a “receita”, marcar os dados, clicar em “Treinar Modelo” e carregar o próximo documento para verificar as marcações sugeridas pelo modelo.

Essa é uma solução de altíssimo impacto para diferentes autores do ecossistema da Justiça. A partir dela, os teor dos documentos produzidos dentro de um processo judicial (dados não estruturados) se transformam em dados estruturados, já devidamente curados. Isso permite a redução drástica de erros de classificação e análises jurídicas mais assertivas e de melhor qualidade.

4 Comentários

  • Mauricio Seiji
    Publicado 29/12/2017 em 12:19 | Link permanente

    Excelente artigo! Obrigado Maicon.

    • Francine Cadore Francine Cadore
      Publicado 08/01/2018 em 08:36 | Link permanente

      Olá, Maurício! Tudo bem? O autor agradece pelo seu reconhecimento. Muito obrigada pela sua leitura. Um abraço.

  • Luiz Felipe Mendes
    Publicado 24/12/2017 em 06:28 | Link permanente

    Legal o post, o uso do word2vec para captação de sinonimo não ficou clara. É utilizada para “acumular” o treino em um vetor específico e diminuir a esparsidade do treino?

    Tem dois errinhos de digitação aqui “SVN Linear otimizado por Grind Search.”

  • Marcelo Aguiar
    Publicado 22/12/2017 em 22:51 | Link permanente

    Boto fé nesse mimino!
    Parabéns Maicon, excelente artigo. Assunto muito interessante e empolgante.
    Destrói fera!

Comentar

Seu e-mail não será divulgado. Campos obrigatórios são marcados *