Tải bản đầy đủ (.doc) (28 trang)

HỆ THỐNG hỏi đáp NGÔN NGỮ TIẾNG ANH CHO một cơ sở dữ LIỆU QUAN hệ RỘNG lớn

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (207.55 KB, 28 trang )

Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

HỆ THỐNG HỎI ĐÁP NGÔN NGỮ TIẾNG ANH
CHO MỘT CƠ SỞ DỮ LIỆU QUAN HỆ RỘNG LỚN
Do yêu cầu bằng tiếng anh, những người sử dụng cẩu thả sẽ chỉ có thể
nhận được những câu trả lời không đầy đủ từ một cơ sở dữ liệu rộng lớn của
chuyến bay và của sự bảo dưỡng dữ liệu sử dụng một hệ thống gọi là
PLANES. Quá trình thiết kế và thực hiện hệ thống này được mô tả và chứng
minh bằng những ví dụ cụ thể về sự hoạt động của hệ thống các linh kiện và
ví dụ tổng quát về hệ thống hoạt động. Phần xử lý ngôn ngữ của hệ thống sử
dụng một loạt các mạng lưới chuyển đổi, mỗi một hệ thống được gắn kết
những cụm từ với một ý nghĩa và khái niệm cụ thể trong đăng ký phạm vi.
Những yếu tố này được sử dụng để phán đoán ý nghĩa của các câu hỏi, tạo ra
các cuộc đối thoại để phân loại những câu hỏi đã được hiểu một phần nào
đó, và giải quyết sự tỉnh lược và những vấn đề liên quan. Các phần hệ thống
khác đặt một yêu cầu bình thường cho cơ sở dữ liệu quan hệ. Các phương
pháp được thảo luận để giải quyết những câu hỏi phức tạp và cung cấp khả
năng đọc hiểu các dữ liệu. Các cuộc thảo luận về các vấn đề quan trọng
trong chương trình hệ thống ngôn ngữ quốc gia được giới hạn trong lãnh thổ
và mối quan hệ của hệ thống này đối với các hệ thống khác.
Các cụm từ và các từ quan trọng: Việc trả lời câu hỏi, CSDL có liên
quan, ngôn ngữ tự nhiên, CSDL trước và sau, trí tuệ nhân tạo, cuộc đối
thoại, sự phát sinh truy vấn, việc phục hồi thông tin và chương trình ngôn
ngữ tự nhiên: Các cột CR như 3.42, 3.60, 3.69, 3.74, 3.79.

1.0. Giới thiệu.
Một cản trở quan trọng đối với những người không thuộc khối kỹ thuật
mà muốn sử dụng vi tính là cần phải học một ngôn ngữ chuyên nghành để có
thể làm việc được với các cỗ máy hoặc liên hệ qua một hệ thống trung gian.


Chúng tôi cho rằng đã đến lúc máy tính cần được trang bị những hệ thống
ngôn ngữ tự nhiên mà những người sử dụng không được đào tạo về ngôn
ngữ chuyên ngành máy tính cũng có thể sử dụng được. Để những hệ thống
như vậy có giá trị sử dụng đối với những người sử dụng không thường
xuyên thì hệ thống phải bỏ qua những lỗi đơn giản, phải thể hiện một mức
độ bình thường, phải có một lượng từ vựng tương đối rộng và hoàn thiện đẻ
xử lý các vấn đề, phải chấp nhận một phạm vi cấu trúc ngữ pháp rộng rãi,
phải có khả năng cung cấp thông tin nhanh nhạy. Theo những cuộc điều tra
________________________________________________________________________
-1-


Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

gần đây các hệ thống ngôn ngữ tự nhiên mang tính nghệ thuật có thể được
tìm thấy trong mục [15.13].
Chúng tôi đang phát triển một hệ thống ngôn ngữ lập trình dựa trên cơ
sở hệ thống yêu cầu (for Programmed LANguage – based Enquiry System
viết tắt là PLANES) tại trường đại học thực nghiệm kết hợp khoa học
Illinois [12, 26, 27, 28]. PLANES bao gồm một hệ thống ngôn ngữ có khả
năng hiểu và trả lời đầy đủ những câu hỏi của người sử dụng và thực hiện
phân loại những loại dữ liệu [4] cũng như có khả năng hiểu và trả lời những
câu hỏi phức tạp và khó định nghĩa. Những công việc này đang được thực
hiện bằng việc sử dụng một tập hợp con của Navy S – M Mỹ (gọi là duy trì
và quản lý dữ liệu) của dữ liệu bay và sự bảo quản máy bay, mặc dù những ý
tưởng có thể được áp dụng trực tiếp cho những tài liệu không có hệ thống dữ
liệu dựa trên CSDL.
1.1 Những mục tiêu của PLANES.

Mục tiêu chủ yếu của chúng tôi là cho phép không một lập trình viên
nào thu được thông tin từ một hệ CSDL rộng lớn bằng một lượng kinh
nghiệm và kiến thức tối thiểu. Để thực hiện mục tiêu này (1) thì phải có một
hệ thống có thể hiểu rõ được trình độ ngôn ngữ của người sử dụng (2), phải
có khả năng hướng dẫn và đào tạo người sử dụng.
Chúng tôi đã thực hiện thành công một loạt những mục tiêu thứ yếu
mà chúng tôi thấy những mục tiêu này rất quan trọng để hoàn thành mục tiêu
chính của chúng tôi.
(1)

Một hệ thống phải tiếp nhận việc nạp tiếng anh không theo quy định của
người sử dụng, có thể bao gồm những cấu trúc ngữ pháp phức tạp, việc viết
tắt, và việc bỏ từ trong cấu trúc câu. Hệ thống này không nên yêu cầu các
cấu trúc câu mang ngữ pháp phức tạp.

(2)

Hệ thống phải cung cấp những câu trả lời đầy đủ cho các câu hỏi và phải
có khả năng phục hồi một tệp mà có mà có chứa các câu trả lời. Hệ thống
này nên diễn giải các câu trả lời một cách dễ hiểu, bao gồm các đơn vị mà có
thể đa dạng hoá và mô tả cụ thể các câu trả lời.

(3)

Hệ thống này phải có khả năng chấp nhận những lỗi nhỏ ví dụ: lỗi chính
tả và lỗi ngữ pháp. Hệ thống nên gợi ý người sử dụng sửa lỗi sai bất cứ khi
nào có thể, và nhìn chung nên tiếp tục làm việc với những yêu cầu đã được
hiệu đính mà không đòi hỏi đánh máy lại hoàn toàn.

________________________________________________________________________

-2-


Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

(4)

Hệ thống này nên sử dụng các mẩu đối thoại đã được phân loại vì một
số mục đích sau:

(a)

Phản hồi khả năng hiểu của hệ thống đối với những yêu cầu của người
sử dụng.

(b)

Yêu cầu người sử dụng chỉ rõ những câu hỏi mà người sử dụng không
hiểu.

(c)

Thêm từ mới, cụm từ, câu cú vào sự nhận biết cơ bản của máy.

(d)

Cung cấp thông tin trợ giúp hợp lý đối với lỗi của người sử dụnghoặc
những yêu cầu trực tiếp để trợ giúp.


(e)

Cung cấp thông tin về tiềm năng của hệ thống, hệ thống viết tắt, nội
dung thông tin của CSDL, hoặc những thông tin khác giúp một người mới
sử dụng có thể định hướng được. Đối với một cuộc thảo luận hoàn hảo về
việc sử dụng các mẩu đối thoại xem mục [4].

(5)

Một hệ thống như vậy nên thuận tiện khi sử dụng.

a.

Nó có tính tương tác và trực tuyến.

b.

Nó nên vận hành nhanh. Nếu hệ thống phản hồi lại cho người sử dụng
trong một phút hay sớm hơn thì sẽ khiến cho người sử dụng có hứng thú và
ngược lại [3]. Thậm trí một phút cũng là quá lâu từ khi hệ thống tiếp tục
cung cấp thông tin về sự phát triển của hệ thống khi nó khởi hành.

c.

Hệ thống nên yêu cầu tối thiểu về đánh máy, nên tiếp nhận những hình
thức viết tắt và tỉnh lược.

d.


Hệ thống không cần trả lời tất cả các câu hỏi mà chỉ cần trả lời ở một %
nhất định nào đó (VD ở từ mức 75% - 90% hoặc mức độ vừa phải hơn đối
với những câu hỏi hoặc thắc mắc của người sử dụng).

(6)

Hệ thống nên được mở rộng một cách dễ dàng cả bên trong hệ thống,
CSDL mới và các lĩnh vực của hệ thống.

1.1.

Sự đánh giá hiện nay của PLANES.
Đây là một bản báo cáo về quá trình làm việc của hệ thống. Với tầm
nhìn hiện nay của PLANES, chúng tôi đang làm việc để đạt được tất cẩ các
mục tiêu thứ yếu nói trên mặc dù chúng tôi vã chưa thực sự thoả mãn với
một số giải pháp.

(1) Hệ thống chấp nhận một lượng những cấu trúc cú pháp và ngữ nghĩa bao
gồm cả những mệnh đề quan hệ, so sánh và sự loại bỏ các câu lệnh và có thể
________________________________________________________________________
-3-


Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

