Bài tập lớn: Lý thuyết ngôn ngữ pps

30 955 0
Bài tập lớn: Lý thuyết ngôn ngữ pps

Đ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

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 4 CÙNG THỰC HIỆN: 1. NGUYỄN NGỌC TÂM 2. NGUYỄN THỊ SEN 3. NGUYỄN THỊ SÁNG 4. 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ả một loạt các từ vựng là một kỹ thuật đã được khẳng định. Có thể ứng dụng mang tính truyền thống. Nó được tìm thấy trong cấu trúc lệnh nơi mà ôtômat có thể được sử dụng để làm mẫu và thực hiện những phân tích từ vựng học mang tính hiệu quả. Ứng dụng của ôtmat hữu hạn để giải quyết một vài vấn đề đặc biệt trong việc xử lý ngôn ngữ tự nhiên là khá phổ biến. Tuy nhiên, ý tưởng gói gọn các “từ vựng mở rộng” vào otomat đơn định và nhiều ứng dụng của nó dường như còn mang tính mới mẻ. Cơ sở để thúc đẩy cho nghiên cứu này là một chương trình kiểm tra lỗi chính tả áp dụng cho hầu hết các ngôn ngữ. Cho ví dụ , chương trình kiểm tra chính tả mà chúng ta đề cập có thể xử lý khoảng 30.000 từ mỗi giây, với automat hơn 200.000 từ đặt vừa khít vào 124 kbytes bộ nhớ. 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 1. Thực hiện kiểm tra chính tả dựa trên ôtmat Một trong những chương trình kiểm tra chính tả được sử dụng rộng rãi nhất là chương trình UNIX Spell. Chương trình này thực hiện kiểm tra bằng cách loạI bỏ từ được cho khỏi tiền tố của nó, cho ví dụ: Re- work –ed  work và 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 còn 30.000 từ . Tuy nhiên, việc loại bỏ phụ tố( bao gồm tiền tố và hậu tố) có thể dẫn đến việc chấp nhận những từ không tồn tại. Thêm nữa, chương trình kiểm tra sẽ chấp nhận những từ không có nghĩa trong khi kiểm tra chính tả :womans thay vì woman’s( số nhiều của woman là women), tos thay vì toes( hoặc có thể là toss), và toing thay vì toeing( hoặc towing). Để có thê khắc phục những nhược điểm trên , chúng tôi đã quyết định thử một phương pháp khác bằng cách xây dựng một otomat hữu hạn đơn định cục bộ (aminimal acyclic deterministic partial finite automaton) có thể chấp nhận một cách chính xác khoảng 206.000 từ có mặt trong từ vựng. Theo cách này chúng ta có thể tránh được vấn đề đưa vào những từ không tồn tại. Bên cạnh đó Hình 1: Otomat đơn định cho tất cả các dạng của các động từ : re work , replay, overwork và overplay Otomat có thể cung cấp một cách đơn giản và chung chung để loại bỏ một cách tuyệt đối các tiền tố và hậu tố vì mỗi trong số chúng sẽ được mô tả duy nhất một lần. Trong hình 1, chúng tôi chỉ ra một otomat cho tất cả các dạng của các động từ tiếng anh rework, replay, overwork and overplay. Chú ý rằng để bao gồm tất cả các dạng của động từ work, chỉ cần thêm duy nhất một chuyển (transition) được gán nhãn bởi chữ cái w từ trạng thái 0  9. Function BuildAutomaton(Vocabulary); Begin A  EmptyAutomaton; Repeat While A not full do Include the next word of Vocabulary in A; A minimal(A) Until no more words in vocabulary; Return A; End; Đây là thuật toán mô tả cách xây dựng otomat của ‘từ vựng’ mở rộng : i. Hai vòng lặp để tăng cường khả năng trong quá trình xử lý nhất là đối với loại ngôn ngữ chứa nhiều từ vựng. ii. Với thuật toán này thì tốc độ cũng như thời gian truy cập từ vựng phụ thuộc vào chiều dài của từ đang được tìm kiếm, mà không phụ thuộc vào kích cỡ của otomat. 2. Cách thực hiện của automata [...]... tự là lớp ngôn ngữ phi ngữ cảnh, được sinh ra từ văn phạm phi ngữ cảnh, cũng được đoán nhận bởi một loại ôtômát khác - gọi là ôtômát đẩy xuống (PDA) Có một điều khác biệt là ở đây, chỉ có dạng ôtômát đẩy xuống không đơn định (NPDA) mới có thể đủ mạnh để đoán nhận lớp ngôn ngữ phi ngữ cảnh, còn dạng đơn định (DPDA) chỉ cho phép đoán nhận một tập con thực sự của lớp ngôn ngữ này Tuy nhiên, tập con đó... Chuyển một PDA chấp nhận ngôn ngữ bằng trạng thái kết thúc sang PDA chấp nhận ngôn ngữ bằng Stack rỗng và ngược lại - Xây dựng NPDA chấp nhận ngôn ngữ sinh ra từ một CFG - Viết văn phạm phi ngữ cảnh sinh ra lớp ngôn ngữ được chấp nhận bởi một NPDA cho trước I ÔTÔMÁT ĐẨY XUỐNG ( PDA : PUSHDOWN AUTOMATA) Như ta đã biết, lớp các ngôn ngữ chính quy được sinh từ văn phạm chính quy, đồng thời cũng được đoán nhận... Từ điển đa ngôn ngữ Otomat được đánh số có thể được sử dụng để thực hiện từ điển đa ngôn ngữ cho việc chuyển đổi giữa từ và từ Các từ vựng đối với một vài ngôn ngữ có thể được mô tả bởi một otomat với nhiều trạng thái khởi tạo Một điều thú vị là, bằng cách đảo ngược các từ trong khi xây dựng otomat, yêu cầu xử lý sẽ tận dụng tối đa sự tồn tại trong việc kiểm tra sự tương đương giữa các ngôn ngữ (tối... chuyển để nhận dạng ngôn ngữ Tiếp theo đó, mối quan hệ tương đương giữa hai cơ chế - ôtômát đẩy xuống và CFGdùng biểu diễn cho lớp văn phạm phi ngữ cảnh cũng sẽ được nêu ra và 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 một ngôn ngữ phi ngữ cảnh cho trước bằng Stack rỗng hay trạng thái kết thúc - Chuyển một PDA chấp nhận ngôn ngữ bằng trạng thái... lại các ký hiệu trong ngăn xếp Có hai cách để định nghĩa ngôn ngữ chấp nhận bởi ôtômát đẩy xuống: -Ngôn ngữ được chấp nhận bởi Stack rỗng: gồm tất cả các input mà sau một chuỗi các phép chuyển trạng thái làm cho ôtômát dẫn tới Stack rỗng - Ngôn ngữ được chấp nhận bởi trạng thái kết thúc: ta thiết kế một số trạng thái kết thúc, khi đó ngôn ngữ chấp nhận bởi ôtômát có thể định nghĩa gồm tất cả các input... ôtômát đẩy xuống có thể chấp nhận cả các biểu thức không chính quy Chẳng hạn tập hợp L = {wcwR | w ∈ (0+1)*} (với wR là chuỗi đảo ngược của chuỗi w) là một ngôn ngữ phi ngữ cảnh sinh bởi văn phạm S → 0S0 | 1S1 | c và nó không thể được chấp nhận bởi bất kỳ một ôtômát hữu hạn nào Hình 6.1 - Mô tả một PDA Để chấp nhận ngôn ngữ L như trên ta dùng bộ điều khiển có hai trạng thái q1, q2 và một Stack trên... sự tương đương giữa các ngôn ngữ (tối ưu bộ nhớ), chẳng hạn như các tiền tố và các từ gốc tồn tại trong nhiều ngôn ngữ Châu Âu nói chung Bên trong ottomat, đối với mỗi ngôn ngữ, chúng ta có thể sử dụng một mảng được đánh số bởi các con số của từ và vẽ chúng vào danh sách được định vị cho ngôn ngữ khác 4.2 Từ đồng nghĩa Cho một từ 'word', các từ đồng nghĩa của nó bao gồm như sau: work: noun: avocation,... hướng mà họ theo đuổi trong tương lai là làm một vài thử nghiệm trên các ngôn ngữ khác hơn so với tiếng Anh và thử xây dựng Otomat cho từ vựng mở rộng hơn rất nhiều PHẦN II: AUTOMATA ĐẨY XUỐNG NỘI DUNG CHÍNH: Trong chương này, chúng ta khảo sát một dạng mô hình ôtômát khác, có khả năng nhận diện được lớp ngôn ngữ mà văn phạm phi ngữ cảnh sinh ra ôtômát đẩy xuống (PDA) - với sự bổ sung thêm của Stack... Stack ta loại bỏ đĩa này không cần ký hiệu nhập 6) Ngoài các trường hợp trên thì thiết bị không thay đổi Các quy tắc trên được tóm tắt như trong bảng sau: Hình 6.2 - Mô tả hoạt động của PDA chấp nhận ngôn ngữ {wcwR |w∈ (0+1)*} Một chuỗi được chấp nhận bởi thiết bị nếu nó đã đọc duyệt qua đến hết chuỗi đồng thời với Stack trở về trạng thái rỗng Nhận xét : Nhờ Stack có khả năng lưu giữ một số bất kỳ các... (NPDA) mới có thể đủ mạnh để đoán nhận lớp ngôn ngữ phi ngữ cảnh, còn dạng đơn định (DPDA) chỉ cho phép đoán nhận một tập con thực sự của lớp ngôn ngữ này Tuy nhiên, tập con đó cũng bao gồm phần lớn các ngôn ngữ lập trình 1.1 Mô tả PDA Ôtômát đẩy xuống thực chất là một ôtômát với sự điều khiển cả hai: băng nhập và Stack (bộ đẩy xuống) Về cơ bản, nó vẫn giữ tất cả các thành phần của một ôtômát hữu hạn, . 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 4 CÙNG THỰC HIỆN: 1. NGUYỄN. 4.1 Từ điển đa ngôn ngữ Otomat được đánh số có thể được sử dụng để thực hiện từ điển đa ngôn ngữ cho việc chuyển đổi giữa từ và từ. Các từ vựng đối với một vài ngôn ngữ có thể được mô. yêu cầu xử lý sẽ tận dụng tối đa sự tồn tại trong việc kiểm tra sự tương đương giữa các ngôn ngữ (tối ưu bộ nhớ), chẳng hạn như các tiền tố và các từ gốc tồn tại trong nhiều ngôn ngữ Châu Âu

Ngày đăng: 12/07/2014, 12:20

Từ khóa liên quan

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

  • GIỚI THIỆU

  • Cơ sở để thúc đẩy cho nghiên cứu này là một chương trình kiểm tra lỗi chính tả áp dụng cho hầu hết các ngôn ngữ. Cho ví dụ , chương trình kiểm tra chính tả mà chúng ta đề cập có thể xử lý khoảng 30.000 từ mỗi giây, với automat hơn 200.000 từ đặt vừa khít vào 124 kbytes bộ nhớ.

  • 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

  • Slide 7

  • Slide 8

  • Slide 9

  • Slide 10

  • Slide 11

  • Slide 12

  • Slide 13

  • Slide 14

  • Slide 15

  • Slide 16

  • Slide 17

  • Slide 18

  • Slide 19

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

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

Tài liệu liên quan