Pular para o conteúdo principal

Questão de Programação — Python — FGV 2024

ProgramaçãoPython
Código
fg099878
Banca
FGV
Órgão
TJ-RR
Ano
2024
Nível
Superior
Cargo
Analista Judiciário - Ciência de Dados e Analytics
A biblioteca spaCy é utilizada em diferentes tarefas de Processamento de Linguagem Natural. Ela disponibiliza o módulo ‘pt_core_news_sm’, que contém dados específicos provenientes de textos em português.Considere o trecho de código em linguagem Python a seguir.Imagem associada para resolução da questãoAdmitindo que a biblioteca spaCy e o modelo 'pt_core_news_sm' já estejam instalados na máquina em que o trecho de código será executado, a string impressa no prompt após a execução será
  1. A(Tribunal de Justiça do Estado de Roraima, Boa Vista).
  2. B(Tribunal de Justiça, Estado de Roraima, Boa Vista).
  3. C(Tribunal de Justiça, Estado, Roraima, Boa Vista, capital).
  4. D(Tribunal de Justiça, Estado, Roraima, Boa Vista, capital do estado).
  5. E(Tribunal de Justiça, Estado, Roraima, Boa Vista, capital, estado).
Revelar gabarito e comentário

GabaritoA — (Tribunal de Justiça do Estado de Roraima, Boa Vista).

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

spaCy: reconhecimento de entidades nomeadas (NER)

Gabarito: letra A. O trecho de código utiliza o modelo pt_core_news_sm da biblioteca spaCy para realizar o reconhecimento de entidades nomeadas (NER) em um texto. A string impressa é (Tribunal de Justiça do Estado de Roraima, Boa Vista), pois o modelo identifica "Tribunal de Justiça do Estado de Roraima" como uma única entidade do tipo ORG (organização) e "Boa Vista" como uma entidade do tipo GPE (localização geopolítica). As demais alternativas fragmentam incorretamente a entidade organizacional.

O reconhecimento de entidades nomeadas (NER) é uma tarefa fundamental do Processamento de Linguagem Natural (PLN) que consiste em identificar e classificar automaticamente trechos de texto que correspondem a entidades como pessoas, organizações, locais, datas, valores, entre outras. A biblioteca spaCy é uma das ferramentas mais populares para essa tarefa, oferecendo modelos pré-treinados para diversos idiomas, incluindo o português, através do módulo pt_core_news_sm.

O modelo pt_core_news_sm é um modelo estatístico treinado em um corpus de textos em português. Ele é capaz de realizar diversas tarefas de PLN, como a análise morfossintática (POS tagging), a análise de dependências (dependency parsing) e, crucialmente para esta questão, o reconhecimento de entidades nomeadas. Quando o modelo processa um texto, ele retorna um objeto Doc que contém os tokens e as entidades identificadas. Cada entidade é representada por um objeto Span que possui um atributo label_ indicando o tipo da entidade (por exemplo, ORG para organização, GPE para localização geopolítica, PERSON para pessoa, etc.).

No trecho de código da questão, o texto processado é "Tribunal de Justiça do Estado de Roraima, Boa Vista". O modelo pt_core_news_sm identifica as seguintes entidades:

  • "Tribunal de Justiça do Estado de Roraima" como uma entidade do tipo ORG (organização). O modelo reconhece que essa sequência de palavras forma um nome próprio de uma instituição, e por isso a agrupa como uma única entidade.

  • "Boa Vista" como uma entidade do tipo GPE (geopolitical entity), que se refere a uma localização geográfica, como uma cidade, estado ou país.

A saída do código, que imprime a tupla (entidade.label_, entidade.text), será portanto (ORG, 'Tribunal de Justiça do Estado de Roraima') e (GPE, 'Boa Vista'). A string impressa no prompt, conforme o código, é a representação dessa tupla, resultando em (Tribunal de Justiça do Estado de Roraima, Boa Vista).

A pegadinha desta questão está na fragmentação da entidade organizacional. O candidato pode ser tentado a separar "Tribunal de Justiça" de "do Estado de Roraima", ou ainda a classificar "Roraima" como uma entidade separada. No entanto, o modelo spaCy, treinado com dados do português, reconhece a expressão completa como uma única organização. É importante entender que o NER não se baseia em regras gramaticais simples, mas em padrões estatísticos aprendidos durante o treinamento do modelo.

  1. 1Carregar modelo pt_core_news_sm
  2. 2Processar texto (Doc)
  3. 3Identificar entidades (Span)
  4. 4Imprimir (label_, texto)
LEVEL · soulevel.com.br

Alternativa A — ✅ Correta ⟵ GABARITO

Esta alternativa está correta porque reflete exatamente a saída do modelo spaCy. O modelo identifica "Tribunal de Justiça do Estado de Roraima" como uma única entidade do tipo ORG e "Boa Vista" como uma entidade do tipo GPE. A tupla impressa é (ORG, 'Tribunal de Justiça do Estado de Roraima') e (GPE, 'Boa Vista'), que formatada como string resulta em (Tribunal de Justiça do Estado de Roraima, Boa Vista). A alternativa apresenta a sequência correta de entidades, sem fragmentar a organização.

Alternativa B — ❌ Incorreta

Esta alternativa fragmenta a entidade organizacional, separando "Tribunal de Justiça" de "Estado de Roraima". O modelo spaCy, no entanto, reconhece a expressão completa "Tribunal de Justiça do Estado de Roraima" como uma única entidade do tipo ORG. A separação em duas entidades distintas não corresponde ao comportamento do modelo treinado.

Alternativa C — ❌ Incorreta

Esta alternativa fragmenta ainda mais o texto, separando "Estado" de "Roraima" e adicionando "capital" como uma entidade. O modelo não identifica "Estado" como uma entidade separada, nem "capital" como uma entidade nomeada. A saída correta agrupa "Tribunal de Justiça do Estado de Roraima" como uma única entidade ORG e "Boa Vista" como GPE, sem incluir "capital".

Alternativa D — ❌ Incorreta

Esta alternativa também fragmenta a entidade organizacional e adiciona "capital do estado" como uma entidade. O modelo não produz essa segmentação. A saída correta é a agrupação de "Tribunal de Justiça do Estado de Roraima" como ORG e "Boa Vista" como GPE, sem a inclusão de "capital do estado".

Alternativa E — ❌ Incorreta

Esta alternativa fragmenta o texto em várias entidades separadas: "Tribunal de Justiça", "Estado", "Roraima", "Boa Vista", "capital", "estado". O modelo spaCy não realiza essa segmentação. Ele reconhece "Tribunal de Justiça do Estado de Roraima" como uma única entidade ORG e "Boa Vista" como GPE. A alternativa apresenta uma segmentação incorreta e inclui termos que não são entidades nomeadas.

Gabarito: letra A

Link permanente: /questoes/fg099878