{
  "fetched_at": "2026-10-20T08:04:47Z",
  "source_url": "https://www.kaggle.com/competitions/enap-reconhecimento-de-entidades-nomeadas/data",
  "pages": [
    {
      "name": "data-description",
      "content": "## Base de treinamento\n\nA base de treinamento contém o `id`, os `tokens` e o `ner_tags` em uma lista. \n\n\n|  id  | tokens                                                                                                  | ner_tags                              |\n|------|---------------------------------------------------------------------------------------------------------|---------------------------------------|\n| 0  | ['EU', 'rejects', 'German', 'call', 'to', 'boycott', 'British', 'lamb', '.']                           | [3, 0, 7, 0, 0, 0, 7, 0, 0]           |\n| 1  | ['Peter', 'Blackburn']                                                                                  | [1, 2]                                |\n| 2  | ['BRUSSELS', '1996-08-22']                                                                              | [5, 0]                                |\n| 3  | ['The', 'European', 'Commission', 'said', 'on', 'Thursday', 'it', 'disagreed', 'with', 'German', 'advice', 'to', 'consumers', 'to', 'shun', 'British', 'lamb', 'until', 'scientists', 'determine', 'whether', 'mad', 'cow', 'disease', 'can', 'be', 'transmitted', 'to', 'sheep', '.'] | [0, 3, 4, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] |\n| 4  | ['Germany', \"'s\", 'representative', 'to', 'the', 'European', 'Union', \"'s\", 'veterinary', 'committee', 'Werner', 'Zwingmann', 'said', 'on', 'Wednesday', 'consumers', 'should', 'buy', 'sheepmeat', 'from', 'countries', 'other', 'than', 'Britain', 'until', 'the', 'scientific', 'advice', 'was', 'clearer', '.'] | [5, 0, 0, 0, 0, 3, 4, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0] |\n\n<br>A base de treinamento pode ser acessada com as seguintes linhas de código:\n\n```python\n!pip install -q datasets \nfrom datasets import load_dataset\ntrain_dataset = load_dataset(\"conll2003\", split=\"train\")\n```\nAs informações relevantes para a tarefa de NER são as chaves `tokens` e `ner_tags`.\n\n```python\nwords = train_dataset['tokens']\nner_tags = train_dataset['ner_tags']\n```\nExemplo de amostra de treinamento:\n\n```python\n>>> words[0]\n['EU', 'rejects', 'German', 'call', 'to', 'boycott', 'British', 'lamb', '.']\n>>> ner_tags[0]\n[3, 0, 7, 0, 0, 0, 7, 0, 0]\n```\n\n## Base de teste\n\nA base de teste contém o `id` e os `tokens` em uma lista. \n\n| id   | tokens                                       |\n|------|----------------------------------------------|\n| 2619 | ['(', '52.76', '/', '53.18', ')']           |\n| 456  | ['WESTERN', 'CONFERENCE']                   |\n| 102  | ['Wasim', 'Akram', 'b', 'Harris', '4']      |\n| 3037 | ['Mansfield', '21', '5', '9', '7', '21', '22', '24'] |\n| 1126 | ['--', 'New', 'York', 'Commodities', 'Desk', ',', '212-859-1640'] |\n\n<br>A base de teste pode ser lida com as seguintes linhas de código:\n\n```python\nimport pandas as pd\nfrom datasets import Dataset\n\ntest_dataset = pd.read_csv('test.csv')\ntest_dataset = Dataset.from_pandas(test_dataset)\n```\n\nA informação relevante para a tarefa de NER são os tokens:\n\n```python\nwords = test_dataset['tokens']\n```\n",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Description",
      "content": "Para a tarefa de NER, é altamente recomendável utilizar redes neurais recorrentes, como LSTM e BiLSTM (Bidirectional LSTM). Essas arquiteturas são especialmente adequadas para lidar com a natureza sequencial e contextual das informações de texto, permitindo que o modelo capture dependências de longo alcance entre as palavras. Além disso, é crucial utilizar embeddings pré-treinados, como Word2Vec, GloVe ou BERT, para melhorar a representação semântica das palavras e capturar relações contextuais entre elas. Esses vetores de embedding fornecem ao modelo um conhecimento prévio das relações entre as palavras, o que ajuda a melhorar o desempenho da tarefa de NER. ",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Conjunto de dados",
      "content": "A base a ser utilizada é a CoNLL-03. Ela é um conjunto de dados frequentemente utilizado na área de PLN e, em particular, em tarefas de NER. Essa base consiste em textos em inglês anotados manualmente com informações sobre entidades nomeadas, como pessoas, organizações, locações e outras categorias relevantes. Cada token no texto é rotulado com sua respectiva entidade nomeada.\n\nExemplo de amostra da base:\n\n```python\n{'id': '0',\n 'tokens': ['EU', 'rejects', 'German', 'call', 'to', 'boycott', 'British', 'lamb', '.'],\n 'pos_tags': [22, 42, 16, 21, 35, 37, 16, 21, 7],\n 'chunk_tags': [11, 21, 11, 12, 21, 22, 11, 12, 0],\n 'ner_tags': [3, 0, 7, 0, 0, 0, 7, 0, 0]}\n```\nAs informações relevantes para o NER são as chaves `tokens` e `ner_tags`.\n\nAs entidades presentes na base são:\n\n0. O (Out): Indica que o token não faz parte de nenhuma entidade nomeada. Este é o rótulo padrão atribuído a tokens que não são parte de uma entidade específica.\n\n1. B-PER (Begin-PERSON): Indica o início de uma entidade nomeada de pessoa. Por exemplo, \"John\" em \"John Doe\".\n\n2. I-PER (Inside-PERSON): Indica que o token faz parte de uma entidade nomeada de pessoa, mas não é o primeiro token. Por exemplo, \"Doe\" em \"John Doe\".\n\n3. B-ORG (Begin-ORGANIZATION): Indica o início de uma entidade nomeada de organização. Por exemplo, \"Google\" em \"Google Inc.\".\n\n4. I-ORG (Inside-ORGANIZATION): Indica que o token faz parte de uma entidade nomeada de organização, mas não é o primeiro token. Por exemplo, \"Inc.\" em \"Google Inc.\".\n\n5. B-LOC (Begin-LOCATION): Indica o início de uma entidade nomeada de localização. Por exemplo, \"Paris\" em \"Paris, França\".\n\n6. I-LOC (Inside-LOCATION): Indica que o token faz parte de uma entidade nomeada de localização, mas não é o primeiro token. Por exemplo, \"França\" em \"Paris, França\".\n\n7. B-MISC (Begin-MISC): Indica o início de uma entidade nomeada de categoria miscelânea, que pode incluir eventos, produtos, entre outros. Por exemplo, \"Copa do Mundo\" em \"Copa do Mundo de 2018\".\n\n8. I-MISC (Inside-MISC): Indica que o token faz parte de uma entidade nomeada miscelânea, mas não é o primeiro token. Por exemplo, \"de\" em \"Copa do Mundo de 2018\".",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "rules",
      "content": "Não trapaceie!\nAplique-se!\nDivirta-se!",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "abstract",
      "content": "O objetivo deste exercício é desenvolver um modelo de Reconhecimento de Entidades Nomeadas (NER) usando técnicas de aprendizado profundo, especificamente RNNs e LSTM, para identificar e classificar entidades nomeadas em texto. A base de dados CoNLL-03 é uma escolha popular para tarefas de NER, pois contém textos em inglês anotados com informações de entidades como locações, pessoas, organizações, etc. Para melhorar o desempenho do modelo, é sugerido: 1) Utilize camadas bidirecionais LSTM e atenção para capturar melhor o contexto das palavras; 2) Testar outros embedding com vetores pré-treinados para melhorar a representação semântica das palavras; e 3) aplicar técnicas de aumento de dados e regularização para as entidades mais desbalanceadas e evitar overfitting. \n**Induza seu próprio modelo!**",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Avaliação",
      "content": "Na avaliação do desempenho do modelo para NER, será utilizada a métrica acurácia para calcular a capacidade de identificar as entidades nomeadas. A acurácia será calculada da seguinte forma: dado uma sentença i com x palavras, o modelo deve predizer x rótulos. Esses rótulos serão comparados individualmente com os rótulos originais y.",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    },
    {
      "name": "Arquivo de submissão",
      "content": "Para cada `id` do conjunto de teste, você deve predizer o atributo `ner_tags` como uma lista de rótulos. Os rótulos são os números que definem as entidades. O arquivo deve conter um cabeçalho separado por vírgula no seguinte formato:\n\n| id   | ner_tags    |\n|------|-------------|\n| 2619 | [0, 0, 0, 0, 0] |\n| 456  | [0, 0]      |\n| 102  | [1, 2, 0, 1, 0] |\n| 3037 | [3, 0, 0, 0, 0, 0, 0, 0] |\n| 1126 | [0, 3, 4, 4, 0, 0, 0] |\n",
      "isPublished": false,
      "hasIsPublished": false,
      "postTitle": "",
      "hasPostTitle": false,
      "mimeType": "",
      "hasMimeType": false
    }
  ]
}