Xây Dựng Hệ Thống Trả Lời Câu Hỏi Miền Mở Trên Tiếng Việt

Khám phá cách xây dựng hệ thống trả lời câu hỏi RAG cho chatbot tiếng Việt tại NTU, nâng cao trải nghiệm người dùng và hiệu quả giao tiếp.

Chuyên ngành

Khoa Học Dữ Liệu

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2024

86
5
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI MỞ ĐẦU

1. CHƯƠNG 1: Giới thiệu chung về đề tài

1.1. Giới thiệu để tài mục tiêu

1.2. Phương pháp đề tài

1.3. Lý do chọn đề tài

1.4. Mục tiêu nghiên cứu

1.5. Đối tượng nghiên cứu

1.6. Bố cục đề tài

2. CHƯƠNG 2: Cơ sở lý luận về vấn đề nghiên cứu

2.1. Giới thiệu về Hệ thống Trả lời câu hỏi

2.2. Hệ thống Trả lời câu hỏi miền mở là gì?

2.3. Cơ chế hoạt động của Open-Domain Question Answering

2.4. Tìm kiếm mức độ tương tự văn bản

2.5. Thuật toán TF-IDF

2.6. Thuật toán BM25

3. CHƯƠNG 3: Xây dựng hệ thống trình bày

3.1. Tổng quan về ý tưởng hệ thống

3.2. Chuẩn bị dữ liệu

3.3. Làm sạch dữ liệu

3.4. Khám phá dữ liệu

3.5. Xây dựng lõi back-end

3.6. Xây dựng vector database

3.7. Xây dựng Retriver

3.8. Lựa chọn mô hình ngôn ngữ lớn

3.9. Lượng tử hóa mô hình

3.10. Huấn luyện mô hình

3.11. Triển khai mô hình

3.12. Xây dựng front-end

4. CHƯƠNG 4: Thực nghiệm và đánh giá

4.1. Phương pháp đánh giá

4.2. Kết quả thực nghiệm

4.3. Đánh giá kết quả

5. CHƯƠNG 5: Kết luận và hướng phát triển

5.1. Hướng phát triển

Tài liệu tham khảo

Tóm tắt

I. Giới thiệu về Hệ Thống Trả Lời Câu Hỏi Miền Mở Bằng Tiếng Việt

Hệ thống trả lời câu hỏi miền mở bằng tiếng Việt đang trở thành một xu hướng quan trọng trong lĩnh vực công nghệ thông tin. Với sự phát triển của công nghệ xử lý ngôn ngữ tự nhiên, hệ thống này cho phép người dùng đặt câu hỏi và nhận được câu trả lời chính xác từ một kho dữ liệu lớn. Đặc biệt, việc áp dụng trí tuệ nhân tạo vào hệ thống này giúp nâng cao khả năng hiểu ngôn ngữ và trích xuất thông tin.

1.1. Tầm Quan Trọng của Hệ Thống Trả Lời Câu Hỏi

Hệ thống trả lời câu hỏi đóng vai trò quan trọng trong việc cung cấp thông tin nhanh chóng và chính xác. Nó giúp người dùng tiết kiệm thời gian và công sức trong việc tìm kiếm thông tin, đồng thời nâng cao trải nghiệm người dùng.

1.2. Các Ứng Dụng Thực Tiễn của Hệ Thống

Hệ thống này có thể được ứng dụng trong nhiều lĩnh vực như giáo dục, y tế, và kinh doanh. Ví dụ, trong giáo dục, nó có thể hỗ trợ sinh viên trong việc tìm kiếm thông tin học tập một cách hiệu quả.

II. Vấn Đề và Thách Thức Trong Xây Dựng Hệ Thống Trả Lời Câu Hỏi

Mặc dù có nhiều tiềm năng, việc xây dựng hệ thống trả lời câu hỏi miền mở cũng gặp phải nhiều thách thức. Đặc biệt, độ chính xác và khả năng xử lý các câu hỏi mở là những vấn đề cần được giải quyết. Hệ thống cần phải có khả năng hiểu ngữ nghĩa và ngữ cảnh của câu hỏi để đưa ra câu trả lời phù hợp.

2.1. Độ Chính Xác Trong Trả Lời Câu Hỏi

Độ chính xác là yếu tố quan trọng nhất trong hệ thống trả lời câu hỏi. Hệ thống cần phải được huấn luyện với dữ liệu phong phú và đa dạng để có thể đưa ra câu trả lời chính xác cho nhiều loại câu hỏi khác nhau.

2.2. Khả Năng Xử Lý Câu Hỏi Mở

Khả năng xử lý câu hỏi mở là một thách thức lớn. Hệ thống cần phải có khả năng suy luận và sáng tạo để có thể đưa ra câu trả lời cho những câu hỏi không có sẵn trong dữ liệu.

III. Phương Pháp Xây Dựng Hệ Thống Trả Lời Câu Hỏi Miền Mở

Để xây dựng một hệ thống trả lời câu hỏi miền mở hiệu quả, cần áp dụng các phương pháp hiện đại trong xử lý ngôn ngữ tự nhiênhọc máy. Việc sử dụng các mô hình ngôn ngữ lớn như BERT và GPT sẽ giúp cải thiện khả năng hiểu ngữ nghĩa của hệ thống.

3.1. Sử Dụng Mô Hình Ngôn Ngữ Lớn

Mô hình ngôn ngữ lớn như BERT và GPT có khả năng hiểu ngữ nghĩa và ngữ cảnh tốt hơn. Việc áp dụng các mô hình này sẽ giúp hệ thống trả lời câu hỏi chính xác hơn.

3.2. Kỹ Thuật Trích Xuất Thông Tin

Kỹ thuật trích xuất thông tin là một phần quan trọng trong hệ thống. Các thuật toán như TF-IDF và BM25 sẽ giúp tìm kiếm và sắp xếp thông tin liên quan đến câu hỏi.

IV. Ứng Dụng Thực Tiễn Của Hệ Thống Trả Lời Câu Hỏi Miền Mở

Hệ thống trả lời câu hỏi miền mở có thể được ứng dụng trong nhiều lĩnh vực khác nhau. Từ giáo dục đến y tế, hệ thống này giúp cải thiện khả năng truy cập thông tin và hỗ trợ quyết định.

4.1. Ứng Dụng Trong Giáo Dục

Trong giáo dục, hệ thống có thể giúp sinh viên tìm kiếm thông tin học tập một cách nhanh chóng và hiệu quả, từ đó nâng cao chất lượng học tập.

4.2. Ứng Dụng Trong Y Tế

Trong lĩnh vực y tế, hệ thống có thể hỗ trợ bác sĩ trong việc tìm kiếm thông tin về bệnh lý và phương pháp điều trị, từ đó nâng cao chất lượng chăm sóc sức khỏe.

V. Kết Luận và Tương Lai Của Hệ Thống Trả Lời Câu Hỏi Miền Mở

Hệ thống trả lời câu hỏi miền mở bằng tiếng Việt có tiềm năng lớn trong việc cải thiện khả năng truy cập thông tin. Tương lai của hệ thống này sẽ phụ thuộc vào sự phát triển của công nghệ và khả năng xử lý ngôn ngữ tự nhiên.

5.1. Tương Lai Của Công Nghệ Trả Lời Câu Hỏi

Công nghệ trả lời câu hỏi sẽ tiếp tục phát triển và cải thiện, giúp người dùng có thể truy cập thông tin một cách dễ dàng và nhanh chóng hơn.

5.2. Cơ Hội Nghiên Cứu và Phát Triển

Có nhiều cơ hội nghiên cứu và phát triển trong lĩnh vực này, từ việc cải thiện độ chính xác đến việc mở rộng khả năng xử lý ngôn ngữ tự nhiên.

10/07/2025
Xây dựng hệ thống trả lời câu hỏi rag trên tiếng việt nttu chatbot

Trích đoạn nội dung tài liệu

Chương 1: Giới thiệu chung về đề tài • Chương 2: Cơ sở lý luận về vấn đề nghiên cứu • Chương 3: Xây dựng hệ thống trình bày • Chương 4: Thực nghiệm và đánh giá • Chương 5: Kết luận và hướng phát triển 3 CHƯƠNG 2: Cơ sở lý luận về vấn đề nghiên cứu 2. Giới thiệu về Hệ thống Trả lời câu hỏi Từ lâu con người luôn tìm cách trả lời những câu hỏi xung quanh mình, từ thực nghiệm đến kết luận chúng ta đã đúc kết những tri thức ấy qua nhiều năm và tạo nên một kho tàng đồ sộ những thông tin được lưu trữ dưới dạng giấy bút và ngày nay chúng được số hóa và lưu trữ gọn nhẹ trên những thiết bị phần cứng hiện đại.1: Minh họa cho Hệ thống Trả lời câu hỏi Do sự đồ sộ của nguồn thông tin được tăng dần theo cấp số nhân qua từng năm, một hệ thống tổng hợp thông tin và trả lời câu hỏi là vô cùng cần thiết. Sơ khai nhất có lẽ là sự xuất hiện của Google hoặc gần đây là ChatGPT đã làm cách mạng hóa việc tìm kiếm thông tin, giúp việc tìm kiếm thông tin trở nên đơn giản và dễ dàng hơn. Vì vậy ta có thể hiểu tác vụ này có định nghĩa như sau: Trả lời câu hỏi (Question-Answering) là một tác vụ nhằm hiểu ngôn ngữ tự nhiên, trích xuất và truy xuất thông tin, mục tiêu là tạo ra một hệ thống trả lời câu hỏi tự động dựa trên khả năng đọc hiểu của máy tính (machine reading comprehension), cho phép người dùng đặt câu hỏi bất kỳ và nhận được câu trả lời phù hợp từ một tập dữ liệu lớn và đa dạng [1].

Đây là một lĩnh vực thu hút nhiều nhà nghiên cứu trong lĩnh vực trí tuệ nhân tạo trong những năm gần đây bởi sự phát triển mạnh mẽ của các mô hình dữ liệu lớn dựa trên khả năng đọc hiểu của máy tính, được ứng dụng trong nhiều lĩnh vực từ y tế, giáo dục, tài chính,.v 4 Hệ thống trả lời câu hỏi thường có 2 loại bao gồm : trả lời câu hỏi miền đóng (closed domain) và trả lời câu hỏi miền mở (open domain) 2. Hệ thống Trả lời câu hỏi miền mở là gì? Khác với một hệ thống Trả lời câu hỏi miền đóng chỉ cho phép trả lời câu hỏi trong một lĩnh vực nhất định ví dụ như luật pháp hoặc tài chính thì hệ thống Trả lời câu hỏi miền mở có thể trả lời câu hỏi ở bất kỳ lĩnh vực nào miễn là trong hệ thống dữ liệu có lưu trữ về nó. Về định nghĩa ta có thể hiểu như sau: Trả lời câu hỏi miền mở (Open-Domain Question Answering) là một tác vụ giúp trả lời câu hỏi đầu vào dựa trên cơ chế Truy xuất thông tin (Information Retrieval - IR) với cơ sở dữ liệu có sẵn, hệ thống IR này sẽ tổng hợp và lựa chọn ra những tài liệu thông tin văn bản có mức độ liên quan cao trong hệ thống lưu trữ (cơ sở dữ liệu) và trả về với sắp xếp theo mức độ liên quan đó. Từ những thông tin có được mô hình sẽ dùng một số kỹ thuật Xử lý ngôn ngữ tự nhiên (NLP) để trích xuất ra một phần thông tin khả năng cao là câu trả lời cho câu hỏi [2].

Cơ chế hoạt động của Open-Domain Question Answering Như ta đã tìm hiểu thì một hệ thống trả lời câu hỏi miền mở sẽ bao gồm 2 thành phần chính: Retriever (Người tha mồi) và Reader (Người chắt lọc).2: Cơ chế hoạt động của một hệ thống Information Retrieval. ● Thành phần Retriever sẽ có nhiệm vụ trích xuất những tài liệu có liên quan (theo top-K) trong hệ thống lưu trữ và sắp xếp nó theo mức độ liên quan từ cao đến thấp. 5 Thông thường phương pháp được dùng để tìm kiếm theo mức độ tương tự văn bản (text similarity) sẽ dựa trên TF-IDF, MB25 hoặc dense vector. ● Thành phần Reader trích xuất những thông tin văn bản lấy được từ Retriever để lấy ra đoạn hoặc câu có khả năng cao là đáp án cho câu hỏi.

Thông thường sẽ là 2 biến giá trị số index của điểm bắt đầu và kết thúc của đáp án trong văn bản. Lúc này thông tin văn bản sẽ gọi là ngữ cảnh (context) để mô hình Reader dựa vào. Mô hình thường được dùng cho Reader là BERT, RoBERTa, DeBERTa, XLM,. Ngoài ra, thay vì dùng Reader một số hệ thống hiện đại sẽ thay thế Reader bằng một Generator như GPT-2, BLOOM hoặc LLaMA [3].

Giúp câu trả lời mang tính chất con người hơn kết hợp với những thông tin mà mô hình đã được huấn luyện trước đó. Trong đề tài này, một Generator sẽ được sử dụng thay cho Reader. Tìm kiếm mức độ tương tự văn bản Để có thể tạo ra một Retriever phục vụ tìm kiếm những tài liệu (document) có liên quan đến câu truy vấn (query) ở đầu vào. Ta cần một thuật toán có thể đánh giá mức độ tương tự văn bản (text similarity), thuật toán này sẽ dò xem những tài liệu và văn bản nào có khả năng cao chứa đựng nội dung liên quan truy vấn đó.

