Como treinar um algoritmo de inteligência artificial (IA) na área do direito ?
Este post faz parte de uma série de publicações relacionadas à palestra de Pierre Guillou do 26/04/2018 em Brasília sobre a Inteligência Artificial, sua realidade e seu impacte na democracia (slides, post precedente : “Qual é o principio de funcionamento de um algoritmo de inteligência artificial ?”, post seguinte : “Como evitar os vieses nos dados usados para treinar um algoritmo de inteligência artificial (IA) ?”).
“Caso em direito” vs “reconhecimento de imagens” : converter dados em números
O treinamento de um IA no direito, com casos judiciários por exemplo, segue o mesmo caminho que o de uma IA a reconhecer imagens.
De fato, um caso judiciário é um conjunto qualificado de textos e números (datas por exemplo), “qualificado” significando que conhecemos o resultado (para simplificar a nossa argumentação : culpado ou não, seja 1 ou 0 na fala de um algoritmo de IA). Portanto, a questão é como converter texto em números, pois poderíamos treinar assim um algoritmo de IA para detectar correlações entre dados de casos passados e decisões judiciais processadas, e então usar esse algoritmo para prever decisões de novos casos.
Vocabulário do corpus
Por isso, basta construir o que é chamado de vocabulário do corpus utilizado para o treinamento do algoritmo de IA, ou seja, a lista de todas as palavras presentes no corpus. O vocabulário então atribui um índice a cada palavra (a mesma palavra aparece apenas uma vez no vocabulário). Cada frase do corpus pode então ser substituída por um vetor de zeros e de uns, cada um indicando a presença de uma palavra.
Por exemplo, se o corpus consistir nas 3 frases “Eu coloquei a mesa”, “Eu comi uma carne de boi com legumes” e “Eu tomei uma taça de vinho”, o vocabulário deste corpus esterá { (1, eu), (2, coloquei), (3, a), (4, mesa), (5, comi), (6, uma), (7, carne), (8, de), (9, boi), (10, com), (11, legumes), (12, tomei), (13, taça), (14, vinho) } e os vetores das 3 frases estarão :
Et voilà ! Temos vetores de números na entrada do algoritmo de IA que podemos usar para treiná-lo (nota : o método do “one hot encoding” utilizada aqui é básico. Um método mais avançado é “word embeddings”).