Bối cảnh và vấn đề nghiên cứu

Trong lĩnh vực tương tác giữa người và máy tính, giao tiếp bằng tiếng nói đóng vai trò quan trọng nhằm giúp máy tính tiếp nhận, xử lý hiệu lệnh và phản hồi thông tin nhanh chóng hơn so với các phương thức nhập liệu truyền thống bằng bàn phím hay chuột. Tại Việt Nam vào giai đoạn trước năm 2014, các công trình nghiên cứu về xử lý tiếng nói tiếng Việt đã đạt được một số thành tựu tiêu biểu, điển hình là nhóm nghiên cứu tại Trường Đại học Khoa học Tự nhiên - Đại học Quốc gia TP.HCM do PGS. Vũ Hải Quân đứng đầu với hệ thống Voice Server phục vụ tra cứu tự động qua điện thoại đạt độ nhận dạng 93,17% và các hệ thống tổng hợp tiếng nói tiếng Việt ghép nối. Tuy nhiên, việc tích hợp một cơ chế xử lý ngôn ngữ tự nhiên chuyên sâu (bao gồm phân tích cú pháp và ngữ nghĩa câu lệnh) vào các hệ thống hội thoại tiếng nói tiếng Việt vẫn còn là khoảng trống cần được thử nghiệm thực tế.

Khóa luận tốt nghiệp ngành Công nghệ Thông tin của tác giả Văn Thế Quốc (người hướng dẫn: ThS. Trần Khải Thiện, thực hiện tại Trường Đại học Ngoại ngữ - Tin học TP.HCM năm 2014) mang tên: "Thử nghiệm việc nhận dạng tiếng nói tiếng Việt với bộ từ vựng giới hạn" được triển khai nhằm giải quyết bài toán tiếp nhận câu lệnh bằng giọng nói tiếng Việt, nhận dạng thành chuỗi văn bản và phân tích ngữ nghĩa để máy tính thực thi các thao tác tương tác với cơ sở dữ liệu.

Mục tiêu nghiên cứu của đề tài được tác giả xác định theo ba nhiệm vụ:

  1. Tìm hiểu quy trình nhận dạng tiếng nói, các bước huấn luyện và xây dựng bộ nhận dạng tiếng nói tiếng Việt theo mô hình Markov ẩn (Hidden Markov Model - HMM).
  2. Nghiên cứu phương pháp xử lý ngôn ngữ tự nhiên (NLP) phục vụ cho giai đoạn hậu xử lý sau khi nhận dạng tín hiệu âm thanh thành văn bản.
  3. Tích hợp các thành phần Nhận dạng tiếng nói, Xử lý ngôn ngữ tự nhiên và Tổng hợp tiếng nói thành một ứng dụng và hệ thống giao tiếp giọng nói hoàn chỉnh.

Nghiên cứu được cụ thể hóa thông qua hai bài toán ứng dụng:

  • Ứng dụng "Quản lý chi tiêu cá nhân": Nhận dạng giọng nói của nhiều người dùng với độ chính xác cao; phân tích cú pháp và ngữ nghĩa câu lệnh; thực thi các thao tác truy xuất cơ sở dữ liệu (Thêm, Xóa, Sửa, Truy vấn) và xuất kết quả phản hồi bằng âm thanh.
  • Hệ thống "Tra cứu thông tin tuyển sinh Đại học HUFLIT": Cho phép người dùng giao tiếp với hệ thống bằng giọng nói qua điện thoại để tra cứu các thông tin về trường, ngành học, điểm chuẩn, khối thi, học phí; hệ thống xử lý ngôn ngữ và phản hồi tự động.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Tín hiệu giọng nói tiếng Việt và các cấu trúc câu mệnh lệnh, câu truy vấn tiếng Việt phát sinh trong hai miền ứng dụng cụ thể.
  • Phạm vi nghiên cứu: Giới hạn trong các dạng câu xác định trước, phát sinh từ bộ từ vựng giới hạn (79 từ khóa cho ứng dụng quản lý chi tiêu và 118 từ khóa cho hệ thống tuyển sinh HUFLIT). Ứng dụng chỉ xử lý các câu đơn, không tiếp nhận các câu phức hoặc câu chứa các liên từ ghép nối ("và", "hoặc", "hay"). Về mặt dữ liệu âm thanh, nghiên cứu thử nghiệm trên tập giọng đọc là nam giới, độ tuổi từ 20 đến 21 tuổi tại TP.HCM.

Cơ sở lý thuyết và phương pháp

Khóa luận kết hợp hai nền tảng lý thuyết chủ đạo: lý thuyết nhận dạng mẫu thống kê trong xử lý tín hiệu âm thanh và lý thuyết ngữ pháp hình thức trong xử lý ngôn ngữ tự nhiên:

  • Khung lý thuyết nhận dạng tiếng nói: Tác giả phân tích ba hướng tiếp cận nhận dạng tiếng nói gồm tiếp cận Âm học, tiếp cận Nhận dạng mẫu thống kê và tiếp cận Trí tuệ nhân tạo. Đề tài lựa chọn hướng tiếp cận Nhận dạng mẫu thống kê dựa trên Mô hình Markov ẩn (Hidden Markov Model - HMM). Quá trình huấn luyện âm học và giải mã nhận dạng được thực hiện thông qua bộ công cụ mã nguồn mở HTK (Hidden Markov Model Toolkit).
  • Khung lý thuyết xử lý ngôn ngữ tự nhiên: Tác giả áp dụng kỹ thuật ngữ nghĩa tính toán ("computational semantics") để xử lý ngữ nghĩa câu lệnh tiếng Việt. Mô hình cú pháp được xây dựng dựa trên Ngữ pháp mệnh đề xác định (Definite Clause Grammar - DCG). Cấu trúc ngữ nghĩa của các câu mệnh lệnh và câu hỏi được biểu diễn dưới dạng Logic bậc một (First-Order Logic - FOL).
  • Môi trường và công cụ triển khai:
    • Thành phần xử lý ngôn ngữ tự nhiên được cài đặt bằng ngôn ngữ Prolog, chạy trên môi trường SWI-Prolog version 6.
    • Bộ điều khiển trung tâm và giao diện ứng dụng được phát triển bằng ngôn ngữ MS Visual C# 2012 trên nền tảng hệ điều hành Windows (hỗ trợ Windows NT/2000/XP/Vista/7/8/8.1).
    • Tương tác dữ liệu được thực hiện thông qua hệ quản trị cơ sở dữ liệu với các câu lệnh SQL chuẩn.
    • Thành phần tổng hợp tiếng nói tiếng Việt (Text-to-Speech) dựa trên phương pháp ghép nối được tích hợp từ kết quả nghiên cứu của nhóm tác giả Nguyễn Vũ Kiều Anh và Nguyễn Phạm Bảo Nguyên.
  • Dữ liệu nghiên cứu:
    • Tập ngữ âm cho ứng dụng "Quản lý chi tiêu cá nhân": Gồm 9 giờ ghi âm với 9.000 mẫu câu của 50 người đọc nam (độ tuổi 20-21). Tín hiệu âm thanh được lấy mẫu ở tần số 16.000 Hz, lượng tử hóa 16-bit, định dạng PCM, thu âm qua tai nghe (headphone microphone) trong điều kiện môi trường có tiếng ồn. Bộ từ vựng gồm 79 từ khóa.
    • Tập ngữ âm cho hệ thống "Tra cứu thông tin tuyển sinh Đại học HUFLIT": Gồm 262 phút ghi âm với 2.550 mẫu câu của các giọng đọc nam (độ tuổi 20-21). Tín hiệu được lấy mẫu ở tần số 8.000 Hz, lượng tử hóa 16-bit, định dạng PCM, thu âm qua điện thoại di động trong môi trường ít tiếng ồn. Bộ từ vựng gồm 118 từ khóa.
    • Hệ thống sử dụng từ điển phát âm quy ước phiên âm theo kiểu gõ Telex để mô tả cách đọc cho các từ vựng tiếng Việt.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình kiến trúc gồm 5 thành phần chính, phối hợp hoạt động theo một quy trình xử lý khép kín:

Thành phần Công nghệ / Nền tảng Chức năng chính
Bộ nhận dạng tiếng nói (ASR) HTK Toolkit, HMM Chuyển đổi tín hiệu giọng nói đầu vào thành chuỗi văn bản tiếng Việt.
Bộ xử lý ngôn ngữ tiếng Việt (NLP) SWI-Prolog version 6, DCG Nhận văn bản, phân tích cú pháp, trích xuất cấu trúc ngữ nghĩa dưới dạng FOL.
Bộ xử lý trung tâm MS Visual C# 2012 Cầu nối điều phối: chuyển văn bản thành file truy vấn Prolog, biên dịch FOL thành SQL, lọc và gửi dữ liệu phản hồi.
Cơ sở dữ liệu (CSDL) SQL Database Lưu trữ dữ liệu các khoản chi tiêu cá nhân (myExpenses) hoặc thông tin tuyển sinh trường HUFLIT.
Bộ tổng hợp tiếng nói (TTS) Module ghép nối âm Chuyển đổi câu thông báo kết quả từ dạng văn bản thành âm thanh tiếng Việt để phản hồi cho người dùng.

Quy trình vận hành giữa các thành phần diễn ra theo các bước:

  1. Người dùng phát âm câu lệnh hoặc câu hỏi bằng tiếng Việt vào thiết bị thu âm (microphone hoặc điện thoại di động).
  2. Bộ nhận dạng ASR trích xuất đặc trưng âm học, so khớp với mô hình HMM đã huấn luyện kết hợp với tệp văn phạm mạng chuyển trạng thái (.gram) để giải mã thành chuỗi văn bản tiếng Việt.
  3. Bộ xử lý trung tâm gửi chuỗi văn bản sang bộ xử lý ngôn ngữ tự nhiên Prolog để thực hiện phân tích cú pháp (syntax) và ngữ nghĩa (semantics):
    • Nếu là câu mệnh lệnh hợp lệ (Thêm, Xóa, Sửa): Hệ thống suy diễn ngữ nghĩa sang FOL, chuyển đổi thành lệnh INSERT, DELETE hoặc UPDATE tương ứng, tác động vào CSDL và gửi thông báo xác nhận thành công.
    • Nếu là câu truy vấn hợp lệ: Hệ thống suy diễn ngữ nghĩa sang FOL, chuyển thành câu lệnh SELECT, truy xuất kết quả từ CSDL, chuyển đổi chuỗi văn bản kết quả cho bộ TTS để phát âm thanh phản hồi.
    • Nếu câu lệnh sai cú pháp: Hệ thống thông báo lỗi bằng giọng nói cho người dùng để thực hiện lại thao tác.
  4. Xử lý ngữ dụng thời gian: Để đảm bảo việc chuyển đổi thành câu lệnh SQL chính xác, hệ thống quy chuẩn các khái niệm thời gian tương đối thành điểm thời gian (point: yyyy:mm:dd hh:MM) hoặc khoảng thời gian (period: [time1 - time2]). Các giả định ngữ nghĩa được thiết lập bao gồm:
    • Buổi sáng: quy ước từ 4h đến 10h.
    • Buổi trưa: quy ước từ 10h đến 15h.
    • Buổi chiều: quy ước từ 15h đến 18h.
    • Buổi tối: quy ước từ 18h đến 24h.
    • Các từ chỉ thời gian như "tuần rồi", "tháng trước", "năm rồi" được tính tương ứng theo các mốc đầu và cuối của chu kỳ thời gian đó.
  5. Quy tắc chuyển đổi logic FOL sang câu lệnh SQL (cho ứng dụng Quản lý chi tiêu):
    • Thao tác thêm: Add(time, subject, work(job, obj), amount) chuyển thành INSERT INTO myExpenses (time, subject, job, obj, amount) VALUES ($time, $subject, $job, $obj, $amount).
    • Thao tác xóa: Del(time, subject, work(job, obj), amount) chuyển thành DELETE FROM myExpenses WHERE time=$time AND subject=$subject AND job=$job AND obj=$obj AND amount=$amount.
    • Thao tác sửa: Edit(Del(...), Add(...)) chuyển thành UPDATE myExpenses SET time=$time, subject=$subject, job=$job, obj=$obj, amount=$amount WHERE time=$time, subject=$subject, job=$job, obj=$obj, amount=$amount.
    • Thao tác truy vấn tổng: Query_SUM(time-periods, job, obj) chuyển thành SELECT sum(amount) FROM myExpenses WHERE period1 <= time AND time <= period2 AND job=$job AND obj=$obj.

