Giới thiệu dự án

Trong kỷ nguyên chuyển đổi số quốc gia và xây dựng chính phủ điện tử, việc tiếp cận thông tin pháp luật chính xác, kịp thời là nhu cầu thiết yếu của công dân, doanh nghiệp và các tổ chức hành chính. Tuy nhiên, hệ thống văn bản quy phạm pháp luật Việt Nam có quy mô đồ sộ với hàng trăm nghìn điều luật phức tạp, liên tục được sửa đổi, bổ sung. Người dùng đại chúng khi có nhu cầu tìm hiểu pháp luật thường đặt câu hỏi bằng ngôn ngữ tự nhiên, văn phong giao tiếp thường ngày (ví dụ: "Đi xe máy bốc đầu bị phạt bao nhiêu tiền?"), trong khi cơ sở dữ liệu luật lại được chuẩn hóa bằng các thuật ngữ chuyên ngành khắt khe (ví dụ: "Điều khiển xe chạy bằng một bánh đối với xe hai bánh" tại Nghị định 100/2019/NĐ-CP).

[Truy vấn người dùng (Ngôn ngữ tự nhiên)] 
[Danh sách điều luật liên quan chính xác (Top-K Articles)]

Vấn đề nghiên cứu và Thách thức kỹ thuật

  1. Khoảng cách ngữ nghĩa (Semantic Gap) và bất đối xứng từ vựng: Truy vấn người dùng sử dụng từ ngữ đời thường, trong khi văn bản quy phạm mang tính quy chuẩn lập pháp cao.
  2. Đặc thù văn bản luật dài (Long-document retrieval): Cấu trúc văn bản phân cấp từ Bộ luật, Luật, Nghị định, Thông tư xuống Chương, Mục, Điều, Khoản, Điểm; thông tin giải đáp câu hỏi thường nằm rải rác ở các điều khoản có độ dài lớn.
  3. Chi phí tính toán của các mô hình Cross-Encoder: Các mô hình phân loại cặp câu dựa trên Transformer (Cross-Encoder) có độ trễ thuật toán $\mathcal{O}(N \times M)$ rất lớn (tương đương hàng chục giờ xử lý cho kho ngữ liệu hàng trăm nghìn tài liệu), không khả thi cho các hệ thống tìm kiếm thời gian thực.

Mục tiêu đề tài

  1. Xây dựng và tinh chỉnh kho ngữ liệu pháp luật tiếng Việt chuẩn hóa, loại bỏ trùng lặp và phân tách đơn vị xử lý đến cấp điều luật.
  2. Triển khai phương pháp truy xuất dày đặc (Dense Retrieval) dựa trên kiến trúc Transformer Bi-Encoder (Sentence-Transformer) kết hợp mạng Siamese Neural Network (SNN) và Contrastive Loss.
  3. Ứng dụng kiến trúc đột phá Condenser nhằm giải quyết hạn chế của token [CLS] trong việc nén biểu diễn ngữ nghĩa toàn cục.
  4. Xây dựng mô hình lai (Hybrid Retrieval) kết hợp tương đồng từ vựng BM25Plus và tương đồng ngữ nghĩa Cosine Similarity với hàm kết hợp phi tuyến.
  5. Đánh giá toàn diện trên tập dữ liệu tiêu chuẩn theo các thang đo chuyên dụng cho truy xuất thông tin pháp lý: Recall@20 và F2-score.

Phạm vi và Giới hạn nghiên cứu

  • Ngữ liệu thực nghiệm: 8.436 văn bản pháp luật với 114.177 điều luật sau làm sạch và 5.922 cặp truy vấn - điều luật liên quan trích xuất từ bài báo khoa học chuẩn của Kien et al. và luận án của TS. Nguyễn Hà Thanh.
  • Mô hình nền tảng: PhoBERT (base, large), ViBERT, Condenser-PhoBERT.
  • Giới hạn: Khóa luận tập trung vào bước truy xuất danh sách điều luật liên quan (Legal Article Retrieval), chưa mở rộng sang việc tổng hợp câu trả lời tự động (Generative Question Answering).

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Phương pháp Đại diện tiêu biểu Ưu điểm Nhược điểm
Truyền thống (Lexical) TF-IDF, BM25, BM25Plus Tốc độ xử lý cực nhanh ($\mathcal{O}(1)$ với inverted index), bắt chính xác từ khóa định danh. Hoàn toàn bất lực trước hiện tượng đồng nghĩa, trái nghĩa hoặc khác biệt văn phong (văn nói vs văn bản pháp lý).
Mạng tích chập chú ý Attentive CNN Nắm bắt được ngữ cảnh cục bộ và tổng quát; kết hợp được với mô hình truyền thống. Khả năng nắm bắt ngữ nghĩa sâu ở mức câu dài còn hạn chế so với kiến trúc Transformer tự chú ý (Self-Attention).
Transformer Cross-Encoder BERT-PLI, Birch Nắm bắt tương tác trực tiếp từng cặp token (Token-level cross-attention), độ chính xác cao. Chi phí tính toán $\mathcal{O}(N \cdot M)$ cực lớn; không thể tiền tính toán trước vector embedding cho kho ngữ liệu.
Transformer Bi-Encoder Sentence-BERT (SBERT), SViBERT, SPhoBERT Tách biệt quá trình mã hóa; hỗ trợ lập chỉ mục vector trước; thời gian truy xuất dưới 50ms. Hiệu năng biểu diễn phụ thuộc vào hàm pooling và cách huấn luyện nén ngữ nghĩa của token [CLS].

