25/05/2018, 08:41

Xử lý ngôn ngữ tự nhiên

Sự tiến hóa của ngôn ngữ Vấn đề để hiểu được lời nói hành động giống như việc hiểu các vấn đề khác, tương tự như việc hiểu hình ảnh hoặc chẩn đoán y học. Chúng ta đưa ra một tập các đầu vào đa nghĩa và từ đó chúng ta làm ...

Sự tiến hóa của ngôn ngữ

Vấn đề để hiểu được lời nói hành động giống như việc hiểu các vấn đề khác, tương tự như việc hiểu hình ảnh hoặc chẩn đoán y học. Chúng ta đưa ra một tập các đầu vào đa nghĩa và từ đó chúng ta làm ngược lại để quyết định trạng thái nào của thế giới có thể được tạo ra đầu vào. Hiểu được vấn đề của lời nói hành động là phần đặc tả của ngôn ngữ. Một phần của hiểu vấn đề có thể giải thích bằng các lí do logic. Chúng ta nhận thấy rằng các chuỗi logic liên kết lại là cách tốt để mô tả cách mà các từ và các cụm từ phối hợp để tạo ra một cụm từ lớn. Phần khác của việc hiểu vấn đề có thể chỉ được giải thích bởi các lí do kĩ thuật không rõ ràng. Thông thường có nhiều trạng thái của thế giới mà tất cả đều hướng dẫn đến một lời nói hành động tương tự, vì vậy người hiểu phải quyết định cái mà nó dễ xảy ra hơn.

Cơ sở của ngôn ngữ

Một ngôn ngữ hình thức được định nghĩa như một tập các chuỗi kí tự, trong đó mỗi chuỗi kí tự là một chuỗi các biểu tượng được lấy ra từ một tập hữu hạn được gọi là biểu tượng terminal. Một trong những phiền toái khi làm việc với cả ngôn ngữ tự nhiên và ngôn ngữ hình thức là có quá nhiều sự khác biệt hình thức và kí hiệu cho việc viết ngữ pháp. Tuy nhiên, hầu hết chúng đều tương tự như cách mà chúng căn cứ vào ý tưởng của cấu trúc cụm từ - các chuỗi kí tự được soạn thảo của các chuỗi kí tự cơ sở được gọi là cụm từ, dẫn đến các phạm trù khác nhau. Các phạm trù như cụm danh từ, cụm động từ, câu được gọi là biểu tượng nonterminal. Trong kí pháp BNF quy luật viết phù hợp của biểu tượng nonterminal đơn ở bên trái và liên kết của đầu cuối hoặc không đầu cuối viết ở bên phải. Quy luật được viết như trong ví dụ sau:

S → NP VP

Có nghĩa là chúng ta có thể đem bất kì cụm từ NP thêm vào sau bất kì cụm từ VP và kết quả là một cụm từ dạng câu.

Các bước thành phần của giao tiếp:

Một đoạn giao tiếp điển hình, trong đó người nói S muốn truyền đạt lời thông báo P đến người nghe H sử dụng từ W, được sắp xếp trong 7 tiến trình. Ba bước đối với người nói:

Mục đích: S muốn H tin P (trong đó S đặc biệt tin P)

Phát sinh: S chọn từ W (bởi vì chúng nhấn mạnh nghĩa của P)

Tổng hợp: S phát âm từ W ( thường chuyển thẳng chúng đến H)

Bốn bước đối với người nghe

Nhận thức: H nhận thức W’( W’=W, nhưng mất nhận thức là có thể)

Phân tích : H suy luận W’ có thể mang các nghĩa P1…,Pn (từ và cụm từ có thể cónhiều nghĩa)

Ý nghĩa hóa: H suy luận rằng S có ý định truyền đạt Pi (trong đó ý nghĩa Pi=P, nhưngsự mất giải thích là có thể)

Hợp nhất : H quyết định tin tưởng vào Pi, (hoặc loại bỏ nó nếu nó không được Hchắc chắn tin tưởng)

Khả năng phát sinh

Ngữ pháp hình thức có thể được phân loại bởi khả năng phát sinh của chúng: tập các ngôn ngữ mà chúng có thể trình bày. Chomsky (1957) mô tả bốn lớp của ngữ pháp hình thức suy luận. Các lớp này được sắp xếp trong một trật tự thứ bậc, trong đó mỗi lớp có thể được mô tả bởi ít nhất một lớp có quyền, giống như việc có thể thêm vài ngôn ngữ vào. Dưới đây là danh sách các lớp theo cấp bậc từ trên xuống dưới:

Ngữ pháp đệ quy liệt kê sử dụng quy luật không giới hạn: kích thước của quy luật viết lại có thể chứa số lượng bất kì biểu tượng terminal và không đầu cuối. Ngữ pháp này là tương đương với máy Turing.

Ngữ pháp nhạy ngữ cảnh được giới hạn chỉ ở bên phải và phải chứa ít nhất một số biểu tượng ở phía bên trái. Tên “nhạy ngữ cảnh” xuất phát từ một thực tế là một quy luật tương tự như ASB→AXB có nghĩa là một S có thể được viết lại như là một X trong ngữ cảnh của một A có trước và một sự kéo theo B.

Trong ngữ pháp phi ngữ cảnh ở phía bên phải chứa một biểu tượng nonterminal đơn. Vì vậy mỗi quy luật cho phép viết lại không đầu cuối ở bên phải trong bất kì ngữ cảnh nào.

Ngữ pháp thông thường là lớp được giới hạn nhất. Ngữ pháp thông thường là tương đương trong máy có số trạng thái hạn chế. Chúng không phù hợp lắm cho ngôn ngữ lập trình, vì chúng không thể xây dựng được cách trình bày giống như sự cân bằng của dầu mở và đóng ngoặc đơn.

Để đưa ra cho các bạn một ý tưởng ngôn ngữ nào được điều khiển bởi lớp nào, ngôn ngữ anbn (một chuỗi n bản sao của a kéo theo bởi một số lượng tương tự của b) có thể được phát sinh bởi ngữ pháp phi ngữ cảnh, nhưng không phải là ngữ pháp thông thường. Ngôn ngữ đó yêu cầu một ngữ pháp nhạy ngữ cảnh, trong khi ngôn ngữ a*b* (một sự phối hợp của bất kì một số của a theo sau bởi một số bất kì của b) có thể được mô tả bởi một trong 4 lớp trên. Một bảng tóm tắt của 4 lớp:

Lớp Quy luật ví dụ Ngôn ngữ ví dụ
Ngữ pháp liệt kê đệ quy AB →C Bất kì
Nhạy ngữ cảnh AB→BA anbncn
Ngữ cảnh tự do S→ a S b anbn
Thông thường S→ a S a*b*

Vấn đề nói và nghe.

