Skip to main content

Hiểu ngôn ngữ tự nhiên (NLU)

Câu mẫu (Samples)

Các câu mẫu là những câu nói với mục đích khác nhau mà khách hàng thường đề cập tới. Những câu mẫu có cấu trúc ngữ pháp khác nhau nhưng nội dung tương tự nhau sẽ được tổ chức thành một nhóm - Ý định

Trong mỗi câu mẫu, có thể đánh dấu những từ khóa chính - Thực thể.

Bạn có thể thêm trực tiếp câu mẫu bằng cách chọn Create Samplesđiền nội dung câu mẫu, ngôn ngữ, loại intent và ấn New Samples để thêm câu mẫu hoặc thêm câu mẫu ngay trong phần Intent hoặc tải lên từ file có sẵn.

Ý định (Intent)

Ở phần tài liệu này sẽ hướng dẫn bạn cách tạo ra một ý định với một nhóm câu mẫu giúp đào tạo mô hình AI tốt hơn như thế nào.

Bất kì một câu nào cũng sẽ được chia thành các thành phần nhỏ hơn:

Ý định : đây là nghĩa, mục đích của câu nói. Trong ví dụ trên, ý định ở đây là mua xe.

Đối tượng cụ thể là những sự kiện hoặc thông tin bổ sung giúp bổ sung nghĩa cho câu, ví dụ xe máy điện, Klara a2 ( được định nghĩa là các thực thể trong câu nói, sẽ được nhắc tới cụ thể ở phần tiếp theo trong bài viết này).

Các bạn có thể Ấn Create Intent để thêm mới một Intent hoặc tải lên từ một tệp theo format sau:

Sample: các câu mẫu trong Ý định, mỗi câu mẫu tương ứng 1 dòng

Intent: tên ý định, tiếng Việt không dấu hoặc tiếng Anh, không chứa ký tự đặc biệt.

Language : Ngôn ngữ hỗ trợ, Vi (tiếng Việt), En (Tiếng Anh)...

Confirm Message:(có thể để {'vi': None} nếu chưa điền có thông tin)

Domain: Nếu không có thông tin này, hệ thống tự thêm ý định vào Domain GENERAL.

Cùng VinBase học một số mẹo tạo ý định để mô hình AI học tốt nhất nhé!

Không nênNên
Không tạo Ý định mà chứa câu mẫu chỉ khác nhau chữ hoa / chữ thườngThêm ít nhất 30 cách nói cho mỗi Ý định
Không nên thêm những câu mẫu chỉ thay đổi 1 biến thể duy nhất như số điện thoại, ngày tháng, tên thành phố…Đảm bảo số lượng dữ liệu trong mỗi ý định là ngang nhau
Không tạo nhiều ý định với mục đích tương tự nhauTạo ý định hợp nhất từ những ý định nhỏ hơn
Không nên thêm các từ đơn lẻThêm câu đầy đủ
Thêm các từ viết tắt, từ đồng nghĩa để làm giàu dữ liệu
  • Không tạo Ý định mà chứa câu mẫu chỉ khác nhau chữ hoa / chữ thường: điều này sẽ làm cho dữ liệu nặng hơn nhưng bot không học được nhiều cấu trúc, dẫn tới nhận diện ý định kém.
SaiĐúng
Mua xe máy điệnMình muốn mua một chiếc xe máy điện
mua Xe Máy điệnTôi cần mua xe máy điện
MUA XE MÁY ĐIỆNLàm thế nào để sở hữu chiếc xe này?
mua Xe Máy ĐiệnTôi muốn đặt xe
  • Không nên thêm những câu mẫu chỉ thay đổi 1 biến thể duy nhất như số điện thoại, ngày tháng, tên thành phố…
