GATE: General Architecture for Text Engineering

GATE không phải là một phần mềm ứng dụng cụ thể, mà là một hệ thống các phương pháp và công cụ phần mềm để xây dựng và phát triển các ứng dụng xử lý ngôn ngữ tự nhiên, đặc biệt là để rút trích thông tin. GATE được phát triển bởi một nhóm nghiên cứu của Trường Đại học Sheffield, Anh Quốc từ năm 1995. Từ đó đến nay, đã có nhiều phiên bản của GATE được giới thiệu. Phiên bản đầu tiên GATE 1.0 được giới thiệu vào năm 1996. Phiên bản mới nhất là GATE 3.1 beta1 vừa được giới thiệu vào tháng 12 năm 2005. Hiện nay, GATE đang được sử dụng rộng rãi trong các dự án nghiên cứu và phát triển trong lĩnh vực rút trích thông tin trên nhiều ngôn ngữ như tiếng Anh, Hy Lạp, Tây Ban Nha, Thụy Điển, Đức, Ý, Pháp,... GATE cũng hỗ trợ rất mạnh cho việc phát triển Web có ngữ nghĩa.

GATE được hiện thực bằng ngôn ngữ Java và là phần mềm mã nguồn mở theo bản quyền của GNU. Có thể tải miễn phí GATE về từ http://gate.ac.uk/download/. Hiện nay, phiên bản GATE 3.1 beta1 hỗ trợ bốn hệ điều hành khác nhau là Windows, Linux (x86), Solaris/SPARC, và Mac OS X. Với Mac OS X, GATE hỗ trợ rất nhiều ngôn ngữ để người sử dụng lựa chọn cho phù hợp với ngôn ngữ của hệ điều hành.

GATE hỗ trợ các nhà nghiên cứu và phát triển phần mềm theo ba khía cạnh:

    - Kiến trúc phần mềm (Software Architecture)

    - Khung làm việc (Framework)

    - Môi trường phát triển (Development Environment)

Ba hướng phát triển này trên tạo nên sức mạnh của GATE, trong đó kiến trúc phần mềm là hướng hỗ trợ đáng chú ý nhất. Kiến trúc phần mềm liên quan đến cấu trúc tổ chức của một hệ thống phần mềm. Nó định nghĩa hầu hết mọi thứ bằng một thuật ngữ là thành phần (Component), phân chia hệ thống thành các thành phần tương ứng và đảm bảo rằng sự tương tác giữa các thành phần này phải thoả mãn các yêu cầu của hệ thống. Mỗi thành phần là một module thực hiện một nhiệm vụ cụ thể nào đó và có thể được tái sử dụng khi cần thiết.

Là một kiến trúc phần mềm, GATE cũng được chia thành nhiều thành phần khác nhau, mỗi thành phần được gọi là một tài nguyên (Resource). Mỗi tài nguyên thực hiện một chức năng riêng biệt và có khả năng tương tác, hỗ trợ hoạt động với nhau. Trong GATE có ba loại tài nguyên là:

    - Tài nguyên ngôn ngữ (Language Resource - LR)

    - Tài nguyên xử lý (Processing Resource - PR)

    - Tài nguyên hiển thị (Visual Resource - VR)

Tài nguyên ngôn ngữ tương ứng với phần dữ liệu; tài nguyên xử lý tương ứng với các giải thuật; và tài nguyên hiển thị hỗ trợ cho phần giao diện với người dùng. Ba loại tài nguyên này được gọi chung là CREOLE (Collection of REusable Object for Language Engineering).

Khi sử dụng GATE để xây dựng một hệ thống xử lý ngôn ngữ tự nhiên, trước hết nhà phát triển cần xây dựng một kiến trúc phần mềm cho hệ thống bằng cách thiết kế các tài nguyên cần thiết một cách hợp lý, sau đó sử dụng môi trường phát triển và khung làm việc để xây dựng hoàn chỉnh các tài nguyên này. Các tài nguyên đã được xây dựng có thể được nhúng vào ứng dụng thông qua công cụ GATE Framework.

Tuy nhiên, GATE chưa hỗ trợ cho tiếng Việt, và văn phạm JAPE mà GATE cung cấp để rút trích thông tin chỉ là một ngôn ngữ tổng quát để đặc tả các mẫu nhận dạng. Người phát triển ứng dụng có thể sử dụng JAPE để lập trình cho miền và cơ sở tri thức cụ thể của mình.