Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 24 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
24
Dung lượng
348,5 KB
Nội dung
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ọctiếngAnh 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ụnghỗtrợhọctiếngAnh 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ụngChatbot 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ọctiếngAnh giải pháp có hiệu để nâng cao chất lượng học tập tiếngAnh Chính lý đó, tác giả lựa chọn đề tài: “Nghiên cứumơhìnhPCFGsngơnngữAIMLxâydựngchatbothỗtrợhọctiếng Anh” Mục tiêu nghiêncứuNghiêncứ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âydựng ứng dụnghỗ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êncứu đề tài Đối tượng nghiêncứu - Khái quát trí tuệ nhân tạo - Mơhình PCFGs, ứng dụngxâydựng cú pháp - NgônngữAIML kỹ thuật xâydựngchatbot Phạm vi nghiêncứuChatbot điện thoại thông minh sử dụng hệ điều hành Android xâydựng dựa AIMLmơhìnhPCFGs 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êncứ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 chatbothỗtrợhọctiếngAnh - Đối sánh nội dungnghiêncứu đề tài với nội dungnghiêncứ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êncứ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ơnngữ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ụngchatbot để cung cấp thông tin Ý nghĩa thực tiễn - Tạo công cụ hỗtrợhọctiếngAnh 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ếngAnh - Nâng cao hiệu họctiếngAnh 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âydựngchatbothỗtrợhọctiế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ìnhPCFGsngơnngữ AIML: Nghiêncứ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êncứu mã nguồn mởAIMLxâydựngchatbot - 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âydự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âydự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êncứ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ônngữ 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ơnngữ nói, ngơnngữ 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 ChatbothỗtrợhọctiếngAnh 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 Anhhỗ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ếngAnh - 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ọcngữ pháp - Học thêm từ để mở rộng vốn từ 1.1.2.5 Acobot Acobot ứng dụnghỗtrợhọctiếngAnh 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êncứuchatbot 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ụnghỗ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ếngAnh 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ônngữNgữ pháp, theo cách hiểu hầu hết nhà ngônngữ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ơnngữ 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âydựng cấu trúc câu ngônngữ theo thứ tự định 7 Các lớp từ (nhãn từ) tiếngAnh 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ếngAnh với tất ngơn ngữ, nhiều ngơnngữ khơng có tính từ Các lớp từ đóng khác ngơnngữ khác so với lớp mở Dưới tổng quát vài lớp từ đóng quan trọngtiế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ếngAnh - 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ếngAnh Để 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ơnngữ tự nhiên vấn đề Hình 1.8 Mơhình xử lý ngônngữ tự nhiên Xử lý ngônngữ tự nhiên có nhiều ứng dụng thực tế, kể vài ứng dụng xử lý ngônngữ 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ônngữ 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âydựng cú pháp Trongtiếng Anh, phân tích cú pháp cụ thể phân tích câu xâydự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ếngAnh Ta kiểm tra câu văn có thỏa mãn luật ngữ pháp tiếngAnh hay không Nếu câu xâydự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ơnngữ 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ônngữ 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âydựng nút phân tích cú pháp Phương pháp Top - Down bắt đầu xâydự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ếngAnh - 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ÌNHPCFGsVÀNGƠNNGỮAIML 2.1 MơhìnhPCFGs 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 → Y Y Y , X ∈ N, n ≥ 0, Y ∈ (N - S phần tử ∈ N gọi ký tự bắt đầu ∪ n i ∑) với i = n 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ônngữ tự nhiên Khi nhà nghiêncứu lần đầu xâydựngngữ pháp đủ lớn phù hợp cho ngônngữtiếng Anh, họ phát câu văn thường có lượng lớn cú pháp xâydự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âydự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 T (s): (2.1) G TG(s) = {t: t ∈ TG, yield(t) = s} 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 ContextFree Grammars), biết đến với tên SCFG (Stochastic Context-Free 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ó: Hơn q(A→B) ≥ với A → B ∈ R q ( A B) (2.3) A BR , A X Cho cú pháp t ∈ TG chứa luật A1 → B1, A2 xác suất t sử dụngPCFGs là: n p (t ) q ( Ai Bi ) → B2 An → Bn, i 1 (2.4) Một cách đơn giản, thực xâydự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âydựngPCFGs từ kho liệu (Corpus) Giả thiết ta có tập liệu huấn luyện gồm cú pháp t 1, 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 ( AB) 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âydự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âydự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 toán CKY xâydựng cú pháp với văn phạm PCFGsTrong 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 ) tTG ( s ) Thuật toán CKY thuật toá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ừ x i…xj có gốc X - Ta định nghĩa tT ( i , j , X ) ( (i , j , X ) if T (i , j , X ) ) (2.6) 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 ) i1 Do 14 (1, n, S ) max p (t ) (2.7) tTG ( s ) Đặ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 x ) if X x R (i , i , X ) i 0 i otherwis e Lại có với ≤ i ≤ j ≤ n, X ∈ N (2.8) (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 x ) if X x R (i , i , X ) i i otherwise 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 ) tTG ( 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âydự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 đơi khơng xác - Với số lượng luật PCFGs tăng lên, công sức bỏ xâydựng cú pháp tăng lên nhanh chóng 2.2 NgơnngữAIML 2.2.1 AIML gì? AIML (Artificial Intelligence Markup Language) ngơnngữ 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ơnngữ 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ụngAIML Đị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 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 liệu so khớp với đầu vào từ 2.2.4 ProgramAB Là chương trình mã nguồn mở phát triển Richard Wallace cài đặt ngônngữ 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âydự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âydự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âydự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âydựng tập luật dựa tập liệu có sẵn Quá trình xâydựng tập luật CNF PCFGs gồm bước chính: - Xâydựng kho liệu câu tiếngAnh - Xử lý câu kho liệu tạo luật theo chuẩn CNF - Xâydựng tập luật theo văn phạm PCFGs từ luật 3.1.2.1 Xâydựng kho liệu câu tiếngAnh Nhiệm vụ phần yêu cầu xâydựng kho liệu gồm nhiều câu tiếngAnh để phục vụ xâydự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ônngữ khác Tuy nhiên, tập liệu câu lấy từ Tatoeba có chứa nhiều ngơnngữ khác Ta thực tách liệu câu tiếngAnh theo thẻ “eng” thu tập liệu câu tiếngAnh 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ếngAnh 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âydự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âydự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âydự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âydự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ụngchatbot Ứ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ếngAnh 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ụnghỗ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ếngAnh 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ùngtrò 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ếngAnh 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ếngAnh áp dụng nhiều ứng dụng chia động từ, kiểm tra ngoại ngữ, họcngữ pháp tiếngAnhTrong trình nghiêncứuxâydựng ứng dụnghỗ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 toá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 toán phân tích cú pháp câu - Giới thiệu số mã nguồn mởhỗtrợxâydựngChatbot 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 trình hoà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âydự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ụngChatbot đơ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ọcngữ pháp cụ thể dạng câu chủ động, bị động hay tiếngAnh - 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... 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ữ,