Mô hình thuật toán SVM trong không gian

Một phần của tài liệu Xây dựng hệ thống chatbot hỗ trợ quản lý bán hàng nền tảng mã nguồn mở rasa,khóa luận tốt nghiệp (Trang 39 - 41)

Trong trường hợp này, phương trình siêu phẳng có dạng: WTX + b = 0 Khi đó, margin = ɪ

Ý tưởng của phương pháp này là cho trước một tập mẫu huấn luyện đã được biểu diễn trong không gian vecto, trong đó mỗi dữ liệu là một điểm. Phương pháp này sẽ tìm ra một siêu phẳng f tốt nhất để chia các điểm đó thành 2 lớp riêng biệt. Chất lượng của siêu phẳng này sẽ được quyết định bởi khoảng cách, gọi là Margin (lề), của điểm dữ liệu gần nhất của mỗi lớp đến mặt phẳng này. Khi đó, khoảng cách lề càng lớn thì mặt phẳng quyết định càng tốt, việc phân loại chính xác.

Áp dụng thuật toán vào bài toán phân loại câu hỏi:

Ví dụ: tập huấn luyện T được biểu diễn trong không gian vecto đặc trưng, gồm có 15 intents tương ứng với 15 lớp cần huấn luyện. Trong đó mỗi tài liệu là một điểm thì phương pháp này sẽ tìm ra các siêu phẳng giúp phân chia các điểm trên không gian thành 15 lớp riêng biệt.

Các câu hội thoại tiếp theo sẽ sử dụng chính mô hình phân lớp trên để phân lớp.

2.2. Bài toán trích xuất thông tin

Sau khi intent đã được xác định, bước tiếp theo cần xác định được các thông tin khác trong câu truy vấn của khách hàng. Các thông tin cần được xác định thường là các thực thể ví dụ như: vị trí, thời gia, khoảng cách, địa chỉ liên lạc... Thành phần hiểu ngôn ngữ trong các hệ thống bot thường được tích hợp thành phần nhận dạng thực thể giúp phát hiện ra các thực thể có trong mỗi hội thoại.

Bài toán phổ biến trong trích xuất thông tin là bài toán gán nhãn chuỗi. Phát biểu bài toán:

- Input: một dãy các từ {x1, X2, ..., Xn}

- Output: một dãy các nhãn tương ứng đầu vào {y1,y2, ---,yn}

Hiện nay, có rất nhiều hướng tiếp cận mô hình gán nhãn chuỗi và CRFs

(Conditional Random Fields) là một thuật toán huấn luyện mô hình gán nhãn chuỗi

rất thành công.

2.2.1. Thuật toán CRFs

CRFs là mô hình trạng thái tuyến tính vô hướng (máy trạng thái hữu hạn được huấn luyện có điều kiên) và tuân theo tính chất Markov thứ nhất. CRFs đã được chứng minh rất thành công cho các bài toán gán nhãn cho chuỗi như tách từ, gán nhãn cụm từ, xác định thực thể, gán nhãn cụm danh từ...

Gọi o = (o1, 02, .., OT) là một chuỗi dữ liệu quan sát cần được gán nhãn.

Gọi s là tập trạng thái, mỗi trạng thái liên kết với một nhãn l∈L . Đặt s = (s1, S2,., ST ) là một chuỗi trạng thái nào đó, CRFs xác định xác suất điều kiện của một chuỗi trạng thái khi biết chuỗi quan sát như sau:

p(s∣o) = ⅛eχp [ ∑τ

t=1∑kΛkfk(St-1,St,0,t)](1)

Gọi Z(o) = ∑(s,)exp[ ∑t=1∑kΛkfk(st-1,st,o,t)] là thừa số chuẩn hóa trên toàn bộ các chuỗi nhãn có thể.

fk xác định một hàm đặc trưng

Λklà trọng số liên kết với mỗi đặc trưng fk .

Mục đích của việc học máy với CRFs là ước lượng trọng số này. Ở đây, ta có hai đặc trưng fk: đặc trưng trạng thái (per-state) và đặc trưng chuyển (transition).

fkkper~state∖st,o,t) = δ(st,l)xk(o,t) (2) ∕kαransltl°n∖¾-1.⅛t)= S(st-1,l)δ(st,l) (3)

Ở đây δ là Kronecker-δ. Mỗi đặc trưng trạng thái (2) kết hợp nhãn l của trạng thái hiện tại St và một từ ngữ cảnh - một hàm nhị phân Xk (o, t) xác định các ngữ cảnh quan trọng của quan sát o tại vị trí t. Một đặc trưng chuyển (3) biểu diễn sự phụ thuộc chuỗi bằng cách kết hợp nhãn l của trạng thái trước st-1và nhãn l của trạng thái hiện tại St .

Người ta thường huấn luyện CRFs bằng cách cực đại hóa hàm likelihood theo dữ liệu huấn luyện sử dụng các kĩ thuật tối ưu như L-BFGS. Việc lập luận (dựa trên mô hình đã học) là tìm ra chuỗi nhãn tương ứng của một chuỗi quan sát đầu vào. Đối với CRFs, người ta thường sử dụng thuật toán quy hoạch động điển hình là Viterbi để thực hiện lập luận với dữ liệu mới.

2.3. Bài toán quản lý hội thoại (DM)

Thành phần DM có chức năng là:

Một phần của tài liệu Xây dựng hệ thống chatbot hỗ trợ quản lý bán hàng nền tảng mã nguồn mở rasa,khóa luận tốt nghiệp (Trang 39 - 41)

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

(61 trang)
w