chấp nhận thêm "tiếng anh lai" và cả những yêu cầu phi ngữ pháp. Hệ thống
phải có khả năng xử lý những hình thức viết tắt và những đại từ thay thế. Hệ
thống có khả năng nhận biết nhiều dạng viết tắt và người sử dụng có thể nạp

thêm những dạng mới một cách dễ dàng.
(2)

Những câu trả lời rõ ràng và hệ thống cung cấp thông tin
kịp thời đáp ứng được yêu cầu của người sử dụng.

(3)

Hệ thống sửa lỗi chính tả và nạp một lượng lớn những yêu
cầu phi ngữ pháp.

(4)

Hệ thống phản hồi lại cho người sử dụng một lời diễn giải
của truy vấn CSDL hình thức mà nó tạo ra. Nó cung cấp thông tin về từ,
cụm từ mà nó không hiểu và sẽ tiếp tục đưa ra thắc mắc đến khi nào các
phần chia nhỏ của một yêu cầu đã được hiểu. Thường thì những thắc mắc
này đều được xử lý một cách dễ dàng bằng cách sử dụng cơ chế tỉnh lược.
Cung cấp tệp bổ trợ phù hợp và cơ chế làm việc dễ hiểu để hướng dẫn người
sử dụng qua thông tin của những yêu cầu đơn giản. Các tệp bổ trợ có thể
được yêu cầu trực tiếp và những tệp gốc được cài đặt để phản hồi những lỗi
và thắc mắc của người sử dụng một cách tự động.

(5)

Quá trính hoạt động là thực hiện yêu cầu điển hình đầu
tiên với tổng số giây nhỏ hơn thời gian cpu thực hiện một yêu cầu trên một
hệ thống DEC 10 giữa 1 và 4 giây của thời gian này là được sử dụng để sử
lý ngôn ngữ từ xa, và sự ngừng lại để tìm CSDL và trả lời từ xa. Những
yếu tố này bao gồm việc luận giải những hình thức viết tắt và những yêu cầu

phi ngữ ngữ pháp hoặc yêu cầu không đầy đủ và sai chính tả. Cho đến nay
về cơ bản hệ thống đã kiểm tra bằng một loạt các đề án. Tuy nhiên, chúng
tôi mong bắt đầu những cuộc kiểm tra bằng Navy personnel during fall
1977.

(6)

Sự mở rộng của một số hình thức như việc thêm vào một số
những thành ngữ mới, những dạng viết tắt có thể được sử dụng trên máy.
Hầu hết những dạng mở rông khác là do lập trình viên thực hiện, nhưng
chúng ta đã cung cấp những công cụ hiệu đính mang tính mở rộng dùng để
sửa đổi trong PLANES. Sự mở rộng đối với một chương trình mới yêu cầu
một loạt công việc thực tế được chuyển giao trực tiếp qua nhiều chương
trình cũ. Ngoài ra việc mở rộng sẽ được lưu trữ trước (Xem phần 3.4 và [28]
cho thông tin trong việc xử lý nhập một ngôn ngữ tự nhiên đầu cuối).

1.2.

Tại sao sử dụng ngôn ngữ tự nhiên?

________________________________________________________________________
-4-


Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

Có nhiều lý do tốt để khiến hệ thống ngôn ngữ tự nhiên là phù hợp hơn
so với bất kỳ CSDL đầu cuối nào, chẳng hạn như "touch – panel, sự phối

hợp lựa chọn hoặc hệ thống sử dụng ngôn ngữ dữ liệu có mục đích đặc biệt".
Quan trọng nhất, có thể một cụm từ và việc kiểm tra độ phức tạp của các câu
hỏi có liên hệ dễ dàng với một hệ thống ngôn ngữ tự nhiên. Ví dụ, câu hỏi đã
được mô tả trong mục 4.1 "có phải những chiếc máy bay, những cái mà
động cơ đã được bảo dưỡng trong tháng năm có 10 hoặc nhiều hơn các giờ
bay trong tháng 6". sẽ là kiến thức tốt cho chúng ta, vượt ngoài khả năng của
bất kỳ hệ thống danh mục lựa chọn nào, những hệ thống như vậy dường như
là tốt nhất đối với những tệp cụ thể được chọn để hiển thị. Nếu chỉ hiển thị
những tệp bổ xung mà đáp ứng được những dữ liệu yêu cầu liên quan thì cần
sự kết hợp logic của một số tệp, chương trình mở rộng được sử dụng nhiều
hơn so với việc lựa chọn danh mục. Ngôn ngữ dữ liệu đặc trưng có thể sử
dụng những mối liên hệ, sự kết hợp phức tạp,nhưng để học một ngôn ngữ
cần một thời gian đào tạo lâu dài, sau đó nạp những chương trình có thể sẽ
không chính xác hoặc sẽ gặp trục trặc. Thuận tiện của hệ thống ngôn ngữ tự
nhiên trong các câu hỏi về cụm từ thậm trí sẽ trở nên phức tạp hơn khả năng
giải quyết.
Sơ đồ 1: Hoạt động của máy bay.
Hãy nhập vào câu hỏi của bạn…
- vào tháng 1 năm 1973 máy bay số 3 đã thực hiện được bao nhiêu chuyến
bay?
Kết quả xử lý thời gian chuyển tiếp và những thông báo đã được in.
Tôi đã làm sáng tỏ các yêu cầu của bạn dưới đây.
FIND : ALL
: ((VO))
: ((SUM(VTOTELTS)))
: (AND(EQU(VACTDATFMON)1)
(EQU(VACTDATFYR)3)
(EQU(VBUSER)3)))
:NH)
Một cách diễn giải yêu cầu này là: PLANES nghiên cứu những chuyến bay

hàng tháng và tóm tắt về quá trình bảo dưỡng và vé khứ hồi. Giá trị của tổng
số những chuyến bay cho máy bay nhãn hiệu #3 trong suốt tháng 1 năm
1973.
________________________________________________________________________
-5-


Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

Thời gian xử lý chính là 13,53 giây, thời gian thực sự là 53,4 giây.
Hãy nhập câu hỏi của bạn…
Các câu hỏi đã được thảo luận trong mục 5.1 được phát triển đầy đủ hơn.
Cho một cuộc thảo luận về những cái có lợi và bất lợi của hệ thống ngôn
ngữ tự nhiên, xem phần 2.2.
1.4. Ví dụ về hoạt động của máy bay.
Tất cả những ví dụ trong mục này được nhập từ một bản sao thực tế về sự
hoạt động của máy bay trên các câu hỏi mà chúng tôi đã đặt ra. Sơ đồ 1 chỉ
ra sự hoạt động của hệ thống máy bay hiện tại trong một câu hỏi đơn lẻ.
Sơ đồ 2 chỉ ra phiên họp với thời gian kéo dài nhưng tất cả các câu hỏi và
câu trả lời đều bị bế tắc. Sơ đồ 2 minh hoạ khả năng của hệ thống để giải
quyết cách lược bớt từ trong câu (thông tin bị bỏ sót sẽ được hiểu trong từng
văn cảnh).
Sơ đồ 3 chỉ ra khả năng của PLANES để cung cấp những câu trả lời dưới
dạng 1 mẫu đồ thị. NOR HRS chưa sẵn sàng hoạt động trong vài giờ; ACT
DATE có nghĩa là ngày hoạt động; 2001 là ngày đầu tiên của năm 1972.
Sơ đồ 4 chỉ ra 1 bài hội thoại ngắn. Trước tiên PLANES hỏi những thông tin
cần thiết của một kỳ để nghiên cứu về CSDL của nó – sau đó PLANES phát
hiện ra việc đánh vần sai và đưa ra 2 hướng giải quyết hợp lý cho người sử

dụng. Một lần người sử dụng chọn cách sửa đúng bằng cách đánh "2", hệ
thống có thể tiếp tục xử lý mà không cần nhập thêm bất cứ điều gì nữa.
Sơ đồ 5 chỉ ra khả năng của PLANES để trả lời những câu hỏi chung về nội
dung của nó.
Sơ đồ 6 đưa ra một ý kiến về hàng loạt những yêu cầu mà PLANES có thể
giải quyết. Ví dụ:(a) Những yêu cầu không chứa đựng phần ngữ pháp,(b)
mệnh đề quan hệ,(c) so sánh, (d) câu ghép, (e) những câu loại ra, (f) những
định nghĩa về người sử dụng. Chúng ta đã tạo dựng lên PLANES như việc
hoàn thiện phạm vi bao hàm về lĩnh vực hoạt động của nó bao gồm sự đa
dạng của từ vựng, cấu trúc ngữ pháp (hoặc sự thiếu hụt cấu trúc) và yêu cầu
ý nghĩa. Những ví dụ về khả năng của PLANES được thể hiện trong những
phần sau.
Sơ đồ 2: Một phần bản sao cách trình bày PLANES của cách tỉnh lược.
Có bao nhiêu chuyến bay A7 với số hiệu cuối là 003 được thực hiện vào
tháng 1 năm 1973?
________________________________________________________________________
-6-


Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

(SUMTOTELTS) = 17.
Có bao nhiêu chuyến bay được thực hiện vào tháng 2 năm 19723.
(SUMTOTELTS) = 1.
Trong suốt tháng 4 ?
(SUMTOTELTS) = 8.
Tháng 3?
(SUMTOTELTS) = 13.