Mục đích: Bằng cách này hay cách khác người nói quyết định rằng sẽ có một số cái mà nó đáng để nói với người nghe. Điều này thường bao gồm cả đức tin và mục đích của người nghe vì thế khi nói sẽ có sự tác dụng ao ước. Trong ví dụ của chúng ta người nói có mục đích cho người nghe biết wumpus không còn sống nữa.

Sự phát sinh: Người nói sử dụng kiến thức về ngôn ngữ để quyết định xem nói như thế nào. Trong nhiều cách sẽ khó khăn hơn việc lật ngược vấn đề của sự hiểu biết (ví dụ như phân tích và chuyển thành nghĩa). Sự phát sinh này không bị ép nhiều như sự hiểu biết trong trí tuệ nhân tạo, chủ yếu bởi vì con người chúng ta hay băn khoăn khi nói với máy, nhưng lại không bị kích động khi chúng nói lại. Bâygiờ chúng ta chỉ cho rằng người nghe có thể chọn từ “the wumpus is dead”.

Tổng hợp: Hầu hết các ngôn ngữ đều căn cứ vào dạng hệ thống phân tích đầu ra của trí tuệ nhân tạo trên màn hình hoặc trên giấy. Tổng hợp lời nói đang được phát triển rộng rãi và một vài hệ thống đã bắt đầu nghe tiếng người. Chi tiết của kí pháp không quan trọng, điều này có nghĩa là âm thanh được phân tích rất khác với từ được nhân vật phát sinh. Mặc dù các từ phải đi liền với nhau, đây là một đặc điểm của việc nói nhanh.

Nhận thức. Bình thường là lời nói, bước nhận thức được gọi là nhận dạng lời nói, khi nó được đưa ra máy in, nó được gọi là nhận dạng đặc điểm quang học. Cả hai đều chuyển đến người quan tâm. Chẳng hạn, chúng ta cho rằng người nghe nhận thức được âm thanh và thu lại hoàn toàn lời nói.

Phân tích. Chúng ta phân tích chúng thành hai phần chính: cách hiểu về cú pháp (hay phân tích cú pháp) và sự giải thích về ngữ nghĩa. Sự giải thích về ngữ nghĩa bao gồm cả việc hiểu nghĩa của từ và hợp nhất kiến thức của tình huống hiện tại (cũng được gọi là sự giải thích thực tế).

Phân tích cú pháp từ. Xuất phát từ cụm từ Latin par orationis, hoặc “part of speech” và ám chỉ sự chuyển nhượng một phần của lời nói (danh từ, động từ) đến mỗi từ trong câu và nhóm các từ trong cụm từ.

Một cây phân tích từ loại là một cây mà bên trong các nút tương ứng với các cụm từ, liên kết với các ứng dụng của quy luật ngữ pháp, và các nút lá tương úng với các từ. Nếu chúng ta định nghĩa số lượng của một nút như là một danh sách tất cả các lá ở bên dưới của nút đó theo thứ tự từ trái sang phải. Khi đó, chúng ta có thể nói rằng ý nghĩa của một cây phân tích từ loại là mỗi nút, với nhãn X xác định số lượng của nút đó là một cụm từ của phạm trù X.

Giải thích ngữ nghĩa là quá trình rút ra ý nghĩa của một lời nói của một sự diễn đạt trong một sự trình diễn ngôn ngữ. Chúng ta sử dụng logic như sự trình diễn ngôn ngữ, nhưng sự trình diễn ngôn ngữ khác không được sử dụng.

Giải thích thực tế là một phần của sự giải thích về ngữ nghĩa mà nó mang tình huống hiện thời vào bảng mô tả.

Chuyển thành ý nghĩa. Hầu hết các người nói đều không cố ý nói đa nghĩa, nhưng hầu hết lời nói đều có nhiều sự giải thích hợp lí. Giao tiếp làm việc bởi vì người nghe đã làm việc định hình một nghĩa mà người nghe hầu như chắc chắn truyền đạt. chú ý rằng đây là lần đầu tiên chúng sử dụng từ hầu như chắc chắn và việc chuyển thành ý nghĩa này là tiến trình đầu tiên mà nó phụ thuộc rất nhiều vào lý do không chắc chắn. Phân tích sự giải thích có thể: nếu có nhiều hơn một sự giải thích được tìm thấy, khi đó việc chuyển thành ý nghĩa sẽ chọn lấy một ý nghĩa tốt nhất.

Hợp nhất.

Về tổng thể, một nhân vật có thể tin vào mọi thứ mà anh ta nghe thấy, nhưng một người thông minh sẽ xem xét từ W và xuất phát từ sự giải thích Pi như là một phần thêm vào của các bằng chứng được cân nhắc kỹ lưỡng với tất cả các bằng chứng khác chống lại Pi.

Nó chỉ làm nên câu để sử dụng ngôn ngữ khi các nhân vật giao tiếp với người (a) hiểu được ngôn ngữ thông thường, người (b) có một ngữ cảnh mà nó căn cứ vào cuộc hội thoại đó, và người (c) ít nhất có một phần lý trí. Giao tiếp không làm việc khi các nhân vật hoàn toàn không hợp lí,bởi vì không có cách nào để dự báo một nhân vật không hợp lí sẽ phản ứng lại một lời nói hành động.

Hai mô hình của giao tiếp

Nghiên cứu của chúng ta về trung tâm giao tiếp là cách mà một niềm tin của nhân vật thay đổi vào từ và trở lại với niềm tin và kiến thức cơ bản của một nhân vật khác. Có hai cách để xem xét quá trình này:

Mô hình bản tin mã hóa

Mô hình bản tin mã hóa nói rằng người nói xác định một nhận định P trong ý nghĩ và mã hóa gợi ý này vào trong từ (hoặc kí hiệu) W. Người nghe sau đó sẽ cố gắng mã hóa bản tin W để lấy lại nguyên bản P (ví dụ như mã Morse). Dưới mô hình này ý nghĩa ở trong đầu người nói, bản tin mà nó được chuyển đi mà người nghe nhận được tất cả ý nghĩ có số lượng tương tự. Khi chúng không giống nhau thì nguyên nhân là do tiếng ồn trong khi giao tiếp hoặc một lỗi trong khi mã hay giải mã.

Mô hình tình huống giao tiếp

Hạn chế của bản tin mã hóa dẫn đến mô hình tình huống giao tiếp, là mô hình cho rằng ý nghĩa của một bản tin phụ thuộc vào cả từ ngữ và cả tình huống mà trong đó các từ được phát âm. Trong mô hình này, chỉ cần trong một phép tính tình huống, các hàm mã và giải mã đã thêm vào một đối số điển hình cho một tình huống mới. Bản mô tả cho sự việc mà những từ tương tự có thể có rất nhiều nghĩa cho những tình huống khác nhau.

Mô hình tình huống ngôn ngữ chỉ ra một nguồn của giao tiếp không thành công: nếu như người nói và người nghe có những ý tưởng khác nhau của tình huống hiện thời có thể, khi đó bản tin có thể không được thông qua như ý định.

Giao tiếp sử dụng ngôn ngữ hình thức

Hầu hết các đối tượng giao tiếp thông qua ngôn ngữ hơn là thông qua truy cập trực tiếp đến kiến thức cơ sở. Hình 1 cho một sơ đồ giao tiếp kiểu này. Đối tượng có thể thực hiện hành động mà nó sinh ra ngôn ngữ, với đối tượng khác có thể nhận biết được. Ngôn ngữ giao tiếp bên ngoài có thể khác so với ngôn ngữ mô tả bên trong, mỗi đối tượng có thể có ngôn ngữ bên trong khác nhau. Chúng không cần thiết phải đồng ý trên bất kì một kí hiệu bên trong nào miễn là mỗi một đối tượng có thể vẽ một bản đồ đáng tin cậy từ ngôn ngữ bên ngoài đến kí hiệu bên trong của chính nó.

Hai đối tượng giao tiếp với ngôn ngữ

Một ngôn ngữ giao tiếp bên ngoài mang theo vấn đề tổng hợp và giao tiếp, và nhiều nỗ lực trong xử lý ngôn ngữ tự nhiên dẫn đến việc quyết định một thuật toán cho hai bước trên. Nhưng vấn đề khó khăn nhất của giao tiếp với ngôn ngữ vẫn là vấn đề: sự phù hợp kiến thức cơ bản của những đối tượng khác nhau. Đối tượng A nói như thế nào và làm sao đối tượng B dịch được trạng thái phụ thuộc chủ yếu trên những gì mà A và B thực sự tin tưởng (bao gồm những gì mà chúng tin và niềm tin lẫn nhau của chúng). Điều này có nghĩa là những đối tượng mà chúng có cùng ngôn ngữ bên trong và bên ngoài sẽ có một thời gian dễ dàng để tổng hợp và phân tích, nhưng chúng vẫn phải tìm hiểu để quyết định phải nói với nhau như thế nào.

Trong phần này chúng ta xem xét việc phát triển từ lĩnh vực trò chơi sang các hệ thống thực có hiệu quả trong các công việc về ngôn ngữ. Chúng ta cũng đã thấy một vài kĩ thuật dịch các câu từ một tập hợp tiếng Anh đơn giản các vấn đề đó là:

Các ứng dụng thực tế: các công việc về ngôn ngữ tự nhiên được chứng minh có hiệu quả. Xử lý bài luận: vấn đề nắm bắt đoạn văn có nhiều câu.

Hiệu quả của việc phân tích ngữ pháp: các thuật toán phân tích cú pháp và dịch các câu nhanh.

Tăng cường về thuật ngữ: quan tâm tới các từ không thường dùng hoặc không biết. Tăng cường về ngữ pháp: quan tâm tới các ngữ pháp phức tạp.

Dịch theo nghĩa: một số vấn đề cần dịch theo nghĩa hơn là dịch theo các hàm đơn giản. Ngữ nghĩa: cách chọn phép dịch đúng.

Chúng ta bắt đầu xem xét các hệ thống đã thành công trong việc đưa ngôn ngữ tự nhiên vào ứng dụng thực tế. Các hệ thống này đều có chung hai tính chất: một là chúng đều tập chung vào một lĩnh vực nhất định chứ không cho phải là tất cả, hai là chúng chỉ tập chung vào một nhiện vụ cụ thể chứ không đòi hỏi hiểu toàn bộ ngôn ngữ.

Truy nhập cơ sở dữ liệu

Lĩnh vực đầu tiên thành công đối với việc xử lí ngôn ngữ tự nhiên là truy cấp CSDL. Vào năm 1970, nhiều CSDL trong các máy tính KHUNG CHÍNH (mainframe), nhưng chỉ truy cập được bằng cách viết các chương trình hoàn thiện bằng các ngôn ngữ khó hiểu. Nhân viên phục vụ trong các máy mainframe không thể đáp ứng tất cả các đòi hỏi của người sử dụng, còn người sử dụng không muốn học cách lập trình. Giao diện ngôn ngữ tự nhiên được đưa ra để giải quyết vấn đề này. Đầu tiên là giao diện của hệ thống LUNAR, một phương thức được xây dựng bởi William Woods (1973) và nhóm của mình cho trung tâm NASA. Nó cho phép, ví dụ, một nhà địa chất hỏi về dữ liệu hoá học của các mẫu đất đá trên mặt trăng được mang về từ tầu Apollo. Hệ thống này không thể sử dụng ở thế giới thực, nhưng trong một kiểm nghiệm nó thành công 78% các câu hỏi như là:

What is the average model plagioclase concentration for lunar samples that contain rubidium?

Hệ thống sơ đồ Fernando Pereira’s (Pereira, 1983) là một hệ thông tương đương. Nó trả lời như sau về các câu hỏi về CSDL địa lý như:

Q: Which countries are bounded by two seas? A: Egypt, Iran, Israel, Saudi Arabia and Turkey.

Q: Whats are the counties from which a river flows into Black sea? A: Romania, Soviet Union.

Thuận lợi của các hệ thống như vậy mang lại rõ ràng. Nhưng có bất lợi là người sử dụng không biết khi nào thành công và những từ nào nằm ngoài hệ thống. Vào cuối thế kỷ trước, một vài hệ thống thương mại đã xây dựng một số lượng đủ lớn các từ, ngữ pháp đáp ứng diện rộng các văn bản. Cảnh báo chính trong các hệ thống hiện tại là sự tác động qua lại lẫn nhau. Người sử dụng sẽ hỏi một dãy các câu hỏi mà ở đó có một số câu hỏi lại liên quan đến các câu hỏi hoặc trả lời truớc đó.

What countries are north of the equator? How about south?

Show only the ones outside Australasia? What is their total area?

Một số hệ thống coi vấn đề đó như giới hạn.

Trong những năm 1990, nhiều công ty như Natural Language Inc. và Symatec vẫn bán các công cụ truy cập dữ liệu sử dụng ngôn ngữ tự nhiên, nhưng những khách hàng không thích mua sản phẩm dựa trên ngôn ngữ tự nhiên hơn là các giao diện đồ hoạ. Ngôn ngữ tự nhiên không phải là con đường tự nhiên nhất (ví dụ chuột và click).

Thu thập thông tin

Thu thập thông tin là lấy từ một văn bản ra một số dữ liệu phù hợp với một câu hỏi. Một số tài liệu được miêu tả bởi đại diện, như tiêu đề, danh sách từ khoá, hoặc tóm tắt. Hiện nay có quá nhiều thông tin trực tuyến, tốt nhất là sử dụng toàn bộ văn bản, có thể chia thành các đoạn, mỗi đoạn coi như một tài liệu riêng biệt cho việc mục đích thu thập thông tin. Các câu hỏi thường là danh sách các từ khoá. Trong các hệ thống thu thập thông tin ban đầu, các câu hỏi là sự kết hợp logic các từ khoá. Khi một câu hỏi không tìm thấy tài liệu, ví dụ, nó không đủ rộng để tìm được một vài tài liệu. Chuyển một “and” thành một “or” là một khả năng; thêm vào một ngăn cách là một khả năng nữa, nhưng có khi lại tìm thấy quá nhiều và không đủ hướng dẫn.

Hầu hết các hệ thống hiện đại đều chuyển từ kiểu logic sang kiểu không gian vector, trong đó danh sách các từ (cả trong tài liệu, trong câu hỏi) đều được coi như một vettor trong không gian n-chiều, ở đó n là số dấu hiệu phân biệt của tập hợp tài liệu. Nó sẽ được coi như một vector. Khi đó việc tìm các tài liệu chính là việc so sánh vector này với tập hợp các vector khác và đưa ra những véc tơ gần nhất với nó. Kiểu véctơ linh động hơn kiểu logic bởi vì có thể sắp xếp các tài liệu bởi khoảng cách tới câu hỏi, và tài liệu nào gần nhất được báo cáo trước.

Kiểu này có nhiều dạng. Một vài hệ thống cho phép các câu hỏi phát biểu rằng hai từ phải xuất hiện gần nhau mới được đếm như một lần, một vài hệ thống khác sử dụng từ điển đồng nghĩa làm tăng thêm các từ trong câu hỏi bằng các từ đồng nghĩa với nó. Chỉ những hệ thống tồi nhất mới đếm tất cả các số hạng trong vector tương đương. Nhiều hệ thống đánh giá trọng lượng các số hạng khác nhau. Cách tốt nhất là cho số hạng trọng lượng lớn nếu nó là từ đặc trưng: nếu nó xuất hiện trong một số ít các văn bản hơn là trong nhiều văn bản.

Phân loại văn bản

Kỹ thuật xử lý ngôn ngữ tự nhiên (NLP: Natural Language Processing) đã thành công trong một công việc liên quan: sắp xếp văn bản theo các chủ đề xác định. Một số hệ thống thương mại truy cập thông tin của các bức điện báo theo cách này. Một người thuê bao có thể hỏi tất cả các thông tin trong các lĩnh vực công nghiệp, thương mại, hoặc địa lí. Các nhà cung cấp đã sử dụng kiến thức của các chuyên gia để xác định các lớp. Trong vài năm gần đây, các hệ thống NLP đã được chứng minh tính đúng đắn, phân lớp chính xác trên 90% các thông tin thời sự. Chúng cũng nhanh hơn và thích hợp hơn, và đã có sự chuyển đổi từ thủ công sang các hệ thống tự động.

Phân loại văn bản tuân theo các kĩ thuật NLP không phải là gọi lại (IR : Information Retrieval) bởi vì sự phân lớp là cố định, và những người xây dựng các hệ thống đó đã tập trung kết hợp các chương trình của họ với vấn đề đó.

Lấy dữ liệu vào văn bản

Lấy dữ liệu từ một văn bản là lấy ra một vài thông tin yêu cầu để có thể đưa vào một cấu trúc dữ liệu.

Hiệu quả phân tích từ

Trong phần này, chúng ta xem xét tính hiệu quả của thuật toán phân tích từ. ở mức broadest, có ba vấn đề chính làm tăng hiệu quả: Không làm hai lần cái gì có thể làm một lần. Không làm nếu có thể tránh được. Không trình bày riêng lẻ nếu không cần.

Đặc biệt, chúng ta sẽ thiết kế một thuật toán phân tích từ thực hiện như sau:

Chúng ta đã nhận thấy rằng “the students in section 2 of Computer Science 101” là danh từ NP (Noun Phrase), đó là một ý tưởng để thấy rằng kết quả trong một cấu trúc dữ liệu đã biết là một sơ đồ. Các thuật toán này được gọi là phân tích từ loại theo sơ đồ. Bởi vì chúng ta đang quan tâm tới các ngữ pháp ngữ cảnh tự do (context-free), mọi mệnh đề tìm thấy trong ngữ cảnh của một nhánh trong không gian tìm kiếm cũng có thể phải làm việc như vậy trong nhánh khác của không gian tìm kiếm. Ghi nhận các kết quả trong sơ đồ là mẫu cho việc lập trình tránh việc lặp lại.

Chúng ta thấy rằng thuật toán phân tích sơ đồ kết hợp việc xử lý trên xuống (top-down) và dưới lên (bottom-up).

Sơ đồ phân tích câu “The agent feels a breeze”

Kết quả của thuật toán là một rừng được đóng gói (packed forest) của các cây phân tích hợp thành không chỉ là việc đếm mọi khả năng có thể.

Sơ đồ là một cấu trúc dữ liệu mô tả các kết quả thành phần của quá trình phân tích được dùng lại. Một sơ đồ cho một câu n từ gồm n+1 đỉnh và một số cạnh nối với các vector. Hình 2 biểu diễn một sơ đồ với 6 đỉnh và 3 cạnh. Ví dụ, cạnh có nhãn [0,5, S - NP VP*] có nghĩa là danh từ NP (Noun Phrase) đi theo bởi động từ VP (Verb Phrase) để tạo ra một mệnh đề S (S: sentnce) mà trải theo chuỗi từ 0 đến 5. Dấu * trong một cạnh tách được tìm thấy từ các phần còn lại. Các cạnh với dấu * ở cuối được gọi là cạnh hoàn thiện; ví dụ cạnh [0, 2 S - NP*VP]

Ta nói rằng một NP trải chuỗi từ 0 đến 2, và nếu có thể tìm một VP theo sau nó, sẽ có một S. Các cạnh với dấu chấm trước dấu kết thúc gọi là cạnh không hoàn thiện, và nó đang tìm một VP. Chúng ta đã biết hai cách xem xét quá trình xử lý. Trong cách phân tích Bottom - Up trong trang sau, chúng ta miêu tả xử lý như một quá trình xây dựng các từ vào cây, quay lui khi cần thiết. Với ngữ pháp mệnh đề nhất định (Definite Clause Grammar), chúng ta miêu tả việc xử lý như một mẫu của suy luận logic trong các chuỗi (string). Việc quay lui đã được sử dụng khi một vài qui tắc có thể điều khiển cùng một dự đoán. Bây giờ chúng ta sẽ xem cách tiếp cận thứ ba. Dưới cách nhìn này, quá trình phân tích một câu n - từ gồm một sơ đồ mẫu với n + 1 đỉnh và thêm vào một số cạnh để biểu diễn, cố gắng tạo ra một cạnh hoàn thiện mà trải ra từ đỉnh 0 tới đỉnh n và là sự phân lớp S. Không có việc quay lui: tất cả mọi thứ được đặt trong sơ đồ này.

Phân tích mở rộng từ sơ đồ : Đóng gói

Khi thuật toán phân tích sơ đồ kết thúc, nó trả về toàn bộ sơ đồ, nhưng chúng ta thực sự cần là một cây (tree) (hoặc một số cây). Phụ thuộc việc phân tích được sử dụng, chúng ta muốn chọn một hoặc toàn bộ cây phân tích mà trải toàn bộ đầu vào, hoặc chúng ta muốn xem xét một số cây con mà không trải ra trên toàn bộ đầu vào. Nếu có một ngữ pháp bổ sung, có thể chúng ta chỉ muốn tìm mở rộng ngữ nghĩa, bỏ qua các cấu trúc cú pháp. Trong mọi trường hợp, chúng ta cần khả năng phân tích mở rộng từ một sơ đồ.

Cách dễ nhất để làm việc đó là sửa bộ hòan thiện (Completer) sao cho khi nó kết hợp hai cạnh con tạo thành cạnh cha. Nó chứa trong cạnh cha danh sách các cạnh con mà cấu thành nó. Sau đó, khi phân tích chỉ cần tìm trong chart[n] cho một cạnh bắt đầo tại 0, đệ quy tại danh sách các cạnh con để tạo ra cây phân tích hoàn thiện. Chỉ phép biện chứng quyết định cái gì thực hiện phân tích mở rộng trên.

Chúng ta kết thúc vấn đề bằng việc phân tích độ phức tạp thuật toán đó là O(n3) trong trường hợp xấu nhất (ở đó n là số từ đầu vào). Trường hợp tốt nhất có thể đạt được là ngữ pháp ngữ cảng tự do (context-free grammar). Chú ý, nếu thiếu rừng đóng gói, thuật toán sẽ bùng nổ trong trường hợp xấu nhất, bởi vì nó là khả năng có O(2n) cây phân tích khác nhau. Trong thực tế, có thể thực hiện thuật toán để phân tích với yêu cầu 100 từ một giây, với sự biến đổi phụ thuộc vào độ phức tạp của ngữ pháp và đầu vào.

Dấu hiệu cú pháp

Sự thay đổi như động từ, giới từ sinh ra nhiều sự nhập nhằng, bởi vì chúng có thể dẫn tới một vài sự khác biệt. Ví dụ:

Lee asked Kim to tell Toby to leave on Saturday.

Phó từ “Saturday” có thể được hỏi cho tell hoặc leave.

Dấu hiệu từ vựng

Có nhiều từ nhập nhằng, nhưng tất cả không giống nhau. Khi hỏi nghĩa của từ “pen”, hầu hết mọi người đều trả lời là một công cụ để viết. Mặc dù nó còn các nghĩa khác như hàng rào, nhà lao, con thiên nga đực.

Vào những năm 60 của thế kỉ trước, người ta hi vọng máy tính có thể dịch từ một ngôn ngữ tự nhiên này sang một ngôn ngữ tự nhiên khác, đơn giản như máy Turing “dịch” các bản văn mã thành các bản văn rõ. Nhưng vào năm 1966, người ta nhận thấy rằng việc dịch đòi hỏi một sự hiểu biết về nghĩa của văn bản (và hơn nữa là những hiểu biết chi tiết về thế giới), trong khi đó việc giải mã chỉ phụ thuộc vào các tính chất ngữ pháp của văn bản.

Điều đó không làm mất ý nghĩ về việc dịch máy. Thực tế đã có nhiều hệ thống dịch máy, hàng ngày đã tiết kiệm rất nhiều so với việc xử lý hoàn toàn thủ công. Một trong hệ thống thành công nhất là hệ thống TAUM METEO, được phát triển bởi trường đại học Montral. Nó đã dịch các báo cáo thời tiết từ tiếng Anh sang tiếng Pháp. Nó làm được việc này bởi vì ngôn ngữ được sử dụng trong các báo cáo thời tiết của chính phủ có mẫu và quy tắc chặt chẽ.

Một lĩnh vực khác rộng hơn, mà kết quả gây ấn tượng không kém, đó là hệ thống SPANAM (Vascocellos và Leon, 1985). Nó có thẻ dịch một đoạn văn bản tiếng Tây Ban Nha sang tiếng Anh với chất lượng hầu như hiểu được tất cả, nhưng không đúng ngữ pháp và hiếm khi trôi chảy. Việc dịch máy là không đầy đủ. Nhưng khi người dịch có được văn bản như vậy, người dịch có thể dịch nhanh gấp bốn lần. Một số người có thể dịch thẳng từ văn bản đó không cần đọc bản gốc. Giá phải trả đối với hiệu quả của việc dịch máy là để có các thông tin rộng rãi, hệ thống dịch máy phải có lượng từ vựng từ 20.000 đến 100.000 từ và 100 đến 10.000 quy tắc ngữ pháp. Các con số đó phụ thuộc vào việc chọn hình thức dịch.

Việc dịch là khó vì, trong trường hợp tổng quát, nó đòi hỏi hiểu biết sâu sắc về văn bản, và tình huống trong giao tiếp. Thực vậy, ngay cả đối với các văn bản rất đơn giản - thậm chí chỉ có một từ. Xét từ “Open” trên cửa ra vào của một cửa hàng. Nó có nghĩa là đang đón khách. Cũng từ “Open” trên một biển quảng cáo lớn của một nhà hàng mới khánh thành, nó có nghĩa là nhà hàng đang trong những ngày làm việc, nhưng người đọc không cảm thấy bị lừa dối khi nhà hàng đóng cửa vào ban đêm mà không tháo biển quảng cáo. Một từ có thể mang nhiều nghĩa khác nhau. Trong một số ngôn ngữ khác, có một từ hoặc cụm từ như vậy sẽ được sử dụng trong cả hai trường hợp.

Vấn đề đó cho thấy trong các ngôn ngữ khác nhau sự phân loại từ là khác nhau. Để dịch tốt, người dịch (người, máy) phải đọc văn bản gốc hiểu được nghĩa mà nó mô tả, và tìm một văn bản tương ứng trong ngôn ngữ đích có một nghĩa tương đương. Ở đây có nhiều lựa chọn. Người dịch (cả máy và người) đôi khi khó có một sự lựa chọn.

Tổng quan về tiếng nói

Nhận dạng tiếng nói là một hệ thống tạo khả năng để máy nhận biết ngữ nghĩa của lời nói. Về bản chất, đây là quá trình biến đổi tín hiệu âm thanh thu được của người nói qua Micro, đường dây điện thoại hoặc các thiết bị khác thành một chuỗi các từ. Kết quả của quá trình nhận dạng có thể được ứng dụng trong điều khiển thiết bị, nhập dữ liệu, soạn thảo văn bản bằng lời, quay số điện thoại tự động hoặc đưa tới một quá trình xử lý ngôn ngữ ở mức cao hơn.

Các phần tử cơ bản của một hệ thống nhận dạng tiếng nói

Các hệ thống nhận dạng tiếng nói có thể được phân loại như sau:

• Nhận dạng từ phát âm rời rạc/liên tục;

• Nhận dạng tiếng nói phụ thuộc người nói/không phụ thuộc người nói;

