Thời gian gần đây, có rất nhiều chương trình tổng hợp tiếng nói sử dụng nhiều phương pháp khác nhau, với mục đích nghiên cứu, tìm hiểu nhằm nắm rõ hơn về vấn đề này, tôi quyết định chọn
Trang 1MỤC LỤC
MỤC LỤC 3
MỞ ĐẦU 4
Chương 1 TỔNG QUAN VỀ TEXT TO SPEECH 5
1.1 Lịch sử về tổng hợp tiếng nói 5
1.2 Cấu trúc âm thanh trong tiếng Việt 7
1.2.1 Các khái niệm 7
1.2.2 Các đặc tính cơ bản của tiếng Việt 7
1.2.3 Hệ thống ngữ âm tiếng Việt 8
1.3 Đặc trưng âm tố 10
1.3.1 Ðặc trưng vật lí 10
1.3.2 Ðặc trưng sinh lí 11
1.3.3 Ðặc trưng xã hội 13
1.4 Các phương pháp tổng hợp tiếng nói 14
1.4.1 Phương pháp tổng hợp trực tiếp 15
1.4.2 Phương pháp tổng hợp Formant 19
1.4.2 Các phương pháp tổng hợp khác 22
Chương 2 TỔNG QUAN VỀ HỆ CHUYÊN GIA 24
2.1 Các khái niệm về hệ chuyên gia 24
2.2 Cấu trúc một hệ chuyên gia 25
2.2.1 Cơ sở tri thức 26
2.2.2 Bộ nhớ làm việc 26
2.2.3 Mô tơ suy luận 26
2.2.4 Phương tiện giải thích 27
2.2.5 Giao diện 27
2.3 Xây dựng hệ chuyên gia 28
2.4 Tri thức và cách thể hiện tri thức 30
2.4.1 Các dạng tri thức 31
2.4.2 Kỹ thuật thể hiện tri thức 32
2.5 Những ứng dụng của hệ chuyên gia 43
Chương 3 PHÂN TÍCH VÀ THIẾT KẾ BÀI TOÁN 44
3.1 Giới thiệu bài toán 44
3.2 Kỹ thuật đề xuất 45
3.3 Thiết kế chương trình 46
Chương 4 XÂY DỰNG CHƯƠNG TRÌNH 51
KẾT LUẬN 55
TÀI LIỆU THAM KHẢO 57
PHỤ LỤC 58
Trang 2MỞ ĐẦU
Trong quá trình toàn cầu hoá thế giới hiện nay, mọi rào cản về khoảng cách địa lý, khác biệt văn hoá dần bị xoá bỏ Trong cuốn: “Thế giới phẳng” của Thomas L Friedman có đề cập tới nhân tố quan trọng, đó là sự phát triển bùng
nổ của ngành công nghệ thông tin Tuy nhiên mọi sự tiến bộ của khoa học và công nghệ đều nhằm vào mục đích phục vụ cho đời sống con người ngày một thoải mái và tiện nghi hơn, ngành công nghệ thông tin cũng không nằm ngoài mục tiêu này
Và như chúng ta đã biết, hình ảnh và âm thanh luôn dễ nhớ và dễ hiểu hơn chữ viết, và bất cứ hình thức thể hiện nào khác Với ý tưởng như vậy, chương trình tổng hợp tiếng nói được xây dựng để mọi người có thể tiếp nhận thông tin một cách nhanh chóng và dễ dàng hơn Công nghệ Ngôn ngữ (hay Xử lý ngôn ngữ tự nhiên) là một trong những lĩnh vực mới của công nghệ thông tin (với lịch
sử phát triển chỉ khoảng 50 năm) được quan tâm nghiên cứu trên phạm vi toàn thế giới Một số nội dung chính của Công nghệ Ngôn ngữ: Dịch tự động ngôn ngữ tự nhiên, Nhận dạng ký tự (chữ viết tay và chữ in), Nhận dạng và tổng hợp tiếng nói (công nghệ tiếng nói), tìm kiếm văn bản toàn văn, Hiểu ngôn ngữ, khai phá dữ liệu văn bản, tóm tắt nội dung văn bản
Thời gian gần đây, có rất nhiều chương trình tổng hợp tiếng nói sử dụng nhiều phương pháp khác nhau, với mục đích nghiên cứu, tìm hiểu nhằm nắm rõ
hơn về vấn đề này, tôi quyết định chọn đề tài: ”Ứng dụng hệ chuyên gia trong xây dựng chương trình đọc văn bản tiếng Việt có ngữ điệu” Đây là một đề tài
tương đối khó, bởi vì nó liên quan đến cả lĩnh vực Hệ chuyên gia và thu thập tri thức.Tuy đã có cố gắng rất nhiều trong thời gian thực hiện, nhưng không sao tránh khỏi sai sót, tôi rất mong có sự góp ý của của các thày cô và bạn bè
Trang 3Chương 1 TỔNG QUAN VỀ TEXT TO SPEECH
Tổng hợp giọng nói là việc tạo ra giọng nói của người từ đầu vào là văn bản hay các mã hóa việc phát âm Hệ thống thực hiện việc này còn gọi là máy tổng hợp giọng nói, có thể là hệ thống phần mềm hoặc phần cứng Hệ thống này còn
được gọi là văn bản-sang-tiếng nói (text-to-speech, TTS); tuy rằng không phải hệ
thống tổng hợp giọng nói nào cũng có đầu vào là văn bản (nhiều hệ thống thu nhận mã hóa cách phát âm, ví dụ mã IPA, như đầu vào) Các hệ thống này có nhiều ứng dụng Ví dụ như hệ thống này có thể giúp người khiếm thị nghe được máy đọc ra văn bản; đặc biệt là các văn bản có thể xử lý trên máy tính Hệ thống như vậy có thể lắp đặt trong phần mềm xử lý văn bản hay trình duyệt mạng
1.1 Lịch sử về tổng hợp tiếng nói
Từ lâu trước khi kỹ thuật xử lý tín hiệu bằng thiết bị điện tử hiện đại ra đời, các nhà nghiên cứu giọng nói đã cố gắng xây dựng các máy móc bắt chước giọng nói của người Các ví dụ đầu tiên của các máy này được chế tạo bởi Gerbert ở Aurillac (1003), Albertus Magnus (1198–1280), và Roger Bacon (1214–1294) Năm 1779, nhà khoa học người Đan Mạch Christian Kratzenstein, lúc đó làm việc tại Viện Hàn lâm Khoa học Nga, xây dựng một mô hình có thể bắt chước giọng nói người với năm nguyên âm ([a], [e], [I], [o] và [u]) Máy này sau
đó được cải tiến thành 'Máy Phát âm Cơ khí-Âm học' của Wolfgang von Kempelen ở Wien, Áo, được mô tả trong bài báo năm 1791 mang tựa đề
Mechanismus der menschlichen Sprache nebst der Beschreibung seiner sprechenden Maschine (“phương pháp tạo giọng nói và mô tả máy thực hiện việc
này”, J B Degen, Wien) Máy này tạo ra mô hình của lưỡi và môi, cho phép tạo
ra phụ âm thêm vào cho nguyên âm Năm 1837 Charles Wheatstone tạo ra 'máy nói' dựa trên thiết kế của von Kempelen, và đến năm 1857 M Faber chế tạo máy 'Euphonia' Máy của Wheatstone lại được cải tiến năm 1923 bởi Paget
Những năm 1930, Phòng thí nghiệm Bell tạo ra máy VOCODER, một máy phân tích và tổng hợp giọng nói điều khiển bằng bàn phím, được mô tả là phát
Trang 4âm rõ ràng Homer Dudley cải tiến cỗ máy này thành VODER, và trưng bày nó tại Triển lãm Thế giới New York 1939
Các máy tổng hợp giọng nói bằng kỹ thuật điện tử, trong giai đoạn này, có giọng nói không tự nhiên và khó nghe Tuy nhiên, chất lượng tổng hợp giọng nói ngày càng được cải tiến, cho đến ngày nay giọng phát âm của nhiều hệ thống có chất lượng tương đương giọng nói của người thật
Các hệ thống tổng hợp giọng nói đầu tiên được tạo ra vào những năm 1950
và hệ thống hoàn chỉnh đầu tiên ra đời vào năm 1968
Năm 1961, nhà vật lý học John Larry Kelly, Jr dùng máy tính IBM 704 để tổng hợp giọng nói, đây là sự kiện đáng nhớ trong lịch sử của phòng thí nghiệm
Bell Máy ghi âm và tổng hợp giọng nói của Kelly tạo ra bài hát Daisy Bell, với
âm nhạc phụ họa bởi Max Mathews Vào lúc trình diễn, Arthur C Clarke đang thăm bạn và đồng nghiệp John Pierce ở khu thí nghiệm Bell ở Murray Hill Clarke đã bị ấn tượng mạnh bởi trình diễn của máy phát âm và đã dùng hình ảnh
này trong tiểu thuyết và kịch bản phim của ông 2001: A Space Odyssey, trong đó máy tính HAL 9000 hát cùng bài hát khi nó sắp bị nhà du hành vũ trụ Dave
Bowman đặt vào trạng thái ngủ
Công nghệ tổng hợp giọng nói đã tiến hóa nhanh kể từ đó Hiện nay có hàng trăm hệ thống tổng hợp giọng nói, thương mại cũng như tự do
Tuy đã đạt được thành tựu trong tổng hợp giọng nói bằng kỹ thuật điện tử, các nghiên cứu vẫn đang được tiến hành để tạo ra bộ tổng hợp giọng nói cơ học,
mô phỏng thanh quản của người, dùng trong robot dạng người Các bộ tổng hợp giọng nói điện tử bị giới hạn bởi chất lượng của loa, bộ phận cuối cùng tạo ra âm thanh, dù tín hiệu điện tử có hoàn hảo Có hy vọng rằng bộ thanh quản cơ khí có thể tạo ra giọng nói chuẩn hơn loa thông thường
Tại Việt Nam, công việc nghiên cứu xử lý tiếng nói tiếng Việt (hiện thời trọng tâm là tổng hợp tiếng Việt) được bắt đầu tại Phòng Công nghệ Phần mềm
từ năm 1998 và đến nay đã xây dựng được hệ TTS tiếng Việt dựa trên tiếng nói được tổng hợp bằng luật VNSPEECH Thời kỳ đầu đã thử nghiệm phương pháp
Tổng hợp tiếng nói bằng ghép nối Ý tưởng chính của phương pháp là ghi âm
chính tiếng nói con người và sau đó phát lại Ưu điểm của phương pháp là ban đầu dễ triển khai, tiếng nói tạo ra chính là tiếng người Tuy nhiên, phương pháp
Trang 5có hạn chế là dữ liệu lớn, chi phí tốn kém khi thêm giọng nói và các tham số đặc trưng chỉ có thể điều khiển hạn chế Từ năm 2000 bắt đầu chuyển sang phương
pháp Tổng hợp tiếng nói bằng luật dựa trên cơ sở tìm hiểu bản chất, các đặc
trưng của tiếng nói, và quy luật để tạo tiếng nói con người Phương pháp tổng hợp được gọi là tổng hợp formant, có ưu điểm là kích thước toàn hệ thống rất nhỏ gọn vì không yêu cầu dữ liệu mà chỉ gồm các quy tắc, mọi tham số tiếng nói
có thể điều khiển dễ dàng, không giới hạn, thuận tiện khi cần tạo thêm giọng
mới Tuy nhiên, “thử và sai” là quá trình lâu dài để hoàn thiện chất lượng tiếng
nói Vnspeech là phần mềm đầu tiên tại Việt Nam có thể tổng hợp được tiếng Việt bằng các luật từ các thành phần đặc trưng của ngữ âm tiếng Việt, tự động
đọc không hạn chế văn bản tiếng Việt
1.2 Cấu trúc âm thanh trong tiếng Việt
Theo như chúng ta đã tìm hiểu ở những lần thực tập trước, sau đây tôi sẽ chỉ nêu lại một số vấn đề cơ bản cần quan tâm nhất trong cấu trúc ngữ âm tiếng
Việt, có liên quan tới đề tài đang nghiên cứu
1.2.1 Các khái niệm
Chuỗi lời nói con người được phân chia thành nhiều đoạn nhỏ như câu, cụm
từ, từ,… và cuối cùng là âm tiết Âm tiết là đơn vị phát âm nhỏ nhất, không phân
chia được nữa dù nói chậm đến đâu (mà vẫn giữ đúng ý nghĩa âm tiết đó)
Mỗi âm tiết bao gồm nhiều yếu tố ngữ âm tạo thành và các yếu tố ngữ âm hầu như phát âm cùng lúc để tạo nên đúng âm tiết đó Bên cạnh đó, người ta còn
xem âm tiết bao gồm nhiều yếu tố đoạn tính – là các yếu tố có giới hạn phân đoạn trong âm tiết như phụ âm, nguyên âm và âm đệm – và các yếu tố siêu đoạn tính – là các yếu tố không có giới hạn trong âm tiết như ngữ điệu, thanh điệu
Đặc điểm riêng của âm tiết tiếng Việt là đơn âm và mang thanh điệu
1.2.2 Các đặc tính cơ bản của tiếng Việt
Âm tiết tiếng Việt tương đối cách biệt: trong tiếng Việt các âm của các từ trong một câu phát âm hầu như tách biệt nhau, nghĩa là các từ đó được phát âm hoàn toàn độc lập, không có hiện tượng đọc nối nhau như trong tiếng Anh
Tiếng Việt tương đối nhất quán giữa cách phát âm và cách viết : nguyên tắc chính của chữ viết tiếng Việt là ký âm, nghĩa là đọc sao viết vậy Nhưng sau các
Trang 6cuộc nghiên cứu trên tiếng Việt đã chỉ ra một số bất đồng trong hệ thống chữ viết, mặc dù vậy, nhìn chung tiếng Việt vẫn nhất quán giữa đọc và viết
Hiện tượng môi hóa : trong tiếng Việt có một số âm môi như ô, u Các phụ
âm đứng trước các âm này sẽ bị hiện tượng biến đổi sóng âm, gọi là hiện tượng
môi hóa Ví dụ : trong các từ bu, tô thì phụ âm b, t sẽ phát âm khác đi so với
Hình 1- 1 Cấu trúc âm tiết tiếng Việt
Một âm tiết tiếng Việt gồm 3 phần :
+ Thanh điệu : là yếu tố luôn có mặt trong mọi âm tiết tiếng Việt
+ Âm đầu : yếu tố mở đầu âm tiết, thường độc lập với phần còn lại
+ Phần vần : gồm 3 phần :
- Âm đệm : là một bán nguyên âm chiếm vị trí trung gian giữa phụ âm đầu
và phần vần Có thể có hay không trong âm tiết Tiếng Việt có hai âm đệm là [o]
và [u] được phát âm tương đối giống nhau
- Âm chính : là một nguyên âm (đơn hay đôi), luôn có mặt trong âm tiết,
giữ vai trò là đỉnh của âm
- Âm cuối : là phụ âm hay bán nguyên âm để kết thúc âm tiết Tiếng Việt có
hai bán nguyên âm cuối là [i] và [u]
Trang 7+ Các phụ âm chỉ có một cách biểu diễn duy nhất, không thể tách rời ra được
Ví dụ: "gi", "gh", "ng", không thể ghép lại bằng các âm của từng ký tự
riêng biệt mà phi phát âm một cách duy nhất
+ Phụ âm làm phụ âm cuối phát âm hoàn toàn với lúc làm phụ âm đầu Có 8 phụ âm vừa có thể làm phụ âm đầu vừa có thể làm phụ âm cuối là {c, ch, m, n,
ng, nh, p, t} và được chia ra làm 2 loại :
+ Loại vang (hữu thanh): m, n, nh, khi các phụ âm này làm âm cuối thì nguyên âm đứng trước nó phát âm bình thường, không bị nén hay ngắt lại
+ Loại tắc (vô thanh) : p, t, c Khi các phụ âm này làm âm cuối thì nguyên
âm đứng trước nó phát âm bị nén hay ngắt lại
Trang 8Là thành phần không thể thiếu trong tiếng Việt Nó được dùng làm âm chính Khi làm âm chính, nó kết hợp với các âm đệm và âm cuối (có thể không có) tạo nên phần vần và làm đỉnh của âm tiết Có hai loại là nguyên âm đơn và nguyên âm đôi
+ Ðộ cao (hauteur /pitch): do tần số dao động của dây thanh và/hoặc
của các bộ phận khác trong bộ máy phát âm quyết định Tần số dao động (số chu
kì dao động trong một giây) càng lớn thì âm thanh càng cao và ngược lại Ðơn vị
để đo độ cao của âm thanh là Hertz (viết tắt là Hz) Tai người có thể nghe được
âm thanh có tần số dao động từ 16 đến 20.000 Hz Âm vực dùng trong lời nói hẹp hơn thế nhiều Trong lời nói của một người, độ cao của âm thanh là yếu tố cơ bản tạo nên thanh điệu, ngữ điệu và cả trọng âm
+ Ðộ mạnh (intensité/intensity): do biên độ dao động của vật thể quyết
định Biên độ dao động là trị số lớn nhất mà dao động đạt tới trong một nửa chu
Trang 9kì Biên độ dao động càng lớn, âm thanh càng vang to và ngược lại Ðơn vị đo độ mạnh của âm thanh là décibel (viết tắt là dB) Trong lời nói của một người, độ mạnh của âm thanh là yếu tố cơ bản tạo nên âm lượng của âm và trọng âm của
từ
+ Ðộ dài (durée/length): do thời gian dao động của vật thể quyết định
Ðộ dài của âm thanh tạo nên sự tương phản giữa các bộ phận của lời nói, là yếu
tố tạo nên trọng âm, tạo nên các nguyên âm đối lập nhau về độ dài Hai từ "tang"
và "tăng" trong tiếng Việt có sự đối lập âm a dài (trong "tang") và âm a ngắn (trong "tăng")
+ Âm sắc (timbre): phụ thuộc vào độ cao, độ dài và độ mạnh tham gia
bổ sung vào các thành phần kết cấu của âm Ðây là vẻ riêng biệt của một âm Âm
sắc được quyết định bởi: thể chất của vật thể dao động, tính chất phức hợp do hiện tượng cộng hưởng âm thanh và phương pháp làm cho vật thể dao động Một
âm có cùng độ cao, độ mạnh, độ dài được phát ra từ dây tơ sẽ khác với từ một dây đồng; từ một ống sáo to dài, sẽ khác với từ một ống sáo nhỏ, ngắn; từ việc gẩy sẽ khác với từ việc gõ, búng, cọ xát hoặc thổi Âm sắc chính là cái sắc thái riêng của từng âm Âm sắc còn được quyết định bởi vật thể dao động theo chu kì đều đặn hay không đều đặn; dao động theo chu kì đều đặn thì tạo ra âm vang (sonants), chu kì không đều đặn thì tạo ra âm ồn hay âm có nhiều tiếng động (non
- sonants hoặc bruyants)
Các đặc trưng vật lí nói trên làm nên bản chất âm học của âm tố, cũng được gọi là đặc trưng âm học của âm thanh lời nói Ngữ âm học âm học (phonétique acoustique/Acoustic phonetics) chuyên nghiên cứu các đặc trưng âm học ấy
1.3.2 Ðặc trưng sinh lí
Âm thanh lời nói được phát ra từ bộ máy phát âm Tìm hiểu mặt sinh lí của
âm thanh lời nói, tất phải xem xét cấu tạo của bộ máy phát âm và cơ chế tạo âm thanh lời nói của bộ máy ấy
a Bộ máy phát âm gồm:
+ Các cơ quan tạo năng lượng cho hoạt động phát âm là phổi, khí quản + Các cơ quan tạo lập, khuếch đại và phát ra âm thanh là các bộ phận trong thanh hầu, trong khoang hầu, khoang miệng và khoang mũi Thanh hầu và các khoang nói trên là các cộng minh trường (hộp cộng hưởng) chứa nhiều bộ phận
Trang 10mà sự vận động của chúng có tác dụng tạo nên các âm thanh với các âm sắc khác nhau
b Cơ chế tạo âm thanh:
Ðể phát âm, dưới sự điều khiển của hệ thần kinh, nói chung không khí từ phổi được đẩy qua khí quản, vào thanh hầu rồi thoát qua các cộng minh trường phía trên thanh hầu để thoát ra ngoài Có thể thấy hai trường hợp Trường hợp 1, không khí thoát ra làm rung dây thanh với một tần số nào đó đểï tạo nên một âm với một thanh điệu nhất định Âm này nhỏ, được uốn nắn, được khuếch đại nhờ các cộng minh trường (thanh hầu, khoang hầu, khoang miệng, khoang mũi) để
trở thành âm thanh lời nói Trong trường hợp này, ta sẽ có các âm hữu thanh (sons sonores/voiced sounds) Nếu dây thanh có chu kì rung đều đặn, ta sẽ có
âm chứa nhiều tiếng thanh Ngôn ngữ học gọi các âm loại này là các âm vang Các nguyên âm và các phụ âm mũi, phụ âm bên, phụ âm rung là các âm vang Trường hợp nói thì thào, không khí từ phổi ra tuy mạnh nhưng dây thanh ở xa nhau và chỉ rung động rất nhẹ; ngôn ngữ học gọi các âm thì thào là các âm giọng thở (sons soufflés/breathed sounds)
Trường hợp hai, không khí thoát ra không làm rung dây thanh thì lượng khí
sẽ cọ xát, lách qua hoặc phá vỡ chỗ cản được tạo ra bởi các bộ phận hoạt động được của bộ máy phát âm để tạo ra âm, rồi được khoang hầu, khoang miệng, khoang mũi cộng hưởng, khuếch đại thành âm thanh lời nói Ngoài cộng minh trường là thanh hầu chứa dây thanh, các cộng minh trường còn lại có tác dụng khống chế một số tần số này và tăng cường một số tần số khác tạo nên các hòa
âm Việc không khí cọ xát hoặc bật phá chỗ cản sẽ tạo nên những dao động có chu kì không đều đặn làm thành những tiếng động (tiếng ồn) Những âm có tiếng
động, không có sự tham gia của tiếng thanh được gọi là các âm vô thanh (sons
sourds/ voiceless sounds)
Tóm lại, để phát âm, bắt buộc phải có không khí được đẩy ra, tạo năng lượng phát âm; phải có hoạt động cấu âm của các cơ quan trong bộ máy phát âm Khi phát âm, nói chung luồng hơi được đẩy ra từ phổi Tuy nhiên, ở một số ít ngôn ngữ, có những âm thanh được phát ra từ khoang hầu hoặc từ mạc Khi luồng hơi được phát ra từ khoang hầu, thanh hầu từ vị trí bình thường nhấc lên cao hơn hoặc hạ xuống thấp hơn và có tác dụng tạo âm; luồng hơi cũng có thể
Trang 11được phát ra từ mạc để tạo âm Với người Việt, khi chặc lưỡi hay khi "pập pập" gọi gà (không phải âm thanh lời nói tiếng Việt), đã thực sự phát ra một âm loại này
Những đặc trưng sinh lí nói trên thực chất là những đặc trưng cấu tạo âm thanh của bộ máy phát âm Chúng được gọi là các đặc trưng cấu âm của các âm
Ngữ âm học sinh học (Phonétique physiologique/Physiologic phonetics)
chuyên nghiên cứu các đặc trưng cấu âm ấy Người ta cũng dùng thuật ngữ đặc trưng cấu âm - âm học để chỉ chung đặc trưng tự nhiên (vật lí, sinh lí) của âm thanh lời nói
1.3.3 Ðặc trưng xã hội
Xét âm tiết quãi, boàn, thưởn, khuỹa và quai, bàn, thưởng, khuya Chúng chỉ khác nhau một âm tố mà các âm tiết loại trên được người Việt coi là không có nghĩa; trái lại, những âm loại sau lại được coi là có nghĩa, có nội dung biểu đạt Nói cách khác âm thanh ngôn ngữ không phải là âm thanh đơn thuần mà là âm thanh được một cộng đồng ngôn ngữ tổ chức và dùng để biểu đạt
Âm vị là đơn vị ngữ âm nhỏ nhất được một cộng đồng ngôn ngữ sử dụng để cấu tạo và phân biệt phần âm thanh của các đơn vị có nghĩa nhỏ nhất (hình vị, từ) Chức năng của âm vị là khu biệt nghĩa và giúp cho người nghe nhận diện được các hình vị và từ trong một ngôn ngữ nhất định
Tùy theo đặc điểm riêng của mình, mỗi dân tộc lựa chọn trong số lượng vô hạn các âm tố trong chuỗi âm thanh lời nói để xác lập một số lượng hữu hạn các
âm vị với những nét chung về mặt cấu âm - âm học và về mặt chức năng biểu đạt Vì thế mỗi ngôn ngữ có một hệ thống âm vị riêng , khác nhau cả về mặt số lượng âm vị cũng như về giá trị của từng âm vị Thí dụ, trong tiếng Anh, có âm
vị "i" đối lập với âm vị "i dài (sit [sit] ( seat [si:t]) Trong khi ở tiếng Pháp, tiếng Việt, hai âm ấy chỉ là hai cách phát âm khác nhau của cùng một âm vị /i/ Tương
tự, trong tiếng Việt có âm vị "tờ" (/t/), âm vị đờ" (/d/), nhưng trong tiếng Hán,
"tờ" và "đờ" chỉ là hai cách phát âm khác nhau của cùng một âm vị Dù có nói
"đại đoàn kết" hay "tại toàn kết" thì cũng chỉ có một nội dung biểu đạt
Về đặc điểm cấu âm - âm học của từng âm vị, do mỗi dân tộc khi phát âm tiếng nước mình, có thói quen sử dụng bộ máy phát âm riêng, thêm nữa, cấu tạo sinh lí của bộ máy phát âm cũng có nét riêng, nên về nguyên tắc, rất hiếm khi
Trang 12một âm vị của ngôn ngữ này có đặc trưng cấu âm - âm học giống hệt với một âm
vị nào đó của một ngôn ngữ khác
1.4 Các phương pháp tổng hợp tiếng nói
Phần này tôi xin trình bày một cách vắn tắt về những phương pháp tổng hợp tiếng nói, mà hiện nay đang phổ biến và dược nghiên cứu rộng rãi Chi tiết phương pháp tổng hợp mà tôi áp dụng trong đợt nghiên cứu này sẽ được trình bày ở phần sau
Ta có thể dây dựng được một mô hình đơn giản, của quá trình tổng hợp tiếng nói như sau:
Hình 1-4 Mô hình quá trình tổng hợp tiếng nói
Nếu số lượng từ vựng là hữu hạn, thì tiếng nói tự nhiên có thể chỉ là các đơn vị của tiếng nói được lưu trữ tập trung Hầu hết các “Hệ thống trả lời bằng tiếng nói”, như là hệ thống trả lời thực đơn qua điện thoại, báo giờ điện thoại , được áp dụng theo phương pháp này vì nó đơn giản hơn nhiều so với một bộ tổng hợp tiếng nói thực sự Một hệ thống TTS (Text To Speech) không chấp nhận văn bản đầu vào được chọn là ngôn ngữ có nhiều từ mới và các lỗi in ấn
Hai tính chất quan trọng của chất lượng hệ thống tổng hợp giọng nói là mức
độ tự nhiên và mức độ dễ nghe Mức độ tự nhiên của giọng nói tổng hợp chỉ đến
sự giống nhau giữa giọng tổng hợp và giọng nói tự nhiên của người thật Mức độ
dễ nghe chỉ đến việc câu phát âm có thể hiểu được dễ dàng không Một chương
trình tổng hợp giọng nói lý tưởng cần vừa tự nhiên vừa dễ nghe, và mục tiêu xây dựng hệ thống tổng hợp giọng nói là làm gia tăng đến mức tối đa hai tính chất này Một số hệ thống thiên về mức độ dễ nghe hơn, hoặc mức độ tự nhiên hơn; tùy thuộc vào mục đích mà công nghệ được lựa chọn Có hai công nghệ chính
được dùng là tổng hợp ghép nối (hay còn gọi là tổng hợp trực tiếp) và tổng hợp cộng hưởng tần số; ngoài ra cũng có một số công nghệ khác
Tạo tham
số
Bộ tổng hợp
Văn bản, quá
trình xử lý
tiếng nói khác
Tiếng nói được tổng hợp
Trang 131.4.1 Phương pháp tổng hợp trực tiếp
Đây là phương pháp hiện đang được sử dụng tại các tổng đài điện thoại, đài phát thanh Do tính chất dễ thực hiện, và tiếng nói được tổng hợp có mức độ dễ nghe, mang tính tự nhiên rất cao Tuy nhiên, phương pháp này chỉ áp dụng hạn chế với các yêu cầu vừa và nhỏ, đồng thời việc tạo dữ liệu khá mất thời gian và công sức, đòi hỏi kỹ thuật cao
Sơ đồ khối các bước trong phương pháp tổng hợp tiếng nói trực tiếp được
mô tả như sau:
Hình 1-5 Các bước trong phương pháp tổng hợp trực tiếp
a Ghép từng từ đơn
Tính chất tiếng Việt là âm của từ đầu không ảnh hưởng âm các từ sau Do
đó ta có thể ghép các từ thành một câu Phương pháp này đạt độ tự nhiên cao nhất và cách hiện thực đơn giản nhất
Tiếng Việt phổ thông có khoảng 6000 từ Nếu ta thu với tần số lấy mẫu 8KHz, 8 bit/mẫu, mono, nén PCM Mỗi từ thu trong 0.8 giây (tốc độ đọc chậm nhất) thì khối lượng âm thanh cần lưu trữ là:
nói được lưu trữ
Khối truy nhập từ vựng
Khối ghép nối
Chuỗi mã đơn
vị tiếng nói
Trang 14+ Với phương pháp này, khối lượng lưu trữ âm dùng cho ứng dụng khá lớn (khoảng 2000 từ) so với phương pháp ghép âm loại một Nhưng với dung lượng đĩa cứng ngày nay thì vấn đề lưu trữ không là vấn đề đáng lo ngại
+ Mức độ ảnh hưởng của từ đi trước với từ đi sau là không đáng kể và có thể chấp nhận được
b Ghép âm theo các âm tiết cơ bản nhất
Ví dụ: "bằng" được ghép từ [b]+[ằ]+[ng]
Phương pháp này có khối lượng lưu trữ nhỏ nhất vì chỉ có 28 phụ âm và 68 nguyên âm cùng các biến thể thanh Khối lượng lưu trữ:
(16+68) * 8000 * 1 * (1/2) *0.8 = 268,800 bytes Tuy nhiên, phương pháp này rất khó hiện thực vì:
Khi phụ âm có vai trò làm phụ âm cuối, chúng được phát âm khác với khi chúng làm phụ âm đầu Phụ âm đầu mở ra để kết hợp với nguyên âm, phụ âm cuối khép lại không kết hợp với nguyên âm nữa
Cần chú ý khi phát âm nguyên âm trong trường hợp âm cuối là loại tắc (vô thanh) ví dụ như p, t, c.Khi này thanh điệu không thể hiện trên phụ âm cuối mà thể hiện ở giai đoạn chuyển tiếp từ nguyên âm sang âm cuối
Do đó chất lượng âm của phương pháp này cũng còn hạn chế
c Ghép âm từ hai âm loại 1
Ví dụ: "bằng" được ghép từ [b] + [ ằng]
Một từ được tách ra làm hai phần là phụ âm đầu và vần điều này căn cứ trên đặc điểm tiếng Việt là phụ âm đầu ít phụ thuộc vào phần vần và thanh điệu Trong phụ âm đầu được cắt rất ngắn chỉ còn lại âm bật (thông thường vào khoảng 0.15 giây) Phần vần cũng được cắt bỏ ở phần đầu một lượng tưng ứng Phương pháp này cho chất lượng âm thanh tương đương so với phương pháp ghép từ đơn Theo phương pháp này ta tách được 28 phụ âm đầu và 650 phần vần Với cách thu âm như trước thì khối lượng lưu trữ sẽ là:
650*8000*1* (1/2)* (0.8 - 0.15)+28*8000*1*(1/2)*0.15=1,706,800~1.7 Mbytes
Trang 15
Hình 1-6 Mô tả cách ghép hai âm thành từ
Trang 16Nhận xét:
Một từ tiếng việt bao gồm 2 phần: phần âm đầu và phần vần Âm đầu chủ yếu là các phụ âm trong tiếng việt Qua nghiên cứu và tìm hiểu thêm, chúng em thấy rằng:
+ Ứng với một loại âm đầu (ở đây chủ yếu là phụ âm ) phần vần ở phía sau
sẽ thay đổi theo một quy luật nào đó so với phần vần chuẩn khi chưa có âm đầu tuỳ theo cách phát âm của phụ âm Chẳng hạn :
/t/ /am/ t
/ch/ /am/ ch
+ Nếu đem /ch/ ráp với /am/ t thì tiếng phát ra sẽ không trung thực tức là khi xây dựng mô hình âm thanh phần vần độc lập với so với âm đầu sẽ không tận dụng được hết tính phân biệt giữa các từ do sự biến đổi phổ tín hiệu phần vần so với tác động của các âm đầu khác nhau
Để tìm ra quy luật biến đổi phổ tín hiệu này đòi hỏi ta phải có máy phân tích phổ và đi vào lĩnh vực xử lý tiếng nói, ta mới có thể quan sát và phân tích mẫu sóng âm tại từng thời điểm nhằm tìm ra quy luật Tuy nhiên, với phạm vi của đề tài, việc nghiên cứu này là chưa cần thiết
d Ghép âm từ hai âm loại 2
Ví dụ: "bằng" được ghép từ [bà]+[ằng]
Phương pháp này gần giống phương pháp trên nhưng phần phụ âm đầu được cắt lấn sang phần vần Theo đó, ta sẽ có 28*650 phần phụ âm đầu tương ứng với 650 phần vần Trong thực tế, ta có khoảng 1400 phần đầu Như vậy khối lượng lưu trữ tổng cộng sẽ là:
(1400+650)* 8000 *1 * (1/2) * 0.8 = 6,560,000 bytes
Phương pháp này mắc phải một số khuyết điểm:
+ Vị trí cắt lấn sang phần vần khó xác định vì đây là vùng trộn lẫn giữa hai
âm
+ Tuy khối lượng lưu trữ là nhỏ so với ghép từ (3 lần) nhưng lớn hơn nhiều
so với ghép âm loại 1 (4 lần)
Khi dùng phương pháp ghép âm thì việc chuẩn bị các âm mất thời gian rất lớn Việc chuẩn bị âm được thực hiện thủ công do không thể xác định chính xác
Trang 17vị trí cần cắt Do đó nếu phương pháp này có số lượng âm lớn gấp 4 lần thì thời gian và chi phí bỏ ra cũng lớn gấp 4 lần so với phương pháp ghép âm loại một Ngoài ra chất lượng âm của phương pháp này cũng chưa được kiểm nghiệm
để có thể đánh giá ưu điểm về chất lượng so với phương pháp loại một
1.4.2 Phương pháp tổng hợp Formant
Đây là phương pháp tổng hợp được dùng rộng rãi nhất trong những năm
gần đây, nó dựa trên mô hình lọc số tiếng nói Phương pháp này có hai cấu trúc
cơ bản, đó là cấu trúc song song và cấu trúc nối tiếp Tuy vậy vì lý do thời gian
và sự phức tạp của phương pháp, nên chúng ta chỉ có thể tìm hiểu qua một vài đặc điểm của phương pháp tổng hợp tiếng nói này Mô hình tổng quát của phương pháp này như sau:
Hình 1- 7 Mô hình tổng hợp âm tiết tiếng Việt
Phương pháp tổng hợp Formant có hai cấu trúc cơ bản, đó là cấu trúc song song và nối tiếp Đã có rất nhiều tranh cãi về chất lượng và điểm hợp lý của hai cấu trúc này Ta dễ thấy kết quả tốt chỉ với một phương pháp là khó đạt được, vì thế người ta cố gắng cải thiện và tổ hợp các phương pháp cơ bản này Năm 1984 Denis Klatt đã đề ra một bộ tổng hợp Formant phức tạp hơn, được kết hợp cả hai
bộ tổng hợp nối tiếp và song song, với việc thêm các bộ cộng hưởng và phản
Trang 18cộng hưởng cho các âm mũi hoá, sau Formant cho nhiều tần số cao, một đường
rẽ để đưa ra hàm truyền đạt phẳng, và các đặc điểm phát âm Hệ thống được
dùng có mô hình nguồn kích hoạt hoàn toàn phức tạp, điều khiển bởi 39 tham số
được cập nhật mỗi 5 mili giây Chất lượng của bộ tổng hợp Formant của Klatt đã
được cải thiện nhiều và được áp dụng vào một số hệ thống TTS (Text To Speech)
hiện nay như MITalk, DECTalk, Prose-2000 và Klattalk
Sau đây là hai mô hình của bộ tổng hợp Formant được nghiên cứu và áp
dụng nhiều trong thực tiễn nhất:
Hình 1- 8 Cấu trúc cơ bản của bộ tổng hợp Formant nối tiếp
Hình 1- 9 Cấu trúc cơ bản của bộ tổng hợp Formant song song
Formant1
Formant3
BW3 F3
+
BW1 F1
A1
Tiếng nói Nguồn kích
Trang 19Tổng hợp Formant dựa trên một tập các luật được dùng đổ xác định các tham số cần thiết để tổng hợp theo ý muốn Các tham số đầu vào được cho ở ví
dụ dưới đây:
+ Tham số cơ sở tiếng nói (F0)
+ Mức độ kích thích tiếng nói (V0)
+ Các tần số Formant và các biên độ (F1, ,Fn và A1, ,An)
+ Tần số của bộ cộng hưởng tần số thấp bổ sung (FN)
+ Mật độ của vùng tần số thấp và tần số cao (ALF,AHF)
Trang 201.4.2 Các phương pháp tổng hợp khác
Ngoài một số những phương pháp tổng hợp tiếng nói thông dụng và hiện đang được áp dụng thực tiễn đã nói ở trên, ngoài ra còn một số phương pháp khác ít phổ biến hơn
a Tổng hợp mô phỏng phát âm
Tổng hợp mô phỏng phát âm là các kỹ thuật tổng hợp giọng nói dựa trên
mô hình máy tính của cơ quan phát âm của người và quá trình phát âm xảy ra tại
đó Hệ thống tổng hợp mô phỏng phát âm đầu tiên là ASY, thường được dùng cho các thí nghiệm trong nghiên cứu, được phát triển ở phòng thí nghiệm Haskins vào giữa những năm 1970 bởi Philip Rubin, Tom Baer, và Paul Mermelstein ASY dựa trên mô hình cơ quan phát âm đã được tạo ra bởi phòng thí nghiệm Bell vào những năm 1960 và 1970 bởi Paul Mermelstein, Cecil Coker, và các đồng nghiệp khác Tổng hợp mô phỏng phát âm đã từng chỉ là hệ thống dành cho nghiên cứu khoa học cho mãi đến những năm gần đây Lý do là rất ít mô hình tạo ra âm thanh chất lượng đủ cao hoặc có thể chạy hiệu quả trên các ứng dụng thương mại Một ngoại lệ là hệ thống dựa trên NeXT; vốn được phát triển và thương mại hóa bởi Trillium Sound Research Inc, ở Calgary, Alberta, Canada Đây là một công ty tách ra từ Đại học Calgary nơi các nghiên cứu ban đầu đã được thực hiện Theo sau các vụ chuyển nhượng các từng phần của NeXT (bắt đầu từ Steve Jobs vào cuối những năm 1980 và việc hợp nhất với Apple năm 1997), phần mềm của Trillium được phân phát với giấy phéo tự do GPL Dự án gnuspeech, một dự án của GNU, tiếp tục phát triển phần mềm này Phần mềm gốc NeXT và các chuyển đổi sang cho Mac OS/X và GNUstep trong GNU/Linux có thể tìm thấy tại trang GNU savannah; chúng đều kèm theo tài liệu hướng dẫn trực tuyến và các bài viết liên quan đến lý thuyết nền tảng của công trình Hệ thống, vốn được thương mại hóa lần đầu vào năm 1994, tạo ra một máy tổng hợp giọng nói dựa trên mô phỏng phát âm hoàn chỉnh, dựa trên mô hình ống dẫn sóng tương đương với cơ quan phát âm của người Nó được điều khiển bởi
Mô hình Phần Riêng biệt của Carré; bản thân mô hình này lại dựa trên công trình của Gunnar Fant và các người khác ở Phòng thí nghiệm Công nghệ Giọng nói Stockholm thuộc Viện Cộng nghệ Hoàng gia Thụy Điển về tổng hợp giọng nói
Trang 21cộng hưởng tần số Công trình này cho thấy các cộng hưởng tần số trong ống cộng hưởng có thể được điều khiển bằng cách thay đổi tám tham số tương đồng với các cách phát âm tự nhiên của cơ quan phát âm của người Hệ thống bao gồm một từ điển phát âm cùng với các quy tắc phát âm tùy thuộc ngữ cảnh để giúp ghép nối âm điệu và tạo ra các tham số phát âm; mô phỏng theo nhịp điệu và ngữ điệu thu được từ các kết quả nghiên cứu ngữ âm học
b Tổng hợp lai
Các hệ thống tổng hợp lai kết hợp các yếu tố của tổng hợp cộng hưởng tần
số với tổng hợp ghép nối để giảm thiểu các tiếng cọ xát khi ghép nối các đoạn âm thanh
Một ví dụ là RecSimCat, phát triển bởi Shakti Singh Parmar có thể tạo ra giọng dễ nghe và tự nhiên
c Tổng hợp dựa trên HMM
Tổng hợp dựa trên HMM là một phương pháp dựa vào mô hình Markov ẩn (HMM, viết tắt cho thuật ngữ tiếng Anh Hidden Markov model) Trong hệ thống này, phổ tần số của giọng nói, tần số cơ bản, và thời lượng đều được mô phỏng cùng lúc bởi HMM Dạng sóng của giọng nói được tạo từ mô hình Markov ẩn dựa trên tiêu chí khả thực cực đại
Trang 22Chương 2 TỔNG QUAN VỀ HỆ CHUYÊN GIA
2.1 Các khái niệm về hệ chuyên gia
Hệ chuyên gia, còn gọi là hệ thống dựa tri trức, là một chương trình máy tính chứa một số tri thức đặc thù của một hoặc nhiều chuyên gia con người về một chủ đề cụ thể nào đó Các chương trình thuộc loại này đã được phát triển từ các thập kỷ 1960 và 1970, và trở thành ứng dụng thương mại từ thập kỷ 1980 Dạng phổ biến nhất của hệ chuyên gia là một chương trình gồm một tập luật phân tích thông tin (thường được cung cấp bởi người sử dụng hệ thống) về một lớp vấn đề cụ thể, cũng như đưa ra các phân tích về các vấn đề đó, và tùy theo thiết kế chương trình mà đưa lời khuyên về trình tự các hành động cần thực hiện
để giải quyết vấn đề Đây là một hệ thống sử dụng các khả năng lập luận để đạt tới các kết luận
Nhiều hệ chuyên gia đã được thiết kế và xây dựng để phục vụ các lĩnh vực
kế toán, y học, điều khiển tiến trình (process control), dịch vụ tư vấn tài chính (finalcial service), tài nguyên con người (human resources), v.v
Hai yếu tố quan trọng trong hệ chuyên gia là tri thức chuyên gia và lập luận
và hệ thống có 2 khối chính là CSTT và mô tơ suy luận (hay còn gọi là động cơ suy diễn)
Các khác biệt giữa các hệ cơ sở tri thức (CSTT) và các chương trình truyền thống nằm ở cấu trúc Trong các chương trình truyền thống, cách thức xử lý hay hành vi của chương trình đã được ấn định sẵn qua các dòng lệnh của chương trình dựa trên một thuật giải đã định sẵn Trong các hệ CSTT, có hai chức năng tách biệt nhau, trường hợp đơn giản có hai khối: khối tri thức hay còn được gọi là
cơ sở tri thức, và khối điều khiển hay còn được gọi là mô tơ suy luận Với các hệ thống phức tạp, bản thân mô tơ suy luận cũng có thể là một hệ CSTT chứa các siêu tri thức (tri thức về cách sử dụng tri thức khác)
Việc tách biệt giữa tri thức khỏi các cơ chế điều khiển giúp ta dễ dàng thêm vào các tri thức mới trong tiến trình phát triển một chương trình Đây là điểm tương tự của mô tơ suy luận trong một hệ CSTT và não bộ con người (điều khiển
Trang 23xử lý), là không đổi cho dù hành vi của cá nhân có thay đổi theo kinh nghiệm và kiến thức mới nhận được
Giả sử một chuyên gia dùng các chương trình truyền thống để hỗ trợ công việc hàng ngày, sự thay đổi hành vi của chương trình yêu cầu họ phải biết cách cài đặt chương trình Nói cách khác, chuyên gia phải là một lập trình viên chuyên nghiệp Hạn chế này được giải quyết khi các chuyên gia tiếp cận sử dụng các hệ CSTT Trong các hệ CSTT, tri thức được biểu diễn tường minh chứ không nằm ở dạng ẩn như trong các chương trình truyền thống Do vậy có thể thay đổi các CSTT, sau đó các mô tơ suy luận sẽ làm việc trên các tri thức mới được cập nhật nhằm thực hiện yêu cầu mới của chuyên gia
2.2 Cấu trúc một hệ chuyên gia
Trong lĩnh vực hệ chuyên gia, các chuyên gia chú trọng vào tri thức của vấn
đề Loại tri thức này được gọi là tri thức lĩnh vực, được chuyên gia lưu trữ trong
bộ nhớ vĩnh cửu
Lúc cho lời khuyên, chuyên gia cần thu thập các sự kiện về lĩnh vực, lưu nó trong bộ nhớ tạm thời Chuyên gia lập luận về vấn đề bằng cách kết hợp các sự kiện trong bộ nhớ tạm thời với tri thức ở trong bộ nhớ vĩnh cửu Dùng quá trình này, chuyên gia suy luận thông tin mới về vấn đề và đi đến kết luận Chúng ta có thể hiểu cấu trúc của một hệ chuyên gia qua mô hình sau:
Hình 2- 1 Cấu trúc đơn giản của một hệ chuyên gia
Mô tơ suy luận
Người
sử dụng
Giao diện người dùng
Bộ nhớ làm việc
Phương tiện giải thích
Cơ sở tri thức
Trang 242.2.1 Cơ sở tri thức
Trong hệ chuyên gia, các tri thức chuyên gia được bảo quản trong CSTT
Nó cũng là bộ nhớ vĩnh cửu trong mô hình giải vấn đề của con người CSTT là thành phần chính bên cạnh các thành phần giải vấn đề trong hệ thống dựa trên tri thức Trong khuôn khổ của hệ chuyên gia thì CSTT tri thức được định nghĩa là một phần của hệ chuyên gia chứa tri thức về lĩnh vực
2.2.2 Bộ nhớ làm việc
Bộ nhớ làm việc chứa các sự kiện liên quan đến vấn đề đang xét Nó tương ứng với bộ nhớ tạm thời trong mô hình giải vấn đề của con người Nó là một phần trong hệ chuyên gia chứa các sự kiện của vấn đề đang được xét
Khi trao đổi với hệ chuyên gia, người dùng nhập thông tin về vấn đề hiện tại vào bộ nhớ làm việc Hệ thống khớp thông tin này với tri thức trong CSTT để suy luận ra sự kiện mới Hệ thống lại nhập sự kiện mới này vào bộ nhớ làm việc
và tiếp tục quá trình Vậy bộ nhớ làm việc sẽ có các thông tin do người dùng đưa vào và các thông tin do máy suy luận ra Các thông tin này thường được gọi là ngữ cảnh của phiên làm việc
Nhiều ứng dụng hệ chuyên gia có thể lấy các thông tin từ bộ nhớ ngoài như
cơ sở dữ liệu, bảng tính…Chúng được tải vào bộ nhớ làm việc trước phiên làm việc Quá trình suy luận có thể chỉ dùng các thông tin này hoặc dùng các thông tin này như thông tin bổ sung
2.2.3 Mô tơ suy luận
Hệ chuyên gia mô hình hoá quá trình lập luận của con người trong khối mô
tơ suy luận Mô tơ suy luận là quá trình trong hệ chuyên gia cho phép khớp các
sự kiện trong bộ nhớ làm việc với các tri thức về lĩnh vự trong CSTT để rút ra các kết luận về vấn đề
Mô tơ suy luận làm việc trên các sự kiện trong bộ nhớ làm việc và tri thức lĩnh vực trong CSTT để rút ra thông tin mới Vậy nó cần tìm ra các luật để khớp phần giả thiết của luật với thông tin có trong bộ nhớ Khi phát hiện thấy khớp, kết luận của luật này là thông tin mới
Trang 252.2.4 Phương tiện giải thích
Nói đến hệ chuyên gia người ta thường đề cập đến khả năng không thể tách rời là khả năng giải thích các suy luận của nó Trong mô hình giải vấn đề của hệ chuyên gia người ta có thể bổ sung một khối gọi là phương tiện giải thích Dùng phương tiện giải thích này hệ chuyên gia giải thích cho người dùng tại sao nó yêu cầu một câu hỏi và cách đi đến kết luận
Phương tiện giải thích tạo thuận lợi cho cả người phát triển hệ thống lẫn người dùng Người phát triển có thể dùng nó để phát hiện chỗ sai trong tri thức của hệ thống trong khi người dùng sẽ thuận lợi và dễ dàng thấu hiểu lập luận của
hệ thống
Một hệ chuyên gia có thể giải thích tại sao nó đặt ra một câu hỏi Khi tham vấn chuyên gia, sự tương tác có nghĩa quan trọng ở chỗ nó giúp hệ chuyên gia cởi mở, thân thiện, có tác dụng gợi mở tri thức chuyên gia Người ta cũng có thể hỏi chuyên gia tại sao về các xét đoán suy luận khi thấy tiện Câu trả lời có tác dụng làm người dùng thoải mái thêm và có thể biết được điều mà chuyên gia đang cho là quan trọng
2.2.5 Giao diện
Tương tác giữa hệ chuyên gia và người dùng thường được thiết kế theo kiểu như ngôn ngữ tự nhiên Yêu cầu đặt ra đối với người thiết kế là đảm bảo tương tác này giống như tương tác giữa những con người Yêu cầu cơ bản của thiết kế
là trả lời được các câu hỏi Để đạt được độ tin cậy cao về các ý kiến chuyên gia, cũng như đạt được tin tưởng cao từ phía người dùng, việc thiết kế câu hỏi cũng cần được chú ý Các loại giao diện như hướng đồ hoạ, thực đơn, biểu tượng hay
Trang 262.3 Xây dựng hệ chuyên gia
Chương trình bình thường quan tâm đến dữ liệu của bài toán để tìm cách xử
lý và đi đến kết quả Còn hệ chuyên gia thì quan tâm đến tri thức của vấn đề Hệ chuyên gia hỏi, tổ chức và nghiên cứu tri thức để hiểu vấn đề Nó cũng xây dựng
và thử hệ thống để hiểu thêm về các tri thức Giải pháp cuối cùng là thể hiện tự nhiên và thể hiện phù hợp các hiểu biết đó Những nhà thiết kế hệ chuyên gia dùng thuật ngữ xử lý và xây dựng hệ thống là công nghệ tri thức
Công nghệ tri thức mở rộng các dữ liệu bằng kĩ thuật suy luận và mở rộng công nghệ phần mềm trong các lĩnh vực ứng dụng Không như việc xây dựng chương trình bình thường, việc phát triển hệ chuyên gia cần độ tương tác người máy cao Người thiết kế xây dựng từng bước hệ thống, thử nó, thay đổi tri thức
hệ thống Quá trình này được lặp trong công việc chung Khi đó việc hiểu của người thiết kế về hệ thống và tri thức hệ thống tăng dần sau mỗi lần thử
Bước 1: Đánh giá
Bước này có trách nhiệm đánh giá đúng vấn đề Vấn đề được xét thêm để xác định các đích chung của toàn đề án Nó xác định các khía cạnh quan trọng và tài nguyên cần thiết cho đề án Sau bước này người ta hình thành được các yêu cầu chính của đề án
Bước 2: Thu thập tri thức
Mục đích của bước này là lấy tri thức nhằm hướng dẫn việc phát triển hệ chuyên gia Tri thức cần thiết cho cả vấn đề và những phương tiện dùng cho thiết
kế hệ chuyên gia Việc thu thập tri thức được xem là khâu quan trọng trong việc phát triển hệ chuyên gia
Bước này đòi hỏi người thu thập tri thức gặp gỡ chuyên gia, định ra các khái niệm chính và các phương pháp giải tổng quát mà chuyên gia đã dùng Một
số thông tin thuận lợi cho hệ chuyên gia sẽ còn được phát hiện tiếp trong qua trình thử hệ thống
Bước 2: Thiết kế
Hệ chuyên gia cần có các kĩ thuật thể hiện phù hợp và tốt nhất đối với tri thức chuyên gia và với chiến lược giải vấn đề Trong bước thiết kế, người ta xác định cấu trúc chung và tổ chức của tri thức trong hệ thống Bước này lựa chọn
Trang 27một công cụ phần mềm cho phép thể hiện và lập luận với tri thức hệ thống theo cách mà con người đã làm
Giao thức hệ thống sẽ được xác định trong bước thiết kế Mục đích của giao thức là đảm bảo phương tiện để hiểu rõ vấn đề hơn Bắt đầu từ việc xây dựng hệ thống nhỏ và xét kết quả thử cùng với chuyên gia về lĩnh vực, người ta bổ sung các yêu cầu cho hệ thống Việc thiết kế cũng thừa hưởng những thông tin từ bước thử hệ thống, nhằm làm mịn tri thức và cấu trúc hệ thống
Bước 4: Thử hệ thống
Tuy được xem là một bước độc lập, việc thử nghiệm không phải là nhiệm
vụ tách biệt mà là quá trình kế tiếp trong đề án hệ chuyên gia Sau mỗi lần trao đổi với chuyên gia, có thể hệ thống được bổ sung thêm vài chi tiết Các phép thử cũng tác động làm thay đổi tri thức hệ thống Đối tượng chính của việc thử hệ thống là kiểm chứng cấu trúc tổng thể và tri thức của hệ thống Trong suốt quá trình thử, người thiết kế làm việc chặt chẽ không chỉ với chuyên gia mà còn với người dùng vì người dùng sẽ hỗ trợ phát triển giao diện
Bước 5: Làm tư liệu
Việc làm tư liệu có nghĩa chuyển hoá tất cả các thông tin về đề án hệ chuyên gia sang dạng tài liệu, đáp ứng các đòi hỏi của cả người dùng và người phát triển hệ chuyên gia Tuỳ theo yêu cầu của người dùng mà các tư liệu tri thức xây dựng như tư liệu chung cho toàn đề án hay được xây dựng riêng phục vụ cho việc sử dụng, tra cứu các phần mềm riêng lẻ
Một lưu ý là tư liệu cần có từ điển tri thức, cho phép thể hiện tốt các tri thức của hệ thống và các thủ tục giải vấn đề Từ điển này được bổ sung dần dần
Bước 6: Bảo trì
Sau khi được phát triển trong môi trường làm việc, hệ thống cần được thường xuyên bảo trì Công việc này bao gồm việc duy trì hoạt động bình thường của hệ chuyên gia và mở rộng hệ chuyên gia khi thấy có nhu cầu Khi các yêu cầu về hệ thống thay đổi người ta có thể phải làm lại đặc tả hệ thống Do hệ thống được xây dựng theo từng bước, việc bảo trì có thể tiến hành theo các bước nhỏ Để các hoạt động bảo trì tiến hành tự động, tất cả những thao tác bảo trì có thể được chương trình hoá
Trang 28Để có thể dễ dàng hình dung, sau đây là mô hình tiêu biểu của một chu trình phát triển của hệ chuyên gia:
Hình 2- 2 Các bước phát triển hệ chuyên gia
2.4 Tri thức và cách thể hiện tri thức
Tri thức là sự hiểu biết về một lĩnh vực của chủ đề Trước khi xử lý tri thức, các hệ chuyên gia dùng các kĩ thuật mã hoá tri thức Các kĩ thuật mã hoá tri thức này khác nhiều so với cách mã hoá dữ liệu trong các chương trình, thuật toán xử
lý dữ liệu thường gặp Các hệ thống thông minh cần xử lý các tri thức và các tri thức cần được biểu diễn ở dạng kí hiệu mà hệ thống xử lý được Do tính đa dạng của thực tế, của bài toán cần giải và vì chẳng có kĩ thuật nào là phù hợp cho tất cả các ứng dụng, người ta cần chọn một kĩ thuật thích hợp đối với một lớp bài toán
Để làm rõ vấn đề, sau đây là một vài ví dụ:
Trong các vấn đề về y học, khả năng chữa bệnh là một dạng tri thức Khi xây dựng hệ chuyên gia, không phải người ta muốn thu thập tất cả các tri thức chuyên gia Chỉ những tri thức chuyên gia được chọn và hơn thế người ta chỉ chọn tri thức chuyên gia theo một vài chủ đề quan trọng của miền chủ đề Chẳng hạn người ta cần chọn ra các hiểu biết chỉ chuyên về bệnh nhiễm trùng máu Khi
ấy người ta cần các kiến thức chuyên về lĩnh vực
Trong đó lĩnh vực là miền chủ đề được chú trọng Điểm then chốt để phát triển thành công hệ chuyên gia là tính tập trung của lĩnh vực Khi miền chủ đề
Thu thập tri thức
Làm
tư liệu
Bảo trì Thực hiện
Đánh giá Cấu trúc
Tạo lại
Tri thức Yêu cầu
Làm tinh Khai thác
Trang 29gồm nhiều khía cạnh mà tri thức cần thiết chỉ nằm trong một vài khía cạnh thì việc xét đồng thời nhiều tri thức của nhiều khía cạnh sẽ làm hệ thống mất tập trung vào lĩnh vực chuyên sâu và điều này sẽ ảnh hưởng đến hiệu quả của toàn
bộ hệ thống
2.4.1 Các dạng tri thức
Trong quá trình phát triển của loài người, tri thức được dùng để con người hoàn thiện mình, để làm việc tốt hơn và cuối cùng là tạo ra tri thức mới Tri thức gắn với các bước phát triển loài người thông qua việc xây dựng nhân cách con người, tăng năng suất lao động và biết được tri thức là quan trọng, có vai trò như tiền tệ hay quyền lực
Từ lâu các nhà tâm lý học về nhận thức đã xây dựng lý thuyết giải thích về giải vấn đề Các lý thuyết này đã cho người ta thấy các dạng tri thức con người hay dùng, cách con người tổ chức có suy nghĩ trên các tri thức đó và cách dùng các tri thức một cách hiệu quả Các nhà nghiên cứu cũng dùng các nghiên cứu này để phát triển các kĩ thuật thể hiện tri thức trên máy tính Có 5 dạng tri thức
sau:
+ Tri thức thủ tục: diễn tả cách giải vấn đề Loại tri thức thủ thục cho biết
phương hướng thực hiện các hoạt động Các luật, các chiến lược, các lịch, các thủ tục là các dạng đặc trưng của tri thức thủ tục
+ Tri thức mô tả: cho biết một vấn đề được thấy như thế nào Tri thức mô
tả gồm các khẳng định đơn giản nhận giá trị chân lí là đúng hoặc sai Tri thức mô
tả cũng có thể gồm xâu các khẳng định để diễn tả đầy đủ hơn về đối tượng hay một khái niệm nào đó
+ Tri thức meta: diễn tả tri thức về tri thức Thuật ngữ meta mang ý nghĩa
diễn tả về bản thân đối tượng Loại tri thức này giúp lựa chọn tri thức thích hợp nhất trong số các tri thức khi giải vấn đề Các chuyên gia dùng tri thức meta để tăng hiệu quả giả vấn đề bằng cách hướng lập luận về miền tri thức có khả năng hơn cả
+ Tri thức may rủi: diễn tả luật may rủi, cung cách may rủi dẫn dắt quá
trình lập luận Tri thức may rủi còn được gọi là tri thức nông cạn do không đảm bảo chính xác khoa học Tri thức may rủi xuất phát từ các kinh nghiệm, từ tri thức về việc giải các vấn đề quá khứ Các chuyên gia thường dùng các tri thức
Trang 30mang tính khoa học về vấn đề như các điều luật cơ bản, các quan hệ chức năng… rồi chuyển chúng thành các tri thức may rủi đơn giản để thuận tiện trong việc giải vấn đề
+ Tri thức cấu trúc: diễn tả các cấu trúc của tri thức Đối với một hệ
chuyên gia thì tri thức cấu trúc thể hiện cách tổ chức tri thức, mô hình về tri thức
Do vậy tri thức cấu trúc liên quan đến các loại tri thức, chức năng và quan hệ giữa các tri thức
2.4.2 Kỹ thuật thể hiện tri thức
Sau khi thu thập tri thức của các chuyên gia về lĩnh vực quan tâm, người ta
mã hoá các tri thức trong CSTT Để thực hiện việc này người ta cần cấu trúc các tri thức trong hệ thống một cách phù hợp để hệ thống giải vấn đề thuận tiện cũng như một chuyên gia Đó là một yêu cầu về thể hiện tri thức Trải qua nhiều chặng đường phát triển của công nghệ thông tin, các nhà nghiên cứu và ứng dụng hệ chuyên gia đã cho thấy một số cách thể hiện tri thức có hiệu quả trên máy tính
Có 5 kĩ thuật phổ biến nhất dùng để phát triển một hệ chuyên gia là:
+ Cặp ba đối tượng- thuộc tính- giá trị
+ Các luật
+ Các mạng ngữ nghĩa
+ Các khung
+ Logic mệnh đề, logic vị từ
Mỗi kĩ thuật nhấn mạnh vào một mặt nào đó của vấn đề chứ không xét đầy
đủ các khía cạnh của vấn đề Mỗi kĩ thuật có ưu nhược điểm đối với một loại tri thức cụ thể Do vậy việc chọn một kĩ thuật thể hiện tri thức một cách hợp lí sẽ cho phép thể hiện cấu trúc tri thức có hiệu quả đối với việc giải vấn đề Chẳng hạn tri thức vốn đã được các chuyên gia phát biểu dưới dạng “nếu… thì…” thì hệ chuyên gia sử dụng kĩ thuật thể hiện theo luật và xử lí tri thức như xử lý các luật thì phù hợp với cách giải mà chuyên gia quen áp dụng
Trang 31a Thể hiện tri thức bằng cặp ba đối tượng- thuộc tính- giá trị
* Giới thiệu
Lý thuyết nhận thức coi trọng việc thể hiện và tổ chức tri thức Con người đều dùng sự kiện như nền tảng cơ bản Một sự kiện là dạng tri thức mô tả; trong một số trường hợp cho phép hiểu về một sự kiện hay về vấn đề
Trong hệ chuyên gia các sự kiện tri thức dùng để mô tả các phần của khung, mạng ngữ nghĩa hay luật Chúng cũng được dùng để mô tả quan hệ giữa các cấu trúc tri thức phức tạp hơn và điều khiển việc dùng cấu trúc này khi giải vấn đề Một sự kiện thường được tham chiếu như một mệnh đề
* Định nghĩa mệnh đề
Là một khẳng định hoặc đúng hoặc sai Mệnh đề nhận giá trị logic là đúng hoặc sai và sẽ được dùng khi xử lý các tri thức khác Thí dụ: mệnh đề có thể là câu đơn giản như “mèo màu đen”, “quả bóng xanh” hay các câu phức tạp như
”trời đầy mây và gió to”
Một sự kiện cũng có thể được dùng để gán giá trị riêng cho một đối tượng nào đó Thí dụ: như câu “màu của quả bóng là xanh” dùng để gán giá trị xanh cho màu sắc của quả bóng Loại sự kiện này được coi như cặp ba đối tượng- thuộc tính- giá trị kí hiệu lạ O-A-V (Object-attribute-value)
Một O-A-V được dùng để thể hiện các mệnh đề đơn giản hay phức tạp Cấu trúc của O-A-V gồm 3 phần ứng với đối tượng, thuộc tính, giá trị thuộc tính Thí dụ: “màu của chiếc ghế là nâu” theo cấu trúc O-A-V thì đối tuợng là chiếc ghế, thuộc tính là màu và giá trị là nâu
Đối tượng thể hiện trong cấu trúc O-A-V có thể được vật lý hoá như cái xe, quả bóng, hay vật trừu tượng như tình yêu, sự sống Thuộc tính là tính chất hay những nét quan trọng để nhận ra đối tượng Giá trị cho biết thuộc tính nhận một thể hiện cụ thể Giá trị có kiểu dữ liệu tuỳ thuộc vào tính chất của thuộc tính có thể là logic, số hay chữ Việc dùng nhiều thuộc tính để mô tả đối tượng như trong các khung hay mạng ngữ nghĩa cho phép mô tả rõ hơn về các đối tượng Đối tượng có thể có nhiều thuộc tính
Trang 32b Thể hiện tri thức nhờ các luật
* Giới thiệu
Các sự kiện do người dùng cung cấp rất có ý nghĩa đối với các hoạt động của hệ chuyên gia Chúng cho phép hệ thống hiểu trạng thái hiện tại của thế giới Đương nhiên khi giải bài toán hệ thống có các tri thức phụ, tri thức bổ sung có quan hệ với các sự kiện này và làm cho tri thức về hệ thống sẽ tăng thêm Một cấu trúc tri thức các sự kiện này và làm cho tri thức về hệ thống sẽ tăng thêm Một cấu trúc tri thức thông dụng dùng trong thiết kế hệ chuyên gia mà yêu cầu sử dụng thêm tri thức bổ sung là các luật
* Định nghĩa luật:
Luật là cấu trúc tri thức dùng để liên kết thông tin đã biết với các thông tin khác; các thông tin này có thể được suy luận để người ta hiểu biết thêm
Tri thức dưới dạng luật được xếp vào các tri thức thủ tục Luật gắn thông tin
đã cho với một vài hoạt động Các hoạt động này có thể là khẳng định về thông tin mới hay là thủ tục sẽ được thực hiện Bằng cách này, luật mô tả cách giải vấn
đề
Về mặt logic, cấu trúc của luật kết nối một hay nhiều giả thiết hay cái có trước trong câu IF với một hay nhiều kết luận hay được gọi là kết quả trong câu
THEN, Thí dụ: IF màu của quả bóng là xanh THEN tôi thích quả bóng
Nói chung phần giả thiết của một luật có thể gồm nhiều giả thiết nhỏ gắn với nhau thông qua phép logic AND hay OR hay cả hai Luật cũng có thể dùng câu ELSE dùng cho suy luận khi giả thiết sai
Trong hệ thống dựa trên luật, người ta thu thập tri thức lĩnh vực trong một tập và lưu chúng trong CSTT của hệ thống Hệ thống dùng các luật này cùng với các thông tin trong bộ nhớ để giải bài toán Khi câu IF của luật khớp với thông tin trong bộ nhớ, hệ thống thực hiện các hoạt động mô tả trong câu then của luật Lúc này luật được xem như thực hiện hay cháy; câu Then được bổ sung vào bộ nhớ Mệnh đề mới này cũng có thể là cho các luật khác được thực hiện
Việc xử lý các luật trong hệ thống dựa trên luật được quản lý bằng một module gọi là bộ suy diễn Thí dụ trên mô tả vài hành động của bộ suy diễn