Ontology và Topology của Luật pháp Việt Nam cho Knowledge Graph
Lời nói đầu
Gần đây, mình có được một startup AI tại Việt Nam phỏng vấn cho vị trí AI Engineer Intern - tuy không được nhận vào lúc này, nhưng việc được trực tiếp giao lưu với một anh Founder vừa có tâm và có tầm thực sự là một trải nghiệm đáng giá. Khi nhận được feedback, anh ấy đã để lại cho mình rất nhiều cảm hứng và động lực.
Thú thực thì trước kia, mình không có thiện cảm với những chủ đề như này lắm, chủ yếu đó là ứng dụng AI/Chatbot vào những lĩnh vực “high-stake” - điển hình là luật pháp và y tế. Hơi cringe tí nhưng kiểu, với kinh nghiệm biết về những vấn đề và giới hạn căn bản của LLM và ML nói chung, mình thấy rằng nếu chưa đạt được đến gọi là 99.99% độ chính xác, thì việc ai đó muốn ứng dụng AI có khi còn là ngây thơ hay thậm chí ngạo mạn. Nhưng, hiện giờ thì góc nhìn của mình đã khác đi nhiều, đặc biệt là sau cuộc phỏng vấn với anh Founder, mình đã được thấy tận mắt những người trong ngành, mang lại tinh thần “nếu không thể tiến gần tới 100%, ta không deploy, ta cần theo tiêu chuẩn của client”.
Chính vì vậy, gần đây một hứng thú của mình như được khơi dậy lại, đến từ project Knowledge Graph của mình. Trước kia, mình làm về Knowledge Graph rất là sơ khai thôi, gần như cũng chả khác mấy tutorial trên youtube mấy đâu, chủ yếu là để học thôi. Giờ khi mà đã có thêm kinh nghiệm và kiến thức, mình thấy rằng dù không thể 100% được ngay bây giờ - hay một mình, mình vẫn muốn thử sức với thách thức này, nó không còn vô nghĩa với mình nữa. Sau một hồi suy nghĩ, và gợi ý của anh Founder, mình đã quyết định là sẽ làm một project mới liên quan đến luật pháp Việt Nam, có thể nói là đỡ “high-stake” hơn y tế, nhưng vẫn rất thiết thực, và gần gũi với môi trường hiện tại của mình.
Mình cũng vừa nhận ra mình chưa học tín pháp luật đại cương 🥴.
DISCLAIMER: Mình không hề có kiến thức formal nào về luật pháp, tất cả những thông tin và ý định của mình là trên tinh thần học hỏi và những thông tin trong post này nên được hiểu là đến từ quá trình tự tìm hiểu của mình. Thậm chí nếu có bạn nào hiểu rõ về luật pháp và muốn góp ý/làm việc với mình, mình luôn chào đón.
Mục lục
1. Hệ thống luật pháp Việt Nam
1.1. Hệ thống luật pháp trên thế giới
Trên thế giới hiện nay, có ba hệ thống pháp luật phổ biến: dân luật (civil law), thông luật (common law) và luật tôn giáo (religious law). Mỗi hệ thống phản ánh đặc điểm lịch sử và văn hóa của các quốc gia áp dụng chúng.
- Dân luật: Bắt nguồn từ La Mã và phổ biến ở châu Âu lục địa, châu Á và Mỹ Latinh. Pháp luật được xây dựng chủ yếu từ các văn bản pháp luật thành văn, trong đó vai trò của thẩm phán là áp dụng luật chứ không phải tạo ra luật.
- Thông luật: Xuất phát từ Anh và được áp dụng rộng rãi ở các nước như Mỹ, Canada, Úc. Luật phát triển thông qua án lệ (các phán quyết của tòa án). Thẩm phán có vai trò quan trọng trong việc diễn giải và tạo ra luật qua các vụ án. Quyết định trong một vụ án có thể trở thành chuẩn mực ràng buộc cho các vụ án sau.
- Luật tôn giáo: Là hệ thống dựa trên giáo lý và quy định của tôn giáo, điển hình như luật Sharia trong Hồi giáo. Hệ thống này thường điều chỉnh cả đời sống cá nhân lẫn xã hội theo khuôn khổ niềm tin tôn giáo.
Mặc dù chia theo ba hệ thống lớn, mỗi quốc gia có thể pha trộn, điều chỉnh để phù hợp với điều kiện thực tế, tạo nên bản sắc pháp lý riêng.
1.2. Sơ lược về hệ thống luật pháp Việt Nam
1.2.1. Tổng quan
Pháp luật Việt Nam đóng vai trò là công cụ quản lý nhà nước và bảo vệ quyền, lợi ích hợp pháp của công dân và tổ chức. Là quốc gia theo hệ thống dân luật, pháp luật Việt Nam đặc trưng bởi:
- Luật thành văn là nguồn luật chủ yếu.
- Vai trò của thẩm phán là áp dụng luật, không tạo ra luật.
- Các văn bản pháp luật có tính thứ bậc và hiệu lực ràng buộc lẫn nhau.
- Việc xây dựng và ban hành pháp luật tập trung ở các cơ quan nhà nước có thẩm quyền như Quốc hội, Chính phủ, Bộ ngành…
Hệ thống pháp luật của Việt Nam có đầy đủ các đặc điểm của hệ thống đân luật, về cơ bản dựa trên luật thành văn (được ghi chép rõ ràng).
Hệ thống luật pháp Việt Nam bao gồm ba yếu tố cơ bản như sau:
- Quy phạm pháp luật (đơn vị cơ bản của hệ thống);
- Chế định pháp luật (nhóm các quy phạm pháp luật có cùng đặc điểm và điều chỉnh một nhóm quan hệ xã hội tương ứng);
- Ngành luật (hệ thống các quy phạm pháp luật có những đặc điểm riêng để điều chỉnh một loại quan hệ xã hội trong một lĩnh vực nhất định của xã hội).
1.2.2. Ngành luật
Trong hệ thống luật pháp Việt Nam, có nhiều ngành luật khác nhau, như sau:
- Ngành Luật Hiến pháp
- Ngành Luật Hành chính
- Ngành Luật Tài chính
- Ngành Luật Ngân hàng
- Ngành Luật Đất đai
- Ngành Luật Dân sự
- Ngành Luật Lao động
- Ngành Luật Hình sự
- Ngành Luật Kinh tế
Danh sách các ngành luật này là những ngành cơ bản và quan trọng trong hệ thống pháp luật Việt Nam. Một số nguồn có thể phân loại chi tiết hơn hoặc gộp một số ngành lại, ví dụ như Luật Kinh tế thường được xem là một phần của Luật Dân sự và Luật Thương mại, hoặc có thể tách riêng Luật Hôn nhân và Gia đình, Luật Tố tụng,…
Tại Việt Nam, hệ thống pháp luật được phân chia thành các ngành luật cơ bản và quan trọng như sau (được công nhận và sử dụng rộng rãi trong giảng dạy & lập pháp):
Ngành luật công (Public law):
- Luật Hiến pháp
- Luật Hành chính
- Luật Hình sự
- Luật Tố tụng hình sự
- Luật Tố tụng hành chính
- Luật Quốc tế công…
Ngành luật tư (Private law):
- Luật Dân sự
- Luật Hôn nhân và Gia đình
- Luật Thương mại (hoặc Luật Kinh tế)
- Luật Lao động
- Luật Tố tụng dân sự
- Luật Quốc tế tư…
Ngành luật hỗn hợp / liên ngành (có yếu tố công - tư đan xen):
- Luật Đất đai
- Luật Tài chính - Ngân hàng
- Luật Môi trường
- Luật Sở hữu trí tuệ
- Luật Giao thông
- Luật Công nghệ thông tin, An ninh mạng,…
Đây là các ngành luật đã được xác lập ổn định, có giáo trình giảng dạy, có văn bản luật chủ đạo và được sử dụng chính thức.
1.2.3. Văn bản pháp luật
Hệ thống pháp luật Việt Nam được tổ chức theo trật tự thứ bậc hiệu lực pháp lý, tức là văn bản cấp dưới không được trái với văn bản cấp trên. Mỗi loại văn bản gắn với cơ quan ban hành, thẩm quyền, phạm vi điều chỉnh khác nhau:
Cấp bậc | Loại văn bản | Cơ quan ban hành | Mục đích chính |
---|---|---|---|
1 | Hiến pháp | Quốc hội | Luật gốc tối cao, định hướng toàn bộ hệ thống |
2 | Luật / Bộ luật | Quốc hội | Điều chỉnh các lĩnh vực lớn, lâu dài |
3 | Pháp lệnh, Nghị quyết | UBTVQH | Văn bản chuyên đề, bổ sung khẩn thiết |
4 | Nghị định | Chính phủ | Hướng dẫn luật chi tiết hơn, cụ thể hóa |
5 | Quyết định | Thủ tướng Chính phủ | Triển khai hành chính cụ thể |
6 | Thông tư | Bộ trưởng, Thống đốc NHNN,… | Hướng dẫn thực hiện trong ngành dọc |
7 | Văn bản địa phương | HĐND, UBND các cấp | Cụ thể hóa luật theo vùng, không trái cấp trên |
Khi xây knowledeg graph, đây là xương sống để gắn kết các luật, điều khoản và văn bản cụ thể theo thứ bậc và liên kết ngữ nghĩa.
1.2.4. Thực trạng và xu hướng pháp luật hiện đại
Dù có vẻ đồ sộ và đôi khi đan xen khó nắm bắt, hệ thống pháp luật Việt Nam không phải là một hệ thống phi cấu trúc. Trái lại, nó được xây dựng dựa trên logic rõ ràng: từ quy phạm pháp luật, qua chế định, đến ngành luật, và thể hiện dưới dạng văn bản pháp luật chính quy.
Tuy nhiên, đối với người dân bình thường hay cả những nhà phát triển công nghệ, việc tra cứu và hiểu hệ thống này vẫn là một thử thách. Có nhiều nguồn điện tử tồn tại song song - từ Cơ sở dữ liệu quốc gia về pháp luật đến các trang như Chinhphu.vn, Quốc hội, Bộ Tư pháp - nhưng việc xác định đâu là nguồn trung tâm, đâu là dữ liệu “đã hợp lệ và cập nhật” vẫn khá rắc rối.
Trong những năm gần đây, nỗ lực số hóa pháp luật đã có chuyển biến, điển hình như:
- Dự án Cơ sở dữ liệu quốc gia về pháp luật (vbpl.vn)
- Đề án phát triển Chính phủ điện tử, hướng tới Chính phủ số
- Cổng dữ liệu quốc gia (data.gov.vn) cung cấp dữ liệu mở, bao gồm cả dữ liệu ngành tư pháp
Mặc dù còn chưa hoàn chỉnh, tiềm năng ứng dụng AI vào lĩnh vực pháp luật là rất lớn - nhất là khi so với các lĩnh vực như y tế (thường nhiều rào cản đạo đức và high-stake hơn). Việc xây dựng các hệ thống truy vấn pháp luật thông minh, knowledge graph pháp lý, hoặc trợ lý pháp lý ảo là hoàn toàn khả thi, đặc biệt khi công nghệ xử lý ngôn ngữ tự nhiên (NLP), mô hình ngôn ngữ (LLM), và nhận dạng văn bản pháp lý và semantic retrieval ngày càng phát triển.
2. Mô hình hóa luật pháp Việt Nam
2.1. Động lực cá nhân
Ở phần này, mình đặt ra một bài toán cụ thể, xuất phát từ trải nghiệm cá nhân gần đây. Khi là sinh viên đang thử sức với một vài cơ hội việc làm, mình nhận ra: những trao đổi ban đầu với bên tuyển dụng thường thiếu rõ ràng, nhất là về thời gian làm việc, mức đãi ngộ, hay quyền lợi pháp lý. Mình không muốn hỏi quá trực tiếp, nhưng cũng không muốn “mù mờ” mãi. Với sinh viên như mình, việc hiểu và tra cứu các quy định pháp luật cơ bản là điều cần thiết.
Từ đó, mình muốn thử xây dựng một hệ thống tri thức thu hẹp vào các lĩnh vực gần gũi với sinh viên, người mới đi làm, và cá nhân sáng tạo:
- Luật Lao động
- Luật Dân sự
- Luật Sở hữu trí tuệ
- Luật Giáo dục
- Luật Công nghệ thông tin và An ninh mạng
- …
Thay vì cố gắng làm một “chatbot luật sư” quá chung chung và dễ gây hiểu lầm, mình muốn phát triển một hệ thống đơn giản, từng phần, rõ trọng tâm, như một chatbot hỗ trợ về hợp đồng làm thêm, hay một trợ lý hỏi-đáp về quyền sở hữu tác phẩm.
Dù còn giới hạn về nguồn lực và hiểu biết, nhưng với phạm vi đã được thu hẹp, mình tin đây là một dự án có thể tiếp cận được, vừa mang tính học thuật, vừa ứng dụng. Từ đây, ta sẽ bắt đầu tiếp cận việc mô hình hóa luật pháp Việt Nam - từ góc nhìn cấu trúc đến khả năng triển khai bằng kỹ thuật số.
2.2. Tiếp cận văn bản pháp luật
2.2.1. thuvienphapluat.vn
Điểm khởi đầu cho dự án này là Bộ luật Lao động 2019, một trong những ngành luật thiết yếu nhất đối với sinh viên, người lao động, cũng như các doanh nghiệp tại Việt Nam. Mình lựa chọn phiên bản văn bản được đăng tải trên thuvienphapluat.vn làm nguồn chính cho việc trích xuất và mô hình hóa.
Trang này cung cấp một bản HTML sạch, có định dạng rõ ràng, được chuyển từ file PDF chính thống do nhà nước ban hành. Đặc biệt, các nghị định, thông tư hướng dẫn và sửa đổi bổ sung sau này cũng được chú thích và liên kết trực tiếp, giúp theo dõi toàn bộ lifecycle của văn bản pháp luật một cách liền mạch.
Mình đã kiểm tra file robots.txt
của trang và không thấy có dấu hiệu hạn chế việc crawl nội dung. Vì vậy, có thể tạm xem đây là một nguồn dữ liệu thân thiện với việc thu thập tự động, rất phù hợp để thử nghiệm một chatbot hỗ trợ tra cứu pháp luật - cụ thể là trong lĩnh vực luật lao động.
2.2.2. Giới thiệu Bộ Luật lao động 2019
Bộ luật Lao động 2019 là đạo luật nền tảng điều chỉnh các quan hệ lao động tại Việt Nam, được Quốc hội khóa XIV thông qua tại Kỳ họp thứ 8 ngày 20/11/2019, và chính thức có hiệu lực từ ngày 01/01/2021, thay thế cho Bộ luật Lao động 2012.
Bộ luật Lao động 2019 có tổng cộng:
- 17 chương
- 220 điều
Các nội dung chính xoay quanh:
- Hợp đồng lao động, tiền lương, thời giờ làm việc, kỷ luật
- Đối thoại, thỏa ước lao động tập thể, tổ chức đại diện
- Giải quyết tranh chấp, đình công
- Bảo hiểm xã hội, bảo hiểm thất nghiệp
- Lao động nữ, lao động chưa thành niên, lao động nước ngoài,…
Về mặt cấu trúc pháp lý, Bộ luật Lao động 2019 có các đơn vị tổ chức theo dạng phân cấp như sau:
- Chương: Là đơn vị lớn nhất, mỗi chương đề cập đến một lĩnh vực chủ đề lớn (VD: Chương III - Hợp đồng lao động).
- Mục (có thể có hoặc không): Một số chương được chia thành các mục nhỏ để nhóm các điều luật cùng tính chất.
- Điều: Là đơn vị cơ bản nhất, mỗi điều thể hiện một quy phạm pháp luật cụ thể.
- Khoản, Điểm: Các điều có thể được chia nhỏ hơn thành các khoản, và trong mỗi khoản có thể có các điểm để làm rõ nội dung chi tiết.
Ví dụ:
- Điều 34. Các trường hợp chấm dứt hợp đồng lao động -> Khoản 1. Hết hạn hợp đồng -> Khoản 2. Đã hoàn thành công việc -> … -> Điểm a, b, c trong từng khoản (nếu có)
Vậy, ta có thể nhận thấy ngay rằng, khác với các văn bản tuần tự thông thường, và đặc biệt nếu so với cách tiếp cận đơn giản như Naive RAG, thì các văn bản pháp luật hành chính tại Việt Nam đã mang trong mình một cấu trúc ngữ nghĩa (semantic structure) khá rõ ràng, có thể khai thác trực tiếp cho mô hình hóa tri thức.
Bộ luật Lao động 2019
│
├── Chương I: Những quy định chung
│ ├── Điều 1
│ ├── Điều 2
│ └── ...
│
├── Chương II: Hợp đồng lao động
│ ├── Mục 1: Giao kết hợp đồng
│ │ ├── Điều 13
│ │ ├── Điều 14
│ │ └── ...
│ └── Mục 2: Thực hiện hợp đồng
│ ├── Điều 21
│ ├── Điều 22
│ └── ...
│
├── ...
│
└── Chương XVII: Điều khoản thi hành
├── Điều 219
└── Điều 220
2.2.3. Outline ví dụ cho Chatbot hỗ trợ Luật lao động
Khi đã làm quen với cấu trúc và nội dung của văn bản pháp luật, ta có thể hình dung một workflow cơ bản mà một chatbot hỗ trợ pháp luật lao động có thể hoạt động dựa trên tri thức đã được chuẩn hóa và cấu trúc lại. Ở giai đoạn này, ta chưa cần quan tâm đến cách ingest hoặc truy xuất tri thức, mà chỉ tập trung vào bức tranh tổng quát về trải nghiệm truy vấn - sử dụng sau khi tri thức đã có thể được diễn dịch thành dạng machine-readable như ontology, graph, hay structured corpus.
Workflow giả định của một chatbot hỗ trợ Luật Lao động:
- Người dùng đưa ra truy vấn bằng ngôn ngữ tự nhiên.
- Truy vấn được ánh xạ về ý định và thực thể pháp lý liên quan.
- Hệ thống tham chiếu đến tri thức có cấu trúc (knowledge graph / ontology / full text indexed corpus).
- Sinh câu trả lời có trích dẫn nguồn rõ ràng.
- (Optional): Gợi ý các văn bản liên quan, hoặc Nghị định hướng dẫn áp dụng.
Ví dụ hội thoại giả định:
👤 Người dùng: Em đang thử việc 2 tháng rồi, mà công ty vẫn chưa ký hợp đồng chính thức, như vậy có vi phạm gì không ạ?
🤖 Chatbot: Theo Điều 20 và 21 của Bộ luật Lao động 2019, thời gian thử việc tối đa phụ thuộc vào tính chất công việc, và sau thời gian đó, nếu người lao động tiếp tục làm việc thì phải ký hợp đồng lao động chính thức.
📌 Trích dẫn: Điều 20 (Bộ luật Lao động 2019): “Người sử dụng lao động và người lao động có thể thỏa thuận về việc làm thử… Sau thời gian thử việc, nếu người lao động tiếp tục làm việc thì người sử dụng lao động phải giao kết hợp đồng lao động.”
📎 Bạn có muốn xem mẫu hợp đồng và quy định xử phạt nếu không ký không?
Phía sau hội thoại như vậy là một hệ thống có thể được xây dựng theo nhiều mức độ:
- Full-text Search + Indexing: cho phép truy xuất nhanh theo từ khóa/điều luật.
- RAG (Retrieval-Augmented Generation): kết hợp LLM với đoạn trích trong luật để sinh câu trả lời tự nhiên.
- Knowledge Graph: ánh xạ quan hệ giữa các khái niệm như “thử việc”, “hợp đồng”, “quyền lợi”, “vi phạm”,… cho phép reasoning ngữ nghĩa cao hơn.
Dù bạn chọn kỹ thuật nào, điều quan trọng là cấu trúc của luật Việt Nam, như đã thấy ở trên: hoàn toàn cho phép chuẩn hóa thành dạng dữ liệu hỗ trợ tri thức.
2.3. Một Ontology sơ khai cho Bộ Luật lao động 2019
Mình nhận ra mình vẫn chưa để định nghĩa của Ontology hay Topology, hơi ảo tí nhưng đến giờ mình mới nghĩ đến thì chắc là giờ mới quan trọng 🥴:
Ontology:
Ontology là một cấu trúc hình thức mô tả các thực thể (entities) trong một miền tri thức (domain) cùng với các thuộc tính, quan hệ, và ràng buộc giữa chúng.
- Nguồn gốc: Từ triết học (bản thể luận), được hình thức hóa trong logic hình thức và khoa học máy tính để mô hình hóa tri thức.
- Trong Knowledge Graph: Ontology là “xương sống” định nghĩa các lớp (classes), thuộc tính (properties), và quan hệ (relations) - ví dụ: “Người lao động”, “Hợp đồng”, “Có quyền”, “Bị xử phạt”,…
- Trong ngữ cảnh pháp luật Việt Nam: Giúp chuẩn hóa cách ta hiểu và diễn giải các khái niệm pháp lý, từ đó làm cơ sở cho việc truy vấn, suy luận, và sinh câu trả lời tự động.
Topology:
Topology (tô pô) trong ngữ cảnh này là cách mà các thực thể và quan hệ trong ontology được kết nối, tổ chức và phân bố trong không gian tri thức.
- Nguồn gốc: Từ toán học tô pô, chuyên nghiên cứu về tính liên thông và cấu trúc hình học bất biến.
- Trong Knowledge Graph: Topology mô tả hình dạng và chiều sâu của mạng tri thức - ví dụ: mức độ phân cấp, vòng lặp khái niệm, các cluster như “quyền lợi”, “nghĩa vụ”, “quy trình”,…
- Trong ngữ cảnh pháp luật Việt Nam: Topology của luật giúp ta hiểu văn bản nào dẫn chiếu tới văn bản nào, điều nào quan hệ với điều nào, chế định nào bao trùm nhiều điều, hoặc nhiều ngành luật cùng dẫn tới một thực thể.
2.3.1. Tại sao cần Ontology & Topology nghiêm túc?
Với kinh nghiệm của mình, khi làm việc với Knowledge Graph mà không hề có restraint nào về Ontology hay Topology, thì ứng dụng đó rất dễ trở thành một món đồ chơi - một dạng thí nghiệm hay demo nhỏ lẻ chứ không thật sự sử dụng được. Ở một miền tri thức nghiêm túc và critical như pháp luật, không thể đơn giản nói “áp dụng Knowledge Graph” là sẽ ra ngay kết quả.
Ở đây, Ontology và Topology (gọi tắt là T&P) đóng vai trò thiết yếu trong việc đảm bảo:
- Traceability - Có thể lần ngược lại nguồn gốc thông tin: từ kết luận -> quy định -> văn bản gốc.
- Transparency - Rõ ràng trong cấu trúc và quan hệ tri thức.
- Reasoning - Khả năng suy luận logic dựa trên quan hệ giữa các thực thể.
- Retrieval - Tối ưu hóa việc tìm kiếm thông tin theo ngữ nghĩa, không chỉ dựa trên từ khóa.
- … và đặc biệt là giữ được tính hệ thống, tái sử dụng, và mở rộng tri thức theo thời gian.
2.3.2. Granularity - Chọn “độ phân giải” của tri thức
Một điểm quan trọng nữa là: Ontology nên chi tiết tới mức nào?
Trong ví dụ trước về luật lao động, bạn thấy những khái niệm như “thử việc”, “hợp đồng”, “người lao động” đều có thể ánh xạ thành các thực thể. Nhưng điều đó đặt ra một câu hỏi quan trọng:
Liệu ta chỉ nên dừng lại ở mức vĩ mô (ví dụ: chương, điều, khoản - các đơn vị pháp lý rõ ràng), Hay có thể vi mô hóa ontology đến mức các đối tượng xã hội, quyền lợi cụ thể, hành vi, thậm chí tình huống?
Mức độ granularity này phải được kiểm soát cực kỳ cẩn thận. Nếu quá rối rắm, bạn sẽ có một graph với hàng ngàn node như:
"không hoàn thành công việc" -> "bị xử lý"
-> "theo nội quy công ty" -> "nội dung quy chế công ty"
-> "ban hành bởi..." -> "được phép bởi điều X"
-> "văn bản Y" -> "nghị định Z sửa đổi điều X"
…và khi đó, graph không khác gì một mê cung - khó trace, khó query, khó mở rộng, và rất dễ sinh lỗi mâu thuẫn hoặc lặp thông tin.
Do đó, bài toán khi mô hình hóa luật pháp Việt Nam không phải là “làm được Knowledge Graph hay không”, Mà là:
Làm thế nào để chọn được một Ontology đủ rõ ràng, nhất quán, có granularity hợp lý và một Topology đủ trực quan, mở rộng được?
3. Nghiên cứu về Ontology cho domain legal của Việt Nam
Chúng ta đã cùng đi qua một bài thực hành khá thực tế với Bộ luật Lao động 2019 - từ việc chọn nguồn dữ liệu, đọc văn bản, đến việc phác thảo một cách tiếp cận tri thức theo kiểu bán-cấu trúc. Dù mới chỉ ở mức sơ khai, phần đó cũng đã hé lộ nhiều điều:
- Các văn bản pháp luật Việt Nam không hề phi cấu trúc, ngược lại còn có tính phân cấp rất rõ, giàu ngữ nghĩa.
- Tuy nhiên, việc chuyển đổi từ dạng văn bản sang một hệ thống tri thức có thể tìm kiếm, truy vấn, suy luận được là không hề đơn giản.
- Và quan trọng nhất: Ontology chính là yếu tố phân biệt giữa “thông tin” và “tri thức có thể dùng được trong hệ thống NLP nghiêm túc”.
Cũng từ đây, mình bắt đầu nhận ra rằng: Đây không chỉ là một dự án nhỏ vui vui về “chatbot luật”. Đây là một hướng nghiên cứu hoàn toàn nghiêm túc và đầy tiềm năng trong NLP Việt Nam - một lĩnh vực hiếm khi được đầu tư bài bản, nhưng lại có thể tạo ra ảnh hưởng rất lớn nếu được phát triển đúng cách. Một trong những sản phẩm mà bạn có thể chưa biết trong mảng này đó là Chatbot Luật Pháp chính thức trên cổng quốc gia: ai.phapluat.gov.vn.
Với mục tiêu đó, chương này sẽ đi vào tìm hiểu:
- Những nỗ lực đã có trong việc xây dựng Ontology hoặc Schema cho lĩnh vực pháp luật Việt Nam.
- Những bài học và hướng đi từ các hệ thống ontology nước ngoài (như LKIF, LegalRuleML, EuroVoc…).
Tất cả nguồn tài liệu tham khảo được cung cấp ở cuối post.
3.1. Lý thuyết nền và lựa chọn ontology cho lĩnh vực pháp lý
Trong Leone et al 2018., InvestigatiOnt đã được đề xuất. InvestigatiOnt nhằm hỗ trợ các nhà phát triển và người dùng cuối không có chuyên môn về luật pháp lựa chọn ontology pháp lý phù hợp nhất với yêu cầu mô hình hóa của một miền pháp lý quan tâm. Điều đặc biệt là InvestigatiOnt không chỉ gợi ý một ontology sau khi người dùng trả lời một loạt câu hỏi, mà còn hướng dẫn họ trong một quá trình học tập, cung cấp sự hiểu biết tốt hơn về các đặc điểm riêng biệt của từng ontology.
InvestigatiOnt được thiết kế để xử lý những phức tạp đặc trưng của lĩnh vực pháp lý, bao gồm:
- Các hệ thống pháp luật khác nhau (ví dụ: luật thông thường, luật dân sự).
- Các khu vực tài phán khác nhau (ví dụ: địa phương, quốc gia, quốc tế).
- Các tương tác phức tạp giữa các quy tắc (ví dụ: quy tắc biểu thị nghĩa vụ phải hoàn thành nếu nghĩa vụ khác bị vi phạm, hoặc quy tắc biểu thị một ngoại lệ đối với một nghĩa vụ).
- Cấu trúc cố định của các văn bản pháp lý (ví dụ: phân chia thành điều, khoản, định nghĩa).
Công cụ này cung cấp hai loại dịch vụ chính:
- Dịch vụ trực quan hóa (visualization service): Hiển thị thông tin về một ontology dưới dạng biểu đồ thể hiện các phụ thuộc của nó với các ontology được tái sử dụng khác. Thông tin hiển thị bao gồm tên đầy đủ và viết tắt, năm xuất bản, lần cập nhật cuối cùng, giấy phép sử dụng lại, và liên kết đến mô tả chính thức và tải xuống.
- Dịch vụ tìm kiếm (search service): Gợi ý một hoặc nhiều ontology phù hợp với yêu cầu của người dùng bằng cách phân tích câu trả lời của họ cho một bộ câu hỏi. Các câu hỏi được thiết kế để hiểu cam kết ngữ nghĩa pháp lý mà người dùng muốn đảm nhận, và đi kèm với các ví dụ minh họa để dễ hiểu hơn. Các câu hỏi này giúp phân biệt các đặc điểm cụ thể của các ontology trong cùng một lĩnh vực.
InvestigatiOnt hiện đang xử lý 12 ontology thuộc sáu lĩnh vực pháp lý khác nhau, bao gồm: các quy phạm pháp luật, chính sách, giấy phép, biểu diễn/lập chỉ mục tài liệu pháp lý, quyền riêng tư trong GDPR, và đấu thầu công. Qua đó, InvestigatiOnt cung cấp một sự minh bạch hoàn toàn về đề xuất cuối cùng, giúp người dùng đưa ra quyết định sáng suốt.
3.2. Nghiên cứu ứng dụng tại Việt Nam
Tại Việt Nam, số lượng văn bản pháp luật ngày càng tăng, cùng với sự đan xen phức tạp giữa chúng, dẫn đến nhiều khó khăn trong việc tìm kiếm và áp dụng trên thực tế. Các văn bản pháp lý sau này có thể thay đổi hoặc làm mất hiệu lực các văn bản trước đó. Trong bối cảnh chuyển đổi số còn hạn chế trong lĩnh vực luật pháp Việt Nam, việc xây dựng các ontology và đồ thị tri thức pháp lý là vô cùng cần thiết.
Một trong những nỗ lực đáng chú ý là nghiên cứu của Ngo et al 2024.,, đề xuất tiếp cận bản đồ tri thức dựa trên ontology để xây dựng dữ liệu liên kết pháp lý tiếng Việt từ kho dữ liệu khoảng 325.000 văn bản pháp lý. Nghiên cứu này bao gồm một ontology tích hợp (VLegalO) để biểu diễn tri thức pháp lý từ các văn bản. Mô hình này tích hợp ontology tri thức quan hệ và đồ thị thực thể dưới dạng đồ thị khái niệm, có thể biểu thị ngữ nghĩa của nội dung một văn bản pháp lý nhất định. VLegalO được thiết kế để kết nối các văn bản pháp lý, các tổ chức ban hành, người ký, các địa điểm hoặc tổ chức bị ảnh hưởng, và các thực thể liên quan. Về mặt cấu trúc, VLegalO bao gồm một tập hợp các khái niệm (C), các quan hệ định nghĩa trước (R) và các quy tắc suy luận (RULES), cùng với một đồ thị khái niệm (Inst, Rel, weight) biểu diễn các quan hệ giữa các thực thể hoặc cụm từ khóa trong tài liệu luật. Ontology này được triển khai bằng công cụ Protege.
Quá trình xây dựng VLegalKMaps bao gồm hai phần: một phần cho các mục có cấu trúc và quan hệ của tài liệu, và một phần khác cho các đồ thị khái niệm của tri thức pháp lý trong tài liệu. Các phần tử này được trích xuất và chuyển đổi thành bộ ba RDF (subject, predicate, object). Các ứng dụng tiềm năng dựa trên dữ liệu liên kết pháp lý được xây dựng từ VLegalKMaps bao gồm:
- Công cụ tìm kiếm văn bản pháp lý: Cải thiện khả năng truy cập và đối chiếu thông tin pháp lý từ các nguồn đa dạng.
- Hệ thống trả lời câu hỏi pháp lý: Tăng cường khả năng hiểu và diễn giải ý nghĩa của các khái niệm pháp lý, đảm bảo câu trả lời chính xác theo ngữ cảnh.
- Truy xuất thông tin pháp lý: Cải thiện chất lượng dữ liệu thông qua việc sử dụng các từ vựng và ontology được chuẩn hóa, giúp giảm sự mơ hồ và không chính xác.
- Tìm kiếm vụ án tòa án pháp lý: Cho phép truy cập qua mạng lưới rộng lớn các nguồn tri thức pháp lý liên kết.
- Luận điểm pháp lý: Cung cấp một khuôn khổ mạnh mẽ để tổ chức, kết nối và phân tích thông tin pháp lý, nâng cao hiệu quả và độ chính xác của lập luận pháp lý.
Một nghiên cứu quan trọng khác là của Nguyen et al 2022.,, giới thiệu ViLO – Một Ontology cốt lõi của các văn bản pháp lý Việt Nam. ViLO là một ontology cốt lõi, hay còn gọi là ontology kiến tạo, thường bao gồm các khái niệm và quan hệ trung tâm của một miền. ViLO được xây dựng thông qua một quy trình cộng tác dựa trên phương pháp NeOn, có sự tham gia của các kỹ sư ontology và chuyên gia pháp lý, nhằm loại bỏ sự mơ hồ trong luật pháp. Ontology này bao gồm các thể chế liên quan của hệ thống chính trị Việt Nam, các loại và cấu trúc của văn bản pháp luật. Mục tiêu của ViLO là nâng cao các tác vụ tìm kiếm, truy xuất hoặc xác thực cho các văn bản pháp lý Việt Nam, và là nền tảng cho việc phát triển các ứng dụng AI chuyên biệt cho luật pháp Việt Nam. ViLO được thiết kế thành ba module riêng biệt: module người ban hành (promulgator), module văn bản pháp lý (legal document) và module tài nguyên tái sử dụng (reused-resource). Nó cũng được triển khai bằng công cụ Protégé và sử dụng các tiên đề (axioms) để thể hiện rõ ràng các hàm ý pháp lý.
Luận án tiến sĩ của Vương Thị Hải Yến (2024) cũng tập trung vào việc xây dựng một đồ thị tri thức cho các vụ án pháp lý Việt Nam với đồ thị Heterogeneous để tổ chức thông tin pháp lý hiệu quả và nâng cao các tác vụ xử lý ngôn ngữ tự nhiên về sau. Luận án nhấn mạnh việc tận dụng các mối quan hệ văn bản và cấu trúc trong dữ liệu pháp lý để cải thiện hiệu suất của các bài toán truy xuất thông tin pháp lý (IR) và trả lời câu hỏi (QA). Đặc biệt, một đồ thị tri thức pháp lý Heterogeneous đã được định nghĩa và xây dựng để tận dụng các mối quan hệ giữa luật thành văn và án lệ (statutory-case law retrieval). Đồ thị này kết nối các thực thể như tòa án, vụ án, lĩnh vực và luật, làm giàu thông tin được cung cấp bởi các hệ thống truy xuất.
3.3. Kỹ thuật xây dựng hệ thống và tri thức hóa KG pháp lý
Việc xây dựng một đồ thị tri thức pháp lý đòi hỏi các kỹ thuật phức tạp để trích xuất, cấu trúc hóa và biểu diễn thông tin từ các văn bản không cấu trúc. Phương pháp của Vuong et al. (2023) cho việc xây dựng đồ thị tri thức cho các vụ án pháp lý và luật liên quan tại Việt Nam bao gồm ba bước chính:
- Thu thập dữ liệu (Data Crawling):
- Hệ thống thu thập một lượng lớn tài liệu vụ án pháp lý và các luật liên quan từ nhiều nguồn khác nhau, cung cấp một cơ sở dữ liệu phong phú để xử lý tiếp theo.
- Cụ thể, nghiên cứu đã thu thập 9578 vụ án tòa án được công bố bởi Tòa án Nhân dân Tối cao Việt Nam dưới dạng văn bản thuần túy và 225 bộ luật hợp lệ của Việt Nam. Các bộ luật được thu thập từ thuvienphapluat.vn, trong khi các vụ án được cào từ congbobanan.toaan.gov.vn.
- Dữ liệu vụ án bao gồm hai phần: siêu dữ liệu (meta-data) và nội dung vụ án (case document). Phần siêu dữ liệu chứa thông tin cơ bản (số vụ án, tên vụ án, loại vụ án). Nội dung vụ án gồm bốn phần: Giới thiệu, Nội dung vụ án, Nhận định của Tòa án và Quyết định của Tòa án.
- Trích xuất thông tin (Information Extraction):
- Bước này sử dụng các kỹ thuật xử lý ngôn ngữ tự nhiên (NLP) để trích xuất các thực thể như tòa án, vụ án, lĩnh vực và luật, cũng như các mối quan hệ của chúng từ văn bản không cấu trúc.
- Các thực thể như tòa án, lĩnh vực và vụ án được trích xuất từ cả siêu dữ liệu và nội dung vụ án bằng cách sử dụng các biểu thức chính quy (regular expressions).
- Đối với các thực thể luật, chúng được trích xuất bằng cách đối sánh các câu chứa thông tin luật với một cơ sở dữ liệu gồm 225 bộ luật của Việt Nam.
- Các thuộc tính của các thực thể bao gồm:
- Vụ án (Case): id vụ án, số vụ án, loại tài liệu, cấp tòa án, nội dung vụ án, văn bản đầy đủ, ngày ghi nhận, id tòa án, id lĩnh vực.
- Lĩnh vực (Domain): id lĩnh vực, tên lĩnh vực (ví dụ: Hình sự, Dân sự), phân lĩnh vực (tội phạm, quan hệ pháp luật).
- Tòa án (Court): id tòa án, tên tòa án, cấp tòa án.
- Luật (Law): id luật, tên luật.
- Triển khai Đồ thị Tri thức (Knowledge Graph Deployment):
- Đồ thị tri thức được triển khai bằng cách kết nối các thực thể dựa trên các mối quan hệ đã trích xuất, tạo ra một đồ thị Heterogeneous biểu diễn hiệu quả thông tin pháp lý.
- Đồ thị Heterogeneous G = (V,E) chứa một tập hợp các thực thể V và một tập hợp các quan hệ E. Các loại thực thể (A) và loại quan hệ (R) là khác nhau.
- Bốn loại thực thể chính được định nghĩa: nút vụ án (Case node), nút lĩnh vực (Domain node), nút tòa án (Court node), và nút luật (Law node).
- Ba loại quan hệ chính giữa các thực thể: quan hệ “Decide” (giữa tòa án và vụ án), quan hệ “Belong-to” (giữa vụ án và lĩnh vực), và quan hệ “Based-on” (giữa vụ án và luật).
- Meta-paths: Trong một đồ thị Heterogeneous, hai thực thể có thể được kết nối thông qua các đường dẫn ngữ nghĩa khác nhau, được gọi là meta-paths (ví dụ: Case-Court-Case (CCC) hoặc Case-Domain-Case (CDC)). Mỗi meta-path tiết lộ ngữ nghĩa khác nhau (ví dụ: CCC nghĩa là các vụ án được xét xử bởi cùng một tòa án, CDC nghĩa là chúng thuộc cùng một lĩnh vực).
- Đồ thị tri thức pháp lý được xây dựng có tổng cộng 10.181 nút, trong đó 9078 nút là vụ án. Tổng số cạnh là 54.110, với 35.954 cạnh giữa nút vụ án và nút luật.
Liên hệ Graph Learning: Việc xây dựng đồ thị tri thức pháp lý mở ra nhiều cơ hội cho các ứng dụng dựa trên học đồ thị (graph learning). Đồ thị tri thức có thể biểu diễn hiệu quả lượng lớn tri thức với ý nghĩa ngữ nghĩa, tạo điều kiện dễ dàng truy cập và truy vấn có cấu trúc. Các phương pháp học đồ thị, chẳng hạn như Mạng thần kinh tích chập đồ thị (Graph Convolutional Networks - GCNs), có thể được sử dụng để khám phá các mối quan hệ phức tạp và ngữ cảnh ẩn trong dữ liệu pháp lý.
Trong nghiên cứu của Vuong et al. (2023), đồ thị tri thức đã được áp dụng để xác định các luật liên quan cho một vụ án pháp lý nhất định. Bằng cách giảm không gian tìm kiếm thông qua meta-path “Case-Domain-Case” trong đồ thị tri thức, hiệu suất F1 của việc tìm kiếm luật liên quan đã tăng đáng kể (tăng 21% so với các phương pháp chỉ dựa trên từ khóa). Điều này cho thấy tiềm năng to lớn của việc tích hợp các kỹ thuật học đồ thị để cải thiện hiệu suất truy xuất và phân tích thông tin pháp lý. Hơn nữa, các mô hình học đồ thị có thể kết hợp cả đặc điểm văn bản và cấu trúc của dữ liệu pháp lý để nâng cao hiệu suất tổng thể của các hệ thống AI pháp lý.
Lời bạt
Thật ra mà nói thì, mảng này quá rộng và phức tạp để một người làm được gì lớn. Ngay cả mình cũng thấy rõ là còn thiếu nhiều thứ. Nhưng qua bài post này, ít nhất mình cũng cho thấy là mình bắt đầu nhìn nhận lĩnh vực này một cách nghiêm túc hơn, dù nó rối, khó, và ở Việt Nam thì chưa có nhiều người thật sự làm sâu.
Sau buổi phỏng vấn với anh founder, mình có thêm động lực thật. Cảm giác kiểu, nếu làm tốt thì biết đâu kì tới lại có cơ hội thật sự (anh ấy cũng ngụ ý vậy mà keke). Còn giờ thì mình cứ tiếp tục học, đọc, và thử làm từng bước một. Dự án này chưa phải gì lớn, nhưng là một hướng mình thấy đáng theo.
Cảm ơn bạn đã đọc tới đây. Nếu sau này mình có làm được bản demo hay thử nghiệm gì cụ thể hơn, mình sẽ chia sẻ tiếp. Hy vọng là nó không dừng lại ở đây, đón chờ nhé 🥴.
Tài liệu tham khảo
- CACJ - Overview of the Legal System of Vietnam
- Wikipedia - Hệ thống pháp luật trên thế giới
- thuvienphapluat.vn - Bộ Luật lao động 2019
- ai.phapluat.gov.vn - Chatbot hỗ trợ luật pháp
- Github - Liquid-Legal-Institute/Legal-Ontologies
- Vuong et al., 2023 - Constructing a Knowledge Graph for Vietnamese Legal Cases with Heterogeneous Graphs
- Leone et al., 2018 - Legal Ontologies and How to Choose Them:the InvestigatiOnt Tool
- Ngo et al., 2024 - Ontology Knowledge Map Approach Towards BuildingLinked Data for Vietnamese Legal Applications
- Nguyen et al., 2022 - ViLO: A Core Ontology of VietnameseLegal Documents
- PhD: Vuong Thi Hai Yen - MODELING AND LEARNINGTEXTUAL AND STRUCTURAL RELATIONSFOR DEEP LEGAL INFORMATION RETRIEVAL