Summary_Classifier

package module
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 21, 2022 License: Apache-2.0 Imports: 4 Imported by: 0

README

Summary Classifier

Projeto pensado para classificar as ementas de decisões extraídas das páginas dos tribunais de justiça de todo país.

Instal

go get -u github.com/Darklabel91/Summary_Classifier

Data Struct

Os dados de retorno podem ser bool, string ou Infered_decision, essa última é composta por:

type Infered_decision struct {
	Summary    string `json:"summary,omitempty"`
	Text       string `json:"text,omitempty"`
	Class      string `json:"classificcao,omitempty"`
	Identifier string `json:"Identifier,omitempty"`
	Court      string `json:"Court,omitempty"`
}
  • Summary: Ementa ou trecho de decisão para classificar
  • Text: Trecho de texto selecionado pelo classificador
  • Class: A classificação feita (ver a seção "Categorias" abaixo)
  • Identifier: Um identificador. É recomendado que seja utilizado o número do CNJ que a ementa está conectada para facilitar o cruzamento de dados
  • Court: O tribunal do qual a ementa foi extraída

Categorias

  • Prejudicado
  • Convertido em diligência
  • Reexame necessário
  • Parcial Provimento
  • Improvimento
  • Provimento
  • Sem Ementa
  • Casos não mapeados

Example

package main

import (
	"fmt"
	"github.com/Darklabel91/Summary_Classifier"
)

func main() {
	
	//SINGLE USE OF THE CLASSIFIER

	summary := "PROCESSUAL CIVIL. AGRAVO INERNO NO RECURSO ESPECIAL. AÇÃO DE COMPENSAÇÃO POR DANO MORAL E REPARAÇÃO POR DANO MATERIAL. DANO MORAL. OCORRÊNCIA. LONGO ATRASO NA ENTREGA DE IMÓVEL. 1. Ação de compensação por dano moral e reparação por dano material. 2. Cabimento de compensação por danos morais em virtude de longo atraso na entrega de imóvel. Precedentes. 3. Agravo interno no recurso especial não provido."
	id := "0"
	court := "STJ"

	test := Summary_Classifier.SummaryClassifier(summary, id, court)
	fmt.Println(test.Class)

	//READING A CSV WITH SUMMARY'S

	rawPath := "/Users/Desktop/Decisioes.csv"
	separator := ';'
	resultFolder := "Result"

	Summary_Classifier.SummaryClassifierCSV(rawPath, separator, resultFolder)

}

Retorno

Improvimento
Files created

Functions

Main Function:

  • Decision_Classifier(summary string, identifier string, court string) -> retorna uma Infered_decision necessitantando da ementa, identificador, tribunal. Essa função faz um uso em laço da ClassDecision, iniciando com 16 caracteres, até a totalidade de caracteres da ementa para classificar o texto.
  • SummaryClassifierCSV(rawPath string, separator rune, resultFolder string)-> retorna um CSV para uma pasta do projeto com o nome apontado em resultFolder. Para utilizar a função basta apontar o caminho do CSV (que deve ter a sequência de colunas {id, identifier, decision, court}) e o separador (';' ',' etc..)

Decision Function:

  • ClassDecision(summary string, identifier string, court string, char int) -> retorna uma Infered_decision necessitantando da ementa, identificador, tribunal e número de caracteres a serem analisados na ementa (de trás para frente).

Suport Functions:

  • Affected(text string, char int) -> retorna true para uma ementa prejudicada
  • Diligence(text string, char int) -> retorna true para uma ementa convertida em diligência
  • ExOfficioReview(text string, char int) -> retorna true para uma ementa reexame necessário
  • Partial(text string, char int) -> retorna true para uma ementa parcial provimento
  • Groundless(text string, char int) -> retorna true para uma ementa improvimento
  • HasGround(text string, char int) -> retorna true para uma ementa provimento

CSV return files

Serão retornados 9 arquivos csv apartados correspondetes a uma classificação mencionada acima, sendo esses:

  • affected.csv
  • diligence.csv
  • exOfficioReview.csv
  • partial.csv
  • groundless.csv
  • hasGrounds.csv
  • noSummary.csv
  • notMapped.csv
  • totalInfered.csv <> Compilado de todos os documentos acima

Caso não exista nenhum elemento de uma dada categoria o arquivo não será retornado.

Disclaimer

Esse classificador foi testado, até o momento, apenas com ementas dos julgados do segundo grau do TJSP (Tribunal de Justiça de São Paulo) com uma assertividade de 96%, de qualquer modo, use com cautela.

Considerações

A) Esse projeto foi criado de forma voluntária, você pode contribuir de qualquer modo. Se encontrar uma falha, não hesite em criar um “issue” ou procure corrigir você mesma(o) o erro e dar um “pull request”.

B) use os dados baixados para agregar valor, como por exemplo, para realizar análises ou publicar artigos, fazer inferências, elaborar recomendações aos poderes públicos etc. Baixar esses dados para reproduzi-los em sua página web é tirar proveito do trabalho alheio, mesmo sendo esses dados públicos.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SummaryClassifier

func SummaryClassifier(summary string, identifier string, court string) Struct.Infered_decision

func SummaryClassifierCSV

func SummaryClassifierCSV(rawDecisionPath string, separator rune, nameResultFolder string) error

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL