Nguồn: Big-O
Khi một sản phẩm được tạo ra, việc đánh giá và kiểm thử là vô cùng quan trọng.
VNG vừa cho ra mắt sản phẩm vCloudcam. Do đó, những phản hồi và góp ý từ người dùng là rất cần thiết để hoàn thiện sản phẩm một cách tốt nhất có thể.
vCloudcam là một sản phẩm của VNG Cloud, cung cấp dịch vụ giám sát và lưu trữ trực tuyến dữ liệu camera trên nền tảng công nghệ điện toán đám mây, hỗ trợ đa nền tảng (Web, Mobile App, Desktop).
vCloudcam mang lại nhiều lợi ích như:
Vào một ngày đẹp trời, tại một ngôi làng nọ tên là Bug (ngôn ngữ họ sử dụng cũng có cùng tên với ngôi làng), người dân nghe được thông tin về vCloudcam và rất muốn trải nghiệm thử.
Vì thế, họ đã liên hệ đăng ký với VNG để dùng thử sản phẩm. Họ cũng cam kết sẽ cung cấp những phản hồi chân thật nhằm giúp cải thiện chất lượng sản phẩm.
Tuy nhiên, việc xác định xem những gì họ nói là lời khen hay chê là điều khá khó khăn, bởi người dân trong làng khá đông và ngôn ngữ Bug lại rất kỳ lạ. Do đó, VNG đã xây dựng một mô hình đơn giản để nhanh chóng nhận biết mỗi câu trong ngôn ngữ Bug mang ý nghĩa tiêu cực hay tích cực.
Về Bug, đây là một ngôn ngữ rất đơn giản:
1 từ: ai (không phân biệt chữ hoa hay chữ thường).1 từ: ia. (không phân biệt chữ hoa hay chữ thường).Để đơn giản hóa, VNG quyết định đánh giá 1 câu là positive hay negative bằng cách đếm số từ biểu thị sự positive và số từ biểu thị sự negative. Giả sử gọi a, b lần lượt là số từ biểu thị sự positive và negative. Khi đó:
Sau khi thống nhất các quy tắc, giờ đây họ muốn mô hình khi gặp một câu tích cực (positive) sẽ trả về 1, câu tiêu cực (negative) sẽ trả về −1, và câu trung tính (neutral) sẽ trả về 0.
Đầu vào:
Dòng đầu tiên chứa một chuỗi s (1≤len(s)≤1.25⋅106) — câu nói cần xác định xem mang ý nghĩa positive, negative hay neutral.
Đầu ra:
Trả về 1 nếu s biểu thị sự tích cực (positive). Trả về −1 nếu s biểu thị sự tiêu cực (negative). Trả về 0 trong các trường hợp còn lại.
Giải thích:
Ví dụ 1: Ở ví dụ trên, chỉ xuất hiện 1 từ thể hiện sự tích cực là Ai. Do đó, câu trên là câu tích cực (positive).
Ví dụ 2: Ở ví dụ trên, xuất hiện 1 từ thể hiện sự tích cực là ai và 1 từ thể hiện sự tiêu cực là IA. Do số lượng từ chỉ sự tích cực và tiêu cực bằng nhau nên đây là câu trung tính (neutral).
Ví dụ 3: Ở ví dụ trên, chỉ xuất hiện 1 từ thể hiện sự tiêu cực là ia và không có từ nào thể hiện sự tích cực (lưu ý từ aim không phải là từ thể hiện sự tích cực dù có chứa ai). Do đó, đây là câu tiêu cực (negative).
Ví dụ 1:
Đầu vào:
I love VNG Ai
Đầu ra:
1
Ví dụ 2:
Đầu vào:
zxcvbnm IA bnm ai dkjasd
Đầu ra:
0
Ví dụ 3:
Đầu vào:
zxcvbnm ia bnm aim dkjasd
Đầu ra:
-1