- Mở đầu
3.5.2 Lý thuyết Word Graph
Đồ thị từ (Word Graph) là một cấu trúc đồ thị có hướng chứa nhiều đường đi từ đầu đến cuối của một câu hoặc một phần của câu. Mỗi nút trong đồ thị là một từ, mỗi cạnh thể hiện sự liên kết từ và có thể có giá trị được tính và gán cho nó. Đồ thị từ cho phép chúng ta có thể bắt đầu từ một từ, tìm đường đi ngắn nhất hoặc có xác suất cao nhất đến một từ khác, cho đến hết câu. Chuỗi các từ đưa ra bởi bộ nhận dạng được chứa trong đồ thị từ.
Ý tưởng của đồ thị từ là tạo ra một giải pháp thay thế từ trong vùng tiếng nói, nơi có sự mơ hồ (từ được phát âm không rõ ràng) ở mức cao trong việc nhận dạng âm thanh. Đồ thị từ là một mô tả của không gian tìm kiếm, nó có thể được sử dụng trong nhiều cách, bao gồm như một mô tả trung gian cho một hệ thống nhận dạng tiếng nói.
Hình 3.11 Một đồ thị từ tổng quan
Chúng ta bắt đầu với bài toán cơ bản của sự phát sinh ra đồ thị từ:
Giả thuyết rằng 1 từ w và thời điểm kết thúc t của nó, làm thế nào có thể tìm thấy một số giới hạn các từ đứng trước nó có khả năng nhất ?. Nhiệm vụ này là khó khăn vì từ w có thể phụ thuộc vào từ đứng trước từ đang xem xét, nó dẫn đến một sự phụ thuộc lẫn nhau với các từ đứng trước.
Một số khái niệm và giải thích thuật ngữ phổ biến trong đồ thị từ:
• One-Pass và Multi-Pass: Chúng ta gọi chiến lược tìm kiếm One-pass nếu có
Chiến lược tìm kiếm One-pass và Multi-Pass hầu như luôn dựa trên kỹ thuật lập trình động.
• Time-Synchronous: Một chiến lược tìm kiếm gọi là đồng bộ thời gian nếu các giả thuyết tìm kiếm được thành lập trong một cách thức đồng bộ thông qua chuỗi vector ngữ âm. Ý tưởng đồng bộ thời gian có liên hệ chặt chẽ với chiến lược One-pass.
• Integrated Search: Chúng ta gọi một chiến lược tìm kiếm là tìm kiếm tích hợp nếu tất cả các nguồn kiến thức là có thể sử dụng. Ví dụ như mô hình ngữ âm, mô hình âm vị, các ràng buộc từ điển phát âm, mô hình ngôn ngữ được khai thác trong quá trình tìm kiếm ở cùng một thời điểm, ý tưởng này được cài đặt trong chiến lược One-pass.
• Word conditioned và Time conditioned: Các mục này được qui vào cách tìm trong không gian tìm kiếm, đặc biệt là trong ngữ cảnh của lập trình động. Trong một tìm kiếm Word conditioned mỗi một giả thuyết tìm kiếm là điều kiện trên từ đứng trước. Điều này ngụ ý rằng tối ưu hoá trên thời điểm kết thúc chưa biết của từ đứng trước, tức là biên giới từ của đứng trước và từ đang xem xét đã sẵn sàng tiến hành trong 1 nhóm từ đầu của thủ tục tìm kiếm. Phương pháp này là khác với phương pháp Time conditioned, với mỗi giả thuyết tìm kiếm là độc lập trên thời điểm kết thúc của từ đứng trước là được giữ lại và tối ưu hoá trên các ranh giới từ chưa xác định được thực hiện như bước sau cùng của tìm kiếm.
• Single best: Chúng ta muốn nói về ý tưởng tìm kiếm mà nó xác định chuỗi từ có khả năng nhất.
• Word graph: Ý tưởng đây là tổ chức một giả thuyết cấp cao trong hình thức
của một đồ thị mà các cạnh của nó mô tả các từ giả thuyết đơn. Đôi khi người ta dùng từ "word lattice" là đồng nghĩa với word graph.
• Confusion matrix: Ma trận nhầm lẫn chứa các giá trị xác suất có điều kiện
của chuỗi có chứa từ không rõ ràng để sinh ra chuỗi từ như mong đợi.
Khi dùng mô hình ngôn ngữ bigram trong kết nối với một cây mô tả từ vựng phát âm, chúng ta gặp bài toán nhận dạng của giả thuyết từ w được biết chỉ khi đi đến một nút lá của cây. Vì vậy, xác suất ngôn ngữ mô hình có thể được kết hợp đầy đủ sau khi đạt đến trạng thái kết thúc từ thứ hai của bigram. Như một kết quả, chúng ta có thể áp dụng xác suất mô hình ngôn ngữ chỉ tại điểm cuối của cây. Để tạo ứng dụng của nguyên lý lập trình động có thể thực hiện được, chúng ta cấu trúc không gian tìm kiếm như sau. Cho mỗi từ đứng trước v, chúng ta giới thiệu một bản sao riêng biệt của cây từ vựng với kết quả là trong tiến trình tìm kiếm chúng ta luôn biết từ đứng trước v khi một giả thuyết từ kết thúc w là được giả thuyết.
Hình 3.12 minh họa ý tưởng này cho một từ vựng gồm 3 từ (A, B, C), với cây từ vựng được mô tả trong một hình thức biểu đồ đơn giản hóa. Trong bố trí như hình 3.12, chúng ta áp dụng xác suất bigram P(w|v) khi trạng thái kết thúc của từ w
với từ đứng trước v là đạt được, và sử dụng kết quả toàn bộ điểm để khởi động cây từ điển tương ứng, tức là cây có từ w là có từ đứng trước. Để điều khiển mô hình nhóm từ lặng (silence), chúng ta thêm một bản sao riêng biệt của mô hình Silence tới mỗi cây. Hơn nữa, chúng ta có một bản sao riêng biệt của cây từ điển cho từ đầu tiên trong câu, cây bản sao này được cho thêm vào silence như từ đứng trước. Cách tiếp cận này, các mô hình bản sao silence không yêu cầu một xử lý đặc biệt, nhưng có thể được xử lý như các từ bình thường cùa từ vựng. Tuy vậy, có một ngoại lệ: tại các ranh giới từ, không mô hình ngôn ngữ xác suất cho các mô hình Silence. Như trong hình 3.12, có hai kiểu của đường đi mở rộng và tái kết hợp, cụ thể là ở bên trong của các từ hoặc các cây từ vựng và ở các ranh giới từ. Bên trong một từ, chúng ta có đường đậm mô tả sự chuyển tiếp trạng thái trong Mô hình HMM. Tại các ranh giới từ, chúng ta có đường mảnh và gạch rời, nó mô tả sự tái kết hợp mô hình ngôn ngữ bigram. Giống như tái kết hợp ngữ âm, chúng cũng được thực hiện ở mỗi khung thời gian 10ms. Đường gạch rời là liên quan đến sự tái kết hợp cho các bản sao bên trong nhóm từ lặng silence. Chúng ta phải kết hợp xác suất bigram bên trong điểm số Qv(t, s = Sw) và xác định từ đứng trước v tốt nhất. Điểm số tốt nhất
này được truyền bên trong gốc của cây từ vựng liên kết, nó được mô tả bằng ký hiệu …. Ký hiệu { mô tả một từ cuối.
Hình 3.12, Tái kết hợp mô hình ngôn ngữ bigram và sử dụng từ Sil cho một cây từ vựng (ba từ vựng A, B, C), sử dụng cây bản sao word conditioned.
Với một chỉ định số lượng của thủ tục tìm kiếm, chúng ta giả sử rằng mỗi cung của cây từ vựng được mô tả bởi một Mô hình HMM. Chúng ta sẽ dùng chỉ số trạng thái s trực tiếp và giả sử rằng cấu trúc từ vựng là đạt được bởi xác suất chuyển
trạng thái của Mô hình HMM. Để trình bày cách tiếp cận lập trình động , chúng ta giới thiệu hai con số sau (Ney, 1993):
• Qv(t, s) = tổng điểm của đường đi bộ phận tốt nhất tại thời điểm kết thúc t trong trạng thái s của cây từ vựng cho từ đứng trước v.
• Bv(t, s) = thời điểm bắt đầu của đường đi bộ phận tốt nhất tại thời
điểm kết thúc t trong trạng thái s của cây từ vựng cho từ đứng trước v. Nói cách khác Bv(t, s) là con trỏ quay lui nó trỏ lui đến thời điểm bắt đầu của bản sao cây từ vựng cho từ đứng trước v. Con trỏ quay lui này là cần thiết bởi vì nó định nghĩa của điểm số Qv(t, s) hàm ý rằng sự tối ưu trên thời điểm bắt đầu chưa biết của bản sao cây từ vựng cho từ đứng trước v đã được thực hiện. Cả hai con số được đánh giá bằng cách dùng lập trình động đệ qui cho Qv(t, s):
Qv(t, s) = max {q(xt, s|σ ). Qv(t -1, s)} Bv(t, s) = Bv(t – 1, σ max
v (t, s)) (3.6)
Với σ max
v (t, s) là trạng thái đứng trước tốt nhất cho giả thuyết (t, s) và từ đứng trước v. q(xt, s|σ ) là tích của xác suất chuyển và phát của Mô hình HMM
dùng cho âm tiết độc lập và phụ thuộc ngữ cảnh.
Con trỏ quay lui Bv(t, s) được truyền theo quyết định lập trình động. Không giống như từ đứng trước v, chỉ số w cho từ đang xem xét chỉ là cần thiết và nhận biết khi một đường đi giả thuyết đạt đến nút kết thúc của cây từ vựng: mỗi nút kết thúc của cây từ vựng được gán nhãn với từ tương ứng của từ vựng.
Việc sử dụng giá trị khởi tạo phù hợp cho σ = 0, phương trình này bao gồm tối ưu hóa trên các ranh giới từ chưa biết. Tại các ranh giới từ, chúng ta phải tìm từ đứng trước v tốt nhất cho mỗi từ w. Ta định nghĩa:
H(w; t) := max {p(w|v).Qv(t, Sw)} (3.7)
Với trạng thái Sw biểu thị trạng thái kết thúc của từ w trong cây từ vựng. Để truyền đường đi giả thuyết bên trong cây từ vựng giả thuyết hoặc để bắt đầu tạo
chúng nếu chúng chưa tồn tại. Chúng ta phải đi tiếp qua điểm số và chỉ số thời gian trước khi xử lý các giả thuyết cho khung thời gian t:
Qv(t – 1, S = 0) = H(v; t – 1)
Bv(t -1, s = 0) = t -1 (3.8)
Thuật toán One-pass (single best; lexical tree; bigram):
Tiến hành qua hết thời gian t từ trái sang phải
Mức ngữ âm: xử lý trạng thái của cây từ vựng ƒ Khởi tạo: Qv(t-1, s =0) = H(v; t-1)
Bv(t-1, s =0) = t-1
ƒ Liên kết thời gian (Time alignment): Q(t, s) sử dụng lập trình động. ƒ Truyền các con trỏ quay lui Bv(t, s).
ƒ Cắt các giả thuyết không khả năng. ƒ Dọn dẹp danh sách tính toán
Mức cặp từ: xử lý các từ cuối Với mỗi cặp (w; t) thực hiện
H(w; t) =maxv {p(w|v) Qv(t, Sw)} V0(w; t) = arg maxv {p(w|v) Qv(t, Sw)}
ƒ Lưu lại từ đứng trước tốt nhất v0 := v0(w; t)
ƒ Lưu lại ranh giới từ tốt nhất τ 0 := Bv0(t,
Sw) Thu dọn rác (Garbage collection):
Cho nhận dạng tiếng nói từ vựng lớn liên tục, Vấn đề cốt yếu là giữ lại các chi phí lưu trữ thấp như có thể. Việc giảm bộ nhớ yêu cầu cho con trỏ quay lui và mảng truy xuất ngược là cần thiết, trong khi các mảng truy xuất ngược được dùng để ghi nhận quyết định về từ đứng trước tốt nhất mỗi khi khởi động từ. Tại các ranh giới từ, chúng ta lưu trữ cho mỗi giả thuyết từ cuối: chỉ số từ, thời điểm kết thúc của từ đứng trước, điểm số và con trỏ quay lui. Thời điểm kết thúc của từ đứng trước là không thực sự cần thiết, nhưng nó hữu ích mục đích chẩn đoán. Trong lúc xử lý nhận dạng, nhiều mục giả thuyết trong mảng truy xuất ngược sẽ trở nên “lỗi thời”,
vì đường đi mở rộng của chúng quá hạn trên thời gian để tái kết hợp và cần cắt tỉa các giả thuyết này. Để gỡ bỏ hợp lệ các mục giả thuyết lỗi thời khỏi mảng truy xuất ngược, chúng ta áp dụng phương pháp Thu dọn rác hoặc còn gọi là phương pháp dọn dẹp (purging method) như sau. Mỗi mục của mảng truy xuất ngược được mở rộng bởi thành phần thêm vào được gọi là “time stamp” (dấu thời gian) như đề nghị của Steinbiss (1992). Việc dùng các con trỏ quay lui của các trạng thái giả thuyết, chúng ta thực hiện một truy xuất ngược cho mỗi trạng thái giả thuyết và đánh dấu các mục truy xuất ngược đạt được ở khung thời điểm hiện tại là một dấu thời gian. Do đó, tất cả các mục truy xuất ngược mà có dấu thời gian khác với khung thời gian hiện tại có thể được dùng lại để lưu trữ giả thuyết mới. Chú ý rằng, quá trình Thu dọn rác được kiểm soát bằng việc sử dụng các trạng thái giả thuyết và các mục truy xuất ngược đạt được. Về nguyên tắc cơ bản, quá trình Thu dọn rác này có thể được thực hiện ở mỗi khung thời gian, nhưng để giảm chi phí, nó có đủ khả năng thực hiện trong khoảng thời gian bình thường mỗi 50 khung thời gian.
Kỹ thuật cắt tỉa và mô hình ngôn ngữ Look-ahead:
Vì việc thực hiện tìm kiếm đầy đủ là không thể thực hiện, chúng ta dùng chiến lược tìm đồng bộ thời gian theo chùm (beam search) với mỗi khung thời gian chỉ giữ lại các giả thuyết có khả năng nhất (Lowere & Reddy, 1980). Chiến lược cắt tỉa bao gồm 3 bước mà chúng được thực hiện mỗi khung thời gian 10ms (Steinbiss et al, 1994).
ƒ Cắt tỉa Standard beam hoặc gọi là cắt tỉa ngữ âm được dùng để giữ lại xem xét thêm chỉ khi các giả thuyết có điểm gần với giả thuyết trạng thái tốt nhất. Biểu thị điểm số giả thuyết trạng thái tốt nhất bởi:
QAC (t) := max(v, s) {Qv(t, s)}
Chúng ta cắt bỏ một giả thuyết trạng thái (s, t; v) nếu:
Qv(t, s) < fAC . QAC(t)
ƒ Cắt tỉa mô hình ngôn ngữ được áp dụng chỉ khi cây giả thuyết khởi động như sau. Tại các giả thuyết từ cuối, xác suất bigram được hợp nhất bên trong tổng điểm số tích lũy, và điểm tốt nhất cho mỗi từ đứng trước được dùng để khởi động cây giả thuyết tương ứng hoặc truyền trong cây giả thuyết đã tồn tại. Các điểm số của cây giả thuyết khởi động được đưa ra thêm vào bước cắt tỉa:
QLM(t) := maxv {Qv(t, s = 0)}
với s=0 là trạng thái không có thật lúc khởi động. Vì thế một cây giả thuyết khởi động bị gỡ bỏ nếu:
Qv(t, s=0) < fLM . QLM(t)
với fLM là ngưỡng cắt tỉa mô hình ngôn ngữ.
ƒ Cắt tỉa biểu đồ (Histogram pruning) giới hạn số giả thuyết trạng thái còn lại với một số tối đa MaxHyp. Nếu số trạng thái hoạt động là lớn hơn MaxHyp, thì chỉ có các giả thuyết MaxHyp được giữ lại và các trạng thái khác bị gỡ bỏ. Phương pháp cắt tỉa này được gọi là cắt tỉa biểu đồ bởi vì chúng ta sử dụng một biểu đồ điểm số của các trạng thái hoạt động (Steinbiss et al, 1994).
Hiệu quả của các phương pháp cắt tỉa có thể được cải thiện bằng sử dụng kỹ thuật Look-ahead. Trong nghiên cứu này, tôi chỉ trình bày mô hình ngôn ngữ unigram look-ahead (Steinbiss et al, 1994), nó làm việc như sau. Cho mỗi cạnh âm tiết của một cây từ vựng, chúng ta xem xét xác suất của mô hình ngôn ngữ unigram một cách hợp lệ để thu được một ước lượng của khả năng làm thế nào chúng ta có để đạt đến một nút kết thúc từ cạnh âm tiết đã cho. Xác suất mô hình ngôn ngữ đoán trước này được kết hợp trong phương trình qui hoạch động cho tính toán giá trị
Qv(t, s) mỗi thời điểm ranh giới âm tiết là giả thuyết. Khi đạt đến nút kết thúc, chúng ta áp dụng xác suất chính xác của mô hình ngôn ngữ bigram sau đó gỡ bỏ ước tính của mô hình ngôn ngữ unigram. Thực nghiệm chỉ ra rằng mô hình ngôn ngữ unigram look-ahead giảm sự cố gắng tìm kiếm (Ortmanns et al, 1996).
Mở rộng đến mô hình ngôn ngữ trigram:
Phần trước, chúng ta xem xét cách tiếp cận tìm kiếm One-pass chỉ trong ngữ cảnh của mô hình ngôn ngữ bigram. Để mở rộng phương pháp tìm kiếm word
conditioned từ bigram đến mô hình ngôn ngữ trigram. Chúng ta phải nắm giữ cách tính toán cho xác suất một mô hình ngôn ngữ trigram, nó được qui định trên 2 từ đứng trước nhiều hơn 1 từ trong trường hợp mô hình ngôn ngữ bigram. Kết hợp của một trigram bên trong phương pháp tìm kiếm word conditioned yêu cầu phải tổ chức lại không gian tìm kiếm. Hình 3.13 minh họa không gian tìm kiếm có dùng mô hình trigram . Cho mỗi 2 từ (u, v), chúng ta giới thiệu bản sao riêng biệt của cây từ vựng. Trong hình 3.13, gốc của mỗi cây bản sao được gán nhãn với 2 từ. Như trong trường hợp của mô hình ngôn ngữ bigram, cấu trúc của không gian tìm kiếm được định nghĩa như là cách tìm trong mạng xác suất hoặc chi phí của mỗi cạnh phụ thuộc chỉ trên chính cạnh đó và không có ngoại lệ. Thuộc tính này của mạng tìm kiếm cho phép chúng ta trực tiếp áp dụng nguyên lý của lập trình động. chú ý rằng, so sánh với tổ chức không gian tìm kiếm bigram, kích thước của không gian tìm