Yêu cầu hệ thống theo mô hình MoSCoW

  • Must Have (Bắt buộc): Module tiền xử lý và tách từ (Tokenization) tiếng Việt; module BM25Plus; module Dense Encoder dựa trên PhoBERT/ViBERT; pipeline xếp hạng Hybrid Score.
  • Should Have (Nên có): Tích hợp kiến trúc Condenser để cải thiện biểu diễn tầng sâu; chiến lược khai thác mẫu âm khó (Hard Negative Mining) qua 3 vòng huấn luyện lặp.
  • Could Have (Có thể có): Cơ chế tối ưu hóa kích thước vector biểu diễn qua Faiss index.
  • Won't Have (Chưa thực hiện): Giao diện người dùng web thời gian thực hoặc module sinh văn bản tự động.

Thiết kế kiến trúc hệ thống

Danh mục công nghệ và Thư viện kỹ thuật

Thành phần Công nghệ / Thư viện Phiên bản Mục đích sử dụng
Ngôn ngữ lập trình Python 3.8.10+ Môi trường tính toán và xử lý trung tâm
Deep Learning Framework PyTorch 1.10.2+cu113 Xây dựng, huấn luyện mô hình mạng nơ-ron
NLP Transformer Hugging Face Transformers 4.18.0 Tinh chỉnh Masked Language Modeling (MLM)
Dense Retrieval sentence-transformers 2.2.0 Kiến trúc Siamese Bi-Encoder, Contrastive Loss
Lexical Retrieval rank_bm25 0.2.2 Thuật toán BM25Plus, khai thác Hard Negatives
Vietnamese Tokenizer py_vncorenlp (VNCoreNLP) 1.1.1 Tách từ (Word Segmentation) chuẩn tiếng Việt
Mô hình tiền huấn luyện PhoBERT (base, large), ViBERT Latest Hub Checkpoints Trích xuất đặc trưng ngôn ngữ ngữ cảnh

Cấu trúc dữ liệu JSON lưu trữ Điều luật đã chuẩn hóa

{
  "law_id": "100/2019/NĐ-CP",
  "articles": [
    {
      "article_id": "6",
      "title": "Xử phạt người điều khiển xe mô tô, xe gắn máy vi phạm quy tắc giao thông đường bộ",
      "text": "8. Phạt tiền từ 6.000.000 đồng đến 8.000.000 đồng đối với người điều khiển xe thực hiện một trong các hành vi vi phạm sau đây: c) Điều khiển xe chạy bằng một bánh đối với xe hai bánh, chạy bằng hai bánh đối với xe ba bánh...",
      "tokens_count_word": 245,
      "tokens_count_syllable": 312
    }
  ]
}

Implementation và kết quả

Quy trình phát triển và Thuật toán cốt lõi

1. Thuật toán xếp hạng từ vựng BM25Plus

Để khắc phục nhược điểm phạt quá nặng các tài liệu dài của BM25 truyền thống khi áp dụng vào văn bản pháp luật, mô hình BM25Plus bổ sung hằng số $\delta$ nhằm đảm bảo một ngưỡng điểm liên quan tối thiểu:

$$\text{RSV}{\text{BM25Plus}}(q, d) = \sum{t \in q} \text{IDF}t \cdot \left[ \frac{(k_1 + 1) \cdot \text{tf}{t,d}}{k_1 \cdot \left(1 - b + b \cdot \frac{L_d}{L_{\text{avg}}}\right) + \text{tf}_{t,d}} + \delta \right]$$