Nội dung chính theo từng chương

Chương 1 - Tổng quan

Chương 1 trình bày vai trò của nhận dạng tiếng nói trong giao tiếp người - máy và khảo sát các hướng tiếp cận chính trên thế giới cũng như tại Việt Nam. Tác giả tổng kết các kết quả nghiên cứu trước đó của nhóm PGS. Vũ Hải Quân tại Trường ĐH Khoa học Tự nhiên TP.HCM (với độ nhận dạng đạt xấp xỉ 95% trên bộ từ vựng không hạn chế). Đề tài xác định hướng đi riêng là tích hợp cơ chế phân tích cú pháp và ngữ nghĩa chuyên sâu bằng Prolog vào hệ thống nhận dạng tiếng nói có bộ từ vựng giới hạn. Chương này phân định rõ mục tiêu, phạm vi nghiên cứu (giới hạn câu đơn, không dùng liên từ ghép), cấu trúc 8 hạng mục công việc thực hiện (Bảng 1.1) và liệt kê 4 công bố khoa học gắn liền với đề tài (gồm 1 bài báo quốc tế, 2 bài báo hội nghị quốc gia và 1 công trình dự giải nghiên cứu khoa học sinh viên).

Chương 2 - Kiến trúc hệ thống

Chương 2 tập trung mô tả kiến trúc tương tác tổng thể của hệ thống cho ứng dụng "Quản lý chi tiêu cá nhân". Tác giả chi tiết hóa 4 ca sử dụng tương ứng với 4 chức năng: thêm, xóa, chỉnh sửa và truy vấn khoản chi bằng giọng nói. Sơ đồ kiến trúc tại Hình 2.1 minh họa dòng dữ liệu luân chuyển giữa 5 thành phần: Bộ nhận dạng tiếng nói, Bộ xử lý ngôn ngữ tiếng Việt, Bộ xử lý trung tâm, Cơ sở dữ liệu và Bộ tổng hợp tiếng nói tiếng Việt, đồng thời vạch rõ các kịch bản tương tác rẽ nhánh khi người dùng nói đúng hoặc sai cấu trúc cú pháp.

Chương 3 - Nhận dạng tiếng nói tiếng Việt

Chương 3 trình bày cơ sở kỹ thuật xây dựng bộ nhận dạng âm học bằng HTK qua hai pha: huấn luyện (training) và nhận dạng (decoding). Trong pha huấn luyện, tác giả thu thập dữ liệu âm thanh, trích xuất đặc trưng âm học, gán nhãn dữ liệu, xây dựng từ điển âm vị theo kiểu gõ Telex và khởi tạo các mô hình HMM ban đầu (prototype HMM) để tạo ra tập hmmset. Trong pha nhận dạng, tín hiệu được giải mã bằng cách kết hợp hmmset với mô hình ngôn ngữ lưu trong tệp văn phạm (.gram). Chương này cung cấp chi tiết danh mục 79 từ khóa của ứng dụng chi tiêu, 118 từ khóa của hệ thống tuyển sinh HUFLIT cùng bảng ánh xạ từ điển phát âm Telex tương ứng.

Chương 4 - Xử lý ngôn ngữ tự nhiên

Chương 4 là phần nội dung then chốt mô tả bộ phân tích ngôn ngữ tự nhiên. Đối với ứng dụng chi tiêu, tác giả định nghĩa các luật cú pháp cho các lệnh Thêm, Xóa, Sửa và Truy vấn; phân loại các nhóm thực thể (Subject, Job, Obj, Time, Spend, Amount); đưa ra chiến lược xử lý các câu tỉnh lược ngữ dụng qua 4 bước (vẽ cây cú pháp, khôi phục thành phần ẩn theo ngữ cảnh, lược bỏ thành phần bổ sung, chuyển về FOL). Đối với hệ thống tuyển sinh HUFLIT, tác giả thiết lập 119 dạng câu truy vấn thuộc 14 nhóm chủ đề tuyển sinh (ngành khoa, điểm chuẩn, chỉ tiêu, thời gian học, khối thi, học phí, ngày nộp hồ sơ...) và sử dụng văn phạm DCG để sinh ra 40 cấu trúc biểu diễn ngữ nghĩa FOL tương ứng, làm cơ sở chuyển dịch sang truy vấn SQL.

Chương 5 - Thử nghiệm và đánh giá

Chương 5 trình bày phương pháp và số liệu thực nghiệm đánh giá hiệu năng của từng thành phần và toàn bộ hệ thống. Hiệu năng nhận dạng được đo bằng hai chỉ số: Tỷ lệ lỗi từ (Word Error Rate - WER) và Tỷ lệ nhận dạng từ đúng (Word Accuracy Rate - WAR). Tác giả tiến hành thử nghiệm độc lập trên tập mẫu kiểm thử cho cả hai ứng dụng. Kết quả cho thấy tỷ lệ nhận dạng từ đạt từ 97,78% đến 98,45%, tỷ lệ câu đúng đạt trên 83%. Đặc biệt, tác giả chứng minh vai trò của bộ NLP khi có khả năng sửa sai ngữ nghĩa cho 15/18 câu bị nhận dạng sai văn bản ở hệ thống tuyển sinh. Đồng thời, tác giả thực hiện so nghiệm đối sánh với phương pháp so khớp chuỗi dài nhất ("longest matching"), qua đó khẳng định hướng tiếp cận phân tích cú pháp DCG giúp giảm tỷ lệ lỗi từ 45% xuống chỉ còn 10%.

Chương 6 - Kết luận và hướng phát triển

Chương 6 tổng kết các kết quả đạt được về mặt khoa học, kỹ thuật và công bố học thuật; chỉ rõ 4 điểm hạn chế cốt lõi của đề tài liên quan đến độ bao phủ ngữ liệu, đặc trưng đối tượng thu âm, khả năng lọc nhiễu môi trường; đồng thời vạch ra các hướng mở rộng ứng dụng trong các lĩnh vực quản lý tài khoản ngân hàng, thông tin chứng khoán, tuyến xe buýt và tra cứu học vụ đại học.

Kết quả và đóng góp

Khóa luận cung cấp các số liệu thực nghiệm định lượng cụ thể được đo đạc trên hệ thống:

Chỉ số / Thông số kỹ thuật Ứng dụng "Quản lý chi tiêu cá nhân" Hệ thống "Tra cứu tuyển sinh HUFLIT"
Số lượng câu huấn luyện 9.000 câu 2.550 câu
Số lượng từ huấn luyện 98.300 từ 29.531 từ
Số lượng câu kiểm thử (test) 60 câu 107 câu
Số lượng từ kiểm thử (test) 711 từ 1.215 từ
Số câu nhận dạng sai (ASR) 10 câu 18 câu
Số từ nhận dạng sai (ASR) 11 từ 27 từ
Tỷ lệ nhận dạng câu đúng (ASR) 83,33% 83,18%
Tỷ lệ nhận dạng từ đúng (WAR) 98,45% 97,78%
Độ chính xác toàn hệ thống 54/60 câu (90,00%) 104/107 câu (97,20%)
Thời gian phản hồi trung bình ~ 1 giây ~ 2 giây
Thiết bị thu âm thử nghiệm Microphone tai nghe (PC) Điện thoại di động
Tần số lấy mẫu / Lượng tử hóa 16 kHz / 16-bit PCM 8 kHz / 16-bit PCM

Các đóng góp khoa học và thực tiễn do tác giả nêu ra bao gồm:

  • Về mặt kỹ thuật và giải pháp: Xây dựng thành công cơ chế xử lý ngữ nghĩa và ngữ dụng dựa trên DCG kết hợp Prolog để làm tầng hậu xử lý cho hệ thống nhận dạng giọng nói. Cơ chế này chứng minh khả năng "sửa sai" cho tầng nhận dạng âm học: trong 18 câu bị nhận dạng sai văn bản ở bài toán tuyển sinh, có 15 câu vẫn bảo toàn được đúng ngữ nghĩa ban đầu và truy vấn chính xác dữ liệu từ CSDL.
  • So sánh phương pháp: Việc phân tích cú pháp - ngữ nghĩa DCG mang lại độ chính xác vượt trội so với phương pháp so khớp từ/cụm từ truyền thống ("longest matching") - vốn làm sai đến 27/60 câu thử nghiệm (tỷ lệ lỗi 45%).
  • Đóng góp học thuật:
    • 01 bài báo công bố trên tạp chí quốc tế: International Journal of Advanced Research in Computer and Communication Engineering (IJARCCE, 2014) với tiêu đề "Vietnamese Speech Processing and Synthesis in VNSExpenses System".
    • 02 bài báo khoa học được báo cáo tại Hội nghị quốc gia lần thứ VII "Nghiên cứu cơ bản và ứng dụng Công nghệ thông tin" (FAIR 2014).
    • 01 báo cáo nghiên cứu khoa học sinh viên tham dự xét Giải thưởng "Tài năng khoa học trẻ Việt Nam" cấp Bộ.

Hạn chế và hướng nghiên cứu tiếp

Khóa luận thẳng thắn chỉ ra các hạn chế kỹ thuật dựa trên phạm vi thực nghiệm:

  • Bộ từ vựng và ngữ liệu còn hạn hẹp (79 từ khóa và 118 từ khóa), chưa đáp ứng được các cấu trúc ngôn ngữ tự do của đời sống thường nhật.
  • Dữ liệu âm thanh phục vụ huấn luyện chỉ giới hạn ở người nói là nam giới trong độ tuổi thanh niên (20-21 tuổi), chưa bao quát được giọng nữ, giọng trẻ em, người lớn tuổi và các đặc trưng phương ngữ theo vùng miền (Bắc, Trung, Nam).
  • Hệ thống chưa có module tiền xử lý lọc nhiễu âm thanh đầu vào chuyên biệt; chương trình chỉ đạt hiệu suất cao trong môi trường yên tĩnh hoặc ít tiếng ồn, độ chính xác sẽ suy giảm rõ rệt khi vận hành trong môi trường thực tế có tiếng ồn lớn.
  • Khả năng bao phủ của tập luật cú pháp DCG còn hạn chế; khi người dùng nói câu lệnh nằm ngoài các cấu trúc đã định nghĩa trong tệp .gram, hệ thống sẽ trả về kết quả phân tích cú pháp là false.
  • Các nghiên cứu về xử lý tiếng nói và NLP tiếng việt trong nước thời điểm đó còn thiếu tính kế thừa, chia sẻ kho ngữ liệu dùng chung giữa các viện, trường.

