ỨNG DỤNG CỦA VĂN PHẠM VÀ AUTOMATA

30 18 0
ỨNG DỤNG CỦA VĂN PHẠM VÀ AUTOMATA

Đ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

Tham khảo bài thuyết trình ''ứng dụng của văn phạm và automata'', khoa học xã hội, ngôn ngữ học phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

BÀI TẬP LỚN: LÝ THUYẾT NGÔN NGỮ ỨNG DỤNG CỦA VĂN PHẠM VÀ AUTOMATA THÀNH VIÊN NHÓM CÙNG THỰC HIỆN: NGUYỄN NGỌC TÂM NGUYỄN THỊ SEN NGUYỄN THỊ SÁNG NGUYỄN THỊ HỒNG THẮM CÙNG SỰ HƯỚNG DẪN CỦA TH.s TRẦN XUÂN SANG GIÁO VIÊN CHUYÊN MÔN PHẦN I: ỨNG DỤNG CỦA AUTOMATA HỮU HẠN TRONG VIỆC PHÂN TÍCH TỪ VỰNG MỞ RỘNG Applications of finite Automata Representing large Vocabularies GIỚI THIỆU Cách dùng otomat hữu hạn để mô tả loạt từ vựng kỹ thuật khẳng định Có thể ứng dụng mang tính truyền thống Nó tìm thấy cấu trúc lệnh nơi mà ơtơmat sử dụng để làm mẫu thực phân tích từ vựng học mang tính hiệu Ứng dụng ôtmat hữu hạn để giải vài vấn đề đặc biệt việc xử lý ngôn ngữ tự nhiên phổ biến Tuy nhiên, ý tưởng gói gọn “từ vựng mở rộng” vào otomat đơn định nhiều ứng dụng dường cịn mang tính mẻ Cơ sở để thúc đẩy cho nghiên cứu chương trình kiểm tra lỗi tả áp dụng cho hầu hết ngôn ngữ Cho ví dụ , chương trình kiểm tra tả mà đề cập xử lý khoảng 30.000 từ giây, với automat 200.000 từ đặt vừa khít vào 124 kbytes nhớ Trong chủ đề bàn đến chi tiết vấn đề sau: Thực kiểm tra tả dựa ơtmat Mơ tả thuật tốn cấu trúc liệu sử sụng Một vài thống kê đo lường Một vài ứng dụng Thực kiểm tra tả dựa ơtmat Một chương trình kiểm tra tả sử dụng rộng rãi chương trình UNIX Spell Chương trình thực kiểm tra cách loạI bỏ từ cho khỏi tiền tố nó, cho ví dụ: Rework –ed  work over – tak- ing  take Bằng cách sử dụng việc loại bỏ tiền tố, từ điển ban đầu khoảng 250.000 từ vựng giảm xuống 30.000 từ Tuy nhiên, việc loại bỏ phụ tố( bao gồm tiền tố hậu tố) dẫn đến việc chấp nhận từ khơng tồn Thêm nữa, chương trình kiểm tra chấp nhận từ khơng có nghĩa kiểm tra tả :womans thay woman’s( số nhiều woman women), tos thay toes( toss), toing thay toeing( towing) Để có thê khắc phục nhược điểm , định thử phương pháp khác cách xây dựng otomat hữu hạn đơn định cục (aminimal acyclic deterministic partial finite automaton) chấp nhận cách xác khoảng 206.000 từ có mặt từ vựng Theo cách tránh vấn đề đưa vào từ không tồn Bên cạnh Hình 1: Otomat đơn định cho tất dạng động từ : re work , replay, overwork overplay Otomat cung cấp cách đơn giản chung chung để loại bỏ cách tuyệt đối tiền tố hậu tố số chúng mơ tả lần Trong hình 1, chúng tơi otomat cho tất dạng động từ tiếng anh rework, replay, overwork and overplay Chú ý để bao gồm tất dạng động từ work, cần thêm chuyển (transition) gán nhãn chữ w từ trạng thái  Cách thực automata Function BuildAutomaton(Vocabulary); Begin A  EmptyAutomaton; Repeat While A not full Include the next word of Vocabulary in A; A minimal(A) Until no more words in vocabulary; Return A; End; Đây thuật tốn mơ tả cách xây dựng otomat ‘từ vựng’ mở rộng : i Hai vịng lặp để tăng cường khả q trình xử lý loại ngôn ngữ chứa nhiều từ vựng ii Với thuật tốn tốc độ thời gian truy cập từ vựng phụ thuộc vào chiều dài từ tìm kiếm, mà khơng phụ thuộc vào kích cỡ otomat 4.1 Từ điển đa ngôn ngữ Otomat đánh số sử dụng để thực từ điển đa ngôn ngữ cho việc chuyển đổi từ từ Các từ vựng vài ngôn ngữ mơ tả otomat với nhiều trạng thái khởi tạo Một điều thú vị là, cách đảo ngược từ xây dựng otomat, yêu cầu xử lý tận dụng tối đa tồn việc kiểm tra tương đương ngôn ngữ (tối ưu nhớ), chẳng hạn tiền tố từ gốc tồn nhiều ngơn ngữ Châu Âu nói chung Bên ottomat, ngơn ngữ, sử dụng mảng đánh số số từ vẽ chúng vào danh sách định vị cho ngôn ngữ khác 4.2 Từ đồng nghĩa Cho từ 'word', từ đồng nghĩa bao gồm sau: work: noun: avocation, calling, employment, field, job, occupation, proffesion, trade, vocation, chore, grind, sweet verb: answer, do, fulfill, meetqualify, suffice Về mặt phạm trù ngữ pháp, từ thuộc danh từ, động từ… Chúng ta có chuỗi danh sách từ có liên quan, với danh sách tương xứng với cách hiểu khác từ, đưa từ nằm danh sách từ có liên quan Kết mà nhận danh sách từ đồng nghĩa Chúng ta thực việc tìm từ đồng nghĩa cách sử dụng otomat đánh số với nhiều trạng thái khởi đầu : trạng thái phù hợp với phạm trù ngữ pháp Bên cạnh đó, sử dụng vài cấu trúc liệu để mô tả danh sách từ theo số Giả sử, thực kiểm tra từ đồng nghĩa tiếng Anh Otomat chấp nhận khoảng 9.500 từ , có tối thiểu 9.000 trạng thái 18.000 chuyển.Yêu cầu lưu trữ 88kbytes cho otomat khoảng 39kbytes cho cấu trúc liệu Future work Chúng ta thấy otomat đơn định cung cấp công cụ có ích cho nhiều ứng dụng Một phương hướng mà họ theo đuổi tương lai làm vài thử nghiệm ngôn ngữ khác so với tiếng Anh thử xây dựng Otomat cho từ vựng mở rộng nhiều PHẦN II: AUTOMATA ĐẨY XUỐNG NỘI DUNG CHÍNH: Trong chương này, khảo sát dạng mơ hình ơtơmát khác, có khả nhận diện lớp ngơn ngữ mà văn phạm phi ngữ cảnh sinh ôtômát đẩy xuống (PDA) - với bổ sung thêm Stack đóng vai trị giữ nhớ q trình ôtômát thực phép chuyển để nhận dạng ngôn ngữ Tiếp theo đó, mối quan hệ tương đương hai chế - ôtômát đẩy xuống CFGdùng biểu diễn cho lớp văn phạm phi ngữ cảnh nêu chứng minh chặt chẽ Mục tiêu cần đạt : Cuối chương này, sinh viên có thể: - Thiết kế PDA chấp nhận ngôn ngữ phi ngữ cảnh cho trước Stack rỗng hay trạng thái kết thúc - Chuyển PDA chấp nhận ngôn ngữ trạng thái kết thúc sang PDA chấp nhận ngôn ngữ Stack rỗng ngược lại - Xây dựng NPDA chấp nhận ngôn ngữ sinh từ CFG - Viết văn phạm phi ngữ cảnh sinh lớp ngôn ngữ chấp nhận NPDA cho trước I ÔTÔMÁT ĐẨY XUỐNG ( PDA : PUSHDOWN AUTOMATA) Như ta biết, lớp ngơn ngữ quy sinh từ văn phạm quy, đồng thời đốn nhận ơtơmát hữu hạn (đơn định không đơn định) Trong phần này, lại thấy điều tương tự lớp ngôn ngữ phi ngữ cảnh, sinh từ văn phạm phi ngữ cảnh, đốn nhận loại ơtơmát khác - gọi ơtơmát đẩy xuống (PDA) Có điều khác biệt đây, có dạng ơtơmát đẩy xuống khơng đơn định (NPDA) đủ mạnh để đốn nhận lớp ngơn ngữ phi ngữ cảnh, cịn dạng đơn định (DPDA) cho phép đoán nhận tập thực lớp ngôn ngữ Tuy nhiên, tập bao gồm phần lớn ngơn ngữ lập trình 1.1 Mơ tả PDA Ơtơmát đẩy xuống thực chất ôtômát với điều khiển hai: băng nhập Stack (bộ đẩy xuống) Về bản, giữ tất thành phần ôtômát hữu hạn, với bổ sung thêm ngăn xếp làm việc (Stack) đóng vai trị giữ nhớ, nhờ mà khả ghi nhớ ôtômát tăng thêm Stack xem chồng đĩa, đặt vào sau lấy trước (LIFO) Với mở rộng ôtômát đẩy xuống chấp nhận biểu thức khơng quy Chẳng hạn tập hợp L = {wcwR | w ∈ (0+1)*} (với wR chuỗi đảo ngược chuỗi w) ngôn ngữ phi ngữ cảnh sinh văn phạm S → 0S0 | 1S1 | c khơng thể chấp nhận ơtơmát hữu hạn Hình 6.1 - Mô tả PDA Để chấp nhận ngôn ngữ L ta dùng điều khiển có hai trạng thái q1, q2 Stack ta đặt đĩa xanh (B), vàng (Y), đỏ (R) Thiết bị thao tác theo quy tắc sau đây: 1) Máy bắt đầu với đĩa đỏ Stack điều khiển trạng thái q1 2) Nếu đưa vào thiết bị ta đặt đĩa xanh vào Stack Nếu đưa vào thiết bị trạng thái q ta đặt đĩa vàng vào Stack Cả hai trường hợp thiết bị không thay đổi trạng thái 3) Nếu c đưa vào thiết bị trạng thái q1 thiết bị đổi trạng thái sang q2 không thay đổi Stack 4) Nếu đưa vào thiết bị trạng thái q2 đỉnh Stack đĩa màu xanh đĩa lấy Nếu đưa vào thiết bị trạng thái q2 đĩa vàng đỉnh Stack ta loại bỏ đĩa Trạng thái q2 không thay đổi 5) Nếu thiết bị trạng thái q2 đĩa đỏ đỉnh Stack ta loại bỏ đĩa khơng cần ký hiệu nhập 6) Ngồi trường hợp thiết bị khơng thay đổi c quy tắc tóm tắt bảng sau: Hình 6.2 - Mơ tả hoạt động PDA chấp nhận ngôn ngữ {wcwR |w∈ (0+1)*} Một chuỗi chấp nhận thiết bị đọc duyệt qua đến hết chuỗi đồng thời với Stack trở trạng thái rỗng Nhận xét : Nhờ Stack có khả lưu giữ số ký hiệu mà PDA nhớ nửa phần đầu chuỗi (w) gặp ký hiệu phân cách c, cho dù chuỗi có độ dài lớn đến Và sau đó, ký hiệu đem để so sánh dần với phần chuỗi ngược lại (wR) Một ơtơmát hữu hạn khơng có khả ghi nhớ 1.2 Định nghĩa Ơtơmát đẩy xuống có điều khiển hữu hạn Stack Stack chứa chuỗi ký hiệu thuộc chữ Ký hiệu bên trái chuỗi xem ký hiệu đỉnh Stack PDA khơng đơn định có số hữu hạn lựa chọn phép chuyển lần chuyển Phép chuyển có hai kiểu:P Kiểu thứ phụ thuộc vào ký hiệu nhập, tức với trạng thái, ký hiệu đỉnh Stack ký hiệu nhập; PDA lựa chọn trạng thái chuỗi ký hiệu thay Stack, đầu đọc dịch sang phải ký hiệu - Kiểu thứ hai không phụ thuộc vào ký hiệu nhập, gọi ε - dịch chuyển :tương tự kiểu thứ nhất, ngoại trừ ký hiệu nhập không dùng đầu đọc không dịch chuyển sau chuyển trạng thái Thực chất, bước chuyển đặc biệt tạm ngừng quan sát băng nhập để xếp lại ký hiệu ngăn xếp Có hai cách để định nghĩa ngơn ngữ chấp nhận ôtômát đẩy xuống: -Ngôn ngữ chấp nhận Stack rỗng: gồm tất input mà sau chuỗi phép chuyển trạng thái làm cho ôtômát dẫn tới Stack rỗng - Ngôn ngữ chấp nhận trạng thái kết thúc: ta thiết kế số trạng thái kết thúc, ngơn ngữ chấp nhận ôtômát định nghĩa gồm tất input mà có chuỗi phép chuyển làm cho ơtơmát dẫn tới trạng thái kết thúc ... HỒNG THẮM CÙNG SỰ HƯỚNG DẪN CỦA TH.s TRẦN XUÂN SANG GIÁO VIÊN CHUYÊN MÔN PHẦN I: ỨNG DỤNG CỦA AUTOMATA HỮU HẠN TRONG VIỆC PHÂN TÍCH TỪ VỰNG MỞ RỘNG Applications of finite Automata Representing large... khẳng định Có thể ứng dụng mang tính truyền thống Nó tìm thấy cấu trúc lệnh nơi mà ơtơmat sử dụng để làm mẫu thực phân tích từ vựng học mang tính hiệu Ứng dụng ơtmat hữu hạn để giải vài vấn đề đặc... đặt vừa khít vào 124 kbytes nhớ Trong chủ đề bàn đến chi tiết vấn đề sau: Thực kiểm tra tả dựa ơtmat Mơ tả thuật toán cấu trúc liệu sử sụng Một vài thống kê đo lường Một vài ứng dụng Thực kiểm

Ngày đăng: 14/05/2021, 16:36

Mục lục

    BÀI TẬP LỚN: LÝ THUYẾT NGÔN NGỮ

    THÀNH VIÊN NHÓM 4 CÙNG THỰC HIỆN:

    PHẦN I: ỨNG DỤNG CỦA AUTOMATA HỮU HẠN TRONG VIỆC PHÂN TÍCH TỪ VỰNG MỞ RỘNG

    Trong chủ đề này chúng ta sẽ bàn đến chi tiết những vấn đề sau: 1. Thực hiện kiểm tra chính tả dựa trên ôtmat 2. Mô tả thuật toán và cấu trúc dữ liệu được sử sụng 3. Một vài sự thống kê và đo lường 4. Một vài ứng dụng

    PHẦN II: AUTOMATA ĐẨY XUỐNG

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

Tài liệu liên quan