Trong đó $k_1 = 1.2$, $b = 0.75$, $\delta = 1.0$, $L_d$ là độ dài điều luật, $L_{\text{avg}}$ là độ dài trung bình của 114.177 điều luật.

2. Kiến trúc Mạng Siamese và Hàm mất mát Contrastive Loss

Với cặp đầu vào gồm truy vấn $X_1$ và điều luật $X_2$, mạng Siamese tạo ra hai vector đặc trưng $\mathbf{u} = G_W(X_1)$ và $\mathbf{v} = G_W(X_2)$. Khoảng cách Euclidean $D_W = |\mathbf{u} - \mathbf{v}|_2$ được tối ưu hóa thông qua hàm Contrastive Loss:

$$\mathcal{L}(W, Y, X_1, X_2) = (1 - Y) \cdot \frac{1}{2} (D_W)^2 + Y \cdot \frac{1}{2} \left[ \max\left(0, m - D_W\right) \right]^2$$

Trong đó $Y=0$ ứng với cặp dương (liên quan), $Y=1$ ứng với cặp âm (không liên quan), và $m > 0$ là lề khoảng cách (margin threshold).

3. Cải tiến cấu trúc nén Condenser

Condenser khắc phục nhược điểm của Transformer nguyên bản khi token [CLS] bị thụ động ở các tầng giữa bằng cách bổ sung kết nối tắt (short-circuit connection) từ tầng 6 lên thẳng tầng 13 (với kiến trúc 12 tầng gốc + 2 tầng Condenser bổ sung). Cơ chế này buộc các tầng trung gian phải tập trung mã hóa thông tin toàn cục vào token [CLS].

4. Mã nguồn triển khai Động cơ Truy xuất Lai (Hybrid Retrieval Engine)

import numpy as np
import torch
from rank_bm25 import BM25Plus
from sentence_transformers import SentenceTransformer, util

class VietnameseLegalHybridRetriever:
    """
    Hệ thống truy xuất văn bản pháp luật tiếng Việt kết hợp
    BM25Plus (Lexical) và Sentence-Transformer (Dense Semantic).
    """
    def __init__(self, model_name_or_path: str, corpus_articles: list, corpus_tokens: list):
        self.device = "cuda" if torch.cuda.is_available() else "cpu"
        self.encoder = SentenceTransformer(model_name_or_path, device=self.device)
        self.corpus_articles = corpus_articles
        
        # Khởi tạo mô hình BM25Plus với tập từ vựng đã tách từ
        print("[INFO] Khởi tạo chỉ mục BM25Plus...")
        self.bm25 = BM25Plus(corpus_tokens, k1=1.2, b=0.75, delta=1.0)
        
        # Mã hóa toàn bộ kho điều luật sang không gian vector dày đặc
        print(f"[INFO] Mã hóa {len(corpus_articles)} điều luật bằng Sentence-Transformer...")
        self.corpus_embeddings = self.encoder.encode(
            corpus_articles, 
            batch_size=64, 
            show_progress_bar=True, 
            convert_to_tensor=True,
            normalize_embeddings=True
        )

    def retrieve(self, query: str, query_tokens: list, top_k: int = 20, formula: str = "sqrt_bm25_cos"):
        # 1. Tính điểm từ vựng BM25Plus
        bm25_raw_scores = np.array(self.bm25.get_scores(query_tokens))
        # Chuẩn hóa điểm BM25 về miền không âm
        bm25_scores = np.maximum(bm25_raw_scores, 0.0)

        # 2. Tính điểm ngữ nghĩa dày đặc qua Cosine Similarity
        query_embedding = self.encoder.encode(query, convert_to_tensor=True, normalize_embeddings=True)
        cos_sim_scores = util.cos_sim(query_embedding, self.corpus_embeddings)[0].cpu().numpy()

        # 3. Kết hợp điểm số theo công thức tối ưu
        if formula == "sqrt_bm25_cos":
            hybrid_scores = np.sqrt(bm25_scores) * cos_sim_scores
        else:
            hybrid_scores = bm25_scores * cos_sim_scores

        # 4. Trích xuất Top-K chỉ số điều luật có điểm cao nhất
        top_indices = np.argsort(hybrid_scores)[::-1][:top_k]
        
        results = []
        for idx in top_indices:
            results.append({
                "article_id": idx,
                "hybrid_score": float(hybrid_scores[idx]),
                "bm25_score": float(bm25_scores[idx]),
                "cos_sim": float(cos_sim_scores[idx])
            })
        return results

Thiết kế thực nghiệm và Huấn luyện đa vòng (Multi-round Training)

  • Tập dữ liệu: 5.330 câu truy vấn cho tập huấn luyện (Train) và 592 câu cho tập kiểm thử (Test) (tỷ lệ phân chia 9:1).
  • Vòng 1 (MLM & Pre-training): Tinh chỉnh Masked Language Modeling trên 114.177 văn bản điều luật gộp với 20 epochs, max_seq_length=256 (PhoBERT) hoặc 512 (ViBERT).
  • Vòng 2 (Initial Bi-Encoder): Sử dụng BM25Plus để đào các mẫu âm cứng (Top-k kết quả BM25 cao nhưng không nằm trong nhãn đúng), huấn luyện SNN với hàm Contrastive Loss.
  • Vòng 3 (Iterative Hard Negative Refinement): Sử dụng chính checkpoint của Sentence-Transformer từ Vòng 2 để tiếp tục lọc các mẫu âm gây nhầm lẫn nhất (false positives), tối ưu hóa lại không gian biểu diễn.

Kết quả thực nghiệm và Đánh giá hiệu năng

Biểu đồ so sánh Recall@20 giữa các phương pháp tiếp cận:
BM25Plus (Đơn lẻ)           : [=========>                  ] 0.652
Attentive CNN (Kien et al.) : [============>               ] 0.741
SPhoBERT-base (Đơn lẻ)      : [===============>            ] 0.814
Hybrid (BM25 * CosSim)      : [==================>         ] 0.868
Hybrid (sqrt(BM25) * CosSim): [====================>       ] 0.895 (Condenser-PhoBERT)
Mô hình / Phương pháp Đơn vị huấn luyện Recall@20 (Vòng 2) Recall@20 (Vòng 3) F2-Score (Vòng 3)
BM25Plus (Baseline) Từ vựng (Word) 0.6520 0.6520 0.5840
Attentive CNN (SOTA cũ) Từ + Tiếng 0.7410 - 0.6720
SViBERT Tiếng (Syllable) 0.7850 0.8020 0.7180
SPhoBERT-base Từ (Word) 0.8010 0.8140 0.7320
SPhoBERT-large Từ (Word) 0.8120 0.8260 0.7450
ConPBB (Condenser-PhoBERT-base) Từ (Word) 0.8240 0.8380 0.7560
ConPBL (Condenser-PhoBERT-large) Từ (Word) 0.8350 0.8490 0.7680
Hybrid ($\text{BM25} \times \text{CosSim}$) PhoBERT-large 0.8540 0.8680 0.7910
Hybrid ($\sqrt{\text{BM25}} \times \text{CosSim}$) ConPBL (Tối ưu nhất) 0.8790 0.8950 0.8240

Đổi mới và đóng góp

  1. Ứng dụng thành công kiến trúc Condenser cho tiếng Việt: Lần đầu tiên chứng minh hiệu quả vượt trội của Condenser trên ngữ liệu pháp luật tiếng Việt, giúp vector [CLS] gom tụ thông tin phân cấp từ câu luật dài tốt hơn 2.3% so với PhoBERT nguyên bản.
  2. Chiến lược Huấn luyện lặp đa vòng (Iterative Hard Negative Mining): Việc lấy các mẫu âm khó từ chính checkpoint vòng trước đã giúp mô hình Sentence-Transformer cải thiện độ nhạy phân biệt, tăng điểm Recall@20 trung bình từ 1.4% đến 1.7% qua mỗi vòng.
  3. Công thức kết hợp phi tuyến $\sqrt{\text{BM25_Score}} \times \text{Cos_Sim}$: Chứng minh bằng thực nghiệm rằng việc lấy căn bậc hai điểm BM25 giúp cân bằng phân phối giá trị giữa điểm số từ vựng (thường dao động từ 10 - 40) và điểm tương đồng Cosine (trong khoảng [0, 1]), ngăn chặn hiện tượng áp đảo điểm số của các từ khóa trùng lặp ngẫu nhiên.
  4. Vượt trội so với các công trình công bố trước đây: Giải pháp đạt Recall@20 = 0.8950F2-Score = 0.8240, vượt xa mô hình Attentive CNN (+15.4% Recall@20) và phương pháp SBERT tiêu chuẩn.

Ứng dụng thực tế và triển khai