Tất cả năm 1973?
(SUMTOTELTS) = 39.
Sơ đồ 3: Sự trình bày đồ thị của PLANES của 1 câu trả lời.
*
*
*

*
*
*

*
*
*

*
*
*

*

*

*

*

*

*


*

*

*

*

*

*

*

*

*

*

*

*

*

*

*


*

*

*

*

*

*

*

*

*

*

*

*

*

*

*


*

*

*

*

*

*

*

*

*

*

*

*

*

*

*


*

*

*

*

*

*

*

*

*

*

76

81

82

83

90


96

97

67 68

*

*

*

*

2.0. Thế giới PLANES.
Phần này mô tả một vài môi trường chung mà chương trình hiểu ngôn
ngữ thực hiện. Môi trường này bao gồm CSDL, người sử dụng, và hàng loạt
truy vấn của người sử dụng.
________________________________________________________________________
-7-


Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

2.1. Cơ sở dữ liệu PLANES.
Chúng tôi đã nhận được một CSDL từ Navy 3 – M. CSDL cho máy bay, PA
bao gồm những hồ sơ (băng, đĩa) hoàn chỉnh về sự bảo dưỡng máy bay và

thông tin về chuyến bay của máy bay 48A7 và máy bay F4, kéo dài trong
khoảng 2 năm. Mỗi lần một máy bay phục vụ, một đĩa thu được thực hiện
bao gồm những thông tin như nhiệt độ, thời hạn bảo dưỡng, người khởi động
(người thực hiện), những hoạt động được tiến hành, những phần nào đã
được sử dụng, Những nhà sản xuất cho những phần đó, dịch vụ có được thực
hiện theo đúng dự kiến hay không vv… Những bản ghi về số chuyến máy
bay và số giờ bay cũng được lưu trữ trong mỗi máy bay. Có khoảng 40 kiểu
bản ghi khác nhau (hoặc trong thuật ngữ CSDL có liên quan [5, 10] xuất
hiện trong CSDL, mỗi cái bao gồm từ 10 đến 20 thuộc tính (lĩnh vực) mà
mỗi một thuộc tính thể hiện gía trị của nó từ 1 trong 80 lĩnh vực hoạt động
dưới đây như ngày hoạt động, loại máy bay, số lượng máy bay, các loại thực
hiện sai chức năng, bộ phận phục vụ, nơi bảo dưỡng …CSDL của chúng tôi
được mô tả chi tiết ở trong phần [28].)
Sơ đồ 4: Các ví dụ về cách tỉnh lược và khả năng kiểm soát lỗi.
)) Loại Skyhawks có tốc độ nhỏ hơn 10 giờ.
Hãy vào một chu kỳ chi tiết.
))Giữa ngày 1 tháng 1 và ngày 1 tháng 6 năm 1973.
Tôi không biết ý nghĩa của tháng 6 có thể ****
Hãy vào một số tương ứng với những số dưới đây.
1.

Tháng 6.

2.

Tháng 7.

3.

Không phải số nào ở trên.

)) 2.
OK.
(Trả lời câu hỏi) .
Sơ đồ 5: Khả năng của PLANES để trả lời câu hỏi về nội dung của nó.
Vào một câu hỏi của bạn…
)) Kiểu của các loại máy bay đó là gì?
Đang phân tích…

________________________________________________________________________
-8-


Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

Tiếp theo sau đây PLANES sẽ được công nhận bởi mạng lưới ý nghĩa của
từ.
(1)

A3.

(2)

A7.

(3)

F4.


(4)

F11.

(5)

CHEROKEE.

(6)

PHANTOM

(7)

SKYHAWK
Các máy bay ở trên có thể nhận biết bằng "số hiệu đuôi".
(thời gian sử lý của cpu là 2,59 giây, thời gian thực là 5,75 giây).
48 máy bay của chúng tôi được chia ra làm 3 nhóm: (1) 24 máy bay bị hỏng
trong tai nạn do sai sót kỹ thuật. (2) 12 máy bay với sự bảo dưỡng không
đảm bảo, kém. (3) 12 máy có sự bảo dưỡng tốt. Những đĩa ghi tốt, xấu được
đánh giá bằng cách so sánh tỷ số NOR (Not Operationally Ready) với số giờ
hoạt động của máy bay. Một tỷ số cao thể hiện một đĩa ghi kém, còn một tỷ
số thấp tương ững với một đĩa ghi tốt. Ngoài ra, chúng tôi còn có những bản
tóm tắt về quá trình bảo dưỡng và dữ liệu về máy bay cho tất cả F4 và F7
trong cùng một thời gian là 25 năm. Vì vậy chúng tôi có cơ sở để xếp loại sự
kiện "bình thường" hay "không bình thường".
CSDL PLANES chứa đựng trong 108 ký tự. CSDL này hoàn toàn lớn, sự mô
tả chỉ là một phần nhỏ trong toàn bộ CSDL 3 – M, CSDL mà bay giờ chứa
đựng trong 1022 ký tự (10 năm hoàn thành dữ liệu trên tất cả máy bay U.S
Navy, cùng với các bản tóm tắt).

2.2. Những nhân tố hữu ích trong thế giới PLANES.
Một số nhân tố góp phần làm cho vấn đề của chúng ta dễ dàng giải quyết dễ
hơn những vấn đề chung của việc hiểu những ngôn ngữ tự nhiên không
gượng ép. Đó là:
(1)
Sự thiếu hụt về nghiã của từ vựng. Một số ít từ và gần như không
có câu nào trong thế giới PLANES là rõ ràng. Những ví dụ về 1 con số nhỏ
hơn những từ không rõ nghĩa mà chúng ta có thể tìm thấy như "wing" (nghĩa
là một "phi đội" hoặc "một phần của máy bay") và "flight" (nghĩa là "kết quả
một chuyến bay" hoặc một phụ trợ, như trong "tính toán bay" hay "điều

________________________________________________________________________
-9-


Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

khiển bay"). Hầu như không có từ nào mang nghĩa rõ ràng nếu thông tin cú
pháp (một phần của câu hỏi), có thể được quyết định. Điều này gợi ra rằng
nếu PLANES có thể tìm thấy một sự giải thích nào đó cho một từ trong một
yêu cầu, đó là tất cả khả năng cho sự giải thích đúng.
(2)
Vốn từ vựng nhỏ. Hệ thống hiện tại của chúng tôi có khoảng 900
từ. chúng tôi ước tính rằng 1200 từ sẽ chiếm 90% hoặc nhiều hơn tất cả
những yêu cầu mà người sử dụng đưa ra với ít nhất là một chút kinh nghiệm
về PLANES.
(3)
Thiếu phương thức. PLANES thường trả lời câu hỏi từ CSDL,

vừa cố gắng giúp đỡ người sử dụng thể hiện yêu cầu của mình theo cách mà
PLANES có thể hiểu được, chấp nhận những định nghĩa mới hoặc cung cấp
sự giúp đỡ. Có rất ít khó khăn trong mọi quyết định phương thức chính xác
từ dữ liệu đưa cho người sử dụng.
(4)
Con người không nhập được những câu phức tạp. Các lỗi đánh
máy ngày càng tăng đối với các câu hỏi dài. Khả năng tăng các câu hỏi dài
sẽ làm cản trở một chương trình trong một khía cạnh nào đó, và sự lười nhác
cũng góp phần giữ những dữ liệu đưa vào ngắn gọn và đơn giản hơn về cấu
trúc câu. Malhotra (17) đã thực hiện một thí nghiệm trong đó không một
người thiết kế chương trình nào nghĩ rằng họ đã giao tiếp với nhau qua bàn
phím với một chương trình thông minh, khi trong thực tế họ đang trao đổi
với người khác, người này sẽ đáp lại một cách chính xác những gì họ nhận
được. Ông nhận thấy rằng 10 câu đơn giản chiếm khoảng 78% những câu
hỏi đưa vào, và 10 câu khác sẽ giải quyết tất cả nhưng chỉ với 10% những
câu hỏi.
(5)
Ít hơn 100% câu trả lời được chấp nhận. Chúng tôi nghĩ rằng 90%
câu trả lời không yêu cầu người sử dụng diễn đạt đầy đủ hơn để đảm bảo lợi
ích của người sử dụng và cung cấp một hệ thông thực tế và hữu ích. Chúng
tôi có kế hoạch kiểm tra chất lượng của hệ thống một cách trực tiếp.
(6)
Chúng tôi có một ý tưởng tốt mà những người có tiềm năng sử
dụng nguồn dữ liệu này muốn tiếp cận. Hãng Navy đã có một nghiên cứu về
tất cả những yêu cầu cho nguồn dữ liệu 3 – M trong suốt một tháng và đã
thu được kết quả. Do vậy chúng tôi đã có quyết định tập chung vào những
nỗ lực đầu tiên và kế hoạch thực hiện của chúng tôi. Phần tóm tắt của những
nghiên cứu này được ghi chép ở mục [28].
Những kết quả nghiên cứu này đã giúp chúng tôi giảm nhẹ trọng trách khi
lập kế hoạch và thực hiện hệ thống PLANES. Tuy nhiên chúng tôi phải tạm

dừng giải quyết các vấn đề cụ thể tương đối liên quan tới mục đích lâu dài
của chúng tôi là một chương trình xử lý ngôn ngữ tầm cỡ và khái quát. Hệ
________________________________________________________________________
- 10 -


Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

thống PLANES không tham vọng cung cấp một bản sao toàn vẹn về ngôn
ngữ nhân loại mà chỉ giúp những người sử dụng hướng tiếp cận kỹ nghệ.
2.3. Các yếu tố không có nhiều lợi ích.
(1) hệ thống bắt buộc có nội dung lớn về từ chuyên nghành. Từ đó cho thấy
một số lượng nhỏ quy tắc chung không thể đủ để dịch tất cả các từ từ tiếng
anh sang các thứ tiếng được yêu cầu khác. Xem xét các câu sau: "Which A7
has the worst maintenance record?" hoặc "Find any common factors of plane
numbers 37 and 38". Chương trình rõ ràng phải sử dụng chương tình chuyên
nghành để dịch từ "maintenance record" và để đánh giá "goodness" của nó.
Hệ thống này cũng phải thừa nhận một thực tế: nếu hai chiếc máy bay có
chung ký hiệu thứ tự trong dãy số ký hiệu thì cũng không thể kết luận chúng
là những vật thể giống nhau được. Tuy nhiên nhận ra rõ điều này cũng như
kết luận về các dữ liệu giống nhau là rất quan trọng. Hơn thế, những người
sử dụng máy khác nhau cũng có những quan niệm khác nhau do
"maintenance record" quy định, ví dụ: Một bản phân tích về giá cả , bản tổng
kết về thời kỳ suy thoái hay một loạt các hoạt động được thể hiện.
(2) Có thể có nhiều cách diễn đạt khác nhau cho một yêu cầu. Rõ ràng rằng,
nếu một người được khuyến khích ngồi trước máy mà được nhận rất ít hoặc
không có những chỉ dẫn hay hướng dẫn ưu tiên nào và nếu một hệ thống có
đủ thông tin cho người sử dụng và hiển thị các chương trình hữu ích ngay từ

đầu. Do đó, hệ thống này phải có khả năng giải quyết một lượng lớn các
kiểu câu hỏi và một hệ thống cấu trúc ngữ pháp sâu rộng.

3.0. Chương trình hoạt động của PLANES.
Quá trình hoạt động theo 4 bước: Phân tích câu, tạo yêu cầu, đánh
giá và đưa ra đáp án (xem sơ đồ 7).
(1)
Bước đầu tiên, Phân tích câu được thực hiện nhờ việc kết gắn
thông tin dựa vào "subnets" (Mẫu cụm từ được lưu trữ như mạng lưới ATN
[3]) và "concept case frames" (mẫu câu có nghĩa). Các câu đã nối được
chuyển thành hàng loạt các bộ phận có nghĩa lộn xộn ở các vế câu. Phép tỉnh
lược và cách phát âm lại được đưa ra. Các vế câu được xác định nhờ tự tìm
tòi phân tích cú pháp (xem phần 4.0).
(2)
Bước tạo yêu cầu: hàng loạt các thành phần câu có nghĩa do
người sử dụng nêu ra được dịch khái quát rồi phát ra dữ liệu để trả lời yêu
cầu. Theo như nghiên cứu của chúng tôi thì cách tìm hữu hiệu nhất là: chính
________________________________________________________________________
- 11 -


Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

những thành phần có nghĩa không trật tự trong câu thường xuyên làm rõ
nghĩa của yêu cầu một cách lạ thường. Luật này được chấp nhận, ví dụ các
cụm từ tương đương ("có phải máy bay số 3 có nhiều chuyến bay hơn máy
bay số 2 không?", không giống như "có phải máy bay số 2 có nhiều chuyến
bay hơn máy bay số 3 không?"(xem phần 4.0 để tham khảo thêm)). Bước

này cung cấp những kiến thức cụ thể về CSDL. Ví dụ chương trình biết phần
nào của CSDL chứa đựng mối quan hệ, mã số sẽ được sử dụng để trình bày
các phần thông tin khác. Chương trình này lập nên bắt nguồn từ nhu cầu
ngôn ngữ của chúng ta, quá trình thực hiện của Alph DSL (6). Yêu cầu được
bộ phận diễn giải thực hiện và đưa ra trả lời cho người yêu cầu.
(3)
Bước đánh giá: Nhờ bộ phận tạo yêu cầu của bước trước để đánh
giá CSDL rồi tạo lập phần trả lời. Giai đoạn này hoạt động nhờ mẫu dữ liệu
liên quan (5) có tên Codd và theo các dây truyền do Palermo đưa ra (21).
Bước này bao gồm các chỉ dẫn cho sự tối ưu hoá tốc độ và lưu trữ các yêu
cầu trung gian của sự tìm kiếm CSDL.
(4)
Bước đánh giá kết quả dữ liệu chuyển để đến bộ phận tạo trả lời.
Lúc này màn hình có thể hiểu thị phần trả lởi theo 3 dạng khác nhau: Đồ thị
bảng, bản kê theo số thứ tự. Dạng hiển thị kết quả do người sử dụng thông
qua yêu cầu trực tiếp (VD vẽ đồ thị của…) hoặc bằng kinh nghiệm bản thân
để làm ra mẫu phù hợp nhất. Ví dụ, kết quả dữ liệu hiển thị ở dạng đồ thị chỉ
khi các kết quả đó bao gồm các cặp số đóng vai trò như các biến số. Hơn
thế, các bộ dữ liệu chắc chắn nằm trong các khung cố định, do vậy toàn bộ
kết quả thu được hiển thị trên màn hình CRI. Trong quá trình thực hiện, kết
quả của mỗi bước được gửi tới đăng ký phạm vi, đăng ký phạm vi bao gồm
một ngăn nhớ của thông tin có liên quan. Ngăn nhớ này bao gồm thông tin
về ngữ nghĩa và ngữ cảnh (VD: chu kỳ và dưới sự xem xét loại máy bay..),
nó có vai trò rà soát các nguồn tham khảo trùng lặp. Mỗi một cụm từ chính
được mô tả cụ thể ở những phần tiếp theo. Chúng ta sẽ sao lại một yêu cầu
đơn đơn giản bằng tất cả các cụm từ trong quá trình làm việc. Giả định rằng
hệ thống đã trả lời thành công các câu hỏi "Tốc độ của máy bay A7 nào nhỏ
hơn 5 giờ bay trong tháng 2 năm 1973?" sau đó chúng tôi sẽ đưa ra những
yêu cầu sau: "Nói cho tôi tốc độ của máy bay nào đạt từ 10 đến 20 giờ bay
trong tháng 1." (chú ý lỗi chính tả của từ "between").

(5)
3.1 Phân tích câu:
"Phân tích câu " trong hệ PLANES liên quan đến 4 quá trình hoạt động:
(1)

Nạp từ và cụm từ vào công thức chuẩn và đúng chính tả.

________________________________________________________________________
- 12 -


Đồ án Nhập môn CSDL

(2)

TIN2-K44-ĐHBK

Kết hợp với kiểu cụm từ được nạp (những mạng cấp thấp) và tạo một
thanh công cụ.

(3)

Kết hợp giá trị thanh công cụ với kiểu dáng khung khái niệm.

(4)

Điền vào thông tin bị lỗi bằng những yêu cầu, thắc mắc có nghĩa.

(5)
3.2. Nạp từ và cụm từ vào công thức chuẩn.

Trước hết người phân tích câu phải kiểm tra để đảm bảo hiểu được các từ
được nạp vào. Những dữ liệu và cụm từ gốc có thể được thay thế bằng
những từ đồng nghĩa và những từ đơn có thể được thay thế bằng nhữnh cụm
từ đã được ấn định. (VD: "USA" thay thế cho The United State of America )
Nếu nạp một từ vào máy mà không được tìm thấy trong từ điển thì sửa lỗi
chính tả sẽ được hiển thị. Nếu dạng này mở được cửa từ điển đóng thì tiếp
tục nạp những phương thức được miêu tả ở mục [25]. Nếu tìm được một hay
nhiều thông tin thì một thông điệp hợp lý sẽ được hiển thị cho ngườic sử
dụng. Và nếu một trong số những thông tin đó thì nó sẽ chèn lên vị trí của từ
sai lỗi chính tả. Nếu không tìm thấy bất kỳ một từ đúng nào thì hệ thống sẽ
nạp vào một nội dung cần thiếtđể tiếp tục nạp nội dung của người sử dụng
vào từ điển. Người sử dụng có thể làm cho hệ thống lờ đi và tiếp tục hoạt
động.
VD1: Chúng tôi đưa ra câu hỏi: "Nói cho tôi chiếc máy bay nào bay với tốc
độ giữa 10 đến 20 tiếng trong tháng 1", thì người phân tích sẽ nhận ra ra
rằng "betwen" không có trong từ điển. Công cụ sửa lỗi chính tả phát hiện ra
từ "between" giống từ "betwen" nhất trong từ điển. Do đó nó sẽ phản hồi lại
thông điệp sau: (từ "betwen" là lỗi chính tả của từ "between") "yes" or "no".
Khi người sử dụng bấm "Yes" thì hệ thống sẽ thay đổi từ "betwen" thành
"between" và "flighthours" được thay bằng "flight hours" và "January" được
thay bằng "Jan". Do đó yêu cầu ban đầu bạn nạp vào là "Tell me which ones
logged betwen 10 and 20 flighthours in Jan" sẽ được thay bằng "Tell me
which ones logged between 10 and 20 flighthours in January".
3.3 Kết hợp các cụm từ.
Phần này và ngững phần tiếp theo sẽ là trọng tâm của quá trình biểu
diễn hiểu ngôn ngữ. Nó chính là phần giải quyết đại từ thay thế và phần tỉnh
lược và có quá trình nỗ lực của chương trình tổng quan cho hệ thống được
mở rộng. Quá trình này được các mạng cấp thấp giải trình.
________________________________________________________________________
- 13 -



Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

Mỗi một mạng cấp thấp là một người đóng vai trò phân tích cụm từ ATN
[31] mà kết hựp cụm từ với một nghĩa cụ thể.Có những mạng cấp thấp cho
mỗi ngữ nghĩa khác nhau trong thế giới của PLANES ví dụ: kiểu máy bay,
kiểu ngày, thời gian và kiểu duy trì chức năng, kiểu linh kiện máy bay…
Một số ví dụ của các cụm từ mà mạng cấp thấp cho kiểu máy bay sẽ gắn với
"A7", "Phantom" hoặc"Skyhawk" hoặc "ones" (một số kiểu máy bay được
thay thế bằng "ones"), "số hiệu máy bay A49732" và "chiếc máy nào bay
thuộc loại A7 đã bị đâm vào tháng 5" Hầu hết các "subnets" kết hợp với cụm
danh từ hoặc cụm giới từ. Cấu trúc của subnets dựa trên sự phân tích cụm từ
của Winograd [30]. Những định lượng (VD: "đầu tiên", "cuối cùng", "ơn
nữa", "lớn nhất"…) do subnet đặc dụng giải quyết cũng như những định
lượng (như những từ in nghiêng trong cụm từ "A7's which crashed in May")
Phần 8 cho biết subnet mà kết hợp các cụm từ ám chỉ số lượng.
Những subnets được nắp đặt vào các yêu cầu ngay sau đó. Khi một
subnet kết hợp với một cụm từ mà cụm từ đó lưu trữ đồng thời với thông tin
mà subnet gắn với nó, và sự lưu tâm của máy bay được chuyển sang phần
tiếp theo của yêu cầu. Cũng như một phần của cụm từ này "noise words" ám
chỉ cụm từ giống như "Please tell me", "can you tell me", "would you let me
know", "could you find"…
Ví dụ 2. Cho phép chúng tôi tiếp tục cho đến khi kết thúc ví dụ: Cung cấp dữ
liệu từng phần phù hợp với phần trước là: "Tell me which ones (fly past)
between 10 and 20 flighthours in January" Trong giai đoạn này, các từ "tell
me" đã được hiểu và câu đã được phân tích thành mẫu:
(*qword *nphrl *actl *quant-phrase * nphr2 *timepp)

Tại nơi bắt đầu các mẫu có giá trị dưới đây.
Thành phần
*qword

Giá trị
Which

*aphrl

(ones pronoun plural)

*actl

(fly past)

*quant-phrase

(>10,<20)

*nphr2

flighthours

*timepp

January

(*nphrl thay cho cụm danh từ, *qword thay cho từ để hỏi, *quant-phrase cho
số lượng câu hỏi và *timepp cho thời gian một kỳ).


________________________________________________________________________
- 14 -


Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

Trong việc kết hợp các mạng cấp thấp, hệ thống sử dụng một vài hướng dẫn:
Một trong những mạng kết hợp với một cụm từ, cố giữ cho phù hợp hơn với
chuỗi cung cấp dữ liệu sử dụng cho mạng giống như vậy. Như vậy nếu một
cụm từ có chứa giới từ đi cùng với một danh từ chính trong cụm danh từ,
PLANESS sẽ giả định trước rằng cụm từ có chứa giới từ là một chuỗi của
dang từ (Xem mục 4.1 để biết nhiều cách xử lý chi tiết hơn của cac chuẩn),
một cách tương tự bộ phận cung cấp dữ liệu thiếp theo có thể là một phần
của cụm danh từ ghép như là: "Phantom hoặc Skyhowks". Giới hạn mệnh đề
cũng được nhận thấy trong sử dụng kỹ thuật phân tích ngữ pháp đã được mô
tả trong phần 4.
3.4 Đăng ký ngữ cảnh.
Bất cứ khi nào mà hầu hết các mạng cấp thấp hợp với một cụm từ, họ sẽ
đẩy một giá trị vào trong một mẫu phù hợp với đăng ký ngữ cảnh. Có nhiều
mẫu phù hợp cho loại máy bay, ngày, số hiệu, loại phá huỷ… đăng ký ngữ
cảnh sử dụng cho đại từ thay thế và cách tỉnh lược, nếu một vài điều trong
yêu cầu bị bỏ quên, không định rõ hoặc bị lặp bởi các đại từ. Cũng có
những mẫu đăng ký ngữ cảnh đã được lưu trữ cho yêu cầu trước, đoạn trước
và câu hỏi trước, đăng ký ngữ cảnh đã được thực hiện như một ngăn nhớ,
đăng ký ngữ cảnh đã được đẩy xuống cùng với một cụm từ mới. Vì vậy
trong khi chúng ta không lập trình ứng dụng này PLANES đã có thể hiểu
được cách thu lại một phạm vi sớm hơn khi gửu người sử dụng câu lệnh như
"A while ago we were talking about Skyhawks" đơn giản bằng cách tìm lại

đăng ký ngữ cảnh cho đến khi nó tìm được giá trị loại máy bay cùng loại với
loại "Skyhawks" và khi đó lưu lại giá trị đăng ký ngữ cảnh hiện tại ở thời
điểm đó. Trong vài trường hợp các mạng cấp thấp có thể nhận ra loại của
một cụm từ, nhưng một vài thông tin có thể bị mất. Như 1 ví dụ "In
January" có thể được chấp nhận như một cụm từ chỉ chu kỳ, nhưng ngoài ra
một nghĩa đã chỉ rõ hệ thống sẽ không thể thực hiện được một tìm kiếm như
ví dụ khác, cụm từ "these planes" có thể được chấp nhận khi quy nó vào một
loại máy bay hay một nhóm máy bay, nhưng một cách chính xác thì chiếc
máy bay đã không được nêu ra trong câu hỏi. Trong trường hợp như vậy hệ
thống chọn ra giá trị bị mất từ bản ghi đăng ký ngữ cảnh trước, và điền vào
đăng ký ngữ cảnh hiện tại. sau đó khi lời giải thích câu hỏi được hồi đáp lại
một người sử dụng, anh ta có thể kiểm tra lại cả hai hoặc sửa đổi giá trị và
điền vào. Nếu phạm vi ngữ cảnh là trống rỗng, PLANES sẽ hỏi người sử
dụng để cung cấp những thông tin cần thiết như đã được minh hoạ trong
hình 4.
________________________________________________________________________
- 15 -


Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

Trong các trường hợp khác của sự nhắc đến đại từ hoặc hiện tượng tỉnh lược
(nghĩa thông tin bị mất được ngầm hiểu trong từng ngữ cảnh). Hệ thống
không thể dễ dàng quyết định được thông tin nào bị mất. Trong những
trường hợp đó hệ thống tra cứu concept case frames
3.5 Thiết lập truy vấn
Việc thiết lập truy vấn thực hiện tất cả các quyết định và tạo ra một
biểu thức tính toán quan hệ [6,7,10] được sử dụng để thi hành những tìm

kiếm cơ sở dữ liệu thực sự. Những quyết định (4), (5) và (6) có quan hệ trực
tiếp. (4) được quyết định bằng việc để ý bất kỳ hoạt động nào liên đới với
mỗi thành phần ngữ nghĩa; (5) được thực hiện bằng việc tra trong một bảng
mã; và (6) được thực hiện bằng một lược đồ ưu tiên (trừ khi một người sử
dụng đòi hỏi rõ ràng một mục cụ thể để sắp xếp).
Quyết định (1),(2) và (3) sẽ đáng quan tâm hơn và ta xem xét lần lượt sau
đây.
(1)

Điều chú ý đặc biệt là cách thức để cho mối quan hệ nào sẽ được lựa
chọn. Hệ thống xem xét mỗi thành phần ngữ nghĩa một cách độc lập và chú
ý những quan hệ có thể có liên quan. Một vài thành phần ( như kiểu plane và
date) thì không hữu ích cho xử lý này, từ khi nó xuất hiện trong tất cả các
quan hệ, nhưng những thứ khác ( như giờ bay hay giờ NOR ( Not
Operationally Ready) thì chỉ xuất hiện trong chỉ một hoặc hai quan hệ. Tất
cả các quan hệ có khả năng với mỗi nhóm thành phần của một mệnh đề sẽ
được giao nhau, và nếu chỉ một quan hệ được lựa chọn, thì cách thức của
việc lựa chọn là hoàn chỉnh với mệnh đề. Rồi sau đó những mệnh đề cứ thế
được xem xét từng đôi một.
Nếu có hơn một quan hệ hay một tập của các quan hệ vẫn giữ nguyên thì yêu cầu sẽ khó
hiểu, và hệ thống sử dụng một lược đồ ưu tiên để lọc ra một quan hệ để tìm kiếm. Như ví
dụ sau, nếu kết quả cho một yêu cầu có thể thu được từ cả những bản ghi thường ngày và
cả những tóm tắt hàng tháng thì PLANES sẽ chọn xem dữ liệu tóm tắt cho hiệu quả có
lợi rõ rệt.
Nếu không có quan hệ nào giữ nguyên tại mỗi bước giao nhau thì sẽ có hơn một quan hệ
được tìm kiếm để trả lời cho yêu cầu, và kết quả của những tìm kiếm này phải được liên
kết qua một phép toán quan hệ gọi là kết nối ( xây dựng một quan hệ đơn từ hai quan hệ
khác nhau). Ví dụ, yêu cầu “ Tìm tất cả các máy bay có sự bảo dưỡng (maintenance) máy
móc cùng ngày với một chuyến bay (flight)” sẽ đòi hỏi tìm kiếm các quan hệ
maintenance và flight, rồi kết nối những quan hệ này lại theo phạm vi ngày (date) và máy

bay (plane). Chính xác việc kết nối được thực hiện như thế nào sẽ được mô tả trong phần
4.

________________________________________________________________________
- 16 -


Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

(2)

để quyết định trường dữ liệu nào sẽ trả về một đáp án, hệ thống xem xét bản chất
(nature) của mỗi thành phần ngữ nghĩa.Thành phần ngữ nghĩa có thế là (bất biến)
constant (vd “plane 3”, “May 1,1973”, hay “ engine maintenance”) hoặc variables ( vd
“planes”, “maintenance” hay “flights”), hoặc set of constants (vd “between 10 and 20
flights”, “ATs”, “planes3 and 5” hay “les than 20 flighthours”). Việc tạo ra truy vấn sẽ
đặt tất cả các variables và set of constants vào câu trả lời.

(3)

Rồi cũng như thế, tất cả các constants và set of constants được trở về thành các
thuộc tính (predicates).
Ví dụ5: Trong ví dụ của chúng ta, thành phần ngữ nghĩa tham chiếu đến planetype, date
và flighthours. Planetype và date xuất hiện trong tất cả các quan hệ, nhưng flighthours chỉ
xuất hiện trong hai quan hệ, O(monthly summaies) và A( daily records). O(monthly
summaríes) được chọn bởi một lược đồ ưu tiên.
Việc tạo truy vấn chú ý rằng thành phần ngữ nghĩa “A7” tham chiếu đến một set of
constánt ( tất cả các số seri A7); “January 1973” là một constant (nó tham chiếu đến một

giá trị cụ thể của các trường cho month và year), và “flighthours, (>10,<20)” là một set of
constants.
Theo cách đó cả ba thành phần ngữ nghĩa được sử dụng để tạo ra các thuộc tính (xem sau
đây), và các số seri A7 và số của flighthours được định ra là các mục cấu thành nên câu
trả lời cho yêu cầu.
Việc tạo truy vấn liên kết tất cả các thông tin trong một khuôn mẫu chuẩn:
(FIND

(quantifier)
(variables, relations)
(answer form)
(predicates)
(sort order))

Kết quả là biểu thức ngôn ngữ truy vấn (phép tính quan hệ)
(FIND ‘ALL
‘((V O))
‘((V BUSER)(V TOTHRS))
‘(AND (EQU(V ACTDATEYR)3.)
(EQU(V ACTIDATEMON)1.)
(EQU(V PLANETYPE) A7.)
(LT(V TOTHRS)20.)
(GT(V TOTHRS)10.))
(BUSER UP)
Ý nghĩa của biểu thức này là: “FIND ‘ALL” nghĩa là tất cả các mục tiêu chuẩn thoả mãn
sau đó sẽ được tìm kiếm đến. Trái lại “FIND ‘ONE” sẽ trả lại ngay khi bất kỳ mục nào
________________________________________________________________________
- 17 -



Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

thoả mãn phần còn lại của biểu thức truy vấn. Mặc dù vậy những form khác vẫn có khả
năng. (2) V là tên một biến; (3) O chỉ rõ mối quan hệ O lần lượt liên đới với các file cơ sở
dữ liệu trong đó lưu trữ tóm tắt các dữ liệu chuyến bay hàng tháng.. (4) ‘((V BUSER) (V
TOTHRS) chỉ rõ cái gì sẽ được trả về như là đầu ra, trong trường hợp này một bảng với
các cột cho BUSER (BUreau SERial number- số để nhận diện một máy bay) và cho
TOTHRS, tổng số giờ bay cho máy bay đó. (5) dòng thứ năm bắt đầu với ‘(AND... chỉ rõ
những thuộc tính phải có giá trị true của mỗi mục nhập được trả về cho bảng trả lời, ấy là
năm phải là 3. (1973), tháng phải la 1. (january), loại máy bay phải là A7, và tổng số giờ
bay (được đưa ra trong trường TOTHRS) phải nhỏ hơn 20 nhưng lớn hơn 10. (6)
‘(BUSER UP) nghĩa là bảng đầu ra được sắp đặt bằng số BUSER (seri), số seri nhỏ nhất
đầu tiên và số seri lớn nhất cuối cùng.

3.6 Việc thiết lập diễn giải
Một phần quan trọng với hoạt động củahệ thống là việc cho phép một người sử dụng
kiểm tra lại xem liệu hệ thống có hiểu chính xác yêu cầu của anh ta hay không. Để phục
vụ cho mục đích này, hệ thống phản hồi lại sự hiểu của nó về lời yêu cầu, với việc tham
chiếu đại từ và sự phân tích tỉnh lược, cho sự chấp thuận của người dùng. Diễn giải được
xây dựng một cách tường minh từ truy vấn hình thức này.
Việc xây dựng bao gồm (1) việc thay thế các từ tiếng anh cho ngắn gọn, mã hoá các
khoản mục, phức hợp các cấu trúc câu ...(2) việc chọn một mẫu diễn giải phù hợp hơn cả,
(3) việc thay thế các từ và cụm từ trong các vị trí mẫu. Chúng ta không thể trình bày chi
tiết các quá trình này ở đây.
VD6 đưa ra truy vấn hình thức từ vd5, thiết lập diễn giải xây dựng diễn giải sau đây:
PLANES searches the MONTHLY FLIGHT AND MAINTENANCE SUMMARIES and
retunrs: The value for SERIAL, // and HOW MANFUNCTIONED codes for A7 aircraft
during January 1973 satisfying TOTAL FLIGHT HOURS <20 and TOTAL FLIGHT

HOURS >10. Should I evaluate the query”
Type y or n.
Giả sử rằng người sử dụng có ý định thực sự rằng quãng thời gian phải là January 1974,
anh ta có thể dễ dàng thay đổi truy vấn bằng cách gõ “n” và khi PLANES hiển thị ra:
Please enter your question...
người dùng đơn giản chỉ gõ “1974”; cơ cấu tỉnh lược của PLANES lặp lại câu hỏi với
năm 1974. Tương tự “A7 và F4” sẽ sửa đổi truy vấn để bao trùm cả hai loại máy bay.

3.7 Thực hiện biểu thức truy vấn trên cơ sở dữ liệu quan hệ
Trong mô hình quan hệ [5,10], dữ liệu được nhìn thấy khi đang bị phân chia trong các
quan hệ tương ứng một cách thô thiển với những file không phân cấp hay * của những
file trong thuật ngữ cơ sở dữ liệu truyền thống. Mỗi quan hệ chứa đựng một tập hợp các
tuple tương ứng với các bản ghi; mỗi tuple bao gồm một hay nhiều thuộc tính hoặc

________________________________________________________________________
- 18 -


Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

trường. Một quan hệ có thể nghĩ đến thường tình như một bảng, với mỗi dòng là một
tuple và mỗi cột là một thuộc tính.
Để phục vụ mục đích của chúng ta cách tiếp cận quan hệ có hai thuận lợi quan trọng: (1)
Tiếp cận quan hệ buộc các dữ liệu độc lập. Điều này nghĩa là người sử dụng và những
chương trình kết thúc từ trước được tách ra hiệu quả từ những tổ chức cơ sở dữ liệu thực
sự. Chúng ta bây giờ đang làm việc chỉ với một tập con của toàn bộ cơ sở dữ liệu 3-M;
nếu ta đã từng sử dụng trước đây với toàn bộ cơ sở dữ liệu 3-M, những chương trình truy
cập dữ liệu sẽ bị sửa đổi, nhưng, việc sử dụng mô hình quan hệ, những thay đổi này

không cần tác động đến “mô hình dữ liệu” bởi người dùng và ngôn ngữ tự nhiên trước
đây. (2) Cơ sở dữ liệu 3_M đã được tổ chức trong một tabular form, và do đó nó phù hợp
lý tưởng với một mô hình dữ liệu quan hệ.
Trong phần 3.5 ta đã chỉ ra việc sắp xếp của các biểu thức được tạo ra bởi bộ chuyển đổi.
Biểu thức này được đưa ra trong ngôn ngữ con dữ liệu Alpha [6], được sử dụng trong
Lisp bởi Green [13]. Biểu thức này được dùng bởi hệ thống cơ sở dữ liệu quan hệ để xây
dựng chương trình thực sự để truy lục dữ liệu. Để xây dựng chương trình tìm kiếm, hệ
thống phải: (1) chọn các file để tìm kiếm; (2) chọn một thứ tự để tìm kiếm những file
này; (3) tạo ra một biểu thức để kiểm tra và chọn lựa giá trị tuple để trả về khi tìm kiếm;
(4) thiết lập một chương trình để liên kết dữ liệu, có thể từ một số các quan hệ khác nhau,
nhờ thế giải đáp đúng đắn nhất sẽ được trả về.; (5) quyết định xem khi nào thì lưu trữ kết
quả của một tìm kiếm để sử dụng cho sau này. Điều này rất quan trọng trong việc truy
vấn tương tác, bởi vì những kết quả đáng chú ý có thể gợi lên những truy vấn tiếp theo từ
người dùng, và những truy vấn này có thể thích hợp để tham chiếu các tuple đúng truy
lục.
Cơ sở dữ liệu của chúng ta được tổ chức một cách vật lý trong các file, nơi mà mỗi file
chứa đựng một kiểu dữ liệu (vd flight data, failed parts, install parts...) cho chỉ một máy
bay trong một khoảng thời gian trong năm. Mỗi file cũng chứa những thông tin thống kê
(bao gồm số các giá trị duy nhất của một vùng, phạm vi cácgiá trị cho một vùng được
đánh số, và số các tuple trong một file) được sử dụng trong việc lập kế hoạch thứ tự để
tìm kiếm file (bước (2) ở trên). Tiếp tục ví dụ của chúng ta sẽ làm sáng tỏ hoạt động của
phần này.
VD7.Bằng việc xem xét biểu thức đưa ra trong vd5, chương trình thực hiện trước hết tìm
ra những file sẽ được tìm kiếm. Trong trường hợp này hệ thống sẽ chọn những file dữ
liệu flight cho tất cả những cái thuộc A7 trong năm 1973. Chúng được chọn bởi việc chú
ý rằng chỉ có quan hệ O( flight data summary) là được chọn, chỉ có dữ liệu trong
PLANETYPE bằng với A7 được trả về, và chỉ ACTDATEYR 3 (1973) được xem xét. Hệ
thống để ý rằng tất cả các file thuộc cùng một quan hệ, vì thứ tự tìm kiếm không quan
trọng, do vậy không một kết quả trung gian nào cần được thiết lập và liên kết. Do đó nó
hoàn toàn bảo đảm rằng những file được gọi ra sẽ chỉ chứa dữ liệu về A7 trong năm

1973, chương trình đơn giản hoá phần thuộc tính của những truy vấn được sử dụng để
kiểm tra mỗi tuple xem liệu nó có là một “hit” hay không:
( AND (EQU (V ACTDATEMON)1.)
(LT( V TOTHRS)20.)
(GT (V TOTHRS)10.))
________________________________________________________________________
- 19 -


Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

Vì thế nó chỉ trả về một danh sách, và các file hoàn toàn chứa các tóm tắt của giờ bay
(flight hours) theo tháng, form dữ liệu được trả về cũng hết sức đơn giản, yêu cầu không
có phép toán số học (mỗi “hit” đơn thuần chỉ liệt kê)

3.8

Việc thiết lập câu trả lời
Mỗi lần dữ liệu được gọi ra, kết quả được chuyển đến module đầu ra để quyết định chọn
một dạng hiển thị phù hợp cho dữ liệu. Nếu có thể, nó cố gắng tạo ra một sơ đ ồ.

Nếu không sử dụng được biểu đồ thì hệ thống sẽ đưa ra một danh sách hay
một bảng. Nếu có quá nhiều dữ liệu hiển thị trên màn hình, kết quả sẽ tự
động đưa ra máy in.
Ví dụ 8: Giả định rằng chỉ rất ít máy bay bay trong khoảng từ 10 đến 20
tiếng trong tháng 1 năm 1973. Đầu ra biểu đồ sẽ là:
BUSER


TOTHER
11
18
14
14

Một số lượng lớn hơn các kết quả được hiển thị trên biểu đồ như hình vẽ
sau:
20
18
16

*

*

*

*

*

*

*

*

*


*

*

*

*

*

*

*

*

*

*

*

*

*

*

*


*

*

*

*

*

*

*

*

*

*

*

*

*

*

*


*

10 *

*

*

*

*

*

76

81

82

83

14
12

67 68

*

*


*

*

*

90

96

97

________________________________________________________________________
- 20 -


Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

nếu 40 mục hay nhiều hơn quay trở lại (những dữ liệu hiện nay của chúng ta
không có trường hợp này vì chúng ta chỉ có dữ liệu 37A's) kết quả sẽ tự
động đưa ra bởi máy in. Phương pháp tự chọn đầu ra có thể dẽ dàng được sử
dụng để tạo ra bất kỳ một cấu tạo đầu ra nào.

4.0 Embedded Clausse, Comparative, and Multiple Relation
Searches.
Những ví dụ ở phần trên đặc biệt đơn giản. Ở phần này chúng ta sẽ
giải quyết 3 vấn đề nảy sinh thường xuyên trong thế giới PLANES. Đó là (1)

yêu cầu với những cụm từ hạn định (2) so sánh (3) yêu cầu đòi hỏi thông tin
có hơn một mối quan hệ.
Những cụm từ hạn định (xem winograd [30]) tạo ra một mệnh đề phụ thuộc
thông dụng nhất. Ví dụ về cụm từ này là phần in nghiêng của "planes which
crached in May"_"Nững chiếc máy bay bị tai nạn trong tháng 5"
"maintenances performed on A7's"_"những sự duy trì tạo ra A7's" và "planes
with poor maintenances record". Những cụm từ điều kiện thường đi sau
danh từ chính trong cụm danh từ và thường được xác định bởi một đại từ
quan hệ như "which, that" hoặc một cấu trúc động từ kết thúc bởi "ed" và
"ing". Cụm giới từ cũng có thể là một cụm từ hạn định. Từ hạn định có thể
được tìm thấy bằng cách sử dụng nó (2) ở một vị trí của yêu cầu theo sau
một danh từ chính trong cụm danh từ. nếu một số lượng cụm từ hoặc mệnh
đề được trình bày, Các hành động được trình bày đưới đây:
(1) Một "heuristic parser" (xem phần sau) được sử dụng để xác định 1 từ hạn
định (bổ ngữ) tồn tại và tìm những thành phần xung quanh nó. Vì thế, khác
với tất cả các câu trong PLANES, từ hạn định phải có ý nghĩa ngữ pháp ít
nhất ở một mức độ.
(2) Nếu một từ hạn định được xác định là tồn tại, quá trình bị ngừng ở mệnh đề
hiện tại và những giá trị biểu thị bối cnahr hiện tại sẽ không còn.
(3) Danh từ chính bên ngoài cụm từ hạn định được thay thế bởi một đại từ quan
hệ (ìf any) hoặc được lồng vào như một bộ phận của cụm từ hạn định.
(4) Cụm từ hay mệnh đề hạn định được xử lý giống như một yêu cầu thông
thường với danh từ chính của mệnh đề trên đóng vai trò như 1 mục yêu cầu.
lưu ý rằng dạng của động từ có thể thay đổi gốc kết hợp với một biến tố, vì
thế dạng động từ chính xác không ảnh hưởng đến quá trình này. Giới từ
cũng như động từ có thể biểu thị một dạng trường hợp chắc chắn, vì vậy ví
________________________________________________________________________
- 21 -



Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

dụ như "planes with poor maintenances record" có nghĩa với cụm "planes
with poor having maintenance records".
(5) Câu hỏi tương ứng với từ hạn định phải được hoà nhập với câu hỏi tương
ứng với mệnh đề xung quanh nó để tạo nên một câu hỏi tổng hợp. Nghĩa ban
đầu của từ những hạn định được cho rằng câu hỏi hạn định nên được đánh
giá dựa trên dữ kiệu trước và kết quả đó sẽ được sử dụng sau đó để giải
quyết việc nghiên cứu những mệnh đề khác. Hệ thống của chúng ta ước tính
mức lưu trữ tạm thời mà mỗi câu hỏi yêu cầu và chonj câu hỏi với yêu cầu
thấp nhất nhằm tìm kiếm trước tiên để tăng cường tính hiệu quả của hệ
thống. Những ước tính lưu trữ được tạo ra dựa trên cơ sở của thông tin thống
kê được lưu trữ trong từng file. Cấu tạo câu hỏi được thảo luận rõ hơn trong
(13) và (28). So sánh, ví dụ "Did plane 3 have more flight hours in April
than May?" (ó phải chiếc máy bay số 3 có nhiều giờ bay vào tháng tư hơn
tháng 5 không ?). Câu này được vận dụng theo cách thức chính xác như từ
hạn định yêu cầu chứa đựng sự so sánh được phân tách ra làm 2 câu hỏi đơn
giản, được đánh giá tách biệt. Điều khác biệt duy nhất là moot câu hỏi được
đánh giá trước và kết quả của nó được sử dụng để cấu tạo nên câu hỏi 2. Do
đó, về những yêu cầu, ví dụ PLANES trước tiên sẽ tìm số giờ bay của máy
bay số 3 trong tháng 4 (48) va sau đó tạo ra câu hỏi 2 "Did plane have > 48
flight hours in May" (có phải máy bay số 3 có hơn 48 giờ bay trong tháng 5
phải không?)
Một ví dụ có thể giúp làm sáng tỏ cả quá trình ngôn ngữ của từ hạn định và
việc vận dụng câu hỏi ở những chỗ có hơn một mối quan hệ.
Ví dụ 9: Xem xét câu "Did any A7's which had engine damage in May have
10 or fewer flight hours in June" (có phải A7's , máy bay có máy bị hỏng
trong tháng 5 có 10 hoặc ít giờ bay hơn tháng 6). Giả định rằng năm 1973 có

thể thấy ở bối cảnh đối thoại hệ thông tiếp tục bình thường cho đến khi từ
A7's được tìm thấy như một danh từ chính của cụm danh từ "any A7's …"
Sau đó hệ thống kiểm tra cụm từ hạn định có thể từ "which" đi sau "A7's" là
một dấu hiệu chắc chắn của cụm từ hạn định :"The heristic parser" tìm thấy
một mệnh đề hạn định hoàn chỉnh là "which had engine maintenance in
May". Tạo ra cơ sở dữ liệu hỏi cho câu hỏi "Which A7's has engine damage
in May?" Câu hỏi đơn giản này được đưa ra ở PLANES nhiều lần, và có thể
được xử lý dễ dàng bởi hệ thống đã được thảo luận ở mục 3 trước đó, chỉ ra
những diễn giải câu hỏi trong số liệu 8(a). Tương tự như vậy, mệnh đề ngoài
"Did any A7's have 10 or fewer flight hours in June?" không có vấn đề gì, và
đưa ra một câu hỏi trong hình 8(b). Hai câu hỏi này sau đó kết hợp với nhau
bằng cách lưu ý rằng từ "A7's" phải thể hiện cùng một sự tồn tại ở cả mệnh
đề trong và ngoài. Vì vậy, hai câu hỏi có thể kết hợp với nhau với một điều
________________________________________________________________________
- 22 -


Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

kiện thêm là những số Buser ở mỗi câu hỏi phải bình đẳng với nhaunhw đã
được chỉ ra trong hình 8(c). Sự biểu đạt này sau đó có thể hoạt động bởi việc
tối ưu cách chọn hoặc quan hệ M hoặc quan hệ O để tìm kiếm trước dựa trên
số liệu của file.
Hình 8(a). Câu hỏi tương ứng "Which A7 aircraft had engine damage in
May in 1973" HOWMAI thay thế cho "How Malfunctioned Code:" "M" cho
thấy cụ thể rằng có thể tìm thấy quan hệ duy trì so sánh với phần thảo luận ở
mục 3, ví dụ 5.
(FIND' ALL

'((V1 M))
((VI BUSER))
'(AND(EQU(VI ACTDATEYR)3)
(EQU(VI ACTDATEYMO)5)
(EQU(VI PLANESTYPE)'A7)
(EQU(VI HOWMAL)62)))
Hình 8(b)./ Câu hỏi "Did A7 aicraft have 10 or fewer flight hours in June in
1973?" so sánh với mục 3- ví dụ 5
(FIND' ALL
'((V2 O))
((V2 BUSER)(V2 TOTHRS))
'(AND'(EQU(V2 ACTDATEYR)3)
(EQU(V2 ACTDATEYMO)6)
(EQU(V2 PLANESTYPE)'A7)
(EQU(V2 HOWMAL)10)))
Sơ đồ 8(c). Câu hỏi là kết quả kết hợp 2 câu hỏi 8a và 8b với yêu cầu thêm
là câu trả lời phải đưa ra danh sách máy bay thảo mãn cả hai yêu cầu.
(FIND' ALL
'((V1 M)(V2 O))
'((V2 BUSER)(V2 TOTHRS))
'(AND'(EQU(V2 ACTDATEYR)3)
(EQU(V2 ACTDATEYMO)6)
________________________________________________________________________
- 23 -


Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK


(EQU(V2 PLANESTYPE)'A7)
(EQU(V2 HOWMAL)10)))
(EQU(VI ACTDATEYR)3)
(EQU(VI ACTDATEYMO)5)
(EQU(VI PLANESTYPE)'A7)
(EQU(VI HOWMAL)62)))
(EQU(V1 BUSER)(V2 BUSER))))
Công việc chính của phân tích từ loại để tìm ra là tập hợp các mệnh đề quan
hệ vì thế yêu cầu sẽ được chia nhỏ thành các câu hỏi đơn giản không có
mệnh đề gắn vào. Bên trái của mệnh đề gắn vào đã thực sự được biết- nó
đứng trước danh từ chính trong mệnh đề ngoài - vấn đề là phải tìm phần bên
phải. (danh từ chính bị chia tách bởi mệnh đề trong và ngoài).
Sự phân tích từ loại biết một số mẫu thông thường của mệnh đề và kết hợp
chúng với câu yêu cầu một cách đơn giản. Hai trong số những mẫu này cho
việc tìm kiếm mệnh đề phải là:
Which
that

[p5] 

} + VP + (anything exeept VP)

+ right boundary + VP end of sentence
[p6] { With } + NP + right boundary + VP end of sentence
[P5] cho phép hệ thống để dấu ngoặc vuông như sau: "Did any [A7's which
had engine damage in May] have 10 or fewer flight hours in June" Lưu ý
rằng một yêu cầu có thể cần tìm kiếm hơn một mối quan hệ thậm chí cả khi
không có mệnh hạn đinh hay phụ thuộc như câu sau:"Did any planes have a
flight on the same day as an engine maintenance?" Trong trường hợp này
quan hệ của từ "flight" và quan hệ của từ "maintennce" phải được tìm thấy