SaiĐúng
Mua xe máy klaraMình muốn mua xe Klara
Mua xe máy TheonTôi cần mua xe máy Theon
Thêm ít nhất 30 cách nói cho mỗi Ý địnhCho mình đặt lịch bảo dưỡng xe nhé
Đặt lịch hẹn bảo dưỡng xe ô tôGiúp tôi hẹn lịch bảo dưỡng xe ô tô vào ngày mai
  • Thêm ít nhất 30 cách nói cho mỗi Ý định

    • Đảm bảo số lượng dữ liệu trong mỗi ý định là ngang nhau: Cố gắng giữ cân bằng về số lượng cách nói giữa các Ý định.
    • Không tạo nhiều ý định với mục đích tương tự nhau.
  • Đảm bảo số lượng dữ liệu trong mỗi ý định là ngang nhau: Cố gắng giữ cân bằng về số lượng cách nói giữa các Ý định

  • Không tạo nhiều ý định với mục đích tương tự nhau

    Ý định 1: Gặp nhân viên tư vấn

    Ý định 2: Chuyển cuộc hội thoại cho nhân viên hỗ trợ

    Ý định 3: Muốn nói chuyện với nhân viên

    Hợp nhất thành một ý định: Gặp nhân viên tư vấn

  • Tạo ý định hợp nhất từ những ý định nhỏ hơn

    Ý định: Mua xe máy điện

    Ý định : Mua xe đạp

    Ý định: Mua xe ô tô

    => Chuyển về cùng ý định: mua xe

    Hỏi lại người dùng: Bạn đang quan tâm tới dòng xe nào?

    Xe đạp, xe máy điện, ô tô...

  • Thêm các từ viết tắt, từ đồng nghĩa để làm giàu dữ liệu:

    • Ví dụ khi hỏi về địa điểm bán xe: ở đâu, địa chỉ, đại lý, địa điểm…

Thực thể (Entities)

Hiểu một cách đơn giản thực thể chính là từ khóa quan trọng mà người dùng muốn đề câp đến. Bằng việc xây dựng các thực thể trong hoạt động nghiệp vụ, bot của bạn có thể cung cấp các câu trả lời cụ thể cho các truy vấn của khách hàng.

Trên nền tảng vinbase.ai hiện nay có 2 loại thực thể: Thực thể tùy chỉnh và thực thể hệ thống

Thực thể hệ thống:

Hiện tại hệ thống vinbase.ai có khả năng phát hiện tự động 25 thực thể khác nhau trong cùng một câu mẫu được tại trên Chatbot. Bao gồm: Ngày, giờ, vị trí, tên người… Những Thực thể này sẽ được mô hình nhận dạng ngay lập tức, không cần đào tạo.

Dưới đây là mô tả cụ thể về từng entity và ví dụ đi kèm. Việc hiểu rõ các định nghĩa về entity trên hệ thống sẽ giúp bạn dễ dàng hơn trong việc gán nhãn, giúp chatbot nắm được thông tin quan trong mà bạn mong muốn sử dụng.

