sarahsouzaa/NLPdaMagalu
GitHub: sarahsouzaa/NLPdaMagalu
基于 Google Gemini Pro API 的客户评论 NLP 分析项目,实现情感分析、主题检测、实体识别和观点极化四项文本分析任务。
Stars: 0 | Forks: 0
# 🤖 基于 Google Gemini AI 的 NLP 分析 — Magalu 客户评论
这是一个利用 Google Gemini Pro API 对客户评论进行自动文本分析的自然语言处理 (NLP) 项目。该项目探讨了四种 NLP 技术:情感分析、主题分析、观点极化检测和实体检测 —— 应用于 Magalu 客户评论的真实数据集。
## 📁 数据集
- **文件:** `dados_magalu.xlsx`
- **使用列:** `review_text` — 客户评论文本
- **过滤:** 仅处理非空的评论条目
## 🛠️ 使用技术
| 库 | 用途 |
|---|---|
| `pandas` | 数据处理和结果累积 |
| `numpy` | 数值支持 |
| `google-generativeai` | Google Gemini Pro API 集成 |
| `datetime` | Prompt 时间戳记录 |
| `time` | API 调用之间的速率限制 |
## 🔌 使用的 API
**Google Gemini Pro — 生成式 AI**
- **模型:** `gemini-pro`
- **配置:** 通过 `google.generativeai` 配置 API key
## 🧠 应用的 NLP 技术
### 1. 💬 情感分析
| 输出 | 含义 |
|---|---|
| Positivo | 正面情绪 |
| Neutro | 中性情绪 |
| Negativo | 负面情绪 |
**输入示例:**
"Meu produto chegou atrasado."
**预期输出:**
Resposta = "Sentimento Negativo"
### 2. 🏷️ 主题分析
**输入示例:**
"Realizei uma compra dia 01/06 do qual apesar do atraso,
após ligar no SAC, o atendente resolveu meu problema e
fiquei satisfeito com o produto."
**预期输出:**
Resposta = "Tópico identificado : Atendimento ao Cliente"
### 3. ⚖️ 观点极化分析
检测文本中的意识形态或社会极化信号,并按主题进行分类。
| 库 | 用途 |
|---|---|
| `pandas` | 数据处理和结果累积 |
| `numpy` | 数值支持 |
| `google-generativeai` | Google Gemini Pro API 集成 |
| `datetime` | Prompt 时间戳记录 |
| `time` | API 调用之间的速率限制 |
输入示例:
"Não gostei do atendimento do SAC, se o rapaz fosse
evangélico certamente seria mais educado."
### 4. 🔍 实体检测
识别并分类文本中提到的命名实体(人物、地点、产品、组织等)。
输入示例:
"Não havia ninguém naquela padaria."
预期输出:
Resposta = "Houve entidade detectada? (sim) : Padaria"
### Prompt 工程
该项目应用了结构化的 Prompt 工程,包含以下组件:
| 输出 | 含义 |
|---|---|
| Positivo | 正面情绪 |
| Neutro | 中性情绪 |
| Negativo | 负面情绪 |
理想输出格式:
{
"Análise de Sentimento": "Neutro",
"Detecção de Entidade": "Estabelecimento",
"Análise de Tópicos": "Reclamação",
"Análise de Polaridade de Opinião": "Político"
}
🔄 批量处理循环
该项目在循环中处理 Magalu 数据集的前 10 条客户评论,逻辑如下:
⏱️ 每次 API 调用之间间隔 2 秒(速率限制)
✅ 将模型的响应解析为 Python 字典
📋 将每个结果追加到累积 DataFrame 中
❌ 使用 try/except 跳过并记录任何失败的响应
📊 结果摘要
处理完成后,通过归一化值计数对累积结果进行分析:
| 类别 | 描述 |
|---|---|
| Político | 政治极化 |
| Social | 社会极化 |
| Cultural | 文化极化 |
| Religioso | 宗教极化 |
🚀 如何运行
克隆本仓库:
git clone https://github.com/sarahsouzaa/nlpdamagalu.git
安装所需的依赖项:
pip install google-generativeai pandas numpy openpyxl
在脚本中或作为环境变量设置你的 Gemini API key。
将数据集 `dados_magalu.xlsx` 放置在根目录下。
运行 notebook 或脚本:
jupyter notebook analysis.ipynb
📂 项目结构
📦 nlp-gemini-magalu
┣ 📜 analysis.ipynb # 主分析 notebook
┣ 📜 dados_magalu.xlsx # 输入数据集 (Magalu 评论)
┗ 📜 README.md # 项目文档
👩💻 作者
Sarah Souza
标签:API集成, DLL 劫持, Gemini Pro, Magalu, NLP, NoSQL, Python, 主题检测, 可观测性, 大语言模型, 实体识别, 客户评论分析, 情感分析, 提示词工程, 数据科学, 文本分类, 无后门, 生成式人工智能, 电商数据分析, 策略决策点, 观点极化, 资源验证, 逆向工具