• Hệ thống nhận dạng từ điển cớ nhỏ (dưới 20 từ)/từ điển cỡ lớn (hàng nghìn từ);

• Nhận dạng tiếng nói trong môi trường có nhiễu thấp/cao;

• Nhận dạng người nói.

Trong hệ nhận dạng tiếng nói với cách phát âm rời rạc có khoảng lặng giữa các từ trong câu. Trong hệ nhận dạng tiếng nói liên tục không đòi hỏi điều này. Tùy thuộc vào quy mô và phương pháp nhận dạng, ta có các mô hình nhận dạng tiếng nói khác nhau. Hình 2 là mô hình tổng quát của một hệ nhận dạng tiếng nói điển hình .

Tín hiệu tiếng nói sau khi thu nhận được lượng tử hóa sẽ biến đổi thành một tập các vector tham số đặc trưng với các phân đoạn có độ dài trong khoảng 10-30 ms. Các đặc trưng này được dùng cho đối sánh hoặc tìm kiếm các từ gần nhất với một số ràng buộc về âm học, từ vựng và ngữ pháp. Cơ sở dữ liệu tiếng nói được sử dụng trong quá trình huấn luyện (mô hình hóa/phân lớp) để xác định các tham số hệ thống.

Các phương pháp tiếp cận trong nhận dạng tiếng nói

Có ba phương pháp phổ biến được sử dụng trong nhận dạng tiếng nói hiện nay là:

• Phương pháp Âm học-Ngữ âm học;

• Phương pháp nhận dạng mẫu;

• Phương pháp ứng dụng trí tuệ nhân tạo.

Các phương pháp được trình bày tóm tắt như dưới đây.

Phương pháp Âm học-Ngữ âm học

Phương pháp này dựa trên lý thuyết về Âm học-Ngữ âm học. Lý thuyết đó cho biết: tồn tại các đơn vị ngữ âm xác định, có tính phân biệt trong lời nói và các đơn vị ngữ âm đó được đặc trưng bởi một tập các tín hiệu tiếng nói. Các bước nhận dang của phương pháp gồm:

Bước 1: phân đoạn và gán nhãn. Bước này chia tín hiệu tiếng nói thành các đoạn có đặc tính âm học đặc trưng cho một (hoặc một vài) đơn vị ngữ âm, đồng thời gán cho mỗi đoạn âm thanh đó một hay nhiều nhãn ngữ âm phù hợp.

Bước 2: nhận dạng. Bước này dựa trên một số điều kiện ràng buộc về từ vựng, ngữ pháp v.v… để xác định một hoặc một chuỗi từ đúng trong các chuỗi nhãn ngữ âm được tạo ra sau bước 1. Sơ đồ khối của phương pháp này được biểu diễn ở Hình 2. Nguyên lý hoạt động của phương pháp có thể mô tả như sau:

Trích chọn đặc trưng. Tín hiệu tiếng sau khi số hóa được đưa tới khối trích chọn đặc trưng nhằm xác định các phổ tín hiệu. Các kỹ thuật trích chọn đặc trưng tiếng nói phổ biến là sử dụng băng lọc (filter bank), mã hóa dự đoán tuyến tính (LPC)…

Tách tín hiệu tiếng nói nhằm biến đổi phổ tín hiệu thành một tập các đặc tính mô tả các tính chất âm học của các đơn vị ngữ âm khác nhau. Các đặc tính đó có thể là: tính chất các âm mũi, âm xát; vị trí các formant; âm hữu thanh, vô thanh; tỷ số mức năng lượng tín hiệu…

Phân đoạn và gán nhãn. Ở bước này hệ thống nhận dạng tiếng xác định các vùng âm thanh ổn định (vùng có đặc tính thay đổi rất ít) và gán cho mỗi vùng này một nhãn phù hợp với đặc tính của đơn vị ngữ âm. Đây là bước quan trọng của hệ nhận dạng tiếng nói theo khuynh hướng Âm học-Ngữ âm học và là bước khó đảm bảo độ tin cậy nhất.

Nhận dạng. Chọn lựa để kết hợp chính xác các khối ngữ âm tạo thành các từ nhận dạng. Đặc điểm của phương pháp nhận dạng tiếng nói theo hướng tiếp cận Âm học-Ngữ âm học:

• Người thiết kế phải có kiến thức khá sâu rộng về Âm học-Ngữ âm học;

• Phân tích các khối ngữ âm mang tính trực giác, thiếu chính xác;

• Phân loại tiếng nói theo các khối ngữ âm thường không tối ưu do khó sử dụng các công cụ toán học để phân tích.

Sơ đồ khối nhận dạng tiếng nói theo Âm học-Ngữ âm học

Phương pháp nhận dạng mẫu

Sơ đồ khối hệ nhận dạng tiếng nói theo phương pháp mẫu

Phương pháp nhận dạng mẫu không cần xác định đặc tính âm học hay phân đoạn tiếng nói mà sử dụng trực tiếp các mẫu tín hiệu tiếng nói trong quá trình nhận dạng. Các hệ thống nhận dạng tiếng nói theo phương pháp này được phát triển theo hai bước (Hình 4,5), cụ thể là.

Bước 1: Sử dụng tập mẫu tiếng nói (cơ sở dữ liệu mẫu tiếng nói) để đào tạo các mẫu tiếng nói đặc trưng (mẫu tham chiếu) hoặc các tham số hệ thống.

Bước 2: Đối sánh mẫu tiếng nói từ ngoài với các mẫu đặc trưng để ra quyết định.

Trong phương pháp này, nếu cơ sở dữ liệu tiếng nói cho đào tạo có đủ các phiên bản mẫu cấn nhận dạng thì quá trình đào tạo có thể xác định chính xác các đặc tính âm học của mẫu (các mẫu ở đây có thể là âm vị, từ, cụm từ…). Hiện nay, một số kỹ thuật nhận dạng mẫu được áp dụng thành công trong nhận dạng tiếng nói là lượng tử hóa vector, so sánh thời gian động (DTW), mô hình Markov ẩn (HMM), mạng nơron nhân tạo (ANN).

Hệ thống bao gồm các hoạt động sau:

Trích chọn đặc trung: Tín hiệu tiếng nói được phân tích thành chuỗi các số đo để xác định mẫu nhận dạng. Các số đo đặc trưng là kết quả xử lý của các kỹ thuật phân tích phổ như: lọc thông dải, phân tích mã hóa dự đoán tuyến tính (LPC), biến đổi Fourier rời rạc (DFT).

Huấn luyện mẫu: Nhiều mẫu tiếng nói ứng với các đơn vị âm thanh cùng loại dùng để đào tạo các mẫu hoặc các mô hình đại diện, được gọi là mẫu tham chiếu hay mẫu chuẩn.

Nhận dạng: Các mẫu tiếng nói được đưa tới khối phân loại mẫu. Khối này đối sánh mẫu đầu vào với các mẫu tham chiếu. Kối nhận dạng căn cứ vào các tiêu chuẩn đánh giá để quyết định mẫu tham chiếu nào giống mẫu đầu vào.

Một số đặc điểm của phương pháp nhận dạng mẫu:

• Hiệu năng của hệ phụ thuộc vào số mẫu đưa vào. Nếu số lượng mẫu càng nhiều thì độ chính xác của hệ càng cao; tuy nhiên, dung lượng nhớ và thời gian luyện mẫu tăng.

• Các mẫu tham chiếu phụ thuộc vào môi trường thu âm và môi trường truyền dẫn.

• Không đòi hỏi kiến thức sâu về ngôn ngữ.

• Phương pháp ứng dụng trí tuệ nhân tạo

Phương pháp ứng dụng trí tuệ nhân tạo kết hợp các phương pháp trên nhằm tận dụng tối đa các ưu điểm của chúng, đồng thời bắt chước các khả năng của con người trong phân tích và cảm nhận các sự kiện bên ngoài để áp dụng vào nhận dạng tiếng nói. Sơ đồ khối của phương pháp trí tuệ nhân tạo theo mô hình từ dưới lên (bottom-up) (Hình 4.4).

Đặc điểm của các hệ thống nhận dạng theo phương pháp này là:

Sử dụng hệ chuyên gia để phân đoạn, gán nhãn ngữ âm. Điều này làm đơn giản hóa hệ thống so với phương pháp nhận dạng ngữ âm.

Sử dụng mạng nơron nhân tạo để học mối quan hệ giữa các ngữ âm, sau đó dùng nó để nhận dạng tiếng nói.

Sơ đồ khối hệ nhận dạng tiếng nói theo phương pháp từ dưới lên

Việc sử dụng hệ chuyên gia nhằm tận dụng kiến thức con người vào hệ nhận dạng:

Kiến thức về âm học: để phân tích phổ và xác định đặc tính âm học của các mẫu tiếng nói. Kiến thức về từ vựng: sử dụng để kết hợp các khối ngữ âm thành các từ cần nhận dạng. Kiến thức về cú pháp: nhằm kết hợp các từ thành các câu cần nhận dạng.

Kiến thức về ngữ nghĩa: nhằm xác định tính logic của các câu đã được nhận dạng.

Có nhiều cách khác nhau để tổng hợp các nguồn kiến thức vào bộ nhận dạng tiếng nói. Phương pháp thông dụng nhất là xử lý ”từ dưới lên”. Theo cách này, tiến trình xử lý của hệ thống được triển khai tuần tự từ thấp lên cao. Trong Hình 6, các bước xử lý ở mức thấp (phân tích tín hiệu, tìm đặc tính, phân đoạn, gán nhãn) được triển khai trước khi thực hiện các bước xử lý ở mức cao (phân lớp âm thanh, xác định từ, xác định câu). Mỗi bước xử lý đòi hỏi một hoặc một số nguồn kiến thức nhất định. Ví dụ: bước phân đoạn tiếng nói cần hiểu biết sâu sắc về đặc tính Âm học-Ngữ âm học của các đơn vị ngữ âm; bước xác định từ đòi hỏi kiến thức về từ vựng; bước xác định câu đòi hỏi kiến thức về mô hình ngôn ngữ (nguyên tắc ngữ pháp).

Phương pháp này đã và đang được áp dụng thành công trong các ứng dụng nhận dạng tiếng nói thực tế. Đề tài sẽ sử dụng phương pháp nhận dạng mẫu cho bài toán nhận dạng một số từ tiếng Việt. Bước đầu tiên của quá trình nhận dạng là trích chọn các tham số tín hiệu tiếng nói. Phần tiếp theo sẽ trình bày chi tiết về phương pháp này.

Phân tích tham số tiếng nói

Trong nhận dạng, tổng hợp, mã hóa tiếng nói đều cần phân tích các tham số. Dưới đây, mô tả phương pháp phân tích cepstral theo thang đo mel để tính các hệ số MFCC thông qua việc sử dụng dãy các băng lọc.

Khái niệm cơ bản trong phân tích tín hiệu tiếng nói là phân tích thời gian ngắn (Short-Time Analysis). Trong khoảng thời gian dài, tín hiệu tiếng nói là không dừng, nhưng trong khoảng thời gian đủ ngắn (10-30 ms) tiếng nói được coi là dừng. Do đó, trong các ứng dụng xử lý tiếng nói người ta thường chia tiếng nói thành nhiều đoạn có thời gian bằng nhau được gọi là khung (frame), mỗi khung có độ dài từ 10 đến 30 ms.

Phát hiện tiếng nói

Phát hiện thời điểm bắt đầu, điểm kết thúc của tiếng nói (tách tiếng nói ra khỏi khoảng lặng) là phần cần thiết trong chương trình nhận dạng tiếng nói, đặc biệt trong chế độ thời gian thực. Phần này trình bày ba phương pháp phát hiện tiếng nói dựa trên hàm năng lượng thời gian ngắn SE (Short Energy) và tỷ lệ vượt quá điểm không ZCR (Zero Crossing).

Phát hiện tiếng nói dựa trên hàm năng lượng thời gian ngắn.

Hàm năng lượng thời gian ngắn của tín hiệu tiếng nói được tính bằng cách chia tín hiệu tiếng nói thành các khung, mỗi khung dài N mẫu. Mỗi khung được nhân với một hàm cửa sổ W(n).Nếu hàm cửa sổ bắt đầu xét ở mẫu thứ m thì hàm năng lượng thời gian ngắn Em size 12{ { size 24{E} } rSub { size 8{m} } } {} được xác định như sau:

Trong đó:

n: biểu thức rời rạc;

m:số mẫu thử thứ m;

N: là tổng số mẫu tiếng nói

Hàm cửa sổ W(n) thường dùng là hàm cửa sổ chữ nhật được xác định như sau:

Thuật toán xác định điểm đầu và điểm cuối tiếng nói theo phương pháp này:

Phát hiện tiếng nói dựa trên hàm giả năng lượng và tỷ lệ vượt quá điểm không

Thuật toán này xác định điểm bắt đầu, điểm kết thúc của tín hiệu tiếng nói dựa trên hai đại lượng tĩnh của tín hiệu tiếng nói là: hàm giả năng lượng E (Pseudo-Energy) và tỷ lệ vượt quá điểm không ZCR (Zero Crossing Rate) .

Trong một dãy giá trị tín hiệu tiếng nói được rời rạc hóa, điểm không là điểm tại đó diễn ra sự đổi dấu cường độ tín hiệu và được mô tả bởi:

sgn[x(n+1)] ≠ sgn[x(n)]

trong đó, sgn(.) là hàm dấu

Năng lượng là đại lượng được dùng để xác định vùng chứa âm hữu thanh, vô thanh. Nhưng hàm năng lượng thường rất nhạy cảm với nhiễu. Do vậy, người ta thường sử dụng hàm giả năng lượng trong tính toán. Hàm giả năng lượng được xác định bởi:

trong đó;

E∧(n) : là hàm giả năng lượng,

N: là kích thước khung cửa sổ.

Tỷ lệ vượt quá điểm không ZCR

Ta thấy, khung có năng lượng càng cao thì tỷ lệ vượt quá điểm không càng thấp và ngược lại. Như vậy, tỷ lệ vượt quá điểm không là đại lượng đặc trưng cho tần số tín hiệu tiếng nói. Ở đây, chúng ta cần xác định các tham số ngưỡng cho hàm giả năng lượng với hai ngưỡng trên và dưới và một ngưỡng tỷ lệ vượt quá điểm không.

Kí hiệu:

E Up : ngưỡng năng lượng trên (cao);

Edown : ngưỡng năng lượng dưới (thấp);

ZCR _ T : ngưỡng tỷ lệ vượt quá điểm không.

Thuật toán này được mô tả như sau :

Phát hiện tiếng nói dựa trên năng lượng phổ ngắn hạn

Ý tưởng chính của phương pháp này là sử dụng bộ điều khiển dò biên tiếng nói VAD (Voice Activity Detector) dựa trên việc xác định năng lượng phổ ngắn hạn fE trên các khung tín hiệu tiếng nói. VAD dùng để xác định một khung chứa tín hiệu tiếng nói hay nhiễu. Hàm đầu ra của VAD trên khung thứ m là v [m]. Với khung chứa tiếng nói (có thể cả nhiễu) v [m]=1, ngược lại khung chỉ chứa nhiễu v [m]=0.

Thuật toán được mô tả như sau:

Phương pháp này ngăn việc phân loại sai của phụ âm sát và tiếng nói ở cuối tín hiệu tiếng nói.

Các phương pháp trích chọn tham số đặc trưng của tín hiệu tiếng nói

Trích chọn các tham số đặc trưng là bước có ý nghĩa quyết định tới kết quả của các chương trình nhận dạng tiếng nói. Có nhiều phương pháp trích chọn các tham số đặc trưng nhưng nhìn chung các phương pháp này dựa trên hai cơ chế:

Mô phỏng lại quá trình cảm nhận âm thanh của tai người. Mô phỏng lại quá trình tạo âm của cơ quan phát âm.

Phân tích cepstral theo thang đo mel

Phương pháp tính các hệ số MFCC là phương pháp trích chọn tham số tiếng nói được sử dụng rộng rãi bởi tính hiệu quả của nó thông qua phân tích cepstral theo thang đo mel.

Phương pháp được xây dựng dựa trên sự cảm nhận của tai người đối với các dải tần số khác nhau. Với các tần số thấp (dưới 1000 Hz), độ cảm nhận của tai người là tuyến tính. Đối với các tần số cao, độ biến thiên tuân theo hàm logarit. Các băng lọc tuyến tính ở tần số thấp và biến thiên theo hàm logarit ở tần số cao được sử dụng để trích chọn các đặc trưng âm học quan trọng của tiếng nói. Mô hình tính toán các hệ số MFCC được mô tả như Hình 7.

Sơ đồ tính toán các hệ số MFCC

Ý nghĩa và phương pháp xác định tham số ở các khối trong sơ đồ trên mô tả như sau:

Khối 1: Bộ lọc hiệu chỉnh (Preemphasis)

Tín hiệu tiếng nói s(n) được đưa qua bộ lọc số bậc thấp để phổ đồng đều hơn, giảm ảnh hưởng gây ra cho các xử lý tín hiệu sau này. Thường bộ lọc này cố định bậc một, có dạng:

H(z) = 1- az 1− 0.9≤ a≤ 1.0

Quan hệ giữa tín hiệu ra với tín hiệu vào tuân theo phương trình

Giá trị a thường được chọn là 0.97.

Khối 2: Phân khung (Frame Blocking)

Trong khối này tín hiệu hiệu chỉnh s(n) được phân thành các khung, mỗi khung có N mẫu; hai khung kề lệch nhau M mẫu. Khung đầu tiên chứa N mẫu, khung thứ hai bắt đầu chậm hơn khung thứ nhất M mẫu và chồng lên khung thứ nhất N-M mẫu. Tương tự, khung thứ ba chậm hơn khung thứ nhất 2M mẫu (chậm hơn khung thứ hai M mẫu) và chờm lên khung thứ nhất N-2M mẫu. Quá trình này tiếp tục cho đến khi tất cả các mẫu tiếng nói cần phân tích thuộc về một hoặc nhiều khung.

Khối 3: Lấy cửa sổ (Windowing)

Bước tiếp theo là lấy cửa sổ cho mỗi khung riêng rẽ nhằm giảm sự gián đoạn của tín hiệu tiếng nói tại đầu và cuối mỗi khung. Nếu w(n), 0 ≤ n ≤ N-1, sau khi lấy cửa sổ được:

Thông thường, của sổ Hamming được sử dụng. Cửa sổ này có dạng:

Khối 4: Biến đổi Fourier rời rạc (FFT)

Tác dụng của FFT là chuyển đổi mỗi khung với N mẫu từ miền thời gian sang miền tần số. FFT là thuật toán tính DFT nhanh. DFT được xác định

Khối 5: Biến đổi sang thang đo Mel trên miền tần số

Như đã nói ở trên, tai người không cảm nhận sự thay đổi tần số của tiếng nói tuyến tính mà theo thang Mel. Người ta chọn tấn số 1kHz, 40 dB trên ngưỡng nghe là 1000 Mel. Do đó, công thức gần đúng biểu diễn quan hệ tần số ở thang mel và thang tuyến tính như sau:

Các băng lọc tam giác theo thang tần số Mel

Một phương pháp để chuyển đổi sang thang mel là sử dụng băng lọc (Hình 4.6), trong đó mỗi bộ lọc có đáp ứng tần số dạng tam giác. Số băng lọc sử dụng thường trên 20 băng. Thông thường, người ta chọn tần số từ 0 dến Fs/2 (Fs là tần số lấy mẫu tiếng nói). Nhưng cũng có thể một dải tần giới hạn từ LOFREQ đến HIFREQ sẽ được dùng để lọc đi các tần số không cần thiết cho xử lý. Chẳng hạn, trong xử lý tiếng nói qua đường điện thoại có thể lấy giới hạn dải tần từ LOFREQ=300 đến HIFREQ=3400.

Sau khi tính FFT ta thu được phổ tín hiệu (fn). Thực chất đây là một dãy năng lượng . Cho W(n) qua một dãy K băng lọc dạng tam giác, ta được một dãy các . Tính tổng của các dãy trong từng băng lọc, ta thu được một dãy các hệ số

Khối 6: Biến đổi Cosine rời rạc (DCT)

Trong bước này ta sẽ chuyển log của các giá trị về miền thời gian bằng cách biến đổi Cosine rời rạc (DCT). Kết quả của phép biến đổi này ta thu được các hệ số MFCC.

<
0