và kết quả được kết hợp giữa giá trị ngày tháng và máy bay. Nhu cầu cho
việc tìm kiếm đa quan hệ được rút ra khi không có quan hệ đơn nào bao gồm
cả thành phần ngữ nghĩa.

5.0. Thảo luận:
________________________________________________________________________
- 24 -


Đồ án Nhập môn CSDL

TIN2-K44-ĐHBK

Có một vài kết luận lỏng lẻo (không chính xác cần được giải quyết để
đưa ra 1 bức tranh toàn vẹn hơn về lĩnh vực chúng ta nghiên cứu).
5.1. Xem lướt qua, câu hỏi phức tạp và mơ hồ.
Bài này chỉ mô tả công việc liên quan đến những câu hỏi đơn giản, không
còn sự giải thích. Chúng ta cũng quan tâm đến câu trả lời mơ hồ và câu hỏi
phức hợp. Những câu hỏi này có quan hệ kín đáo với chương trình
Browsing. Ví dụ như chương trình tìm kiếm tự động sự kết nối "interestig"
và mô hình trong dữ liệu đưa ra một số lượng lớn thời gian ưowcs tính (như
một bối cảnh hay công việc ngoài giờ) và mở rộng hướng dẫn về những vấn
đề quan tâm nhất. Những ví dụ của loại câu hỏi khó mà chúng ta đề cập đến
là "Which plane had the worst maintenance record? Is there anything
unusual about the history of plane 67? Do planes 67 and 117 have any
common factors? Are any A7's hangar queens?"
Để xử lý những câu hỏi này, chúng tôi đã xây dựng một số những chức năng
đặc biệt, chuyên gia trong các lĩnh vực chuyên sâu như mô tả tài liệu lưu trữ
hay lịch sử so sánh. Những chức năng chuyên sâu này đã chuyên môn hoá
sự hiểu biết về tầm quan trọng có liên quan đến mục dữ liệu, vè những giải

