Files
INTUIA/Testes/Modelo Sentiment analises.ipynb
T

4899 lines
1.4 MiB
Plaintext
Raw Normal View History

2026-03-15 13:27:50 +00:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<div align=\"center\">\n",
" <img src=\"https://dl.dropboxusercontent.com/scl/fi/w9jyapb2uonau7dx6x2ov/dasdasd.png?rlkey=tz2ijoae8n0o9nrb5vmbo39hi&st=tgr9c8os&dl=0\" alt=\"Texto Alternativo\">\n",
" <h1>Relatório da Unidade Curricular de Text Mining</h1>\n",
" <h2>Mestrado em Ciência de Dados</h2>\n",
" <p><b>Sentiment Analyses for PJ/PJM interviews</b></p>\n",
" <p>João Romão, 2230063<br>\n",
" José Garcia, 2232565<br>\n",
" Flávio Santos, 2230395\n",
" </p>\n",
" <p>Leiria, 06 de dezembro de 2024</p>\n",
"</div>\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"import seaborn as sns\n",
"import numpy as np\n",
"from matplotlib import pyplot as plt\n",
"import statistics as st\n",
"from statistics import mode, mean\n",
"from scipy.stats import spearmanr, pearsonr, skew, kendalltau, norm\n",
"from collections import Counter\n",
"from datetime import datetime\n",
"#!pip install wordcloud\n",
"from wordcloud import WordCloud\n",
"import nltk\n",
"#nltk.download('all')\n",
"import spacy\n",
"from docx import Document\n",
"import os\n",
"import re\n",
"import pdfplumber\n",
"from nltk.corpus import stopwords\n",
"from nltk.tokenize import word_tokenize\n",
"from textblob import TextBlob\n",
"\n",
"\n",
"#!python -m spacy download pt_core_news_sm"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"secao0\"></a>\n",
"Vamos criar uma secção para ter as nossas funções defenidas no topo do script para facilitar a nossa navegação.\n",
"\n",
"| **Função** | <center>**Descrição**</center> |\n",
"|:------:|------|\n",
"| **Gráficos** | Determina um conjunto de gráficos que é escolhido a formatação chamando grafico(n) onde n é um numero correspondete. [Gráficos](https://seaborn.pydata.org/generated/seaborn.set_theme.html)|\n",
"| **IQR** | Função para calcular o Intervalo inter quartis esta função recebe um vetor e retorna o seu intervalo interquantis utilizando a função [`.quantile()`](https://numpy.org/doc/stable/reference/generated/numpy.quantile.html). <center>![Ver como calcular aqui](https://www.mathsisfun.com/data/images/interquartile-range.svg)</center>| \n",
"| **Contar documentos** | Uma função que dado um caminho e um formato conta o numero de documentos que existem desse formato no caminho dado. | \n",
"| **Extrair Informacao da FM** | Função que utiliza REGEX para ir a uma determinada pasta, e identificar o concelho, a data de nascimento, o posto e o distrito das FM dos Militares |\n",
"| **Dividir interrogatórios** | Função que divide o texto quando encontra a palavra \"Roteiro de Entrevista Simulada\", que são na prática as entrevistas simuladas existentes no documento |\n",
"| **Separar perguntas de Respostas** | Função que separa as perguntas do Interrogador (no texto *\"Policial\"*) do Interrogado (no texto *\"Suspeito\"*) |\n",
"| **Juntar perguntas e Respostas** | Função que junta as perguntas do Interrogador (no texto *\"Policial\"*) ao Interrogado (no texto *\"Suspeito\"*), na prática deverá ser um complomento ao *Dividir interrogatórios* e *Separar perguntas de Respostas* |\n",
"| **Extrair Texto do Word** | Função que coloca o documento word pronto para ser processado e trabalhado pela máquina |\n",
"| **Extrair Tipo de Crime e localidade** | Função que procura no texto a palavra \"Caso de\" e extrai a informação da string entre \"Caso de\" até a proxima quebra de linha (\\n)|\n",
"| **Tabelas de Medidas de Tendência Central e Não Central** | Tabela que expliqua todas medidas de tendência central e não central. Em boa verdade o [`.describe()`](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.describe.html) dá nos práticamente todas as informações, contudo não é o suficiente para fazer uma análise estatistica completa, assim acrescentamos a tabela mais informação. A ideia é criar a função e depois ao chamar a tabela ela apresenta os valores do dataset. [Medidas](https://www.lecturio.com/pt/concepts/medidas-de-tendencia-central-e-dispersao/) |\n",
"| **Tabela de Medidas de Disperção** | Tabela que expliqua todas as medidas de dispersão, para não estar a fazer individualmente para cada uma das variáveis, a ideia é criar a função e depois ao chamar a tabela ela apresenta os valores do dataset [Medidas](https://www.lecturio.com/pt/concepts/medidas-de-tendencia-central-e-dispersao/) |\n",
"| **Outliers** | Função que calcula os outliers das nossas variáveis sendo que vamos apenas calcular usando a formula para a determinação de outliers moderados deixando os outliers severos para uma analise individual. <center>![Ver como calcular aqui](https://miro.medium.com/v2/resize:fit:1100/format:webp/0*XG2sFucPoFMg6NeV.png)</center>|"
]
},
{
"cell_type": "code",
"execution_count": 140,
"metadata": {},
"outputs": [],
"source": [
"def grafico(a):\n",
" if a == 1:\n",
" custom_params = {\"axes.spines.right\": False, \"axes.spines.top\": False}\n",
" sns.set_theme(style=\"ticks\", rc=custom_params, palette = \"pastel\")\n",
" palette = \"pastel\"\n",
" elif a == 2:\n",
" sns.set_theme(style=\"white\", palette = \"Set2\")\n",
" palette = \"Set2\"\n",
" elif a == 3:\n",
" sns.set_theme(style=\"whitegrid\", palette = \"pastel\")\n",
" palette = \"pastel\"\n",
" elif a == 4:\n",
" sns.set_theme()\n",
" palette = \"husl\"\n",
" return palette"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"<>:3: SyntaxWarning: invalid escape sequence '\\P'\n",
"<>:3: SyntaxWarning: invalid escape sequence '\\P'\n",
"C:\\Users\\garci\\AppData\\Local\\Temp\\ipykernel_79296\\1642015378.py:3: SyntaxWarning: invalid escape sequence '\\P'\n",
" pasta = \"C:\\\\Users\\\\garci\\\\OneDrive\\\\Ãrea de Trabalho\\\\Programa PJM\\Programa final\\\\Scripts\\\\FM_dos_militares_\"\n"
]
}
],
"source": [
"def extrairinformacaodepdfsFM():\n",
" informacoes_extraidas = []\n",
" pasta = \"C:\\\\Users\\\\garci\\\\OneDrive\\\\Ãrea de Trabalho\\\\Programa PJM\\Programa final\\\\Scripts\\\\FM_dos_militares_\"\n",
" padroes = {\"Concelho\": r\"(?i)\\bConcelho:\\s*(\\w+)\",\"data_nascimento\": r\"\\b(\\d{2}-\\d{2}-\\d{4})\\b\",\"Posto\": r\"(?i)\\bposto:\\s*(\\w+)\",\"distrito\": r\"(?i)\\bdistrito:\\s*(\\w+)\"}\n",
" for arquivo in os.listdir(pasta):\n",
" caminho_arquivo = os.path.join(pasta, arquivo)\n",
" if os.path.isfile(caminho_arquivo) and arquivo.endswith(\".pdf\"):\n",
" with pdfplumber.open(caminho_arquivo) as pdf:\n",
" conteudo = \"\"\n",
" for pagina in pdf.pages:\n",
" conteudo += pagina.extract_text() + \"\\n\"\n",
" dados_documento = {\"arquivo\": arquivo}\n",
" for chave, regex in padroes.items():\n",
" resultado = re.search(regex, conteudo)\n",
" dados_documento[chave] = resultado.group(1) if resultado else None\n",
" informacoes_extraidas.append(dados_documento)\n",
" total = 0\n",
" for info in informacoes_extraidas:\n",
" print(f\"\\nArquivo: {info['arquivo']}\")\n",
" for chave, valor in info.items():\n",
" if chave != \"arquivo\":\n",
" print(f\" {chave.capitalize()}: {valor}\")\n",
" if valor: total += 1\n",
" print(f\"\\nTotal de informações extraídas: {total}\")\n",
" return informacoes_extraidas"
]
},
{
"cell_type": "code",
"execution_count": 103,
"metadata": {},
"outputs": [],
"source": [
"def juntarperguntasrespostas(texto):\n",
" texto_reformulado = \"\"\n",
" for item in texto:\n",
" texto_reformulado += f'{item[\"pergunta\"]} {item[\"resposta\"]} '\n",
" return texto_reformulado.strip()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"secao1\"></a>"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"def extrairtextoword(caminho):\n",
" doc = Document(caminho)\n",
" texto = \"\\n\".join([paragrafo.text for paragrafo in doc.paragraphs if paragrafo.text.strip()])\n",
" return texto"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"secao2\"></a>"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
"def dividirinterrogatorios(texto):\n",
" interrogatorios = re.split(r\"(?i)\\bRoteiro de Entrevista Simulada\\b\", texto)\n",
" return [i.strip() for i in interrogatorios if i.strip()]\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"secao3\"></a>"
]
},
{
"cell_type": "code",
"execution_count": 97,
"metadata": {},
"outputs": [],
"source": [
"def extraircaso(texto):\n",
" match = re.search(r'– Caso de (.*?)\\n', texto)\n",
" if match:\n",
" return match.group(1)\n",
" return None"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"secao10\"></a>"
]
},
{
"cell_type": "code",
"execution_count": 185,
"metadata": {},
"outputs": [],
"source": [
"def extrairidade(texto):\n",
" match = re.search(r'\\n(.*?\\.)', texto)\n",
" if match:\n",
" return match.group(1).strip()\n",
" return None"
]
},
{
"cell_type": "code",
"execution_count": 279,
"metadata": {},
"outputs": [],
"source": [
"def iqr(data):\n",
" q1 = data.quantile(0.25)\n",
" q3 = data.quantile(0.75)\n",
" return q3 - q1"
]
},
{
"cell_type": "code",
"execution_count": 278,
"metadata": {},
"outputs": [],
"source": [
"def outliers(data):\n",
" q1 = data.quantile(0.25)\n",
" q3 = data.quantile(0.75)\n",
" iqr = q3 - q1\n",
" lim_min = q1 - 1.5 * iqr\n",
" lim_max = q3 + 1.5 * iqr\n",
" outliers = data[(data < lim_min) | (data> lim_max)]\n",
" return outliers.count()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"secao4\"></a>"
]
},
{
"cell_type": "code",
"execution_count": 280,
"metadata": {},
"outputs": [],
"source": [
"def tabela_medidas_disperção(dataset):\n",
" estatisticas = []\n",
" for coluna in dataset.columns:\n",
" if dataset[coluna].dtype != 'object':\n",
" variancia = round(np.var(dataset[coluna]),2)\n",
" coef_variacao = round((np.std(dataset[coluna]) / np.mean(dataset[coluna])),2)\n",
" desvio_medio_absoluto = round(np.mean(np.abs(dataset[coluna] - np.mean(dataset[coluna]))),2)\n",
" amplitude = round(np.max(dataset[coluna]) - np.min(dataset[coluna]),2)\n",
" intervalo_inter_quartil = round(iqr(dataset[coluna]),2)\n",
" num_outliers = round(outliers(dataset[coluna]),2)\n",
" estatisticas.append([dataset[coluna].name, variancia, coef_variacao, desvio_medio_absoluto, amplitude, intervalo_inter_quartil, num_outliers])\n",
" tabelavardisp = pd.DataFrame(estatisticas, columns=['Variável', 'Variância', 'Coeficiente de Variação', 'Desvio Médio Absoluto', 'Amplitude', 'Intervalo Inter-Quartil', 'Outliers'])\n",
" return tabelavardisp"
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [],
"source": [
"def separarperguntasderespostas(texto):\n",
" pares = re.findall(r\"(Policial:.+?)(Suspeito:.+?)(?=Policial|$)\", texto, re.DOTALL)\n",
" return [{\"pergunta\": p.strip(), \"resposta\": r.strip()} for p, r in pares]"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"def extrairtipolocalidade(caso):\n",
" tipo_crime = re.findall(r'\\b[A-Z][a-z]*\\b', caso)\n",
" localidade = re.findall(r'\\b(Lisboa|Porto|Coimbra|Setúbal|Faro|Braga|Aveiro|Santarém|Leiria|Viana do Castelo)\\b', caso)\n",
" if not tipo_crime:\n",
" tipo_crime = ['Outro'] \n",
" return tipo_crime[0], localidade[0] if localidade else 'Desconhecida'"
]
},
{
"cell_type": "code",
"execution_count": 298,
"metadata": {},
"outputs": [],
"source": [
"def tabela_medidas_tendencia(dataset):\n",
" estatisticas = []\n",
" for coluna in dataset.columns:\n",
" if dataset[coluna].dtype != 'object':\n",
" tabelaskew = round(skew(dataset[coluna]),2)\n",
" tabelamoda=round(mode(dataset[coluna]),2)\n",
" estatisticas.append([tabelaskew, tabelamoda])\n",
" tabelatendCeNC=pd.DataFrame(estatisticas, columns=['Skew','Moda'])\n",
" tabelatendCeNC=pd.concat([dataset.describe().T.reset_index().round(2), tabelatendCeNC],axis=1)\n",
" return tabelatendCeNC "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<a id=\"secao9\"></a>"
]
},
{
"cell_type": "code",
"execution_count": 337,
"metadata": {},
"outputs": [],
"source": [
"def contardocumentos(pasta, extensoes=None):\n",
" documentos = [arquivo for arquivo in os.listdir(pasta) if os.path.isfile(os.path.join(pasta, arquivo)) and (extensoes is None or any(arquivo.lower().endswith(ext) for ext in extensoes))]\n",
" return len(documentos)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<center><h1>Compreensão dos dados</h1></center>\n",
"\n",
"Tendo definido as nossas funções a serem trabalhadas vamos falar sobre a estrutura do trabalho. O nosso trabalho assenta em 3 grandes áreas de atuação:\n",
"- **[ ] [Categorization](#secao5)**\n",
"- [ ] [Information Extration](#secao7)\n",
"- [ ] [Summarization, Information Visualization ](#secao8)\n",
"\n",
"Em cada uma delas existe processs e inputs diferentes, assim como o corpus a trabalhar é de igualforma diferente."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<center><h1>Categorization </h1></center><a id=\"secao5\"></a>\n",
"O dataset disponevel em [kaggle](https://www.kaggle.com/datasets/bhavikjikadara/emotions-dataset/data?select=emotions.csv) assumindo como uma fragilidade do processo, concentrados em fazer a prova do conceito, iremos usar um dataset que avalia emoções de uma pessoa através de comentários do Twitter.\n",
"\n",
"Este Dataset encontrava-se em ingles e era composto por 416809 valores para 2 features uma alvo (rótulo) e outra descritiva (texto)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>texto</th>\n",
" <th>rótulo</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>i just feel really helpless and heavy hearted</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>ive enjoyed being able to slouch about relax a...</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>i gave up my internship with the dmrg and am f...</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>i dont know i feel so lost</td>\n",
" <td>0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>i am a kindergarten teacher and i am thoroughl...</td>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416804</th>\n",
" <td>i feel like telling these horny devils to find...</td>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416805</th>\n",
" <td>i began to realize that when i was feeling agi...</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416806</th>\n",
" <td>i feel very curious be why previous early dawn...</td>\n",
" <td>5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416807</th>\n",
" <td>i feel that becuase of the tyranical nature of...</td>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416808</th>\n",
" <td>i think that after i had spent some time inves...</td>\n",
" <td>5</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>416809 rows × 2 columns</p>\n",
"</div>"
],
"text/plain": [
" texto rótulo\n",
"0 i just feel really helpless and heavy hearted 4\n",
"1 ive enjoyed being able to slouch about relax a... 0\n",
"2 i gave up my internship with the dmrg and am f... 4\n",
"3 i dont know i feel so lost 0\n",
"4 i am a kindergarten teacher and i am thoroughl... 4\n",
"... ... ...\n",
"416804 i feel like telling these horny devils to find... 2\n",
"416805 i began to realize that when i was feeling agi... 3\n",
"416806 i feel very curious be why previous early dawn... 5\n",
"416807 i feel that becuase of the tyranical nature of... 3\n",
"416808 i think that after i had spent some time inves... 5\n",
"\n",
"[416809 rows x 2 columns]"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"data = pd.read_csv(\"C:\\\\Users\\\\garci\\\\OneDrive\\\\Ãrea de Trabalho\\\\Programa PJM\\\\Programa final\\\\Dataset\\\\emocoes_traduzido.csv\")\n",
"data"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A nossa varável alvo é numérica (inteira) e tem valores de 0 a 5 onde cada um representa a seguinte emoção:\n",
"- 0- Sadness \n",
"- 1- Joy \n",
"- 2- Love \n",
"- 3- Anger\n",
"- 4- Fear\n",
"- 5- Surprise\n",
"\n",
"Adaptando esta classificação ao nosso contexto e tendo em conta a [Plutchik’s Wheel of Emotions](https://www.6seconds.org/2022/03/13/plutchik-wheel-emotions/)\n",
"\n",
"![Texto Alternativo](https://dl.dropboxusercontent.com/scl/fi/bgyw2clcnpxiltmuxvg80/Untitled.png?rlkey=y5jd4111qsfchcq5qz8qgvah3&st=ag7lldsq&dl=0)\n",
"\n",
"iremos renomear os nossos sentimentos descritos de acordo com o seguinte:\n",
"\n",
"- 0- Sadness \n",
"- **1- happiness** \n",
"- **2- disgust** \n",
"- 3- Anger\n",
"- 4- Fear\n",
"- 5- Surprise\n",
"\n",
"Relativamente as alterações substituímos logicamente *Joy* tendo em conta a Plutchik’s Wheel of Emotions contudo e devido a falta de uma das emoções compreendidas entre *contempt* e *remorse* optou-se por definir (mesmo que de forma errónea) *Love* para *disgust*, apenas para fazer </h1></center><a id=\"secao6\"></a>"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Um dos primeiros problemas com que nos deparamos foi o fato de o nosso dataset para treinar o modelo de Machine Learning encontrava-se em inglês assim foi necessário passar o mesmo para Portugês. Com 416810 valores (entradas) este processo era muito moroso fazer manualmente. \n",
"Os recursos open source existentes não permitiam que fosse traduzido tudo de uma vez ou a tradução existente não era a melhor. Assim optamos por utilizar o open source da google que apenas permitia fazer o numero de transcrições limitadas: *\"allowed to make 5 requests per secondand up to 200k requests per day.\"* \n",
"\n",
"Fizemos então a divisão dos chunks em 19 (fichieros) para facilitar a transcrição.\n",
"```python\n",
"def split_dataframe(csv_file, column_to_check, max_lines=200000, max_chars=2_000_000):\n",
" df = pd.read_csv(csv_file)\n",
" chunk_number = 1\n",
" line_count = 0\n",
" char_count = 0\n",
" current_chunk = []\n",
" for _, row in df.iterrows():\n",
" row_length = len(str(row[column_to_check]))\n",
" if (line_count + 1 > max_lines) or (char_count + row_length > max_chars):\n",
" output_filename = f\"chunks_2/chunk_{chunk_number}.csv\"\n",
" pd.DataFrame(current_chunk, columns=df.columns).to_csv(output_filename, index=False, header=True, sep=\";\")\n",
" print(f\"Saved {output_filename} with {line_count} lines and {char_count} characters.\")\n",
" chunk_number += 1\n",
" line_count = 0\n",
" char_count = 0\n",
" current_chunk = []\n",
" current_chunk.append(row)\n",
" line_count += 1\n",
" char_count += row_length\n",
" if current_chunk:\n",
" output_filename = f\"chunks_2/chunk_{chunk_number}.csv\"\n",
" pd.DataFrame(current_chunk, columns=df.columns).to_csv(output_filename, index=False, header=True, sep=\";\")\n",
" print(f\"Saved {output_filename} with {line_count} lines and {char_count} characters.\")\n",
"split_dataframe(\"emotions.csv\", column_to_check=\"text\", max_lines=200000, max_chars=2_000_000)\n",
"```\n",
"\n",
"Tendo originado os seguintes ficheiros:\n",
"\n",
"![Texto Alternativo](https://dl.dropboxusercontent.com/scl/fi/xmqp4kzrdqh46l5qkd9qq/sadsad.png?rlkey=ai2sftdo7g3wx9dofbxmxi5lh&st=mct6ue15&dl=0)\n",
"\n",
"\n",
"\n",
"Após esta divisão efetuámos a tradução de cada chunk individualmente utilizando o package [deep_translator](https://pypi.org/project/deep-translator/) e a função *“GoogleTranslatorâ€* com *“translate_batchâ€* em vários computadores diferentes de modo a acelerar o processo.\n",
"\n",
"```python\n",
"number_of_chunk = 19\n",
"file_path = 'C:\\\\Users\\\\garci\\\\OneDrive\\\\Ãrea de Trabalho\\\\remaining_chunks\\\\chunk_' + str(number_of_chunk) + '.csv'\n",
"batch_size = 30\n",
"try:\n",
" data = pd.read_csv(file_path, sep=\";\")\n",
"except FileNotFoundError:\n",
" print(f\"File not found: {file_path}\")\n",
" exit(1)\n",
"if 'text' not in data.columns:\n",
" print(\"The input file must contain a 'text' column.\")\n",
" exit(1)\n",
"filename = \"C:\\\\Users\\\\garci\\\\OneDrive\\\\Ãrea de Trabalho\\\\remaining_chunks\\\\chunk_\" + str(number_of_chunk) + '_PT.csv'\n",
"num_threads = 3\n",
"data_chunks = np.array_split(data, num_threads)\n",
"total_rows = len(data)\n",
"progress_bar = tqdm(total=total_rows, desc=\"Processing\", unit=\"rows\")\n",
"counter_lock = threading.Lock()\n",
"def process_chunk(chunk):\n",
" translated_texts = []\n",
" batch = []\n",
" batch_count = 0\n",
"\n",
" for _, row in chunk.iterrows():\n",
" batch.append(row['text'])\n",
" batch_count += 1\n",
" if batch_count == batch_size:\n",
" aux_batch_translated = translate_batch(batch)\n",
" translated_texts.extend(aux_batch_translated)\n",
" batch_count = 0\n",
" batch.clear()\n",
" with counter_lock:\n",
" progress_bar.update(batch_size)\n",
" if batch:\n",
" aux_batch_translated = translate_batch(batch)\n",
" translated_texts.extend(aux_batch_translated)\n",
" with counter_lock:\n",
" progress_bar.update(len(batch))\n",
" return translated_texts\n",
"all_translated_texts = []\n",
"with ThreadPoolExecutor(max_workers=num_threads) as executor:\n",
" futures = [executor.submit(process_chunk, chunk) for chunk in data_chunks]\n",
" for future in futures:\n",
" all_translated_texts.extend(future.result())\n",
"progress_bar.close()\n",
"if len(all_translated_texts) != len(data):\n",
" print(\"Mismatch in the number of translated texts and original data rows.\")\n",
" exit(1)\n",
"data['translated_text'] = all_translated_texts\n",
"data.to_csv(filename, index=False, sep=\";\")\n",
"\n",
"print(f\"Data with translations has been written to {filename}\")\n",
"```\n",
"\n",
"No final de todos os chunks traduzidos criámos um novo script que juntava todos os chunks em um só ficheiro.\n",
"\n",
"```python\n",
"initialPath = 'chunks_2/chunk_'\n",
"csv_files = []\n",
"chunckNumber = 21\n",
"for i in range(chunckNumber):\n",
" csv_files.append(initialPath + str(i) + '_PT.csv')\n",
"dataframes = []\n",
"for file in csv_files:\n",
" df = pd.read_csv(file)\n",
" dataframes.append(df)\n",
"merged_df = pd.concat(dataframes, ignore_index=True)\n",
"output_file = \"merged_file.csv\"\n",
"merged_df.to_csv(output_file, index=False)\n",
"print(f\"Merged CSV saved as {output_file}\")\n",
"```\n",
"\n",
"Assim ficamos com o fichero csv necessário para iniciarmos o nosso projeto de categorização.\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Inicialmente estava-nos a dar um erro ao carregar o dataset muito possivelmente relacionado com a transcrição de texto de ingles para portugues adicionado o comando (on_bad_lines='skip'), e queremos dividir por ';'"
]
},
{
"cell_type": "code",
"execution_count": 315,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>text</th>\n",
" <th>label</th>\n",
" <th>translated_text</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>i just feel really helpless and heavy hearted</td>\n",
" <td>4</td>\n",
" <td>Eu me sinto realmente impotente e com o coraçã...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>ive enjoyed being able to slouch about relax a...</td>\n",
" <td>0</td>\n",
" <td>eu gostei de poder relaxar e descontrair e fra...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>i gave up my internship with the dmrg and am f...</td>\n",
" <td>4</td>\n",
" <td>desisti do meu estágio com o dmrg e estou me s...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>i dont know i feel so lost</td>\n",
" <td>0</td>\n",
" <td>eu não sei me sinto tão perdido</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>i am a kindergarten teacher and i am thoroughl...</td>\n",
" <td>4</td>\n",
" <td>sou professora de jardim de infância e estou c...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416804</th>\n",
" <td>i wound feeling like i could explode into rain...</td>\n",
" <td>2</td>\n",
" <td>Acabei sentindo que poderia explodir em arco-í...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416805</th>\n",
" <td>i breaks i feel more exhausted coming back fro...</td>\n",
" <td>0</td>\n",
" <td>eu quebro, me sinto mais exausto voltando do q...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416806</th>\n",
" <td>i had felt better at the park but i started fe...</td>\n",
" <td>0</td>\n",
" <td>Eu me senti melhor no parque, mas comecei a me...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416807</th>\n",
" <td>i feel as if i am completely worthless</td>\n",
" <td>0</td>\n",
" <td>Eu me sinto como se não tivesse valor algum</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416808</th>\n",
" <td>im still feeling a bit delicate</td>\n",
" <td>2</td>\n",
" <td>ainda estou me sentindo um pouco delicado</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>416809 rows × 3 columns</p>\n",
"</div>"
],
"text/plain": [
" text label \\\n",
"0 i just feel really helpless and heavy hearted 4 \n",
"1 ive enjoyed being able to slouch about relax a... 0 \n",
"2 i gave up my internship with the dmrg and am f... 4 \n",
"3 i dont know i feel so lost 0 \n",
"4 i am a kindergarten teacher and i am thoroughl... 4 \n",
"... ... ... \n",
"416804 i wound feeling like i could explode into rain... 2 \n",
"416805 i breaks i feel more exhausted coming back fro... 0 \n",
"416806 i had felt better at the park but i started fe... 0 \n",
"416807 i feel as if i am completely worthless 0 \n",
"416808 im still feeling a bit delicate 2 \n",
"\n",
" translated_text \n",
"0 Eu me sinto realmente impotente e com o coraçã... \n",
"1 eu gostei de poder relaxar e descontrair e fra... \n",
"2 desisti do meu estágio com o dmrg e estou me s... \n",
"3 eu não sei me sinto tão perdido \n",
"4 sou professora de jardim de infância e estou c... \n",
"... ... \n",
"416804 Acabei sentindo que poderia explodir em arco-í... \n",
"416805 eu quebro, me sinto mais exausto voltando do q... \n",
"416806 Eu me senti melhor no parque, mas comecei a me... \n",
"416807 Eu me sinto como se não tivesse valor algum \n",
"416808 ainda estou me sentindo um pouco delicado \n",
"\n",
"[416809 rows x 3 columns]"
]
},
"execution_count": 315,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataset = pd.read_csv(\"C:\\\\Users\\\\garci\\\\OneDrive\\\\Ãrea de Trabalho\\\\Programa PJM\\\\Programa final\\\\Dataset\\\\merged_file.csv\", on_bad_lines='skip', sep=';')\n",
"dataset"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"O nosso dataset é composto por 416809 linhas e 3 colunas\n"
]
}
],
"source": [
"print(\"O nosso dataset é composto por \",dataset.shape[0],\" linhas e\",dataset.shape[1],\" colunas\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Como não nos interessa o text em ingles vamos então eliminar essa mesma coluna"
]
},
{
"cell_type": "code",
"execution_count": 317,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>label</th>\n",
" <th>translated_text</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>4</td>\n",
" <td>Eu me sinto realmente impotente e com o coraçã...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0</td>\n",
" <td>eu gostei de poder relaxar e descontrair e fra...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>4</td>\n",
" <td>desisti do meu estágio com o dmrg e estou me s...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0</td>\n",
" <td>eu não sei me sinto tão perdido</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4</td>\n",
" <td>sou professora de jardim de infância e estou c...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416804</th>\n",
" <td>2</td>\n",
" <td>Acabei sentindo que poderia explodir em arco-í...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416805</th>\n",
" <td>0</td>\n",
" <td>eu quebro, me sinto mais exausto voltando do q...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416806</th>\n",
" <td>0</td>\n",
" <td>Eu me senti melhor no parque, mas comecei a me...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416807</th>\n",
" <td>0</td>\n",
" <td>Eu me sinto como se não tivesse valor algum</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416808</th>\n",
" <td>2</td>\n",
" <td>ainda estou me sentindo um pouco delicado</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>416809 rows × 2 columns</p>\n",
"</div>"
],
"text/plain": [
" label translated_text\n",
"0 4 Eu me sinto realmente impotente e com o coraçã...\n",
"1 0 eu gostei de poder relaxar e descontrair e fra...\n",
"2 4 desisti do meu estágio com o dmrg e estou me s...\n",
"3 0 eu não sei me sinto tão perdido\n",
"4 4 sou professora de jardim de infância e estou c...\n",
"... ... ...\n",
"416804 2 Acabei sentindo que poderia explodir em arco-í...\n",
"416805 0 eu quebro, me sinto mais exausto voltando do q...\n",
"416806 0 Eu me senti melhor no parque, mas comecei a me...\n",
"416807 0 Eu me sinto como se não tivesse valor algum\n",
"416808 2 ainda estou me sentindo um pouco delicado\n",
"\n",
"[416809 rows x 2 columns]"
]
},
"execution_count": 317,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataset2=dataset.drop(\"text\", axis=1)\n",
"dataset2"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Vamos verificar a distribuição de observação de acordo com os nossos labels da variável alvo"
]
},
{
"cell_type": "code",
"execution_count": 318,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"label\n",
"1 141067\n",
"0 121187\n",
"3 57317\n",
"4 47712\n",
"2 34554\n",
"5 14972\n",
"Name: count, dtype: int64"
]
},
"execution_count": 318,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataset2[\"label\"].value_counts()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Vamos criar uma coluna com o nome das emoções para podermos apresentar os gráficos com as emoções corretas como referido [anteriormente](#secao6)"
]
},
{
"cell_type": "code",
"execution_count": 319,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>label</th>\n",
" <th>translated_text</th>\n",
" <th>emotion_name</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>4</td>\n",
" <td>Eu me sinto realmente impotente e com o coraçã...</td>\n",
" <td>Fear</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0</td>\n",
" <td>eu gostei de poder relaxar e descontrair e fra...</td>\n",
" <td>Sadness</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>4</td>\n",
" <td>desisti do meu estágio com o dmrg e estou me s...</td>\n",
" <td>Fear</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0</td>\n",
" <td>eu não sei me sinto tão perdido</td>\n",
" <td>Sadness</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>4</td>\n",
" <td>sou professora de jardim de infância e estou c...</td>\n",
" <td>Fear</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416804</th>\n",
" <td>2</td>\n",
" <td>Acabei sentindo que poderia explodir em arco-í...</td>\n",
" <td>Disgust</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416805</th>\n",
" <td>0</td>\n",
" <td>eu quebro, me sinto mais exausto voltando do q...</td>\n",
" <td>Sadness</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416806</th>\n",
" <td>0</td>\n",
" <td>Eu me senti melhor no parque, mas comecei a me...</td>\n",
" <td>Sadness</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416807</th>\n",
" <td>0</td>\n",
" <td>Eu me sinto como se não tivesse valor algum</td>\n",
" <td>Sadness</td>\n",
" </tr>\n",
" <tr>\n",
" <th>416808</th>\n",
" <td>2</td>\n",
" <td>ainda estou me sentindo um pouco delicado</td>\n",
" <td>Disgust</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>416809 rows × 3 columns</p>\n",
"</div>"
],
"text/plain": [
" label translated_text emotion_name\n",
"0 4 Eu me sinto realmente impotente e com o coraçã... Fear\n",
"1 0 eu gostei de poder relaxar e descontrair e fra... Sadness\n",
"2 4 desisti do meu estágio com o dmrg e estou me s... Fear\n",
"3 0 eu não sei me sinto tão perdido Sadness\n",
"4 4 sou professora de jardim de infância e estou c... Fear\n",
"... ... ... ...\n",
"416804 2 Acabei sentindo que poderia explodir em arco-í... Disgust\n",
"416805 0 eu quebro, me sinto mais exausto voltando do q... Sadness\n",
"416806 0 Eu me senti melhor no parque, mas comecei a me... Sadness\n",
"416807 0 Eu me sinto como se não tivesse valor algum Sadness\n",
"416808 2 ainda estou me sentindo um pouco delicado Disgust\n",
"\n",
"[416809 rows x 3 columns]"
]
},
"execution_count": 319,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"emocoeslist = {0: \"Sadness\", 1: \"Happiness\", 2: \"Disgust\", 3: \"Anger\", 4: \"Fear\", 5: \"Surprise\"}\n",
"dataset2['emotion_name'] = dataset2['label'].map(emocoeslist)\n",
"dataset2\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"O dataset é composto por uma variável quantitativa, inteira, e uma variável descritiva neste caso uma string com a frase. No que diz respeito a nossa varável quantitativa podemos observar que emoção mais observada é ‘Happiness’ com 33.84% das observações e a menos observada é ‘Suprise’ com cerca de 3,59% das observações.\n",
"Sendo que as duas emoções mais observadas ‘Happiness’ e ‘Sadness’ correspondem a cerca 62.9% das observações. Com estas observações podemos concluir que o nosso dataset é não balanceado, e teremos que aplicar medidas para mitigar esta situação.\n",
"\n",
"Vamos fazer o gráfico da distribuição de emoções, inciamos com o Barblopt\n"
]
},
{
"cell_type": "code",
"execution_count": 320,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\garci\\AppData\\Local\\Temp\\ipykernel_32972\\2464886009.py:3: FutureWarning: \n",
"\n",
"Passing `palette` without assigning `hue` is deprecated and will be removed in v0.14.0. Assign the `x` variable to `hue` and set `legend=False` for the same effect.\n",
"\n",
" sns.countplot(x=\"emotion_name\", data=dataset2,order= dataset2['emotion_name'].value_counts().index,palette=\"husl\")\n"
]
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1000x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"grafico(4)\n",
"plt.figure(figsize=(10, 6), dpi=100)\n",
"sns.countplot(x=\"emotion_name\", data=dataset2,order= dataset2['emotion_name'].value_counts().index,palette=\"husl\")\n",
"plt.xlabel('Emoçoes', color=\"Darkblue\")\n",
"plt.xticks(rotation=90)\n",
"plt.ylabel('Frequência', color='Darkblue')\n",
"plt.title('Distribuição por Emoções', color='Darkblue')\n",
"for i, value in enumerate(dataset2['label'].value_counts()):\n",
" plt.text(i, value+250, str(value),ha='center',color='Darkblue')\n",
"plt.tight_layout()\n",
"plt.show() "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"E agora o grafico circular para verificar a Valores relativos"
]
},
{
"cell_type": "code",
"execution_count": 321,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x2582a602bd0>"
]
},
"execution_count": 321,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"grafico(3)\n",
"plt.pie(dataset2['emotion_name'].value_counts(), autopct='%1.1f%%')\n",
"plt.title('Distribuição da variável Emoções', color='Darkblue')\n",
"plt.legend(dataset2['emotion_name'].value_counts().index, loc='upper right', bbox_to_anchor=(1.3, 1))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Conseguimos identificar com o anterior que o nosso dataset está desbalanceado sendo que a emoção mais observada é **Happiness** e a menos observada é **Suprise** , sendo que as duas emoções mais observadass **Happiness** e **Sadness** correspondem a cerca *62.9%*. Vamos agora ver a tabela de destriubuição dos valores Relativos e Absolutos"
]
},
{
"cell_type": "code",
"execution_count": 322,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>V. Absolutos</th>\n",
" <th>V. Relativos (%)</th>\n",
" </tr>\n",
" <tr>\n",
" <th>emotion_name</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Happiness</th>\n",
" <td>141067</td>\n",
" <td>33.84</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Sadness</th>\n",
" <td>121187</td>\n",
" <td>29.07</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Anger</th>\n",
" <td>57317</td>\n",
" <td>13.75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Fear</th>\n",
" <td>47712</td>\n",
" <td>11.45</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Disgust</th>\n",
" <td>34554</td>\n",
" <td>8.29</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Surprise</th>\n",
" <td>14972</td>\n",
" <td>3.59</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" V. Absolutos V. Relativos (%)\n",
"emotion_name \n",
"Happiness 141067 33.84\n",
"Sadness 121187 29.07\n",
"Anger 57317 13.75\n",
"Fear 47712 11.45\n",
"Disgust 34554 8.29\n",
"Surprise 14972 3.59"
]
},
"execution_count": 322,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.DataFrame({'V. Absolutos':dataset2['emotion_name'].value_counts(),'V. Relativos (%)':(dataset2['emotion_name'].value_counts()*100/dataset2.shape[0]).round(2)})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Vamos agora analisar a nossa variável qualitativa descritiva, iremos aplicar um ciclo for para processar os textos das linhas individualmente, o comando [not token.is_stop](https://spacy.io/api/token) vai eliminar as stopwords, [token.is_alpha](https://spacy.io/api/token) vai retirar os pontos ou numeros que existam no texto, [token.lemma_](https://spacy.io/api/token) retorna o lemma da palavra.\n",
"\n",
"O nosso dataset tem um conjunto de 416809 valores de entrada nas nossas linhas o que signgifica que na prática a máquina estaria a contar 416809 strings diferentes. Como nós queremos saber qual as palavras que mais se verificam faz sentido juntar tudo só num unico texto.\n",
"\n",
"Como temos um dataset com muitas entradas teremos que alocar mais memória para o processamento do do nosso nlp, isto porque por definição é de 1.000.000 de caracteres. A solução mais segura e eficiente é dividir o texto em partes menores e processá-las individualmente.\n"
]
},
{
"cell_type": "code",
"execution_count": 331,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"44451370"
]
},
"execution_count": 331,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"textounico = ' '.join(dataset2['translated_text'])\n",
"len(textounico)"
]
},
{
"cell_type": "code",
"execution_count": 333,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Total de palavras processadas: 3174375\n"
]
}
],
"source": [
"nlp = spacy.load(\"pt_core_news_sm\")\n",
"chunk_size = 1000000\n",
"chunks = [textounico[i:i + chunk_size] for i in range(0, len(textounico), chunk_size)]\n",
"words = []\n",
"for chunk in chunks:\n",
" doc = nlp(chunk)\n",
" words.extend([token.lemma_ for token in doc if not token.is_stop and token.is_alpha])\n",
"print(f\"Total de palavras processadas: {len(words)}\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Existe muitas formas para apresentar a frequencia de palvras verificadas num determinado texto, contudo ultimamente o mais comum para este tipo de dados são as nuvem de palvras ou [WorldCloud](https://www.datacamp.com/tutorial/wordcloud-python)"
]
},
{
"cell_type": "code",
"execution_count": 334,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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P1OnTiU/P59XX321x36rV6/G6XSycOHC7tcefPBBbr31Vn79618zd+5c3nvvPb7+9a9TWlrKww8/zIMPPkheXh4//elP2blzZ3c7v/nNb7j++ut58skn+frXv87LL7/Mfffdd8rxFxUVMXr0aNasWdPj9VdffZUZM2ac5IbUn/6cyM9//nPef/997r77bp588kkWL17Mr3/9627h1BeapqEoSo+f4yePAHV1daxbt47f//73/OAHPyAxMZE//elP/PjHP2b27Nk8+uijXH/99Tz++OP8+Mc/7t5v7dq1fOtb36K4uJiHHnqIJUuWcMcdd5zUfn+49957eeCBB1i5ciWPPvooS5cu5ec//zl//OMfe2z3xhtvsHbtWn70ox/xu9/9jpaWFr7xjW+gqirnn38+d9xxBxBxAfva174G0K+xfO973+Pw4cP85Cc/4fHHH2fcuHHcfffdJwnGE+mrPwAbNmzojjH4+c9/zs9+9jPq6+u59tprOXz4cNR233nnHb75zW9SUlLCH//4R5YtW8b3vve9Hts0NTVx/fXX4/f7+eUvf8njjz/OihUr+Nvf/sbTTz/dfR7S0tJYuHAhzz33HOnp6ZSVlfHlL38Zp9PJ73//ex555BGmT5/OQw891L0AsHXrVv77v/+biy66iMcff5wf/OAHbNiwodsi2p/z+rnPfY6rr74agOeee47Pfe5zfZ5LAwODM4/hCmVgcI6xatUqnE4nixYtAuCKK67gwQcf5IUXXuD222+ntbWVI0eO8LWvfa17wjxx4kQeeughQqFQv4+zc+dOHnvsMS644AKKi4uBSGyHw+E4aVuHw9Gv1XlFUbr/7fF42L17N7/4xS/Izc3l/PPPByLWkZtvvrl7UgeQk5PDlVdeydatW3t1l2pqauLb3/42X/ziF7tfs1gsfOMb3+DAgQNMnjyZlStX8uc//5lAIIDVakXXdV577TWWLl2K2Wzu3m/ZsmVcddVV3X+vXr2aK664gh/+8Ifdr02ZMoWZM2eyceNGJk2axKZNm8jNzeX6669HFEVmzJiB3W7vXrk/FcuWLePpp5/u4Q712muvcfvtt5+0bXl5+Sn7cyKbNm1i7ty53edu5syZ2O12UlJSTtm3JUuWnPTavHnzelg8FEXh7rvvZvr06UDkPukSej/60Y+693E6nfzoRz/ipptuYvTo0fzxj39k/Pjx/N///R8ACxYsQBAE/vCHP5yyX8dTUVHB888/z3e+8x1uu+227uMJgsCf/vQnrrvuOpKSkrr7+uSTTxIXFweA1+vl7rvvZv/+/YwfP75b4Ha5gPV3LJs2beLrX/86F154IQAzZszA6XT2uLd641T9+b//+z8KCgp47LHHkCSp+/hLlizhgQce4P777++13T/+8Y9MnDiR3/zmNwDMnz8foPtcAxw8eJCxY8dy//33dx9/zpw5fPjhh2zcuJHbbruNcePGYTabSU5O7navKysrY86cOfzmN79BFCPrk3PnzuWdd95h48aNrFixgq1bt2K1Wrntttu6z4HT6WT37t3ouo7H4+nXec3MzASImWufgYHB8GIICwODc4hwOMwrr7zChRdeSCAQIBAI4HA4mDZtGs8//zy33XYbqampFBUV8eMf/5gPPviAefPmsWDBgm4Xj/6wdetWbr/9dnJzc/nFL37
"text/plain": [
"<Figure size 1000x500 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"word_frequencies = Counter(words)\n",
"top_10_words = dict(word_frequencies.most_common(20))\n",
"wordcloud = WordCloud(width=800, height=400, background_color=\"white\", colormap=\"viridis\").generate_from_frequencies(top_10_words)\n",
"plt.figure(figsize=(10, 5))\n",
"plt.imshow(wordcloud, interpolation=\"bilinear\")\n",
"plt.axis(\"off\")\n",
"plt.title(\"As 20 Palavras Mais Frequentes no dataset\")\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Vamos agora fazer um processo semelhante ao anterior mas agora para extrair entidades do conjunto de texto processado. Nesta fase não nos interessa saber token a token mas sim ter uma ideia geral da distribuição relativa e absoluta das várias entidades ao longo do dataset. "
]
},
{
"cell_type": "code",
"execution_count": 326,
"metadata": {},
"outputs": [],
"source": [
"chunk_size = 1000000\n",
"entity_counts = Counter()\n",
"chunks = [textounico[i:i + chunk_size] for i in range(0, len(textounico), chunk_size)]\n",
"words = []\n",
"for chunk in chunks:\n",
" doc = nlp(chunk)\n",
" for ent in doc.ents:\n",
" entity_counts[ent.label_] += 1\n",
"total_entities = sum(entity_counts.values())\n",
"entity_percentages = {ent: (count / total_entities) * 100 for ent, count in entity_counts.items()}"
]
},
{
"cell_type": "code",
"execution_count": 310,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Valores Absolutos</th>\n",
" <th>Valores Relativos (%)</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>PER</th>\n",
" <td>79</td>\n",
" <td>31.98</td>\n",
" </tr>\n",
" <tr>\n",
" <th>LOC</th>\n",
" <td>45</td>\n",
" <td>18.22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>MISC</th>\n",
" <td>96</td>\n",
" <td>38.87</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ORG</th>\n",
" <td>27</td>\n",
" <td>10.93</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Valores Absolutos Valores Relativos (%)\n",
"PER 79 31.98\n",
"LOC 45 18.22\n",
"MISC 96 38.87\n",
"ORG 27 10.93"
]
},
"execution_count": 310,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dfentitycounts = pd.DataFrame.from_dict(entity_counts, orient='index', columns=['Valores Absolutos'])\n",
"total = dfentitycounts['Valores Absolutos'].sum()\n",
"dfentitycounts['Valores Relativos (%)'] = (dfentitycounts['Valores Absolutos'] / total) * 100\n",
"dfentitycounts.round(2)"
]
},
{
"cell_type": "code",
"execution_count": 312,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x25792d824e0>"
]
},
"execution_count": 312,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"grafico(2)\n",
"plt.pie(dfentitycounts['Valores Relativos (%)'], autopct='%1.1f%%')\n",
"plt.title('Distribuição das Entidades no dataset', color='Darkblue')\n",
"plt.legend(dfentitycounts.index, loc='upper right', bbox_to_anchor=(1.3, 1))"
]
},
{
"cell_type": "code",
"execution_count": 335,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Sentiment(polarity=0.08503631064767479, subjectivity=0.5884797136556273)"
]
},
"execution_count": 335,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sentimento = TextBlob(textounico).sentiment\n",
"sentimento"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Finalizado assim a nossa analise estatistica para o problema de categorização iremos avançar para o nosso problema de *Information Extration*\n",
"\n",
"<center><h1>Information Extration </h1></center><a id=\"secao7\"></a>\n",
"\n",
"- [X] [Categorization](#secao5)\n",
"- **[ ] [Information Extration](#secao7)**\n",
"- [ ] [Summarization, Information Visualization ](#secao8)\n",
"\n",
"\n",
"Vamos então agora chamar a nossa funcção contardocumentos para identificar quantos documentos para trabalhar a nossa *Information Extration*. \n",
"\n",
"No nosso caso a informação ser trabalhada encontra-se em dois documentos a Folha de Matricula e o Cartão de Cidadão\n",
"\n",
"![Texto Alternativo](https://dl.dropboxusercontent.com/scl/fi/b8y9eqy5ugypil5rnp8pa/FM-Militar.png?rlkey=m2h244ujmd96sgtmmqkr54dgl&st=rroypa23&dl=0) ![Texto Alternativo](https://dl.dropboxusercontent.com/scl/fi/qnaz0ffgaeagygpsa2jmq/cc.png?rlkey=5qi8bfvu4vn8dkgb1bn2dsy1m&st=h6g5ttgb&dl=0)\n",
"\n",
"Para o projeto usamos 20 FM e 5 CC, esta informção devido a sua criticabilidade não foi disponibilizada"
]
},
{
"cell_type": "code",
"execution_count": 338,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"A quantidade de Folhas matriculas existentes para o projeto são 20 já a quantidade de Cartões de Cidadão existentes para o projeto são de 5\n"
]
}
],
"source": [
"quantidadeFM=contardocumentos('C://Users//garci//OneDrive//Ãrea de Trabalho//Programa PJM//Programa final//Scripts//FM_dos_militares_', extensoes='.pdf')\n",
"quantidadeCC=contardocumentos('C://Users//garci//OneDrive//Ãrea de Trabalho//Programa PJM//Programa final//Scripts//Cartão Cidadão', extensoes='.pdf')\n",
"print(f\"A quantidade de Folhas matriculas existentes para o projeto são\",quantidadeFM, \"já a quantidade de Cartões de Cidadão existentes para o projeto são de\", quantidadeCC)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Por questões de confidencialidade existem dados que não podem ser expostos, assim decidimos trabalhar para a questão de apresentação de algumas técnicas alguma informação da FM e do CC. Assim iremos apresentar alguns dados estatísticos referentes as FM, nomeadamente a data de nascimento (para depois calcular a idade) e o posto. já tinhamos defino de inicio uma função que iria fazer esta tarefa. Denominada de [extrairinformacaodepdfsFM](#secao9), esta informação incialmente desenhada para extrair mais informação tal como Concelho e Distrito para alem das duas variáveis já enunciadas, acbou por ser reduzida apenas a a data de nascimento e o posto (para termos uma variável quantitativa e outra qulitativa), a fim de reduzir a complexidade do projeto."
]
},
{
"cell_type": "code",
"execution_count": 83,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Arquivo: 1cb Pereira.pdf\n",
" Concelho: Anadia\n",
" Data_nascimento: 09-09-1999\n",
" Posto: 1CAB\n",
" Distrito: Aveiro\n",
"\n",
"Arquivo: Coelho.pdf\n",
" Concelho: Nazaré\n",
" Data_nascimento: 30-04-2004\n",
" Posto: 2CAB\n",
" Distrito: Leiria\n",
"\n",
"Arquivo: Dias.pdf\n",
" Concelho: Porto\n",
" Data_nascimento: 11-05-2001\n",
" Posto: 2CAB\n",
" Distrito: Leiria\n",
"\n",
"Arquivo: FM_1SArg_Graça.pdf\n",
" Concelho: Figueira\n",
" Data_nascimento: 03-07-1989\n",
" Posto: 1SAR\n",
" Distrito: Coimbra\n",
"\n",
"Arquivo: FM_2Sarg_GabrielaSantos.pdf\n",
" Concelho: Gouveia\n",
" Data_nascimento: 27-10-1997\n",
" Posto: 2SAR\n",
" Distrito: Guarda\n",
"\n",
"Arquivo: FM_2Sarg_Mendes.pdf\n",
" Concelho: Vendas\n",
" Data_nascimento: 06-03-1998\n",
" Posto: 2SAR\n",
" Distrito: Évora\n",
"\n",
"Arquivo: FM_2Sarg_Sant'Ana.pdf\n",
" Concelho: Porto\n",
" Data_nascimento: 13-12-1993\n",
" Posto: 2SAR\n",
" Distrito: Porto\n",
"\n",
"Arquivo: FM_Alf_Ruivaco.pdf\n",
" Concelho: Leiria\n",
" Data_nascimento: 03-08-1997\n",
" Posto: ALF\n",
" Distrito: Leiria\n",
"\n",
"Arquivo: FM_Furr_Caetano.pdf\n",
" Concelho: Estarreja\n",
" Data_nascimento: 16-07-1998\n",
" Posto: FUR\n",
" Distrito: Aveiro\n",
"\n",
"Arquivo: FM_Furr_Guedes.pdf\n",
" Concelho: Coimbra\n",
" Data_nascimento: 02-10-2000\n",
" Posto: FUR\n",
" Distrito: Coimbra\n",
"\n",
"Arquivo: FM_SAj_Paulino.pdf\n",
" Concelho: Distrito\n",
" Data_nascimento: 26-12-1972\n",
" Posto: SAJ\n",
" Distrito: País\n",
"\n",
"Arquivo: FM_Sold Areias_1BtrBF_GAC.pdf\n",
" Concelho: Faro\n",
" Data_nascimento: 17-06-2002\n",
" Posto: SOLD\n",
" Distrito: Faro\n",
"\n",
"Arquivo: Fonseca.pdf\n",
" Concelho: Oliveira\n",
" Data_nascimento: 02-12-2001\n",
" Posto: SOLD\n",
" Distrito: Coimbra\n",
"\n",
"Arquivo: Furr Nujo.pdf\n",
" Concelho: Condeixa\n",
" Data_nascimento: 10-12-2002\n",
" Posto: FUR\n",
" Distrito: Coimbra\n",
"\n",
"Arquivo: Furr Sa.pdf\n",
" Concelho: Distrito\n",
" Data_nascimento: 13-01-2002\n",
" Posto: FUR\n",
" Distrito: País\n",
"\n",
"Arquivo: Martinho.pdf\n",
" Concelho: Distrito\n",
" Data_nascimento: 26-02-2002\n",
" Posto: SOLD\n",
" Distrito: País\n",
"\n",
"Arquivo: Mendes.pdf\n",
" Concelho: Alijó\n",
" Data_nascimento: 22-08-1998\n",
" Posto: SOLD\n",
" Distrito: Vila\n",
"\n",
"Arquivo: Silva.pdf\n",
" Concelho: Vila\n",
" Data_nascimento: 16-09-2003\n",
" Posto: SOLD\n",
" Distrito: Porto\n",
"\n",
"Arquivo: Trilho.pdf\n",
" Concelho: Alcobaça\n",
" Data_nascimento: 15-05-2003\n",
" Posto: SOLD\n",
" Distrito: Leiria\n",
"\n",
"Arquivo: Visualizar_PDF_Action.pdf\n",
" Concelho: Lisboa\n",
" Data_nascimento: 18-08-1988\n",
" Posto: Capitão\n",
" Distrito: Lisboa\n",
"\n",
"Total de informações extraídas: 80\n"
]
}
],
"source": [
"informacoes_extraidas=extrairinformacaodepdfsFM()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Vamos então trabalhar os valores retirados dos pdfs para fazer o nosso tratamento estatistico, sendo que para a informação da data_nascimento por si não nos dá uma informação relavante, agora a idade essa sim pode ser interessante para ser analisada.\n",
"\n",
"Sabemos que a idade pode ser calculada da seguinte forma:\n",
" <center>**idade = datetime.now().year - data_nascimento.year - ((datetime.now().month, datetime.now().day) (data_nascimento.month, data_nascimento.day))**</center>\n",
"\n",
"Iremos gravar esta informação num ficheiro csv para servir como informação estatistica e trabalhar atraves do mesmo (poderia-mos simplesmente trabalhar com o dataset em si)."
]
},
{
"cell_type": "code",
"execution_count": 87,
"metadata": {},
"outputs": [],
"source": [
"df = pd.DataFrame(informacoes_extraidas)\n",
"df[\"data_nascimento\"] = pd.to_datetime(df[\"data_nascimento\"], format=\"%d-%m-%Y\", errors=\"coerce\")\n",
"df[\"idade\"] = df[\"data_nascimento\"].apply(lambda x: datetime.now().year - x.year if pd.notnull(x) else None)\n",
"df.to_csv(\"C:\\\\Users\\\\garci\\\\OneDrive\\\\Ãrea de Trabalho\\\\Programa PJM\\\\Programa final\\\\Scripts\\\\informacoes_extraidas.csv\", index=False)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Vamos então agora trabalhar agora sobre o ficheiro criado para analisar o dataset. A particularidade deste processo é uma vez que o código está projetado para retirar a informação da pasta onde se encontram as FM, isto torna-o um codigo vivo isto é a medida que forem colocadas novas folhas de matricula na pasta referida todo o código atualiza a informação acrescentando assim a nova informação proveniente da nova Folha de Matricula. Eliminamos logo a variável "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>arquivo</th>\n",
" <th>Concelho</th>\n",
" <th>data_nascimento</th>\n",
" <th>Posto</th>\n",
" <th>distrito</th>\n",
" <th>idade</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1cb Pereira.pdf</td>\n",
" <td>Anadia</td>\n",
" <td>1999-09-09</td>\n",
" <td>1CAB</td>\n",
" <td>Aveiro</td>\n",
" <td>25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>Coelho.pdf</td>\n",
" <td>Nazaré</td>\n",
" <td>2004-04-30</td>\n",
" <td>2CAB</td>\n",
" <td>Leiria</td>\n",
" <td>20</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>Dias.pdf</td>\n",
" <td>Porto</td>\n",
" <td>2001-05-11</td>\n",
" <td>2CAB</td>\n",
" <td>Leiria</td>\n",
" <td>23</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>FM_1SArg_Graça.pdf</td>\n",
" <td>Figueira</td>\n",
" <td>1989-07-03</td>\n",
" <td>1SAR</td>\n",
" <td>Coimbra</td>\n",
" <td>35</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>FM_2Sarg_GabrielaSantos.pdf</td>\n",
" <td>Gouveia</td>\n",
" <td>1997-10-27</td>\n",
" <td>2SAR</td>\n",
" <td>Guarda</td>\n",
" <td>27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>FM_2Sarg_Mendes.pdf</td>\n",
" <td>Vendas</td>\n",
" <td>1998-03-06</td>\n",
" <td>2SAR</td>\n",
" <td>Évora</td>\n",
" <td>26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>FM_2Sarg_Sant'Ana.pdf</td>\n",
" <td>Porto</td>\n",
" <td>1993-12-13</td>\n",
" <td>2SAR</td>\n",
" <td>Porto</td>\n",
" <td>31</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>FM_Alf_Ruivaco.pdf</td>\n",
" <td>Leiria</td>\n",
" <td>1997-08-03</td>\n",
" <td>ALF</td>\n",
" <td>Leiria</td>\n",
" <td>27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>FM_Furr_Caetano.pdf</td>\n",
" <td>Estarreja</td>\n",
" <td>1998-07-16</td>\n",
" <td>FUR</td>\n",
" <td>Aveiro</td>\n",
" <td>26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>FM_Furr_Guedes.pdf</td>\n",
" <td>Coimbra</td>\n",
" <td>2000-10-02</td>\n",
" <td>FUR</td>\n",
" <td>Coimbra</td>\n",
" <td>24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>FM_SAj_Paulino.pdf</td>\n",
" <td>Distrito</td>\n",
" <td>1972-12-26</td>\n",
" <td>SAJ</td>\n",
" <td>País</td>\n",
" <td>52</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>FM_Sold Areias_1BtrBF_GAC.pdf</td>\n",
" <td>Faro</td>\n",
" <td>2002-06-17</td>\n",
" <td>SOLD</td>\n",
" <td>Faro</td>\n",
" <td>22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>Fonseca.pdf</td>\n",
" <td>Oliveira</td>\n",
" <td>2001-12-02</td>\n",
" <td>SOLD</td>\n",
" <td>Coimbra</td>\n",
" <td>23</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>Furr Nujo.pdf</td>\n",
" <td>Condeixa</td>\n",
" <td>2002-12-10</td>\n",
" <td>FUR</td>\n",
" <td>Coimbra</td>\n",
" <td>22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>Furr Sa.pdf</td>\n",
" <td>Distrito</td>\n",
" <td>2002-01-13</td>\n",
" <td>FUR</td>\n",
" <td>País</td>\n",
" <td>22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>Martinho.pdf</td>\n",
" <td>Distrito</td>\n",
" <td>2002-02-26</td>\n",
" <td>SOLD</td>\n",
" <td>País</td>\n",
" <td>22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>Mendes.pdf</td>\n",
" <td>Alijó</td>\n",
" <td>1998-08-22</td>\n",
" <td>SOLD</td>\n",
" <td>Vila</td>\n",
" <td>26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>Silva.pdf</td>\n",
" <td>Vila</td>\n",
" <td>2003-09-16</td>\n",
" <td>SOLD</td>\n",
" <td>Porto</td>\n",
" <td>21</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>Trilho.pdf</td>\n",
" <td>Alcobaça</td>\n",
" <td>2003-05-15</td>\n",
" <td>SOLD</td>\n",
" <td>Leiria</td>\n",
" <td>21</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>Visualizar_PDF_Action.pdf</td>\n",
" <td>Lisboa</td>\n",
" <td>1988-08-18</td>\n",
" <td>Capitão</td>\n",
" <td>Lisboa</td>\n",
" <td>36</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" arquivo Concelho data_nascimento Posto \\\n",
"0 1cb Pereira.pdf Anadia 1999-09-09 1CAB \n",
"1 Coelho.pdf Nazaré 2004-04-30 2CAB \n",
"2 Dias.pdf Porto 2001-05-11 2CAB \n",
"3 FM_1SArg_Graça.pdf Figueira 1989-07-03 1SAR \n",
"4 FM_2Sarg_GabrielaSantos.pdf Gouveia 1997-10-27 2SAR \n",
"5 FM_2Sarg_Mendes.pdf Vendas 1998-03-06 2SAR \n",
"6 FM_2Sarg_Sant'Ana.pdf Porto 1993-12-13 2SAR \n",
"7 FM_Alf_Ruivaco.pdf Leiria 1997-08-03 ALF \n",
"8 FM_Furr_Caetano.pdf Estarreja 1998-07-16 FUR \n",
"9 FM_Furr_Guedes.pdf Coimbra 2000-10-02 FUR \n",
"10 FM_SAj_Paulino.pdf Distrito 1972-12-26 SAJ \n",
"11 FM_Sold Areias_1BtrBF_GAC.pdf Faro 2002-06-17 SOLD \n",
"12 Fonseca.pdf Oliveira 2001-12-02 SOLD \n",
"13 Furr Nujo.pdf Condeixa 2002-12-10 FUR \n",
"14 Furr Sa.pdf Distrito 2002-01-13 FUR \n",
"15 Martinho.pdf Distrito 2002-02-26 SOLD \n",
"16 Mendes.pdf Alijó 1998-08-22 SOLD \n",
"17 Silva.pdf Vila 2003-09-16 SOLD \n",
"18 Trilho.pdf Alcobaça 2003-05-15 SOLD \n",
"19 Visualizar_PDF_Action.pdf Lisboa 1988-08-18 Capitão \n",
"\n",
" distrito idade \n",
"0 Aveiro 25 \n",
"1 Leiria 20 \n",
"2 Leiria 23 \n",
"3 Coimbra 35 \n",
"4 Guarda 27 \n",
"5 Évora 26 \n",
"6 Porto 31 \n",
"7 Leiria 27 \n",
"8 Aveiro 26 \n",
"9 Coimbra 24 \n",
"10 País 52 \n",
"11 Faro 22 \n",
"12 Coimbra 23 \n",
"13 Coimbra 22 \n",
"14 País 22 \n",
"15 País 22 \n",
"16 Vila 26 \n",
"17 Porto 21 \n",
"18 Leiria 21 \n",
"19 Lisboa 36 "
]
},
"execution_count": 120,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataFM = pd.read_csv(\"C:\\\\Users\\\\garci\\\\OneDrive\\\\Ãrea de Trabalho\\\\Programa PJM\\\\Programa final\\\\Scripts\\\\informacoes_extraidas.csv\")\n",
"dataFM"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Vamos fazer algumas operações para ficar apenas com a informação necessária eliminando as variáveis \"a mais\"."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Posto</th>\n",
" <th>idade</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1CAB</td>\n",
" <td>25</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2CAB</td>\n",
" <td>20</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2CAB</td>\n",
" <td>23</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>1SAR</td>\n",
" <td>35</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2SAR</td>\n",
" <td>27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>2SAR</td>\n",
" <td>26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>2SAR</td>\n",
" <td>31</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>ALF</td>\n",
" <td>27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>FUR</td>\n",
" <td>26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>FUR</td>\n",
" <td>24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>SAJ</td>\n",
" <td>52</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>SOLD</td>\n",
" <td>22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>SOLD</td>\n",
" <td>23</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>FUR</td>\n",
" <td>22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>FUR</td>\n",
" <td>22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>SOLD</td>\n",
" <td>22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>SOLD</td>\n",
" <td>26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>SOLD</td>\n",
" <td>21</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>SOLD</td>\n",
" <td>21</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>Capitão</td>\n",
" <td>36</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Posto idade\n",
"0 1CAB 25\n",
"1 2CAB 20\n",
"2 2CAB 23\n",
"3 1SAR 35\n",
"4 2SAR 27\n",
"5 2SAR 26\n",
"6 2SAR 31\n",
"7 ALF 27\n",
"8 FUR 26\n",
"9 FUR 24\n",
"10 SAJ 52\n",
"11 SOLD 22\n",
"12 SOLD 23\n",
"13 FUR 22\n",
"14 FUR 22\n",
"15 SOLD 22\n",
"16 SOLD 26\n",
"17 SOLD 21\n",
"18 SOLD 21\n",
"19 Capitão 36"
]
},
"execution_count": 121,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dataFM=dataFM.drop(\"arquivo\", axis=1)\n",
"dataFM=dataFM.drop(\"data_nascimento\", axis=1)\n",
"dataFM=dataFM.drop(\"Concelho\", axis=1)\n",
"dataFM=dataFM.drop(\"distrito\", axis=1)\n",
"dataFM"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Tendo então o nosso dataset com a informação necessáira a que nos proposemos trabalhar, vamos então agora trabalhar as variáveis do dataset que se dividem em uma variável quantitativa, idade, e uma variável qualitativa, nomeadamente, Posto.\n",
"Vamos começar pela variável quantitativa idade"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>count</th>\n",
" </tr>\n",
" <tr>\n",
" <th>idade</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>4</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>2</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>52</th>\n",
" <td>1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" count\n",
"idade \n",
"22 4\n",
"26 3\n",
"23 2\n",
"27 2\n",
"21 2\n",
"25 1\n",
"20 1\n",
"35 1\n",
"31 1\n",
"24 1\n",
"52 1\n",
"36 1"
]
},
"execution_count": 94,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.DataFrame(dataFM['idade'].value_counts())"
]
},
{
"cell_type": "code",
"execution_count": 95,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>V. Absolutos</th>\n",
" <th>V. Relativos (%)</th>\n",
" </tr>\n",
" <tr>\n",
" <th>idade</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>22</th>\n",
" <td>4</td>\n",
" <td>20.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>26</th>\n",
" <td>3</td>\n",
" <td>15.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>23</th>\n",
" <td>2</td>\n",
" <td>10.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>27</th>\n",
" <td>2</td>\n",
" <td>10.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>2</td>\n",
" <td>10.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25</th>\n",
" <td>1</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>1</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>35</th>\n",
" <td>1</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31</th>\n",
" <td>1</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>24</th>\n",
" <td>1</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>52</th>\n",
" <td>1</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>36</th>\n",
" <td>1</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" V. Absolutos V. Relativos (%)\n",
"idade \n",
"22 4 20.0\n",
"26 3 15.0\n",
"23 2 10.0\n",
"27 2 10.0\n",
"21 2 10.0\n",
"25 1 5.0\n",
"20 1 5.0\n",
"35 1 5.0\n",
"31 1 5.0\n",
"24 1 5.0\n",
"52 1 5.0\n",
"36 1 5.0"
]
},
"execution_count": 95,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.DataFrame({'V. Absolutos':dataFM['idade'].value_counts(), 'V. Relativos (%)':(dataFM['idade'].value_counts()*100/dataFM.shape[0]).round(2)})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Relativamente a variável quantitativa idade a nível das medidas de tendência central e não central podemos afirmar que tem o seu mínimo nos 22 anos de idade e o máximo nos 52 Anos de idade. Sendo que a média do mesmo é de 24,5 e um coeficiente de variação de 2.22 indicando um coeficiente de variação positivo que pode ser comprovado com o gráfico Histograma da variável idade."
]
},
{
"cell_type": "code",
"execution_count": 101,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>index</th>\n",
" <th>count</th>\n",
" <th>mean</th>\n",
" <th>std</th>\n",
" <th>min</th>\n",
" <th>25%</th>\n",
" <th>50%</th>\n",
" <th>75%</th>\n",
" <th>max</th>\n",
" <th>Skew</th>\n",
" <th>Moda</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>idade</td>\n",
" <td>20.0</td>\n",
" <td>26.55</td>\n",
" <td>7.44</td>\n",
" <td>20.0</td>\n",
" <td>22.0</td>\n",
" <td>24.5</td>\n",
" <td>27.0</td>\n",
" <td>52.0</td>\n",
" <td>2.22</td>\n",
" <td>22</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" index count mean std min 25% 50% 75% max Skew Moda\n",
"0 idade 20.0 26.55 7.44 20.0 22.0 24.5 27.0 52.0 2.22 22"
]
},
"execution_count": 101,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tabela_medidas_tendencia(dataFM)"
]
},
{
"cell_type": "code",
"execution_count": 107,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Variável</th>\n",
" <th>Variância</th>\n",
" <th>Coeficiente de Variação</th>\n",
" <th>Desvio Médio Absoluto</th>\n",
" <th>Amplitude</th>\n",
" <th>Intervalo Inter-Quartil</th>\n",
" <th>Outliers</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>idade</td>\n",
" <td>52.55</td>\n",
" <td>0.27</td>\n",
" <td>4.87</td>\n",
" <td>32</td>\n",
" <td>5.0</td>\n",
" <td>3</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Variável Variância Coeficiente de Variação Desvio Médio Absoluto \\\n",
"0 idade 52.55 0.27 4.87 \n",
"\n",
" Amplitude Intervalo Inter-Quartil Outliers \n",
"0 32 5.0 3 "
]
},
"execution_count": 107,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tabela_medidas_disperção(dataFM)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"No Boxplot da variável idade podemos identificar três observações fora dos nossos quartis, assim como nas medidas de dispersão podemos identificar de igual forma que as mesmas três observações são identificadas, o que poderia indicar outliers, mas na realidade e olhando para o problema em si, não, isto porque a idade de entrada na reserva no exército é os 55 anos, ou seja, não teremos ninguém com mais de 55 anos a ser analisado. "
]
},
{
"cell_type": "code",
"execution_count": 108,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\garci\\AppData\\Local\\Temp\\ipykernel_79296\\2331023749.py:2: FutureWarning: \n",
"\n",
"Passing `palette` without assigning `hue` is deprecated and will be removed in v0.14.0. Assign the `y` variable to `hue` and set `legend=False` for the same effect.\n",
"\n",
" sns.boxplot(x=dataFM['idade'], color=\"lightblue\",linewidth=0.75,flierprops=dict(marker='*', markersize=5), palette=\"pastel\")\n"
]
},
{
"data": {
"text/plain": [
"Text(0.5, 0, 'Idades')"
]
},
"execution_count": 108,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"grafico(1)\n",
"sns.boxplot(x=dataFM['idade'], color=\"lightblue\",linewidth=0.75,flierprops=dict(marker='*', markersize=5), palette=\"pastel\")\n",
"plt.title('Barplot das idades', color='Darkblue')\n",
"plt.xlabel('Idades', color='Darkblue')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Aliado ao anterior podemos ainda acrescentar que a quantidade de dados observados é realmente pequena e estão concentrados em idades mais juvenis. Se por acaso forem acrescentadas mais FM a assimetria do nosso gráfico Histograma da variável idade iria ser claramente negativa isto porque a quantidade de elementos no Exército é maior nas idades mais avançadas do que nas idades mais jovens."
]
},
{
"cell_type": "code",
"execution_count": 109,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Histograma de Idades')"
]
},
"execution_count": 109,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"grafico(1)\n",
"sns.histplot(dataFM['idade'], color='darkblue', kde=True)\n",
"plt.xlabel('Idades',color='darkblue')\n",
"plt.ylabel('Frequências', color='darkblue')\n",
"plt.title('Histograma de Idades', color='darkblue')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Como a quantidade de amostras são pequenas, optamos por não criar intervalos de idades, e apresentamos o valores que correspondem a idade dos militares."
]
},
{
"cell_type": "code",
"execution_count": 111,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x1d8bf8b68d0>"
]
},
"execution_count": 111,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"grafico(1)\n",
"plt.pie(dataFM['idade'].value_counts().sort_index(), autopct='%1.1f%%')\n",
"plt.title('Distribuição de idades', color='Darkblue')\n",
"plt.legend(dataFM['idade'].value_counts().sort_index().index,loc='upper right', bbox_to_anchor=(1.3, 1))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Relativamente a variável quantitativa idade a nível das medidas de tendência central e não central podemos afirmar que tem o seu mínimo nos 22 anos de idade e o máximo nos 52 Anos de idade. Sendo que a média do mesmo é de 24,5 e um coeficiente de variação de 2.22 indicando um coeficiente de variação positivo que pode ser comprovado com o gráfico Histograma da variável idade.\n",
"No Boxplot da variável idade podemos identificar três observações fora dos nossos quartis, assim como nas medidas de dispersão podemos identificar de igual forma que as mesmas três observações são identificadas, o que poderia indicar outliers, mas na realidade e olhando para o problema em si, não, isto porque a idade de entrada na reserva no exército é os 55 anos, ou seja, não teremos ninguém com mais de 55 anos a ser analisado. \n",
"Aliado ao anterior podemos ainda acrescentar que a quantidade de dados observados é realmente pequena e estão concentrados em idades mais juvenis. Se por acaso forem acrescentadas mais FM a assimetria do nosso gráfico Histograma da variável idade iria ser claramente negativa isto porque a quantidade de elementos no Exército é maior nas idades mais avançadas do que nas idades mais jovens.\n",
"O mesmo exercício poderá ser feito para as idades mais tenras isto porque a idade mínima para entrar no exército é 18 anos, a esta idade deve ser acrescentado o fator disponibilidade de curso o que nem sempre existe ao longo do ano, assim que o candidato faz os 18 anos. Acrescentando a este o tempo de formação que varia entre 4 meses a 6 meses, e uma parte especifica que varia de 1 mês a 6 meses. O que significa que na prática desde o momento que o candidato entra nas fileiras até ao momento que é considerado militar (e temos acesso a FM) passam entre 5 meses e um ano. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Vamos agora analisar a variável qualitativa Posto.\n",
"\n",
"No exército portugues os [postos](https://c1.quickcachr.fotos.sapo.pt/i/oed07d548/9354108_IM9hs.png) estão dispostos em catergorias. Que representam responsabilidades em relacão a uma hierarquia definida. Essa hiérarquia tê uma ordem, fazendo desta variável uma variável qualitativa ordinal, contudo e como no caso em especifico a ordem é meramente informativa optamos por trabalhar a variável como sendo uma variável qualitativa normal."
]
},
{
"cell_type": "code",
"execution_count": 122,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>V. Absolutos</th>\n",
" <th>V. Relativos (%)</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Posto</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>SOLD</th>\n",
" <td>6</td>\n",
" <td>30.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>FUR</th>\n",
" <td>4</td>\n",
" <td>20.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2SAR</th>\n",
" <td>3</td>\n",
" <td>15.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2CAB</th>\n",
" <td>2</td>\n",
" <td>10.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1CAB</th>\n",
" <td>1</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1SAR</th>\n",
" <td>1</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ALF</th>\n",
" <td>1</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>SAJ</th>\n",
" <td>1</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Capitão</th>\n",
" <td>1</td>\n",
" <td>5.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" V. Absolutos V. Relativos (%)\n",
"Posto \n",
"SOLD 6 30.0\n",
"FUR 4 20.0\n",
"2SAR 3 15.0\n",
"2CAB 2 10.0\n",
"1CAB 1 5.0\n",
"1SAR 1 5.0\n",
"ALF 1 5.0\n",
"SAJ 1 5.0\n",
"Capitão 1 5.0"
]
},
"execution_count": 122,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.DataFrame({'V. Absolutos':dataFM['Posto'].value_counts(), 'V. Relativos (%)':(dataFM['Posto'].value_counts()*100/dataFM.shape[0]).round(2)})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Na variável posta o valor mais observado é SOLD que com 6 observações corresponde a 30.0% do total de observações, por sua vez Capitão, SAJ, ALF, 1SAR, 1CAB partilham os valores menos observados, apenas com uma observação cada correspondendo a 5% cada. A baixa quantidade de observações, justifica a disparidade de observações na varável qualitativa posto, conjugado com o fato de o dataset conter poucas amostras e isso dificultar um tratamento estatístico mais robustecido."
]
},
{
"cell_type": "code",
"execution_count": 124,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x1d8c73d6bd0>"
]
},
"execution_count": 124,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"grafico(1)\n",
"plt.pie(dataFM['Posto'].value_counts().sort_index(), autopct='%1.1f%%')\n",
"plt.title('Distribuição por posto', color='Darkblue')\n",
"plt.legend(dataFM['Posto'].value_counts().sort_index().index,loc='upper right', bbox_to_anchor=(1.3, 1))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Finalizado assim a nossa analise estatistica para o problema de *Information Extration* iremos avançar para o nosso problema de *Summarization, Information Visualization*\n",
"\n",
"<center><h1>Summarization, Information Visualization</h1></center><a id=\"secao8\"></a>\n",
"\n",
"- [X] [Categorization](#secao5)\n",
"- [X] [Information Extration](#secao7)\n",
"- **[ ] [Summarization, Information Visualization](#secao8)**\n",
"\n",
"\n",
"Esta parte utiliza como base a estura de um video/audio ou streaming para captar som ou som e imagem e depois transcrever o som para texto (isto é um pressuposto que o program PJM/IA já efectua), recorrendo ao [*whisper ai*](https://openai.com/index/whisper/).\n",
"\n",
"De forma a facilitar o processo, e uma vez que no nosso caso em especifico para a elaboração deste trabalho usamos o ChatGPT para criar interrogatorios simulados e depois converter em video usando uma ferramente *opensource* denominada de [invideo ai](https://invideo.io/perf/ga-ai-video-generator-web/?utm_source=google&utm_medium=cpc&utm_campaign=Global_Search_Brand_Exact_EN&adset_name=Invideo_AI&keyword=invideo%20.ai&network=g&device=c&utm_term=invideo%20.ai&utm_content=Invideo_AI&matchtype=e&placement=g&campaign_id=18035330774&adset_id=152533182894&ad_id=674819400174&gad_source=1&gclid=Cj0KCQiAx9q6BhCDARIsACwUxu7npdw4c45mBKx76so85-_vHQbe_LREQe40Qz2nrNJJhkselXqExbsaAsmWEALw_wcB), pegamos nos interrogatórios que introduzimos nesta ferramenta e consideramos que estes eram parte do processo de transcrição já efetuado.\n",
"\n",
"Vamos utilizar a nossa função [extrairtextoword](#secao1) para aplicar nos textos todos das entrevistas. Na prática seria passar-mos todo o nosso corpus (videos de entrevistas) pelo programa PJM/IA e depois pegar em todos os relatórios, onde têm a transcrição de audio para texto dos interrogatórios, e juntar todos num documento para depois aplicar-mos a função [dividirinterrogatorios](#secao2), isto o que vai fazer é criar um vector onde cada entrada é um documento, ou seja, uma entrevista (completa).\n"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {},
"outputs": [],
"source": [
"texto = extrairtextoword(\"C:\\\\Users\\\\garci\\\\OneDrive\\\\Ãrea de Trabalho\\\\Programa PJM\\\\Programa final\\\\Corpus\\\\Entrevistas\\\\Roteiro de Entrevista Simulad1.docx\")"
]
},
{
"cell_type": "code",
"execution_count": 90,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['– Caso de Roubo em Lisboa\\nContexto:\\nSuspeito: Um homem que está sendo interrogado pela suspeita de roubar uma senhora em plena luz do dia.\\nProvas:\\nDeclarações da vítima (senhora que teve a mala roubada).\\nImpressões digitais do suspeito na mala da vítima.\\nAlegação do suspeito: Ele alega ter tocado na mala apenas enquanto passava pela rua, mas nega o roubo.\\nCena:\\nLocal: Sala de interrogatório, com uma mesa simples e duas cadeiras. Uma câmera está posicionada para gravar a entrevista. O entrevistador (policial) está vestido formalmente e mantém um tom profissional.\\nRoteiro:\\n1. Introdução\\nPolicial: \"Boa tarde, senhor João pereira. Gostaria de começar explicando que esta entrevista está sendo gravada. O senhor tem o direito de permanecer em silêncio e de contar com um advogado durante todo o processo. Entendeu seus direitos?\"\\nSuspeito: \"Sim.\"\\nPolicial: \"Ótimo. Vamos conversar sobre um incidente ocorrido recentemente em Lisboa, envolvendo a senhora Joana Castro. Ela relatou que sua mala foi roubada por volta das 20:00, no colombo. Estamos aqui para esclarecer os fatos. Está disposto a colaborar?\"\\n2. Estabelecimento da Relação\\nPolicial: \"Antes de tudo, pode me contar onde o senhor estava por volta das 20:00 no dia 04 de dezembro de 2024?\"\\nSuspeito: Encontrava-me nas Compras no Continente do Colombo com um amigo meu.\\n3. Apresentação das Provas\\nPolicial: \"Muito bem. Temos aqui algumas informações que gostaríamos de discutir com o senhor. A senhora Joana Castro declarou que um homem com características semelhantes às suas a abordou e roubou sua mala. O que tem a dizer sobre isso?\"\\nSuspeito: \"Eu não roubei nada. Estava apenas passando na rua.\"\\nPolicial: \"Entendido. No entanto, encontramos suas impressões digitais na mala da senhora. Como explica isso?\"\\nSuspeito: \"Deve ser porque eu encostei na mala sem querer. Foi só isso.\"\\n4. Exploração de Contradições\\nPolicial: \"Entendo. Mas a senhora descreveu que a pessoa que levou a mala a puxou com força enquanto ela andava. Se o senhor apenas tocou na mala enquanto passava, como acha que suas impressões ficaram tão marcadas?\"\\nSuspeito: Não sei talvez a passar tenha colocado a mão sei lá…\\nPolicial: \"Além disso, a senhora mencionou que o incidente foi rápido e não havia ninguém próximo além do senhor. Como explica que ela tenha reconhecido alguém com características tão próximas às suas?\"\\nSuspeito: O colombo tem tanta gente porque é que tenho que ser eu…\\n5. Análise do Contexto\\nPolicial: \"O senhor já teve algum problema com a justiça anteriormente? Alguma acusação de furto ou roubo?\"\\nSuspeito: Já mas não percebo porque é que esse fato é importante para esta situação eu não fiz nada…\\nPolicial: \"E quanto ao local onde estava indo ou vindo naquele dia? Alguém pode confirmar sua versão dos fatos?\"\\nSuspeito: Sim um amigo mas foi para frança não está cá.\\n6. Encerramento\\nPolicial: \"Agradeço pela sua cooperação. Esta gravação será analisada junto com as outras provas. Se houver algo mais que queira acrescentar ou ajustar na sua declaração, este é o momento.\"\\nSuspeito: Não tenho mais nada.\\nPolicial: \"Muito bem, por ora é isso. O senhor será informado sobre os próximos passos do processo. Obrigado pelo seu tempo.\"\\nObservações Adicionais:\\nO tom do policial deve alternar entre acolhedor (para encorajar o suspeito a falar) e assertivo (para pressionar o suspeito quando necessário).\\nO suspeito pode demonstrar nervosismo, hesitação ou mesmo agressividade, dependendo do perfil criado para ele.\\nO vídeo pode incluir legendas para indicar momentos importantes, como \"Prova apresentada\" ou \"Resposta inconsistente\".',\n",
" '– Caso de Vandalismo em Porto\\nContexto:\\nSuspeito: Um jovem acusado de vandalizar um café no Porto, quebrando janelas e pichando as paredes durante a madrugada.\\nProvas:\\nImagens de câmeras de segurança mostram um indivíduo com características semelhantes ao suspeito.\\nO suspeito foi encontrado próximo ao local na mesma noite, com tinta spray em sua mochila.\\nAlegação do suspeito: Ele nega qualquer envolvimento e afirma que estava apenas voltando para casa de uma festa.\\nCena:\\nLocal: Sala de interrogatório simples. O suspeito está sentado de forma desconfortável, enquanto o policial mantém um tom calmo, mas firme.\\nRoteiro:\\n1. Introdução\\nPolicial: \"Boa tarde, Pedro Vasco. Esta entrevista está sendo gravada e faz parte de uma investigação sobre vandalismo ocorrido no café Marianita, na madrugada de 03 de dezembro de 2023. O senhor tem o direito de permanecer em silêncio e de solicitar um advogado. Entendeu seus direitos?\"\\nSuspeito: \"Sim.\"\\nPolicial: \"Muito bem. Gostaríamos de esclarecer alguns fatos e ouvir a sua versão. Está disposto a colaborar?\"\\nSuspeito: \"Sim.\"\\n2. Contextualização Inicial\\nPolicial: \"Pode nos contar onde estava na noite de 03 de dezembro de 2023 entre as 20:00 e as 22:00?\"\\nSuspeito: \"Estava em uma festa com amigos. Saí por volta de 21:40 e estava indo para casa.\"\\nPolicial: \"Entendido. Algum dos seus amigos pode confirmar isso?\"\\nSuspeito: \"Sim. O João António\"\\n3. Apresentação das Provas\\nPolicial: \"Temos aqui imagens de câmeras de segurança que mostram alguém com características muito parecidas com as suas nas proximidades do café vandalizado. Reconhece este local?\"\\nSuspeito: \"Sim, mas eu não fiz nada. Só passei por ali.\"\\nPolicial: \"Compreendo. No entanto, o indivíduo nas imagens está segurando algo que parece ser uma lata de spray. Curiosamente, encontramos uma lata de tinta spray na sua mochila quando foi abordado. Como explica isso?\"\\nSuspeito: \"Eu costumo usar spray para pintar coisas minhas, mas não tem nada a ver com isso.\"\\n4. Exploração de Contradições\\nPolicial: \"Certo. Mas as tintas na sua mochila coincidem com a cor usada nas pichações do café. Como justifica isso?\"\\nSuspeito: \"É coincidência. Qualquer um pode comprar essa tinta em uma loja.\"\\nPolicial: \"Entendido. Vamos falar das janelas quebradas. Acreditamos que foram usadas pedras ou outros objetos pesados. Alguém viu o senhor carregando algo assim?\"\\nSuspeito: \"Não. Eu estava só com minha mochila.\"\\n5. Pressão Estratégica\\nPolicial: \"Entenda que as evidências apontam para o senhor: imagens, objetos encontrados e o horário em que foi visto perto do local. É sua oportunidade de ser honesto. Existe algo que queira nos contar?\"\\nSuspeito: \"Eu já disse que não fiz nada.\"\\n6. Encerramento\\nPolicial: \"Muito bem, senhor Pedro Vasco. Agradeço por responder às nossas perguntas. Sua declaração será analisada junto às provas que temos. Se houver algo mais que queira acrescentar, pode fazê-lo agora.\"\\nSuspeito: \"Não tenho mais nada a dizer.\"\\nPolicial: \"Ok. Entraremos em contato com você ou com seu advogado caso precisemos de mais informações. Obrigado.\"\\nObservações Adicionais:\\nO policial pode alternar entre ser acolhedor e firme para avaliar as reações do suspeito.\\nO suspeito pode demonstrar nervosismo ou tentativas de justificar contradições nas respostas.\\nAs gravações podem incluir pausas para reflexão e anotações pelo policial para aumentar o realismo.',\n",
" '– Caso de Fraude Bancária Faro\\nContexto:\\nSuspeito: Uma mulher acusada de realizar transferências bancárias fraudulentas de contas de terceiros para a sua própria conta.\\nProvas:\\nRegistros bancários mostram transferências irregulares para a conta do suspeito.\\nLogs do sistema bancário indicam acesso às contas das vítimas usando o mesmo endereço IP associado ao computador do suspeito.\\nAlegação do suspeito: Ela afirma que sua conta foi usada sem o seu conhecimento e que seu computador foi invadido.\\nCena:\\nLocal: Sala de interrogatório moderna, equipada com computadores e uma mesa. O policial está sentado à frente da suspeita, mantendo uma postura profissional.\\nRoteiro:\\n1. Introdução\\nPolicial: \"Boa tarde, Carmem Justice. Esta entrevista está sendo gravada como parte de uma investigação sobre transferências bancárias fraudulentas. Antes de começarmos, quero lembrar que você tem o direito de permanecer em silêncio e de ter um advogado presente. Está claro?\"\\nSuspeito: \"Sim.\"\\nPolicial: \"Ótimo. Podemos começar com algumas perguntas básicas?\"\\nSuspeito: \"Sim.\"\\n2. Contextualização Inicial\\nPolicial: \"A senhora é titular da conta bancária 1234567890 no Banco Felix?\"\\nSuspeito: \"Sim, essa conta é minha.\"\\nPolicial: \"Pode nos dizer se realizou alguma transferência bancária entre os dias 20 de dezembro?\"\\nSuspeito: \"Não. Não fiz nada disso.\"\\n3. Apresentação das Provas\\nPolicial: \"Entendido. No entanto, temos registros de que sua conta recebeu várias transferências de contas de terceiros. Além disso, os logs do sistema mostram que os acessos foram feitos a partir de um endereço IP vinculado à sua residência. Como explica isso?\"\\nSuspeito: \"Eu não sei. Alguém deve ter usado minha conta ou hackeado meu computador.\"\\nPolicial: \"Compreendo. A senhora costuma compartilhar a senha do seu banco com alguém?\"\\nSuspeito: \"Não, nunca.\"\\n4. Exploração de Contradições\\nPolicial: \"A senhora mencionou que seu computador pode ter sido hackeado. Já percebeu alguma atividade estranha, como e-mails suspeitos ou pop-ups?\"\\nSuspeito: \"Não que eu me lembre, mas não sou boa com tecnologia.\"\\nPolicial: \"Certo. Os especialistas nos disseram que as transferências foram feitas a partir de um navegador específico configurado com suas credenciais salvas. A senhora utiliza esse recurso?\"\\nSuspeito: \"Sim, deixo as senhas salvas porque é mais fácil.\"\\n5. Pressão Estratégica\\nPolicial: \"Entenda, Carmem Justice, temos evidências concretas. É melhor para a senhora explicar exatamente o que aconteceu. Há algo que queira admitir?\"\\nSuspeito: \"Já disse que não fiz nada. Talvez alguém tenha usado meu computador quando eu não estava em casa.\"\\n6. Encerramento\\nPolicial: \"Muito bem, senhora Carmem Justice. Suas respostas serão avaliadas junto às provas. Caso queira adicionar algo mais, é sua oportunidade agora.\"\\nSuspeito: \"Não tenho mais nada a dizer.\"\\nPolicial: \"Entendido. Entraremos em contato com você ou com seu advogado se precisarmos de mais informações. Obrigado pela colaboração.\"\\nObservações Adicionais:\\nO policial pode fazer pausas estratégicas para observar as reações da suspeita.\\nPerguntas mais técnicas podem ser adicionadas se necessário, dependendo do nível de conhecimento tecnológico do suspeito.',\n",
" '– Caso de Furto em Supermercado Coimbra\\nContexto:\\nSuspeito: Uma mulher jovem acusada de furtar produtos de um supermercado na cidade de Coimbra, colocando itens em sua bolsa sem pagar.\\nProvas:\\nImagens de câmeras de segurança mostram a suspeita colocando itens em sua bolsa no corredor de produtos de higiene pessoal.\\nFuncionários do supermercado relataram comportamento suspeito e a confrontaram antes dela sair.\\nDurante a abordagem, foram encontrados produtos sem o recibo dentro da bolsa da suspeita.\\nAlegação do suspeito: Ela afirma que colocou os produtos na bolsa apenas para carregar enquanto continuava as compras, mas decidiu não comprá-los e esqueceu de devolvê-los à prateleira.\\nCena:\\nLocal: Sala de interrogatório iluminada. A suspeita está sentada, nervosa, enquanto o policial adota um tom educado, mas direto.\\nRoteiro:\\n1. Introdução\\nPolicial:\\n\"Boa tarde, Diana Ferreira. Esta entrevista está sendo gravada como parte da investigação sobre o furto ocorrido no supermercado Mercadinho Coimbra, na tarde de 28 de novembro de 2023. O senhor entende seus direitos, incluindo o de permanecer em silêncio e solicitar um advogado?\"\\nSuspeita:\\n\"Sim.\"\\nPolicial:\\n\"Ótimo. Queremos ouvir sua versão dos fatos. Está disposta a colaborar?\"\\nSuspeita:\\n\"Sim, claro.\"\\n2. Contextualização Inicial\\nPolicial:\\n\"Pode nos contar o que estava fazendo no supermercado por volta das 15:30 daquela tarde?\"\\nSuspeita:\\n\"Sim, eu estava comprando alguns itens de higiene pessoal. Peguei algumas coisas e continuei olhando outras.\"\\nPolicial:\\n\"Compreendo. Estava sozinha ou acompanhada?\"\\nSuspeita:\\n\"Sozinha.\"\\n3. Apresentação das Provas\\nPolicial:\\n\"Temos aqui imagens das câmeras de segurança que mostram a senhora colocando itens diretamente na bolsa em vez de no carrinho ou na cesta. Pode explicar por que fez isso?\"\\nSuspeita:\\n\"Ah, eu... Sim, lembro disso. Minha cesta estava muito cheia, então coloquei na bolsa para carregar. Depois esqueci de tirar.\"\\nPolicial:\\n\"Entendido. No entanto, os produtos não foram devolvidos às prateleiras, e também não estavam na sua cesta quando foi confrontada. Como explica isso?\"\\nSuspeita:\\n\"Eu ia devolver, mas fui abordada antes. Foi um erro meu.\"\\n4. Exploração de Contradições\\nPolicial:\\n\"Entendo. Mas os itens encontrados na sua bolsa somam mais de 50 euros em produtos, e a maioria é de higiene pessoal. Algum motivo específico para ter colocado esses itens em particular?\"\\nSuspeita:\\n\"Não, só eram coisas que eu ia comprar, mas mudei de ideia.\"\\nPolicial:\\n\"Compreendido. Contudo, nossa equipe encontrou o recibo de outros produtos comprados no mesmo supermercado. Por que esses itens não estavam na lista de compras final?\"\\nSuspeita:\\n\"Eu não sei... Eu só me confundi.\"\\n5. Pressão Estratégica\\nPolicial:\\n\"Quero lembrar que as evidências sugerem intencionalidade: os itens na bolsa, o valor elevado e as imagens de segurança. Este é o momento de ser honesta. Há algo que queira acrescentar?\"\\nSuspeita:\\n\"Já disse tudo. Não foi de propósito.\"\\n6. Encerramento\\nPolicial:\\n\"Está certo, Diana Ferreira. Agradecemos por responder às perguntas. Sua declaração será analisada junto às provas disponíveis. Caso precise adicionar algo mais, agora é o momento.\"\\nSuspeita:\\n\"Não, não tenho mais nada a dizer.\"\\nPolicial:\\n\"Obrigado. Fique à disposição para mais esclarecimentos.\"\\nObservações Adicionais:\\nO policial pode alternar entre indagações acolhedoras e firmes para explorar incoerências.\\nO suspeito pode demonstrar nervosismo e hesitações ao tentar justificar falhas.\\nDetalhes adicionais, como documentos ou testemunhas, podem ser incorporados para tornar o caso mais dinâmico.',\n",
" '– Caso de Vandalismo em Escola Lisboa\\nContexto:\\nSuspeito: Um estudante de 16 anos, acusado de danificar equipamentos de informática na biblioteca de uma escola secundária em Lisboa. O aluno foi identificado após a descoberta de imagens de câmeras internas e relatos de colegas.\\nProvas:\\nImagens mostram o suspeito inserindo um objeto metálico em uma entrada USB de um computador, o que resultou em curto-circuito e danificou a máquina.\\nTestemunhas relataram que o estudante fazia comentários depreciativos sobre o equipamento da escola.\\nDurante a revista ao armário do estudante, foi encontrado o mesmo objeto metálico identificado nas imagens.\\nAlegação do Suspeito: Ele afirma que estava apenas tentando \"brincar\" e não tinha intenção de causar danos.\\nCena:\\nLocal: Sala de orientação da escola. O estudante está sentado ao lado de seu pai, que parece preocupado. O orientador escolar, assumindo uma postura calma, mas firme, conduz a entrevista para entender o ocorrido.\\nRoteiro:\\n1. Introdução\\nOrientador:\\n\"Boa tarde, Tiago Santos e senhor António Santos. Esta conversa será registrada para esclarecermos o incidente ocorrido na biblioteca da Escola Secundária de Lisboa, no dia 3 de dezembro de 2023. Tiago, você entende que estamos aqui para ouvir sua versão, mas que você tem o direito de permanecer em silêncio e consultar um advogado, caso ache necessário?\"\\nTiago:\\n\"Sim, eu entendo.\"\\nOrientador:\\n\"Ótimo. Espero que possamos esclarecer tudo de maneira honesta e colaborativa. Está pronto para conversar?\"\\nTiago:\\n\"Sim.\"\\n2. Contextualização Inicial\\nOrientador:\\n\"Pode nos contar o que estava fazendo na biblioteca por volta das 14h daquela tarde?\"\\nTiago:\\n\"Eu estava estudando para um teste de matemática com alguns colegas.\"\\nOrientador:\\n\"Entendido. Você costuma usar os computadores da biblioteca durante seus estudos?\"\\nTiago:\\n\"Sim, às vezes. Mas naquele dia eu não usei.\"\\n3. Apresentação das Provas\\nOrientador:\\n\"Tiago, temos aqui imagens das câmeras internas que mostram você inserindo um objeto metálico na entrada USB de um dos computadores. Pode nos explicar o que estava fazendo?\"\\nTiago:\\n\"Eu... Bem, eu só estava tentando ver se o computador funcionava direito. Não pensei que ia quebrar.\"\\nOrientador:\\n\"Entendido. No entanto, após o incidente, o computador parou de funcionar, causando danos significativos. Você se lembra de ter sido avisado sobre como manusear os equipamentos?\"\\nTiago:\\n\"Sim, mas eu só estava brincando. Não foi por mal.\"\\n4. Exploração de Contradições\\nOrientador:\\n\"Entendo, mas essa \\'brincadeira\\' resultou em um prejuízo significativo para a escola. Além disso, colegas relataram que você havia mencionado que os computadores da escola eram velhos e ruins. Isso é verdade?\"\\nTiago:\\n\"Ah, eu já comentei isso, sim. Mas não quis dizer nada de errado. Só acho que eles travam muito.\"\\nOrientador:\\n\"Compreendido. Contudo, o objeto encontrado no seu armário coincide exatamente com o que aparece nas imagens. Pode nos dizer por que estava com ele?\"\\nTiago:\\n\"Era só um chaveiro. Eu sempre carrego comigo.\"\\n5. Pressão Estratégica\\nOrientador:\\n\"Tiago, quero ressaltar que as evidências indicam claramente sua responsabilidade nesse incidente. Esta é uma oportunidade para você ser honesto e ajudar a resolver a situação. Há algo mais que queira nos contar?\"\\nTiago:\\n\"Não foi por mal... Eu só queria mostrar pros meus amigos que aqueles computadores não valiam nada.\"\\nOrientador:\\n\"Compreendo, mas você reconhece que sua atitude não foi adequada e causou danos intencionais, mesmo que tenha sido para provar um ponto?\"\\nTiago:\\n\"Sim... Eu sei que errei.\"\\n6. Encerramento\\nOrientador:\\n\"Obrigado por ser honesto, Tiago. Sua declaração será levada em consideração junto às provas. Este é um momento importante para refletir sobre suas ações e suas consequências. Senhor António, agradeço sua presença. Caso precisem de mais informaç
" '– Caso de Vandalismo em Escola Setúbal\\nContexto:\\nSuspeito: Um adolescente, João Oliveira, de 16 anos, acusado de vandalizar a fachada da Escola Secundária José Régio com pichações durante a noite.\\nProvas:\\nCâmeras de segurança capturaram imagens de um jovem usando roupas semelhantes às de João na área da escola por volta das 22h.\\nTestemunhas relataram ver João perto do local com uma mochila cheia de sprays de tinta.\\nResquícios de tinta foram encontrados nas mãos e roupas do suspeito no dia seguinte.\\nAlegação do suspeito: João afirma que estava no local apenas para encontrar amigos e que não participou do vandalismo.\\nCena:\\nLocal: Sala de interrogatório simples. João está sentado, apreensivo, enquanto o policial, um homem experiente e calmo, conduz a conversa.\\n1. Introdução\\nPolicial:\\n\"Boa tarde, João Oliveira. Esta entrevista está sendo gravada como parte da investigação sobre o vandalismo ocorrido na Escola Secundária José Régio, na noite de 3 de dezembro de 2023. Você compreende seus direitos, incluindo o de permanecer em silêncio e solicitar a presença de um responsável ou advogado?\"\\nSuspeito:\\n\"Sim.\"\\nPolicial:\\n\"Muito bem. Queremos entender sua versão dos fatos. Está disposto a colaborar?\"\\nSuspeito:\\n\"Sim.\"\\n2. Contextualização Inicial\\nPolicial:\\n\"João, pode nos dizer o que estava fazendo nas proximidades da escola por volta das 22h daquela noite?\"\\nSuspeito:\\n\"Eu estava só passeando, fui encontrar alguns amigos.\"\\nPolicial:\\n\"Estava sozinho ou acompanhado?\"\\nSuspeito:\\n\"Sozinho, mas depois encontrei o pessoal.\"\\n3. Apresentação das Provas\\nPolicial:\\n\"As câmeras de segurança mostram um jovem usando uma blusa preta e calças jeans, que correspondem ao que você vestia, perto da fachada vandalizada. Pode explicar isso?\"\\nSuspeito:\\n\"Sim, era eu mesmo, mas não fiz nada. Estava só passando por lá.\"\\nPolicial:\\n\"Compreendo. Contudo, testemunhas relataram que você estava com uma mochila cheia de sprays de tinta. Isso procede?\"\\nSuspeito:\\n\"Ah, eu tinha uns sprays, mas era para pintar em outro lugar, não na escola.\"\\n4. Exploração de Contradições\\nPolicial:\\n\"Entendo. Mas se não tinha intenção de vandalizar a escola, por que foi visto parado exatamente onde as pichações foram feitas?\"\\nSuspeito:\\n\"Eu estava esperando meus amigos. Não sei quem fez aquilo.\"\\nPolicial:\\n\"João, também encontramos manchas de tinta na sua mão e na blusa no dia seguinte. Como você explica isso?\"\\nSuspeito:\\n\"Usei os sprays em casa antes de sair, só isso.\"\\n5. Pressão Estratégica\\nPolicial:\\n\"Veja bem, as evidências apontam para o contrário: sua presença no local, os sprays, as manchas de tinta e os relatos das testemunhas. Este é o momento de esclarecer tudo. Há algo mais que queira nos contar?\"\\nSuspeito:\\n\"Não, já disse tudo. Não fui eu.\"\\n6. Encerramento\\nPolicial:\\n\"Está certo, João. Agradecemos por responder às perguntas. Sua declaração será analisada junto às provas. Caso queira acrescentar algo, agora é o momento.\"\\nSuspeito:\\n\"Não, é só isso.\"\\nPolicial:\\n\"Obrigado. Fique disponível para eventuais novos esclarecimentos.\"\\nObservações Adicionais:\\nO policial alterna entre um tom compreensivo e questionador para explorar possíveis incoerências.\\nJoão apresenta nervosismo, tentando justificar a presença dos sprays e as manchas de tinta.\\nO roteiro pode ser enriquecido com depoimentos de amigos do suspeito ou outros elementos de investigação, como álibis ou registros telefônicos.',\n",
" '– Caso de Roubo de Bicicleta em Parque Público\\nContexto:\\nSuspeito: Paulo Almeida, 21 anos, acusado de roubar uma bicicleta elétrica em um parque público na cidade do Porto.\\nProvas:\\nTestemunhas relataram ver Paulo mexendo na trava da bicicleta por volta das 16h.\\nCâmeras de segurança registraram o suspeito saindo com a bicicleta em questão.\\nA bicicleta foi encontrada na casa do suspeito no mesmo dia.\\nAlegação do suspeito: Paulo afirma que encontrou a bicicleta abandonada e levou para casa com a intenção de devolvê-la posteriormente.\\nCena:\\nLocal: Sala de interrogatório bem iluminada. Paulo está sentado, nervoso, enquanto o policial, um jovem experiente, mantém um tom firme e respeitoso.\\n1. Introdução\\nPolicial:\\n\"Boa tarde, Paulo Almeida. Esta entrevista está sendo gravada como parte da investigação sobre o roubo de uma bicicleta elétrica no Parque das Nações, na tarde de 12 de dezembro de 2023. Você entende seus direitos, incluindo o de permanecer em silêncio e solicitar a presença de um advogado?\"\\nSuspeito:\\n\"Sim.\"\\nPolicial:\\n\"Ótimo. Queremos ouvir sua versão dos fatos. Está disposto a colaborar?\"\\nSuspeito:\\n\"Sim, claro.\"\\n2. Contextualização Inicial\\nPolicial:\\n\"Paulo, pode nos contar o que estava fazendo no Parque das Nações por volta das 16h daquele dia?\"\\nSuspeito:\\n\"Sim, eu estava passeando. Sempre vou lá para relaxar.\"\\nPolicial:\\n\"Compreendo. Estava sozinho ou acompanhado?\"\\nSuspeito:\\n\"Estava sozinho.\"\\n3. Apresentação das Provas\\nPolicial:\\n\"As câmeras de segurança mostram você mexendo na trava de uma bicicleta elétrica. Pode explicar o que estava fazendo?\"\\nSuspeito:\\n\"Sim, vi a bicicleta lá, parecia que estava abandonada. Eu só quis ver se estava trancada.\"\\nPolicial:\\n\"Entendido. Mas depois você foi visto saindo do parque com a bicicleta. Como explica isso?\"\\nSuspeito:\\n\"Eu peguei porque pensei que alguém tinha esquecido. Ia levar para casa e tentar encontrar o dono.\"\\n4. Exploração de Contradições\\nPolicial:\\n\"Paulo, se sua intenção era encontrar o dono, por que não entregou a bicicleta na administração do parque ou chamou a polícia?\"\\nSuspeito:\\n\"Eu não pensei nisso na hora. Só quis levar pra casa e depois resolver.\"\\nPolicial:\\n\"Entendo. Contudo, a bicicleta foi encontrada na sua casa, e você não fez nenhuma tentativa de comunicar o achado. Como explica isso?\"\\nSuspeito:\\n\"Eu ia devolver no dia seguinte. Foi um mal-entendido.\"\\n5. Pressão Estratégica\\nPolicial:\\n\"Veja, Paulo, as provas não corroboram sua história. Temos testemunhas e imagens que indicam que você agiu intencionalmente. Este é o momento de ser honesto. Há algo que queira acrescentar?\"\\nSuspeito:\\n\"Não, é como eu disse. Não fiz por mal.\"\\n6. Encerramento\\nPolicial:\\n\"Está certo, Paulo. Agradecemos por sua cooperação. Sua declaração será analisada junto às provas. Caso tenha algo mais a dizer, agora é a hora.\"\\nSuspeito:\\n\"Não, é só isso.\"\\nPolicial:\\n\"Obrigado. Por favor, fique disponível para eventuais novos esclarecimentos.\"\\nObservações Adicionais:\\nO policial explora contradições entre a narrativa de Paulo e as evidências disponíveis.\\nPaulo tenta justificar suas ações com um tom defensivo, mas não apresenta álibis ou provas que sustentem suas alegações.\\nO roteiro pode incluir mais detalhes, como consultas ao histórico de denúncias no parque ou possíveis registros de atividades de Paulo.',\n",
" '– Caso de Agressão em Lisboa\\nContexto:\\nSuspeito: João Silva, homem de 32 anos, interrogado por agredir uma jovem mulher em um parque durante a noite.\\nProvas:\\nDeclarações da vítima (Maria Costa, 24 anos, estudante).\\nImagens de câmeras de segurança mostram um homem com características semelhantes às do suspeito em um local próximo à vítima antes da agressão.\\nO suspeito alegou estar em um bar na hora do incidente, mas ninguém pode confirmar sua presença.\\nCena:\\nLocal: Sala de interrogatório, com uma mesa simples e duas cadeiras. A câmera grava a conversa entre o policial, Pedro Lopes, e o suspeito, João Silva. O policial está vestido formalmente, com uma postura séria e profissional.\\nRoteiro:\\n1. Introdução\\nPolicial (Pedro Lopes):\\n\"Boa tarde, João Silva. Esta entrevista está sendo gravada. O senhor tem o direito de permanecer em silêncio e de contar com a presença de um advogado durante todo o processo. Está ciente de seus direitos?\"\\nSuspeito (João Silva):\\n\"Sim, estou ciente.\"\\nPolicial (Pedro Lopes):\\n\"Ótimo. Vamos falar sobre um incidente ocorrido no parque da Praça do Comércio na noite do dia 3 de dezembro, por volta das 22h. A senhora Maria Costa relatou que foi agredida enquanto caminhava pelo parque. Estamos aqui para entender melhor o que aconteceu. Está disposto a colaborar e esclarecer os fatos?\"\\nSuspeito (João Silva):\\n\"Sim, claro, mas eu não fiz nada.\"\\n2. Estabelecimento da Relação\\nPolicial (Pedro Lopes):\\n\"Antes de mais nada, onde o senhor estava por volta das 22h do dia 3 de dezembro? Pode me dizer onde esteve?\"\\nSuspeito (João Silva):\\n\"Eu estava no bar ‘O Ponto Azul’, perto do meu apartamento. Fui lá para tomar umas cervejas com uns amigos, mas ninguém pode confirmar.\"\\nPolicial (Pedro Lopes):\\n\"Entendido. E sabe se alguém viu o senhor lá naquela noite? Qual era o nome das pessoas com quem estava?\"\\nSuspeito (João Silva):\\n\"Eu estava sozinho lá, não me lembro de ninguém ter me visto. Só tomei umas cervejas e depois fui embora.\"\\n3. Apresentação das Provas\\nPolicial (Pedro Lopes):\\n\"A senhora Maria Costa descreveu que foi empurrada e agredida por um homem que estava com um casaco escuro e calças jeans, e que se aproximou dela rapidamente enquanto caminhava no parque. Ela nos disse que se sentiu ameaçada e que o agressor tinha uma aparência muito semelhante à sua. O que tem a dizer sobre isso?\"\\nSuspeito (João Silva):\\n\"Eu não fiz nada disso! Estava no bar, como já disse.\"\\nPolicial (Pedro Lopes):\\n\"Temos imagens das câmeras de segurança na área próxima ao local do incidente. O senhor pode ver nesta gravação que um homem, com características muito semelhantes às suas, estava andando perto de onde a senhora foi agredida minutos antes. Como o senhor explica isso?\"\\nSuspeito (João Silva):\\n\"Eu só passei por lá. Eu nem vi a mulher. Não sou eu nas câmeras, deve ser alguém parecido.\"\\n4. Exploração de Contradições\\nPolicial (Pedro Lopes):\\n\"Mas a senhora relatou que foi empurrada de forma agressiva e que não havia mais ninguém ao redor. Se o senhor estava apenas passando, como explica que a vítima tenha reconhecido alguém tão parecido com você?\"\\nSuspeito (João Silva):\\n\"Não sei, talvez ela tenha se confundido. Eu estava passando de boa, não vi ninguém. Não tenho nada a ver com isso.\"\\nPolicial (Pedro Lopes):\\n\"E quanto à descrição do agressor, que, segundo a vítima, estava esperando por ela e parecia conhecê-la? Como o senhor explica isso?\"\\nSuspeito (João Silva):\\n\"Eu não conheço essa mulher. Eu estava indo para casa depois de sair do bar, não vi ninguém esperando ninguém no parque.\"\\n5. Análise do Contexto\\nPolicial (Pedro Lopes):\\n\"O senhor tem algum histórico de agressões ou problemas com a justiça?\"\\nSuspeito (João Silva):\\n\"Não, nunca fiz nada disso. Só estou tentando viver minha vida, como todo mundo.\"\\nPolicial (Pedro Lopes):\\n\"Entendido. E quanto ao bar, o senhor não tem ninguém que pos
" '– Caso de Furto em Lisboa\\nContexto:\\nSuspeito: Carlos Almeida, 28 anos, acusado de furtar um relógio de luxo em uma loja de joias no centro de Lisboa.\\nProvas:\\nA câmera de segurança da loja mostra um homem com características semelhantes ao suspeito retirando um relógio de vitrine e saindo sem pagar.\\nO relógio foi encontrado na posse do suspeito, que alegou tê-lo comprado de um amigo.\\nA funcionária da loja, Ana Santos, identificou o suspeito como alguém que esteve na loja naquele dia e esteve perto da vitrine do relógio roubado.\\nCena:\\nLocal: Sala de interrogatório, com uma mesa simples e duas cadeiras. Uma câmera está posicionada para gravar a conversa entre o policial, Ricardo Ferreira, e o suspeito, Carlos Almeida. O policial está vestido de forma formal e mantem uma postura profissional.\\nRoteiro:\\n1. Introdução\\nPolicial (Ricardo Ferreira):\\n\"Boa tarde, Carlos Almeida. Esta entrevista está sendo gravada. O senhor tem o direito de permanecer em silêncio e de contar com a presença de um advogado durante todo o processo. Está ciente de seus direitos?\"\\nSuspeito (Carlos Almeida):\\n\"Sim, entendi.\"\\nPolicial (Ricardo Ferreira):\\n\"Perfeito. Vamos tratar de um incidente ocorrido na loja de joias \\'Ouro e Prata\\', no centro de Lisboa, no dia 10 de novembro, por volta das 15h. A funcionária Ana Santos relatou que o senhor esteve na loja e retirou um relógio de luxo da vitrine, saindo sem pagar. Estamos aqui para esclarecer o que aconteceu. O senhor está disposto a colaborar e esclarecer os fatos?\"\\nSuspeito (Carlos Almeida):\\n\"Eu não fiz nada disso! Nunca roubei nada!\"\\n2. Estabelecimento da Relação\\nPolicial (Ricardo Ferreira):\\n\"Antes de começarmos, Carlos, onde o senhor estava por volta das 15h do dia 10 de novembro? Pode me dizer onde esteve?\"\\nSuspeito (Carlos Almeida):\\n\"Eu estava na rua, fazendo umas compras. Estava indo para o supermercado, depois fui para casa.\"\\nPolicial (Ricardo Ferreira):\\n\"Entendido. E foi no caminho até o supermercado que o senhor passou pela loja de joias? Ou estava lá com algum outro propósito?\"\\nSuspeito (Carlos Almeida):\\n\"Eu estava só passando por lá. Não entrei em nenhuma loja de joias. Eu sou bem tranquilo, nunca faria algo assim.\"\\n3. Apresentação das Provas\\nPolicial (Ricardo Ferreira):\\n\"A senhora Ana Santos nos disse que o senhor esteve exatamente perto da vitrine onde estava o relógio roubado e que, após o senhor sair da loja, o relógio não estava mais lá. Além disso, temos as imagens de câmeras de segurança que mostram um homem com características semelhantes às suas retirando o relógio e saindo da loja. O que o senhor tem a dizer sobre isso?\"\\nSuspeito (Carlos Almeida):\\n\"Isso é mentira! Eu nunca toquei nesse relógio! Se a câmera mostrou alguém parecido comigo, deve ter sido alguém com uma roupa parecida, mas não fui eu!\"\\nPolicial (Ricardo Ferreira):\\n\"Mas sabemos que o relógio foi encontrado em sua posse. Como o senhor explica isso?\"\\nSuspeito (Carlos Almeida):\\n\"Eu… eu comprei o relógio. Foi de um amigo, o João. Ele me vendeu por um preço bom, eu até fiquei surpreso com o preço.\"\\n4. Exploração de Contradições\\nPolicial (Ricardo Ferreira):\\n\"Interessante. O senhor diz que comprou o relógio, mas não tem nenhuma prova dessa compra, como um recibo ou testemunha. O senhor pode nos dar mais detalhes sobre o ‘João’ que lhe vendeu o relógio?\"\\nSuspeito (Carlos Almeida):\\n\"Ah, o João é um conhecido meu. Eu não tenho detalhes, ele me vendeu o relógio numa boa, eu não sabia que ele era roubado!\"\\nPolicial (Ricardo Ferreira):\\n\"Mas então, por que o senhor não procurou a loja para verificar a origem do relógio? E por que não fez a compra de forma mais transparente? Não parece um pouco estranho comprar algo de um amigo sem questionar a origem?\"\\nSuspeito (Carlos Almeida):\\n\"Eu não pensei nisso na hora. Eu só queria o relógio, achei que estava fazendo um bom negócio. Nunca pensei que fosse algo errado.\"\\n5. Aná
" '– Caso de Vingança em Lisboa\\nContexto:\\nSuspeito: Marcos Pereira, 35 anos, acusado de vandalizar o carro de um colega de trabalho, João Martins, após uma disputa pessoal no ambiente de trabalho.\\nProvas:\\nTestemunho de colegas de trabalho que afirmam ter visto Marcos na área onde o carro foi vandalizado, pouco antes do incidente.\\nImagens de câmeras de segurança da rua mostram uma pessoa com características físicas semelhantes às de Marcos se aproximando do carro e danificando a pintura com uma chave.\\nO suspeito negou envolvimento e afirmou que estava em casa no momento do ocorrido.\\nCena:\\nLocal: Sala de interrogatório, com uma mesa simples e duas cadeiras. A câmera grava a conversa entre o policial, Daniel Costa, e o suspeito, Marcos Pereira. O policial está vestido de forma formal, mantendo um tom sério e assertivo.\\nRoteiro:\\n1. Introdução\\nPolicial (Daniel Costa):\\n\"Boa tarde, Marcos Pereira. Esta entrevista está sendo gravada. O senhor tem o direito de permanecer em silêncio e de contar com a presença de um advogado durante todo o processo. Está ciente de seus direitos?\"\\nSuspeito (Marcos Pereira):\\n\"Sim, entendi.\"\\nPolicial (Daniel Costa):\\n\"Perfeito. Vamos falar sobre um incidente ocorrido no estacionamento do prédio onde o senhor trabalha. O carro de João Martins, um colega de trabalho, foi vandalizado no dia 15 de outubro, por volta das 18h. Testemunhas disseram que o senhor foi visto na área antes do ocorrido e que a câmera de segurança capturou uma pessoa com características semelhantes às suas danificando o veículo. O senhor está disposto a colaborar e explicar o que aconteceu?\"\\nSuspeito (Marcos Pereira):\\n\"Eu não fiz nada disso! Não toquei no carro dele. Isso é uma mentira.\"\\n2. Estabelecimento da Relação\\nPolicial (Daniel Costa):\\n\"Antes de começarmos, Marcos, onde o senhor estava por volta das 18h do dia 15 de outubro? Pode me dizer onde esteve?\"\\nSuspeito (Marcos Pereira):\\n\"Eu estava em casa. Fiquei o dia inteiro em casa. Minha esposa pode confirmar isso.\"\\nPolicial (Daniel Costa):\\n\"Entendido. Mas, ao que parece, testemunhas afirmam ter visto o senhor na área do estacionamento naquele horário. O senhor pode nos explicar por que estaria lá se não tivesse ido ao local?\"\\nSuspeito (Marcos Pereira):\\n\"Eu não estava lá! Eu não tenho nada a ver com isso. Alguém deve ter me confundido com outra pessoa.\"\\n3. Apresentação das Provas\\nPolicial (Daniel Costa):\\n\"Temos imagens de câmeras de segurança que mostram um homem com características muito semelhantes às suas se aproximando do carro de João Martins. O senhor reconhece essa pessoa nas imagens?\"\\nSuspeito (Marcos Pereira):\\n\"Não! Eu não estou nessas imagens. As pessoas na rua têm uma ideia errada de mim, eu não faria isso!\"\\nPolicial (Daniel Costa):\\n\"Entendo, mas nas imagens vemos uma pessoa com a mesma altura, cabelo e roupas que o senhor usava no dia. Além disso, as testemunhas confirmaram que o senhor estava na área naquele momento. O que o senhor tem a dizer sobre isso?\"\\nSuspeito (Marcos Pereira):\\n\"Isso é impossível. Eu não fui até o carro dele. Alguém deve ter me visto de longe e achou que era eu, mas não sou eu nas imagens.\"\\n4. Exploração de Contradições\\nPolicial (Daniel Costa):\\n\"Acontece que várias testemunhas disseram que o senhor teve uma discussão bastante acalorada com o João Martins na semana anterior ao incidente, sobre um projeto no trabalho. Isso não parece indicar um possível motivo para o senhor estar tão perto do carro dele naquele momento?\"\\nSuspeito (Marcos Pereira):\\n\"Eu tinha uma discussão com o João, sim, mas nunca faria uma coisa dessas! Eu estava irritado com ele, mas não sou do tipo que vai vandalizar o carro de alguém.\"\\nPolicial (Daniel Costa):\\n\"Compreendo. Porém, a questão é que o vandalismo não é algo que se faça sem um motivo. O senhor estava insatisfeito com algo relacionado ao João, e sabemos que a tensão no trabalho estava alta. O senhor acredita que
" '– Caso de Dano ao Patrimônio em Lisboa\\nContexto:\\nSuspeito: Luís Costa, 22 anos, acusado de danificar uma parede de um prédio histórico no centro de Lisboa, com pichações em grafite de conteúdo ofensivo, causando prejuízo significativo ao patrimônio.\\nProvas:\\nTestemunhas disseram ter visto um jovem com características físicas semelhantes às de Luís na área do prédio momentos antes do incidente.\\nCâmeras de segurança na área capturaram uma pessoa com as mesmas características de Luís realizando as pichações.\\nO suspeito foi encontrado com latas de spray na mochila no momento da sua detenção.\\nO dano à parede é registrado em fotos, com imagens claras do conteúdo da pichação e a semelhança com a tipografia usada por Luís em suas redes sociais (onde ele compartilha seus trabalhos de grafite).\\nCena:\\nLocal: Sala de interrogatório, com uma mesa simples e duas cadeiras. A câmera grava a conversa entre o policial, Sofia Mendes, e o suspeito, Luís Costa. O policial está vestido de forma formal e mantém um tom assertivo, porém calmo.\\nRoteiro:\\n1. Introdução\\nPolicial (Sofia Mendes):\\n\"Boa tarde, Luís Costa. Esta entrevista está sendo gravada. O senhor tem o direito de permanecer em silêncio e de contar com a presença de um advogado durante todo o processo. Está ciente de seus direitos?\"\\nSuspeito (Luís Costa):\\n\"Sim, estou ciente.\"\\nPolicial (Sofia Mendes):\\n\"Perfeito. Estamos aqui para falar sobre um incidente ocorrido no prédio histórico localizado na Rua Augusta, no centro de Lisboa, na noite do dia 18 de novembro. Uma pichação foi registrada na parede externa do edifício, causando danos significativos à propriedade. A pichação contém mensagens de teor ofensivo e foi feita com tinta spray. Testemunhas afirmam ter visto um jovem semelhante ao senhor na área, e há imagens de câmeras de segurança que o identificam como sendo a pessoa que cometeu o ato. O senhor está disposto a explicar o que aconteceu?\"\\nSuspeito (Luís Costa):\\n\"Eu não fiz nada, não sei do que você está falando. Eu não pichei aquele muro!\"\\n2. Estabelecimento da Relação\\nPolicial (Sofia Mendes):\\n\"Luís, onde o senhor estava na noite de 18 de novembro, por volta das 22h? Pode me dizer o que estava fazendo naquela hora?\"\\nSuspeito (Luís Costa):\\n\"Eu estava em casa, jogando videogame. Não saí para lugar nenhum.\"\\nPolicial (Sofia Mendes):\\n\"Entendido. Porém, temos várias testemunhas que afirmam ter visto alguém com características físicas semelhantes às suas naquela área. Além disso, as imagens das câmeras de segurança mostram uma pessoa com roupas e estatura muito parecidas com as suas pichando o muro. Como o senhor explica isso?\"\\nSuspeito (Luís Costa):\\n\"Essas câmeras podem ter pegado qualquer pessoa parecida comigo. Eu não estava lá, não sou eu nas imagens. Tenho certeza disso.\"\\n3. Apresentação das Provas\\nPolicial (Sofia Mendes):\\n\"Sabemos que o senhor tem uma página nas redes sociais, onde posta seus trabalhos com grafite, e a tipografia usada nas pichações é muito semelhante à que o senhor usa nos seus trabalhos. O senhor já viu as fotos da pichação? As letras são praticamente idênticas às que o senhor usa em seus murais. O que tem a dizer sobre isso?\"\\nSuspeito (Luís Costa):\\n\"Isso é só coincidência. Eu faço grafite, mas não sou eu quem fez isso. Eu tenho meu estilo, mas não é só eu quem usa esse tipo de letra. Tem muita gente que pixa por aí.\"\\nPolicial (Sofia Mendes):\\n\"Compreendo. No entanto, o senhor foi encontrado com latas de spray no momento da sua detenção, e a pichação foi feita com tinta spray. Como o senhor explica essa situação?\"\\nSuspeito (Luís Costa):\\n\"Eu… eu estava com as latas de spray porque gosto de praticar grafite, mas não pichei aquele muro. Eu estava com meus amigos, mas não fiz nada errado.\"\\n4. Exploração de Contradições\\nPolicial (Sofia Mendes):\\n\"Então, o senhor estava com latas de spray e com amigos, mas afirma que não estava p
" '– Caso de Fraude em Lisboa\\nContexto:\\nSuspeito: Fernanda Oliveira, 40 anos, acusada de fraudar um empréstimo bancário de 50.000 euros, usando documentos falsificados e informações falsas para conseguir o dinheiro.\\nProvas:\\nO banco identificou que os documentos apresentados no pedido de empréstimo (como comprovantes de rendimento e comprovante de residência) eram falsificados.\\nO suspeito foi capturado em uma câmera de segurança do banco, no momento em que se apresentou para assinar o contrato.\\nA investigação revelou que Fernanda não tinha vínculo empregatício há mais de um ano, o que a impedia de ser aprovada para o empréstimo, mas ela ainda conseguiu o dinheiro.\\nApós o empréstimo ser liberado, o dinheiro foi transferido para contas em nome de terceiros, que não tinham vínculo direto com a suspeita.\\nCena:\\nLocal: Sala de interrogatório, com uma mesa simples e duas cadeiras. A câmera grava a conversa entre o policial, João Marques, e a suspeita, Fernanda Oliveira. O policial mantém um tom calmo, porém firme, para tentar obter uma confissão ou, ao menos, mais informações.\\nRoteiro:\\n1. Introdução\\nPolicial (João Marques):\\n\"Boa tarde, Fernanda Oliveira. Esta entrevista está sendo gravada. O senhor tem o direito de permanecer em silêncio e de contar com a presença de um advogado durante todo o processo. Está ciente de seus direitos?\"\\nSuspeita (Fernanda Oliveira):\\n\"Sim, entendo.\"\\nPolicial (João Marques):\\n\"Perfeito. Vamos começar. O motivo de sua convocação é um empréstimo de 50.000 euros que foi liberado para a senhora no banco \\'Lisboa Finance\\', no mês de junho deste ano. Após uma análise detalhada, o banco identificou que os documentos apresentados por você eram falsificados e que a senhora não possuía o vínculo empregatício que afirmou ter na solicitação. Além disso, o dinheiro do empréstimo foi transferido para contas que não pertencem à senhora, o que configura uma fraude. Gostaria de saber o que a senhora tem a dizer sobre isso?\"\\nSuspeita (Fernanda Oliveira):\\n\"Eu não fiz nada de errado. Eu só pedi o empréstimo para resolver uns problemas financeiros, mas tudo o que fiz foi dentro da lei.\"\\n2. Estabelecimento da Relação\\nPolicial (João Marques):\\n\"Fernanda, onde a senhora estava e o que estava fazendo no momento em que solicitou esse empréstimo? Como a senhora se preparou para o processo?\"\\nSuspeita (Fernanda Oliveira):\\n\"Eu estava passando por um momento difícil, precisava de dinheiro para pagar dívidas. Eu fui no banco e apresentaram um empréstimo para mim, me disseram que eu teria que apresentar alguns documentos, então eu fiz o que me pediram.\"\\nPolicial (João Marques):\\n\"Entendo. Mas a questão é que os documentos apresentados não eram válidos. O comprovante de rendimento que a senhora forneceu, por exemplo, não corresponde com os registros da Receita Federal, e o comprovante de residência não era real. Como a senhora explica isso?\"\\nSuspeita (Fernanda Oliveira):\\n\"Eu… eu não sabia. Eu só estava tentando resolver a minha situação. Eu fiz o que me disseram, e quem me ajudou a preencher os documentos foi uma pessoa da minha confiança, a Marisa. Ela me disse que tudo estava certo, então eu não achei que houvesse nenhum problema.\"\\n3. Apresentação das Provas\\nPolicial (João Marques):\\n\"Então a senhora está afirmando que a responsabilidade seria de outra pessoa, a tal Marisa, que lhe forneceu os documentos falsificados?\"\\nSuspeita (Fernanda Oliveira):\\n\"Eu não sabia que eram falsificados. Eu confiei nela. Ela me garantiu que tudo estava certo, e eu só segui o que me disseram.\"\\nPolicial (João Marques):\\n\"Interessante. Mas o fato é que a senhora foi vista no banco, no momento em que assinou o contrato. Além disso, a senhora esteve presente quando a liberação do empréstimo foi autorizada. Mesmo com esses documentos, a senhora tinha plena consciência do que estava fazendo. Não acha que, ao participar desse processo, a senhora assumiu um risco, sab
" '– Caso de Agressão em Lisboa\\nContexto:\\nSuspeito: Paulo Ferreira, 29 anos, acusado de agredir fisicamente sua ex-namorada, Mariana Silva, em uma discussão ocorrida em sua residência. A agressão resultou em hematomas visíveis no rosto da vítima e quebras de objetos dentro do apartamento.\\nProvas:\\nRelato detalhado da vítima sobre o ocorrido, incluindo a descrição da agressão.\\nFotografias da vítima com hematomas e lesões.\\nTestemunhas que ouviram gritos e barulhos de objetos quebrando provenientes do apartamento de Paulo.\\nA prisão de Paulo Ferreira foi realizada após ele ser encontrado em seu apartamento, aparentemente alterado e com vestígios de sangue nas roupas.\\nCena:\\nLocal: Sala de interrogatório, com uma mesa simples e duas cadeiras. A câmera grava a conversa entre o policial, Ricardo Almeida, e o suspeito, Paulo Ferreira. O policial mantém um tom firme, mas tenta manter a situação sob controle.\\nRoteiro:\\n1. Introdução\\nPolicial (Ricardo Almeida):\\n\"Boa tarde, Paulo Ferreira. Esta entrevista está sendo gravada. O senhor tem o direito de permanecer em silêncio e de contar com a presença de um advogado durante todo o processo. Está ciente de seus direitos?\"\\nSuspeito (Paulo Ferreira):\\n\"Sim, entendo.\"\\nPolicial (Ricardo Almeida):\\n\"Perfeito. O motivo do seu interrogatório é uma acusação de agressão contra sua ex-namorada, Mariana Silva. A senhora relatou que, no dia 3 de dezembro, durante uma discussão, o senhor a agrediu fisicamente, causando hematomas no rosto e quebrando objetos em sua casa. O senhor está ciente dessa acusação?\"\\nSuspeito (Paulo Ferreira):\\n\"Sim, eu sei do que está falando, mas não agredi ninguém.\"\\n2. Estabelecimento da Relação\\nPolicial (Ricardo Almeida):\\n\"Paulo, pode me contar como estava o seu relacionamento com a Mariana na noite do dia 3 de dezembro? Onde o senhor estava e o que aconteceu exatamente?\"\\nSuspeito (Paulo Ferreira):\\n\"Olha, a Mariana e eu estávamos em um momento complicado. A gente teve algumas brigas antes, e no dia 3, nós discutimos novamente. Mas nunca falei ou fiz algo que justificasse isso. A gente sempre se desentendia, mas nunca foi para esse nível. Eu não a agredi, não fiz nada disso.\"\\nPolicial (Ricardo Almeida):\\n\"Entendido. Então, o senhor confirma que teve uma discussão com ela, mas nega que tenha agredido a Mariana, certo?\"\\nSuspeito (Paulo Ferreira):\\n\"Sim, exatamente. A gente brigou, mas eu não a toquei de forma agressiva.\"\\n3. Apresentação das Provas\\nPolicial (Ricardo Almeida):\\n\"Paulo, temos o relato da vítima, que descreve os detalhes da agressão, incluindo o fato de que o senhor a empurrou contra a parede e a agrediu fisicamente. Além disso, há fotos que mostram hematomas visíveis no rosto dela. O que tem a dizer sobre isso?\"\\nSuspeito (Paulo Ferreira):\\n\"Eu não empurrei ela. Eu não sou esse tipo de pessoa. As fotos podem ter sido tiradas depois da briga, mas eu não fiz nada de violento. A gente discutiu, mas não houve agressão física.\"\\nPolicial (Ricardo Almeida):\\n\"Paulo, a vítima foi clara sobre o que aconteceu. Ela falou que foi empurrada e que, depois disso, o senhor a agrediu fisicamente, causando os hematomas. Além disso, os vizinhos ouviram gritos e barulhos de objetos quebrando na hora da briga. Como o senhor explica essa situação?\"\\nSuspeito (Paulo Ferreira):\\n\"Eu sei que gritaram, mas não foi por causa de agressão. A gente discutiu, os ânimos se exaltaram, mas nada além disso. Eu não quebrei nada nem a agredi. Os barulhos podem ter sido a gente discutindo, empurrando móveis, sei lá.\"\\n4. Exploração de Contradições\\nPolicial (Ricardo Almeida):\\n\"Paulo, mas se não houve agressão, como o senhor explica o sangue que foi encontrado nas suas roupas? E as testemunhas relataram que o senhor estava visivelmente alterado quando foi encontrado em casa. Isso não parece indicar que algo mais sério aconteceu?\"\\nSuspeito (Paulo Ferreira):\\n\"Eu… eu estava alterado, sim, mas não porque fiz algo erra
" '– Caso de Tráfico de Drogas em Lisboa\\nContexto:\\nSuspeito: Ricardo Santos, 34 anos, acusado de estar envolvido no tráfico de drogas, especificamente com a distribuição de cocaína em grandes quantidades, usando seu apartamento como ponto de venda.\\nProvas:\\nDurante uma busca em sua residência, foram encontradas grandes quantidades de cocaína em pacotes, além de uma balança de precisão, notas de dinheiro em várias denominações e celulares com mensagens que indicam transações relacionadas a tráfico.\\nDepoimentos de informantes que indicaram Ricardo como um fornecedor de drogas na região.\\nVídeos de câmeras de segurança mostrando movimentos suspeitos e entradas e saídas frequentes em seu apartamento, especialmente em horários noturnos.\\nCena:\\nLocal: Sala de interrogatório, com uma mesa simples e duas cadeiras. A câmera grava a conversa entre o policial, Carla Pinto, e o suspeito, Ricardo Santos. O policial mantém um tom sério e profissional, buscando a confissão do suspeito.\\nRoteiro:\\n1. Introdução\\nPolicial (Carla Pinto):\\n\"Boa tarde, Ricardo Santos. Esta entrevista está sendo gravada. O senhor tem o direito de permanecer em silêncio e de contar com a presença de um advogado durante todo o processo. Está ciente de seus direitos?\"\\nSuspeito (Ricardo Santos):\\n\"Sim, entendo.\"\\nPolicial (Carla Pinto):\\n\"Ótimo. O motivo do seu interrogatório é uma acusação de tráfico de drogas. Durante uma busca em sua residência, encontramos pacotes de cocaína, uma balança de precisão, dinheiro e vários celulares com mensagens que indicam transações relacionadas a tráfico. O senhor está ciente dessas evidências?\"\\nSuspeito (Ricardo Santos):\\n\"Olha, eu não sei de nada disso. Eu não sou traficante.\"\\n2. Estabelecimento da Relação\\nPolicial (Carla Pinto):\\n\"Ricardo, onde o senhor estava no momento da prisão e o que aconteceu para que os policiais fossem até sua residência?\"\\nSuspeito (Ricardo Santos):\\n\"Eu estava em casa. Não sei por que os policiais invadiram meu apartamento. Eu não faço nada de errado. Só estava em casa, tranquilo.\"\\nPolicial (Carla Pinto):\\n\"Entendido. No entanto, temos provas que indicam o contrário. A senhora sabe por que os policiais estavam em sua casa? Recebemos informações de várias fontes confiáveis que ligaram o senhor ao tráfico de drogas. Como o senhor explica isso?\"\\nSuspeito (Ricardo Santos):\\n\"Isso deve ser algum engano. Eu não sou traficante. Não tenho nada a ver com isso. Eu não vendi nada para ninguém.\"\\n3. Apresentação das Provas\\nPolicial (Carla Pinto):\\n\"Ricardo, encontramos pacotes de cocaína em sua casa, todos perfeitamente embalados, prontos para venda. Além disso, a balança de precisão e os celulares que continham mensagens como \\'entrega feita\\' e \\'próximo lote\\'. O senhor pode explicar o que isso significa?\"\\nSuspeito (Ricardo Santos):\\n\"Eu… eu não sei. Esses pacotes não são meus. Eu não tenho nada a ver com isso. Alguém deve ter colocado isso lá, eu não sei.\"\\nPolicial (Carla Pinto):\\n\"Interessante. No entanto, os celulares que encontramos estão registrados em seu nome. E a balança de precisão foi claramente usada para pesar substâncias. Além disso, as mensagens encontradas nos celulares não deixam dúvida de que o senhor estava diretamente envolvido nas transações. Como o senhor explica isso?\"\\nSuspeito (Ricardo Santos):\\n\"Eu… esses celulares são meus, mas não são para isso. Eu só uso para falar com amigos, sabe? Não sei de onde veio esse negócio de drogas. Pode ter sido uma armadilha.\"\\n4. Exploração de Contradições\\nPolicial (Carla Pinto):\\n\"Ricardo, sabemos que o senhor tem movimentações frequentes à noite e que pessoas têm sido vistas entrando e saindo de sua residência. Algumas dessas pessoas já foram identificadas como compradores de drogas em investigações anteriores. Como o senhor explica essas visitas e esse comportamento?\"\\nSuspeito (Ricardo Santos):\\n\"Isso não tem nada a ver com tráfico!
" '– Caso de Furto em Loja de Roupas em Lisboa\\nContexto:\\nSuspeito: João Almeida, 22 anos, acusado de furtar roupas de uma loja de marca no centro de Lisboa. O suspeito foi identificado por câmeras de segurança e reconhecido por funcionários da loja.\\nProvas:\\nImagens de câmeras de segurança mostrando o suspeito entrando na loja e colocando diversas peças de roupa em sua mochila.\\nRoupas de marca que coincidem com as desaparecidas da loja encontradas no apartamento do suspeito.\\nTestemunho de um funcionário da loja, que afirma ter visto o suspeito sair rapidamente da loja, agindo de maneira suspeita.\\nCena:\\nLocal: Sala de interrogatório, com uma mesa simples e duas cadeiras. A câmera grava a conversa entre a policial, Sara Mendes, e o suspeito, João Almeida. A policial adota uma postura séria e investigativa.\\nRoteiro:\\n1. Introdução\\nPolicial (Sara Mendes):\\n\"Boa tarde, João Almeida. Esta entrevista está sendo gravada. O senhor tem o direito de permanecer em silêncio e de contar com a presença de um advogado durante todo o processo. Está ciente de seus direitos?\"\\nSuspeito (João Almeida):\\n\"Sim, entendo.\"\\nPolicial (Sara Mendes):\\n\"Perfeito. O motivo pelo qual estamos conversando hoje é uma acusação de furto em uma loja de roupas no centro de Lisboa. A loja foi vítima de um furto no dia 5 de novembro, e temos evidências que o ligam a esse crime. O senhor está ciente dessa acusação?\"\\nSuspeito (João Almeida):\\n\"Olha, eu não fiz nada de errado. Eu estava na loja, sim, mas não roubei nada.\"\\n2. Estabelecimento da Relação\\nPolicial (Sara Mendes):\\n\"João, pode me contar onde o senhor estava no dia 5 de novembro e o que fez nesse dia?\"\\nSuspeito (João Almeida):\\n\"Eu estava na rua, só passeando. Depois entrei na loja para ver umas roupas. Eu comprei algumas coisas, mas não roubei nada.\"\\nPolicial (Sara Mendes):\\n\"Entendido. Então o senhor confirma que estava na loja naquele dia, mas nega que tenha furtado algo, certo?\"\\nSuspeito (João Almeida):\\n\"Sim, exatamente. Eu entrei na loja, mas não fiz nada de errado.\"\\n3. Apresentação das Provas\\nPolicial (Sara Mendes):\\n\"João, temos imagens de câmeras de segurança da loja que mostram o senhor entrando na loja e colocando várias roupas dentro de uma mochila. Como o senhor explica isso?\"\\nSuspeito (João Almeida):\\n\"Essas imagens devem estar erradas. Eu não coloquei nada na mochila. Eu só estava olhando as roupas, sem intenções de roubar nada.\"\\nPolicial (Sara Mendes):\\n\"João, as imagens são bem claras, e o senhor pode ver a si mesmo nas gravações. Não há dúvida de que colocou várias peças dentro de sua mochila. Além disso, encontramos essas mesmas roupas em seu apartamento. Como o senhor explica isso?\"\\nSuspeito (João Almeida):\\n\"Essas roupas... eu não sei de onde elas vieram. Não sei como elas foram parar lá. Eu posso ter pegado algumas coisas, mas não roubei.\"\\n4. Exploração de Contradições\\nPolicial (Sara Mendes):\\n\"João, se o senhor não roubou nada, como as roupas da loja, ainda com etiquetas e com a mesma numeração, foram parar no seu apartamento? O senhor foi visto por um funcionário da loja saindo apressado e agindo de forma suspeita. Não acha que isso deixa claro que algo mais aconteceu?\"\\nSuspeito (João Almeida):\\n\"Eu... eu não sei o que dizer. Eu não queria fazer nada de errado, foi um impulso. Eu não pensei direito, mas não sabia que estava fazendo algo tão grave.\"\\nPolicial (Sara Mendes):\\n\"Entendo. Mas o senhor ainda não explicou como as roupas da loja foram parar na sua casa. Isso não parece mais uma coincidência, João? As evidências são claras.\"\\n5. Análise do Contexto\\nPolicial (Sara Mendes):\\n\"João, sabemos que o senhor tem antecedentes por furtos em lojas de roupas no passado. Isso não levanta um alerta sobre seu comportamento agora? Não acha que as provas são muito claras para ser coincidência?\"\\nSuspeito (João Almeida):\\n\"Eu... eu cometi erros no passado, sim, mas eu tentei mudar.
" '– Caso de Agressão Doméstica em Lisboa\\nContexto:\\nSuspeito: Marcos Oliveira, 38 anos, acusado de agredir sua esposa, Ana Costa, durante uma discussão na noite de 20 de outubro. A vítima relatou que foi empurrada, sofreu ferimentos nas costas e no rosto e foi forçada a sair de casa.\\nProvas:\\nRelato detalhado da vítima sobre o incidente.\\nFotografias das lesões de Ana, incluindo hematomas nas costas e no rosto.\\nTestemunho de um vizinho que ouviu gritos vindos do apartamento e viu Ana saindo de casa durante a noite.\\nMarcos foi encontrado em seu apartamento, aparentemente alterado, após o incidente.\\nCena:\\nLocal: Sala de interrogatório, com uma mesa simples e duas cadeiras. A câmera grava a conversa entre o policial, João Ribeiro, e o suspeito, Marcos Oliveira. O policial adota uma postura calma, mas assertiva.\\nRoteiro:\\n1. Introdução\\nPolicial (João Ribeiro):\\n\"Boa tarde, Marcos Oliveira. Esta entrevista está sendo gravada. O senhor tem o direito de permanecer em silêncio e de contar com a presença de um advogado durante todo o processo. Está ciente de seus direitos?\"\\nSuspeito (Marcos Oliveira):\\n\"Sim, entendi.\"\\nPolicial (João Ribeiro):\\n\"Perfeito. O motivo pelo qual estamos conversando hoje é uma acusação de agressão física contra sua esposa, Ana Costa. Ela relatou que foi agredida por você durante uma discussão no dia 20 de outubro, resultando em ferimentos nas costas e no rosto. O senhor está ciente dessas alegações?\"\\nSuspeito (Marcos Oliveira):\\n\"Eu não agredi a Ana. Eu não fiz nada disso.\"\\n2. Estabelecimento da Relação\\nPolicial (João Ribeiro):\\n\"Marcos, pode me contar o que aconteceu na noite de 20 de outubro? Onde estava e o que aconteceu durante a discussão com Ana?\"\\nSuspeito (Marcos Oliveira):\\n\"Ana e eu estávamos discutindo, sim, mas isso não passou de uma briga. Estávamos passando por dificuldades, como qualquer casal. Eu nunca a agredi. Pode ter sido uma discussão mais acalorada, mas nunca cheguei a empurrá-la ou fazer algo assim.\"\\nPolicial (João Ribeiro):\\n\"Entendido. Então, o senhor confirma que houve uma discussão, mas nega que tenha agredido fisicamente a sua esposa?\"\\nSuspeito (Marcos Oliveira):\\n\"Sim, é isso. A briga foi feia, mas não foi para esse nível.\"\\n3. Apresentação das Provas\\nPolicial (João Ribeiro):\\n\"Marcos, temos o relato da Ana, que detalha os ferimentos que sofreu. Ela mencionou que foi empurrada contra a parede e que sofreu hematomas nas costas e no rosto. Também temos fotos dos ferimentos. O que o senhor tem a dizer sobre isso?\"\\nSuspeito (Marcos Oliveira):\\n\"Eu não empurrei ela contra a parede, não. Eu não sei como ela se machucou. Como eu disse, a briga foi feia, mas nunca agredi ela fisicamente. Ela deve ter se machucado sozinha durante a discussão, mas eu não a toquei.\"\\nPolicial (João Ribeiro):\\n\"Entendo. Mas as imagens das lesões dela são claras, Marcos. E os hematomas não parecem ser de um simples esbarrão. Como o senhor explica isso?\"\\nSuspeito (Marcos Oliveira):\\n\"Eu não sei. Pode ter sido de outra coisa. Eu não sei o que aconteceu, mas não foi por minha culpa.\"\\n4. Exploração de Contradições\\nPolicial (João Ribeiro):\\n\"Marcos, a senhora Ana relatou que, após a agressão, ela foi forçada a sair de casa, com medo de que a situação piorasse. O senhor pode explicar por que ela teria deixado o apartamento se não houve nenhuma agressão?\"\\nSuspeito (Marcos Oliveira):\\n\"Eu não a forcei a sair de casa. Ela estava nervosa, e saiu porque não queria mais discutir. Não tem nada a ver com agressão.\"\\nPolicial (João Ribeiro):\\n\"Entendo. Porém, o senhor foi encontrado em seu apartamento em um estado alterado, e o vizinho relatou que ouviu gritos durante a noite. Isso não é consistente com a versão de que tudo foi apenas uma discussão? O senhor não acha que a situação fugiu do controle?\"\\nSuspeito (Marcos Oliveira):\\n\"Eu estava nervoso, sim, mas nunca fiz nada de violento. A discussão foi tensa, mas não houve
" '– Caso de Roubo a Loja em Porto\\nContexto:\\nSuspeito: Ricardo Martins, 25 anos, acusado de assaltar uma loja de conveniência na noite de 15 de novembro. A vítima, o atendente da loja, relatou que Ricardo ameaçou com uma faca, exigiu o dinheiro do caixa e fugiu em seguida. A polícia encontrou uma faca e o dinheiro roubado próximo ao local do crime.\\nProvas:\\nRelato detalhado do atendente da loja.\\nImagens de câmeras de segurança mostrando um indivíduo semelhante a Ricardo cometendo o roubo.\\nImpressões digitais de Ricardo na faca encontrada próximo ao local.\\nRicardo foi detido nas redondezas logo após o incidente, com comportamento suspeito.\\nCena:\\nLocal: Sala de interrogatório, com uma mesa simples e duas cadeiras. A câmera grava a conversa entre o policial, Pedro Santos, e o suspeito, Ricardo Martins. O policial adota uma postura firme, mas respeitosa.\\nRoteiro:\\n1. Introdução\\nPolicial (Pedro Santos):\\n\"Boa tarde, Ricardo Martins. Esta entrevista está sendo gravada. O senhor tem o direito de permanecer em silêncio e de contar com a presença de um advogado durante todo o processo. Está ciente de seus direitos?\"\\nSuspeito (Ricardo Martins):\\n\"Sim, estou ciente.\"\\nPolicial (Pedro Santos):\\n\"Ótimo. Estamos aqui para falar sobre um incidente ocorrido na noite de 15 de novembro. O senhor está sendo acusado de roubar uma loja de conveniência na Avenida Central. Segundo relatos, o senhor teria ameaçado o atendente com uma faca e levado o dinheiro do caixa. O que tem a dizer sobre essas acusações?\"\\nSuspeito (Ricardo Martins):\\n\"Isso é mentira. Eu nem estava lá.\"\\n2. Estabelecimento da Relação\\nPolicial (Pedro Santos):\\n\"Ricardo, pode me contar onde estava na noite de 15 de novembro, por volta das 22h30?\"\\nSuspeito (Ricardo Martins):\\n\"Eu estava andando pelo bairro. Não entrei em nenhuma loja, não fiz nada de errado.\"\\nPolicial (Pedro Santos):\\n\"Então, o senhor estava perto da Avenida Central, mas nega ter entrado na loja de conveniência ou ter participado de qualquer roubo. É isso?\"\\nSuspeito (Ricardo Martins):\\n\"Exatamente. Não tenho nada a ver com isso.\"\\n3. Apresentação das Provas\\nPolicial (Pedro Santos):\\n\"Ricardo, temos imagens de câmeras de segurança que mostram um homem com as suas características entrando na loja e saindo correndo com o dinheiro do caixa. Também encontramos uma faca com suas impressões digitais. O que o senhor tem a dizer sobre isso?\"\\nSuspeito (Ricardo Martins):\\n\"Isso não prova nada. Muita gente pode parecer comigo. E essa faca... alguém pode ter pegado ela e colocado minhas digitais.\"\\nPolicial (Pedro Santos):\\n\"Entendo sua preocupação, mas as impressões digitais na faca são uma evidência muito específica, Ricardo. Como o senhor explica isso?\"\\nSuspeito (Ricardo Martins):\\n\"Eu... eu não sei. Talvez tenha tocado nessa faca em outro momento. Não significa que eu estava usando ela no roubo.\"\\n4. Exploração de Contradições\\nPolicial (Pedro Santos):\\n\"Ricardo, o atendente relatou que foi ameaçado com uma faca, e descreveu o suspeito com precisão. O senhor estava nas proximidades no momento do crime. Como isso se encaixa na sua versão de que não tem relação com o ocorrido?\"\\nSuspeito (Ricardo Martins):\\n\"Eu já disse, estava só andando por ali. Alguém deve estar tentando me incriminar.\"\\nPolicial (Pedro Santos):\\n\"Entendido. Mas as imagens e as provas indicam o contrário. Um detalhe importante: o dinheiro roubado foi encontrado a menos de 200 metros de onde o senhor foi detido. Como o senhor explica isso?\"\\nSuspeito (Ricardo Martins):\\n\"Isso não é meu. Não sei como esse dinheiro foi parar lá.\"\\n5. Análise do Contexto\\nPolicial (Pedro Santos):\\n\"Ricardo, sabemos que o senhor já teve problemas anteriores relacionados a furtos. Isso pode pesar contra você. Não acha que é o momento de ser honesto e explicar o que realmente aconteceu?\"\\nSuspeito (Ricardo Martins):\\n\"Eu tive problemas no passado, mas estou tentando mudar. Não fiz isso. A
" '– Caso de Desmatamento Ilegal em Coimbra\\nContexto:\\nSuspeito: Jorge Ferreira, 42 anos, acusado de realizar corte ilegal de árvores em uma área de preservação ambiental próxima à cidade de Coimbra.\\nProvas:\\nDenúncia anônima relatando barulho de motosserras na madrugada de 10 de novembro.\\nA polícia encontrou árvores cortadas em área protegida e um caminhão com madeira não registrada na propriedade de Jorge.\\nJorge foi flagrado por drones de monitoramento ambiental transportando toras para seu depósito.\\nAlegação do suspeito: Jorge afirma que cortou as árvores em uma área que acreditava ser de sua propriedade e nega saber que se tratava de uma zona protegida.\\nCena:\\nLocal: Sala de interrogatório com uma mesa simples. Jorge está sentado, aparentando tranquilidade, enquanto o policial, Marta Nogueira, conduz a entrevista com tom firme, mas educado.\\nRoteiro:\\n1. Introdução\\nPolicial (Marta Nogueira):\\n\"Boa tarde, Jorge Ferreira. Esta entrevista está sendo gravada. O senhor tem o direito de permanecer em silêncio e de contar com a presença de um advogado durante todo o processo. Está ciente de seus direitos?\"\\nSuspeito (Jorge Ferreira):\\n\"Sim, estou ciente.\"\\nPolicial (Marta Nogueira):\\n\"Ótimo. Estamos aqui para falar sobre uma denúncia de corte ilegal de árvores em uma área de preservação ambiental na madrugada de 10 de novembro. O senhor está ciente dessas acusações?\"\\nSuspeito (Jorge Ferreira):\\n\"Sim, mas é um engano. Eu não sabia que era uma área protegida.\"\\n2. Contextualização Inicial\\nPolicial (Marta Nogueira):\\n\"Jorge, pode nos contar o que estava fazendo na madrugada de 10 de novembro próximo à área de preservação ambiental?\"\\nSuspeito (Jorge Ferreira):\\n\"Eu estava cortando algumas árvores na minha propriedade para fazer lenha. Sempre faço isso nessa época do ano.\"\\nPolicial (Marta Nogueira):\\n\"Entendido. E o senhor tem certeza de que a área onde estava cortando as árvores é sua propriedade?\"\\nSuspeito (Jorge Ferreira):\\n\"Tenho certeza, pelo menos até onde eu sabia. Nunca imaginei que fosse uma área protegida.\"\\n3. Apresentação das Provas\\nPolicial (Marta Nogueira):\\n\"Jorge, temos imagens capturadas por drones que mostram o senhor e sua equipe cortando árvores em uma área claramente sinalizada como de preservação ambiental. Como explica isso?\"\\nSuspeito (Jorge Ferreira):\\n\"Eu nunca vi essas placas. Talvez alguém as tenha colocado depois. Eu achei que estava dentro dos limites da minha terra.\"\\nPolicial (Marta Nogueira):\\n\"Entendido. Mas também encontramos um caminhão na sua propriedade carregado com madeira não registrada, e o volume excede o permitido por lei. Como explica isso?\"\\nSuspeito (Jorge Ferreira):\\n\"Eu só queria aproveitar a madeira que já estava cortada. Não sabia que precisava de registro para isso.\"\\n4. Exploração de Contradições\\nPolicial (Marta Nogueira):\\n\"Jorge, se o senhor acreditava que estava dentro da legalidade, por que cortou as árvores à noite, quando a visibilidade das placas e demarcações é limitada?\"\\nSuspeito (Jorge Ferreira):\\n\"Era só porque durante o dia estamos ocupados com outras tarefas. Não tem nada a ver com esconder nada.\"\\nPolicial (Marta Nogueira):\\n\"Entendido. Mas além disso, a denúncia relata barulhos contínuos de motosserras e movimentação de caminhões durante a madrugada. Isso não é consistente com uma atividade legal. Como o senhor explica isso?\"\\nSuspeito (Jorge Ferreira):\\n\"Olha, eu não sei quem fez essa denúncia, mas pode ser alguém querendo me prejudicar. Eu estava apenas trabalhando.\"\\n5. Pressão Estratégica\\nPolicial (Marta Nogueira):\\n\"Jorge, as evidências contra o senhor são consistentes: as imagens dos drones, a madeira encontrada e os horários relatados. Este é o momento de esclarecer os fatos. Há algo mais que queira nos contar?\"\\nSuspeito (Jorge Ferreira):\\n\"Eu... talvez tenha cortado mais árvores do que deveria, mas não sabia que estava errado. Só queria garantir l
" '– Caso de Falsificação de Documentos em Braga\\nContexto:\\nSuspeito: Luís Cardoso, 45 anos, acusado de falsificar documentos de propriedade de veículos para revendê-los como legítimos.\\nProvas:\\nDocumentos apreendidos em posse de Luís com assinaturas e selos claramente falsificados.\\nDeclarações de três compradores que afirmaram terem recebido documentos falsos.\\nMensagens no celular de Luís discutindo \"adaptação\" de documentos com um cúmplice.\\nAlegação do suspeito: Luís alega que comprou os documentos de terceiros e não sabia que eram falsificados.\\nCena:\\nLocal: Sala de interrogatório iluminada. Luís está sentado, tentando aparentar calma, enquanto o policial, Marta Silva, conduz a entrevista com profissionalismo e atenção aos detalhes.\\nRoteiro:\\n1. Introdução\\nPolicial (Marta Silva):\\n\"Boa tarde, Luís Cardoso. Esta entrevista está sendo gravada como parte da investigação sobre falsificação de documentos de propriedade de veículos. O senhor entende seus direitos, incluindo o de permanecer em silêncio e solicitar a presença de um advogado?\"\\nSuspeito (Luís Cardoso):\\n\"Sim, estou ciente.\"\\nPolicial (Marta Silva):\\n\"Ótimo. Estamos aqui para esclarecer os fatos relacionados aos documentos apreendidos em sua posse. Esses documentos, segundo análise preliminar, são falsificados. O que tem a dizer sobre isso?\"\\nSuspeito (Luís Cardoso):\\n\"Eu não sabia que eram falsificados. Comprei esses papéis achando que estavam em ordem.\"\\n2. Contextualização Inicial\\nPolicial (Marta Silva):\\n\"Luís, pode nos contar como adquiriu esses documentos e com quem estava negociando?\"\\nSuspeito (Luís Cardoso):\\n\"Foi um conhecido que me ofereceu. Disse que os papéis eram de veículos antigos e que estavam legítimos. Eu só aceitei porque parecia um bom negócio.\"\\nPolicial (Marta Silva):\\n\"Entendido. E quem seria esse conhecido? Poderia nos fornecer o nome dele?\"\\nSuspeito (Luís Cardoso):\\n\"Eu só conheço ele como \\'Carlos\\'. Não sei o nome completo.\"\\n3. Apresentação das Provas\\nPolicial (Marta Silva):\\n\"Luís, além dos documentos falsificados, temos mensagens no seu celular onde o senhor discute ajustes em assinaturas e selos. Como explica isso?\"\\nSuspeito (Luís Cardoso):\\n\"Isso foi só uma conversa casual. Não significa que eu estava envolvido em algo errado.\"\\nPolicial (Marta Silva):\\n\"Entendido. No entanto, essas mensagens mostram que o senhor tinha conhecimento de que os documentos não eram legítimos. Como justifica isso?\"\\nSuspeito (Luís Cardoso):\\n\"Eu não sabia que era tão sério. Achei que era só uma questão de ajustar detalhes para facilitar a venda.\"\\n4. Exploração de Contradições\\nPolicial (Marta Silva):\\n\"Luís, se o senhor acreditava que os documentos eram legítimos, por que discutiu \\'ajustes\\' nas assinaturas e nos selos? Isso não é consistente com sua alegação de que comprou os papéis em boa fé.\"\\nSuspeito (Luís Cardoso):\\n\"Eu só fiz isso porque o Carlos disse que era normal. Não pensei que fosse algo ilegal.\"\\nPolicial (Marta Silva):\\n\"Entendido. Mas os compradores afirmaram que foram enganados e que o senhor garantiu a autenticidade dos documentos. Como o senhor explica isso?\"\\nSuspeito (Luís Cardoso):\\n\"Eu achei que estava ajudando eles a resolver os problemas com os carros. Nunca quis enganar ninguém.\"\\n5. Pressão Estratégica\\nPolicial (Marta Silva):\\n\"Luís, as evidências são claras: os documentos, as mensagens e os depoimentos. Este é o momento de ser honesto. Há algo mais que queira acrescentar?\"\\nSuspeito (Luís Cardoso):\\n\"Eu só queria ganhar algum dinheiro extra. Não sabia que isso ia virar esse problema todo.\"\\nPolicial (Marta Silva):\\n\"Entendo. Mas ao vender documentos falsificados, o senhor colocou outras pessoas em risco. Não acha que isso é uma responsabilidade que deve assumir?\"\\nSuspeito (Luís Cardoso):\\n\"Eu... sim, eu errei. Mas não era minha intenção prejudicar ninguém.\"\\n6. Encerramento\\nPolicial (Marta Silv
" '– Caso de Tráfico de Animais em Setúbal\\nContexto:\\nSuspeito: Rodrigo Alves, 32 anos, acusado de envolvimento em tráfico de animais silvestres capturados ilegalmente e vendidos no mercado negro.\\nProvas:\\nAnimais silvestres resgatados em uma operação policial em um galpão alugado em nome de Rodrigo.\\nConversas em aplicativos de mensagens entre Rodrigo e compradores interessados em animais exóticos.\\nTestemunhas afirmaram que Rodrigo era visto frequentemente entrando e saindo do galpão, carregando caixas com marcas de transporte de animais.\\nAlegação do suspeito: Rodrigo afirma que apenas alugava o galpão e não tinha conhecimento das atividades ilegais que ocorriam no local.\\nCena:\\nLocal: Sala de interrogatório iluminada. Rodrigo está sentado, aparentando desconforto, enquanto a policial, Mariana Costa, conduz a entrevista com um tom firme e investigativo.\\nRoteiro:\\n1. Introdução\\nPolicial (Mariana Costa):\\n\"Boa tarde, Rodrigo Alves. Esta entrevista está sendo gravada como parte da investigação sobre o tráfico de animais silvestres. O senhor entende seus direitos, incluindo o de permanecer em silêncio e solicitar a presença de um advogado?\"\\nSuspeito (Rodrigo Alves):\\n\"Sim, estou ciente.\"\\nPolicial (Mariana Costa):\\n\"Ótimo. Estamos aqui para esclarecer os fatos relacionados ao galpão alugado em seu nome, onde foram encontrados diversos animais silvestres. O que o senhor tem a dizer sobre isso?\"\\nSuspeito (Rodrigo Alves):\\n\"Eu não sabia que havia animais no galpão. Eu apenas aluguei o espaço.\"\\n2. Contextualização Inicial\\nPolicial (Mariana Costa):\\n\"Rodrigo, pode nos contar o motivo pelo qual alugou esse galpão e com que frequência visitava o local?\"\\nSuspeito (Rodrigo Alves):\\n\"Eu aluguei para guardar alguns materiais antigos. Não ia lá com muita frequência, talvez uma vez por mês.\"\\nPolicial (Mariana Costa):\\n\"Entendido. E pode nos explicar por que algumas testemunhas relatam ter visto o senhor entrando e saindo do galpão regularmente com caixas grandes?\"\\nSuspeito (Rodrigo Alves):\\n\"Essas caixas eram apenas coisas que eu estava guardando ou transportando. Não tinham nada a ver com animais.\"\\n3. Apresentação das Provas\\nPolicial (Mariana Costa):\\n\"Rodrigo, encontramos conversas em aplicativos de mensagens no seu telefone discutindo a venda de animais silvestres, incluindo espécies ameaçadas de extinção. Como explica essas mensagens?\"\\nSuspeito (Rodrigo Alves):\\n\"Essas mensagens não provam nada. Eram só conversas, eu nunca vendi animal nenhum.\"\\nPolicial (Mariana Costa):\\n\"Entendido. Mas além das mensagens, o galpão estava registrado em seu nome, e os animais estavam no local. Como justifica isso?\"\\nSuspeito (Rodrigo Alves):\\n\"Eu aluguei o galpão, mas não controlava o que colocavam lá. Talvez alguém tenha usado o espaço sem eu saber.\"\\n4. Exploração de Contradições\\nPolicial (Mariana Costa):\\n\"Rodrigo, se o senhor não tinha controle sobre o galpão, como pode afirmar que nunca soube dos animais? Não é responsabilidade do locatário monitorar o que acontece no espaço alugado?\"\\nSuspeito (Rodrigo Alves):\\n\"Eu confiei em um amigo para cuidar disso. Talvez ele tenha permitido que usassem o galpão para essas coisas.\"\\nPolicial (Mariana Costa):\\n\"Entendido. Mas se o senhor sabia que outra pessoa estava usando o galpão, por que as conversas nos aplicativos mostram negociações diretamente com o senhor?\"\\nSuspeito (Rodrigo Alves):\\n\"Eu só estava tentando ajudar. Não tinha ideia de que era algo ilegal.\"\\n5. Pressão Estratégica\\nPolicial (Mariana Costa):\\n\"Rodrigo, as evidências são consistentes: os animais encontrados, as mensagens no seu telefone e os depoimentos. Este é o momento de ser honesto. Há algo mais que queira nos contar?\"\\nSuspeito (Rodrigo Alves):\\n\"Eu só estava tentando ganhar um dinheiro extra. Não sabia que era algo tão sério.\"\\nPolicial (Mariana Costa):\\n\"Entendo. Mas ao participar dessa atividade, o senhor contribuiu para a exploraçã
" '– Caso de Hackeamento de Contas em Lisboa\\nContexto:\\nSuspeito: Felipe Rocha, 28 anos, acusado de hackear contas de redes sociais para extorquir dinheiro das vítimas, ameaçando divulgar informações pessoais.\\nProvas:\\nRegistros de acesso às contas comprometidas vindos do endereço IP associado ao suspeito.\\nMensagens trocadas entre Felipe e as vítimas pedindo dinheiro em troca da exclusão dos dados roubados.\\nEquipamentos eletrônicos apreendidos na casa de Felipe com evidências de softwares utilizados para invadir as contas.\\nAlegação do suspeito: Felipe afirma que seu computador foi hackeado e usado por terceiros para cometer os crimes.\\nCena:\\nLocal: Sala de interrogatório bem iluminada, com mesa simples e duas cadeiras. Felipe está sentado, inquieto, enquanto a policial, Catarina Moreira, conduz a entrevista com firmeza, mas buscando clareza nas respostas.\\nRoteiro:\\n1. Introdução\\nPolicial (Catarina Moreira):\\n\"Boa tarde, Felipe Rocha. Esta entrevista está sendo gravada como parte da investigação sobre crimes cibernéticos relacionados ao hackeamento de contas de redes sociais. O senhor entende seus direitos, incluindo o de permanecer em silêncio e solicitar a presença de um advogado?\"\\nSuspeito (Felipe Rocha):\\n\"Sim, entendo.\"\\nPolicial (Catarina Moreira):\\n\"Ótimo. Estamos aqui para esclarecer os fatos relacionados aos acessos não autorizados em contas de redes sociais e à tentativa de extorsão. O que o senhor tem a dizer sobre essas acusações?\"\\nSuspeito (Felipe Rocha):\\n\"Eu não fiz nada disso. Meu computador foi hackeado, e alguém usou ele para essas coisas.\"\\n2. Contextualização Inicial\\nPolicial (Catarina Moreira):\\n\"Felipe, pode nos contar se percebeu algo incomum com seus dispositivos ou sua rede nos últimos meses?\"\\nSuspeito (Felipe Rocha):\\n\"Não, nada que eu tenha notado. Minha internet sempre funcionou normalmente.\"\\nPolicial (Catarina Moreira):\\n\"E quanto ao seu computador? O senhor já compartilhou senhas ou permitiu que outras pessoas o usassem?\"\\nSuspeito (Felipe Rocha):\\n\"Não, eu sou cuidadoso com isso. Só eu uso meu computador.\"\\n3. Apresentação das Provas\\nPolicial (Catarina Moreira):\\n\"Felipe, temos registros que mostram acessos não autorizados a contas vindo do seu IP e mensagens enviadas das contas invadidas pedindo dinheiro para as vítimas. Como explica isso?\"\\nSuspeito (Felipe Rocha):\\n\"Como eu disse, meu computador deve ter sido hackeado. Alguém usou minha conexão sem eu saber.\"\\nPolicial (Catarina Moreira):\\n\"Entendido. Contudo, as mensagens foram enviadas em horários que coincidem com períodos em que o senhor estava em casa, segundo os seus registros de atividades online. Como justifica isso?\"\\nSuspeito (Felipe Rocha):\\n\"Eu não sei. Alguém pode ter usado meu computador remotamente.\"\\n4. Exploração de Contradições\\nPolicial (Catarina Moreira):\\n\"Felipe, se o senhor acredita que alguém invadiu seu computador, por que não procurou assistência técnica ou relatou o incidente à polícia antes?\"\\nSuspeito (Felipe Rocha):\\n\"Eu não percebi que algo estava errado até agora. Nunca imaginei que meu computador poderia ser usado para isso.\"\\nPolicial (Catarina Moreira):\\n\"Entendido. Mas também encontramos ferramentas de invasão instaladas no seu computador, com evidências de que foram utilizadas recentemente. Como explica isso?\"\\nSuspeito (Felipe Rocha):\\n\"Essas ferramentas não são minhas. Talvez tenham sido instaladas por quem invadiu meu computador.\"\\n5. Pressão Estratégica\\nPolicial (Catarina Moreira):\\n\"Felipe, as provas são claras: os registros de acesso, as mensagens, e as ferramentas encontradas em seu computador. Este é o momento de ser honesto. Há algo mais que queira nos contar?\"\\nSuspeito (Felipe Rocha):\\n\"Eu só testei essas ferramentas uma vez, mas nunca usei para invadir ninguém. Eu estava apenas curioso.\"\\nPolicial (Catarina Moreira):\\n\"Entendo. Mas sua curiosidade colocou outras pessoas em risco e resultou em extorsões que
" '– Caso de Furto de Combustível em Santarém\\nContexto:\\nSuspeito: Rafael Mendes, 37 anos, acusado de furtar combustível de caminhões estacionados em um posto de abastecimento na madrugada de 5 de dezembro.\\nProvas:\\nCâmeras de segurança registraram Rafael sifonando combustível de dois caminhões.\\nUm galão com restos de combustível foi encontrado no carro de Rafael, estacionado próximo ao local.\\nO proprietário de um dos caminhões relatou que viu Rafael fugindo quando foi confrontado.\\nAlegação do suspeito: Rafael afirma que estava apenas parado no local para descansar e nega envolvimento no furto.\\nCena:\\nLocal: Sala de interrogatório simples. Rafael está sentado, com uma expressão calma, enquanto o policial, André Moreira, conduz a entrevista com tom sério, mas respeitoso.\\nRoteiro:\\n1. Introdução\\nPolicial (André Moreira):\\n\"Boa tarde, Rafael Mendes. Esta entrevista está sendo gravada como parte da investigação sobre o furto de combustível ocorrido no posto de abastecimento da Estrada Nacional 114, na madrugada de 5 de dezembro. O senhor entende seus direitos, incluindo o de permanecer em silêncio e solicitar a presença de um advogado?\"\\nSuspeito (Rafael Mendes):\\n\"Sim, entendo.\"\\nPolicial (André Moreira):\\n\"Ótimo. Estamos aqui para esclarecer os fatos relacionados à sua presença no local do incidente. O que o senhor tem a dizer sobre isso?\"\\nSuspeito (Rafael Mendes):\\n\"Eu estava apenas parado lá. Parei para descansar um pouco, não fiz nada de errado.\"\\n2. Contextualização Inicial\\nPolicial (André Moreira):\\n\"Rafael, pode nos contar exatamente o que estava fazendo no posto na madrugada de 5 de dezembro?\"\\nSuspeito (Rafael Mendes):\\n\"Eu tinha dirigido o dia inteiro e precisava descansar. Estacionei perto dos caminhões porque era o único lugar com sombra.\"\\nPolicial (André Moreira):\\n\"Entendido. E o senhor notou alguma atividade incomum ao redor dos caminhões enquanto estava no local?\"\\nSuspeito (Rafael Mendes):\\n\"Não, estava tudo tranquilo. Eu nem prestei atenção nos caminhões.\"\\n3. Apresentação das Provas\\nPolicial (André Moreira):\\n\"Rafael, as câmeras de segurança mostram você se aproximando de dois caminhões e utilizando uma mangueira para retirar combustível. Como explica isso?\"\\nSuspeito (Rafael Mendes):\\n\"Isso não é verdade. Eu não estava fazendo nada disso. Deve ser um erro.\"\\nPolicial (André Moreira):\\n\"Entendido. Mas também encontramos um galão no seu carro com combustível que combina com o tipo utilizado nos caminhões furtados. Como o senhor explica isso?\"\\nSuspeito (Rafael Mendes):\\n\"Eu uso esse galão para abastecer meu cortador de grama. Não tem nada a ver com isso.\"\\n4. Exploração de Contradições\\nPolicial (André Moreira):\\n\"Rafael, se o galão era para uso pessoal, por que ele estava parcialmente cheio e com cheiro de combustível recente?\"\\nSuspeito (Rafael Mendes):\\n\"Eu tinha acabado de abastecer ele, mas foi para o cortador de grama. Não roubei nada.\"\\nPolicial (André Moreira):\\n\"Entendido. Contudo, o proprietário de um dos caminhões relatou ter visto alguém parecido com o senhor fugindo quando foi confrontado. Como explica isso?\"\\nSuspeito (Rafael Mendes):\\n\"Ele deve estar enganado. Eu nem vi ninguém por lá.\"\\n5. Pressão Estratégica\\nPolicial (André Moreira):\\n\"Rafael, as evidências são claras: as imagens das câmeras, o galão no seu carro e o testemunho do proprietário. Este é o momento de ser honesto. Há algo mais que queira nos contar?\"\\nSuspeito (Rafael Mendes):\\n\"Eu só parei lá, como já disse. Não estava tentando roubar nada.\"\\nPolicial (André Moreira):\\n\"Entendo sua posição, mas os registros contradizem sua versão. O senhor não acha que seria melhor esclarecer sua participação nesse caso agora?\"\\nSuspeito (Rafael Mendes):\\n\"Eu... eu estava precisando de combustível. Foi um momento de desespero, mas eu não queria prejudicar ninguém.\"\\n6. Encerramento\\nPolicial (André Moreira):\\n\"Rafael, agr
" '– Caso de Venda de Produtos Falsificados em Leiria\\nContexto:\\nSuspeito: Vanessa Soares, 29 anos, acusada de vender produtos falsificados, incluindo roupas e acessórios de marcas famosas, em uma feira local.\\nProvas:\\nProdutos falsificados foram encontrados em sua banca durante uma operação de fiscalização.\\nConversas em aplicativos de mensagens mostram negociações de grandes quantidades de mercadorias.\\nDepoimentos de clientes afirmam que Vanessa garantiu a autenticidade dos produtos.\\nAlegação do suspeito: Vanessa afirma que comprou os produtos acreditando serem originais e nega saber que eram falsificados.\\nCena:\\nLocal: Sala de interrogatório com luz moderada. Vanessa está sentada, demonstrando nervosismo, enquanto a policial, Carlos Mendes, conduz a conversa com um tom respeitoso, mas firme.\\nRoteiro:\\n1. Introdução\\nPolicial (Carlos Mendes):\\n\"Boa tarde, Vanessa Soares. Esta entrevista está sendo gravada como parte da investigação sobre a venda de produtos falsificados em Leiria. O senhor entende seus direitos, incluindo o de permanecer em silêncio e solicitar a presença de um advogado?\"\\nSuspeita (Vanessa Soares):\\n\"Sim, entendi.\"\\nPolicial (Carlos Mendes):\\n\"Ótimo. Estamos aqui para esclarecer os fatos relacionados às mercadorias encontradas na sua banca. O que tem a dizer sobre isso?\"\\nSuspeita (Vanessa Soares):\\n\"Eu não sabia que eram falsificados. Achei que estava vendendo produtos legítimos.\"\\n2. Contextualização Inicial\\nPolicial (Carlos Mendes):\\n\"Vanessa, pode nos contar como adquiriu os produtos que estava vendendo na feira?\"\\nSuspeita (Vanessa Soares):\\n\"Comprei de um fornecedor que conheci pela internet. Ele me garantiu que eram originais.\"\\nPolicial (Carlos Mendes):\\n\"Entendido. E o senhor verificou a procedência dos produtos antes de começar a vendê-los?\"\\nSuspeita (Vanessa Soares):\\n\"Não, confiei no fornecedor. Não achei que precisaria.\"\\n3. Apresentação das Provas\\nPolicial (Carlos Mendes):\\n\"Vanessa, durante a fiscalização, encontramos produtos com logotipos e etiquetas que indicam falsificação. Além disso, temos mensagens em seu celular discutindo preços muito abaixo do mercado. Como explica isso?\"\\nSuspeita (Vanessa Soares):\\n\"Esses preços baixos eram porque o fornecedor dizia que tinha um bom esquema de distribuição. Eu não sabia que eram falsificados.\"\\nPolicial (Carlos Mendes):\\n\"Entendido. Mas também há depoimentos de clientes que relataram que a senhora afirmou que os produtos eram originais. Como justifica isso?\"\\nSuspeita (Vanessa Soares):\\n\"Eu achava que eram originais. Nunca quis enganar ninguém.\"\\n4. Exploração de Contradições\\nPolicial (Carlos Mendes):\\n\"Vanessa, se a senhora acreditava na autenticidade dos produtos, por que não pediu documentação ou notas fiscais ao fornecedor?\"\\nSuspeita (Vanessa Soares):\\n\"Eu sei que foi um erro, mas achei que ele era confiável. Não pensei que precisava disso.\"\\nPolicial (Carlos Mendes):\\n\"Entendido. Contudo, as mensagens indicam que a senhora sabia que os produtos poderiam ser falsificados. Isso não contradiz o que está dizendo agora?\"\\nSuspeita (Vanessa Soares):\\n\"Eu tinha minhas dúvidas, mas nunca quis confirmar. Não achei que fosse tão sério.\"\\n5. Pressão Estratégica\\nPolicial (Carlos Mendes):\\n\"Vanessa, as provas mostram claramente que a senhora tinha ciência de que os produtos não eram legítimos. Este é o momento de ser honesta. Há algo mais que queira nos contar?\"\\nSuspeita (Vanessa Soares):\\n\"Eu sabia que poderiam ser falsificados, mas nunca pensei que fosse tão grave. Só queria ganhar algum dinheiro extra.\"\\nPolicial (Carlos Mendes):\\n\"Entendo. Mas ao vender esses produtos, a senhora prejudicou os clientes e as marcas envolvidas. Reconhece a gravidade da situação?\"\\nSuspeita (Vanessa Soares):\\n\"Sim, eu errei. Não devia ter feito isso.\"\\n6. Encerramento\\nPolicial (Carlos Mendes):\\n\"Vanessa, agradeço pela sua colaboração. Esta gravação será analisada junto
" '– Caso de Arrombamento em Residência em Faro\\nContexto:\\nSuspeito: Bruno Ferreira, 25 anos, acusado de invadir uma residência e furtar eletrônicos e dinheiro em espécie na madrugada de 8 de dezembro.\\nProvas:\\nImpressões digitais de Bruno encontradas na janela da casa arrombada.\\nTestemunha afirma ter visto Bruno deixando o local com uma mochila cheia.\\nParte dos itens furtados foi encontrada na posse do suspeito durante a abordagem policial.\\nAlegação do suspeito: Bruno afirma que estava apenas passando pela região e que os itens encontrados com ele foram comprados de um desconhecido.\\nCena:\\nLocal: Sala de interrogatório simples, com luz moderada. Bruno está sentado, demonstrando nervosismo, enquanto a policial, Sofia Almeida, conduz a conversa com um tom firme, mas respeitoso.\\nRoteiro:\\n1. Introdução\\nPolicial (Sofia Almeida):\\n\"Boa tarde, Bruno Ferreira. Esta entrevista está sendo gravada como parte da investigação sobre o arrombamento de uma residência na madrugada de 8 de dezembro. O senhor entende seus direitos, incluindo o de permanecer em silêncio e solicitar a presença de um advogado?\"\\nSuspeito (Bruno Ferreira):\\n\"Sim, entendi.\"\\nPolicial (Sofia Almeida):\\n\"Ótimo. Estamos aqui para esclarecer sua presença na área e os itens encontrados em sua posse. O que tem a dizer sobre isso?\"\\nSuspeito (Bruno Ferreira):\\n\"Eu não arrombei nada. Estava só passando por ali.\"\\n2. Contextualização Inicial\\nPolicial (Sofia Almeida):\\n\"Bruno, pode nos contar o que estava fazendo nas proximidades da Rua dos Girassóis na madrugada de 8 de dezembro?\"\\nSuspeito (Bruno Ferreira):\\n\"Eu estava voltando para casa depois de encontrar alguns amigos.\"\\nPolicial (Sofia Almeida):\\n\"Entendido. E por que estava carregando uma mochila com objetos eletrônicos e dinheiro em espécie?\"\\nSuspeito (Bruno Ferreira):\\n\"Comprei esses itens de um cara que encontrei na rua. Achei que era um bom negócio.\"\\n3. Apresentação das Provas\\nPolicial (Sofia Almeida):\\n\"Bruno, temos suas impressões digitais na janela da residência arrombada. Como explica isso?\"\\nSuspeito (Bruno Ferreira):\\n\"Eu... talvez tenha encostado sem querer enquanto passava por lá. Mas não entrei na casa.\"\\nPolicial (Sofia Almeida):\\n\"Entendido. Contudo, uma testemunha relatou ter visto você saindo do local com uma mochila que continha os itens furtados. Como justifica isso?\"\\nSuspeito (Bruno Ferreira):\\n\"Essa pessoa deve estar confundindo. Eu comprei a mochila de outra pessoa.\"\\n4. Exploração de Contradições\\nPolicial (Sofia Almeida):\\n\"Bruno, se comprou os itens de outra pessoa, por que não tem nenhuma prova dessa transação, como mensagens ou recibos?\"\\nSuspeito (Bruno Ferreira):\\n\"Foi tudo rápido. O cara me ofereceu, eu paguei e fui embora. Não pensei em pedir nada.\"\\nPolicial (Sofia Almeida):\\n\"Entendido. Mas se foi assim, como explica o fato de os itens encontrados em sua posse serem idênticos aos descritos pela vítima?\"\\nSuspeito (Bruno Ferreira):\\n\"Eu não sei... talvez ele tenha pego esses itens e me vendido.\"\\n5. Pressão Estratégica\\nPolicial (Sofia Almeida):\\n\"Bruno, as provas são claras: as digitais na janela, os itens encontrados com você e o depoimento da testemunha. Este é o momento de ser honesto. Há algo mais que queira nos contar?\"\\nSuspeito (Bruno Ferreira):\\n\"Eu não queria roubar, mas estava precisando de dinheiro. Foi um erro.\"\\nPolicial (Sofia Almeida):\\n\"Entendo. Mas ao invadir a residência, o senhor causou danos e prejuízos à vítima. Reconhece a gravidade de suas ações?\"\\nSuspeito (Bruno Ferreira):\\n\"Sim, eu sei que errei. Não devia ter feito isso.\"\\n6. Encerramento\\nPolicial (Sofia Almeida):\\n\"Bruno, agradeço pela sua colaboração. Esta gravação será analisada junto com as outras evidências. Se houver algo mais que queira acrescentar, agora é o momento.\"\\nSuspeito (Bruno Ferreira):\\n\"Não, já disse tudo. Só quero consertar isso.\"\\nPolicial (Sofia Almeida):\\n\"Entendido. O senhor serÃ
" '– Caso de Vandalismo em Transporte Público em Lisboa\\nContexto:\\nSuspeito: Eduardo Martins, 19 anos, acusado de vandalizar um autocarro com pichações e quebrar uma das janelas durante a noite de 10 de dezembro.\\nProvas:\\nImagens de câmeras de segurança mostram Eduardo com uma lata de spray próximo ao autocarro.\\nTestemunhas viram Eduardo e um grupo de amigos rindo e vandalizando o veículo.\\nUma lata de spray e cacos de vidro foram encontrados próximos ao local onde Eduardo foi abordado.\\nAlegação do suspeito: Eduardo afirma que estava apenas observando seus amigos e que não participou do vandalismo.\\nCena:\\nLocal: Sala de interrogatório iluminada. Eduardo está sentado, tentando aparentar tranquilidade, enquanto a policial, Patrícia Alves, conduz a conversa com tom sério, mas objetivo.\\nRoteiro:\\n1. Introdução\\nPolicial (Patrícia Alves):\\n\"Boa tarde, Eduardo Martins. Esta entrevista está sendo gravada como parte da investigação sobre o vandalismo ocorrido em um autocarro da Linha 37 na noite de 10 de dezembro. O senhor entende seus direitos, incluindo o de permanecer em silêncio e solicitar a presença de um advogado?\"\\nSuspeito (Eduardo Martins):\\n\"Sim, entendo.\"\\nPolicial (Patrícia Alves):\\n\"Ótimo. Estamos aqui para esclarecer sua presença no local e as imagens que temos de você. O que tem a dizer sobre isso?\"\\nSuspeito (Eduardo Martins):\\n\"Eu não fiz nada. Estava só lá com os meus amigos.\"\\n2. Contextualização Inicial\\nPolicial (Patrícia Alves):\\n\"Eduardo, pode nos contar o que estava fazendo nas proximidades da Rua das Flores por volta das 22h daquela noite?\"\\nSuspeito (Eduardo Martins):\\n\"Eu estava com os meus amigos. Só ficamos ali conversando e brincando.\"\\nPolicial (Patrícia Alves):\\n\"Entendido. E pode explicar por que foi visto próximo ao autocarro com uma lata de spray na mão?\"\\nSuspeito (Eduardo Martins):\\n\"A lata não era minha. Peguei porque um dos meus amigos me passou, mas eu não fiz nada com ela.\"\\n3. Apresentação das Provas\\nPolicial (Patrícia Alves):\\n\"Eduardo, as câmeras de segurança mostram você com a lata de spray em direção ao autocarro. Além disso, testemunhas relataram que viram o grupo vandalizando o veículo. Como explica isso?\"\\nSuspeito (Eduardo Martins):\\n\"Eu estava só segurando a lata, mas não pintei nada. Os meus amigos estavam brincando, e eu só fiquei olhando.\"\\nPolicial (Patrícia Alves):\\n\"Entendido. Contudo, a lata de spray encontrada próximo ao local estava na área onde você foi abordado. Como justifica isso?\"\\nSuspeito (Eduardo Martins):\\n\"Eu devo ter deixado cair sem perceber. Mas, repito, não fui eu quem usou a tinta.\"\\n4. Exploração de Contradições\\nPolicial (Patrícia Alves):\\n\"Eduardo, se você não participou, por que não tentou impedir seus amigos de vandalizarem o autocarro?\"\\nSuspeito (Eduardo Martins):\\n\"Eu não quis me meter. Só fiquei ali sem fazer nada.\"\\nPolicial (Patrícia Alves):\\n\"Entendido. Mas também há imagens que mostram você próximo da janela que foi quebrada. Pode explicar o que aconteceu ali?\"\\nSuspeito (Eduardo Martins):\\n\"Eu estava só olhando. Não fui eu quem quebrou a janela. Acho que alguém do grupo fez isso, mas eu não vi direito.\"\\n5. Pressão Estratégica\\nPolicial (Patrícia Alves):\\n\"Eduardo, as evidências contra você são claras: as imagens, a lata de spray e os relatos das testemunhas. Este é o momento de ser honesto. Há algo mais que queira nos contar?\"\\nSuspeito (Eduardo Martins):\\n\"Eu estava lá, mas não queria me meter em confusão. Só segurei a lata por um momento. Foi um erro.\"\\nPolicial (Patrícia Alves):\\n\"Entendo. Mas ao estar presente e não intervir, o senhor também é responsável pelos danos causados. Reconhece isso?\"\\nSuspeito (Eduardo Martins):\\n\"Sim, eu devia ter saído de lá. Foi um erro, mas não quebrei nada nem pintei o autocarro.\"\\n6. Encerramento\\nPolicial (Patrícia Alves):\\n\"Eduardo, agradeço pela sua colaboração. Esta gravação será anal
" '– Caso de Compra Fraudulenta em Shopping de Braga\\nContexto:\\nSuspeito: Mariana Castro, 30 anos, acusada de utilizar cartões de crédito roubados para realizar compras de alto valor em uma loja de eletrônicos.\\nProvas:\\nTransações realizadas em nome de duas vítimas que relataram roubo de cartões.\\nCâmeras de segurança mostram Mariana efetuando as compras no caixa da loja.\\nProdutos adquiridos com os cartões foram encontrados no carro de Mariana.\\nAlegação do suspeito: Mariana afirma que recebeu os cartões de um conhecido e não sabia que eram roubados.\\nCena:\\nLocal: Sala de interrogatório organizada, com iluminação moderada. Mariana está sentada, aparentando calma, enquanto o policial, Luís Duarte, conduz a conversa com um tom firme, mas profissional.\\nRoteiro:\\n1. Introdução\\nPolicial (Luís Duarte):\\n\"Boa tarde, Mariana Castro. Esta entrevista está sendo gravada como parte da investigação sobre compras realizadas com cartões de crédito roubados. O senhor entende seus direitos, incluindo o de permanecer em silêncio e solicitar a presença de um advogado?\"\\nSuspeita (Mariana Castro):\\n\"Sim, entendo.\"\\nPolicial (Luís Duarte):\\n\"Ótimo. Estamos aqui para esclarecer os fatos relacionados às compras realizadas na tarde de 10 de dezembro em uma loja de eletrônicos em Braga. O que tem a dizer sobre isso?\"\\nSuspeita (Mariana Castro):\\n\"Eu não sabia que os cartões eram roubados. Usei porque me deram eles para comprar algumas coisas.\"\\n2. Contextualização Inicial\\nPolicial (Luís Duarte):\\n\"Mariana, pode nos contar como conseguiu os cartões que utilizou na loja?\"\\nSuspeita (Mariana Castro):\\n\"Um conhecido me deu. Ele disse que eram dele e que não poderia ir à loja, então pediu para eu fazer as compras.\"\\nPolicial (Luís Duarte):\\n\"Entendido. E o senhor verificou se os cartões estavam realmente no nome desse conhecido antes de usá-los?\"\\nSuspeita (Mariana Castro):\\n\"Não, confiei nele. Achei que estavam tudo certo.\"\\n3. Apresentação das Provas\\nPolicial (Luís Duarte):\\n\"Mariana, as câmeras de segurança mostram você utilizando dois cartões diferentes em seu nome, mas que pertencem a vítimas que já denunciaram o roubo. Como explica isso?\"\\nSuspeita (Mariana Castro):\\n\"Eu não sabia que eram roubados. Só fiz o que o meu conhecido pediu.\"\\nPolicial (Luís Duarte):\\n\"Entendido. Contudo, os produtos comprados com esses cartões foram encontrados no seu carro. Como justifica isso?\"\\nSuspeita (Mariana Castro):\\n\"Eu estava guardando para ele. Não sabia que tinha algo errado.\"\\n4. Exploração de Contradições\\nPolicial (Luís Duarte):\\n\"Mariana, se não sabia que havia algo errado, por que aceitou utilizar cartões de terceiros para fazer compras em seu nome?\"\\nSuspeita (Mariana Castro):\\n\"Eu achei que estava ajudando. Não pensei que isso fosse ilegal.\"\\nPolicial (Luís Duarte):\\n\"Entendido. Mas as vítimas relataram que os cartões foram roubados na mesma semana, e a loja informou que você tentou utilizar um terceiro cartão que foi recusado. Como explica isso?\"\\nSuspeita (Mariana Castro):\\n\"Eu só estava seguindo instruções. Não sabia de onde vinham esses cartões.\"\\n5. Pressão Estratégica\\nPolicial (Luís Duarte):\\n\"Mariana, as provas são consistentes: os cartões, os produtos encontrados com você e os registros das câmeras. Este é o momento de ser honesta. Há algo mais que queira nos contar?\"\\nSuspeita (Mariana Castro):\\n\"Eu não sabia que era tão sério. Achei que estava fazendo um favor. Nunca quis prejudicar ninguém.\"\\nPolicial (Luís Duarte):\\n\"Entendo. Mas ao utilizar cartões de crédito roubados, o senhor participou de um crime que prejudicou as vítimas. Reconhece sua responsabilidade?\"\\nSuspeita (Mariana Castro):\\n\"Sim, eu entendo agora. Foi um erro aceitar fazer isso.\"\\n6. Encerramento\\nPolicial (Luís Duarte):\\n\"Mariana, agradeço pela sua colaboração. Esta gravação será analisada junto com as outras evidências. Se houver algo mais que queira ac
" '– Caso de Furto em Loja de Eletrônicos em Braga\\nContexto:\\nSuspeito: Ricardo Nunes, 34 anos, acusado de furtar dois smartphones de uma loja de eletrônicos na tarde de 15 de dezembro.\\nProvas:\\nImagens de câmeras de segurança mostram Ricardo colocando os smartphones no bolso enquanto circulava pela loja.\\nUm alarme disparou na saída da loja, e os itens foram encontrados com Ricardo durante a abordagem.\\nRicardo já possui um histórico de pequenos furtos.\\nAlegação do suspeito: Ricardo afirma que estava segurando os smartphones para decidir qual comprar e esqueceu de devolvê-los.\\nCena:\\nLocal: Sala de interrogatório com iluminação moderada. Ricardo está sentado, inquieto, enquanto a policial, Catarina Vasconcelos, conduz a entrevista com tom direto e investigativo.\\nRoteiro:\\n1. Introdução\\nPolicial (Catarina Vasconcelos):\\n\"Boa tarde, Ricardo Nunes. Esta entrevista está sendo gravada como parte da investigação sobre o furto de dois smartphones na loja TecMais, na tarde de 15 de dezembro. O senhor entende seus direitos, incluindo o de permanecer em silêncio e solicitar a presença de um advogado?\"\\nSuspeito (Ricardo Nunes):\\n\"Sim, entendi.\"\\nPolicial (Catarina Vasconcelos):\\n\"Ótimo. Estamos aqui para esclarecer sua presença na loja e os itens encontrados com você. O que tem a dizer sobre isso?\"\\nSuspeito (Ricardo Nunes):\\n\"Foi um mal-entendido. Eu estava só olhando os telefones, não ia roubar nada.\"\\n2. Contextualização Inicial\\nPolicial (Catarina Vasconcelos):\\n\"Ricardo, pode nos contar o que estava fazendo na loja TecMais na tarde de 15 de dezembro?\"\\nSuspeito (Ricardo Nunes):\\n\"Eu estava procurando um telefone para comprar. Fiquei analisando os modelos, só isso.\"\\nPolicial (Catarina Vasconcelos):\\n\"Entendido. E pode explicar por que colocou dois smartphones no bolso em vez de deixá-los na bancada de exposição?\"\\nSuspeito (Ricardo Nunes):\\n\"Eu só coloquei no bolso porque estava carregando outras coisas e não tinha onde segurar. Ia devolver antes de sair.\"\\n3. Apresentação das Provas\\nPolicial (Catarina Vasconcelos):\\n\"Ricardo, as câmeras de segurança mostram você olhando ao redor antes de colocar os telefones no bolso. Como explica isso?\"\\nSuspeito (Ricardo Nunes):\\n\"Eu só estava tentando decidir qual telefone queria comprar. Não tinha nenhuma má intenção.\"\\nPolicial (Catarina Vasconcelos):\\n\"Entendido. No entanto, os alarmes dispararam quando você tentou sair da loja sem pagar. Como justifica isso?\"\\nSuspeito (Ricardo Nunes):\\n\"Eu esqueci completamente que os telefones estavam no meu bolso. Foi um erro, só isso.\"\\n4. Exploração de Contradições\\nPolicial (Catarina Vasconcelos):\\n\"Ricardo, se esqueceu dos telefones no bolso, por que tentou sair rapidamente da loja sem passar pelo caixa?\"\\nSuspeito (Ricardo Nunes):\\n\"Eu estava com pressa, mas não percebi que ainda tinha os telefones comigo.\"\\nPolicial (Catarina Vasconcelos):\\n\"Entendido. Mas os seguranças relataram que você parecia nervoso quando o alarme disparou. Isso não é consistente com a alegação de que foi apenas um engano. Como explica isso?\"\\nSuspeito (Ricardo Nunes):\\n\"Eu fiquei nervoso porque não sabia o que estava acontecendo. Foi tudo um mal-entendido.\"\\n5. Pressão Estratégica\\nPolicial (Catarina Vasconcelos):\\n\"Ricardo, as evidências são claras: as imagens das câmeras, o relato dos seguranças e os telefones encontrados com você. Este é o momento de ser honesto. Há algo mais que queira nos contar?\"\\nSuspeito (Ricardo Nunes):\\n\"Eu... eu ia devolver, mas fiquei com medo quando o alarme disparou. Foi um momento de desespero.\"\\nPolicial (Catarina Vasconcelos):\\n\"Entendo. Mas ao tentar sair da loja com os telefones, o senhor cometeu um crime. Reconhece isso?\"\\nSuspeito (Ricardo Nunes):\\n\"Sim, eu reconheço. Foi um erro, e eu sinto muito.\"\\n6. Encerramento\\nPolicial (Catarina Vasconcelos):\\n\"Ricardo, agradeço pela sua colaboração. Esta gravação será analisada junto com as outras evidÃ
" '– Caso de Fraude em Compras Online em Coimbra\\nContexto:\\nSuspeito: Clara Monteiro, 30 anos, acusada de realizar compras online com cartões de crédito clonados.\\nProvas:\\nRegistros de compras feitas em nome de Clara usando cartões de crédito de terceiros.\\nProdutos adquiridos foram entregues no endereço residencial de Clara.\\nConversas em aplicativos de mensagens indicam que Clara negociava dados de cartões com outros indivíduos.\\nAlegação do suspeito: Clara afirma que recebeu os produtos como presentes de um amigo e nega qualquer envolvimento em fraude.\\nCena:\\nLocal: Sala de interrogatório bem iluminada. Clara está sentada, aparentemente tranquila, enquanto a policial, Ana Ribeiro, conduz a entrevista com tom calmo, mas investigativo.\\nRoteiro:\\n1. Introdução\\nPolicial (Ana Ribeiro):\\n\"Boa tarde, Clara Monteiro. Esta entrevista está sendo gravada como parte da investigação sobre fraude em compras online usando cartões de crédito de terceiros. A senhora entende seus direitos, incluindo o de permanecer em silêncio e solicitar a presença de um advogado?\"\\nSuspeita (Clara Monteiro):\\n\"Sim, entendo.\"\\nPolicial (Ana Ribeiro):\\n\"Ótimo. Estamos aqui para esclarecer as compras realizadas em seu nome com cartões clonados. O que tem a dizer sobre isso?\"\\nSuspeita (Clara Monteiro):\\n\"Eu não fiz nada disso. Recebi os produtos como presentes de um amigo.\"\\n2. Contextualização Inicial\\nPolicial (Ana Ribeiro):\\n\"Clara, pode nos contar como recebeu esses produtos e quem seria esse amigo que os enviou?\"\\nSuspeita (Clara Monteiro):\\n\"Um amigo que mora no estrangeiro comprou os itens para mim. Ele não me disse como fez as compras.\"\\nPolicial (Ana Ribeiro):\\n\"Entendido. E pode nos fornecer o nome ou contato desse amigo?\"\\nSuspeita (Clara Monteiro):\\n\"Eu só o conheço como Luís. Ele não gosta de compartilhar informações pessoais.\"\\n3. Apresentação das Provas\\nPolicial (Ana Ribeiro):\\n\"Clara, temos registros das compras feitas em seu nome, utilizando cartões clonados. Esses produtos foram entregues no seu endereço. Como explica isso?\"\\nSuspeita (Clara Monteiro):\\n\"Eu realmente não sabia de nada. Achei que eram presentes legítimos.\"\\nPolicial (Ana Ribeiro):\\n\"Entendido. Mas também encontramos mensagens no seu celular discutindo dados de cartões com outra pessoa. Como justifica isso?\"\\nSuspeita (Clara Monteiro):\\n\"Essas mensagens foram enviadas por engano. Eu não tenho nada a ver com cartões clonados.\"\\n4. Exploração de Contradições\\nPolicial (Ana Ribeiro):\\n\"Clara, se acreditava que os produtos eram presentes, por que enviou mensagens solicitando dados de cartões a terceiros?\"\\nSuspeita (Clara Monteiro):\\n\"Eu só estava brincando com um amigo. Nunca usei essas informações.\"\\nPolicial (Ana Ribeiro):\\n\"Entendido. Contudo, as compras foram feitas em um curto período de tempo e entregues no seu endereço. Isso não é consistente com sua alegação de que não sabia o que estava acontecendo.\"\\nSuspeita (Clara Monteiro):\\n\"Talvez o Luís tenha usado meus dados sem me avisar. Eu não sabia de nada.\"\\n5. Pressão Estratégica\\nPolicial (Ana Ribeiro):\\n\"Clara, as evidências contra a senhora são claras: os registros de compras, as mensagens no seu celular e a entrega dos produtos em sua casa. Este é o momento de ser honesta. Há algo mais que queira nos contar?\"\\nSuspeita (Clara Monteiro):\\n\"Eu realmente não sabia que os cartões eram clonados. Só aceitei os produtos porque achei que eram presentes.\"\\nPolicial (Ana Ribeiro):\\n\"Entendo sua posição. No entanto, a senhora precisa reconhecer que aceitar esses produtos sem questionar a origem também a torna responsável. Concorda?\"\\nSuspeita (Clara Monteiro):\\n\"Sim, reconheço que devia ter sido mais cuidadosa.\"\\n6. Encerramento\\nPolicial (Ana Ribeiro):\\n\"Clara, agradeço pela sua colaboração. Esta gravação será analisada junto com as outras evidências. Se houver algo mais que queira acrescentar, agora é o momento.\"\\nSuspeita (Clar
" '– Caso de Desmatamento Ilegal em Viana do Castelo\\nContexto:\\nSuspeito: Luís Pereira, 45 anos, acusado de derrubar árvores em uma área de preservação ambiental sem autorização, para vender a madeira no mercado ilegal.\\nProvas:\\nEquipamentos de corte encontrados no local com digitais de Luís.\\nDepoimentos de moradores que relataram terem visto Luís em atividade na área.\\nCaminhão carregado com toras de madeira apreendido e registrado em nome de Luís.\\nAlegação do suspeito: Luís afirma que estava apenas transportando madeira adquirida de terceiros e desconhecia que a área era de preservação ambiental.\\nCena:\\nLocal: Sala de interrogatório com decoração simples. Luís está sentado, com expressão apreensiva, enquanto o policial, João Matos, conduz a entrevista com tom profissional e investigativo.\\nRoteiro:\\n1. Introdução\\nPolicial (João Matos):\\n\"Boa tarde, Luís Pereira. Esta entrevista está sendo gravada como parte da investigação sobre desmatamento ilegal em uma área de preservação ambiental em Viana do Castelo. O senhor entende seus direitos, incluindo o de permanecer em silêncio e solicitar a presença de um advogado?\"\\nSuspeito (Luís Pereira):\\n\"Sim, entendi.\"\\nPolicial (João Matos):\\n\"Ótimo. Estamos aqui para esclarecer sua presença no local e os equipamentos encontrados. O que o senhor tem a dizer sobre isso?\"\\nSuspeito (Luís Pereira):\\n\"Eu só estava transportando madeira para outra pessoa. Não sabia que era ilegal.\"\\n2. Contextualização Inicial\\nPolicial (João Matos):\\n\"Luís, pode nos contar como foi contratado para transportar essa madeira e quem era o responsável pela operação?\"\\nSuspeito (Luís Pereira):\\n\"Recebi uma ligação de um homem que conheço de vista. Ele me pediu para pegar a madeira e entregar em um armazém. Não sabia que vinha de um local proibido.\"\\nPolicial (João Matos):\\n\"Entendido. E por que os equipamentos de corte encontrados no local estavam registrados em seu nome?\"\\nSuspeito (Luís Pereira):\\n\"Eu deixei os equipamentos lá porque uso em outros trabalhos, mas não fui eu quem cortou as árvores.\"\\n3. Apresentação das Provas\\nPolicial (João Matos):\\n\"Luís, temos testemunhos de moradores que relataram ter visto o senhor operando os equipamentos na área. Como explica isso?\"\\nSuspeito (Luís Pereira):\\n\"Isso é mentira. Eu estava apenas no caminhão. Alguém deve ter me confundido com outra pessoa.\"\\nPolicial (João Matos):\\n\"Entendido. No entanto, as digitais nos equipamentos confirmam que o senhor os utilizou recentemente. Como justifica isso?\"\\nSuspeito (Luís Pereira):\\n\"Eu usei os equipamentos em outro lugar, mas não nesse caso. Deve ser coincidência.\"\\n4. Exploração de Contradições\\nPolicial (João Matos):\\n\"Luís, se o senhor apenas transportou a madeira, como explica as digitais nos troncos recém-cortados, que coincidem com as marcas de corte feitas pelos seus equipamentos?\"\\nSuspeito (Luís Pereira):\\n\"Talvez eu tenha mexido em algumas toras sem perceber, mas não fui eu quem as cortou.\"\\nPolicial (João Matos):\\n\"Entendido. Mas também temos o registro de um caminhão em seu nome transportando madeira da área desmatada. Como explica isso?\"\\nSuspeito (Luís Pereira):\\n\"Eu só aceitei fazer o transporte porque estava precisando de dinheiro. Não sabia que era ilegal.\"\\n5. Pressão Estratégica\\nPolicial (João Matos):\\n\"Luís, as evidências são claras: os equipamentos, as digitais e os testemunhos. Este é o momento de ser honesto. Há algo mais que queira nos contar?\"\\nSuspeito (Luís Pereira):\\n\"Eu estava no local, mas só ajudando a carregar a madeira. Não sabia que era proibido.\"\\nPolicial (João Matos):\\n\"Entendo. Mas ao participar dessa atividade, o senhor contribuiu para o desmatamento de uma área protegida. Reconhece sua responsabilidade?\"\\nSuspeito (Luís Pereira):\\n\"Sim, eu errei. Não devia ter me envolvido.\"\\n6. Encerramento\\nPolicial (João Matos):\\n\"Luís, agradeço pela sua colaboração. Esta gr
" '– Caso de Furto de Equipamentos em Universidade em Aveiro\\nContexto:\\nSuspeito: Tiago Lopes, 23 anos, acusado de furtar equipamentos de informática de um laboratório na Universidade de Aveiro.\\nProvas:\\nImagens de câmeras de segurança mostram Tiago saindo do laboratório com uma mochila cheia durante a madrugada.\\nUm dos computadores furtados foi encontrado em sua posse durante uma abordagem policial.\\nTestemunhas afirmaram ter visto Tiago rondando o laboratório em horários suspeitos nos dias anteriores ao furto.\\nAlegação do suspeito: Tiago afirma que encontrou o equipamento em um local próximo à universidade e negou qualquer envolvimento no furto.\\nCena:\\nLocal: Sala de interrogatório bem iluminada. Tiago está sentado, aparentemente calmo, enquanto o policial, Paulo Andrade, conduz a conversa com seriedade e tom investigativo.\\nRoteiro:\\n1. Introdução\\nPolicial (Paulo Andrade):\\n\"Boa tarde, Tiago Lopes. Esta entrevista está sendo gravada como parte da investigação sobre o furto de equipamentos de informática ocorrido no laboratório de informática da Universidade de Aveiro. O senhor entende seus direitos, incluindo o de permanecer em silêncio e solicitar a presença de um advogado?\"\\nSuspeito (Tiago Lopes):\\n\"Sim, entendi.\"\\nPolicial (Paulo Andrade):\\n\"Ótimo. Estamos aqui para esclarecer sua presença na área do laboratório e os itens encontrados em sua posse. O que o senhor tem a dizer sobre isso?\"\\nSuspeito (Tiago Lopes):\\n\"Eu não entrei no laboratório. Encontrei o computador perto do campus e resolvi levar para casa.\"\\n2. Contextualização Inicial\\nPolicial (Paulo Andrade):\\n\"Tiago, pode nos contar o que estava fazendo nas proximidades da universidade na madrugada de 14 de dezembro?\"\\nSuspeito (Tiago Lopes):\\n\"Eu estava passando por lá porque costumo caminhar à noite. Achei o computador jogado perto de uma lixeira.\"\\nPolicial (Paulo Andrade):\\n\"Entendido. E por que não comunicou à segurança da universidade ou às autoridades que encontrou esse equipamento?\"\\nSuspeito (Tiago Lopes):\\n\"Eu não pensei nisso na hora. Só peguei e levei para casa.\"\\n3. Apresentação das Provas\\nPolicial (Paulo Andrade):\\n\"Tiago, as câmeras de segurança mostram você entrando no laboratório por volta das 2h e saindo com uma mochila cheia. Como explica isso?\"\\nSuspeito (Tiago Lopes):\\n\"Eu devo ter sido confundido com outra pessoa. Não entrei no laboratório.\"\\nPolicial (Paulo Andrade):\\n\"Entendido. Contudo, o computador encontrado em sua posse foi identificado como sendo do laboratório, e os números de série confirmam isso. Como justifica isso?\"\\nSuspeito (Tiago Lopes):\\n\"Eu não sabia que era do laboratório. Achei que alguém tinha descartado.\"\\n4. Exploração de Contradições\\nPolicial (Paulo Andrade):\\n\"Tiago, se acreditava que o equipamento havia sido descartado, por que o levou para casa em vez de procurar o dono?\"\\nSuspeito (Tiago Lopes):\\n\"Eu pensei que não fosse importante e que ninguém sentiria falta.\"\\nPolicial (Paulo Andrade):\\n\"Entendido. Mas as imagens mostram que o senhor estava rondando o laboratório nos dias anteriores. Como explica sua presença lá?\"\\nSuspeito (Tiago Lopes):\\n\"Eu estava apenas esperando um amigo que estuda na universidade. Não tem nada a ver com o furto.\"\\n5. Pressão Estratégica\\nPolicial (Paulo Andrade):\\n\"Tiago, as evidências contra o senhor são claras: as imagens de segurança, o equipamento encontrado e os depoimentos. Este é o momento de ser honesto. Há algo mais que queira nos contar?\"\\nSuspeito (Tiago Lopes):\\n\"Eu estava no local, sim, mas só para buscar o computador que um amigo disse que estava sobrando. Eu não sabia que era roubo.\"\\nPolicial (Paulo Andrade):\\n\"Entendo. Mas ao levar o equipamento, o senhor contribuiu para o desaparecimento de bens da universidade. Reconhece sua responsabilidade?\"\\nSuspeito (Tiago Lopes):\\n\"Sim, eu reconheço. Foi um erro. Não devia ter levado sem perguntar.\"\\n6. Encerramento\\nPolicial (Paulo Andrade):
" '– Caso de Tráfico de Drogas em Lisboa\\nContexto:\\nSuspeito: Miguel Costa, 28 anos, acusado de tráfico de drogas em Lisboa.\\nProvas:\\nApreensão de uma quantidade significativa de drogas (cocaína) em sua residência.\\nRegistros de mensagens em aplicativos indicando negociação de substâncias ilícitas.\\nDepoimentos de fontes anônimas indicando que Miguel seria um intermediário de um esquema maior de tráfico.\\nAlegação do suspeito: Miguel afirma que as drogas foram colocadas em sua casa por um amigo e que ele não tem envolvimento no tráfico.\\nCena:\\nLocal: Sala de interrogatório simples e iluminada. Miguel está sentado, aparentemente nervoso, enquanto a policial, Raquel Silva, conduz a conversa com um tom firme, mas respeitoso.\\nRoteiro:\\n1. Introdução\\nPolicial (Raquel Silva):\\n\"Boa tarde, Miguel Costa. Esta entrevista está sendo gravada como parte da investigação sobre tráfico de drogas em Lisboa. O senhor entende seus direitos, incluindo o de permanecer em silêncio e solicitar a presença de um advogado?\"\\nSuspeito (Miguel Costa):\\n\"Sim, entendi.\"\\nPolicial (Raquel Silva):\\n\"Ótimo. Estamos aqui para esclarecer as evidências que encontramos em sua residência, incluindo uma quantidade significativa de cocaína. O que tem a dizer sobre isso?\"\\nSuspeito (Miguel Costa):\\n\"Eu não tenho nada a ver com isso. Alguém deve ter colocado essas drogas na minha casa. Não sei de onde vieram.\"\\n2. Contextualização Inicial\\nPolicial (Raquel Silva):\\n\"Miguel, pode nos contar quem teria acesso à sua casa e por que alguém colocaria drogas lá?\"\\nSuspeito (Miguel Costa):\\n\"Eu tenho amigos, mas ninguém mais tem as chaves da minha casa, além de mim. Eu não sei como as drogas chegaram lá.\"\\nPolicial (Raquel Silva):\\n\"Entendido. E quanto às mensagens encontradas no seu celular, onde você estava negociando substâncias com outra pessoa? Pode nos explicar isso?\"\\nSuspeito (Miguel Costa):\\n\"Essas mensagens não são minhas. Alguém deve ter usado meu celular. Eu nem sabia que as mensagens estavam lá.\"\\n3. Apresentação das Provas\\nPolicial (Raquel Silva):\\n\"Miguel, as mensagens são claras, e os registros indicam uma negociação de substâncias ilícitas. Como o senhor explica isso?\"\\nSuspeito (Miguel Costa):\\n\"Eu já falei, não sou eu. Não tenho nada a ver com isso. Pode ter sido alguém usando meu celular, mas não fui eu.\"\\nPolicial (Raquel Silva):\\n\"Entendido. Mas encontramos uma quantidade significativa de drogas em sua casa, e a evidência está registrada no seu nome. Como justifica isso?\"\\nSuspeito (Miguel Costa):\\n\"Eu não sabia que estavam lá. Alguém deve ter plantado as drogas na minha casa.\"\\n4. Exploração de Contradições\\nPolicial (Raquel Silva):\\n\"Miguel, se você não tem nada a ver com isso, por que não denunciou alguém que colocou drogas em sua casa? Por que não tomou nenhuma ação?\"\\nSuspeito (Miguel Costa):\\n\"Eu não sabia o que fazer. Fiquei com medo de ser preso. Não sabia quem tinha feito isso.\"\\nPolicial (Raquel Silva):\\n\"Mas a quantidade de drogas não é algo pequeno. Isso não parece um grande risco? Como explica isso?\"\\nSuspeito (Miguel Costa):\\n\"Eu realmente não sei o que aconteceu. Eu nunca me envolvi com tráfico.\"\\n5. Pressão Estratégica\\nPolicial (Raquel Silva):\\n\"Miguel, temos provas substanciais: as mensagens, as drogas encontradas e seu histórico de comunicação com pessoas ligadas ao tráfico. Este é o momento de ser honesto. Há algo mais que queira nos contar?\"\\nSuspeito (Miguel Costa):\\n\"Eu já disse tudo o que sei. Não sou traficante, nem sabia o que estava acontecendo.\"\\nPolicial (Raquel Silva):\\n\"Entendo. Mas as provas indicam que o senhor tem envolvimento. Será que está ocultando algo?\"\\nSuspeito (Miguel Costa):\\n\"Eu não estou ocultando nada. Eu não sei como as drogas foram parar na minha casa. Só quero que isso acabe.\"\\n6. Encerramento\\nPolicial (Raquel Silva):\\n\"Miguel, agradeço pela sua colaboração. Esta gravação será anali
" '– Caso de Apreensão de Produtos Falsificados em Porto\\nContexto:\\nSuspeito: João Alves, 35 anos, acusado de vender produtos falsificados em sua loja localizada no centro do Porto.\\nProvas:\\nApreensão de mercadorias, incluindo roupas e acessórios com marcas falsificadas.\\nRegistros de comunicação entre João e fornecedores de produtos falsificados.\\nDepoimentos de clientes que compraram os produtos e foram enganados.\\nAlegação do suspeito: João afirma que ele comprou os produtos de um fornecedor de boa fé e não sabia que eram falsificados.\\nCena:\\nLocal: Sala de interrogatório simples, com iluminação forte. João está sentado, com uma postura tensa, enquanto o policial, Sandra Ribeiro, conduz a entrevista de forma calma, porém incisiva.\\nRoteiro:\\n1. Introdução\\nPolicial (Sandra Ribeiro):\\n\"Boa tarde, João Alves. Esta entrevista está sendo gravada como parte da investigação sobre a venda de produtos falsificados em sua loja. O senhor entende seus direitos, incluindo o de permanecer em silêncio e solicitar a presença de um advogado?\"\\nSuspeito (João Alves):\\n\"Sim, entendi.\"\\nPolicial (Sandra Ribeiro):\\n\"Perfeito. Estamos aqui para esclarecer a apreensão de produtos falsificados em sua loja. O que tem a dizer sobre isso?\"\\nSuspeito (João Alves):\\n\"Eu não sabia que os produtos eram falsificados. Eu comprei de um fornecedor confiável e não sabia que estavam com a marca falsificada.\"\\n2. Contextualização Inicial\\nPolicial (Sandra Ribeiro):\\n\"João, pode nos contar como escolheu os fornecedores para os produtos que vende em sua loja?\"\\nSuspeito (João Alves):\\n\"Eu sempre compro de fornecedores que já conheço há anos. Nunca imaginei que um deles me enganaria.\"\\nPolicial (Sandra Ribeiro):\\n\"Entendido. E você verificou a autenticidade desses produtos antes de colocá-los à venda?\"\\nSuspeito (João Alves):\\n\"Eu confiei no fornecedor. Não fiz nenhuma verificação, mas sempre comprei com ele antes.\"\\n3. Apresentação das Provas\\nPolicial (Sandra Ribeiro):\\n\"João, temos registros de comunicação entre você e o fornecedor discutindo a venda desses produtos. As evidências indicam que você sabia da origem duvidosa dos itens. Como explica isso?\"\\nSuspeito (João Alves):\\n\"Esses registros não significam nada. Eu não sabia que eram falsificados. Eu apenas comprei o que foi oferecido.\"\\nPolicial (Sandra Ribeiro):\\n\"Entendido. Contudo, as etiquetas de alguns produtos foram removidas e substituídas por cópias de marcas conhecidas. Como o senhor explica isso?\"\\nSuspeito (João Alves):\\n\"Eu não sabia disso. Não notei nada de errado com os produtos. Se eu soubesse, jamais os teria colocado na loja.\"\\n4. Exploração de Contradições\\nPolicial (Sandra Ribeiro):\\n\"João, se você não sabia que os produtos eram falsificados, como justifica a troca de etiquetas e as negociações de preço feitas com seu fornecedor? Isso não indica que o senhor sabia da irregularidade?\"\\nSuspeito (João Alves):\\n\"Eu estava apenas tentando conseguir um bom preço. Não sabia que era ilegal.\"\\nPolicial (Sandra Ribeiro):\\n\"Entendo. Mas, ao vender esses produtos, o senhor causou prejuízo aos consumidores e à marca original. O que tem a dizer sobre isso?\"\\nSuspeito (João Alves):\\n\"Eu não sabia que estava prejudicando ninguém. Só queria vender e ter um bom negócio.\"\\n5. Pressão Estratégica\\nPolicial (Sandra Ribeiro):\\n\"João, temos provas concretas de que você estava ciente das práticas irregulares. As mensagens trocadas, as etiquetas falsificadas e as mercadorias apreendidas. Este é o momento de ser honesto. Há algo mais que queira nos contar?\"\\nSuspeito (João Alves):\\n\"Eu realmente não sabia que as mercadorias eram falsas. Só estava tentando ganhar a vida e fazer negócios.\"\\nPolicial (Sandra Ribeiro):\\n\"Entendo. Mas, ao colocar esses produtos no mercado, o senhor estava infringindo a lei. Reconhece que sua atitude teve consequências legais?\"\\nSuspeito (João Alves):\\n\"Sim, reconheço. Eu errei,
" '– Caso de Falsificação de Documentos em Lisboa\\nContexto:\\nSuspeito: Ricardo Silva, 29 anos, acusado de falsificar documentos de identificação para fins de fraude.\\nProvas:\\nApreensão de documentos falsificados em posse de Ricardo, incluindo identidades e cartões de crédito falsos.\\nRegistros de comunicação entre Ricardo e indivíduos envolvidos em atividades fraudulentas.\\nTestemunhos de vítimas que foram prejudicadas pela falsificação e uso de documentos falsificados.\\nAlegação do suspeito: Ricardo afirma que foi contratado para criar documentos falsificados por uma terceira pessoa e que não sabia que estava envolvido em crimes mais graves.\\nCena:\\nLocal: Sala de interrogatório iluminada. Ricardo está sentado, visivelmente tenso, enquanto a policial, Marta Ferreira, conduz a entrevista com uma postura firme e investigativa.\\nRoteiro:\\n1. Introdução\\nPolicial (Marta Ferreira):\\n\"Boa tarde, Ricardo Silva. Esta entrevista está sendo gravada como parte da investigação sobre falsificação de documentos. O senhor entende seus direitos, incluindo o de permanecer em silêncio e solicitar a presença de um advogado?\"\\nSuspeito (Ricardo Silva):\\n\"Sim, entendi.\"\\nPolicial (Marta Ferreira):\\n\"Perfeito. Estamos aqui para esclarecer a apreensão de documentos falsificados em sua posse, incluindo identidades e cartões de crédito. O que tem a dizer sobre isso?\"\\nSuspeito (Ricardo Silva):\\n\"Eu não sabia que os documentos eram falsificados. Eu fui contratado para fazer alguns serviços, mas não sabia que estava cometendo um crime.\"\\n2. Contextualização Inicial\\nPolicial (Marta Ferreira):\\n\"Ricardo, pode nos explicar como foi que começou a realizar esse tipo de trabalho? Como você entrou em contato com os responsáveis por fornecer os documentos falsificados?\"\\nSuspeito (Ricardo Silva):\\n\"Eu estava procurando um trabalho extra, e um amigo me falou sobre uma pessoa que pagava por esse tipo de serviço. Eu não sabia exatamente o que estava fazendo.\"\\nPolicial (Marta Ferreira):\\n\"Entendido. E você sabia que estava criando documentos falsificados? Ou achava que era algo legal?\"\\nSuspeito (Ricardo Silva):\\n\"Eu só fiz porque me pediram, e a princípio achei que era algo legal. Só depois que vi que poderia ter problemas.\"\\n3. Apresentação das Provas\\nPolicial (Marta Ferreira):\\n\"Ricardo, temos registros de comunicação entre você e os indivíduos que pediram os documentos falsificados. As mensagens indicam que você sabia do que estava fazendo. Como explica isso?\"\\nSuspeito (Ricardo Silva):\\n\"Essas mensagens não indicam que eu sabia que era algo ilegal. Eu só estava cumprindo um trabalho, não sabia que estava cometendo um crime.\"\\nPolicial (Marta Ferreira):\\n\"Entendido. Mas encontramos documentos em sua casa, com informações de várias pessoas, incluindo dados bancários falsificados. Como o senhor explica isso?\"\\nSuspeito (Ricardo Silva):\\n\"Eu só fiz os documentos que me pediram, mas não sabia que estavam sendo usados para crimes maiores.\"\\n4. Exploração de Contradições\\nPolicial (Marta Ferreira):\\n\"Ricardo, se você não sabia o que estava fazendo, por que aceitou trabalhar com um fornecedor que estava pedindo documentos falsificados? Isso não indica que o senhor tinha algum conhecimento do que estava acontecendo?\"\\nSuspeito (Ricardo Silva):\\n\"Eu realmente não sabia que era tão grave. Eu só estava ganhando dinheiro e não pensei nas consequências.\"\\nPolicial (Marta Ferreira):\\n\"Entendo. Mas as evidências indicam que você estava ativamente envolvido na criação e distribuição desses documentos. Como explica isso?\"\\nSuspeito (Ricardo Silva):\\n\"Eu fiz o que me pediram, mas nunca imaginei que isso fosse afetar tantas pessoas. Eu não queria prejudicar ninguém.\"\\n5. Pressão Estratégica\\nPolicial (Marta Ferreira):\\n\"Ricardo, temos provas substanciais: registros de mensagens, documentos falsificados e a conexão com outras pessoas envolvidas em atividades criminosas. Este é o momento de ser ho
" '– Caso de Roubo de Equipamentos Eletrônicos em Coimbra\\nContexto:\\nSuspeito: Eduardo Nunes, 27 anos, acusado de roubar equipamentos eletrônicos de um depósito localizado na zona industrial de Coimbra.\\nProvas:\\nImagens de câmeras de segurança mostram Eduardo entrando no depósito na noite do crime.\\nParte dos equipamentos roubados foi encontrada na casa do suspeito durante uma busca.\\nRelatos de um cúmplice detido que indicam Eduardo como o mentor do roubo.\\nAlegação do suspeito: Eduardo afirma que estava apenas ajudando um amigo a transportar caixas e não sabia que os equipamentos eram roubados.\\nCena:\\nLocal: Sala de interrogatório iluminada. Eduardo está sentado, inquieto, enquanto a policial, Clara Santos, conduz a entrevista com uma postura calma, porém investigativa.\\nRoteiro:\\n1. Introdução\\nPolicial (Clara Santos):\\n\"Boa tarde, Eduardo Nunes. Esta entrevista está sendo gravada como parte da investigação sobre o roubo de equipamentos eletrônicos em um depósito na zona industrial de Coimbra. O senhor entende seus direitos, incluindo o de permanecer em silêncio e solicitar a presença de um advogado?\"\\nSuspeito (Eduardo Nunes):\\n\"Sim, entendi.\"\\nPolicial (Clara Santos):\\n\"Ótimo. Estamos aqui para esclarecer sua presença no local do crime e os equipamentos encontrados em sua casa. O que tem a dizer sobre isso?\"\\nSuspeito (Eduardo Nunes):\\n\"Eu não sabia que os equipamentos eram roubados. Estava apenas ajudando um amigo a transportar caixas.\"\\n2. Contextualização Inicial\\nPolicial (Clara Santos):\\n\"Eduardo, pode nos contar o que estava fazendo na zona industrial na noite do crime?\"\\nSuspeito (Eduardo Nunes):\\n\"Fui ajudar um amigo, o Lucas, a carregar algumas caixas que ele disse que precisava transportar com urgência.\"\\nPolicial (Clara Santos):\\n\"Entendido. E como conheceu Lucas? É uma pessoa em quem confia?\"\\nSuspeito (Eduardo Nunes):\\n\"Conheço o Lucas há alguns anos. Nunca imaginei que ele estivesse envolvido em algo ilegal.\"\\n3. Apresentação das Provas\\nPolicial (Clara Santos):\\n\"Eduardo, as câmeras de segurança mostram o senhor entrando no depósito com Lucas e carregando caixas. Como explica isso?\"\\nSuspeito (Eduardo Nunes):\\n\"Sim, eu estava lá, mas não sabia que era um roubo. Ele disse que tinha autorização para pegar os equipamentos.\"\\nPolicial (Clara Santos):\\n\"Entendido. Mas também encontramos parte dos equipamentos roubados em sua casa. Como explica isso?\"\\nSuspeito (Eduardo Nunes):\\n\"Lucas pediu para guardar algumas caixas temporariamente. Eu não sabia o que tinha dentro.\"\\n4. Exploração de Contradições\\nPolicial (Clara Santos):\\n\"Eduardo, se você não sabia que os equipamentos eram roubados, por que aceitou transportá-los durante a noite e guardá-los sem fazer perguntas?\"\\nSuspeito (Eduardo Nunes):\\n\"Eu só queria ajudar um amigo. Não pensei que fosse algo ilegal.\"\\nPolicial (Clara Santos):\\n\"Entendo. Mas temos o depoimento de Lucas dizendo que o senhor foi quem planejou o roubo e o convenceu a participar. Como responde a isso?\"\\nSuspeito (Eduardo Nunes):\\n\"Isso é mentira! Ele está tentando jogar a culpa em mim para se livrar.\"\\n5. Pressão Estratégica\\nPolicial (Clara Santos):\\n\"Eduardo, as provas contra o senhor são claras: as câmeras, os equipamentos encontrados em sua casa e o depoimento de Lucas. Este é o momento de ser honesto. Há algo mais que queira nos contar?\"\\nSuspeito (Eduardo Nunes):\\n\"Já disse tudo. Eu fui enganado por ele. Achei que estava apenas ajudando.\"\\nPolicial (Clara Santos):\\n\"Entendo. Mas sua omissão e a posse dos equipamentos fazem de você um participante ativo no crime. Reconhece sua responsabilidade?\"\\nSuspeito (Eduardo Nunes):\\n\"Sim, reconheço que deveria ter questionado mais. Foi um erro confiar nele.\"\\n6. Encerramento\\nPolicial (Clara Santos):\\n\"Eduardo, agradeço pela sua colaboração. Esta gravação será analisada junto com as outras evidências. Se houver algo mais que queira acrescentar, agora é o momen
]
},
"execution_count": 90,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dividirinter=dividirinterrogatorios(texto)\n",
"dividirinter"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Vamos aplicar um comando que junta o vetor anterior em um \"bloco\" de texto para se poder analisar mais a frente."
]
},
{
"cell_type": "code",
"execution_count": 109,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'– Caso de Roubo em Lisboa\\nContexto:\\nSuspeito: Um homem que está sendo interrogado pela suspeita de roubar uma senhora em plena luz do dia.\\nProvas:\\nDeclarações da vítima (senhora que teve a mala roubada).\\nImpressões digitais do suspeito na mala da vítima.\\nAlegação do suspeito: Ele alega ter tocado na mala apenas enquanto passava pela rua, mas nega o roubo.\\nCena:\\nLocal: Sala de interrogatório, com uma mesa simples e duas cadeiras. Uma câmera está posicionada para gravar a entrevista. O entrevistador (policial) está vestido formalmente e mantém um tom profissional.\\nRoteiro:\\n1. Introdução\\nPolicial: \"Boa tarde, senhor João pereira. Gostaria de começar explicando que esta entrevista está sendo gravada. O senhor tem o direito de permanecer em silêncio e de contar com um advogado durante todo o processo. Entendeu seus direitos?\"\\nSuspeito: \"Sim.\"\\nPolicial: \"Ótimo. Vamos conversar sobre um incidente ocorrido recentemente em Lisboa, envolvendo a senhora Joana Castro. Ela relatou que sua mala foi roubada por volta das 20:00, no colombo. Estamos aqui para esclarecer os fatos. Está disposto a colaborar?\"\\n2. Estabelecimento da Relação\\nPolicial: \"Antes de tudo, pode me contar onde o senhor estava por volta das 20:00 no dia 04 de dezembro de 2024?\"\\nSuspeito: Encontrava-me nas Compras no Continente do Colombo com um amigo meu.\\n3. Apresentação das Provas\\nPolicial: \"Muito bem. Temos aqui algumas informações que gostaríamos de discutir com o senhor. A senhora Joana Castro declarou que um homem com características semelhantes às suas a abordou e roubou sua mala. O que tem a dizer sobre isso?\"\\nSuspeito: \"Eu não roubei nada. Estava apenas passando na rua.\"\\nPolicial: \"Entendido. No entanto, encontramos suas impressões digitais na mala da senhora. Como explica isso?\"\\nSuspeito: \"Deve ser porque eu encostei na mala sem querer. Foi só isso.\"\\n4. Exploração de Contradições\\nPolicial: \"Entendo. Mas a senhora descreveu que a pessoa que levou a mala a puxou com força enquanto ela andava. Se o senhor apenas tocou na mala enquanto passava, como acha que suas impressões ficaram tão marcadas?\"\\nSuspeito: Não sei talvez a passar tenha colocado a mão sei lá…\\nPolicial: \"Além disso, a senhora mencionou que o incidente foi rápido e não havia ninguém próximo além do senhor. Como explica que ela tenha reconhecido alguém com características tão próximas às suas?\"\\nSuspeito: O colombo tem tanta gente porque é que tenho que ser eu…\\n5. Análise do Contexto\\nPolicial: \"O senhor já teve algum problema com a justiça anteriormente? Alguma acusação de furto ou roubo?\"\\nSuspeito: Já mas não percebo porque é que esse fato é importante para esta situação eu não fiz nada…\\nPolicial: \"E quanto ao local onde estava indo ou vindo naquele dia? Alguém pode confirmar sua versão dos fatos?\"\\nSuspeito: Sim um amigo mas foi para frança não está cá.\\n6. Encerramento\\nPolicial: \"Agradeço pela sua cooperação. Esta gravação será analisada junto com as outras provas. Se houver algo mais que queira acrescentar ou ajustar na sua declaração, este é o momento.\"\\nSuspeito: Não tenho mais nada.\\nPolicial: \"Muito bem, por ora é isso. O senhor será informado sobre os próximos passos do processo. Obrigado pelo seu tempo.\"\\nObservações Adicionais:\\nO tom do policial deve alternar entre acolhedor (para encorajar o suspeito a falar) e assertivo (para pressionar o suspeito quando necessário).\\nO suspeito pode demonstrar nervosismo, hesitação ou mesmo agressividade, dependendo do perfil criado para ele.\\nO vídeo pode incluir legendas para indicar momentos importantes, como \"Prova apresentada\" ou \"Resposta inconsistente\".– Caso de Vandalismo em Porto\\nContexto:\\nSuspeito: Um jovem acusado de vandalizar um café no Porto, quebrando janelas e pichando as paredes durante a madrugada.\\nProvas:\\nImagens de câmeras de segurança mostram um indivíduo com características semelhantes ao suspeito.\\nO suspe
]
},
"execution_count": 109,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"textojunto = ''.join(dividirinter)\n",
"textojunto"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Após uma análise cuidada dos referidos documentos podemos extrair informação que nos poderá interessar estudar, por questões estatisticas, por exemplo o tipo de \"crime\", localidade do crime e a idade do interrogado. É necessário então trabalhar o texto de forma a retirar essa informação e vamos criar um dataset com essa informação.\n",
"\n",
"Vamos começar pelo **tipo de crime** para isso interessa-nos usar a função [extraircaso](#secao3) já definida que procura nos textos as palavras entre \"Caso de\" e até a próxima quebra de linha. Padrão detetado após análise do prórprio documento."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['Roubo em Lisboa',\n",
" 'Vandalismo em Porto',\n",
" 'Fraude Bancária Faro',\n",
" 'Furto em Supermercado Coimbra',\n",
" 'Vandalismo em Escola Lisboa',\n",
" 'Vandalismo em Escola Setúbal',\n",
" 'Roubo de Bicicleta em Parque Público',\n",
" 'Agressão em Lisboa',\n",
" 'Furto em Lisboa',\n",
" 'Vingança em Lisboa',\n",
" 'Dano ao Patrimônio em Lisboa',\n",
" 'Fraude em Lisboa',\n",
" 'Agressão em Lisboa',\n",
" 'Tráfico de Drogas em Lisboa',\n",
" 'Furto em Loja de Roupas em Lisboa',\n",
" 'Agressão Doméstica em Lisboa',\n",
" 'Roubo a Loja em Porto',\n",
" 'Desmatamento Ilegal em Coimbra',\n",
" 'Falsificação de Documentos em Braga',\n",
" 'Tráfico de Animais em Setúbal',\n",
" 'Hackeamento de Contas em Lisboa',\n",
" 'Furto de Combustível em Santarém',\n",
" 'Venda de Produtos Falsificados em Leiria',\n",
" 'Arrombamento em Residência em Faro',\n",
" 'Vandalismo em Transporte Público em Lisboa',\n",
" 'Compra Fraudulenta em Shopping de Braga',\n",
" 'Furto em Loja de Eletrônicos em Braga',\n",
" 'Fraude em Compras Online em Coimbra',\n",
" 'Desmatamento Ilegal em Viana do Castelo',\n",
" 'Furto de Equipamentos em Universidade em Aveiro',\n",
" 'Tráfico de Drogas em Lisboa',\n",
" 'Apreensão de Produtos Falsificados em Porto',\n",
" 'Falsificação de Documentos em Lisboa',\n",
" 'Roubo de Equipamentos Eletrônicos em Coimbra']"
]
},
"execution_count": 111,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"casosextraidos = [extraircaso(texto) for texto in dividirinter]\n",
"casosextraidos"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Agora precisamos de dividir os vectores anteriores em localidades e tipos de crime na pratica é dividir a frase pela palavra \"em\" (caso.rfind(' em ')). Para isso vamos usar um ciclo for, o tipo de crime existe sempre contudo a localidade poderá não exitir nesses casos iremos considerar de 'Desconhecido'. Contudo numa análise sumária aos vectores reparamos que existem frases com mais \"em\"'s logo teremos que começar pelo fim da frase e identificar o primeiro em nessa caso (if posem != -1:)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"tiposdecrime = []\n",
"localidades = []\n",
"for caso in casosextraidos:\n",
" posem = caso.rfind(' em ')\n",
" if posem != -1:\n",
" tipocrime = caso[:posem]\n",
" localidade = caso[posem + 4:]\n",
" else:\n",
" tipocrime = caso\n",
" localidade = 'Desconhecido'\n",
" \n",
" tiposdecrime.append(tipocrime)\n",
" localidades.append(localidade)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Com o anterior temos na prática já duas variáveis que nos propusemos em estudar a variável qualitativa localidade e a variável qualitativa tipo de crime.\n",
"\n",
"Vamos começar por analisar a variável qualitativa *Localidade*\n",
"\n",
"Vamos então criar um dataset com a informação constante em localidades, sendo uma variável qualitativa descritiva. Tem o maior numero de observações em Lisboa com cerca de 41.18%, e as localidades com menor numero de observações são Santarém, Leiria, Faro, Viana do Castelo e Aveiro cada uma com 2.94%.\n",
"\n",
"Ao analizar-mos o dataset verificamos que alguns valores precisam de ser trabalhados (por exemplo Shopping de Braga, Parque Público entre outros)"
]
},
{
"cell_type": "code",
"execution_count": 132,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>V. Absolutos</th>\n",
" <th>V. Relativos (%)</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Localidade</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Lisboa</th>\n",
" <td>14</td>\n",
" <td>41.18</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Porto</th>\n",
" <td>3</td>\n",
" <td>8.82</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Coimbra</th>\n",
" <td>3</td>\n",
" <td>8.82</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Braga</th>\n",
" <td>2</td>\n",
" <td>5.88</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Supermercado Coimbra</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Escola Lisboa</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Escola Setúbal</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Desconhecido</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Parque Público</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Setúbal</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Santarém</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Leiria</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Faro</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Shopping de Braga</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Viana do Castelo</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Aveiro</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" V. Absolutos V. Relativos (%)\n",
"Localidade \n",
"Lisboa 14 41.18\n",
"Porto 3 8.82\n",
"Coimbra 3 8.82\n",
"Braga 2 5.88\n",
"Supermercado Coimbra 1 2.94\n",
"Escola Lisboa 1 2.94\n",
"Escola Setúbal 1 2.94\n",
"Desconhecido 1 2.94\n",
"Parque Público 1 2.94\n",
"Setúbal 1 2.94\n",
"Santarém 1 2.94\n",
"Leiria 1 2.94\n",
"Faro 1 2.94\n",
"Shopping de Braga 1 2.94\n",
"Viana do Castelo 1 2.94\n",
"Aveiro 1 2.94"
]
},
"execution_count": 132,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dflocalidades = pd.DataFrame(localidades, columns=['Localidade'])\n",
"pd.DataFrame({'V. Absolutos':dflocalidades['Localidade'].value_counts(), 'V. Relativos (%)':(dflocalidades['Localidade'].value_counts()*100/dflocalidades.shape[0]).round(2)})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"No nosso Dataset encontra-se informação que necessita de ser tratado por exemplo Supermercado Coimbra corresponde a Coimbra ou ainda Escola Lisboa corresponde a lisboa entre outros vamos então corrigir a informação presentada. Aqui interessa que o regex seja igual a Falso (regex=False) isto porque interessa que a palavra subsituida seja a correspondência literal, sem interpretar o padrão como uma expressão regular."
]
},
{
"cell_type": "code",
"execution_count": 146,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>V. Absolutos</th>\n",
" <th>V. Relativos (%)</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Localidade</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Lisboa</th>\n",
" <td>15</td>\n",
" <td>44.12</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Coimbra</th>\n",
" <td>4</td>\n",
" <td>11.76</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Porto</th>\n",
" <td>3</td>\n",
" <td>8.82</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Braga</th>\n",
" <td>3</td>\n",
" <td>8.82</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Desconhecido</th>\n",
" <td>2</td>\n",
" <td>5.88</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Setúbal</th>\n",
" <td>2</td>\n",
" <td>5.88</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Santarém</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Leiria</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Faro</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Viana do Castelo</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Aveiro</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" V. Absolutos V. Relativos (%)\n",
"Localidade \n",
"Lisboa 15 44.12\n",
"Coimbra 4 11.76\n",
"Porto 3 8.82\n",
"Braga 3 8.82\n",
"Desconhecido 2 5.88\n",
"Setúbal 2 5.88\n",
"Santarém 1 2.94\n",
"Leiria 1 2.94\n",
"Faro 1 2.94\n",
"Viana do Castelo 1 2.94\n",
"Aveiro 1 2.94"
]
},
"execution_count": 146,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dflocalidades['Localidade'] = dflocalidades['Localidade'].str.replace('Supermercado Coimbra', 'Coimbra', regex=False)\n",
"dflocalidades['Localidade'] = dflocalidades['Localidade'].str.replace('Shopping de Braga', 'Braga', regex=False)\n",
"dflocalidades['Localidade'] = dflocalidades['Localidade'].str.replace('Escola Lisboa', 'Lisboa', regex=False)\n",
"dflocalidades['Localidade'] = dflocalidades['Localidade'].str.replace('Escola Setúbal', 'Setúbal', regex=False)\n",
"dflocalidades['Localidade'] = dflocalidades['Localidade'].str.replace('Parque Público', 'Desconhecido', regex=False)\n",
"pd.DataFrame({'V. Absolutos':dflocalidades['Localidade'].value_counts(), 'V. Relativos (%)':(dflocalidades['Localidade'].value_counts()*100/dflocalidades.shape[0]).round(2)})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"O dataframe anterior mostra a distribuição das localidades findo o tratamento manual dos valores considerados de erráticos. No gráfico circular seguinte mostra a forte tendência dos crimes na zona de Lisboa"
]
},
{
"cell_type": "code",
"execution_count": 151,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x257e8ca9400>"
]
},
"execution_count": 151,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"grafico(3)\n",
"plt.pie(dflocalidades['Localidade'].value_counts().sort_index(), autopct='%1.1f%%',pctdistance=0.85 )\n",
"plt.title('Distribuição de Localidade dos interrogatórios', color='Darkblue')\n",
"plt.legend(dflocalidades['Localidade'].value_counts().sort_index().index,loc='upper right', bbox_to_anchor=(1.5, 1))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Vamos fazer o processo homolgo mas agora para a variávl tipos de crime, esta é de igual forma uma variável qualitativa descritiva."
]
},
{
"cell_type": "code",
"execution_count": 153,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>V. Absolutos</th>\n",
" <th>V. Relativos (%)</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Tipo de Crime</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Vandalismo</th>\n",
" <td>3</td>\n",
" <td>8.82</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Agressão</th>\n",
" <td>2</td>\n",
" <td>5.88</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Furto</th>\n",
" <td>2</td>\n",
" <td>5.88</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Tráfico de Drogas</th>\n",
" <td>2</td>\n",
" <td>5.88</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Falsificação de Documentos</th>\n",
" <td>2</td>\n",
" <td>5.88</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Desmatamento Ilegal</th>\n",
" <td>2</td>\n",
" <td>5.88</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Roubo</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Vingança</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Dano ao Patrimônio</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Fraude Bancária Faro</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Roubo de Bicicleta</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Furto em Loja de Roupas</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Fraude</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Roubo a Loja</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Agressão Doméstica</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Tráfico de Animais</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Hackeamento de Contas</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Furto de Combustível</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Venda de Produtos Falsificados</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Arrombamento em Residência</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Vandalismo em Transporte Público</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Compra Fraudulenta</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Furto em Loja de Eletrônicos</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Fraude em Compras Online</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Furto de Equipamentos em Universidade</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Apreensão de Produtos Falsificados</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Roubo de Equipamentos Eletrônicos</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" V. Absolutos V. Relativos (%)\n",
"Tipo de Crime \n",
"Vandalismo 3 8.82\n",
"Agressão 2 5.88\n",
"Furto 2 5.88\n",
"Tráfico de Drogas 2 5.88\n",
"Falsificação de Documentos 2 5.88\n",
"Desmatamento Ilegal 2 5.88\n",
"Roubo 1 2.94\n",
"Vingança 1 2.94\n",
"Dano ao Patrimônio 1 2.94\n",
"Fraude Bancária Faro 1 2.94\n",
"Roubo de Bicicleta 1 2.94\n",
"Furto em Loja de Roupas 1 2.94\n",
"Fraude 1 2.94\n",
"Roubo a Loja 1 2.94\n",
"Agressão Doméstica 1 2.94\n",
"Tráfico de Animais 1 2.94\n",
"Hackeamento de Contas 1 2.94\n",
"Furto de Combustível 1 2.94\n",
"Venda de Produtos Falsificados 1 2.94\n",
"Arrombamento em Residência 1 2.94\n",
"Vandalismo em Transporte Público 1 2.94\n",
"Compra Fraudulenta 1 2.94\n",
"Furto em Loja de Eletrônicos 1 2.94\n",
"Fraude em Compras Online 1 2.94\n",
"Furto de Equipamentos em Universidade 1 2.94\n",
"Apreensão de Produtos Falsificados 1 2.94\n",
"Roubo de Equipamentos Eletrônicos 1 2.94"
]
},
"execution_count": 153,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dftiposdecrime = pd.DataFrame(tiposdecrime, columns=['Tipo de Crime'])\n",
"pd.DataFrame({'V. Absolutos':dftiposdecrime['Tipo de Crime'].value_counts(), 'V. Relativos (%)':(dftiposdecrime['Tipo de Crime'].value_counts()*100/dftiposdecrime['Tipo de Crime'].shape[0]).round(2)})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Ao analizarmos o nosso dataset identificamos algumas expressões que significam a mesma coisa por exemplo *furto* e *roubo*. Existem tambem alguns temas que são da familia de outros (por exemplo Fraude Bancária Faro)."
]
},
{
"cell_type": "code",
"execution_count": 173,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>V. Absolutos</th>\n",
" <th>V. Relativos (%)</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Tipo de Crime</th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Roubo</th>\n",
" <td>10</td>\n",
" <td>29.41</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Vandalismo</th>\n",
" <td>4</td>\n",
" <td>11.76</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Fraude</th>\n",
" <td>4</td>\n",
" <td>11.76</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Agressão</th>\n",
" <td>3</td>\n",
" <td>8.82</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Falsificação de Documentos</th>\n",
" <td>3</td>\n",
" <td>8.82</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Desmatamento Ilegal</th>\n",
" <td>2</td>\n",
" <td>5.88</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Tráfico de Drogas</th>\n",
" <td>2</td>\n",
" <td>5.88</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Vingança</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Dano ao Patrimônio</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Tráfico de Animais</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Hackeamento de Contas</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Venda de Produtos Falsificados</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Arrombamento em Residência</th>\n",
" <td>1</td>\n",
" <td>2.94</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" V. Absolutos V. Relativos (%)\n",
"Tipo de Crime \n",
"Roubo 10 29.41\n",
"Vandalismo 4 11.76\n",
"Fraude 4 11.76\n",
"Agressão 3 8.82\n",
"Falsificação de Documentos 3 8.82\n",
"Desmatamento Ilegal 2 5.88\n",
"Tráfico de Drogas 2 5.88\n",
"Vingança 1 2.94\n",
"Dano ao Patrimônio 1 2.94\n",
"Tráfico de Animais 1 2.94\n",
"Hackeamento de Contas 1 2.94\n",
"Venda de Produtos Falsificados 1 2.94\n",
"Arrombamento em Residência 1 2.94"
]
},
"execution_count": 173,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dftiposdecrime['Tipo de Crime'] = dftiposdecrime['Tipo de Crime'].str.replace('Furto', 'Roubo', regex=False)\n",
"dftiposdecrime['Tipo de Crime'] = dftiposdecrime['Tipo de Crime'].str.replace('Roubo de Bicicleta', 'Roubo', regex=False)\n",
"dftiposdecrime['Tipo de Crime'] = dftiposdecrime['Tipo de Crime'].str.replace('Roubo em Loja de Roupas', 'Roubo', regex=False)\n",
"dftiposdecrime['Tipo de Crime'] = dftiposdecrime['Tipo de Crime'].str.replace('Roubo de Equipamentos em Universidade', 'Roubo', regex=False)\n",
"dftiposdecrime['Tipo de Crime'] = dftiposdecrime['Tipo de Crime'].str.replace('Roubo a Loja', 'Roubo', regex=False)\n",
"dftiposdecrime['Tipo de Crime'] = dftiposdecrime['Tipo de Crime'].str.replace('Roubo de Combustível', 'Roubo', regex=False)\n",
"dftiposdecrime['Tipo de Crime'] = dftiposdecrime['Tipo de Crime'].str.replace('Roubo em Loja de Eletrônicos', 'Roubo', regex=False)\n",
"dftiposdecrime['Tipo de Crime'] = dftiposdecrime['Tipo de Crime'].str.replace('Roubo de Equipamentos Eletrônicos', 'Roubo', regex=False)\n",
"dftiposdecrime['Tipo de Crime'] = dftiposdecrime['Tipo de Crime'].str.replace('Fraude Bancária Faro', 'Fraude', regex=False)\n",
"dftiposdecrime['Tipo de Crime'] = dftiposdecrime['Tipo de Crime'].str.replace('Apreensão de Produtos Falsificados', 'Falsificação de Documentos', regex=False)\n",
"dftiposdecrime['Tipo de Crime'] = dftiposdecrime['Tipo de Crime'].str.replace('Falsificação de Documentos\\t', 'Falsificação de Documentos', regex=False)\n",
"dftiposdecrime['Tipo de Crime'] = dftiposdecrime['Tipo de Crime'].str.replace('Compra Fraudulenta', 'Fraude', regex=False)\n",
"dftiposdecrime['Tipo de Crime'] = dftiposdecrime['Tipo de Crime'].str.replace('Fraude em Compras Online', 'Fraude', regex=False)\n",
"dftiposdecrime['Tipo de Crime'] = dftiposdecrime['Tipo de Crime'].str.replace('Vandalismo em Transporte Público', 'Vandalismo', regex=False)\n",
"dftiposdecrime['Tipo de Crime'] = dftiposdecrime['Tipo de Crime'].str.replace('Agressão Doméstica', 'Agressão', regex=False)\n",
"pd.DataFrame({'V. Absolutos':dftiposdecrime['Tipo de Crime'].value_counts(), 'V. Relativos (%)':(dftiposdecrime['Tipo de Crime'].value_counts()*100/dftiposdecrime['Tipo de Crime'].shape[0]).round(2)})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Após o tratamento estatistico valor mais observado é Roubo com 29,41% sendo que os menos observados são *Vingança*, *Dano ao Patrimônio*, *Tráfico de Animais*, *Hackeamento de Contas*, *Venda de Produtos Falsificados* e *Arrombamento em Residência* com 2,94%.\t"
]
},
{
"cell_type": "code",
"execution_count": 271,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x25788f5a240>"
]
},
"execution_count": 271,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"grafico(3)\n",
"plt.pie(dftiposdecrime['Tipo de Crime'].value_counts().sort_index(), autopct='%1.1f%%',pctdistance=0.90 )\n",
"plt.title('Distribuição de Tipos de Crime', color='Darkblue')\n",
"plt.legend(dftiposdecrime['Tipo de Crime'].value_counts().sort_index().index,loc='upper right', bbox_to_anchor=(1.8, 1))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Fica-nos a faltar a variável idade que de forma muito semelhante as duas variáveis anteriores reparamos que existia um padrão relativamente ao local no texto onde é referida a idade do interrogado.\n",
"Assim definimos uma função denominada de [extrairidade](#secao9) onde devolve a porção de texto que se situa entre a primeira quebra de linha e o primeiro ponto final encontrado após essa quebra de linha.\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 188,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"['Suspeito: Um homem que está sendo interrogado pela suspeita de roubar uma senhora em plena luz do dia.',\n",
" 'Suspeito: Um jovem acusado de vandalizar um café no Porto, quebrando janelas e pichando as paredes durante a madrugada.',\n",
" 'Suspeito: Uma mulher acusada de realizar transferências bancárias fraudulentas de contas de terceiros para a sua própria conta.',\n",
" 'Suspeito: Uma mulher jovem acusada de furtar produtos de um supermercado na cidade de Coimbra, colocando itens em sua bolsa sem pagar.',\n",
" 'Suspeito: Um estudante de 16 anos, acusado de danificar equipamentos de informática na biblioteca de uma escola secundária em Lisboa.',\n",
" 'Suspeito: Um adolescente, João Oliveira, de 16 anos, acusado de vandalizar a fachada da Escola Secundária José Régio com pichações durante a noite.',\n",
" 'Suspeito: Paulo Almeida, 21 anos, acusado de roubar uma bicicleta elétrica em um parque público na cidade do Porto.',\n",
" 'Suspeito: João Silva, homem de 32 anos, interrogado por agredir uma jovem mulher em um parque durante a noite.',\n",
" 'Suspeito: Carlos Almeida, 28 anos, acusado de furtar um relógio de luxo em uma loja de joias no centro de Lisboa.',\n",
" 'Suspeito: Marcos Pereira, 35 anos, acusado de vandalizar o carro de um colega de trabalho, João Martins, após uma disputa pessoal no ambiente de trabalho.',\n",
" 'Suspeito: Luís Costa, 22 anos, acusado de danificar uma parede de um prédio histórico no centro de Lisboa, com pichações em grafite de conteúdo ofensivo, causando prejuízo significativo ao patrimônio.',\n",
" 'Suspeito: Fernanda Oliveira, 40 anos, acusada de fraudar um empréstimo bancário de 50.',\n",
" 'Suspeito: Paulo Ferreira, 29 anos, acusado de agredir fisicamente sua ex-namorada, Mariana Silva, em uma discussão ocorrida em sua residência.',\n",
" 'Suspeito: Ricardo Santos, 34 anos, acusado de estar envolvido no tráfico de drogas, especificamente com a distribuição de cocaína em grandes quantidades, usando seu apartamento como ponto de venda.',\n",
" 'Suspeito: João Almeida, 22 anos, acusado de furtar roupas de uma loja de marca no centro de Lisboa.',\n",
" 'Suspeito: Marcos Oliveira, 38 anos, acusado de agredir sua esposa, Ana Costa, durante uma discussão na noite de 20 de outubro.',\n",
" 'Suspeito: Ricardo Martins, 25 anos, acusado de assaltar uma loja de conveniência na noite de 15 de novembro.',\n",
" 'Suspeito: Jorge Ferreira, 42 anos, acusado de realizar corte ilegal de árvores em uma área de preservação ambiental próxima à cidade de Coimbra.',\n",
" 'Suspeito: Luís Cardoso, 45 anos, acusado de falsificar documentos de propriedade de veículos para revendê-los como legítimos.',\n",
" 'Suspeito: Rodrigo Alves, 32 anos, acusado de envolvimento em tráfico de animais silvestres capturados ilegalmente e vendidos no mercado negro.',\n",
" 'Suspeito: Felipe Rocha, 28 anos, acusado de hackear contas de redes sociais para extorquir dinheiro das vítimas, ameaçando divulgar informações pessoais.',\n",
" 'Suspeito: Rafael Mendes, 37 anos, acusado de furtar combustível de caminhões estacionados em um posto de abastecimento na madrugada de 5 de dezembro.',\n",
" 'Suspeito: Vanessa Soares, 29 anos, acusada de vender produtos falsificados, incluindo roupas e acessórios de marcas famosas, em uma feira local.',\n",
" 'Suspeito: Bruno Ferreira, 25 anos, acusado de invadir uma residência e furtar eletrônicos e dinheiro em espécie na madrugada de 8 de dezembro.',\n",
" 'Suspeito: Eduardo Martins, 19 anos, acusado de vandalizar um autocarro com pichações e quebrar uma das janelas durante a noite de 10 de dezembro.',\n",
" 'Suspeito: Mariana Castro, 30 anos, acusada de utilizar cartões de crédito roubados para realizar compras de alto valor em uma loja de eletrônicos.',\n",
" 'Suspeito: Ricardo Nunes, 34 anos, acusado de furtar dois smartphones de uma loja de eletrônicos na tarde de 15 de dezembro.',\n",
" 'Suspeito: Clara Monteiro, 30 anos, acusada de realizar compras online com cartões de crédito clonados.',\n",
" 'Suspeito: Luís Pereira, 45 anos, acusado de derrubar árvores em uma área de preservação ambiental sem autorização, para vender a madeira no mercado ilegal.',\n",
" 'Suspeito: Tiago Lopes, 23 anos, acusado de furtar equipamentos de informática de um laboratório na Universidade de Aveiro.',\n",
" 'Suspeito: Miguel Costa, 28 anos, acusado de tráfico de drogas em Lisboa.',\n",
" 'Suspeito: João Alves, 35 anos, acusado de vender produtos falsificados em sua loja localizada no centro do Porto.',\n",
" 'Suspeito: Ricardo Silva, 29 anos, acusado de falsificar documentos de identificação para fins de fraude.',\n",
" 'Suspeito: Eduardo Nunes, 27 anos, acusado de roubar equipamentos eletrônicos de um depósito localizado na zona industrial de Coimbra.']"
]
},
"execution_count": 188,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"idadesextraidas = [extrairidade(texto) for texto in dividirinter]\n",
"idadesextraidas"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Vamos tambem neste porçao de texto juntar o vetor anterior num bloco de texto para trabalhar mais a frente"
]
},
{
"cell_type": "code",
"execution_count": 190,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'Suspeito: Um homem que está sendo interrogado pela suspeita de roubar uma senhora em plena luz do dia.Suspeito: Um jovem acusado de vandalizar um café no Porto, quebrando janelas e pichando as paredes durante a madrugada.Suspeito: Uma mulher acusada de realizar transferências bancárias fraudulentas de contas de terceiros para a sua própria conta.Suspeito: Uma mulher jovem acusada de furtar produtos de um supermercado na cidade de Coimbra, colocando itens em sua bolsa sem pagar.Suspeito: Um estudante de 16 anos, acusado de danificar equipamentos de informática na biblioteca de uma escola secundária em Lisboa.Suspeito: Um adolescente, João Oliveira, de 16 anos, acusado de vandalizar a fachada da Escola Secundária José Régio com pichações durante a noite.Suspeito: Paulo Almeida, 21 anos, acusado de roubar uma bicicleta elétrica em um parque público na cidade do Porto.Suspeito: João Silva, homem de 32 anos, interrogado por agredir uma jovem mulher em um parque durante a noite.Suspeito: Carlos Almeida, 28 anos, acusado de furtar um relógio de luxo em uma loja de joias no centro de Lisboa.Suspeito: Marcos Pereira, 35 anos, acusado de vandalizar o carro de um colega de trabalho, João Martins, após uma disputa pessoal no ambiente de trabalho.Suspeito: Luís Costa, 22 anos, acusado de danificar uma parede de um prédio histórico no centro de Lisboa, com pichações em grafite de conteúdo ofensivo, causando prejuízo significativo ao patrimônio.Suspeito: Fernanda Oliveira, 40 anos, acusada de fraudar um empréstimo bancário de 50.Suspeito: Paulo Ferreira, 29 anos, acusado de agredir fisicamente sua ex-namorada, Mariana Silva, em uma discussão ocorrida em sua residência.Suspeito: Ricardo Santos, 34 anos, acusado de estar envolvido no tráfico de drogas, especificamente com a distribuição de cocaína em grandes quantidades, usando seu apartamento como ponto de venda.Suspeito: João Almeida, 22 anos, acusado de furtar roupas de uma loja de marca no centro de Lisboa.Suspeito: Marcos Oliveira, 38 anos, acusado de agredir sua esposa, Ana Costa, durante uma discussão na noite de 20 de outubro.Suspeito: Ricardo Martins, 25 anos, acusado de assaltar uma loja de conveniência na noite de 15 de novembro.Suspeito: Jorge Ferreira, 42 anos, acusado de realizar corte ilegal de árvores em uma área de preservação ambiental próxima à cidade de Coimbra.Suspeito: Luís Cardoso, 45 anos, acusado de falsificar documentos de propriedade de veículos para revendê-los como legítimos.Suspeito: Rodrigo Alves, 32 anos, acusado de envolvimento em tráfico de animais silvestres capturados ilegalmente e vendidos no mercado negro.Suspeito: Felipe Rocha, 28 anos, acusado de hackear contas de redes sociais para extorquir dinheiro das vítimas, ameaçando divulgar informações pessoais.Suspeito: Rafael Mendes, 37 anos, acusado de furtar combustível de caminhões estacionados em um posto de abastecimento na madrugada de 5 de dezembro.Suspeito: Vanessa Soares, 29 anos, acusada de vender produtos falsificados, incluindo roupas e acessórios de marcas famosas, em uma feira local.Suspeito: Bruno Ferreira, 25 anos, acusado de invadir uma residência e furtar eletrônicos e dinheiro em espécie na madrugada de 8 de dezembro.Suspeito: Eduardo Martins, 19 anos, acusado de vandalizar um autocarro com pichações e quebrar uma das janelas durante a noite de 10 de dezembro.Suspeito: Mariana Castro, 30 anos, acusada de utilizar cartões de crédito roubados para realizar compras de alto valor em uma loja de eletrônicos.Suspeito: Ricardo Nunes, 34 anos, acusado de furtar dois smartphones de uma loja de eletrônicos na tarde de 15 de dezembro.Suspeito: Clara Monteiro, 30 anos, acusada de realizar compras online com cartões de crédito clonados.Suspeito: Luís Pereira, 45 anos, acusado de derrubar árvores em uma área de preservação ambiental sem autorização, para vender a madeira no mercado ilegal.Suspeito: Tiago Lopes, 23 anos, acusado de furtar equipamentos de informática de um laboratório na Universidade de Aveiro.Suspei
]
},
"execution_count": 190,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"idadesextraidasjunto = ''.join(idadesextraidas)\n",
"idadesextraidasjunto"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Tendo o texto consolidade é possivel utilizando REGEX extrair todos os valores referentes a idade do interrogado, para isso foi aplicado uma lógica simples sabemos que as idades podem variar na teoria entre 0 a 99 (poderá ser mais mas teriamos que arranjar um limite para esse mais ficou decidido que seria 99). Sabemos que esta informação no nosso texto aparece sempre seguida da palavras anos ou ano.\n",
"Então a ideia foi criar um dicionário onde estas idades são guardadas a medida que são encontradas ao longo do texto.\n",
"\n",
"- (\\d{1,2}): Recolhe os números de 1 ou 2 dígitos (para idades entre 0 e 99)\n",
"- (?=ano(s)?): Um comando que verifica se o número é seguido pela palavra \"ano\" ou \"anos\"."
]
},
{
"cell_type": "code",
"execution_count": 200,
"metadata": {},
"outputs": [],
"source": [
"padrao_idade = r'\\b(\\d{1,2})\\s*(?=ano(s)?)'\n",
"idades_encontradas = re.findall(padrao_idade, idadesextraidasjunto)\n",
"idades = [int(idade[0]) for idade in idades_encontradas]\n",
"contagem_idades = Counter(idades)\n",
"dataset_idades = dict(contagem_idades)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Vamos por a informação anterior num dataframe para fazer algum trabalho estatistico."
]
},
{
"cell_type": "code",
"execution_count": 220,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Idade</th>\n",
" <th>V. Absolutos</th>\n",
" <th>V. Relativos (%)</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>16</td>\n",
" <td>2</td>\n",
" <td>6.67</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>19</td>\n",
" <td>1</td>\n",
" <td>3.33</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>21</td>\n",
" <td>1</td>\n",
" <td>3.33</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>22</td>\n",
" <td>2</td>\n",
" <td>6.67</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>23</td>\n",
" <td>1</td>\n",
" <td>3.33</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>25</td>\n",
" <td>2</td>\n",
" <td>6.67</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>27</td>\n",
" <td>1</td>\n",
" <td>3.33</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>28</td>\n",
" <td>3</td>\n",
" <td>10.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>29</td>\n",
" <td>3</td>\n",
" <td>10.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>30</td>\n",
" <td>2</td>\n",
" <td>6.67</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>32</td>\n",
" <td>2</td>\n",
" <td>6.67</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>34</td>\n",
" <td>2</td>\n",
" <td>6.67</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>35</td>\n",
" <td>2</td>\n",
" <td>6.67</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>37</td>\n",
" <td>1</td>\n",
" <td>3.33</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>38</td>\n",
" <td>1</td>\n",
" <td>3.33</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>40</td>\n",
" <td>1</td>\n",
" <td>3.33</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>42</td>\n",
" <td>1</td>\n",
" <td>3.33</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>45</td>\n",
" <td>2</td>\n",
" <td>6.67</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Idade V. Absolutos V. Relativos (%)\n",
"0 16 2 6.67\n",
"14 19 1 3.33\n",
"1 21 1 3.33\n",
"5 22 2 6.67\n",
"16 23 1 3.33\n",
"10 25 2 6.67\n",
"17 27 1 3.33\n",
"3 28 3 10.00\n",
"7 29 3 10.00\n",
"15 30 2 6.67\n",
"2 32 2 6.67\n",
"8 34 2 6.67\n",
"4 35 2 6.67\n",
"13 37 1 3.33\n",
"9 38 1 3.33\n",
"6 40 1 3.33\n",
"11 42 1 3.33\n",
"12 45 2 6.67"
]
},
"execution_count": 220,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dfidades = pd.DataFrame(list(dataset_idades.items()), columns=['Idade', 'V. Absolutos'])\n",
"dfidades['V. Relativos (%)']= ((dfidades['V. Absolutos'] / (dfidades['V. Absolutos'].sum())) * 100).round(2)\n",
"dfidades=dfidades.sort_values(by='Idade')\n",
"dfidades"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Contudo fazer a leitura dos resultados em tabelas de idade unitárias é pouco util no contexto, assim, criamos intervalos de idade para permitir uma leitura mais adequada ao problema em questão.\n",
"\n",
"Como na \"teoria\" como dissemos em cima o conceito foi procurar valores de 0 a 99 aqui nesta parte não faz sentido estarmos a colocar estes intervalos, por dois motivos, o primeiro é porque na realidade o valor minimo identificado foi o valor 16 e conceptualmente, crianças com menos de 16 anos não \"podem\" ser julgadas/interrogadas diretamente, estando dependentes dos pais para tal.\n",
"\n",
"Assim decidmos avançar com um intervalo de 5 anos respeitado a seguinte permissa:\n",
"<center>['15-20', '21-25', '26-30', '31-35', '36-40', '41-50', '51-60', '61+']</center>"
]
},
{
"cell_type": "code",
"execution_count": 301,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\garci\\AppData\\Local\\Temp\\ipykernel_32972\\2799594579.py:2: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.\n",
" dfintervaloidades = dfidades.groupby('Faixa Etária').agg({'V. Absolutos': 'sum', 'V. Relativos (%)': 'sum'}).reset_index()\n"
]
},
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Faixa Etária</th>\n",
" <th>V. Absolutos</th>\n",
" <th>V. Relativos (%)</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>15-20</td>\n",
" <td>3</td>\n",
" <td>10.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>21-25</td>\n",
" <td>4</td>\n",
" <td>13.33</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>26-30</td>\n",
" <td>9</td>\n",
" <td>30.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>31-35</td>\n",
" <td>6</td>\n",
" <td>20.01</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>36-40</td>\n",
" <td>4</td>\n",
" <td>13.33</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>41-50</td>\n",
" <td>4</td>\n",
" <td>13.33</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>51-60</td>\n",
" <td>0</td>\n",
" <td>0.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>61+</td>\n",
" <td>0</td>\n",
" <td>0.00</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Faixa Etária V. Absolutos V. Relativos (%)\n",
"0 15-20 3 10.00\n",
"1 21-25 4 13.33\n",
"2 26-30 9 30.00\n",
"3 31-35 6 20.01\n",
"4 36-40 4 13.33\n",
"5 41-50 4 13.33\n",
"6 51-60 0 0.00\n",
"7 61+ 0 0.00"
]
},
"execution_count": 301,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dfidades['Faixa Etária'] = pd.cut(dfidades['Idade'], bins=[15, 20, 25, 30, 35, 40, 50, 60, 99], labels=['15-20', '21-25', '26-30', '31-35', '36-40', '41-50', '51-60', '61+'], right=False)\n",
"dfintervaloidades = dfidades.groupby('Faixa Etária').agg({'V. Absolutos': 'sum', 'V. Relativos (%)': 'sum'}).reset_index()\n",
"dfintervaloidades"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"O intervalo de idades com mais observações é o intervalo entre os 26-30 anos de idade com 30% das observações. Tirando as observações que são 0, ou seja, faixas etárias onde não houve observações, a observação com menor incidência for a faixa etária de 15-20 anos de idade."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"C:\\Users\\garci\\AppData\\Local\\Temp\\ipykernel_32972\\3117272307.py:2: FutureWarning: \n",
"\n",
"Passing `palette` without assigning `hue` is deprecated and will be removed in v0.14.0. Assign the `y` variable to `hue` and set `legend=False` for the same effect.\n",
"\n",
" sns.boxplot(x=dfidades['Faixa Etária'], color=\"lightblue\",linewidth=0.75,flierprops=dict(marker='*', markersize=5), palette=\"pastel\")\n"
]
},
{
"data": {
"text/plain": [
"Text(0.5, 0, 'Idades')"
]
},
"execution_count": 232,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgwAAAHJCAYAAADpS2GVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAsp0lEQVR4nO3dd1xV9ePH8fdlOHDhDMqZiZYDNEU0QsQcpObIWeo3v/XVym/LcqWpaaaWmmbOsvHVbCjmNvceuYpMTVy40QQMF5Dw+f3Bz1s31A8VCNHr+XjwKM49fO45H4/nvu6596LDGGMEAABwC27ZvQEAACDnIxgAAIAVwQAAAKwIBgAAYEUwAAAAK4IBAABYEQwAAMCKYAAAAFYEA5BL8TvZAGQmggG4gdDQz+VwjHH58vaeqLCwL7R+/Ynbvi2hoZ//oZ/ZvPmUmjef96fuz+EYo6FDN/+pn83s+/kz+34j0dE/y+EYo48//uEvjwX8U3lk9wYAOVXNmqU0efJDkqSUFKOffrqiqVMj1bTpXO3a1VVVq5bI5i28ufff/1779sVm92bc0tatj6l06ULZvRkAMohgAG6icOE8Cgq602VZ48blVLLkZH388Q96++3Q7NmwXOL3cwsgZ+MlCeAP8PLyVL58HnI4HM5lKSmpGj36G1Wr9pHy5x+vAgXGq3792Vq79rhznaFDN+ueez7QsGFbVKzYe/L1naL4+ESVLz9dgwZt0ksvrVXRohNVvPh76tZtqeLirt50GxITr2n48K2qUuVD5cv3jipV+kCjR3+j1NS09yw88cQyffLJXh07lmC9DL9+/QnVq/epvLzGq3LlGVq16li6daKjf1a3bkt1551T5Ok5TqVKTVK3bksVG/vrNu7aFaNGjb5UkSLvqlChCXrooS+1bdvpW87l71+SOH48QW3bLlCRIu/Kx2eyxo3bme5nrl79RQMGbFClSh8ob953VLjwu2rceI6+++6cy3rz5kXJ3/8T5c8/XrVq/S/d7ZIUF3dVPXuu0B13TFa+fO8oKOhTrV7tuv8rV0YrKOhTFSw4QUWLTlSrVl/pxx9z9pUbIKtwhQG4CWOka9dS////jWJjEzV+/C4lJV3Tv/9dzble//4bNHnydxo1KkQ1apTUqVOXNGzYVrVrt1AnTvSUl5enJOnYsQQtWXJEX3zRQrGxiSpaNJ8kadKkb1WpUlF9/HG4zp27ov79N+jgwXht2fKYS5hc346WLb/Stm2nNWRIffn7l9TatSc0cOAmHT78s6ZPb6LXXqunn366ot27z+mrr1qpYkXvG+7f7t1n1aTJXIWFldHcuY8oOvpnde682GWdK1d+UWjoFypZMr8mTXpI3t55tWXLaQ0dukVeXp6aOrWxEhKS1KxZhMLCyioiopWSkq7pjTe2qWnTuTp+vKeKFMlrnevLl5MVEvK5PD3d9P77TeTm5tDgwZt16NAF1a//65WIbt2WacOGkxo58kFVrOitgwfjNXjwZj322GLt3dtdDodDixYdVrt2C/X44/fprbdC9O2359Sly1KX+0tMvKawsC8VE3NZI0YE6847C+rDD/eoWbMILV/eTmFhZXXkyAW1ajVf//53NY0c+aDi4xP16qub9PDD83To0FNyc3P8fjeAXI1gAG5iw4aT8vQcl275m28+qCpViju/P336st5880E991wt57J8+dz16KML9f33PzkvvV+7lqqxY0MVHFzaZTw3N4dWrmzvfGAtWTK/2rRZoOXLo9WsWQWXdb/++qhWrTqmzz5roU6dqkiSGjcuLy8vD7322ma98EItVa1aQiVLeilvXvdbXvYfOfIblSrlpYUL28jT012SVLx4fnXq9Gs0REXFq0yZQvrkk3Ddfbe3JKlhw7L65pszWrcu7c2f+/bF6vz5q3rhhVqqX/8uSVKVKsU1fXqkLl5MzlAwfPzxXh0/nqAffnhC992X9t6QunV9dc89M5zrJCen6OLFZE2cGKYOHdL2vUGDMkpISNbLL6/T2bNX5ONTQMOGbVFgoK9mznxYktS0aQU5HFL//hudY82cuU+RkT9p27bHVbeuryQpPLyCQkO/UL9+67VjR1dt3x6jq1ev6dVXg3TnnQUlSaVLF9KCBYd0+fIvKlQoj3W/gNyEYABuolatOzRtWmNJac/s4+OTtGzZUQ0cuFGXL/+iN94IliR9+mlzSdJPP13RgQNxOngwXosWHZEkJSWluIwZEFAq3f20anWPy4PqI4/cIw8PN61ffyJdMKxbd0IeHm5q397PZXmXLvfptdc2a/36Exl+M+bGjSfVsmVFZyxI0qOP+snd/ddnzgEBpbRxY2elphodPBivgwfjtW9frPbvj3VefalWrYRKlsyvFi2+UocOldW0aXk1aVJOo0c3yNB2XN+WihW9nbEgSWXKFFZQkK/z+zx53PX11+0kSadOXVRUVLyiouK1ePFhSVJS0jVdvfqLdu06q+HDg13G79ChskswrF59TD4+BXT//Xc490OSWrasqD591is+PlFBQb7Kl89DderMUvv2fv8fFGUUGOgr4J+IYABuolAhT9Wu7eOyrEmT8rp0KVmjR2/X88/XVKlSBbRzZ4yefXaVduyIkZeXh6pWLaGyZdPe/f/734VQsGD6Z6V33VXQ5Xs3N4dKlMivuLjEdOvGxSWqRIn8cnd3ffuRj08BSdKFC0kZ3r/rY/2Wh4dbumXjxu3Um29+o9jYq7rjDi/Vru2jAgU8nfdVsGAebdzYWW+8sU1ffPGjpk2LVP78HurWraomTGiovHntp5kbbYsk+foWUEzMZef3y5cf1YsvrtWPP8apUKE88vcvqYIF017yMUaKj0+SMUo3lq+v6xzHxiYqJubyDa8gSdKZM5d0330ltH59R40atV0ffLBHEybslrd3XvXqVVPDhz+Q7uUiILcjGIA/qHZtH33wwR4dPZqgfPk81KxZhGrUKKG9e59QlSrF5ebm0NKlRxQRcTBD450/7/oGx5SUVJ0/f1WlSnmlW7dYsXw6f/6qUlJSXaLhzJlLktI/UN5KiRL5dfbsFZdl16+kXDd79n69/PI6vfVWiLp3r6YSJdK2qUOHhdq+Pca5XuXKxTRz5sNKSUnV9u0xmjlzr6ZMiVTFikXUp09ghrbl0KEL6ZbHxv4aTYcPX1Dr1gvUuvU9Wry4re6+u4gcDocmT/5WX38dLSltftzcHDp79vLvxnGdY2/vvKpUqahmz25+w+2pUKGIJCkw0Ffz5rVScnKKNm06pWnTIjVixDb5+5dU+/aVrfsF5CZ8SgL4g7ZvPyN3d4fuvruIfvwxTrGxV/XCC/frvvtKON8It2zZUUlSauqtRkqzdOkRJSf/+tLFggWHdO1aqho1Kptu3QYNyujatVTNmRPlsnzWrP2SpODgtPcQ/PZlhZtp1Kicli49oitXfnEuW7482mVbNm06KW/vvOrTJ9AZC5cuJWvTplPOT2XMnXtAJUtOUkzMZbm7u6levTs1eXJjeXvn1bFjCfYJ+P9tOXr0Z+3c+WuEnD9/xeWTFrt2xSgx8Zr69w9UxYrezmf4v861Ub58Hqpf/05FRBx0ubqzaNFhl/tr0KC0Tpy4qFKl0q6YXP9asSJab721XR4ebho/fpfKlZumpKRrypPHXWFhZTV9ehNJyvB+AbkJVxiAm0hISHZ5wEpKStHChYf04Yc/qEePGipZ0kt58rircOE8GjFimzw8HPL0dNfcuVGaMWOPJOny5V9uNrzTiRMX9cgjX+n552vpxImLGjBgo5o1K6/Q0PTBEB5eQQ0bltF//rNcp05dlL9/Ka1ff0KjRm3Xv/5V1fkeAG/vvDp79oqWLTuigIBS6S7JS9LgwfU0f/5BNW06V337Buqnn65o0KBN8vT89XlEYKCvpkyJ1Msvr1XLlhV1+vRlvf32DsXEXHZ+yuOBB+5SSopR69bz1b9/oAoXzqsvvvhRP/+cpEcf9Ut3vzfStet9mjBhl9q0WaA33wxW4cJ59cYbW5WS8uuDfq1ad8jDw039+m3Qyy/XVlJSij766ActWXLEZa7ffPNBhYV9qbZtF6hnT38dOBCnESO
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"grafico(3)\n",
"sns.boxplot(x=dfidades['Faixa Etária'], color=\"lightblue\",linewidth=0.75,flierprops=dict(marker='*', markersize=5), palette=\"pastel\")\n",
"plt.title('Barplot das idades', color='Darkblue')\n",
"plt.xlabel('Idades', color='Darkblue')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Podemos ainda verificar pelo nosso barplot que os valores estão centrados entre os intervalos de 21 a25 anos de idade e os valores de 36 a 40 anos de idade"
]
},
{
"cell_type": "code",
"execution_count": 293,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Histograma de Idades')"
]
},
"execution_count": 293,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"grafico(1)\n",
"sns.histplot(dfidades['Faixa Etária'], color='darkblue', kde=True)\n",
"plt.xlabel('Idades',color='darkblue')\n",
"plt.ylabel('Frequências', color='darkblue')\n",
"plt.title('Histograma de Idades', color='darkblue')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Conjugado com o histograma das idades identificamos uma quase assimetria existente na variável idades em classe, contudo a curva está ligeiramente para a esquerda indicando uma assimetria positiva.\n",
"\n",
"Ora ainda dentro desta tecnica interessa nos ainda explorar a parte estatistica dos dados muito própria do TM.\n",
"\n",
"Vamos dividir as nossas entrevistas entre aquilo que o interrogaor diz e aquilo que o interrogado responde, isto será util para dividir as afirmações e perguntas mais a á frente. Pois esta a informação que realmente interessa analisar relativamente ao tipo de palavras nelas existentes."
]
},
{
"cell_type": "code",
"execution_count": 106,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[{'pergunta': 'Policial: \"Boa tarde, senhor João pereira. Gostaria de começar explicando que esta entrevista está sendo gravada. O senhor tem o direito de permanecer em silêncio e de contar com um advogado durante todo o processo. Entendeu seus direitos?\"',\n",
" 'resposta': 'Suspeito: \"Sim.\"'},\n",
" {'pergunta': 'Policial: \"Ótimo. Vamos conversar sobre um incidente ocorrido recentemente em Lisboa, envolvendo a senhora Joana Castro. Ela relatou que sua mala foi roubada por volta das 20:00, no colombo. Estamos aqui para esclarecer os fatos. Está disposto a colaborar?\"\\n2. Estabelecimento da Relação\\nPolicial: \"Antes de tudo, pode me contar onde o senhor estava por volta das 20:00 no dia 04 de dezembro de 2024?\"',\n",
" 'resposta': 'Suspeito: Encontrava-me nas Compras no Continente do Colombo com um amigo meu.\\n3. Apresentação das Provas'},\n",
" {'pergunta': 'Policial: \"Muito bem. Temos aqui algumas informações que gostaríamos de discutir com o senhor. A senhora Joana Castro declarou que um homem com características semelhantes às suas a abordou e roubou sua mala. O que tem a dizer sobre isso?\"',\n",
" 'resposta': 'Suspeito: \"Eu não roubei nada. Estava apenas passando na rua.\"'},\n",
" {'pergunta': 'Policial: \"Entendido. No entanto, encontramos suas impressões digitais na mala da senhora. Como explica isso?\"',\n",
" 'resposta': 'Suspeito: \"Deve ser porque eu encostei na mala sem querer. Foi só isso.\"\\n4. Exploração de Contradições'},\n",
" {'pergunta': 'Policial: \"Entendo. Mas a senhora descreveu que a pessoa que levou a mala a puxou com força enquanto ela andava. Se o senhor apenas tocou na mala enquanto passava, como acha que suas impressões ficaram tão marcadas?\"',\n",
" 'resposta': 'Suspeito: Não sei talvez a passar tenha colocado a mão sei lá…'},\n",
" {'pergunta': 'Policial: \"Além disso, a senhora mencionou que o incidente foi rápido e não havia ninguém próximo além do senhor. Como explica que ela tenha reconhecido alguém com características tão próximas às suas?\"',\n",
" 'resposta': 'Suspeito: O colombo tem tanta gente porque é que tenho que ser eu…\\n5. Análise do Contexto'},\n",
" {'pergunta': 'Policial: \"O senhor já teve algum problema com a justiça anteriormente? Alguma acusação de furto ou roubo?\"',\n",
" 'resposta': 'Suspeito: Já mas não percebo porque é que esse fato é importante para esta situação eu não fiz nada…'},\n",
" {'pergunta': 'Policial: \"E quanto ao local onde estava indo ou vindo naquele dia? Alguém pode confirmar sua versão dos fatos?\"',\n",
" 'resposta': 'Suspeito: Sim um amigo mas foi para frança não está cá.\\n6. Encerramento'},\n",
" {'pergunta': 'Policial: \"Agradeço pela sua cooperação. Esta gravação será analisada junto com as outras provas. Se houver algo mais que queira acrescentar ou ajustar na sua declaração, este é o momento.\"',\n",
" 'resposta': 'Suspeito: Não tenho mais nada.'},\n",
" {'pergunta': 'Policial: \"Muito bem, por ora é isso. O senhor será informado sobre os próximos passos do processo. Obrigado pelo seu tempo.\"\\nObservações Adicionais:\\nO tom do policial deve alternar entre acolhedor (para encorajar o suspeito a falar) e assertivo (para pressionar o suspeito quando necessário).\\nO suspeito pode demonstrar nervosismo, hesitação ou mesmo agressividade, dependendo do perfil criado para ele.\\nO vídeo pode incluir legendas para indicar momentos importantes, como \"Prova apresentada\" ou \"Resposta inconsistente\".\\nRoteiro de Entrevista Simulada – Caso de Vandalismo em Porto\\nContexto:',\n",
" 'resposta': 'Suspeito: Um jovem acusado de vandalizar um café no Porto, quebrando janelas e pichando as paredes durante a madrugada.\\nProvas:\\nImagens de câmeras de segurança mostram um indivíduo com características semelhantes ao suspeito.\\nO suspeito foi encontrado próximo ao local na mesma noite, com tinta spray em sua mochila.\\nAlegação do suspeito: Ele nega qualquer envolvimento e afirma que estava apenas voltando para casa de uma festa.\\nCena:\\nLocal: Sala de interrogatório simples. O suspeito está sentado de forma desconfortável, enquanto o policial mantém um tom calmo, mas firme.\\nRoteiro:\\n1. Introdução'},\n",
" {'pergunta': 'Policial: \"Boa tarde, Pedro Vasco. Esta entrevista está sendo gravada e faz parte de uma investigação sobre vandalismo ocorrido no café Marianita, na madrugada de 03 de dezembro de 2023. O senhor tem o direito de permanecer em silêncio e de solicitar um advogado. Entendeu seus direitos?\"',\n",
" 'resposta': 'Suspeito: \"Sim.\"'},\n",
" {'pergunta': 'Policial: \"Muito bem. Gostaríamos de esclarecer alguns fatos e ouvir a sua versão. Está disposto a colaborar?\"',\n",
" 'resposta': 'Suspeito: \"Sim.\"\\n2. Contextualização Inicial'},\n",
" {'pergunta': 'Policial: \"Pode nos contar onde estava na noite de 03 de dezembro de 2023 entre as 20:00 e as 22:00?\"',\n",
" 'resposta': 'Suspeito: \"Estava em uma festa com amigos. Saí por volta de 21:40 e estava indo para casa.\"'},\n",
" {'pergunta': 'Policial: \"Entendido. Algum dos seus amigos pode confirmar isso?\"',\n",
" 'resposta': 'Suspeito: \"Sim. O João António\"\\n3. Apresentação das Provas'},\n",
" {'pergunta': 'Policial: \"Temos aqui imagens de câmeras de segurança que mostram alguém com características muito parecidas com as suas nas proximidades do café vandalizado. Reconhece este local?\"',\n",
" 'resposta': 'Suspeito: \"Sim, mas eu não fiz nada. Só passei por ali.\"'},\n",
" {'pergunta': 'Policial: \"Compreendo. No entanto, o indivíduo nas imagens está segurando algo que parece ser uma lata de spray. Curiosamente, encontramos uma lata de tinta spray na sua mochila quando foi abordado. Como explica isso?\"',\n",
" 'resposta': 'Suspeito: \"Eu costumo usar spray para pintar coisas minhas, mas não tem nada a ver com isso.\"\\n4. Exploração de Contradições'},\n",
" {'pergunta': 'Policial: \"Certo. Mas as tintas na sua mochila coincidem com a cor usada nas pichações do café. Como justifica isso?\"',\n",
" 'resposta': 'Suspeito: \"É coincidência. Qualquer um pode comprar essa tinta em uma loja.\"'},\n",
" {'pergunta': 'Policial: \"Entendido. Vamos falar das janelas quebradas. Acreditamos que foram usadas pedras ou outros objetos pesados. Alguém viu o senhor carregando algo assim?\"',\n",
" 'resposta': 'Suspeito: \"Não. Eu estava só com minha mochila.\"\\n5. Pressão Estratégica'},\n",
" {'pergunta': 'Policial: \"Entenda que as evidências apontam para o senhor: imagens, objetos encontrados e o horário em que foi visto perto do local. É sua oportunidade de ser honesto. Existe algo que queira nos contar?\"',\n",
" 'resposta': 'Suspeito: \"Eu já disse que não fiz nada.\"\\n6. Encerramento'},\n",
" {'pergunta': 'Policial: \"Muito bem, senhor Pedro Vasco. Agradeço por responder às nossas perguntas. Sua declaração será analisada junto às provas que temos. Se houver algo mais que queira acrescentar, pode fazê-lo agora.\"',\n",
" 'resposta': 'Suspeito: \"Não tenho mais nada a dizer.\"'},\n",
" {'pergunta': 'Policial: \"Ok. Entraremos em contato com você ou com seu advogado caso precisemos de mais informações. Obrigado.\"\\nObservações Adicionais:\\nO policial pode alternar entre ser acolhedor e firme para avaliar as reações do suspeito.\\nO suspeito pode demonstrar nervosismo ou tentativas de justificar contradições nas respostas.\\nAs gravações podem incluir pausas para reflexão e anotações pelo policial para aumentar o realismo.\\nRoteiro de Entrevista Simulada – Caso de Fraude Bancária Faro\\nContexto:',\n",
" 'resposta': 'Suspeito: Uma mulher acusada de realizar transferências bancárias fraudulentas de contas de terceiros para a sua própria conta.\\nProvas:\\nRegistros bancários mostram transferências irregulares para a conta do suspeito.\\nLogs do sistema bancário indicam acesso às contas das vítimas usando o mesmo endereço IP associado ao computador do suspeito.\\nAlegação do suspeito: Ela afirma que sua conta foi usada sem o seu conhecimento e que seu computador foi invadido.\\nCena:\\nLocal: Sala de interrogatório moderna, equipada com computadores e uma mesa. O policial está sentado à frente da suspeita, mantendo uma postura profissional.\\nRoteiro:\\n1. Introdução'},\n",
" {'pergunta': 'Policial: \"Boa tarde, Carmem Justice. Esta entrevista está sendo gravada como parte de uma investigação sobre transferências bancárias fraudulentas. Antes de começarmos, quero lembrar que você tem o direito de permanecer em silêncio e de ter um advogado presente. Está claro?\"',\n",
" 'resposta': 'Suspeito: \"Sim.\"'},\n",
" {'pergunta': 'Policial: \"Ótimo. Podemos começar com algumas perguntas básicas?\"',\n",
" 'resposta': 'Suspeito: \"Sim.\"\\n2. Contextualização Inicial'},\n",
" {'pergunta': 'Policial: \"A senhora é titular da conta bancária 1234567890 no Banco Felix?\"',\n",
" 'resposta': 'Suspeito: \"Sim, essa conta é minha.\"'},\n",
" {'pergunta': 'Policial: \"Pode nos dizer se realizou alguma transferência bancária entre os dias 20 de dezembro?\"',\n",
" 'resposta': 'Suspeito: \"Não. Não fiz nada disso.\"\\n3. Apresentação das Provas'},\n",
" {'pergunta': 'Policial: \"Entendido. No entanto, temos registros de que sua conta recebeu várias transferências de contas de terceiros. Além disso, os logs do sistema mostram que os acessos foram feitos a partir de um endereço IP vinculado à sua residência. Como explica isso?\"',\n",
" 'resposta': 'Suspeito: \"Eu não sei. Alguém deve ter usado minha conta ou hackeado meu computador.\"'},\n",
" {'pergunta': 'Policial: \"Compreendo. A senhora costuma compartilhar a senha do seu banco com alguém?\"',\n",
" 'resposta': 'Suspeito: \"Não, nunca.\"\\n4. Exploração de Contradições'},\n",
" {'pergunta': 'Policial: \"A senhora mencionou que seu computador pode ter sido hackeado. Já percebeu alguma atividade estranha, como e-mails suspeitos ou pop-ups?\"',\n",
" 'resposta': 'Suspeito: \"Não que eu me lembre, mas não sou boa com tecnologia.\"'},\n",
" {'pergunta': 'Policial: \"Certo. Os especialistas nos disseram que as transferências foram feitas a partir de um navegador específico configurado com suas credenciais salvas. A senhora utiliza esse recurso?\"',\n",
" 'resposta': 'Suspeito: \"Sim, deixo as senhas salvas porque é mais fácil.\"\\n5. Pressão Estratégica'},\n",
" {'pergunta': 'Policial: \"Entenda, Carmem Justice, temos evidências concretas. É melhor para a senhora explicar exatamente o que aconteceu. Há algo que queira admitir?\"',\n",
" 'resposta': 'Suspeito: \"Já disse que não fiz nada. Talvez alguém tenha usado meu computador quando eu não estava em casa.\"\\n6. Encerramento'},\n",
" {'pergunta': 'Policial: \"Muito bem, senhora Carmem Justice. Suas respostas serão avaliadas junto às provas. Caso queira adicionar algo mais, é sua oportunidade agora.\"',\n",
" 'resposta': 'Suspeito: \"Não tenho mais nada a dizer.\"'},\n",
" {'pergunta': 'Policial: \"Entendido. Entraremos em contato com você ou com seu advogado se precisarmos de mais informações. Obrigado pela colaboração.\"\\nObservações Adicionais:\\nO policial pode fazer pausas estratégicas para observar as reações da suspeita.\\nPerguntas mais técnicas podem ser adicionadas se necessário, dependendo do nível de conhecimento tecnológico do suspeito.\\nRoteiro de Entrevista Simulada – Caso de Furto em Supermercado Coimbra\\nContexto:',\n",
" 'resposta': 'Suspeito: Uma mulher jovem acusada de furtar produtos de um supermercado na cidade de Coimbra, colocando itens em sua bolsa sem pagar.\\nProvas:\\nImagens de câmeras de segurança mostram a suspeita colocando itens em sua bolsa no corredor de produtos de higiene pessoal.\\nFuncionários do supermercado relataram comportamento suspeito e a confrontaram antes dela sair.\\nDurante a abordagem, foram encontrados produtos sem o recibo dentro da bolsa da suspeita.\\nAlegação do suspeito: Ela afirma que colocou os produtos na bolsa apenas para carregar enquanto continuava as compras, mas decidiu não comprá-los e esqueceu de devolvê-los à prateleira.\\nCena:\\nLocal: Sala de interrogatório iluminada. A suspeita está sentada, nervosa, enquanto o policial adota um tom educado, mas direto.\\nRoteiro:\\n1. Introdução'},\n",
" {'pergunta': 'Policial:\\n\"Boa tarde, Diana Ferreira. Esta entrevista está sendo gravada como parte da investigação sobre o furto ocorrido no supermercado Mercadinho Coimbra, na tarde de 28 de novembro de 2023. O senhor entende seus direitos, incluindo o de permanecer em silêncio e solicitar um advogado?\"\\nSuspeita:\\n\"Sim.\"\\nPolicial:\\n\"Ótimo. Queremos ouvir sua versão dos fatos. Está disposta a colaborar?\"\\nSuspeita:\\n\"Sim, claro.\"\\n2. Contextualização Inicial\\nPolicial:\\n\"Pode nos contar o que estava fazendo no supermercado por volta das 15:30 daquela tarde?\"\\nSuspeita:\\n\"Sim, eu estava comprando alguns itens de higiene pessoal. Peguei algumas coisas e continuei olhando outras.\"\\nPolicial:\\n\"Compreendo. Estava sozinha ou acompanhada?\"\\nSuspeita:\\n\"Sozinha.\"\\n3. Apresentação das Provas\\nPolicial:\\n\"Temos aqui imagens das câmeras de segurança que mostram a senhora colocando itens diretamente na bolsa em vez de no carrinho ou na cesta. Pode explicar por que fez isso?\"\\nSuspeita:\\n\"Ah, eu... Sim, lembro disso. Minha cesta estava muito cheia, então coloquei na bolsa para carregar. Depois esqueci de tirar.\"\\nPolicial:\\n\"Entendido. No entanto, os produtos não foram devolvidos às prateleiras, e também não estavam na sua cesta quando foi confrontada. Como explica isso?\"\\nSuspeita:\\n\"Eu ia devolver, mas fui abordada antes. Foi um erro meu.\"\\n4. Exploração de Contradições\\nPolicial:\\n\"Entendo. Mas os itens encontrados na sua bolsa somam mais de 50 euros em produtos, e a maioria é de higiene pessoal. Algum motivo específico para ter colocado esses itens em particular?\"\\nSuspeita:\\n\"Não, só eram coisas que eu ia comprar, mas mudei de ideia.\"\\nPolicial:\\n\"Compreendido. Contudo, nossa equipe encontrou o recibo de outros produtos comprados no mesmo supermercado. Por que esses itens não estavam na lista de compras final?\"\\nSuspeita:\\n\"Eu não sei... Eu só me confundi.\"\\n5. Pressão Estratégica\\nPolicial:\\n\"Quero lembrar que as evidências sugerem intencionalidade: os itens na bolsa, o valor elevado e as imagens de segurança. Este é o momento de ser honesta. Há algo que queira acrescentar?\"\\nSuspeita:\\n\"Já disse tudo. Não foi de propósito.\"\\n6. Encerramento\\nPolicial:\\n\"Está certo, Diana Ferreira. Agradecemos por responder às perguntas. Sua declaração será analisada junto às provas disponíveis. Caso precise adicionar algo mais, agora é o momento.\"\\nSuspeita:\\n\"Não, não tenho mais nada a dizer.\"\\nPolicial:\\n\"Obrigado. Fique à disposição para mais esclarecimentos.\"\\nObservações Adicionais:\\nO policial pode alternar entre indagações acolhedoras e firmes para explorar incoerências.\\nO suspeito pode demonstrar nervosismo e hesitações ao tentar justificar falhas.\\nDetalhes adicionais, como documentos ou testemunhas, podem ser incorporados para tornar o caso mais dinâmico.\\nRoteiro de Entrevista Simulada – Caso de Vandalismo em Escola Lisboa\\nContexto:',\n",
" 'resposta': 'Suspeito: Um estudante de 16 anos, acusado de danificar equipamentos de informática na biblioteca de uma escola secundária em Lisboa. O aluno foi identificado após a descoberta de imagens de câmeras internas e relatos de colegas.\\nProvas:\\nImagens mostram o suspeito inserindo um objeto metálico em uma entrada USB de um computador, o que resultou em curto-circuito e danificou a máquina.\\nTestemunhas relataram que o estudante fazia comentários depreciativos sobre o equipamento da escola.\\nDurante a revista ao armário do estudante, foi encontrado o mesmo objeto metálico identificado nas imagens.\\nAlegação do Suspeito: Ele afirma que estava apenas tentando \"brincar\" e não tinha intenção de causar danos.\\nCena:\\nLocal: Sala de orientação da escola. O estudante está sentado ao lado de seu pai, que parece preocupado. O orientador escolar, assumindo uma postura calma, mas firme, conduz a entrevista para entender o ocorrido.\\nRoteiro:\\n1. Introdução\\nOrientador:\\n\"Boa tarde, Tiago Santos e senhor António Santos. Esta conversa será registrada para esclarecermos o incidente ocorrido na biblioteca da Escola Secundária de Lisboa, no dia 3 de dezembro de 2023. Tiago, você entende que estamos aqui para ouvir sua versão, mas que você tem o direito de permanecer em silêncio e consultar um advogado, caso ache necessário?\"\\nTiago:\\n\"Sim, eu entendo.\"\\nOrientador:\\n\"Ótimo. Espero que possamos esclarecer tudo de maneira honesta e colaborativa. Está pronto para conversar?\"\\nTiago:\\n\"Sim.\"\\n2. Contextualização Inicial\\nOrientador:\\n\"Pode nos contar o que estava fazendo na biblioteca por volta das 14h daquela tarde?\"\\nTiago:\\n\"Eu estava estudando para um teste de matemática com alguns colegas.\"\\nOrientador:\\n\"Entendido. Você costuma usar os computadores da biblioteca durante seus estudos?\"\\nTiago:\\n\"Sim, às vezes. Mas naquele dia eu não usei.\"\\n3. Apresentação das Provas\\nOrientador:\\n\"Tiago, temos aqui imagens das câmeras internas que mostram você inserindo um objeto metálico na entrada USB de um dos computadores. Pode nos explicar o que estava fazendo?\"\\nTiago:\\n\"Eu... Bem, eu só estava tentando ver se o computador funcionava direito. Não pensei que ia quebrar.\"\\nOrientador:\\n\"Entendido. No entanto, após o incidente, o computador parou de funcionar, causando danos significativos. Você se lembra de ter sido avisado sobre como manusear os equipamentos?\"\\nTiago:\\n\"Sim, mas eu só estava brincando. Não foi por mal.\"\\n4. Exploração de Contradições\\nOrientador:\\n\"Entendo, mas essa \\'brincadeira\\' resultou em um prejuízo significativo para a escola. Além disso, colegas relataram que você havia mencionado que os computadores da escola eram velhos e ruins. Isso é verdade?\"\\nTiago:\\n\"Ah, eu já comentei isso, sim. Mas não quis dizer nada de errado. Só acho que eles travam muito.\"\\nOrientador:\\n\"Compreendido. Contudo, o objeto encontrado no seu armário coincide exatamente com o que aparece nas imagens. Pode nos dizer por que estava com ele?\"\\nTiago:\\n\"Era só um chaveiro. Eu sempre carrego comigo.\"\\n5. Pressão Estratégica\\nOrientador:\\n\"Tiago, quero ressaltar que as evidências indicam claramente sua responsabilidade nesse incidente. Esta é uma oportunidade para você ser honesto e ajudar a resolver a situação. Há algo mais que queira nos contar?\"\\nTiago:\\n\"Não foi por mal... Eu só queria mostrar pros meus amigos que aqueles computadores não valiam nada.\"\\nOrientador:\\n\"Compreendo, mas você reconhece que sua atitude não foi adequada e causou danos intencionais, mesmo que tenha sido para provar um ponto?\"\\nTiago:\\n\"Sim... Eu sei que errei.\"\\n6. Encerramento\\nOrientador:\\n\"Obrigado por ser honesto, Tiago. Sua declaração será levada em consideração junto às provas. Este é um momento importante para refletir sobre suas ações e suas consequências. Senhor António, agradeço sua presença. Caso precisem de mais informações ou desejem adicionar algo, fiquem à
" {'pergunta': 'Policial:\\n\"Boa tarde, João Oliveira. Esta entrevista está sendo gravada como parte da investigação sobre o vandalismo ocorrido na Escola Secundária José Régio, na noite de 3 de dezembro de 2023. Você compreende seus direitos, incluindo o de permanecer em silêncio e solicitar a presença de um responsável ou advogado?\"',\n",
" 'resposta': 'Suspeito:\\n\"Sim.\"'},\n",
" {'pergunta': 'Policial:\\n\"Muito bem. Queremos entender sua versão dos fatos. Está disposto a colaborar?\"',\n",
" 'resposta': 'Suspeito:\\n\"Sim.\"\\n2. Contextualização Inicial'},\n",
" {'pergunta': 'Policial:\\n\"João, pode nos dizer o que estava fazendo nas proximidades da escola por volta das 22h daquela noite?\"',\n",
" 'resposta': 'Suspeito:\\n\"Eu estava só passeando, fui encontrar alguns amigos.\"'},\n",
" {'pergunta': 'Policial:\\n\"Estava sozinho ou acompanhado?\"',\n",
" 'resposta': 'Suspeito:\\n\"Sozinho, mas depois encontrei o pessoal.\"\\n3. Apresentação das Provas'},\n",
" {'pergunta': 'Policial:\\n\"As câmeras de segurança mostram um jovem usando uma blusa preta e calças jeans, que correspondem ao que você vestia, perto da fachada vandalizada. Pode explicar isso?\"',\n",
" 'resposta': 'Suspeito:\\n\"Sim, era eu mesmo, mas não fiz nada. Estava só passando por lá.\"'},\n",
" {'pergunta': 'Policial:\\n\"Compreendo. Contudo, testemunhas relataram que você estava com uma mochila cheia de sprays de tinta. Isso procede?\"',\n",
" 'resposta': 'Suspeito:\\n\"Ah, eu tinha uns sprays, mas era para pintar em outro lugar, não na escola.\"\\n4. Exploração de Contradições'},\n",
" {'pergunta': 'Policial:\\n\"Entendo. Mas se não tinha intenção de vandalizar a escola, por que foi visto parado exatamente onde as pichações foram feitas?\"',\n",
" 'resposta': 'Suspeito:\\n\"Eu estava esperando meus amigos. Não sei quem fez aquilo.\"'},\n",
" {'pergunta': 'Policial:\\n\"João, também encontramos manchas de tinta na sua mão e na blusa no dia seguinte. Como você explica isso?\"',\n",
" 'resposta': 'Suspeito:\\n\"Usei os sprays em casa antes de sair, só isso.\"\\n5. Pressão Estratégica'},\n",
" {'pergunta': 'Policial:\\n\"Veja bem, as evidências apontam para o contrário: sua presença no local, os sprays, as manchas de tinta e os relatos das testemunhas. Este é o momento de esclarecer tudo. Há algo mais que queira nos contar?\"',\n",
" 'resposta': 'Suspeito:\\n\"Não, já disse tudo. Não fui eu.\"\\n6. Encerramento'},\n",
" {'pergunta': 'Policial:\\n\"Está certo, João. Agradecemos por responder às perguntas. Sua declaração será analisada junto às provas. Caso queira acrescentar algo, agora é o momento.\"',\n",
" 'resposta': 'Suspeito:\\n\"Não, é só isso.\"'},\n",
" {'pergunta': 'Policial:\\n\"Obrigado. Fique disponível para eventuais novos esclarecimentos.\"\\nObservações Adicionais:\\nO policial alterna entre um tom compreensivo e questionador para explorar possíveis incoerências.\\nJoão apresenta nervosismo, tentando justificar a presença dos sprays e as manchas de tinta.\\nO roteiro pode ser enriquecido com depoimentos de amigos do suspeito ou outros elementos de investigação, como álibis ou registros telefônicos.\\nRoteiro de Entrevista Simulada – Caso de Roubo de Bicicleta em Parque Público\\nContexto:',\n",
" 'resposta': 'Suspeito: Paulo Almeida, 21 anos, acusado de roubar uma bicicleta elétrica em um parque público na cidade do Porto.\\nProvas:\\nTestemunhas relataram ver Paulo mexendo na trava da bicicleta por volta das 16h.\\nCâmeras de segurança registraram o suspeito saindo com a bicicleta em questão.\\nA bicicleta foi encontrada na casa do suspeito no mesmo dia.\\nAlegação do suspeito: Paulo afirma que encontrou a bicicleta abandonada e levou para casa com a intenção de devolvê-la posteriormente.\\nCena:\\nLocal: Sala de interrogatório bem iluminada. Paulo está sentado, nervoso, enquanto o policial, um jovem experiente, mantém um tom firme e respeitoso.\\n1. Introdução'},\n",
" {'pergunta': 'Policial:\\n\"Boa tarde, Paulo Almeida. Esta entrevista está sendo gravada como parte da investigação sobre o roubo de uma bicicleta elétrica no Parque das Nações, na tarde de 12 de dezembro de 2023. Você entende seus direitos, incluindo o de permanecer em silêncio e solicitar a presença de um advogado?\"',\n",
" 'resposta': 'Suspeito:\\n\"Sim.\"'},\n",
" {'pergunta': 'Policial:\\n\"Ótimo. Queremos ouvir sua versão dos fatos. Está disposto a colaborar?\"',\n",
" 'resposta': 'Suspeito:\\n\"Sim, claro.\"\\n2. Contextualização Inicial'},\n",
" {'pergunta': 'Policial:\\n\"Paulo, pode nos contar o que estava fazendo no Parque das Nações por volta das 16h daquele dia?\"',\n",
" 'resposta': 'Suspeito:\\n\"Sim, eu estava passeando. Sempre vou lá para relaxar.\"'},\n",
" {'pergunta': 'Policial:\\n\"Compreendo. Estava sozinho ou acompanhado?\"',\n",
" 'resposta': 'Suspeito:\\n\"Estava sozinho.\"\\n3. Apresentação das Provas'},\n",
" {'pergunta': 'Policial:\\n\"As câmeras de segurança mostram você mexendo na trava de uma bicicleta elétrica. Pode explicar o que estava fazendo?\"',\n",
" 'resposta': 'Suspeito:\\n\"Sim, vi a bicicleta lá, parecia que estava abandonada. Eu só quis ver se estava trancada.\"'},\n",
" {'pergunta': 'Policial:\\n\"Entendido. Mas depois você foi visto saindo do parque com a bicicleta. Como explica isso?\"',\n",
" 'resposta': 'Suspeito:\\n\"Eu peguei porque pensei que alguém tinha esquecido. Ia levar para casa e tentar encontrar o dono.\"\\n4. Exploração de Contradições'},\n",
" {'pergunta': 'Policial:\\n\"Paulo, se sua intenção era encontrar o dono, por que não entregou a bicicleta na administração do parque ou chamou a polícia?\"',\n",
" 'resposta': 'Suspeito:\\n\"Eu não pensei nisso na hora. Só quis levar pra casa e depois resolver.\"'},\n",
" {'pergunta': 'Policial:\\n\"Entendo. Contudo, a bicicleta foi encontrada na sua casa, e você não fez nenhuma tentativa de comunicar o achado. Como explica isso?\"',\n",
" 'resposta': 'Suspeito:\\n\"Eu ia devolver no dia seguinte. Foi um mal-entendido.\"\\n5. Pressão Estratégica'},\n",
" {'pergunta': 'Policial:\\n\"Veja, Paulo, as provas não corroboram sua história. Temos testemunhas e imagens que indicam que você agiu intencionalmente. Este é o momento de ser honesto. Há algo que queira acrescentar?\"',\n",
" 'resposta': 'Suspeito:\\n\"Não, é como eu disse. Não fiz por mal.\"\\n6. Encerramento'},\n",
" {'pergunta': 'Policial:\\n\"Está certo, Paulo. Agradecemos por sua cooperação. Sua declaração será analisada junto às provas. Caso tenha algo mais a dizer, agora é a hora.\"',\n",
" 'resposta': 'Suspeito:\\n\"Não, é só isso.\"'},\n",
" {'pergunta': 'Policial:\\n\"Obrigado. Por favor, fique disponível para eventuais novos esclarecimentos.\"\\nObservações Adicionais:\\nO policial explora contradições entre a narrativa de Paulo e as evidências disponíveis.\\nPaulo tenta justificar suas ações com um tom defensivo, mas não apresenta álibis ou provas que sustentem suas alegações.\\nO roteiro pode incluir mais detalhes, como consultas ao histórico de denúncias no parque ou possíveis registros de atividades de Paulo.\\nRoteiro de Entrevista Simulada – Caso de Agressão em Lisboa\\nContexto:',\n",
" 'resposta': 'Suspeito: João Silva, homem de 32 anos, interrogado por agredir uma jovem mulher em um parque durante a noite.\\nProvas:\\nDeclarações da vítima (Maria Costa, 24 anos, estudante).\\nImagens de câmeras de segurança mostram um homem com características semelhantes às do suspeito em um local próximo à vítima antes da agressão.\\nO suspeito alegou estar em um bar na hora do incidente, mas ninguém pode confirmar sua presença.\\nCena:\\nLocal: Sala de interrogatório, com uma mesa simples e duas cadeiras. A câmera grava a conversa entre o policial, Pedro Lopes, e o suspeito, João Silva. O policial está vestido formalmente, com uma postura séria e profissional.\\nRoteiro:\\n1. Introdução'}]"
]
},
"execution_count": 106,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"entrevistas = separarperguntasderespostas(texto)\n",
"entrevistas"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Vamos agora pegar na variável *entrevistas* e juntar tudo num só texto para podermos analisar a frequencia de palavras nelas existentes."
]
},
{
"cell_type": "code",
"execution_count": 238,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'Policial: \"Boa tarde, senhor João pereira. Gostaria de começar explicando que esta entrevista está sendo gravada. O senhor tem o direito de permanecer em silêncio e de contar com um advogado durante todo o processo. Entendeu seus direitos?\" Suspeito: \"Sim.\" Policial: \"Ótimo. Vamos conversar sobre um incidente ocorrido recentemente em Lisboa, envolvendo a senhora Joana Castro. Ela relatou que sua mala foi roubada por volta das 20:00, no colombo. Estamos aqui para esclarecer os fatos. Está disposto a colaborar?\"\\n2. Estabelecimento da Relação\\nPolicial: \"Antes de tudo, pode me contar onde o senhor estava por volta das 20:00 no dia 04 de dezembro de 2024?\" Suspeito: Encontrava-me nas Compras no Continente do Colombo com um amigo meu.\\n3. Apresentação das Provas Policial: \"Muito bem. Temos aqui algumas informações que gostaríamos de discutir com o senhor. A senhora Joana Castro declarou que um homem com características semelhantes às suas a abordou e roubou sua mala. O que tem a dizer sobre isso?\" Suspeito: \"Eu não roubei nada. Estava apenas passando na rua.\" Policial: \"Entendido. No entanto, encontramos suas impressões digitais na mala da senhora. Como explica isso?\" Suspeito: \"Deve ser porque eu encostei na mala sem querer. Foi só isso.\"\\n4. Exploração de Contradições Policial: \"Entendo. Mas a senhora descreveu que a pessoa que levou a mala a puxou com força enquanto ela andava. Se o senhor apenas tocou na mala enquanto passava, como acha que suas impressões ficaram tão marcadas?\" Suspeito: Não sei talvez a passar tenha colocado a mão sei lá… Policial: \"Além disso, a senhora mencionou que o incidente foi rápido e não havia ninguém próximo além do senhor. Como explica que ela tenha reconhecido alguém com características tão próximas às suas?\" Suspeito: O colombo tem tanta gente porque é que tenho que ser eu…\\n5. Análise do Contexto Policial: \"O senhor já teve algum problema com a justiça anteriormente? Alguma acusação de furto ou roubo?\" Suspeito: Já mas não percebo porque é que esse fato é importante para esta situação eu não fiz nada… Policial: \"E quanto ao local onde estava indo ou vindo naquele dia? Alguém pode confirmar sua versão dos fatos?\" Suspeito: Sim um amigo mas foi para frança não está cá.\\n6. Encerramento Policial: \"Agradeço pela sua cooperação. Esta gravação será analisada junto com as outras provas. Se houver algo mais que queira acrescentar ou ajustar na sua declaração, este é o momento.\" Suspeito: Não tenho mais nada. Policial: \"Muito bem, por ora é isso. O senhor será informado sobre os próximos passos do processo. Obrigado pelo seu tempo.\"\\nObservações Adicionais:\\nO tom do policial deve alternar entre acolhedor (para encorajar o suspeito a falar) e assertivo (para pressionar o suspeito quando necessário).\\nO suspeito pode demonstrar nervosismo, hesitação ou mesmo agressividade, dependendo do perfil criado para ele.\\nO vídeo pode incluir legendas para indicar momentos importantes, como \"Prova apresentada\" ou \"Resposta inconsistente\".\\nRoteiro de Entrevista Simulada – Caso de Vandalismo em Porto\\nContexto: Suspeito: Um jovem acusado de vandalizar um café no Porto, quebrando janelas e pichando as paredes durante a madrugada.\\nProvas:\\nImagens de câmeras de segurança mostram um indivíduo com características semelhantes ao suspeito.\\nO suspeito foi encontrado próximo ao local na mesma noite, com tinta spray em sua mochila.\\nAlegação do suspeito: Ele nega qualquer envolvimento e afirma que estava apenas voltando para casa de uma festa.\\nCena:\\nLocal: Sala de interrogatório simples. O suspeito está sentado de forma desconfortável, enquanto o policial mantém um tom calmo, mas firme.\\nRoteiro:\\n1. Introdução Policial: \"Boa tarde, Pedro Vasco. Esta entrevista está sendo gravada e faz parte de uma investigação sobre vandalismo ocorrido no café Marianita, na madrugada de 03 de dezembro de 2023. O senhor tem o direito de permanecer em silêncio e de sol
]
},
"execution_count": 238,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"textojunto = juntarperguntasrespostas(entrevistas)\n",
"textojunto"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Vamos agora pegar na variável *textojunto* e identificar o top 15 de palavras mais verificadas como temos a palavra **'suspeito'** e **'policial'** que aparecem constantemente no nosso texto, iremos procurar o top17 e não considerar as duas primeiras observações (correpondentes a **'suspeito'** e **'policial'**)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Palavras</th>\n",
" <th>Frequência</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>pode</td>\n",
" <td>28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>sim</td>\n",
" <td>27</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>provas</td>\n",
" <td>24</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>tiago</td>\n",
" <td>17</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>senhor</td>\n",
" <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>local</td>\n",
" <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>algo</td>\n",
" <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>roteiro</td>\n",
" <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>caso</td>\n",
" <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>imagens</td>\n",
" <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>suspeita</td>\n",
" <td>15</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>joão</td>\n",
" <td>14</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>entrevista</td>\n",
" <td>14</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>escola</td>\n",
" <td>14</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>orientador</td>\n",
" <td>14</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Palavras Frequência\n",
"0 pode 28\n",
"1 sim 27\n",
"2 provas 24\n",
"3 tiago 17\n",
"4 senhor 15\n",
"5 local 15\n",
"6 algo 15\n",
"7 roteiro 15\n",
"8 caso 15\n",
"9 imagens 15\n",
"10 suspeita 15\n",
"11 joão 14\n",
"12 entrevista 14\n",
"13 escola 14\n",
"14 orientador 14"
]
},
"execution_count": 266,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"stop_words = set(stopwords.words(\"portuguese\"))\n",
"palavras = word_tokenize(textojunto.lower())\n",
"palavrasfiltradas = [palavra for palavra in palavras if palavra.isalpha() and palavra not in stop_words]\n",
"contagempalavras = Counter(palavrasfiltradas)\n",
"top15palavras = contagempalavras.most_common(17)\n",
"pd.DataFrame(top15palavras[2:17], columns=['Palavras','Frequência'])\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAGpCAYAAAAQvaAuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd5xdZZ3/36fePr1mksmkTnrvCYEA0hEEFVYFewFx1bWvP9d1d3XVtayIK2tFUJAFpEkIHZJAeu89k+m93X7K8/vjTgYmM5O5M3OnJJz3vmYj97TvOffcc57P822SEELg4ODg4ODg4ODg4OAwCOSRNsDBwcHBwcHBwcHB4cLHERYODg4ODg4ODg4ODoPGERYODg4ODg4ODg4ODoPGERYODg4ODg4ODg4ODoPGERYODg4ODg4ODg4ODoPGERYODg4ODg4ODg4ODoPGERYODg4ODg4ODg4ODoPGERYODg4ODg4ODg4ODoPGERYODg4ODg4OKcXpvevg8O7EERYODhcQX/ziF1m6dGm3z/ft20dpaSkLFizAMIwuy/bv309paSlPPfXUkNhUWlrKL3/5yz7Xa2tr47777uPGG29k/vz5LF++nI9+9KO8+uqrXdb75je/yeWXXz4ktvbE5Zdfzje/+c2U7/ehhx7q8TzKysooLS3t9nfDDTf0uq+Kiopu60+bNo358+dzyy238Pjjj/fbvmS/t9HMHXfcQWlpKbfffnuv63z5y1+mtLS039/xHXfcwR133DEo+y6//PIev+uzf01NTYPa/2jlscce40c/+tFIm+Hg4DACqCNtgIODQ/IsX76cdevWcfLkSSZOnNj5+YYNG8jIyKClpYVdu3axZMmSzmXbt28HYOXKlcNu71lOnDjBpz/9aWzb5s4772TatGmEw2GeffZZ7rrrLr74xS9y9913j5h9qea5557jhz/8Ifn5+d2WHTp0CIAHHngAj8fT+bnb7e5zv3fddReXXXYZkJgRDoVCPPbYY3z729/GNM3zDrAvVmRZZvfu3dTU1FBQUNBlWTgc5rXXXhvQfr/73e+mwjwuvfTSXu/ttLS0lBxjtPHrX/+6yzPIwcHh3YMjLBwcLiCWL18OwM6dO7sIi40bN3LNNdewfv16NmzY0OWlvm3bNqZOnUpubu6w2wtgGAZf+tKX0DSNhx9+mOzs7M5lV155Jd/5znf4xS9+weWXX860adNGxMZU0djYyC9+8QseffRRMjIyelzn0KFDFBQUdH6X/aG4uJh58+Z1+WzFihUcPnyYBx544F0pLGbMmMHx48dZt24dH/vYx7ose+211/B4PAMawE+ePDkl9mVlZXX7zhwcHBwuVpxQKAeHC4jx48dTVFTEzp07Oz9rb29nz549rFixguXLl7Nx48Yu2+zYsaOLt+L06dP84z/+IytXrmTevHnccccd7Nixo3P52bCbP/7xj1xzzTXMnTuXJ554AoCtW7dy2223MXfuXK6++mreeuutPm1+4403OHr0KF/84he7iIqz/OM//iMf+chHME2zx+0ty+Ivf/kLN954I3PmzOGyyy7jJz/5CbFYrHOdnsJWtmzZQmlpKVu2bOn87PDhw3z84x9n/vz5rFmzhmeeeaZP+/vD/fffz8aNG/nlL3/JmjVrelzn8OHDTJ8+PWXHlGWZ6dOnU1VV1flZRUUFX//611m1ahUzZ85k+fLlfP3rX6e5ubnX/Rw+fJh77rmHZcuWMXPmTC655BL+4z/+g2g0CsAnPvEJbrnllm7b3X333bz3ve8FEmFsH/3oR/nud7/LggULuO6667Asi6amJr73ve+xZs0aZs2axZIlS/j85z9PRUVF537OnDnD5z73OZYuXcrcuXO57bbbeOONN/o8f6/Xy6WXXsq6deu6LVu7di1XX301qtp1Di0Ze869p958800++MEPMn/+fBYvXsxdd93FiRMn+rQvGUpLS7nvvvu45ZZbmDNnDvfddx8AVVVV/NM//RNLlixh7ty5fPSjH+XgwYNdtm1paeEb3/gGS5YsYcmSJfzgBz/g3nvv7RKG11O439/+9jdKS0u7nPPRo0f57Gc/y4IFC1iwYAGf//znKS8v71x+9je1adMmPvGJTzB37lxWrlzJf/3Xf2FZVuexKisrefLJJ7vsP5lz+fvf/8573/te5syZw7Jly/jqV79KbW1tCq6wg4PDcOEICweHC4xly5Z1ERabNm1CCMHy5ctZtWoVhw4doqGhAYDjx4/T3NzcKSyOHz/OLbfcQkVFBf/v//0/fvKTnyBJEh/96EfZunVrl+P88pe/5NOf/jQ//vGPWblyJQcOHOATn/gEgUCAe++9lzvvvJN/+qd/6tPe9evXoygKl156aY/Lc3Nz+c53vsOsWbN6XP4v//Iv/Od//idXXnklv/71r/nwhz/Mn//8Z+6+++5+JYjW1tbykY98hPb2dv7rv/6LL37xi/zkJz9J6cDl9ttv54UXXuCqq67qdZ1Dhw4RCoW4/fbbmT17NitXruQnP/lJt9yY/nDq1CmKi4sBiEQi3HnnnZw4cYLvfve7/P73v+fOO+/kueee4+c//3mP29fV1fHhD3+YSCTCD3/4Q377299y/fXX89BDD/Hggw8C8N73vpcDBw5QVlbWuV1bWxvr16/npptu6vxs+/btVFdX86tf/YqvfOUryLLMZz/7Wd58802++tWv8vvf/5577rmHTZs2dYYb2bbNZz/7WSKRCD/+8Y/5n//5HzIyMrjrrru6HK83rrvuus5wqLMEg0HWr1/fLXdFCNGnPedSXl7O3XffzaxZs/j1r3/N97//fU6dOsVnPvMZbNs+r21CCEzT7PZ3Lvfffz833ngj9957L1dffTVNTU3cfvvtHDhwgO985zv89Kc/xbZtPvzhD3cKGtu2+dSnPsX69ev52te+xg9+8AN2797Nn//85z6v2bmcOnWK22+/ncbGRn70ox/x/e9/n/Lycv7hH/6BxsbGLut+9atfZeHChdx///3ccMMN/O53v+Oxxx4D4L777iM3N5dLL72URx99lLy8vKTOZceOHXz961/nqquu4re//S3f+ta32Lx5M1/5ylf6fS4ODg4jhxMK5eBwgbF8+XKeeOIJmpqayMrKYsOGDcyZM4e0tDRWrFiBJEls3LiRm2++mW3btqHrOosXLwYSL31d13nwwQfx+/0AXHbZZdxwww38+Mc/7pIEfO2113Lrrbd2/vcPfvADsrOz+fWvf42maQBkZmby5S9/+bz21tTUkJmZic/n6/e5Hj9+nMcff5yvfOUrfOYznwESuSJ5eXl8/etfZ/369b0KlnN54IEHsCyL3/zmN2RlZQEwYcIEPvjBD/bbrt6YNGnSeZc3NTVRW1uLZVl87WtfY8yYMWzatInf/va3VFdX89Of/vS829u23TkotW2b2tpaHnroIQ4fPsy//uu/AgmPVEFBAT/60Y8YN24ckBCje/bs6SYez3L06FGmT5/OL37xi877YsWKFbz55pts2bKFz3zmM1x11VV873vf4+9//zuf//znAXjxxRexLKvL4N00Tf7t3/6tM9+htrYWj8fDN77xDRYtWgTA0qVLOXPmDI8++iiQCCE7efIkd999d+f3eXbmPh6Pn/eaQOIe9ng8XcKhXnrpJbKzs1m4cGGXdevq6vq051z27t1LNBrls5/9bGfeTEFBAa+88grhcLjzmvXEU0891WPhhEcffbRLiNSiRYv4+Mc/3vnfP//5z2lpaeGRRx6hqKgIgNWrV3Pdddfxi1/8gnvvvZc33niDffv28b//+7+duTfLli3jiiuuOO/16on77rsPj8fDAw880Hk+y5cv58orr+R3v/sd3/jGNzrX/cAHPtB5DyxfvpyXX36Z119/ndtvv50ZM2ag63qXELA//elPfZ7Ljh07cLvdfOYzn0HXdQAyMjLYt28fQggkSer3OTk4OAw/jrBwcLjAOBubv2vXLq644go2btzYKQAyMjKYOXMmb731FjfffDPbt29nwYIFnYnBW7duZc2aNV0GQqqqcv311/OrX/2KUCjU+fm54To7duxgzZo1naIC4Kq
"text/plain": [
"<Figure size 1000x500 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"wordclouddata = dict(top15palavras[2:17])\n",
"wordclouddata\n",
"wordcloud = WordCloud(width=800, height=400, background_color=\"white\", colormap=\"viridis\").generate_from_frequencies(wordclouddata)\n",
"plt.figure(figsize=(10, 5))\n",
"plt.imshow(wordcloud, interpolation=\"bilinear\")\n",
"plt.axis(\"off\")\n",
"plt.title(\"15 Palavras Mais Frequentes\")\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 304,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Sentiment(polarity=0.03273809523809525, subjectivity=0.3726190476190476)"
]
},
"execution_count": 304,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sentimento = TextBlob(textojunto).sentiment\n",
"sentimento"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"nlp = spacy.load(\"pt_core_news_sm\")\n",
"doc = nlp(textojunto)\n",
"for ent in doc.ents:\n",
" print(ent.text, ent.label_)"
]
},
{
"cell_type": "code",
"execution_count": 305,
"metadata": {},
"outputs": [],
"source": [
"chunk_size = 1000000\n",
"entity_counts = Counter()\n",
"chunks = [textojunto[i:i + chunk_size] for i in range(0, len(textojunto), chunk_size)]\n",
"words = []\n",
"for chunk in chunks:\n",
" doc = nlp(chunk)\n",
" for ent in doc.ents:\n",
" entity_counts[ent.label_] += 1\n",
"total_entities = sum(entity_counts.values())\n",
"entity_percentages = {ent: (count / total_entities) * 100 for ent, count in entity_counts.items()}"
]
},
{
"cell_type": "code",
"execution_count": 306,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Valores Absolutos</th>\n",
" <th>Valores Relativos (%)</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>PER</th>\n",
" <td>79</td>\n",
" <td>31.98</td>\n",
" </tr>\n",
" <tr>\n",
" <th>LOC</th>\n",
" <td>45</td>\n",
" <td>18.22</td>\n",
" </tr>\n",
" <tr>\n",
" <th>MISC</th>\n",
" <td>96</td>\n",
" <td>38.87</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ORG</th>\n",
" <td>27</td>\n",
" <td>10.93</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Valores Absolutos Valores Relativos (%)\n",
"PER 79 31.98\n",
"LOC 45 18.22\n",
"MISC 96 38.87\n",
"ORG 27 10.93"
]
},
"execution_count": 306,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dfentityvdcounts = pd.DataFrame.from_dict(entity_counts, orient='index', columns=['Valores Absolutos'])\n",
"total = dfentityvdcounts['Valores Absolutos'].sum()\n",
"dfentityvdcounts['Valores Relativos (%)'] = (dfentityvdcounts['Valores Absolutos'] / total) * 100\n",
"dfentityvdcounts.round(2)"
]
},
{
"cell_type": "code",
"execution_count": 308,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x257ead14dd0>"
]
},
"execution_count": 308,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"grafico(2)\n",
"plt.pie(dfentityvdcounts['Valores Relativos (%)'], autopct='%1.1f%%')\n",
"plt.title('Distribuição das Entidades no dataset', color='Darkblue')\n",
"plt.legend(dfentityvdcounts.index, loc='upper right', bbox_to_anchor=(1.3, 1))"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "base",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}