Đầu vào và ra của mơ hình ngơn ngữ mức kí tự

Một phần của tài liệu Phát triển ứng dụng phát hiện lỗi chính tả tiếng việt sử dụng mô hình ngôn ngữ (Trang 28 - 31)

3.1.2. Mơ hình ngơn ngữ mức từ

Kiến trúc mơ hình ngơn ngữ mức từ gần giống với mức kí tự. Hình 4.6 cho thấy kiến trúc của mơ hình ngơn ngữ mức từ.

Hình 3.3. Mơ hình ngơn ngữ mức từ

Lúc này, dữ liệu đầu vào là chuỗi vector one-hot của các từ. Độ dài chuỗi cố định. Đầu ra tương ứng cũng sẽ là một vector với chiều dài bằng với kích thước của tồn bộ khơng gian từ vựng và giá trị tại mỗi vị trí sẽ là xác suất của mỗi từ tương ứng. Tuy nhiên, do khơng gian từ vựng lớn hơn khơng gian kí tự rất nhiều và các vector one-hot hầu như khơng có quan hệ gì với nhau, các vector này cần được chuyển sang chiều khơng gian nhỏ hơn mà tại đó các vector cũng sẽ thể hiện được mối quan hệ ngữ cảnh với nhau. Vì thế, ở mơ hình ngơn ngữ mức từ sẽ có thêm tầng embedding như hình ở trên. Các trọng số của tầng embedding này được huấn luyện như một mơ hình riêng trước bằng CBOW hoặc Skip-gram, sau đó được load lên sử dụng và không được cập nhật trong suốt quá trình huấn luyện mơ hình ngơn ngữ.

3.2. Phương pháp phát hiện và sửa lỗi

3.2.1. Phát hiện và sửa lỗi mức kí tự

Greedy heuristic

Như vậy với mơ hình ngơn ngữ, ta có thể dùng để xác định xác suất của một bất kì một kí tự kế tiếp dựa vào chuỗi kí tự phía trước nó. Giả sử ta đã xây dựng được mơ hình

ngơn ngữ mức kí tự trên tập dữ liệu đủ lớn. Ví dụ với input là chuỗi “ngơi nh”, ta có xác suất của các kí tự tiếp theo:

• ngôi nh[a] 𝑝 = 0.0223 • ngơi nh[b] 𝑝 = 0.0007 • … • ngơi nh[à] 𝑝 = 0.9433 • ngơi nh[á] 𝑝 = 0.0131 • … • ngơi nh[z] 𝑝 = 0.0002

Bước tiếp theo của bài tốn là phát hiện lỗi chính tả có thể có trong văn bản. Một mơ hình ngơn ngữ đủ tốt sẽ capture được tốt xác suất của ngôn ngữ trong gần hết các ngữ cảnh. Một văn bản đúng chính tả sẽ có tất cả xác suất của từ hay kí tự đều cao hơn ngưỡng chấp nhận được. Ngược lại, khi có lỗi sai chính tả, thì tại vị trí đó xác suất của từ hay kí tự sẽ thấp hơn rất nhiều và gần với giá trị 0. Ví dụ với câu: “soạn thảu văn bản”. Giả sử năm kí tự đầu tiên là đúng, ngưỡng xác suất để xác định sai chính tả là 0.01, ta xem xét giá trị xác suất của từ kế tiếp với đoạn văn bản đầu là “hôm na”:

• soạn [t] 𝑝 = 0.3795 > 0.01  Đúng chính tả

• soạn t[h] 𝑝 = 0.5039 > 0.01  Đúng chính tả

• soạn th[ả] 𝑝 = 0.8254 > 0.01  Đúng chính tả

• soạn thả[u] 𝑝 = 0.0062 < 0.01  Sai chính tả

Vì xác suất của kí tự “u” thấp hơn ngưỡng, nên có thể xem như vị trí này đang bị sai chính tả. Kế tiếp, cần phải sửa lại lỗi sai này. Đơn giản nhất là lấy từ kế tiếp có xác suất cao nhất theo mơ hình ngơn ngữ để thay thế. Cụ thể trong trường hợp này là kí tự “o”, với 𝑝 = 0.9902. Lúc này, câu được sửa lại thành “soạn thảo văn bản”. Tiếp tục kiểm tra xác suất tại các vị trí cịn lại, ta sẽ thấy giá trị sẽ đủ lớn để có thể chấp nhận được. Hình 3.4 minh hoạ cho giải thuật Greedy này.

Một phần của tài liệu Phát triển ứng dụng phát hiện lỗi chính tả tiếng việt sử dụng mô hình ngôn ngữ (Trang 28 - 31)

Tải bản đầy đủ (PDF)

(60 trang)