Skip to content

Pesquisa de detecção automática de conflitos em contratos - contribuição

Notifications You must be signed in to change notification settings

SylvioCorrea/conflict-finder-contrib

Repository files navigation

Potential Conflict Finder -- Contribuição

Repositório de contribuição sobre o trabalho original Norm Conflict Identification in Contracts.

Repositório da pesquisa original

A pesquisa visa a automatizar o descobrimento de conflitos entre normas de um mesmo contrato por meio de técnicas de processamento de linguagem natural.

Esta contribuição altera a maneira como é computada a similaridade semântica entre duas sentenças e como é feito o reconhecimento das partes de um contrato. Para isso, são incorporadas funções das bibliotecas de processamento de linguagem natural sent2vec e StanfordCoreNLP.

O artigo com detalhes e resultados da contribuição pode ser lido no pdf Conflitos_em_Contratos_Contrib.pdf constante neste repositório

Instalações necessárias

Recomenda-se o uso de uma máquina com pelo menos 5 GB de RAM e sistema operacional Linux.

É necessária a instalação de Python 2 e Java.

É necessário o download de algumas bibliotecas e modelos treinados entes da execução. Há vários downloads que podem ser feitos usando o pip do Python. Se Python 3 for a versão padrão da sua máquina, um comando pip intall deve ser substituido por py2 -m pip install

Instale a biblioteca NLTK:

  • pip install nltk

Use o interpretador interativo do python para baixar bibliotecas adicionais do nltk:

  • python
  • >>>import nltk
  • >>>nltk.download('punkt')
  • >>>nltk.download(‘averaged_perceptron_tagger’)
  • >>>nltk.download(‘wordnet’)

Instale também:

  • sent2vec (siga as instruções do repositório)
  • StanfordCoreNLP: baixe a biblioteca aqui, descompactando o arquivo dentro da pasta deste repositório.
  • Wrapper de python para esta StanfordCoreNLP: pip install stanfordcorenlp

Depois baixe o modelo toronto books unigrams de 2 GB da área de modelos pré treinados do repositório do sent2vec. Coloque este modelo dentro da pasta deste repositório

Executando testes

O script test_conflict_finder_altered.py executa o conflict-finder com a nova função de sentence embedding e cálculo de similaridade baseado em distância euclidiana. Este mesmo script pode ser chamado com um argumento cosine para executar cálculo de similaridade baseado em distância de cosseno. Resultados são impressos em thr_tr_and_fl_positives.csv.

O script test_conflict_finder_altered_new_identification.py usa a nova função de reconhecimento das partes além do sentence embedding e de cálculo de similaridade baseado em distância euclidiana. Resultados são impressos em thr_tr_and_fl_positives(new_parties).csv

O script party_extractor_test.py testa a nova função de reconhecimento das partes e imprime os resultados em Identified_parties.txt

About

Pesquisa de detecção automática de conflitos em contratos - contribuição

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages