Luận văn Thạc sĩ Nghiên cứu mô hình PCFGs và ngôn ngữ AIML trong xây dựng chatbot hỗ trợ học tiếng Anh

24 101 0
Luận văn Thạc sĩ Nghiên cứu mô hình PCFGs và ngôn ngữ AIML trong xây dựng chatbot hỗ trợ học tiếng Anh

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đề tài được thực hiện với mục tiêu nghiên cứu cơ sở lý thuyết nền tảng của bài toán kiểm tra chính tả và cú pháp của câu trong tiếng Anh; ứng dụng cài đặt, đánh giá giải thuật và xây dựng một ứng dụng hỗ trợ các tính năng như kiểm tra chính tả, ngữ pháp, cú pháp thông qua hội thoại giữa người dùng và máy trên nền tảng Android.

1 MỞ ĐẦU Tính cấp thiết đề tài Trong nhiều năm trở lại đây, với nhu cầu hội nhập ngày cao quốc gia kinh tế lẫn văn hóa, yêu cầu ngoại ngữ, đặc biệt tiếng Anh, trở thành vấn đề cấp thiết với người Nhưng nhiều người đủ thời gian điều kiện để tham gia lớp học thêm câu lạc để nâng cao trình độ Chính cần có phần mềm, cơng cụ để hỗ trợ người học tiếng Anh nơi đâu, vào thời gian Hiện có nhiều cơng cụ hướng tới mục đích đó, song cơng cụ, phần mềm có hạn chế riêng, đặc biệt tính thụ động Người học tham gia vào hoạt động thiết kế từ trước cơng cụ, có tương tác hai chiều Với phát triển khoa học công nghệ, việc người sở hữu cho điện thoại thông minh phổ biến Dựa tảng điện thoại thông minh mà xuất ứng dụng hỗ trợ học tiếng Anh có tương tác cao người máy; ứng dụng phổ biến kể tới ứng dụng dựa Chatbot Tuy nhiên, phần lớn ứng dụng Chatbot tập trung vào phần từ vựng, từ điển, trắc nghiệm ứng dụng luyện kỹ nghe, kỹ đọc , có ứng dụng giúp người dùng kiểm tra tả cú pháp câu để lỗi sai cho người đọc chỉnh sửa nó, tốn tương đối quan trọng Vì vậy, Chatbot đáp ứng yêu cầu, chạy điện thoại thông minh để hỗ trợ người học tiếng Anh giải pháp có hiệu để nâng cao chất lượng học tập tiếng Anh Chính lý đó, tác giả lựa chọn đề tài: “Nghiên cứu mơ hình PCFGs ngơn ngữ AIML xây dựng chatbot hỗ trợ học tiếng Anh” Mục tiêu nghiên cứu Nghiên cứu sở lý thuyết tảng tốn kiểm tra tả cú pháp câu tiếng Anh; ứng dụng cài đặt, đánh giá giải thuật xây dựng ứng dụng hỗ trợ tính kiểm tra tả, ngữ pháp, cú pháp thông qua hội thoại người dùng máy tảng Android Đối tượng phạm vi nghiên cứu đề tài Đối tượng nghiên cứu - Khái quát trí tuệ nhân tạo - Mơ hình PCFGs, ứng dụng xây dựng cú pháp - Ngôn ngữ AIML kỹ thuật xây dựng chatbot Phạm vi nghiên cứu Chatbot điện thoại thông minh sử dụng hệ điều hành Android xây dựng dựa AIML mơ hình PCFGs có khả thực hội thoại với người dùng, phát sửa lỗi tả cú pháp Phương pháp nghiên cứu - Khảo sát, phân tích hệ thống hóa nội dung tài liệu khoa học liên quan đến chatbot hỗ trợ học tiếng Anh - Đối sánh nội dung nghiên cứu đề tài với nội dung nghiên cứu thực để vừa phát triển áp dụng kết khoa học - công nghệ có cho đề tài vừa tìm nội dung cần nghiên cứu thi hành - Thiết kế mơ hình thực nghiệm đánh giá kỹ thuật, toán đề xuất để chứng minh tính hiệu Ý nghĩa khoa học, ý nghĩa thực tiễn đề tài Ý nghĩa khoa học - Nghiên cứu, nắm vững trí tuệ nhân tạo ngơn ngữ AIML - Vận dụng trí tuệ nhân tạo để tạo giao tiếp thân thiện, gần gũi người máy tính - Tìm hiểu chatbot ứng dụng chatbot để cung cấp thông tin Ý nghĩa thực tiễn - Tạo công cụ hỗ trợ học tiếng Anh theo hình thức hội thoại người máy - Giúp phát sửa lỗi thường gặp tả cú pháp q trình giao tiếp (viết, nói) tiếng Anh - Nâng cao hiệu học tiếng Anh Kết cấu luận văn - Chương 1: Các vấn đề tổng quan: Giới thiệu tổng quan lý thuyết trí tuệ nhân tạo, xu hướng phát triển trí tuệ nhân tạo, lĩnh vực xây dựng chatbot hỗ trợ học tiếng Anh, tốn phân tích cú pháp, kiểm tra tả, ngữ pháp vấn đề liên quan 3 - Chương 2: Mơ hình PCFGs ngơn ngữ AIML: Nghiên cứu văn phạm phi ngữ cảnh, tính mập mờ phân tích cú pháp đề xuất giải pháp sử dụng văn phạm phi ngữ cảnh hướng thống kê PCFGs; nghiên cứu mã nguồn mở AIML xây dựng chatbot - Chương 3: Phân tích thiết kế, cài đặt ứng dụng: Trình bày thiết kế ứng dụng kết đạt thông qua số mẫu kiểm thử - Kết luận: Trình bày điểm mạnh hạn chế luận văn Đồng thời nêu hướng phát triển tương lai 4 CHƯƠNG 1: CÁC VẤN ĐỀ TỔNG QUAN 1.1 Chatbot 1.1.1 Trí tuệ nhân tạo 1.1.1.1 Định nghĩa Khái niệm trí tuệ nhân tạo (Artificial Intelligence - viết tắt AI) nhìn nhận theo nhiều cách khác nhau, chưa có định nghĩa thừa nhận chung Trên giới có nhiều định nghĩa trí tuệ nhân tạo, để đơn giản hiểu trí tuệ nhân tạo ngành khoa học máy tính Nó xây dựng tảng lý thuyết vững ứng dụng việc tự động hóa hành vi thơng minh máy tính; giúp máy tính có trí tuệ người như: biết suy nghĩ lập luận để giải vấn đề, biết giao tiếp hiểu ngôn ngữ, tiếng nói, biết học tự thích nghi[18] 1.1.1.2 Q trình hình thành phát triển Ý tưởng xây dựng chương trình AI xuất lần đầu vào tháng 10/1950, nhà bác học người Anh Alan Turing xem xét vấn đề “liệu máy tính có khả suy nghĩ hay khơng?” Hình 1.2 Q trình hình thành phát triển trí tuệ nhân tạo 1.1.1.3 Một số ứng dụng Hiện tại, trí tuệ nhân tạo ứng dụng đời sống theo hai hướng: Dùng máy tính để bắt chước trình xử lý người thiết kế máy tính thơng minh độc lập với cách suy nghĩ người Một số ứng dụng trí tuệ nhân tạo sống thực tiễn kể đến như: nhận dạng chữ viết, nhận dạng tiếng nói, dịch tự động, tìm kiếm thơng tin, khai phá liệu phát triển tri thức, lái xe tự động, robot[18] 5 1.1.1.4 Xu nghiên cứu phát triển trí tuệ nhân tạo đại - Nhận dạng mẫu - Xử lý ảnh - Mạng nơron - Xử lý ngôn ngữ tự nhiên - Robot học - Chatbot 1.1.1 Chatbot gì? Chatbot (có thể gọi chatter robot) lĩnh vực trí tuệ nhân tạo Chatbot hệ thống thực trao đổi thông tin hai hay nhiều đối tượng theo quy chuẩn định, q trình trao đổi thơng tin ngơn ngữ nói, ngơn ngữ viết kí hiệu[2] Chatbot phân loại thành loại chính[2]: - Chatbot người với người - Chatbot máy với máy - Chatbot người máy 1.1.2 Chatbot hỗ trợ học tiếng Anh 1.1.2.1 Miki Miki chatbot Facebook, hoạt động sau Facebook thức hỗ trợ tảng dành cho bot Messenger Các tính học tính Anh hỗ trợ Miki: - Tra từ điển Anh Việt - Tra câu song ngữ Anh Việt - Dịch oạn văn 1.1.2.2 Poli Bot Poli chatbot chuyên dạy thành ngữ tiếng Anh, với số tính sau: - Cung cấp thành ngữ tiếng Anh - Xem định nghĩa - Xem ví dụ cách dùng 1.1.2.3 Sally Bot Các tính Sally: - Học cụm động từ - Định nghĩa cụm từ cho - Đưa ví dụ liên quan đến cụm từ cho - Đưa cụm từ cho áp dụng vào đoạn hội thoại 1.1.2.4 Andy English Các tính Andy English: - Hội thoại tiếng Anh, thảo luận chủ đề khác - Học ngữ pháp - Học thêm từ để mở rộng vốn từ 1.1.2.5 Acobot Acobot ứng dụng hỗ trợ học tiếng Anh với tính giúp người sử dụng luyện kỹ đọc, viết, nghe, nói, đàm thoại, phát âm, dịch thuật, ngữ pháp từ vựng Qua nghiên cứu chatbot trên, thấy rằng, tất chatbot tập trung vào việc tập trung vào phần luyện từ vựng, ứng dụng từ điển, trắc nghiệm ứng dụng luyện kỹ nghe, kỹ đọc; gần chưa có ứng dụng hỗ trợ người sử dụng việc kiểm tra tả, ngữ pháp Đó lý để tác giả lựa chọn đề tài 1.2 Ngữ pháp tiếng Anh 1.2.1 Các khái niệm Ngữ pháp Ngữ pháp quy tắc chủ yếu cấu trúc ngôn ngữ Ngữ pháp, theo cách hiểu hầu hết nhà ngôn ngữ học đại bao gồm ngữ âm, âm học, hình thái ngơn ngữ, cú pháp, ngữ nghĩa Kiểm tra ngữ pháp trình kiểm tra văn có phù hợp với ngữ pháp ngơn ngữ hay khơng Cú pháp Cú pháp phần ngữ pháp Cú pháp bao gồm tập luật, nguyên tắc trình biến đổi để ta xây dựng cấu trúc câu ngôn ngữ theo thứ tự định 7 Các lớp từ (nhãn từ) tiếng Anh Các thành phần ngữ pháp chia thành mảng lớn: đóng mở Có lớp từ mở chính: Danh từ (nouns), động từ (verbs), tính từ (adjectives) trạng từ (adverbs) Tuy nhiên, điều với tiếng Anh với tất ngơn ngữ, nhiều ngơn ngữ khơng có tính từ Các lớp từ đóng khác ngơn ngữ khác so với lớp mở Dưới tổng quát vài lớp từ đóng quan trọng tiếng Anh: - Giới từ (Prepositions): on, under, over, near, by, from, to, with - Mạo từ (Determiners): a, an, the - Đại từ nhân xưng (Pronouns): I, she, he, who - Liên từ (Conjunctions): and, but, or, as, if, when - Trợ động từ (Auxiliary verbs): can, may, should, are - Particles: up, down, on, off, in, out, at, by - Số đếm (numerals): one, two, three 1.2.2 Phân loại lỗi - Lỗi tả (Spelling errors) - Lỗi ngữ pháp (Grammar errors) - Lỗi phong cách dùng từ (Style errors) 1.2.3 Một số lỗi ngữ pháp tiếng Anh - Lỗi chia động từ (Subject-Verb Agreement)[10] - Lỗi dùng mạo từ không xác định a/an[10] - Câu hỏi đuôi (Tag questions)[10] - Những lỗi khác 1.3 Tổng quan toán kiểm tra ngữ pháp tiếng Anh Để giải toán kiểm tra ngữ pháp tiếng Anh, cần phải thực nhiệm vụ: - Phân tích cú pháp - Kiểm tra ngữ pháp 1.3.1 Phân tích cú pháp 1.3.1.1 Xử lý ngơn ngữ tự nhiên vấn đề Hình 1.8 Mơ hình xử lý ngôn ngữ tự nhiên Xử lý ngôn ngữ tự nhiên có nhiều ứng dụng thực tế, kể vài ứng dụng xử lý ngôn ngữ tự nhiên dịch máy (machine translation), tìm kiếm thơng tin (information retrieval), trích chọn thông tin (information retrieval) hay nhận dạng tiếng nói (speech recognition)[6] 1.3.1.2 Phân tích cú pháp Phân tích cú pháp (parsing analysis hay syntatic analysis) trình phân tích chuỗi từ tố (chuỗi từ tố kết q trình phân tích từ tố, thông thường xử lý ngôn ngữ từ), nhằm đưa cấu trúc ngữ pháp chuỗi từ dựa vào văn phạm Thông thường cấu trúc ngữ pháp chọn thường dạng cây, thông qua dạng phụ thuộc thành phần trực quan[6] Nói cách khác, phân tích cú pháp q trình dựa vào văn phạm để xây dựng cú pháp Trong tiếng Anh, phân tích cú pháp cụ thể phân tích câu xây dựng cú pháp dựa văn phạm, văn phạm thường dựa tập luật ngữ pháp tiếng Anh Ta kiểm tra câu văn có thỏa mãn luật ngữ pháp tiếng Anh hay không Nếu câu xây dựng thành công cú pháp, có nghĩa câu văn lỗi 1.3.1.3 Vai trị phân tích cú pháp xử lý ngơn ngữ tự nhiên Có thể nói phân tích cú pháp toán sở, xuất nhiều ứng dụng xử lý ngôn ngữ tự nhiên Ứng dụng ta thấy áp dụng phân tích cú pháp kiểm tra lỗi ngữ pháp Đối với việc kiểm tra lỗi ngữ pháp ta cần thực việc phân tích cú pháp câu đầu vào, xem cấu trúc có khơng? 1.3.1.4 Các hướng tiếp cận Để tiếp cận tốn, có hướng chính: Phương pháp phân tích từ xuống (Top - Down Parsing) phương pháp phân tích từ lên (Bottom - Up Parsing) Những thuật ngữ dựa vào thứ tự xây dựng nút phân tích cú pháp Phương pháp Top - Down bắt đầu xây dựng từ gốc tiến hành hướng xuống nút lá, phương pháp Bottom - Up tiếp cận từ tiến gốc 1.3.2 Bài toán kiểm tra ngữ pháp tiếng Anh - Kiểm tra dựa vào cú pháp (Syntax-based checking) - Kiểm tra dựa vào thống kê (Statistics-based checking) - Kiểm tra dựa vào luật (Rule-based checking) 1.4 Kết luận chương 10 CHƯƠNG 2: MƠ HÌNH PCFGs VÀ NGƠN NGỮ AIML 2.1 Mơ hình PCFGs 2.1.1 Văn phạm phi ngữ cảnh Các khái niệm Một văn phạm phi ngữ cảnh (CFG) tập thành phần G = (N, ∑, R, S), đó: - N tập chứa hữu hạn phần tử gọi phần tử không kết thúc - ∑ tập chứa hữu hạn phần tử gọi phần tử kết thúc - R tập luật ngữ pháp có dạng X → Y1Y2 Yn, X ∈ N, n ≥ 0, Yi∈ (N ∪ ∑) với i = n - S phần tử ∈ N gọi ký tự bắt đầu Dẫn xuất trái (Left-most Derivations) Cho văn phạm phi ngữ cảnh G, dẫn xuất trái chuỗi xâu s1 sn, đó: s1 = S, cụ thể s1 chứa thành phần đơn ký tự bắt đầu sn∈ ∑*, sn tạo thành từ phần tử kết thúc, cụ thể thành phần thuộc tập ∑ (viết ∑* để tập tất xâu tạo thành từ từ tập ∑) Mỗi si (i = n) dẫn xuất từ si-1 cách lấy cách lấy phần tử không kết thúc gần bên trái X thay chúng α α tập luật phải tạo ta từ X tập R, nói cách khác X → α 2.1.2 Tính mập mờ phân tích cú pháp Như đề cập trên, xâu S có nhiều dẫn xuất thực hiện, trường hợp này, ta nói xâu s mập mờ Tính mập mờ vấn đề rắc rối ngôn ngữ tự nhiên Khi nhà nghiên cứu lần đầu xây dựng ngữ pháp đủ lớn phù hợp cho ngôn ngữ tiếng Anh, họ phát câu văn thường có lượng lớn cú pháp xây dựng 2.1.3 Văn phạm phi ngữ cảnh hướng thống kê PCFGs 2.1.3.1 Các khái niệm Cho G văn phạm phi ngữ cảnh, ta có cách khái niệm sau: 11 - TG tập hợp tất cú pháp xây dựng G Khi G rỗng ta viết đơn giản tập hợp T - Với cú pháp t ∈ TG, ta có yield(t) để mô tả xâu s ∈ ∑*, s xâu gồm chuỗi từ tạo từ t - Ta có câu s ∈ ∑*, ta định nghĩa TG(s): TG(s) = {t: t ∈ TG, yield(t) = s} (2.1) Nói cách khác, TG(s) tập tất cú pháp tạo thành xâu s - Ta nói câu s mập mờ nếu: |TG(s)| > - Ta nói câu s cú pháp nếu: |TG(s)| > 2.1.3.2 PCFGs (Probabilistic Context-Free Grammars) Một văn phạm phi ngữ cảnh hướng thống kê (PCFGs - Probabilistic Context-Free Grammars), biết đến với tên SCFG (Stochastic ContextFree Grammar) đề xuất lần đầu Booth (1969), định nghĩa sau: Một PCFGs bao gồm: - Một văn phạm phi ngữ cảnh G = ( N,∑,S,R) - Một tham số q(A →B) xác suất xảy luật A → B dẫn xuất trái Với X ∈ N, ta có:  q( A  B)  A BR , A X (2.3) Hơn q(A→B) ≥ với A → B ∈ R Cho cú pháp t ∈ TG chứa luật A1 → B1, A2 → B2 An → Bn, xác suất t sử dụng PCFGs là: n p (t )   q ( Ai  Bi ) i 1 (2.4) Một cách đơn giản, thực xây dựng cú pháp dựa PCFGs theo bước sau đây: Khởi tạo s1 = S, i = Trong si chứa kí tự chưa kết thúc: - Tìm luật trái si, gọi X - Chọn luật có dạng X → A từ tập luật q(X →A) 12 - Tạo si+1 cách thay X si A - Đặt i = i + lặp lại trình 2.1.3.3 Xây dựng PCFGs từ kho liệu (Corpus) Giả thiết ta có tập liệu huấn luyện gồm cú pháp t1, t2 tm Khi yield(ti) câu tạo từ cú pháp thứ i, câu thứ i kho liệu Mỗi cú pháp ti gồm tập luật phi ngữ cảnh, giả sử tất cú pháp kho liệu có gốc S, ta định nghĩa PCFGs(N,∑,S,R,q) sau: - N tập phần tử không kết thúc t1, t2,… tm - ∑ tập từ t1, t2,… tm - S ký hiệu bắt đầu - R tập luật bao gồm tất luật có dạng A→B t1, t2,… tm - q thông số xác suất luật tập R, tính theo cơng thức: q( A  B)  Count ( A  B) Count ( A) (2.5) Trong đó: Count(A→B) số lần xuất luật A→B kho liệu, Count(A) số lần xuất luật có dạng A→X, X ∈ N kho liệu 2.1.3.4 Xây dựng cú pháp với PCFGs Luận văn tập trung tìm hiểu sử dụng thuật tốn CKY để giải toán xây dựng cú pháp với PCFGs Thuật toán dựa thuật toán CKY (Cocke-Kasami-Younger) hướng xác suất, đưa lần đầu Ney năm 1991 Ngữ pháp chuẩn Chomsky (CNF) Định nghĩa: Một văn phạm phi ngữ cảnh G = (N,∑,R,S) gọi thỏa mãn chuẩn Chomsky luật A→B ∈ R có hai dạng sau: - X → Y1Y2, X ∈ N, Y1∈ N, Y2∈ N - X → Y, X ∈ N, Y ∈ ∑ Chuyển đổi dạng CNF Yêu cầu đặt chuyển đổi ngữ pháp PCFGs không theo chuẩn CNF dạng CNF 13 Ta có trường hợp sau: - Luật X ∈ R có dạng X → Y1 Y2 Y3 Ta tiến hành biến đổi Y1_Y2 → Y1 Y2 X → Y1_Y2 Y3 Như ta biến đổi luật từ khơng thuộc CNF dạng CNF Thuật tốn CKY xây dựng cú pháp với văn phạm PCFGs Trong phần ta trình bày thuật tốn để phân tích cú pháp với văn phạm PCFGs có chuẩn CNF Dữ liệu đầu vào PCFGs G = (N,∑,S,Q,q) với chuẩn CNF, câu s = x1x2…xn với xi từ thứ i câu Đầu ta thuật toán kết quả: arg max p(t ) tTG ( s ) Thuật toán CKY thuật tốn quy hoạch động Ý tưởng thuật tốn sau: - Cho câu có sẵn x1…xn, ta định nghĩa T(i,j,X) cho X ∈ N (i,j) thỏa mãn ≤ i ≤ j ≤ n tập gồm tất cú pháp cho từ xi…xj có gốc X - Ta định nghĩa  (i, j, X )  max p(t ) tT ( i , j , X ) (2.6) (  (i, j, X )  if T (i, j, X )   ) Do  (i, j, X ) điểm số cao tất cú pháp tạo thành từ từ xi…xj có X gốc Điểm số t có thơng qua điểm số luật mà chứa Ví dụ A1 → B1, A2 → B2, An → Bn, theo công thức (2.4) ta có n p (t )   q ( Ai  Bi ) i 1 Do 14  (1, n, S )  max p(t ) tTG ( s ) (2.7) Đặc biệt, thuật toán CKY này, ta sử dụng π hàm đệ quy để thực bước tính tốn Đây thuật toán tiếp cận theo hướng “Bottom - Up”, ta tiến hành thực tính tốn π(i,j,S) j = i đầu tiên, sau tiếp tục với j = i+1,… Ta có, với i = 1…n, X ∈ N q ( X  xi ) if X  xi  R otherwise 0  (i, i, X )   (2.8) Lại có với ≤ i ≤ j ≤ n, X ∈ N  (i, j, X )  max (q( X  Y Z )   (i, s, Y )   ( s  1, j, Z )) X Y Z  R s{i ( j 1)} (2.9) - Thuật toán CKY Đầu vào: câu s = x1 xn, văn phạm phi ngữ cảnh hướng thống kê PCFGs G = (N,∑,S,R,q) Khởi tạo: For all i ∈ {1…n}, for all X ∈ N, q ( X  xi ) if X  xi  R otherwise 0  (i, i, X )   Thuật toán: - For k = 1…(n-1) - For i = 1…(n-1) + Đặt j = i +k + For all X ∈ N  (i, j, X )  max (q( X  Y Z )   (i, s, Y )   ( s  1, j, Z )) X Y Z  R s{i ( j 1)} bp(i, j , X )  arg max (q( X  Y Z )   (i, s, Y )   ( s  1, j, Z )) X Y Z  R s{i ( j 1)} 15 Đầu ra:  (1, n, S )  max p(t ) tTG ( s ) 2.1.3.5 Ưu điểm hạn chế hướng tiếp cận PCFGs Ưu điểm - PCFGs đưa hướng tiếp cận xây dựng cú pháp có độ khả thi - Có thể loại bỏ ngữ pháp khơng hợp lý lỗi ngữ pháp cú pháp có thơng số, xác suất thấp - Giải vấn đề mập mờ PCFGs sử dụng xác suất để lựa chọn cú pháp phù hợp - Có thể phát triển mở rộng, số văn phân tích nhiều, PCFGs thêm xác xác suất luật điều chỉnh - PCFGs đơn giản mơ hình xác suất đơn giản cấu trúc cây, mơ hình tốn học đơn giản, thuật tốn khơng q phúc tạp[6] Nhược điểm - PCFGs quan tâm đến cú pháp nhiều ngữ nghĩa, cú pháp chọn phù hợp cú pháp lại khơng phù hợp nghĩa - Do tính tốn thông qua cú pháp, PCFGs có xu hướng tốt với câu ngắn giảm dần với câu dài - Khi cú pháp tạo có xác suất, PCFGs chọn cú pháp Điều khơng xác - Với số lượng luật PCFGs tăng lên, công sức bỏ xây dựng cú pháp tăng lên nhanh chóng 2.2 Ngơn ngữ AIML 2.2.1 AIML gì? AIML (Artificial Intelligence Markup Language) ngơn ngữ lập trình trí tuệ nhân tạo bắt nguồn từ XML (Extensible Mark-up Language), sử dụng để phát triển ứng dụng trí tuệ nhân tạo 2.2.2 Các Category đặc tính AIML Category đơn vị ngơn ngữ AIML, bao gồm câu hỏi đầu vào, câu trả lời làm đầu ngữ cảnh định Câu hỏi 16 đặt thẻ nội dung thẻ câu trả lời tương ứng Ngữ cảnh category dựa vào loại thẻ 2.2.3 Một số thẻ thông dụng AIML Định nghĩa bắt đầu kết thúc tài liệu AIML Định nghĩa đơn vị tri thức gồm câu hỏi câu trả lời Định nghĩa mẫu liệu so khớp với đầu vào từ người dùng Định nghĩa phản hồi đến người dùng ứng với đầu vào phù hợp pattern Được sử dụng để khớp với kí tự * liệu từ thẻ Được sử dụng phép định nghĩa phản hồi cho nhiều đầu vào có mục đích tương tự Được sử dụng để lấy ngẫu nhiên phản hồi tập phản hồi định nghĩa sẵn , Được sử dụng để làm việc với biến AIML, biến truy xuất liệu qua thẻ Được sử dụng để đưa phản hồi tùy thuộc theo ngữ cảnh Được sử dụng để lưu trữ ngữ cảnh phục vụ cho việc đoạn hội thoại sau diễn dựa ngữ cảnh Được dùng để lưu trữ biến mà không cần thông báo cho người dùng Được dùng để điều chỉnh phản hồi tùy thuộc vào điều kiện rẽ nhánh thích hợp 2.2.4 ProgramAB Là chương trình mã nguồn mở phát triển Richard Wallace cài đặt ngôn ngữ Java, hoạt động với AIML 2.0 tảng ưu tiên với tính mới[12] 17 Chương trình xây dựng với cấu trúc phép lập trình viên dễ dàng mở rộng AIML với thẻ tự định nghĩa ProgramAB sử dụng nhiều cách: - Chạy ProgramAB để giao tiếp với chatbot - Phân tích file logs phát triển nội dung bot - Sử dụng ProgramAB thư viện để phát triển ứng dụng Java phát triển tính khác - Lập trình ứng dụng riêng với thẻ AIML tự định nghĩa - Điều chỉnh xây dựng ProgramAB theo yêu cầu cần thiết Với chương trình sử dụng ProgramAB, ta tự điều chỉnh nội dung hội thoại phát triển thêm hội thoại thông qua điều chỉnh bots Cụ thể ta thêm liệu AIML tự định nghĩa vào bot tích hợp nhiều bot vào tùy yêu cầu Hiện nay, ProgramAB mặc định có sẵn liệu bot Alice, nhiên ta tìm hiểu thêm số bot tương tự Anna, Charlie, Super… 2.3 Kết luận chương 18 CHƯƠNG 3: PHÂN TÍCH THIẾT KẾ, CÀI ĐẶT ỨNG DỤNG 3.1 Phân tích thiết kế 3.1.1 Xác định yêu cầu 3.1.1.1 Chức Hội thoại người máy - Người dùng giao tiếp với máy thông qua đoạn hội thoại, với câu hội thoại người dùng, máy tự động tìm câu trả lời thích hợp đưa cho người dùng - Trong liệu máy có nhiều chủ đề, người dùng chọn chủ đề để nói chuyện thay đổi chủ đè nói chuyện Kiểm tra tả, ngữ pháp Ứng dụng tập trung kiểm tra tả ngữ pháp liệu từ người dùng Tuy nhiên, chức hỗ trợ kiểm tra tả kiểm tra ngữ pháp nghiêng chia động từ câu, không bao gồm kiểm tra cú pháp câu Chi tiết chức năng: - Người dùng tiến hành đưa liệu vào ứng dụng để ứng dụng kiểm tra lỗi tả ngữ pháp - Người dùng xem lỗi câu xem chi tiết cách sửa lỗi từ ứng dụng - Dữ liệu đầu vào đầu từ ứng dụng theo dạng hội thoại 3.1.1.2 Mơ hình hệ thống Hình 3.1 Mơ hình hệ thống AI English Máy chủ (Server) - Phụ trách xử lý liệu từ client gửi lên xử lý, trả kết cho client 19 - Các chức thực server: Nhận hội thoại từ người dùng, tìm câu trả lời thích hợp trả cho người dùng, kiểm tra tả, ngữ pháp câu người dùng gửi lên, từ câu người dùng gửi lên, xây dựng cú pháp trả cho người dùng Thiết bị di động (Device) - Thiết bị di động thực nhiệm vụ hiển thị nội dung hội thoại, nhận yêu cầu người dùng gửi server chờ xử lý Các nội dung lỗi chi tiết hay sửa lỗi, cú pháp hiển thị thiết bị di động - Các thiết bị di dộng cần sử dụng tảng Android 4.2 trở lên để cài đặt sử dụng ứng dụng 3.1.1.3 Chức người dùng Người sử dụng có chức sau: - Đăng ký thông tin cá nhân - Hội thoại tin nhắn với chatbot - Tự động kiểm tra tả - Tự động kiểm tra ngữ pháp - Dịch tin nhắn sang tiếng Việt - Nghe nội dung tin nhắn - Tra cứu động từ bất quy tắc - Tra cứu số câu thông dụng 3.1.2 Xây dựng tập luật dựa tập liệu có sẵn Q trình xây dựng tập luật CNF PCFGs gồm bước chính: - Xây dựng kho liệu câu tiếng Anh - Xử lý câu kho liệu tạo luật theo chuẩn CNF - Xây dựng tập luật theo văn phạm PCFGs từ luật 3.1.2.1 Xây dựng kho liệu câu tiếng Anh Nhiệm vụ phần yêu cầu xây dựng kho liệu gồm nhiều câu tiếng Anh để phục vụ xây dựng tập luật 20 Để thực nhiệm vụ này, ta sử dụng tập liệu Tatoeba[20], trang web bao gồm nhiều tập liệu câu nhiều ngôn ngữ khác Tuy nhiên, tập liệu câu lấy từ Tatoeba có chứa nhiều ngôn ngữ khác Ta thực tách liệu câu tiếng Anh theo thẻ “eng” thu tập liệu câu tiếng Anh cần dùng có dạng sau: Bằng cách vậy, ta có tập liệu gồm 885113 câu tiếng Anh từ tập liệu ban đầu (số lượng câu tiếp tục tăng lên) Tập liệu sử dụng để xây dựng tập luật phần 3.1.1.2 Xử lý câu kho liệu tạo luật theo chuẩn CNF Để thực điều này, ta sử dụng thư viện Stanford-parser[21] để xây dựng cú pháp từ câu bất kỳ, sau từ cú pháp có được, ta tách luật cú pháp thêm vào tập liệu cú pháp CFG Trong trình tách luật, ta cố gắng đưa luật chuẩn CNF 3.1.1.3 Xây dựng tập luật theo văn phạm PCFGs Từ tập luật có từ phần 3.1.2.2, ta tiến hành xây dựng tập luật để sử dụng văn phạm PCFGs Để thực điều này, luật ta tiến hành tính xác suất chúng theo công thức (2.5) đề cập sau: q( A  B)  Count ( A  B) Count ( A) 3.2 Cài đặt ứng dụng AI English ứng dụng thiết kế thiết bị di động hệ điều hành Android, giao tiếp với người dùng thông qua hội thoại, tương tự ứng dụng chatbot Ứng dụng có chức chính: Hội thoại, kiểm tra ngữ pháp (chủ yếu kiểm tra tả chia động từ), với số tính khác như: tra cứu từ điển, nghe nội dung hội thoại, tra cứu động từ bất quy tắc câu thông dụng 3.2.1 Giao diện chức hội thoại (Chatbot) Giao diện gồm phần sau đây: - Thanh nhập liệu để người dùng nhập văn bản, nút bấm để thực gửi yêu cầu từ người dùng đến ứng dụng - Bên phải khung hình hiển thị liệu người dùng nhập vào 21 - Bên trái khung hình hiển thị trả lời từ ứng dụng - Các nút bấm hỗ trợ người dùng đọc liệu tiếng Anh dịch liệu sang tiếng Việt 3.2.2 Giao diện chức tra cứu từ điển Giao diện chức thực trực tiếp đoạn hội thoại, người sử dụng muốn tra cứu nghĩa từ 3.2.3 Giao diện chức kiểm tra tả, ngữ pháp Giao diện chức có số khác biệt với chức hội thoại sau: - Bên trái khung hình hiển thị xử lý lỗi câu từ người dùng - Phần chữ in đỏ thể lỗi sai câu - Bên cạnh khung hình có nút để người dùng xem chi tiết lỗi sửa lỗi Khi người dùng muốn hiển thị lỗi sửa lỗi, giao diện chi tiết gồm phần: Câu lỗi câu sửa lỗi Phần lỗi tô đỏ phần sửa lỗi to xanh để phân biệt Ngoài ra, ứng dụng hỗ trợ người dùng với bảng động từ bất quy tắc danh sách, cách sử dụng cụm từ thông dụng 3.3 Đánh giá ứng dụng Ứng dụng AI English giải vấn đề kiểm tra ngữ pháp phân tích cú pháp câu tiếng Anh Bằng cách sử dụng đoạn hội thoại giao diện đơn giản, ứng dụng tạo giao tiếp với người dùng cách dễ dàng tiện lợi Ứng dụng giúp người dùng kiểm tra câu đơn giản xem xét cú pháp câu để nâng cao khả cách kết hợp thành phần câu Ngoài ra, ứng dụng ứng dụng hội thoại giúp người dùng trị chuyện để nâng cao vốn kiến thức Tuy nhiên, ứng dụng số vấn đề như: - Do kết hợp nhiều mã nguồn mở phương pháp nên ứng dụng hạn chế mặt xử lý lúc nhiều yêu cầu kiểm tra ngữ pháp, kiểm tra cú pháp tích hợp hội thoại - Thời gian xử lý cú pháp ngữ pháp tương đối dài, đặc biệt câu dài, gồm nhiều thành phần 22 - Giao diện phần chi tiết cú pháp câu gây khó hiểu với người dùng không quen thuộc với thành phần câu viết tắt thành phần câu - Với tính nhận liệu đầu vào âm thanh, ứng dụng yêu cầu phụ thuộc vào phần cứng điện thoại với chức voice tốt điều kiện sử dụng môi trường yên tĩnh - Đánh giá hiệu quả: với 100 câu tiếng Anh có lỗi liệu đầu vào ứng dụng phát 81 câu bị lỗi, đạt 81% 23 KẾT LUẬN Đóng góp luận văn Trong thực tế, việc kiểm tra ngữ pháp phân tích cú pháp câu tiếng Anh áp dụng nhiều ứng dụng chia động từ, kiểm tra ngoại ngữ, học ngữ pháp tiếng Anh Trong trình nghiên cứu xây dựng ứng dụng hỗ trợ kiểm tra ngữ pháp tiếng Anh, luận văn đạt số nội dung sau: - Luận văn tìm hiểu số định nghĩa ngữ pháp tiếng Anh, số hướng tiếp cận tốn kiểm tra ngữ pháp - Tìm hiểu cách tiếp cận PCFGs áp dụng thuật toán CKY tốn phân tích cú pháp câu - Giới thiệu số mã nguồn mở hỗ trợ xây dựng Chatbot kiểm tra ngữ pháp Cài đặt ứng dụng đơn giản giải toán kiểm tra ngữ pháp với tập luật tự huấn luyện Hạn chế luận văn Trong q trình hồn thành luận văn ứng dụng, đạt số kết định tốn phân tích ngữ pháp xây dựng cú pháp tiếng Anh, có hạn chế định: - Phương pháp tiếp cận phụ thuộc nhiều vào tập luật, tập luật có kích thương đủ lớn, thời gian xử lý ứng dụng lớn Hơn nữa, độ xác kết phụ thuộc vào độ xác tập luật - Kết q trình phân tích cú pháp đưa cú pháp văn phù hợp, chưa thể đưa lỗi cụ thể văn lỗi - Tập liệu hội thoại sử dụng Chatbot đơn giản - Ứng dụng tập trung vào mặt cú pháp, chưa thể mặt ngữ nghĩa câu Hướng phát triển Với phong phú cấp thiết tiếng Anh, luận văn có nhiều hướng phát triển tiếp tục: - Tìm hiểu phương pháp tối ưu tập luật tại, mở rộng tập luật, giảm thiểu thời gian với tập luật gán nhãn, nâng cao hiệu phát hiễn lỗi ứng dụng - Bổ sung tập liệu hội thoại cho hệ thống Chatbot, phong phú chủ đề 24 - Phát triển tình hỗ trợ học ngữ pháp cụ thể dạng câu chủ động, bị động hay tiếng Anh - Tìm hiểu phương pháp xác định lỗi cụ thể với tốn phân tích cú pháp câu với câu lỗi đưa gợi ý sửa lỗi ... Mơ hình PCFGs, ứng dụng xây dựng cú pháp - Ngôn ngữ AIML kỹ thuật xây dựng chatbot Phạm vi nghiên cứu Chatbot điện thoại thông minh sử dụng hệ điều hành Android xây dựng dựa AIML mơ hình PCFGs. .. tạo, lĩnh vực xây dựng chatbot hỗ trợ học tiếng Anh, tốn phân tích cú pháp, kiểm tra tả, ngữ pháp vấn đề liên quan 3 - Chương 2: Mơ hình PCFGs ngơn ngữ AIML: Nghiên cứu văn phạm phi ngữ cảnh, tính... rắc rối ngôn ngữ tự nhiên Khi nhà nghiên cứu lần đầu xây dựng ngữ pháp đủ lớn phù hợp cho ngôn ngữ tiếng Anh, họ phát câu văn thường có lượng lớn cú pháp xây dựng 2.1.3 Văn phạm phi ngữ cảnh

Ngày đăng: 18/01/2020, 05:35

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan