Pular para o conteúdo principal

Questão de TI - Ciência de Dados e Inteligência Artificial — Scikit-Learn — FCC 2026

TI - Ciência de Dados e Inteligência ArtificialScikit-Learn
Código
fc142111
Banca
FCC
Órgão
MPE SE
Ano
2026
Cargo
Ana ( )
Um Ministério Público deseja testar o uso de Processamento de Linguagem Natural (NLP) para classificar automaticamente textos, como forma de triagem preliminar de documentos recebidos.   Para isso, uma analista desenvolveu o código em Python abaixo.   from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.linear_model import LogisticRegression from sklearn.model_selection import train_test_split from sklearn.metrics import classification_report, accuracy_score import numpy as np   texts = [      # Jurídico      "Petição inicial com pedido de tutela de urgência e documentos anexos.",      "Despacho determinando a intimação das partes para audiência de instrução.",      "Autos conclusos ao juiz para análise de mérito e sentença.",      "Recurso de apelação interposto contra decisão de primeira instância.",      "Requerimento de sigilo de peças processuais por proteção de dados pessoais.",      # Não-jurídico      "Relatório financeiro do trimestre com receitas e despesas consolidadas.",      "Convite para reunião estratégica entre equipes de tecnologia e produto.",      "Artigo científico sobre redes neurais e aprendizado profundo.",      "Manual de procedimentos internos para manutenção de servidores.",      "E-mail de boas-vindas aos novos colaboradores do setor administrativo."   ]   labels = np.array([1, 1, 1, 1, 1, 0, 0, 0, 0, 0])   X_train, X_test, y_train, y_test = train_test_split(     texts, labels, test_size=0.3, random_state=42, stratify=labels )   vectorizer = TfidfVectorizer(ngram_range=(1,2), max_features=2000)   X_train_tfidf = vectorizer.fit_transform(X_train) X_test_tfidf = vectorizer.transform(X_test)   model = LogisticRegression(max_iter=200) model.fit(X_train_tfidf, y_train)   y_pred = model.predict(X_test_tfidf) print("Acurácia no conjunto de teste:", round(accuracy_score(y_test, y_pred), 3)) print("\nRelatório de classificação:\n") print(classification_report(y_test, y_pred, target_names=["não-jurídico", "jurídico"]))   Considerando que este será executado em condições ideais, pode-se afirmar que o código
  1. Autiliza TF-IDF para transformar os textos em vetores numéricos e treina uma Regressão Logística para distinguir automaticamente documentos jurídicos de não jurídicos, gerando métricas como acurácia e relatório de classificação.
  2. Btreina um classificador Naive Bayes baseado em Logistic Regression que prevê probabilidades de classes e calcula automaticamente embeddings de palavras com o uso de TF-IDF.
  3. Caplica técnicas de clustering não supervisionado para agrupar documentos por similaridade sobre os vetores de texto, estimando valores contínuos que depois são convertidos em classes jurídicas e não jurídicas.
  4. Dimplementa um pipeline com deep learning, utilizando embeddings word2vec e camadas LSTM para classificação de sentenças jurídicas e não jurídicas.
  5. Eutiliza TF-IDF para gerar vetores numéricos e, em seguida, aplica um Logistic Regression baseado em Support Vector Machine (SVM) para separar documentos jurídicos e não jurídicos, retornando margens de decisão.
Revelar gabarito e comentário

GabaritoA — utiliza TF-IDF para transformar os textos em vetores numéricos e treina uma Regressão Logística para distinguir automaticamente documentos jurídicos de não jurídicos, gerando métricas como acurácia e relatório de classificação.

Link permanente: /questoes/fc142111