[Música] e a gente segue agora para poder falar um pouco sobre a implementação eh na na implementação nós disponibilizamos é o código para uma um possível retre né ou seja o código utilizado para o treino e para o uso do modelo treinado no Git do CNJ então a gente eh pôs aqui o o link de acesso né desse desse código e esse código que está disponível ele tem um notebook que aí a gente posteriormente vou abrir aqui o notebook pra gente ir executando esses módulos Tá mas especificamente nós temos aqui os módulos que seguem cada
um dos das abordagens tanto a abordagem de grupo como a abordagem hierárquica especificamente nós separamos aqui em um módulo de pré-processamento onde esse módulo de pré-processamento vai fazer aquela etapa da aplicação do trat texto no na petição né então vai pegar a petição aplica o trata texto e devolve o texto tratado tá então nós separamos o modulo Zinho para poder fazer isso ok nós vamos ter um outro módulo que vai vai ser o módulo em cod Bert esse módulo é a etapa que faz a codificação do texto de entrada né que é o texto da
petição inicial que já foi pré-processada pela função trat texto conforme o tokenizador do modelo de linguagem que no caso aqui a gente tá especificando que o modelo de linguagem é o a gente utilizou não é o Lig Albert PT tá e nós temos um outro módulo que vai ser eh o que a gente chamou aqui de data que vai ser estruturar esses dados vai ser organizar né esses dados pré-processados que é utilizando aqui o trata texto e codificados utilizando o encode BT em um dataframe Então vai pegar esses dados e vai estruturar para que possa
ser utilizado como entrada no modelo de classificação Então quer seja a abordagem de grupo quer seja a abordagem hierárquica a gente utiliza esses três módulos de implementação o o pré-processamento do texto a codificação eh do Bert né e também eh esse get datata que é mais uma organização dos dados Ok pré-processados e codificados tá daí Se quisermos fazer o treino utilizando a abordagem de grupo a gente utiliza o módulo Run classificador grupo Ok então esse módulo Zinho ele vai fazer o treino seguindo a abordagem de grupo que nós mencionamos anteriormente E se nós quisermos utilizar
o treino utilizando a abordagem hierárquica daí a gente utiliza esse Run classificador hierárquico tá então esses três primeiros aqui eles são executados independentemente da abordagem nesta ordem tá nesta ordem trata o texto codifica depois obtém os dados aí a gente posteriormente a isso escolhe se vai utilizar o classificador de grupo ou se vai utilizar o classificador hierárquico OK aí nessa parte da utilização do modelo vou chamar aqui o Gustavo para poder nos nos falar sobre isso tá bom dia pessoal continuando apresentação aqui da da Raquel certo os dois modelos que que foram apresentados pela Raquel
tanto modelo por grupo quanto modelo hierárquico certo hoje eles estão dentro do do servidores lá do sinapse certo a gente publicou deixa eu aqui para mostrar certo dados como modelos genéricos certo eh tanto aqui o classificador de assunto por grupo e o classif classificador assunto hierárquico que a Raquel falou certo então Eh esses dois eh modelos eles podem ser consumidos certo no nosso cenário nós previmos tanto pelo pje ou uma outra aplicação que faça necessário utilizar esse modelo então ele vai se comunicar com esses modelos através de uma requisição rest certo com qualquer um desses
dois classificadores e vai ser retornado também um um um Jon certo A partir dessa resposta do response do do Jon do do rest aqui os dois modelos aqueles que eu tinha que eu tinha colocado certo o classificador de assunto por grupos deixa eu mostrar aqui no sinaps que eu acho fica melhor o grupo onde aqui dentro ele já tá publicado eu vou mostrar aqui que a a como é que foi feita a publicação certo a gente vê que ele tá rodando eh aqui tá os o tem todas as configurações que a gente faz o algoritmo
os recursos O que são esses recursos são todos aqueles cenários que a Raquel mostrou né do de cada assunto por tipo de tribunal certo então para cada assunto e tipo de tribunal eu vou ter um modelo tem o Federal pro grupo 14 Federal 95 então assim todos eu vou ter Aquela quantidade de grupos de de assuntos que foram definidos que a Raquel mostrou lá no slide certo e as separados pelas pelos tribunais em que eles têm ou não esse grupo de assuntos certo porque como a gente viu alguns tribunais não têm determinados Assuntos Então aqui
são todos os modelos que a gente subiu certo nós temos o o o algoritmo aqui eh que faz a acesso a esse modelo que já foi treinado certo então a gente sobe ele como modelo já treinado Então nesse começo aqui é só Essa parte a gente só faz a questão das configurações do algoritmo certo e configuração do Bert e uma aplicação novamente do trat texto em cima do texto que tá vindo e as funções que ele vai fazer o acesso ao modelo certo então a gente recebe aqui deixa eu mostrar aqui aqui esse mesmo código
aqui eu vou mostrar aqui no no book eh a gente tem aqui a configuração né Essas configurações que eu falei tem a parte do sinapse certo então que eu configuro tanto a função de Treinamento no caso a minha função de treinamento ela tá vazia porque o treinamento nosso modelo é feito de forma externa tem a inicialização do serviço onde eu vou baixando as dependências do meu modelo eh eu eu baixo na inicialização do serviço porque a gente encontrou uma limitação no sinal quando eu vou subir esses modelos pré-treinos ele alguns arquivos eu não consigo subir
ele como com a extensão normal acho que existe algum algum tratamento não sei que eu só consigo subir ele como um arquivo zipado certo então o que que eu faço eu subo os arquivos zpad aí na inicialização do serviço quando o serviço do sinaps vai subir eu pego esses arquivos e descompacto certo e aqui a função de serviço que nada mais ele recebe o texto da petição recebe no caso do do da classificação por grupo aí recebe o grupo de assunto e o tribunal então ele passa esse isso pro classificador certo esse 0.5 é aquele
trold que a que a Raquel falou no caso aqui tá como 0.5 e aqui o o a função de teste e a configuração aqui quando eu testo pap Line certo ele retornou aqui o resultado que ele que ele que a gente esperava certo que é aquela questão da classe com ele retorna Qual é a classe que tem mais convicção que no caso essa daqui que é a sobre aviso repete ela aqui também com a convicção 100% no caso não existe não existiu outras que ele retornasse então voltando aqui na apresentação aqui eu tenho esses dois
modelos né o por assunto e o e o hierárquico a gente vai vou mostrar agora mais a fundo o o por grupo certo ele pode ser acessado por essa URL certo essa URL é composta o qu do domínio certo esse essa parte aqui Inicial é o servidor o modelo executar serviço aqui é o domínio em que ela foi eh instalada certo essa unidade de domínio aqui o nome dela Como ela foi o modelo genérico ela fica com essa com essa prefixo gen aí classificador assunto grupo unif Versão um certo e o que é que ele
recebe ele recebe um to de autenticação padrão isso do sinapse aí recebe o texto da petição o grupo de assuntos e o tribunal aqui o código que a gente poderia fazer para acessar tanto o o o modelo certo quanto um um serviço que a gente também fez para simular esse modelo Porque como a gente Em alguns momentos tivemos indem disponibilidade do sinaps nós eh simulamos esse mesmo serviço do sinapse nós simulamos numa máquina eh Nossa para fazer o o a chamada ao modelo e retornar tanto com a mesma entrada e retornar a mesma saída caso
também a a seja decisão de quem tá implementando certo então a gente também disponibilizou isso no nas entregas e aqui a gente tem o usuário e senha que é o usuário do synaps e a senha do do synaps certo eu posso me autenticar passando esse usuário e senha por exemplo aqui um exemplo no Python eu passo esse autenticador né usuário e senha ou eu posso gerar um Tok esse Tok é gerado o quê um token Basic né Eh eu ele é formado através do usuário e senha conctado concatenado por dois pontos e aqui o o
e transformado para base 64 certo então eu posso gerar esse token aqui posso passar também na na na chamada Aqui via token ao invés de passar o usuário e senha passo a URL A petição o grupo e o tribunal de trabalho e aqui é a mensagem que ele recebe a mensagem padrão lá do sinaps que a gente Manteve É um tipo tipo de texto no caso a gente tá mandando texto puro mesmo então o conteúdo que vai ter desse texto da petição é um texto puro o grupo é esse grupo 864 e o tribunal tribunal
de trabalho eu tenho aqui um notebook que a gente eu faço acesso a esse modelo certo como o modelo tá fora do ar eu tinha feito acesso a esse serviço que a gente tinha simulado certo então o que é que ele faz ele vai retornar aquela mesma aquele mesmo valor que a gente viu quando a gente implantou o delo certo ele retorna a classe convicto que é essa a com maior convicção que é essa 864 barra 16 58/21 166 que é sobre aviso e os resultados no caso se tivesse mais de um de de uma
classificação ele retornaria aqui com um percentual de convicção de cada uma delas mas nesse primeiro aqui nessa classe convicto ele retorna a que tem maior convicção esse retorno aqui é o é o padrão que a gente tem pro modelo de classificação do sinaps então pra gente manter a mesma a mesma assinatura o que ele retorna e ficar mais fácil para quem tá trabalhando a gente também Manteve essa mesma esse mesmo formato Seguindo aqui né como eu falei A entrada é composta por uma tipo mensagem né que é um tipo texto puro poderia ser base 64
mas nós estamos trabalhando só com texto puro o conteúdo que é o texto da petição o grupo de de assunto no caso aqui nesse nesse exemplo aqui 864 e o tribunal poderia ser trabalho poderia ser Federal ou também poderia ser vazio e aqui ele vai retornar aquela aquela aquela estrutura certo de da classe convicta certo com código e descrição e todos eles que se que estão dentro daquele trch se eu botei o trch zero ele vai retornar todos ou se eu botei 50% ele vai retornar todos acima de 50% temos aqui também a questão do
do modelo hierárquico foi eh configurado aqui no similar ao modelo de grupos deixa eu mostrar aqui o hierárquico ele tá aqui também foi instalado no domínio e penu acad Unifor ele vai ter menos recursos por quê Porque ele se ele se comporta só com um modelo eu preciso só de um modelo para poder fazer eh a classificação no outro a gente viu que a gente tinha vários modelos então ele só vai ter um modelo que é esse daqui e por tribunais né que que é o Estadual Federal e o de trabalho então aí continuando aqui
ele vai ter esses esses modelos do mesmo jeito certo ele vai est no domínio o nome dele aqui segue aquele padrão com prefixo G porque ele tá modelo genérico classificador de assunto hierárqu unif e versão um novamente ele recebe um token de autenticação o texto da petição e o tribunal então a estrutura seria essa né um a mes a mesma mensagem o tipo de texto o texto né que aí no caso é um texto puro e o texto da petição e o tribunal e ele retornaria eh nesse nesses três níveis certo o primeiro nível o
segundo nível e o terceiro nível e aqui o exemplo bem parecido com na verdade é praticamente igual ao do por grupo A única diferença é que ele não tem a entrada grupo e ele vai retornar então aqui a mesma coisa a gente tem ele publicado lá no sinaps tem um modelo aqui que a gente publicou nessa máquina certo que a gente simula e aqui quando eu chamo ele vai retornar aquela mesma aquela mesma classificação que eu mostrei ali no slide que é o o o primeiro nível o segundo nível e o e o percentual de
probabilidade né de convicção em que cada um desses níveis possuem certo é só foi uma demonstração de como é que a gente pode utilizar fazer uso desses modelos que estão publicados lá no sinaps e seria isso aqui que eu tenho apresentar [Música]