Skip to content

Commit 83d5a52

Browse files
author
fillol
committed
Initial Commit
1 parent 187a366 commit 83d5a52

17 files changed

Lines changed: 359 additions & 0 deletions

CSV/read.go

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package CSV
2+
3+
import (
4+
"encoding/csv"
5+
"github.com/Darklabel91/Summary_Classifier/Error"
6+
"github.com/Darklabel91/Summary_Classifier/Struct"
7+
"os"
8+
)
9+
10+
func ReadCsvFile(filePath string, separator rune) []Struct.Raw_decision {
11+
var data2 []Struct.Raw_decision
12+
13+
csvFile, err := os.Open(filePath)
14+
Error.CheckError(err)
15+
16+
defer csvFile.Close()
17+
18+
csvLines := csv.NewReader(csvFile)
19+
csvLines.Comma = separator
20+
csvData, err1 := csvLines.ReadAll()
21+
Error.CheckError(err1)
22+
23+
for _, line := range csvData {
24+
emp := Struct.Raw_decision{
25+
Summary: line[0],
26+
Identifier: line[1],
27+
Court: line[2],
28+
}
29+
30+
data2 = append(data2, emp)
31+
}
32+
return data2
33+
}

CSV/write.go

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package CSV
2+
3+
import (
4+
"encoding/csv"
5+
"fmt"
6+
"github.com/Darklabel91/Summary_Classifier/Error"
7+
"github.com/Darklabel91/Summary_Classifier/Struct"
8+
"os"
9+
"path/filepath"
10+
)
11+
12+
func create(p string) (*os.File, error) {
13+
if err := os.MkdirAll(filepath.Dir(p), 0770); err != nil {
14+
return nil, err
15+
}
16+
fmt.Println("Criou .csv")
17+
return os.Create(p)
18+
}
19+
20+
func ExportCSV(nameFile string, nameFolder string, result []Struct.Infered_decision) {
21+
empData := [][]string{}
22+
23+
for i := 0; i < len(result); i++ {
24+
final := []string{result[i].Summary, result[i].Text, result[i].Class, result[i].Identifier, result[i].Court}
25+
empData = append(empData, final)
26+
}
27+
28+
csvFile, _ := create(nameFolder + "/" + nameFile + ".csv")
29+
csvwriter := csv.NewWriter(csvFile)
30+
31+
for _, empRow := range empData {
32+
_ = csvwriter.Write(empRow)
33+
}
34+
csvwriter.Flush()
35+
err := csvFile.Close()
36+
Error.CheckError(err)
37+
}

Classifier/classifier.go

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package Classifier
2+
3+
import (
4+
"github.com/Darklabel91/Summary_Classifier/Functions"
5+
"github.com/Darklabel91/Summary_Classifier/Struct"
6+
)
7+
8+
func ClassDecision(summary string, identifier string, court string, char int) Struct.Infered_decision {
9+
var class string
10+
var text = Functions.SelectLastChars(summary, char)
11+
12+
if Functions.ExOfficioReview(text, char) {
13+
class = "Reexame Necessário"
14+
} else if Functions.Diligence(text, char) {
15+
class = "Convertido em Diligência"
16+
} else if Functions.Affected(text, char) {
17+
class = "Prejudicado"
18+
} else if Functions.Partial(text, char) {
19+
class = "Parcial Provimento"
20+
} else if Functions.Groundless(text, char) {
21+
class = "Improvimento"
22+
} else if Functions.HasGround(text, char) {
23+
class = "Provimento"
24+
} else if Functions.Number(text) {
25+
class = Functions.NumberAnalysis(summary, char+26)
26+
} else if Functions.Vote(text) {
27+
class = Functions.VoteAnalysis(summary, char+24)
28+
} else if text == "Ementa pequena" {
29+
class = "Sem Informação"
30+
} else {
31+
class = "Não Mapeado"
32+
}
33+
34+
return Struct.Infered_decision{
35+
Summary: summary,
36+
Text: text,
37+
Class: class,
38+
Identifier: identifier,
39+
Court: court,
40+
}
41+
}