Hướng phát triển tiếp theo được tác giả đề xuất:

  • Mở rộng kho ngữ liệu huấn luyện đa dạng về giọng đọc, giới tính, lứa tuổi và phương ngữ vùng miền.
  • Hoàn thiện bộ từ điển từ loại và bổ sung thêm các quy tắc cú pháp DCG để tăng độ bao phủ cho bộ phân tích ngôn ngữ tự nhiên.
  • Tích hợp các thuật toán khử nhiễu tín hiệu âm thanh đầu vào nhằm tăng tính ổn định của hệ thống trong môi trường đời sống thực.
  • Mở rộng mô hình sang các ứng dụng thực tế có nhu cầu tự động hóa giao tiếp cao: hệ thống tra cứu lộ trình xe buýt, tra cứu thông tin chứng khoán - tài chính, quản lý giao dịch tài khoản ngân hàng và hệ thống tự động hóa tra cứu điểm thi, học vụ tại các trường đại học bằng giọng nói.

Giá trị tham khảo

Tài liệu khóa luận này mang lại giá trị học thuật và kỹ thuật cụ thể cho sinh viên, học viên cao học và các kỹ sư thuộc ngành Công nghệ Thông tin, Kỹ thuật Phần mềm, Khoa học Máy tính và Trí tuệ Nhân tạo đang nghiên cứu về xử lý tiếng nói và xử lý ngôn ngữ tự nhiên cho tiếng Việt:

  • Cung cấp tài liệu tham khảo chi tiết về quy trình ứng dụng công cụ HTK để xây dựng mô hình HMM cho tiếng Việt, bao gồm cả kỹ thuật phiên âm từ điển Telex và cách định nghĩa văn phạm chuyển trạng thái .gram (được trình bày tại Chương 3 cùng Phụ lục 3, 4, 7).
  • Hướng dẫn phương pháp kết hợp ngữ pháp DCG trong Prolog với kỹ thuật ngữ nghĩa tính toán để giải quyết bài toán hiểu ngôn ngữ tự nhiên tiếng Việt, đặc biệt là cơ chế khôi phục câu tỉnh lược ngữ dụng và ánh xạ ngữ nghĩa FOL thành câu lệnh truy vấn SQL (Chương 4, Phụ lục 5 và 6).
  • Cung cấp mô hình tham khảo về việc thiết kế kiến trúc tích hợp đa nền tảng (C# - Prolog - HTK) nhằm phát triển các hệ thống hỏi đáp tự động (Spoken Dialogue Systems) với chi phí mã nguồn mở.

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

1. Khóa luận sử dụng các chỉ số nào để đánh giá hiệu năng nhận dạng tiếng nói và kết quả thực nghiệm đạt được là bao nhiêu?
Tác giả sử dụng hai độ đo chuẩn là WER (Word Error Rate - Tỷ lệ lỗi từ) và WAR (Word Accuracy Rate - Tỷ lệ nhận dạng từ đúng, với công thức $WAR = [1 - (S + D + I)/N] \times 100%$). Kết quả kiểm thử cho thấy: ứng dụng "Quản lý chi tiêu cá nhân" đạt tỷ lệ nhận dạng từ đúng (WAR) là 98,45% (tỷ lệ câu đúng 83,33%); hệ thống "Tra cứu tuyển sinh HUFLIT" đạt tỷ lệ nhận dạng từ đúng (WAR) là 97,78% (tỷ lệ câu đúng 83,18%).

2. Bộ xử lý ngôn ngữ tự nhiên (NLP) phát huy vai trò "sửa sai" cho bộ nhận dạng âm học (ASR) như thế nào trong hệ thống?
Trong quá trình kiểm thử 107 câu ở hệ thống tuyển sinh HUFLIT, bộ nhận dạng ASR nhận dạng sai chuỗi ký tự văn bản ở 18 câu. Tuy nhiên, nhờ vào cơ chế phân tích cú pháp DCG và mô hình biểu diễn ngữ nghĩa FOL của bộ xử lý NLP, có đến 15/18 câu dù nhận dạng sai từ ngữ nhưng vẫn được hệ thống bảo toàn và suy diễn đúng ý định ngữ nghĩa ban đầu để tạo ra câu lệnh SQL chính xác, chỉ có 3 câu bị sai lệch hoàn toàn về mặt ngữ nghĩa.

3. Sự khác biệt về điều kiện thu âm và thông số kỹ thuật của tập dữ liệu giữa hai ứng dụng thử nghiệm là gì?
Ứng dụng quản lý chi tiêu sử dụng 9.000 mẫu câu (9 giờ), thu âm qua microphone tai nghe trên máy tính ở tần số lấy mẫu 16 kHz, 16-bit PCM trong môi trường có tiếng ồn, từ vựng 79 từ. Hệ thống tra cứu tuyển sinh sử dụng 2.550 mẫu câu (262 phút), thu âm qua điện thoại di động ở tần số lấy mẫu 8 kHz, 16-bit PCM trong môi trường ít tiếng ồn, từ vựng 118 từ.

4. Tại sao phương pháp phân tích cú pháp DCG lại vượt trội hơn phương pháp so khớp chuỗi dài nhất ("longest matching") trong khóa luận?
Khi tác giả thử nghiệm phương pháp so khớp từ/cụm từ dài nhất ("longest matching" từng được áp dụng ở một số nghiên cứu trước), có đến 27/60 câu thử nghiệm cho kết quả sai (tỷ lệ lỗi 45%) do không nắm bắt được ngữ pháp và các thành phần câu tỉnh lược. Trong khi đó, việc sử dụng ngữ pháp DCG kết hợp biểu diễn ngữ nghĩa tính toán FOL giúp hệ thống hiểu chính xác cấu trúc câu và nâng độ chính xác toàn hệ thống lên 90% (54/60 câu đúng).

5. Hệ thống xử lý các trạng từ chỉ thời gian tương đối như thế nào trước khi tương tác với cơ sở dữ liệu?
Hệ thống sử dụng cơ chế phân tích ngữ nghĩa ngữ dụng để quy đổi các mốc thời gian mang tính tương đối về dạng điểm thời gian chuẩn (yyyy:mm:dd hh:MM) hoặc khoảng thời gian đóng ([time1 - time2]). Các quy ước cụ thể bao gồm phân định khung giờ cố định cho các buổi: Sáng (4h - 10h), Trưa (10h - 15h), Chiều (15h - 18h), Tối (18h - 24h) và xác định ngày đầu/cuối của các mốc "tuần rồi", "tháng trước", "năm rồi" để gắn vào mệnh đề điều kiện WHERE trong câu truy vấn SQL.

Kết luận

Khóa luận tốt nghiệp của tác giả Văn Thế Quốc đã xây dựng thành công hai hệ thống thử nghiệm tương tác giọng nói tiếng Việt ("Quản lý chi tiêu cá nhân" và "Tra cứu thông tin tuyển sinh Đại học HUFLIT") bằng việc kết hợp giữa công cụ nhận dạng mẫu thống kê HTK và bộ xử lý ngôn ngữ tự nhiên dựa trên ngữ pháp DCG chạy trên SWI-Prolog. Nghiên cứu khẳng định tính khả thi và ưu thế vượt trội của việc tích hợp tầng phân tích ngữ nghĩa - ngữ dụng chuyên sâu vào quy trình xử lý tiếng nói tiếng Việt, giúp hệ thống có khả năng tự bù lỗi nhận dạng âm học và sinh câu truy vấn cơ sở dữ liệu chính xác. Mặc dù còn hạn chế về quy mô tập từ vựng và môi trường thu âm, công trình đã đem lại những đóng góp thực nghiệm rõ ràng, được ghi nhận qua một bài báo khoa học quốc tế và hai báo cáo tại hội nghị khoa học chuyên ngành cấp quốc gia.