Xác định ý định và các thực thể của câu hỏi

Một phần của tài liệu Xây dựng Hệ thống Cố vấn Học tập Ảo (Trang 43 - 48)

Chương 3. PHƯƠNG PHÁP NGHIÊN CỨU

3.2 Xác định ý định và các thực thể của câu hỏi

Ý định (indent) là điều mà người dùng mong muốn hệ thống đáp ứng và thực hiện. Việc xác định đúng ý định từ những câu hỏi của người dùng đóng vai trò quan trọng trong hệ thống chatbot, vì ý định sẽ quyết định kịch bản của đoạn hội thoại tiếp theo. Ví dụ, người dùng của hệ thống chatbot Cố vấn Học tập ảo có thể đưa ra các câu hỏi hay yêu cầu được hỗ trợ giải đáp các thắc mắc về Quy chế Học vụ. Để chatbot có thể đưa ra các câu trả lời một cách chính xác, hệ thống chatbot cần phải xác định đúng ý định của người dùng. Việc xác định ý định của người dùng sẽ quyết định hội thoại tiếp theo giữa người và chatbot sẽ diễn ra như thế nào. Vì thế, nếu xác định sai ý định người dùng, hệ thống sẽ đưa ra các phản hồi không thích hợp, dẫn đến người dùng không hài lòng và không còn hứng thú trong việc sử dụng nữa.

Hệ thống chatbot Cố vấn Học tập ảo được xây dựng trên miền ứng dụng đóng, với số lượng ý định của người dùng nằm trong một tập hữu hạn các ý định sẽ được định nghĩa trước trong hệ thống. Với một tập dữ liệu giới hạn, bài toán xác định ý định người dùng có thể quy về bài toán phân loại văn bản (text classification) [5].

Mỗi một ý định tương đương với một nhãn (hỏi cảnh báo học vụ, hỏi mã lớp, mã khoa, hỏi điều kiện xét tốt nghiệp, hỏi quy chế thi cử, …). Để phân loại ý định người dùng, nhóm nghiên cứu xây dựng một tập ý định Y (y1, y2, …yn) đây là tập huấn luyện. trong đó yi được gán nhãn cj thuộc tập C (c1, c2, …, cm) và cuối cùng là đi xây dựng mô hình phân loại ý định để từ đó có thể phân loại ý định cho một câu hỏi bất kỳ từ phía người dùng vào đúng một nhãn cj tương ứng.

32

Với đầu vào là những lời nhắn bất kỳ từ phía người dùng, hệ thống phân loại sẽ xác định ý định tương ứng với lời nhắn đó trong tập các ý định đã được định nghĩa trước. Để xây dựng mô hình phân loại có độ chính xác cao, với mỗi một ý định sẽ được gắn một tập dữ liệu gồm các cách diễn đạt khác nhau (các biến thể câu), với tiêu chí là các câu theo văn phong phổ biến hiện tại. Ví dụ:

cùng một mục đích hỏi về ý định Cảnh cáo học vụ nhưng có thể có nhiều cách đặt câu hỏi khác nhau:

Hình 3.10: Ví dụ các biến thể cách đặt câu cùng một ý định

Bước tạo dữ liệu huấn luyện cho bài toán phân loại ý định là một trong những bước quan trọng nhất trong việc phát triển hệ thống chatbot. Việc có cùng một ý định nhưng lại có rất nhiều kiểu cách đặt câu khác nhau (nhiều biến thể) dẫn đến việc cần phải thu thập, nạp càng nhiều dữ liệu cho hệ thống chatbot càng tốt. Khi ấy có thể tạo ra một mô hình huấn luyện tốt, có thể đáp ứng được các yêu cầu của người sử dụng. Việc một hệ thống chatbot có thông minh hay không phần lớn là phụ thuộc vào công đoạn xác định ý định người dùng này.

Đây được xác định là công việc đòi hỏi nhiều thời gian, công sức.

3.2.2 Xác định các thực thể từ nội dung (Trích xuất đặc trưng)

Nhận dạng thực thể có tên (Named Entity Recognition – NER) nhằm nhận biết các chuỗi từ trong văn bản là tên của một đối tượng nào đó, điển hình như tên người, tên tổ chức, tên địa danh, thời gian… NER có thể cung cấp thông tin hữu ích cho các ứng dụng xử lý ngôn ngữ tự nhiên khác như hệ thống hỏi đáp tự động, tóm tắt tin tức, máy tìm kiếm. Hầu hết các hệ thống NER tập trung vào việc áp dụng các phương pháp máy học và không đòi hỏi nhiều kiến thức chuyên sâu về mặt ngôn ngữ. NER đóng vai trò quan trọng trong một hệ thống chatbot.

Việc trích xuất được các thông tin hữu ích từ trong các câu hỏi, lời nhắn từ người dùng sẽ giúp cho hệ thống chatbot có thể lưu trữ các thông tin này và đưa ra các hành động phù hợp với ý định và các thông tin trích xuất được.

Phương pháp đầu tiên được áp dụng trong đề tài là sử dụng các kỹ thuật trích xuất đặc trưng bằng tay bằng việc tạo một bảng các từ và ánh xạ thông qua thuật toán CRF. Sau một thời gian nghiên cứu và thử nghiệm, việc xác định các thực thể bằng việc gán nhãn bằng thủ công cho tất cả là một công việc rất khó khăn. Nhóm đã kết hợp thư viện trích xuất đặc trưng của Facebook phát triển là

33

Ducklink [22] và thư viện trích xuất đặc trưng thực thể tên riêng tiếng Việt của Underthesea NER [23] để áp dụng trong hệ thống Cố vấn Học tập ảo.

Các thông tin có thể được trích xuất trong một câu hỏi như sau:

 Vị trí (Location)

 Tên tổ chức (Organization)

 Tên người (Person)

 Thời gian (Datetime)

 Số (Number)

 Địa chỉ liên lạc (Contact)

 Khoảng cách (Distance)

 Khoảng thời gian (Duration)

 Email (Email)

 Loại khác (Misc)

Dimension Example input Example value output

AmountOfMoney "42€" {"value":42,"type":"value","unit":"EU R"}