Kịch bản ứng dụng thực tế

  • Cổng thông tin Pháp luật điện tử Thông minh: Tích hợp vào cổng dịch vụ công quốc gia, hỗ trợ người dân tự tra cứu các quy định về đăng ký kết hôn, đất đai, thừa kế, vi phạm hành chính.
  • Trợ lý ảo pháp lý (Legal Assistant Bot) cho Luật sư: Hỗ trợ văn phòng luật sư rà soát nhanh kho án lệ và hệ thống văn bản luật liên quan trong quá trình soạn thảo hồ sơ tranh tụng.
  • Hệ thống Kiểm toán Tuân thủ Doanh nghiệp: Tự động đối soát các quy chế, hợp đồng nội bộ với các thông tư, nghị định mới ban hành.

Kiến trúc Triển khai Sản xuất (Production Architecture)

[Người dùng / Web / Mobile App]
[Kết quả Top-K Điều luật kèm trích dẫn văn bản]

Phân tích Hiệu quả Đầu tư (ROI) và Khả năng Mở rộng

  • Khả năng mở rộng: Với việc tiền tính toán vector cho 114.177 điều luật và lưu trữ trong Milvus Vector Database, việc truy vấn chỉ tiêu tốn trung bình 120ms trên một GPU NVIDIA T4, đáp ứng tải thực tế hơn 500 QPS (Queries Per Second).
  • Chi phí triển khai: Giảm hơn 85% chi phí hạ tầng máy chủ so với triển khai mô hình Cross-Encoder nguyên bản nhờ việc phân tách giai đoạn embedding offline.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Độ dài chuỗi tối đa (Max Sequence Length): PhoBERT giới hạn ở 256 tokens và ViBERT là 512 tokens. Khoảng 7.4% số điều luật dài trong kho ngữ liệu bị cắt ngắn (truncation), làm mất các khoản/điểm nằm ở cuối điều luật.
  • Độ phức tạp ngữ nghĩa đa tầng: Mô hình vẫn gặp khó khăn đối với các điều luật dẫn chiếu chéo (ví dụ: "Hành vi quy định tại Khoản 2 Điều này nhưng áp dụng mức phạt theo Điều X Nghị định Y").

Hướng phát triển trong tương lai

  1. Ứng dụng các mô hình hỗ trợ cửa sổ ngữ cảnh dài (Long-Context Transformers như Longformer, BigBird hoặc RoFormer) để mã hóa trọn vẹn 100% các văn bản luật có dung lượng lớn.
  2. Thiết kế mô hình Reranker 2 giai đoạn: Giai đoạn 1 dùng Hybrid Dense Bi-Encoder lọc ra Top-50 điều luật, Giai đoạn 2 dùng Cross-Encoder hoặc mô hình ngôn ngữ lớn (LLMs) để tái xếp hạng chính xác Top-5.
  3. Mở rộng đồ thị tri thức pháp luật (Legal Knowledge Graph) để xử lý triệt để bài toán dẫn chiếu giữa các văn bản quy phạm pháp luật.

Đối tượng hưởng lợi

  • Sinh viên & Học viên cao học: Tiếp cận tài liệu tham khảo hoàn chỉnh về cách áp dụng Dense Retrieval, Sentence-Transformers và Siamese Neural Networks cho bài toán xử lý văn bản tiếng Việt chuyên ngành.
  • Kỹ sư Xử lý Ngôn ngữ Tự nhiên (NLP Engineers): Nắm bắt kiến trúc và kỹ thuật tinh chỉnh thực chiến giữa BM25Plus và pre-trained Language Models để giải quyết bài toán tìm kiếm ngữ nghĩa trong doanh nghiệp.
  • Các cơ quan Quản lý Nhà nước & Doanh nghiệp Pháp lý: Sở hữu giải pháp công nghệ đã được kiểm chứng bằng thực nghiệm để tích hợp vào các nền tảng tra cứu pháp luật tự động phục vụ cộng đồng.

Câu hỏi thường gặp

1. Cần cấu hình phần cứng tối thiểu nào để huấn luyện và triển khai hệ thống?

Để huấn luyện mô hình (Fine-tuning MLM và Sentence-Transformer 3 vòng), hệ thống cần tối thiểu 1 GPU NVIDIA với 16GB VRAM (như Tesla T4, V100 hoặc RTX 3090/4090), 32GB RAM hệ thống và 50GB dung lượng lưu trữ SSD. Khi triển khai suy luận (Inference), mô hình có thể chạy ổn định trên CPU máy chủ chuẩn (8 Cores, 16GB RAM) hoặc sử dụng 1 GPU phân khúc phổ thông để đạt độ trễ dưới 150ms.

