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
- 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.
- 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.
- 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.
- 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.
- 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.