thích thay thế của "gooodness" của các tài liệu (ví dụ. giá thấp, giờ công,
thời gian chết của máy, tỉ số thời gian bay và thời gian chết của máy) cũng
như về phương pháp xem xét những nhân tố này như tầm quan trọng của số
liệu.
Các móc nối đã cung cấp cho các phần xử lý ngôn ngữ của PLANES gắn
liền với những chức năng mục đích đặc biệt đưa chúng trở thành có giá trị.
5.2. Mối quan hệ với nghiên cứu khác.
Trong vài năm qua, các ngành nói chung như trả lời thắc mắc về ngôn
ngữ nhiên, cơ sở dữ liệu liên quan và dữ liệu đầu cuối đã thu hút nhiều sự
quan tâm của khoa học. Một số hệ thống hoàn chỉnh đã được phát triển. Và
mục đích của chúng tôi không phải là chỉ đề cập đến chúng mà còn tranh
luận về những dự án mà xét về tầm quan trọng hoặc ảnh hưởng của chúng
tới sự phát triển của PLANES. Tuy nhiên, mục đích này không có ý định
đưa ra toàn cảnh về lĩnh vực nhưng nó cũng có giá trị.
(1) LSNLIS (hệ thống thông tin về ngôn ngữ tự nhiên giành cho khoa học Mặt
Trăng) của Wood là một hệ thống nhằm trả lời những thắc mắc về phân tích
hoá học của các mẫu đá ở mặt Trăng. Cả PLANES và LSNLIS đều sử dụng
________________________________________________________________________
- 25 -


×