2. Tại sao lại chọn hàm kết hợp $\sqrt{\text{BM25}} \times \text{CosSim}$ thay vì cộng tuyến tính thông thường?

Điểm BM25 phụ thuộc vào tần suất xuất hiện của từ và độ dài tài liệu nên có giá trị dao động trong khoảng rộng $[0, +\infty)$ (thực tế từ 5 đến 45 trong ngữ liệu luật), trong khi điểm tương đồng Cosine chuẩn hóa chỉ nằm trong đoạn $[-1, 1]$ (thực tế các câu liên quan đạt $0.6 - 0.9$). Nếu cộng tuyến tính hoặc nhân trực tiếp, điểm BM25 sẽ lấn át hoàn toàn điểm ngữ nghĩa. Phép biến đổi căn bậc hai ($\sqrt{\text{BM25}}$) đóng vai trò nén phi tuyến miền giá trị BM25, tạo ra sự cân bằng hoàn hảo giữa mức độ trùng khớp từ vựng chính xác và độ tương đồng ngữ nghĩa ẩn.

3. Hệ thống xử lý như thế nào khi một câu hỏi có nhiều hơn một điều luật liên quan?

Hệ thống sử dụng thang đo Recall@K (đặc biệt là Recall@20) và F2-score trong quá trình huấn luyện và đánh giá. F2-score đặt trọng số ưu tiên cho độ phủ (Recall) cao gấp đôi so với độ chính xác (Precision), đảm bảo rằng danh sách Top-K trả về bao quát được toàn bộ các điều luật liên quan nằm rải rác ở các văn bản khác nhau trước khi người dùng thực hiện đọc chi tiết.

4. Chi phí cập nhật khi có văn bản luật mới ban hành như thế nào?

Nhờ kiến trúc Bi-Encoder, hệ thống không cần huấn luyện lại toàn bộ mạng nơ-ron khi kho luật thay đổi. Khi có nghị định hoặc thông tư mới:

  1. Trích xuất các điều luật mới và chạy qua module tách từ VNCoreNLP.
  2. Đưa qua encoder của Sentence-Transformer đã huấn luyện để trích xuất vector embedding.
  3. Thêm vector mới vào cơ sở dữ liệu vector (Faiss/Milvus) và cập nhật bảng chỉ mục Inverted Index của BM25Plus. Toàn bộ quá trình chỉ mất vài phút cho hàng nghìn điều luật mới.

5. Tại sao mô hình Condenser lại vượt trội hơn PhoBERT chuẩn trong tác vụ Dense Retrieval?

Trong kiến trúc Transformer tiêu chuẩn, token [CLS] chủ yếu tham gia mạnh ở tầng đầu và tầng cuối, trong khi các tầng giữa tập trung vào cơ chế tự chú ý cục bộ giữa các token lân cận. Condenser bổ sung kết nối tắt từ tầng 6 lên tầng 13, buộc [CLS] phải liên tục tổng hợp và nén thông tin ngữ nghĩa toàn cục của toàn bộ câu luật dài, từ đó tạo ra vector embedding đại diện có chất lượng biểu diễn vượt trội cho các tác vụ tìm kiếm dày đặc.


Kết luận

Đồ án tốt nghiệp "Truy xuất văn bản pháp luật tiếng Việt sử dụng học sâu" đã nghiên cứu và giải quyết bài toán tìm kiếm ngữ nghĩa chuyên sâu trong miền dữ liệu pháp lý phức tạp. Thông qua việc kết hợp sáng tạo giữa mô hình từ vựng BM25Plus, mạng Siamese Neural Network, kiến trúc nén ngữ nghĩa Condenser và chiến lược khai thác mẫu âm khó 3 vòng lặp, đề tài đã thiết lập một chuẩn hiệu năng mới với Recall@20 đạt 89.50%F2-Score đạt 82.40%.

Kết quả nghiên cứu mở ra tiềm năng ứng dụng to lớn trong việc xây dựng các cổng tra cứu dịch vụ công thông minh, trợ lý ảo pháp lý và các hệ thống quản trị tuân thủ tự động tại Việt Nam. Toàn bộ mã nguồn, cấu hình siêu tham số và pipeline thực nghiệm được chuẩn hóa, sẵn sàng chuyển giao và mở rộng cho cộng đồng nghiên cứu Xử lý Ngôn ngữ Tự nhiên và Trí tuệ Nhân tạo.