[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-abdulfatir--twitter-sentiment-analysis":3,"tool-abdulfatir--twitter-sentiment-analysis":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",159267,2,"2026-04-17T11:29:14",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":87,"forks":88,"last_commit_at":89,"license":90,"difficulty_score":32,"env_os":91,"env_gpu":92,"env_ram":93,"env_deps":94,"category_tags":105,"github_topics":106,"view_count":32,"oss_zip_url":114,"oss_zip_packed_at":114,"status":17,"created_at":115,"updated_at":116,"faqs":117,"releases":158},8591,"abdulfatir\u002Ftwitter-sentiment-analysis","twitter-sentiment-analysis","Sentiment analysis on tweets using Naive Bayes, SVM, CNN, LSTM, etc.","twitter-sentiment-analysis 是一个专注于推特文本情感分析的开源项目，旨在帮助开发者识别推文中的情绪倾向（正面或负面）。它主要解决了从海量社交媒体数据中自动提取用户态度这一难题，将非结构化的文本转化为可量化的分类结果。\n\n该项目非常适合人工智能初学者、数据科学研究人员以及希望快速搭建情感分析原型的开发者使用。作为一份课程项目的成果，虽然其原始数据集因版权原因未公开，但其完整的代码架构极具参考价值，用户可以轻松替换为自己的数据进行实验。\n\n其核心亮点在于提供了极其丰富的算法对比方案。它不仅涵盖了朴素贝叶斯、支持向量机（SVM）、决策树、随机森林和 XGBoost 等传统机器学习方法，还集成了基于 Keras 和 TensorFlow 的深度学习模型，包括多层感知机（MLP）、长短期记忆网络（LSTM）以及卷积神经网络（CNN）。通过内置的预处理脚本和模块化设计，用户可以方便地调整特征类型（如 uni-grams 或 bi-grams），直观地比较不同算法在相同任务上的表现，是学习自然语言处理和多模型对比研究的优秀实践素材。","# Sentiment Analysis on Tweets\n\n![Status badge](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FStatus-Archived-important)\n\n**Update**(21 Sept. 2018): I don't actively maintain this repository. This work was done for a course project and the dataset cannot be released because I don't own the copyright. However, everything in this repository can be easily modified to work with other datasets. I recommend reading the [sloppily written project report](https:\u002F\u002Fgithub.com\u002Fabdulfatir\u002Ftwitter-sentiment-analysis\u002Ftree\u002Fmaster\u002Fdocs\u002Freport.pdf) for this project which can be found in `docs\u002F`.\n\n## Dataset Information\n\nWe use and compare various different methods for sentiment analysis on tweets (a binary classification problem). The training dataset is expected to be a csv file of type `tweet_id,sentiment,tweet` where the `tweet_id` is a unique integer identifying the tweet, `sentiment` is either `1` (positive) or `0` (negative), and `tweet` is the tweet enclosed in `\"\"`. Similarly, the test dataset is a csv file of type `tweet_id,tweet`. Please note that csv headers are not expected and should be removed from the training and test datasets.  \n\n## Requirements\n\nThere are some general library requirements for the project and some which are specific to individual methods. The general requirements are as follows.  \n* `numpy`\n* `scikit-learn`\n* `scipy`\n* `nltk`\n\nThe library requirements specific to some methods are:\n* `keras` with `TensorFlow` backend for Logistic Regression, MLP, RNN (LSTM), and CNN.\n* `xgboost` for XGBoost.\n\n**Note**: It is recommended to use Anaconda distribution of Python.\n\n## Usage\n\n### Preprocessing \n\n1. Run `preprocess.py \u003Craw-csv-path>` on both train and test data. This will generate a preprocessed version of the dataset.\n2. Run `stats.py \u003Cpreprocessed-csv-path>` where `\u003Cpreprocessed-csv-path>` is the path of csv generated from `preprocess.py`. This gives general statistical information about the dataset and will two pickle files which are the frequency distribution of unigrams and bigrams in the training dataset. \n\nAfter the above steps, you should have four files in total: `\u003Cpreprocessed-train-csv>`, `\u003Cpreprocessed-test-csv>`, `\u003Cfreqdist>`, and `\u003Cfreqdist-bi>` which are preprocessed train dataset, preprocessed test dataset, frequency distribution of unigrams and frequency distribution of bigrams respectively.\n\nFor all the methods that follow, change the values of `TRAIN_PROCESSED_FILE`, `TEST_PROCESSED_FILE`, `FREQ_DIST_FILE`, and `BI_FREQ_DIST_FILE` to your own paths in the respective files. Wherever applicable, values of `USE_BIGRAMS` and `FEAT_TYPE` can be changed to obtain results using different types of features as described in report.\n\n### Baseline\n3. Run `baseline.py`. With `TRAIN = True` it will show the accuracy results on training dataset.\n\n### Naive Bayes\n4. Run `naivebayes.py`. With `TRAIN = True` it will show the accuracy results on 10% validation dataset.\n\n### Maximum Entropy\n5. Run `logistic.py` to run logistic regression model OR run `maxent-nltk.py \u003C>` to run MaxEnt model of NLTK. With `TRAIN = True` it will show the accuracy results on 10% validation dataset.\n\n### Decision Tree\n6. Run `decisiontree.py`. With `TRAIN = True` it will show the accuracy results on 10% validation dataset.\n\n### Random Forest\n7. Run `randomforest.py`. With `TRAIN = True` it will show the accuracy results on 10% validation dataset.\n\n### XGBoost\n8. Run `xgboost.py`. With `TRAIN = True` it will show the accuracy results on 10% validation dataset.\n\n### SVM\n9. Run `svm.py`. With `TRAIN = True` it will show the accuracy results on 10% validation dataset.\n\n### Multi-Layer Perceptron\n10. Run `neuralnet.py`. Will validate using 10% data and save the best model to `best_mlp_model.h5`.\n\n### Reccurent Neural Networks\n11. Run `lstm.py`. Will validate using 10% data and save models for each epock in `.\u002Fmodels\u002F`. (Please make sure this directory exists before running `lstm.py`).\n\n### Convolutional Neural Networks\n12. Run `cnn.py`. This will run the 4-Conv-NN (4 conv layers neural network) model as described in the report. To run other versions of CNN, just comment or remove the lines where Conv layers are added. Will validate using 10% data and save models for each epoch in `.\u002Fmodels\u002F`. (Please make sure this directory exists before running `cnn.py`). \n\n### Majority Vote Ensemble\n13. To extract penultimate layer features for the training dataset, run `extract-cnn-feats.py \u003Csaved-model>`. This will generate 3 files, `train-feats.npy`, `train-labels.txt` and `test-feats.npy`.\n14. Run `cnn-feats-svm.py` which uses files from the previous step to perform SVM classification on features extracted from CNN model.\n15. Place all prediction CSV files for which you want to take majority vote in `.\u002Fresults\u002F` and run `majority-voting.py`. This will generate `majority-voting.csv`.\n\n## Information about other files\n\n* `dataset\u002Fpositive-words.txt`: List of positive words.\n* `dataset\u002Fnegative-words.txt`: List of negative words.\n* `dataset\u002Fglove-seeds.txt`: GloVe words vectors from StanfordNLP which match our dataset for seeding word embeddings.\n* `Plots.ipynb`: IPython notebook used to generate plots present in report.\n","# 推文情感分析\n\n![状态徽章](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FStatus-Archived-important)\n\n**更新**（2018年9月21日）：我目前不再积极维护这个仓库。这项工作是为一门课程项目完成的，由于我不拥有数据集的版权，因此无法公开数据集。不过，本仓库中的所有内容都可以轻松修改以适用于其他数据集。建议阅读该项目的[草率编写的项目报告](https:\u002F\u002Fgithub.com\u002Fabdulfatir\u002Ftwitter-sentiment-analysis\u002Ftree\u002Fmaster\u002Fdocs\u002Freport.pdf)，该报告位于`docs\u002F`目录下。\n\n## 数据集信息\n\n我们使用并比较了多种不同的方法来进行推文的情感分析（二分类问题）。训练数据集应为一个CSV文件，格式为`tweet_id,sentiment,tweet`，其中`tweet_id`是唯一标识推文的整数，`sentiment`为`1`（正面）或`0`（负面），`tweet`则是用双引号括起来的推文内容。同样地，测试数据集也是一个CSV文件，格式为`tweet_id,tweet`。请注意，训练和测试数据集中不应包含CSV表头，应将其移除。\n\n## 需求\n\n项目有一些通用的库需求，也有一些特定于个别方法的需求。通用需求如下：\n* `numpy`\n* `scikit-learn`\n* `scipy`\n* `nltk`\n\n部分方法特有的库需求包括：\n* 对于逻辑回归、多层感知机、循环神经网络（LSTM）和卷积神经网络，需要使用`keras`配合`TensorFlow`后端。\n* 对于XGBoost，则需要`xgboost`。\n\n**注意**：建议使用Anaconda发行版的Python。\n\n## 使用方法\n\n### 预处理\n\n1. 对训练集和测试集分别运行`preprocess.py \u003Craw-csv-path>`，这将生成预处理后的数据集版本。\n2. 运行`stats.py \u003Cpreprocessed-csv-path>`，其中`\u003Cpreprocessed-csv-path>`是由`preprocess.py`生成的CSV文件路径。此步骤会提供关于数据集的一般统计信息，并生成两个pickle文件，分别是训练集中一元组和二元组的频率分布。\n\n完成上述步骤后，您应该总共得到四个文件：`\u003Cpreprocessed-train-csv>`、`\u003Cpreprocessed-test-csv>`、`\u003Cfreqdist>`和`\u003Cfreqdist-bi>`，分别代表预处理后的训练集、测试集、一元组频率分布和二元组频率分布。\n\n对于后续的所有方法，请在相应文件中将`TRAIN_PROCESSED_FILE`、`TEST_PROCESSED_FILE`、`FREQ_DIST_FILE`和`BI_FREQ_DIST_FILE`的值替换为您自己的文件路径。在适用的情况下，还可以调整`USE_BIGRAMS`和`FEAT_TYPE`的值，以根据报告中的描述使用不同类型的特征来获得结果。\n\n### 基线方法\n3. 运行`baseline.py`。当`TRAIN = True`时，它将显示在训练集上的准确率结果。\n\n### 朴素贝叶斯\n4. 运行`naivebayes.py`。当`TRAIN = True`时，它将显示在10%验证集上的准确率结果。\n\n### 最大熵模型\n5. 运行`logistic.py`以运行逻辑回归模型，或者运行`maxent-nltk.py \u003C>`以运行NLTK的最大熵模型。当`TRAIN = True`时，它将显示在10%验证集上的准确率结果。\n\n### 决策树\n6. 运行`decisiontree.py`。当`TRAIN = True`时，它将显示在10%验证集上的准确率结果。\n\n### 随机森林\n7. 运行`randomforest.py`。当`TRAIN = True`时，它将显示在10%验证集上的准确率结果。\n\n### XGBoost\n8. 运行`xgboost.py`。当`TRAIN = True`时，它将显示在10%验证集上的准确率结果。\n\n### 支持向量机\n9. 运行`svm.py`。当`TRAIN = True`时，它将显示在10%验证集上的准确率结果。\n\n### 多层感知机\n10. 运行`neuralnet.py`。它将使用10%的数据进行验证，并将最佳模型保存到`best_mlp_model.h5`。\n\n### 循环神经网络\n11. 运行`lstm.py`。它将使用10%的数据进行验证，并将每个epoch的模型保存到`.\u002Fmodels\u002F`目录中。（请确保在运行`lstm.py`之前该目录已存在）。\n\n### 卷积神经网络\n12. 运行`cnn.py`。这将运行报告中描述的4层卷积神经网络模型。要运行其他版本的CNN，只需注释或删除添加卷积层的代码行即可。它将使用10%的数据进行验证，并将每个epoch的模型保存到`.\u002Fmodels\u002F`目录中。（请确保在运行`cnn.py`之前该目录已存在）。\n\n### 多数投票集成\n13. 要提取训练集的倒数第二层特征，运行`extract-cnn-feats.py \u003Csaved-model>`。这将生成三个文件：`train-feats.npy`、`train-labels.txt`和`test-feats.npy`。\n14. 运行`cnn-feats-svm.py`，它将使用上一步生成的文件对从CNN模型中提取的特征进行SVM分类。\n15. 将您希望进行多数投票的所有预测CSV文件放入`.\u002Fresults\u002F`目录中，然后运行`majority-voting.py`。这将生成`majority-voting.csv`。\n\n## 其他文件说明\n\n* `dataset\u002Fpositive-words.txt`：正面词汇列表。\n* `dataset\u002Fnegative-words.txt`：负面词汇列表。\n* `dataset\u002Fglove-seeds.txt`：来自StanfordNLP的GloVe词向量，与我们的数据集匹配，用于初始化词嵌入。\n* `Plots.ipynb`：用于生成报告中所展示图表的IPython笔记本。","# twitter-sentiment-analysis 快速上手指南\n\n> **注意**：本项目状态为 **Archived（已归档）**，作者不再积极维护。原始数据集因版权原因无法提供，但代码结构清晰，可轻松修改以适配其他推特情感分析数据集。\n\n## 环境准备\n\n### 系统要求\n- 推荐操作系统：Linux \u002F macOS \u002F Windows\n- Python 版本：建议 Python 3.6+\n- **强烈推荐使用 Anaconda 发行版** 以简化依赖管理。\n\n### 前置依赖\n本项目依赖以下通用库及部分特定算法库：\n\n**通用依赖：**\n- `numpy`\n- `scikit-learn`\n- `scipy`\n- `nltk`\n\n**特定算法依赖（按需安装）：**\n- `keras` (后端需配置 `TensorFlow`)：用于逻辑回归、MLP、RNN (LSTM) 和 CNN。\n- `xgboost`：用于 XGBoost 模型。\n\n## 安装步骤\n\n1. **创建并激活虚拟环境（推荐）**\n   ```bash\n   conda create -n sentiment python=3.8\n   conda activate sentiment\n   ```\n\n2. **安装基础依赖**\n   建议使用国内镜像源（如清华源）加速安装：\n   ```bash\n   pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple numpy scikit-learn scipy nltk\n   ```\n\n3. **安装深度学习与增强树库**\n   ```bash\n   # 安装 Keras 和 TensorFlow\n   pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple keras tensorflow\n   \n   # 安装 XGBoost\n   pip install -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple xgboost\n   ```\n\n4. **下载 NLTK 数据**\n   首次运行前需下载必要的 NLTK 数据包（在 Python 交互环境中执行）：\n   ```python\n   import nltk\n   nltk.download('punkt')\n   nltk.download('stopwords')\n   nltk.download('wordnet')\n   ```\n\n## 基本使用\n\n### 1. 数据准备\n本项目期望的输入数据格式为 CSV 文件（**不含表头**）：\n- **训练集** (`train.csv`)：格式为 `tweet_id,sentiment,tweet`。其中 `sentiment` 为 `1` (正面) 或 `0` (负面)，`tweet` 内容需用双引号包裹。\n- **测试集** (`test.csv`)：格式为 `tweet_id,tweet`。\n\n请将您的原始数据放置在项目目录中，假设路径为 `data\u002Fraw_train.csv` 和 `data\u002Fraw_test.csv`。\n\n### 2. 数据预处理\n必须先将原始数据转换为项目可用的格式。\n\n**步骤 A：运行预处理脚本**\n对训练集和测试集分别执行：\n```bash\npython preprocess.py data\u002Fraw_train.csv\npython preprocess.py data\u002Fraw_test.csv\n```\n*生成文件：`preprocessed_train.csv`, `preprocessed_test.csv`*\n\n**步骤 B：生成统计信息与特征分布**\n```bash\npython stats.py preprocessed_train.csv\n```\n*生成文件：`freqdist` (一元语法频率), `freqdist-bi` (二元语法频率)*\n\n### 3. 配置路径\n在运行具体模型脚本前，请打开对应的 `.py` 文件（如 `baseline.py`, `naivebayes.py` 等），修改顶部的文件路径变量以匹配您的实际文件位置：\n\n```python\nTRAIN_PROCESSED_FILE = 'preprocessed_train.csv'\nTEST_PROCESSED_FILE = 'preprocessed_test.csv'\nFREQ_DIST_FILE = 'freqdist'\nBI_FREQ_DIST_FILE = 'freqdist-bi'\n```\n*注：可根据需要调整 `USE_BIGRAMS` 和 `FEAT_TYPE` 参数以尝试不同特征组合。*\n\n### 4. 运行模型示例\n确保将对应脚本中的 `TRAIN` 变量设置为 `True` 以进行训练和验证。\n\n**示例：运行朴素贝叶斯 (Naive Bayes)**\n```bash\npython naivebayes.py\n```\n*输出：将在 10% 的验证集上显示准确率结果。*\n\n**示例：运行逻辑回归 (Logistic Regression)**\n```bash\npython logistic.py\n```\n\n**示例：运行卷积神经网络 (CNN)**\n*注意：运行前请确保当前目录下存在 `.\u002Fmodels\u002F` 文件夹。*\n```bash\nmkdir -p models\npython cnn.py\n```\n*输出：使用 10% 数据验证，并将每个 epoch 的模型保存至 `.\u002Fmodels\u002F`。*\n\n### 5. 结果集成（可选）\n若需使用多数投票机制集成多个模型的结果：\n1. 将各模型生成的预测 CSV 文件放入 `.\u002Fresults\u002F` 目录。\n2. 运行集成脚本：\n   ```bash\n   python majority-voting.py\n   ```\n   *生成文件：`majority-voting.csv`*","某电商公司的数据团队需要实时监控社交媒体上用户对新发布手机的评价，以便快速调整营销策略。\n\n### 没有 twitter-sentiment-analysis 时\n- 分析师只能依靠人工抽样阅读海量推文，效率极低且无法覆盖全部数据，导致市场反馈滞后。\n- 缺乏统一的算法对比框架，难以判断朴素贝叶斯、SVM 或深度学习模型中哪一个最适合当前的短文本语境。\n- 数据预处理流程混乱，缺少标准化的清洗脚本（如去除噪声、提取 uni\u002Fbi-grams），导致模型输入质量参差不齐。\n- 无法量化情感趋势，面对突发负面舆情时，只能凭经验猜测严重性，缺乏数据支撑的决策依据。\n\n### 使用 twitter-sentiment-analysis 后\n- 利用内置的预处理脚本（preprocess.py）自动清洗并标准化数据集，将原本数天的手工整理工作缩短至分钟级。\n- 通过一键运行不同模型脚本（从 baseline 到 CNN\u002FLSTM），快速对比各算法在验证集上的准确率，锁定最优分类器。\n- 基于训练好的模型批量处理实时推文流，自动生成正负面情感比例报表，实现了对舆论风向的秒级监控。\n- 借助详细的统计信息输出（stats.py），团队能深入分析高频词分布，精准定位用户吐槽的具体功能点。\n\ntwitter-sentiment-analysis 将杂乱的非结构化社交文本转化为可量化的商业洞察，让企业从“被动猜测”转向“主动响应”。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fabdulfatir_twitter-sentiment-analysis_a2ab80c5.png","abdulfatir","Abdul Fatir","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fabdulfatir_1a7ee8ad.jpg","Applied Scientist, @aws","Amazon Web Services","Berlin","Abdulfatirs@gmail.com","solitarypenman","https:\u002F\u002Fabdulfatir.com","https:\u002F\u002Fgithub.com\u002Fabdulfatir",[83],{"name":84,"color":85,"percentage":86},"Python","#3572A5",100,1641,606,"2026-04-10T11:54:17","MIT","","未说明（但运行 Keras\u002FTensorFlow 后端的 LSTM 和 CNN 模型通常建议使用 GPU）","未说明",{"notes":95,"python":96,"dependencies":97},"该项目已于 2018 年归档，不再积极维护。原始数据集因版权问题无法提供，但代码可修改以适配其他格式为 'tweet_id,sentiment,tweet' 的 CSV 数据集。运行深度学习模型（LSTM\u002FCNN）前需手动创建 '.\u002Fmodels\u002F' 目录。部分脚本需要设置 TRAIN=True 才能在验证集上显示准确率结果。","未说明（推荐使用 Anaconda 发行版）",[98,99,100,101,102,103,104],"numpy","scikit-learn","scipy","nltk","keras","tensorflow","xgboost",[35,14],[107,108,109,110,111,102,112,113],"machine-learning","deeplearning","sentiment-analysis","sentiment-classification","cnn","python","lstm",null,"2026-03-27T02:49:30.150509","2026-04-18T02:22:25.357595",[118,123,128,133,138,143,148,153],{"id":119,"question_zh":120,"answer_zh":121,"source_url":122},38506,"如何获取该项目使用的数据集？","原始数据集来自一个 Kaggle 课堂竞赛（https:\u002F\u002Fwww.kaggle.com\u002Fc\u002Fcs5228-project-2），由于是内部竞赛，数据不公开。建议用户在网络上搜索其他公开的 Twitter 情感分析数据集来替代使用。","https:\u002F\u002Fgithub.com\u002Fabdulfatir\u002Ftwitter-sentiment-analysis\u002Fissues\u002F1",{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},38507,"在哪里可以下载 Glove-seed.txt 文件？","Glove 词向量种子文件可以从 StanfordNLP 官网下载：http:\u002F\u002Fnlp.stanford.edu\u002Fdata\u002Fglove.twitter.27B.zip。解压后，请选用 200 维度的 txt 文件（glove.twitter.27B.200d.txt）并将其重命名或配置为代码中所需的路径。","https:\u002F\u002Fgithub.com\u002Fabdulfatir\u002Ftwitter-sentiment-analysis\u002Fissues\u002F11",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},38508,"运行 preprocess.py 时遇到 'No module found' 错误怎么办？","该错误通常是因为缺少必要的依赖库。请确保已安装 `nltk` 库。可以使用命令 `pip install nltk` 进行安装。如果是 Python 2.7 环境且遇到架构问题，请检查 NLTK 的兼容性，但通常直接安装即可解决。","https:\u002F\u002Fgithub.com\u002Fabdulfatir\u002Ftwitter-sentiment-analysis\u002Fissues\u002F5",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},38509,"如何运行预处理脚本（preprocess.py）？需要修改代码中的文件路径吗？","不需要修改代码内部路径。直接在命令行中运行脚本并传入 CSV 文件路径作为参数即可。命令格式为：`python preprocess.py \u003Ccsv_file_name>`，其中 `\u003Ccsv_file_name>` 是你的训练或测试 CSV 文件的路径。","https:\u002F\u002Fgithub.com\u002Fabdulfatir\u002Ftwitter-sentiment-analysis\u002Fissues\u002F7",{"id":139,"question_zh":140,"answer_zh":141,"source_url":142},38510,"代码中引用的 FREQ_DIST_FILE 等中间文件在哪里下载？","这些文件（如 `train-processed-freqdist.pkl`）不是预先提供的，需要根据你自己的数据集生成。请先运行 `preprocess.py` 处理原始数据，生成的中间文件会自动保存在指定目录，随后才能用于模型训练。","https:\u002F\u002Fgithub.com\u002Fabdulfatir\u002Ftwitter-sentiment-analysis\u002Fissues\u002F3",{"id":144,"question_zh":145,"answer_zh":146,"source_url":147},38511,"如何将预处理后的数据划分为训练集和测试集？","在运行 `preprocess.py` 完成数据预处理后，可以使用 sklearn 库进行划分。示例代码如下：\nfrom sklearn.model_selection import train_test_split\ntrain, test = train_test_split(processed_data, test_size=0.2, random_state=42, shuffle=True)\ntrain.to_csv('train-processed.csv', sep=',', index=False)\ntest.to_csv('test-processed.csv', sep=',', index=False)\n这将把数据按 8:2 比例拆分并保存为 CSV 文件供后续建模使用。","https:\u002F\u002Fgithub.com\u002Fabdulfatir\u002Ftwitter-sentiment-analysis\u002Fissues\u002F24",{"id":149,"question_zh":150,"answer_zh":151,"source_url":152},38512,"这套代码可以用于阿拉伯语或其他语言的情感分析吗？","理论上适用于任何语言。但对于阿拉伯语等没有明确单词边界（word boundaries）的语言，可能需要调整分词逻辑。若要支持特定语言，你需要使用该语言的大规模语料库重新训练 Word2Vec 或 Glove 词向量来生成对应的 seeds 文件，而不是直接使用英文的 Glove 文件。","https:\u002F\u002Fgithub.com\u002Fabdulfatir\u002Ftwitter-sentiment-analysis\u002Fissues\u002F8",{"id":154,"question_zh":155,"answer_zh":156,"source_url":157},38513,"运行预处理脚本时出现 'Permission denied' (权限被拒绝) 错误如何解决？","这通常是因为脚本试图访问的文件路径权限不足，或者路径指向了一个文件夹而非具体的 CSV 文件。请确保：1. 命令中传入的是具体的 `.csv` 文件路径，而不是文件夹路径；2. 当前用户对目标文件拥有读取权限；3. 如果是在 Windows 上，尝试以管理员身份运行终端或检查文件是否被其他程序占用。","https:\u002F\u002Fgithub.com\u002Fabdulfatir\u002Ftwitter-sentiment-analysis\u002Fissues\u002F33",[]]