STTTên thực thểMô tả sơ quaVí dụ / định dạng
1@SYS.EMAILĐịa chỉ email, thư điện tửabc@gmail.com
2@SYS.URLĐịa chỉ webVinbase.ai
3@SYS.PHONESố điện thoại+84 1 234 5678
4@SYS.COLORmàu sắcBộ quần áo màu đỏ.
5@SYS.IPĐịa chỉ IPVí dụ về địa chỉ IP dạng IPv4: 151.101.65.121
6@SYS.NUMBERsố1234, 567
7@SYS.MONEYĐơn vị tiền tệGiá của chiếc áo này là 20 ngàn đồng.
8@SYS.GEO-PROVINCEĐơn vị hành chính gồm tỉnh / thành phố trực thuộc trung ương.Địa chỉ là ở tỉnh Thanh Hóa.
9@SYS.GEO-DISTRICTQuận, huyện, thị xã, thành phố trực thuộc tỉnhMình đi ăn ở quận Thanh Xuân.
10@SYS.GEO-COUNTRYTên một quốc giaTôi sống ở Việt Nam.
11@SYS.PERCENTPhần trămMình có mã giảm giá 20% .
12@SYS.TEMPERATURESố/khoảng số + đơn vị đo nhiệt độNhiệt độ ở Hà Nội là 30 oC.
13@SYS.TIMEThời gian liên quan đến giờThời gian checkin là 13h.
14@SYS.DATETIMEMốc thời gian liên quan đến ngàyKì nghỉ là từ 11 đến 15/9/2022.
15@SYS.DISTANCEKhoảng cáchTừ sân bay tới khách sạn là 10km.
16@SYS.DURATIONKhoảng thời gianChuyến nghỉ dưỡng kéo dài 2 ngày 3 đêm.
17@SYS.JOBNghề nghiệpTôi là nhân viên văn phòng.
18@SYS.ORGANIZATIONTên tổ chứcKhách sạn của Vingroup.
19@SYS.PERSONTên riêng ngườiTên của mình là Nguyễn Thị A.
20@SYS.MASSSố / Khoảng số + đơn vị khối lượng.Con cua này nặng 200 gram.
21@SYS.SPEEDTốc độVận tốc của xe là 50km/giờ.
22@SYS.AREASố / Khoảng số + đơn vị diện tíchNgôi nhà này rộng 300m2.
23@SYS.VOLUMESố / Khoảng số + đơn vị thể tíchMột cốc sinh tố là 250ml.
24@SYS.LOCATIONĐịa điểmTôi muốn đặt phòng tại Vinpearl Luxury Landmark 81.
25@SYS.EMOJIBiểu tượng cảm xúc khi chat:slight_smile:, ❤️, 😑, …
  • Thực thể tùy chỉnh : Với vai trò là quản trị viên, bạn hoàn toàn có thể tạo thêm các thực thể của riêng mình để phát hiện từ khóa tùy thuộc vào ngữ cảnh mà không bị giới hạn ở những thực thể có sẵn trong hệ thống.

Có 3 kiểu giá trị cho thực thể tùy chỉnh:

  • Synonym: Một ví dụ để bạn có thể dễ hình dung khi nào nên dùng loại giá trị này là trong thư viện có hàng trăm ngàn tên các loại sách, danh sách tên sách là một giá trị khổng lồ. Lúc này bạn nên dùng kiể synonym cho thực thể.

Chatbot tìm kiếm Thực thể bằng học máy, do đó người tạo Chatbot cần gán nhãn Entity. Sau đó, trong cuộc trò chuyện thực, Chatbot sẽ sử dụng kiến thức được đào tạo để đoán thông tin nào là giá trị của Thực thể (nhưng không tra cứu trong một giá trị danh sách cố định như với dạng listing). Sử dụng loại này nếu giá trị của Thực thể không thể xác định trước.

  • Pattern: bạn muốn lấy một giá trị cho thực thể mà định dạng bắt đầu bằng 3 chữ cái và 4 chữ số. Lúc đó, hãy lựa chọn kiểu Pattern và thêm dãy regex sau vào ô nhập từ khóa: [A-Z] {3} [0-9] {4}.

Thực thể biểu thức chính quy (regex) trích xuất các giá trị thực thể dựa trên một định dạng mẫu. Bằng cách sử dụng regex, bạn không cần phải tạo một danh sách nghiêm ngặt gồm tất cả các từ. Sử dụng kiểu giá trị này với trường hợp có quy tắc nhận diện các thực thể và số lượng thực thể khổng lồ không thể liệt kê hết.

  • Listing: ví dụ thực thể “VIHICLE_KEYWORD” có 3 giá trị cho 3 dòng xe là ô tô, ô tô điện, xe máy điện. hãy tạo 3 giá trị tương ứng nằm trong Thực thể, mỗi giá trị đều chọn kiểu Listing. Với giá trị “Xe_may”, liệt kê các giá trị tương ứng với các cách viết khác nhau.

Để tạo Entity, bạn vào mục Entites, trong phần Custem Entities, Ấn Create Entity và điền các trường thông tin liên quan.

Chatbot tìm kiếm Thực thể với danh sách giá trị là các từ khóa được xác định trước và cố định. Sử dụng loại này nếu các giá trị của các thực thể có giới hạn và có thể xác định trước. Lưu ý: Khi tạo listing nên tạo đa dạng cách viết, kể cả viết tắt, viết sai chính tả, teencode… vì người chat có rất nhiều cách viết khác nhau, càng đa dạng cách viết cho 1 thực thể thì mức độ phát hiện của Chatbot sẽ càng cao.