Phổ biến nhất có lẽ là 2 thuật toán TF- IDF và BM25. Thuật toán TF-IDF Trong truy xuất thông tin, TF-IDF (term frequency–inverse document frequency) là một kỹ thuật giúp đánh giá, phản ánh mức độ quan trọng của một từ trong văn bản. [8] Trong đó TF (term frequency) được tính là tần suất xuất hiện của một từ trong văn bản. Được tính theo công thức.

Là tần số nghịch của một từ trong tập văn bản (corpus). |𝐷| 𝐼𝐷𝐹(𝑡, 𝐷) = 𝑙𝑜𝑔 |𝑑 𝜖 𝐷 ∶ 𝑡 𝜖 𝑑| Trong đó: ● |𝐷|: là tổng số văn bản trong tập mẫu D ● |𝑑 𝜖 𝐷 ∶ 𝑡 𝜖 𝑑|: là số lượng văn bản có chứa từ t Từ 2 chỉ số TF và IDF tính được, nhân lại sẽ cho ra được giá trị của TF-IDF như sau. 𝑇𝐹𝐼𝐷𝐹(𝑡, 𝑑, 𝐷) = 𝑇𝐹(𝑡, 𝑑) × 𝐼𝐷𝐹(𝑡, 𝐷) Một từ có giá trị TF-IDF cao chứng tỏ sự xuất hiện của từ đó trong tài liệu được bù đắp bởi số lượng những tài liệu có chứa từ đó, có nghĩa là từ có giá trị này cao sẽ xuất hiện nhiều trong văn bản này và xuất hiện ít hơn trong văn bản khác. Giúp việc lọc ra văn bản có liên quan đến từ khóa tìm kiếm trở nên chính xác hơn.

Thuật toán BM25 BM25 (hay Okapi BM25 (BM – best match)) thường được sử dụng để xếp hạng các tài liệu dựa trên việc kiểm tra liệu chúng có khớp với một truy vấn (query) cụ thể. Hàm xếp hạng này dựa trên mô hình xác suất từng từ của truy vấn xuất hiện trong tài liệu. Tương tự TF- IDF, BM25 cũng được sử dụng rộng rãi trong tìm kiếm. Ví dụ cho đầu vào một truy vấn 𝑸 bao gồm những từ 𝒒𝒊 ,.

