Javis OS
Javis OS는 기업가를 돕는 에이전시 AI로, 업무를 지원하고 함께 성장합니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Citizen Feedback and Sentiment Analysis System
A modern, AI-powered feedback classification and response platform designed for local government agencies (PhilHealth Cauayan City).
test
This repository contains a full-stack Django application that bridges the gap between public service feedback collection and administrative action. By combining an intuitive public submission workflow with an offline Machine Learning pipeline, the system automatically classifies the sentiment of citizen comments to surface urgent concerns instantly.README 전문 보기 ↗A modern, AI-powered feedback classification and response platform designed for local government agencies (PhilHealth Cauayan City). test This repository contains a full-stack Django application that bridges the gap between public service feedback collection and administrative action. By combining an intuitive public submission workflow with an offline Machine Learning pipeline, the system automatically classifies the sentiment of citizen comments to surface urgent concerns instantly. Administrators are equipped with a comprehensive dashboard containing trends, analytics, action logs, granular reports, and database utilities.
The screenshots below showcase the user interfaces and administrative tools of the system:
Figure 1: Step-by-step form for citizens to log experience ratings and comments.
Figure 2: Success modal displaying unique tracking code after a successful submission.
Figure 3: Secure login portal for administrative staff.
Figure 4: Main analytics dashboard showing metrics, daily/weekly stats, and feedback trends.
Figure 5: Table interface to update statuses, assign categories, and add internal notes/replies.
Figure 6: Real-time sentiment metrics (Positive, Neutral, Negative) and trend over time.
Figure 7: Detailed tabular breakdowns of experience and categorization over custom intervals.
Figure 8: Interface for database backup/restore operations, user accounts, and batch sentiment processing.
FeedbackEntry.topics and shown on the Responses page (column and filter), as "Feedback by Topic" on the Dashboard and Reports (one entry counts once in each topic it names), in the Excel export, and in the daily email. Topics are separate from the staff-assigned Category (complaint, suggestion, compliment, concern). Entries submitted before topics existed have none.Naive Bayes Classifier: A pre-trained scikit-learn pipeline (feedback/ml/sentiment_model.pkl, TF-IDF 1-2 grams + Multinomial Naive Bayes) trained on FiReCS + SentiTaglish, so it reads English, Tagalog, and Taglish comments offline. Training lives in training/train_sentiment_model.ipynb; Cell 19 exports the deployed model.
Deterministic Text Processing: Cleans text exactly as the training notebook does:
stopwords.txt; negation words such as "not" and "hindi" are kept).Replacing the Model: After copying in a new sentiment_model.pkl, re-label every existing comment with python manage.py reanalyze_sentiment --force.
Batch Re-Analysis: Built-in admin utility to re-run predictions across historical entries.
Comment Sentiment: The classifier reads only the comment and stores the result in comment_sentiment. A comment the model cannot classify stays Pending for manual review.
Final Sentiment (rating + comment): sentiment combines the rating with the comment's sentiment (feedback.services.combine_sentiment). The dashboard, reports, filters, and email use this value; the word cloud uses comment_sentiment.
| Rating | Comment Positive | Comment Neutral | Comment Negative |
|---|---|---|---|
| Very Satisfactory | Positive | Neutral | Negative |
| Satisfactory | Positive | Neutral | Negative |
| Unsatisfactory | Neutral | Negative | Negative |
A Negative comment is always Negative. Pending and N/A pass through unchanged, so the rating alone never produces a sentiment.
Deploying this change: Run python manage.py migrate, then python manage.py reanalyze_sentiment --force so existing entries get their final sentiment.
git clone <your-repo-url>
cd philhealth-sentiment-analysis
# Create virtual environment
python -m venv venv
# Activate on Windows
.\venv\Scripts\activate
# Install requirements
pip install -r requirements.txt
Create a .env file in the root directory:
SECRET_KEY=your-django-secret-key
DEBUG=True
DB_NAME=philhealth_feedback
DB_USER=root
DB_PASSWORD=your_mysql_password
DB_HOST=127.0.0.1
DB_PORT=3306
BACKUP_DIR=backups
Before running migrations, make sure your MySQL database philhealth_feedback exists.
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
Visit the application:
http://127.0.0.1:8000/http://127.0.0.1:8000/dashboard/philhealth-sentiment-analysis/
│
├── assets/ # Portfolio screenshots and images
│ └── .gitkeep # Preserves directory in git
│
├── backups/ # Database backups target location
│
├── feedback/ # Public Feedback Submission App
│ ├── ml/ # ML Model, Stemmer and Stopwords files
│ │ ├── sentiment_model.pkl
│ │ └── stopwords.txt
│ ├── models.py # FeedbackEntry, FeedbackConfiguration models
│ ├── services.py # Sentiment Analysis and pre-processing logic
│ └── views.py # Public submit APIs
│
├── feedback_admin/ # Administrative Dashboard App
│ ├── backup_utils.py # JSON fixture backup and restore utilities
│ ├── context_processors.py# Global template stats (e.g. pending items)
│ ├── templates/ # Dashboard, responses, analytics HTML templates
│ └── views.py # Management and reporting logic
│
├── philhealth_feedback/ # Django core settings and routing
│ ├── settings.py
│ └── urls.py
│
├── static/ # Static assets
├── templates/ # Main theme and base layouts
├── requirements.txt # Python packages list
└── manage.py # Django CLI execution entry point