Error/error.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
package Error
2+
3+
func CheckError(err error) {
4+
if err != nil {
5+
panic(err)
6+
}
7+
}

Functions/affected.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package Functions
2+
3+
func Affected(text string, char int) bool {
4+
5+
var less17 = []string{"dicado", "extinção da punibilidade", "icado", "perda do objeto", "prejudicad", "prejudicado", "prejudicada", "perda superveniente do objeto", "prejudicando o exame"}
6+
var more17 = []string{"extinção da punibilidade", "perda do objeto", "prejudicad", "prejudicado", "prejudicada", "perda superveniente do objeto", "prejudicando o exame"}
7+
8+
ret := matchWords(text, char, less17, more17)
9+
10+
return ret
11+
}

Functions/diligence.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package Functions
2+
3+
func Diligence(text string, char int) bool {
4+
5+
var less17 = []string{"conversão do julgamento em diligência", "convertido em diligência", "diligência"}
6+
var more17 = []string{"acórdão em diligência", "conversão do julgamento em diligência", "conversão do feito em diligência", "convertido em diligência", "decisão em diligência", "julgalmento em diligência", "sentença em diligência"}
7+
8+
ret := matchWords(text, char, less17, more17)
9+
10+
return ret
11+
}

Functions/exOfficio_review.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package Functions
2+
3+
func ExOfficioReview(text string, char int) bool {
4+
5+
var less17 = []string{"reexame necessário", "xame necessário"}
6+
var more17 = []string{"reexame necessário"}
7+
8+
ret := matchWords(text, char, less17, more17)
9+
10+
return ret
11+
}

Functions/ground.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package Functions
2+
3+
func HasGround(text string, char int) bool {
4+
5+
var less17 = []string{"absolver", "absolvição", "absolvida", "absolvido", "acolhem-se-os", "acolhi", "acolhid", "acolhida", "acolhido", "acolhimento", "adequado", "adequação", "admissibilidade", "ajustamento dessa decisão que se impõe", "alterad", "anulad", "anulada", "anulado", "anulem-se", "cabe reconhecer", "cassada", "cassado", "concedid", "conhecid", "concessão da ordem", "correção de erro material", "dá-se provimento", "decisão atacada", "decisaão retratada", "deferid", "deferimento", "devid", "entença anulada", "hecer a omissão", "homologa", "homologad", "homologado", "modificação", "modificad", "possibilidade", "procedência", "procedente", "provid", "provimento", "readequa", "readequação", "recebido", "reconhecer a omissão", "reconheci", "reconhecid", "reconhecimento de ofício", "reformad", "reformada", "reformado", "retratada", "revist", "revogad", "rovido", "sentença anulada"}
6+
var more17 = []string{"absolver", "absolvição", "absolvida", "absolvido", "acolhem-se-os", "acolhida", "acolhido", "acolhimento", "adequado", "adequação", "ajustamento dessa decisão que se impõe", "anulada", "anulado", "anulem-se", "anulação", "cabe reconhecer", "cassada", "cassado", "concedid", "concessão da ordem", "concessão da segurança", "conflito conhecido", "correção de erro material", "dá-se provimento", "decisão atacada", "decisaão retratada", "deferid", "deferimento", "homologad", "modificação", "modificad", "possibilidade", "procedência", "procedente", "provid", "provimento", "readequação", "readequa", "recebid", "reconhecer a omissão", "reconheci", "reconhecid", "reconhecimento de ofício", "reformada", "reformado", "retratada", "revist", "revogad", "rovido", "sentença anulada"}
7+
8+
ret := matchWords(text, char, less17, more17)
9+
10+
return ret
11+
}

