Commit
·
959ce23
1
Parent(s):
e9c022b
modilfy README.md
Browse files
README.md
CHANGED
|
@@ -11,7 +11,7 @@ pinned: false
|
|
| 11 |
|
| 12 |
# 📘 Hệ thống sinh câu hỏi từ Context (Seq2Seq Transformer + spaCy NER)
|
| 13 |
|
| 14 |
-
Dự án này triển khai một hệ thống sinh câu hỏi tự động dựa trên một đoạn văn bản (context) và các thực thể được trích xuất từ đó. Nó sử dụng mô hình
|
| 15 |
|
| 16 |
---
|
| 17 |
|
|
@@ -19,7 +19,7 @@ Dự án này triển khai một hệ thống sinh câu hỏi tự động dựa
|
|
| 19 |
|
| 20 |
- **Sinh câu hỏi:** Dựa trên một đoạn văn bản (context) và các câu trả lời (entities) được trích xuất.
|
| 21 |
- **Trích xuất thực thể (NER):** Sử dụng `en_core_web_md` của spaCy để xác định các thực thể tiềm năng làm câu trả lời.
|
| 22 |
-
- **Hỗ trợ nhiều mô hình:**
|
| 23 |
- **Giao diện web thân thiện:** Được xây dựng bằng Gradio, dễ dàng sử dụng và kiểm tra.
|
| 24 |
- **Khả năng tái tạo:** Hướng dẫn chi tiết để bạn có thể cài đặt và chạy dự án này trên máy của mình.
|
| 25 |
|
|
@@ -44,11 +44,11 @@ Nếu bạn đã cài đặt **Anaconda** hoặc **Miniconda**:
|
|
| 44 |
1. **Tạo và kích hoạt môi trường Conda mới:**
|
| 45 |
|
| 46 |
```bash
|
| 47 |
-
conda create -n qg_env python=3.9
|
| 48 |
conda activate qg_env
|
| 49 |
```
|
| 50 |
|
| 51 |
-
(Bạn có thể chọn phiên bản Python khác như 3.8 hoặc 3.
|
| 52 |
|
| 53 |
2. **Cài đặt các thư viện từ `requirements.txt`:**
|
| 54 |
**Quan trọng:** Bạn cần file `requirements.txt` chứa danh sách các thư viện được sử dụng trong dự án này. Nếu bạn chưa có, hãy tạo nó:
|
|
@@ -72,20 +72,19 @@ Nếu bạn đã cài đặt **Anaconda** hoặc **Miniconda**:
|
|
| 72 |
python -m spacy download en_core_web_md
|
| 73 |
```
|
| 74 |
|
| 75 |
-
4. **Tải và đặt các mô hình
|
| 76 |
-
Dự án này sử dụng các mô hình
|
| 77 |
Theo code mẫu:
|
| 78 |
|
| 79 |
-
- `
|
| 80 |
-
- `
|
| 81 |
-
- (Nếu có) `
|
| 82 |
|
| 83 |
**Lưu ý:** Để dễ dàng quản lý, bạn nên tạo một thư mục con trong dự án (ví dụ: `models/prophetnet_1epoch_finetuned`) và đặt các mô hình vào đó, sau đó cập nhật `MODEL_PATHS` trong code của bạn thành các đường dẫn tương đối. Ví dụ:
|
| 84 |
|
| 85 |
```python
|
| 86 |
MODEL_PATHS = {
|
| 87 |
-
"
|
| 88 |
-
"prophetnet2": "./models/prophetnet_2epoch_final",
|
| 89 |
# ...
|
| 90 |
}
|
| 91 |
```
|
|
@@ -128,7 +127,7 @@ Nếu bạn đã cài đặt **Anaconda** hoặc **Miniconda**:
|
|
| 128 |
```
|
| 129 |
|
| 130 |
4. **Tải và đặt các mô hình ProphetNet:**
|
| 131 |
-
Tương tự như bước 4 của phương pháp Conda,
|
| 132 |
|
| 133 |
---
|
| 134 |
|
|
@@ -151,7 +150,7 @@ Sau khi đã hoàn thành các bước cài đặt và kích hoạt môi trườ
|
|
| 151 |
|
| 152 |
## ⚠️ Lưu ý quan trọng
|
| 153 |
|
| 154 |
-
- **Đường dẫn mô hình:** Hãy kiểm tra và điều chỉnh các đường dẫn trong biến `MODEL_PATHS` trong code của bạn (`
|
| 155 |
- **Hiệu suất GPU:** Việc sử dụng GPU sẽ cải thiện đáng kể tốc độ sinh câu hỏi. Đảm bảo cài đặt CUDA và PyTorch với hỗ trợ CUDA nếu bạn muốn tận dụng GPU.
|
| 156 |
- **Kiểm tra cache:** Việc sử dụng quá nhiều model co thể gây tràn cache.
|
| 157 |
```bash
|
|
|
|
| 11 |
|
| 12 |
# 📘 Hệ thống sinh câu hỏi từ Context (Seq2Seq Transformer + spaCy NER)
|
| 13 |
|
| 14 |
+
Dự án này triển khai một hệ thống sinh câu hỏi tự động dựa trên một đoạn văn bản (context) và các thực thể được trích xuất từ đó. Nó sử dụng các mô hình Seq2Seq Transformer đã được fine-tuned như Prophetnet, T5, BART để sinh câu hỏi và thư viện spaCy cho việc trích xuất thực thể có tên (Named Entity Recognition - NER). Giao diện người dùng được xây dựng bằng Gradio, cho phép tương tác dễ dàng.
|
| 15 |
|
| 16 |
---
|
| 17 |
|
|
|
|
| 19 |
|
| 20 |
- **Sinh câu hỏi:** Dựa trên một đoạn văn bản (context) và các câu trả lời (entities) được trích xuất.
|
| 21 |
- **Trích xuất thực thể (NER):** Sử dụng `en_core_web_md` của spaCy để xác định các thực thể tiềm năng làm câu trả lời.
|
| 22 |
+
- **Hỗ trợ nhiều mô hình:** mô hình Seq2Seq Transformer đã được huấn luyện.
|
| 23 |
- **Giao diện web thân thiện:** Được xây dựng bằng Gradio, dễ dàng sử dụng và kiểm tra.
|
| 24 |
- **Khả năng tái tạo:** Hướng dẫn chi tiết để bạn có thể cài đặt và chạy dự án này trên máy của mình.
|
| 25 |
|
|
|
|
| 44 |
1. **Tạo và kích hoạt môi trường Conda mới:**
|
| 45 |
|
| 46 |
```bash
|
| 47 |
+
conda create -n qg_env python=3.10.9
|
| 48 |
conda activate qg_env
|
| 49 |
```
|
| 50 |
|
| 51 |
+
(Bạn có thể chọn phiên bản Python khác như 3.8 hoặc 3.9 nếu muốn, nhưng 3.10 là một lựa chọn tốt).
|
| 52 |
|
| 53 |
2. **Cài đặt các thư viện từ `requirements.txt`:**
|
| 54 |
**Quan trọng:** Bạn cần file `requirements.txt` chứa danh sách các thư viện được sử dụng trong dự án này. Nếu bạn chưa có, hãy tạo nó:
|
|
|
|
| 72 |
python -m spacy download en_core_web_md
|
| 73 |
```
|
| 74 |
|
| 75 |
+
4. **Tải và đặt các mô hình:**
|
| 76 |
+
Dự án này sử dụng các mô hình đã được fine-tuned. Bạn cần tải chúng về và đặt vào các đường dẫn chính xác như đã khai báo trong code (hoặc chỉnh sửa code cho phù hợp với đường dẫn của bạn). Hoặc bạn có thể không cần tải về mà chạy trực tiếp dựa trên các mô hình đã được sử dụng trong mã nguồn.
|
| 77 |
Theo code mẫu:
|
| 78 |
|
| 79 |
+
- `prophetnet`: `/Users/trantieuman/Downloads/prophetnet_1epoch/prophetnet_context_to_question_finetuned`
|
| 80 |
+
- `T5`: `/Users/trantieuman/Downloads/prophetnet_2epoch_final/final_model`
|
| 81 |
+
- (Nếu có) `BART`: `/path/to/BART_model_3`
|
| 82 |
|
| 83 |
**Lưu ý:** Để dễ dàng quản lý, bạn nên tạo một thư mục con trong dự án (ví dụ: `models/prophetnet_1epoch_finetuned`) và đặt các mô hình vào đó, sau đó cập nhật `MODEL_PATHS` trong code của bạn thành các đường dẫn tương đối. Ví dụ:
|
| 84 |
|
| 85 |
```python
|
| 86 |
MODEL_PATHS = {
|
| 87 |
+
"prophetnet": "./models/prophetnet_finetuned",
|
|
|
|
| 88 |
# ...
|
| 89 |
}
|
| 90 |
```
|
|
|
|
| 127 |
```
|
| 128 |
|
| 129 |
4. **Tải và đặt các mô hình ProphetNet:**
|
| 130 |
+
Tương tự như bước 4 của phương pháp Conda, đ��m bảo các file mô hình đã fine-tuned được đặt đúng đường dẫn.
|
| 131 |
|
| 132 |
---
|
| 133 |
|
|
|
|
| 150 |
|
| 151 |
## ⚠️ Lưu ý quan trọng
|
| 152 |
|
| 153 |
+
- **Đường dẫn mô hình:** Hãy kiểm tra và điều chỉnh các đường dẫn trong biến `MODEL_PATHS` trong code của bạn (`app.py` hoặc tên file tương ứng) để chúng trỏ đến đúng vị trí các thư mục mô hình ProphetNet đã được tải về trên máy của bạn.
|
| 154 |
- **Hiệu suất GPU:** Việc sử dụng GPU sẽ cải thiện đáng kể tốc độ sinh câu hỏi. Đảm bảo cài đặt CUDA và PyTorch với hỗ trợ CUDA nếu bạn muốn tận dụng GPU.
|
| 155 |
- **Kiểm tra cache:** Việc sử dụng quá nhiều model co thể gây tràn cache.
|
| 156 |
```bash
|