, 𝒒𝒏 , thuật toán BM25 sẽ đưa ra đánh giá xem văn bản 𝑫 có phù hợp với truy vấn 𝑸 hay không [7]. 𝑛 𝑓(𝑞𝑖 , 𝐷) ⋅ (𝑘1 + 1) 𝑠𝑐𝑜𝑟𝑒(𝐷, 𝑄) = ∑ 𝐼𝐷𝐹(𝑞𝑖 ) ⋅ |𝐷 | 𝑖=1 𝑓(𝑞𝑖 , 𝐷) + 𝑘1 ⋅ (1 − 𝑏 + 𝑏 ⋅ ) 𝑎𝑣𝑔𝑑𝑙 Trong đó: ● 𝑓(𝑞𝑖 , 𝐷) là tần suất xuất hiện của từ 𝒒𝒊 với văn bản 𝑫 ● |𝐷 | là số lượng từ của 𝑫 ● 𝑎𝑣𝑔𝑑𝑙 là độ dài trung bình của văn bản trong tập ● 𝑘1 và 𝑏 là hệ số độc lập mặc định là 𝑘1 ∈ [1.5 Trong đó: ● 𝑁 là tổng số lượng văn bản ● 𝑛(𝑞𝑖 ) là số lượng văn bản chứa từ 𝑞𝑖 Tuy nhiên phương pháp tính này có một nhược điểm đó là đối với những từ vựng phổ biến ví dụ như: là, và, hoặc, nhưng, của,. Nếu nó xuất hiện nhiều hơn một nửa số văn bản trong tập, giá trị của 𝐼𝐷𝐹(𝑞𝑖 ) sẽ âm, vì vậy trong thực tế chúng ta cần đưa những từ phổ biến này vào một danh sách loại trừ để có thể lược bỏ, điều này tương tự việc loại bỏ 𝐼𝐷𝐹 có giá trị âm hoặc ta sẽ quy định một số 𝜀 nào đó đại diện cho mức 𝐼𝐷𝐹 thấp nhất có thể chấp nhận được để so sánh, tức là chỉ lấy nếu giá trị 𝐼𝐷𝐹 lớn hơn 𝜀, còn lại sẽ bằng 𝜀. Tuy nhiên BM25 cũng có những hạn chế của nó khi chỉ tìm kiếm theo xác suất xuất hiện nhưng không thể tìm dựa trên ý nghĩa của nó, vì vậy người ta đã sử dụng học sâu để tăng khả năng tìm kiếm thông qua một phương pháp tìm kiếm tương tự bằng cách nhúng từ.

Tìm kiếm tương đồng dựa trên vector nhúng từ Bằng cách trích xuất đặc trưng của từ vựng hoặc một câu thành các vector embedding, nếu biểu diễn vector này trên không gian nhiều chiều ta có thể tính toán được khoảng cách giữa vector của câu tìm kiếm với các vector nội dung trong database từ đó có thể truy xuất được tài liệu có khoảng cách ngắn nhất, tức mức độ liên quan cao nhất. Việc tính toán khoảng cách giữa 2 vector có thể dùng công thức toán cấp 3 như cosine để thực hiện. Tuy nhiên vấn đề ở chỗ ta phải tìm được một mô hình có khả năng trích xuất đặc trưng đủ tốt để chuyển đổi văn bản thành các vector có thể biểu diễn được ngữ nghĩa. Thông thường một model BERT sử dụng cấu trúc Transformer Encoder sẽ là một lựa chọn phù hợp để sử dụng cho việc chuyển đổi này.

Lịch sử hình thành mô hình ngôn ngữ 8 Một mô hình ngôn ngữ (language model) là một mô hình có thể gán được xác suất, khả năng xuất hiện của một phần tử từ trong một câu. Dưới góc nhìn toán học thì một câu được biểu diễn dưới dạng một chuỗi liên tục kèm theo những từ mà ở đó xác suất, khả năng một từ xuất hiện của từ đó trong một chuỗi biết trước. Ta có thể hình dung một câu là một chuỗi 𝑃 như sau: 𝑃(𝑤1 , 𝑤2 ,. Word Embedding Máy tính không thể hiểu được ngôn ngữ của con người, để máy tính có thể hiểu được một từ trong câu, ta cần một hệ thống có khả năng ánh xạ từ ngôn ngữ thông thường sang số để biểu diễn từ đó.

Kỹ thuật này được gọi là nhúng từ (word embedding) giúp ta có thể chuyển đổi từ vựng sang vector đặc trưng (vector embedding) của nó.3: Minh họa về kỹ thuật nhúng từ Trong quá khứ, việc chuyển văn bản thành vector (tokenizer) sẽ thông qua các phương pháp mang tính chất đơn giản như phương pháp túi từ (Bag-of-Words - BOW), chỉ việc 9 trích xuất sự xuất hiện của các từ trong văn bản để lấy làm đặc trưng hoặc phương pháp TF-IDF chỉ việc lấy tần suất xuất hiện của từ trong câu làm đặc trưng của từ đó.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu có tiêu đề Xây Dựng Hệ Thống Trả Lời Câu Hỏi Miền Mở Bằng Tiếng Việt cung cấp cái nhìn sâu sắc về việc phát triển một hệ thống có khả năng trả lời các câu hỏi mở bằng tiếng Việt. Tài liệu này không chỉ nêu rõ các phương pháp và công nghệ hiện đại được áp dụng trong việc xây dựng hệ thống, mà còn nhấn mạnh tầm quan trọng của việc xử lý ngôn ngữ tự nhiên trong bối cảnh giáo dục và thông tin. Độc giả sẽ nhận được những lợi ích từ việc hiểu rõ cách thức hoạt động của hệ thống, cũng như cách mà nó có thể cải thiện trải nghiệm học tập và tra cứu thông tin.

Để mở rộng thêm kiến thức về các ứng dụng công nghệ trong giáo dục và xử lý ngôn ngữ, bạn có thể tham khảo tài liệu Khóa luận tốt nghiệp an toàn thông tin hướng tới kiểm tra tính đúng đắn của thông tin dựa trên hệ thống hỏi và trả lời, nơi khám phá cách kiểm tra tính chính xác của thông tin trong các hệ thống hỏi đáp. Ngoài ra, tài liệu Khóa luận tốt nghiệp natural language question answering system about tourism location sẽ giúp bạn hiểu rõ hơn về ứng dụng của hệ thống trả lời câu hỏi trong lĩnh vực du lịch. Cuối cùng, tài liệu Khóa luận tốt nghiệp khoa học máy tính phương pháp tích hợp cơ sở tri thức cho hệ thống chatbot hỗ trợ tra cứu kiến thức học tập sẽ cung cấp cái nhìn về cách tích hợp tri thức vào các hệ thống hỗ trợ học tập. Những tài liệu này sẽ giúp bạn mở rộng hiểu biết và khám phá thêm nhiều khía cạnh thú vị trong lĩnh vực này.