Văn phạm liên kết

Bách khoa toàn thư mở Wikipedia

Văn phạm liên kết (VPLK) là một lý thuyết về cú pháp của Davy TemperleyDaniel Sleator mà xây dựng mối quan hệ giữa các cặp từ thay vì các cấu thành trong một cấu trúc phân cấp dạng cây. Có hai tham số cơ bản: hướng và khoảng cách. Văn phạm phụ thuộc tương tự như văn phạm liên kết nhưng bao gồm mối quan hệ "head-dependent" và thiếu tính định hướng trong mối quan hệ giữa các từ. Văn phạm liên kết tô màu đa phẳng là một sự mở rộng của VPLK cho phép các mối quan hệ cắt nhau giữa các cặp từ.[1]

Ví dụ, trong ngôn ngữ Chủ ngữ-Động từ-Tân ngữ (CĐT) như tiếng Anh, động từ sẽ hướng về bên trái để tạo liên kết chủ ngữ và bên phải để tạo liên kết tân ngữ. Danh từ sẽ tìm bên phải để hoàn thiện liên kết chủ ngữ và bên trái cho liên kết tân ngữ.

Tương tự, trong ngôn ngữ Chủ ngữ-Tân ngữ-Động từ (CTĐ) như tiếng Ba Tư, động từ sẽ hướng về bên trái để tạo liên kết tân ngữ và xa hơn để tạo liên kết chủ ngữ. Danh từ sẽ tìm bên phải để hoàn thiện cả liên kết chủ ngữ và tân ngữ.

Cú pháp[sửa | sửa mã nguồn]

Liên kết phải được biểu diễn bằng dấu +, và liên kết trái với dấu -. Liên kết tuỳ chọn được bao trong cặp ngoặc nhọn {...}. Các liên kết không mong muốn được bao trong một số cặp ngoặc vuông [...]. Các liên kết được ghép với nhau bằng phép hội & hoặc tuyển or.

Ví dụ[sửa | sửa mã nguồn]

Ví dụ 1[sửa | sửa mã nguồn]

Một tệp tin luật cơ bản của ngôn ngữ CĐT sẽ như sau:

<determiner>:      D+;
<noun-subject>:   {D-} & S+;
<noun-object>:    {D-} & O-;
<verb>:               S-   &   {O+};

Do đó câu tiếng Anh, "The boy painted a picture" sẽ được biểu diễn:

           +-----O-----+
 +-D-+--S--+     +--D--+
 |   |     |     |     |
The boy painted  a  picture

Ví dụ 2[sửa | sửa mã nguồn]

Trong khi một tệp tin luật cho một ngôn ngữ cho phép khuyết chủ ngữ có thể chứa các liên kết sau:

<noun-subject>:   S+;
<noun-object>:     O+;
<verb>:            {O-}   &   {S-};

Và một câu tiếng Ba Tư đơn giản, man nAn xordam (من نان خوردم) 'Tôi ăn bánh mì' sẽ như sau:

 +-----S-----+
 |     +--O--+
 |     |     |
man   nAn xordam

Ví dụ 3[sửa | sửa mã nguồn]

Câu tiếng Việt "Bữa tiệc hôm qua là một thành công lớn" có thể được gán liên kết như sau:

Cài đặt[sửa | sửa mã nguồn]

Bộ phân tích cú pháp văn phạm liên kết là một thư viện cho xử lý ngôn ngữ tự nhiên viết bằng ngôn ngữ C. Nó có sẵn dưới giấy phép BSD, tương thích với giấy phép GNU GPL. Dự án án bộ phân tích cú pháp vẫn đang tiến hành tại đây. Một số phiên bản bao gồm sự bao phủ câu rộng hơn, sửa lỗi và an ninh và kết nối với ngôn ngữ Java.

Các kết nối với ngôn ngữ Perl, Python, Ruby, Java, OCaml.NET cũng sẵn có.[2]

Chương trình link-grammar cùng với các luật và danh sách từ tiếng Anh cũng có thể tìm thấy trong các bản phân phối Linux chuẩn, ví dụ một gói Debian.[3]