Functions/groundless.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package Functions
2+
3+
func Groundless(text string, char int) bool {
4+
var less17 = []string{"a-se provimento", "acórdão confirmado", "afastad", "ão conhecid", "ção do decidido", "confirmad", "de nenhum deles se conhece", "decisão confirmada", "degenada", "denega", "denegada", "denegado", "deprovid", "desacolhid", "desacolhida", "desacolhido", "descabid", "descabida", "descabido", "descabidos", "descabimento", "desconheci", "desprovi", "desprovid", "desprovida", "desprovido ", "desprovido", "desprovido", "desprovimento do recurso", "desprovimento", "ega conhecimento", "gado provimento", "impossibilidade", "improcedência mantida", "improcedência", "improcedente", "improvid", "impróvid", "improvida", "improvido", "improvimen", "improvimento", "inaplicabilidade do princípio da fungibilidade recursal", "inadimissível", "inadimitida", "inadimitido", "inadmitido", "indefere-se", "indefere", "indeferi", "indeferid", "indeferimento", "indevid", "julgamento confirmado", "mantém-se", "mantém", "mantid", "mantida", "mantido", "manutenção do decidido", "manutenção", "não autorizado", "não cabe conhecer", "não cabe reconhecer", "não conheceram", "não conhecid", "não conhecida", "não conhecido", "não conhecimento", "não provid", "não provimento", "não se conhece", "não se há de", "não há fundamento para acolhimento", "não", "nega conhecimento", "nega provimento", "nega-se provimento", "nega", "negado provimento", "negam-se", "negaram provimento", "nego provimento", "nego", "rejei", "rejeição ", "rejeição", "rejeitad", "rejeitada", "rejeitam-se", "rejeitado", "rejeito", "repelid", "repelido", "repelidos", "retratação não exercid", "se os embargos", "sem alteração do resultado", "sem alteração dos resultados", "sem efeitos modificativos", "sem efeito modificativo", "sentença confirmada"}
5+
var more17 = []string{"acórdão confirmado", "afastad", "de nenhum deles se conhece", "decisão confirmada", "degenada", "denega", "denegada", "denegado", "deprovid", "desacolhid", "desacolhida", "desacolhido", "descabid", "descabida", "descabido", "descabimento", "desconheci", "desprovid", "desprovida", "desprovido ", "desprovido", "desprovimento", "impossibilidade", "improcedência mantida", "improcedência", "improcedente", "impróvid", "improvida", "improvido", "improvimento", "inaplicabilidade do princípio da fungibilidade recursal", "inadimissível", "inadimitida", "inadimitido", "indefere-se", "indefere", "indeferid", "indeferimento", "indevid", "julgamento confirmado", "mantém-se", "mantém", "mantida", "mantido", "manutenção do decidido", "manutenção", "não autorizado", "não cabe conhecer", "não conheceram", "não conhecid", "não conhecida", "não conhecido", "não conhecimento", "não provid", "não provimento", "não se conhece", "não se há de", "não há fundamento para acolhimento", "nega conhecimento", "nega provimento", "nega-se provimento", "negado provimento", "negado conhecimento", "negam-se", "negaram provimento", "nego provimento", "rejeição ", "rejeição", "rejeitad", "repelido", "rejeitam-se", "repelidos", "retratação não exercid", "sem alteração do resultado", "sem alteração dos resultados", "sem efeito modificativo", "sem efeitos modificativos", "sentença confirmada"}
6+
7+
ret := matchWords(text, char, less17, more17)
8+
9+
return ret
10+
}

Functions/lastChar.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package Functions
2+
3+
import "strings"
4+
5+
func SelectLastChars(summary string, char int) string {
6+
var finalText string
7+
if len(summary) >= char {
8+
finalText = strings.ToLower(summary[len(summary)-char:])
9+
} else {
10+
finalText = "Ementa pequena"
11+
}
12+
return finalText
13+
}

0 commit comments

Comments
 (0)