CreditCardNumber "4111-1111-1111-1111" {"value":"4111111111111111","issuer

":"visa"}

Distance "6 miles" {"value":6,"type":"value","unit":"mile

"}

Duration "3 mins" {"value":3,"minute":3,"unit":"minute",

"normalized":{"value":180,"unit":"sec ond"}}

Email "duckling-team@fb.com" {"value":"duckling-team@fb.com"}

Numeral "eighty eight" {"value":88,"type":"value"}

Ordinal "33rd" {"value":33,"type":"value"}

PhoneNumber "+1 (650) 123-4567" {"value":"(+1) 6501234567"}

Quantity "3 cups of sugar" {"value":3,"type":"value","product":"s ugar","unit":"cup"}

Temperature "80F" {"value":80,"type":"value","unit":"fahr enheit"}

Time "today at 9am" {"values":[{"value":"2016-12- 14T09:00:00.000-

08:00","grain":"hour","type":"value"}]

,"value":"2016-12-14T09:00:00.000- 08:00","grain":"hour","type":"value"}

Url "https://api.wit.ai/message

?q=hi"

{"value":"https://api.wit.ai/message?q

=hi","domain":"api.wit.ai"}

Volume "4 gallons" {"value":4,"type":"value","unit":"gallo n"}

Dimension Example input Example value output

AmountOfMoney "42€" {"value":42,"type":"value","unit":"EU R"}

34

CreditCardNumber "4111-1111-1111-1111" {"value":"4111111111111111","issuer

":"visa"}

Distance "6 miles" {"value":6,"type":"value","unit":"mile

"}

Duration "3 mins" {"value":3,"minute":3,"unit":"minute",

"normalized":{"value":180,"unit":"sec ond"}}

Bảng 3.2: Danh sách cách thực thể có thể được trích xuất trong thư viện Facebook Duckling [22]

Có 4 bước tiến hành trích xuất đặc trưng cơ bản như sau:

Bước 1: tách từ

Đây là bước phân tách nội dung lời nhắn từ người dùng thành danh sách các từ để có thể tiến hành gán nhãn và phân loại ở các bước tiếp theo.

Xem xét ví dụ sau:

em học ở khoa Công nghệ thông tin, sáng nay thi ở nhà học C3 mà em đi trễ 20', muốn hỏi về quy chế thi cử thì em có được phép thi lại không?

Kết quả sau khi tách từ:

Hình 3.11: Kết quả sau khi tách từ

Bước 2: gán nhãn từ loại cho các từ đã được phân tách

Đây là bước gán nhãn và phân loại cho các từ là Danh từ, Động từ, Trợ từ,

… Nhóm sử dụng thư viện gán nhãn của Underthesea POS Tag [24]

Tag UTS UD C Tiếng anh Ý nghĩa Ví dụ

A A ADJ 1 Adjective Tính từ nhiều, hơn, khác, gần,

lớn

Ab A 2 Tính từ

mượn

sexy, Peace, đờmi

B FW 1 Borrow Từ mượn karaoke, nilông, fax,

oxy

C C CCONJ 1 Coordinating

Conjunction

Liên từ thì, nhưng, như, mà

Cc C SCONJ 2 Subordinating

conjunction

Liên từ

đẳng lập và, hay, hoặc, cùng CH CH PUNCT 1,2 Chunk Dấu câu ,, ., ", ..., “, ”

E E ADP 1,2 Adposition Giới từ của, trong, với, ở, cho,

Fw FW 2 Foreign Word Từ nước

ngoài

Eleocharis, karaoke, Internationa

FW FW 2 Foreign Word Từ nước

ngoài

photo, knock-out, chat

I I INTJ 1,2 Interjection Thán từ ơi, ạ, Ôi, à, Vâng

L L DET 1,2 Determiner Định từ những, các, mấy, mọi,

một số

M M NUM 1,2 Numeral Số từ một, hai, ba, Một,

triệu, 1

35

N N NOUN 1,2 Noun Danh từ người, khi, nhà, năm,

ngày

Nb FW 2 Danh từ

mượn tivi, két, casino, golf, bar

Nc Nc NOUN 1,2 Noun Category Danh từ chỉ

loại con, cái, chiếc, ngôi

Ne Nc 2 bọn, bộ, đoàn, tụi

Ni Np 2 Danh từ kí

hiệu

A5, 1A, A4, B, A, 2032TS

Np Np NOUN 1,2 Proper Noun Danh từ

riêng

NNP Np 2 VN, Nguyễn, Văn

Ns Nc 2 ông, anh, người, chị,

Nu Nu NOUN 1,2 Noun Unit Danh từ

đơn vị đồng, m, tuổi, ha

Ny Ny 1,2 Danh từ

viết tắt

VN, TP, UBND, SV, ĐL

P P PROPN 1,2 Pronoun Đại từ này, tôi, đó, mình, đây

R R X 1,2 Phó từ

(Trạng từ) không, đã, cũng, lại

S Z 1 phó, trưởng, nguyên,

Phó

T T PART 1,2 Particle Trợ từ cả, ngay, chính, đến

V V VERB 1,2 Verb Động từ có, là, được, đi, làm

Vb V 2 Động từ

mượn

photo, knock-out, chat, bye

Vy Vy 1,2 Động từ

viết tắt XKLĐ, PCCC, QLTT

X X 1,2 Không phân

loại

như vậy, làm sao, nhất là

Y Np 1

Z Z 2 Yếu tố cấu

tạo từ phó, viên, bất, siêu, tái, tổng

Bảng 3.3: Mô tả dữ liệu bài toán POS Tag [24]

Kết quả sau khi gán nhãn POS tag:

Hình 3.12: Kết quả sau khi gán nhãn POS Tag

Bước 3: xác định vị trí của các từ trong một thực thể (chunking)

Trong bài toán trích xuất thông tin, tập nhãn cho các từ trong câu đầu vào thường được tạo ra theo mô hình BIO, với B là viết tắt của “Beginning”, I là viết tắt của “Inside”, và O là viết tắt của “Outside”. Khi biết vị trí từ bắt đầu của một thực thể và các từ nằm trong thực thể đó, chúng ta có thể xác định vị trí của thực thể trong câu có liên quan đến ngữ cảnh của từ trong câu. Ký hiệu sử dụng trong mô hình BIO:

 B_W: nhãn đánh dấu bắt đầu một từ với loại thực thể tương ứng.

Một phần của tài liệu Xây dựng Hệ thống Cố vấn Học tập Ảo (Trang 43 - 48)

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

(86 trang)