Ứng dụng[sửa | sửa mã nguồn]

AbiWord checks grammar using Link Grammar

AbiWord, một trình soạn thảo tự do, sử dụng VPLK để kiểm tra ngữ pháp tức thời [1] Lưu trữ 2014-02-13 tại Wayback Machine Các từ không thể liên kết được đánh dấu màu xanh.

Bộ tách quan hệ ngữ nghĩa RelEx Lưu trữ 2009-08-26 tại Wayback Machine, đặt trên nền thư viện VPLK, tạo ra văn phạm phụ thuộc bằng cách đánh dấu một cách tường minh mối quan hệ ngữ nghĩa giữa các từ trong câu. Đầu ra của nó có thể được phân loại vào giữa SSyntR và DSyntR của Meaning-Text Theory.

VPLK cũng được sử dụng trong trích xuất thông tin từ các văn bản y sinh[4][5] và các sự kiện trên báo,[6] cũng như các hệ thống dịch máy thử nghiệm từ tiếng Anh sang tiếng Đức, Thổ Nhĩ Kỳ và một số ngôn ngữ khác.

Từ điển VPLK được sử dụng để sinh và kiểm tra độ chính xác về ngữ pháp của hai hệ thống sinh ngôn ngữ tự nhiên: NLGen[7] và NLGen2.[8] Nó cùng được sử dụng trong một phần dự án trí tuệ nhân tạo OpenCog.

Ghi chú[sửa | sửa mã nguồn]

  1. ^ .Anssi Yli-Jyrä and Matti Nykänen (2004). “A Hierarchy of Mildly Context-Sensitive Dependency Grammars” (PDF). Trong G. P. Gerhard Jäger, Paola Monachesi and S. Wintner (biên tập). Proceedings of the 9th conference on Formal Grammar 2004 "FGNancy". Pre-Proceedings. tr. 151–165. Bản gốc (PDF) lưu trữ ngày 16 tháng 7 năm 2011. Truy cập ngày 28 tháng 6 năm 2011.
  2. ^ (Perl) (Python) (Ruby) Lưu trữ 2016-03-04 tại Wayback Machine (OCaml) Lưu trữ 2008-05-17 tại Wayback Machine (.NET) Lưu trữ 2011-10-06 tại Wayback Machine
  3. ^ Debian - Package Search Results - link-grammar
  4. ^ Jing Ding, Daniel Berleant, Jun Xu, Andy W. Fulmer (2003). “Extracting biochemical interactions from MEDLINE using a link grammar parser” (PDF). Tools with Artificial Intelligence, 2003. Proceedings. 15th IEEE International Conference on. tr. 467–471. ISBN 0-7695-2038-3. Bản gốc (PDF) lưu trữ ngày 31 tháng 3 năm 2011. Truy cập ngày 28 tháng 6 năm 2011.Quản lý CS1: nhiều tên: danh sách tác giả (liên kết)
  5. ^ Sampo Pyysalo, Tapio Salakoski, Sophie Aubin and Adeline Nazarenko, "Lexical Adaptation of Link Grammar to the Biomedical Sublanguage: a Comparative Evaluation of Three Approaches", BMC Bioinformatics 7(Suppl 3):S2 (2006).
  6. ^ Harsha V. Madhyastha, N. Balakrishnan, K. R. Ramakrishnan (2003). “Event Information Extraction Using Link Grammar”. 13th International WorkShop on Research Issues in Data Engineering: Multi-lingual Information Management (RIDE'03). tr. 16. doi:10.1109/RIDE.2003.1249841.Quản lý CS1: nhiều tên: danh sách tác giả (liên kết)
  7. ^ Ruiting Lian, et al, "Sentence generation for artificial brains: a glocal similarity matching approach", Neurocomputing (Elsevier) (2009, submitted for publication).
  8. ^ Blake Lemoine, NLGen2: A Linguistically Plausible, General Purpose Natural Language Generation System[liên kết hỏng] (2009)

Đọc thêm[sửa | sửa mã nguồn]

Liên kết ngoài[sửa | sửa mã nguồn]

Các mở rộng ngôn ngữ[sửa | sửa mã nguồn]