Nhờ những tiến bộ về khoa học kỹ thuật, việc lưu trữ thông tin và xử lý dữ liệu của con người phần lớn được thực hiện thông qua các công cụ hỗ trợ trên thiết bị thông minh. Tuy nhiên, hiện nay vẫn tồn tại khối lượng lớn tài liệu viết tay cần được số hóa để phù hợp với yêu cầu lưu trữ của người dùng. Chu trình này thường gây hao tốn thời gian và sức lực do phải tiến hành nhập liệu lại từ đầu. Để giải quyết vấn đề này, các nhà nghiên cứu đã phát triển các thuật toán trích xuất thông tin từ các văn bản chữ viết tay thành định dạng văn bản phù hợp với các thiết bị, máy móc. Bài viết dưới đây giới thiệu đến bạn đọc một công cụ phân loại chữ viết tay tương đối tối ưu: Perceptron nhiều lớp (Multilayer Perceptron Classifier – MLP).
Perceptron nhiều lớp (Multilayer Perceptron Classifier – MLP) là gì?
Multilayer Perceptron (Perceptron nhiều lớp) là một thuật toán học máy có giám sát (Machine Learning) thuộc lớp Mạng nơ-ron nhân tạo, là tập hợp của các perceptron chia làm nhiều nhóm, mỗi nhóm tương ứng với một layer. Thuật toán về cơ bản được đào tạo trên dữ liệu để học một hàm phi tuyến tính nhằm mục đích phân loại hay hồi quy, với một tập hợp các tính năng và một biến mục tiêu (ví dụ: nhãn). Bài viết này tập trung vào trường hợp phân loại.
Phân biệt Perceptron nhiều lớp (MLP) và hồi quy logistics (Logistic Regression)
Hồi quy logistic chỉ có hai lớp, bao gồm lớp đầu vào (input) và đầu ra (output), còn với MLP, ngoài lớp Input và Output ra thì các lớp nơ-ron ở giữa được gọi chung là lớp Hidden (lớp ẩn). Do tính chất phi tuyến tính này, MLP có thể học các hàm phi tuyến tính phức tạp và phân biệt dữ liệu không thể phân tách tuyến tính. Tuy nhiên, MLP cũng có 1 số nhược điểm, chẳng hạn như hàm bị phân tách cho lớp ẩn (hidden) dẫn đến vấn đề tối ưu hóa không lồi và tồn tại cực tiểu cục bộ. Vì vậy việc khởi tạo khối lượng đầu vào khác nhau có thể dẫn đến đầu ra với các kết quả khác nhau. Ngoài ra, MLP sử dụng một số siêu tham số, bao gồm số lượng tế bào nơ-ron ẩn hay thông tin các lớp cần được điều chỉnh, phân tích các siêu tham số này dễ dẫn đến tốn thời gian và nguồn lực. Đặc biệt, MLP có thể nhạy cảm với việc mở rộng tính năng.
Phân loại chữ số viết tay trong Python bằng cách sử dụng scikit-learning
Chuẩn bị cơ sở dữ liệu
Ở đây cơ sở dữ liệu được sử dụng là MNIST, bao gồm đa dạng dữ liệu chữ số viết tay phổ biến nhằm đào tạo một số mô hình học máy (Machine Learning). Có 10 hình viết tay gồm 10 chữ số khác nhau nên số lớp được mặc định là 10.
Hình ảnh các chữ số viết tay được thể hiện bằng các mảng 2D và kích thước ban đầu của dữ liệu là 28×28 cho mỗi hình ảnh (28×28 pixel). Các hình ảnh 2D sau đó được làm phẳng và biểu diễn bằng các vectơ. Mỗi hình ảnh 2D được chuyển hóa thành một vectơ 1D với kích thước [1, 28×28] = [1, 784].Một số mẫu từ tập dữ liệu MNIST
Nhập và chuẩn bị dữ liệu
Mỗi hình ảnh 2D đầu vào được chuyển đổi thành một vectơ 1D với kích thước [1, 28×28] = [1, 784]. Điều này trả ra kết quả 70 000 hình ảnh phẳng (mẫu), mỗi hình ảnh chứa 784 pixel (28×28 = 784). Do đó, ma trận trọng số của lớp đầu vào sẽ có hình dạng 784 x #neurons_in_1st_hidden_layer. Ma trận trọng số của lớp đầu ra sẽ có hình dạng #neurons_in_3rd_hidden_layer x #number_of_classes
Đào tạo mô hình
Bước này tiến hành quá trình xây dựng mô hình, đào tạo và thực hiện phân loại, thông qua sử dụng 3 lớp ẩn với lần lượt 50, 20 và 10 nơ-ron mỗi lớp. Đặt số lần lặp tối đa là 100 và tốc độ tự học là 0,1.
Đánh giá mô hình Perceptron nhiều lớp (MLP)
Đánh giá mô hình dựa trên ước tính độ chính xác trung bình của dữ liệu và nhãn đào tạo để kiểm tra. Sau đó hình dung sự phát triển của hàm chi phí và tính toán sự mất mát trong quá trình đào tạo. Tiếp theo, thuật toán lan truyền ngược được sử dụng để cập nhật trọng số để giảm thiểu hàm chi phí.
Perceptron nhiều lớp (MLP) là một mô hình mạng nơ-ron rất mạnh mẽ cho phép học các hàm phi tuyến tính đối với dữ liệu phức tạp. Phương pháp này đặc biệt phù hợp với các tài liệu chữ, số viết tay, hỗ trợ phân loại và trích xuất nhanh chóng.
| Trích xuất văn bản viết tay là một tính năng đang được VinBigData phát triển trong hệ thống Nhận dạng ký tự quang học – VinOCR. VinOCR báo cáo kết quả với độ chính xác cao tới 96%, tốc độ xử lý chưa đến 0,1s. Hệ thống ứng dụng cụ thể trong đa lĩnh vực, số hóa trải nghiệm người dùng, tăng tỉ lệ chuyển đổi, giảm rủi ro cho các doanh nghiệp. Tìm hiểu thêm về VinOCR tại: https://product.vinbigdata.org/vinocr/ |
Nguồn tham khảo: Towards Data Science
Xử lý ngôn ngữ tự nhiên (NLP) có nhiều ứng dụng thiết thực, đóng góp đáng kể cho sự phát triển của các thiết bị thông minh, điển hình là tính năng trợ lý ảo đang rất được quan tâm thời gian gần đây. Liên quan trực tiếp đến đối thoại tự nhiên của con người, các mô hình của NLP có những đòi hỏi khắt khe về hàm lượng dữ liệu đầu vào và thời gian đào tạo chuyên sâu để hoàn thiện khả năng phân tích chính xác và giao tiếp phù hợp ngữ cảnh. Có vô số cơ sở dữ liệu mã nguồn mở hỗ trợ cho chu trình Xử lý ngôn ngữ tự nhiên, với nội dung tập trung vào các từ, các câu, đoạn văn bản, bài phát biểu, tiếng lóng và những điều liên quan tới đối thoại tự nhiên của con người. y nhiên, sự nở rộ của các cơ sở dữ liệu mở lại đang khiến nhiều nhà nghiên cứu hoang mang trong việc “chọn mặt gửi vàng”, thậm chí là có thể đi sai hướng nếu họ sử dụng các nguồn không đầy đủ hoặc bộ dữ liệu lỗi thời
Dưới đây là gợi ý những cơ sở dữ liệu mã nguồn mở được ưa chuộng và đánh giá cao trên thế giới, nhằm cung cấp thông tin hữu ích cho các nhà nghiên cứu và phát triển trong lĩnh vực NLP.

1. Quora Question Insincerity Dataset
Đây là một bộ dữ liệu sử dụng trong bài toán phân loại câu hỏi của người dùng có trung thực hay không. Bộ dữ liệu này được cung cấp bởi Quora và sử dụng trong một cuộc thi trên Kaggle. Bộ dữ liệu này mang lại nhiều hữu ích với những người đang tiếp cận các bài toán phân loại văn bản chỉ với hai lớp (binary classification).
Dưới đây là một số bài viết khoa học hữu ích có thể giúp các bạn giải quyết bài toán phân loại sử dụng bộ dữ liệu Quora Question Insincerity Dataset:
- Bài viết “Phương pháp tiền xử lý văn bản cho Học sâu” cung cấp các thông tin liên quan đến các kỹ thuật tiền xử lý trong các mô hình Học sâu, đặc biệt về các kỹ thuật embeddings.
- Các chủ đề liên quan đến các phương pháp phổ biến để phân loại văn bản, với các mô hình cơ bản và hữu dụng như TFIDF, Countvectorizer, Hashing, v.v., ứng dụng để phân loại văn bản và xây dựng một mô hình cơ sở (baseline) để so sánh hiệu quả của các mô hình.
- Các bài báo chuyên sâu về các mô hình Học sâu từ Attention, CNN, tập trung vào các kiến trúc khác nhau để giải quyết vấn đề phân loại văn bản.
- Các nội dung transfer learning bằng cách sử dụng BERT và ULMFit.
2. Stanford Question Answering Dataset (SQuAD)
SQuAD là một bộ dữ liệu phổ biến được sử dụng trong các bài toán hỏi – đáp tự động dựa trên đọc hiểu (machine reading comprehension – MRC). MRC là một cách tiếp cận mô phỏng quá trình chúng ta đọc một văn bản rồi trả lời các câu hỏi liên quan trong văn bản đó. Để giải quyết bài toán hỏi – đáp tự động dựa trên cách tiếp cận này, Stanford xây dựng bộ dữ liệu gồm tập hợp các cặp câu hỏi – trả lời cùng với đoạn văn bản có thể chứa câu trả lời (các bài viết trên Wikipedia).
Nói một cách đơn giản, trong tập dữ liệu này, người dùng được đưa ra một câu hỏi và một đoạn văn bản chứa câu trả lời. Nhiệm vụ sau đó là tìm ra vị trí câu trả lời đang ở đâu. Nhiệm vụ này thường được gọi là Nhiệm vụ Câu hỏi & Trả lời.
Để tìm hiểu sâu hơn về vấn đề này có thể tham khảo bài viết “Understanding BERT with Hugging Face”, gợi ý phương thức dự đoán câu trả lời cho các câu hỏi với tập dữ liệu có sẵn và sử dụng mô hình BERT đồng thời với thư viện Hugging Face.
Đây là cơ sở dữ liệu chuyên về đánh giá các loại thuốc. Tại đây cung cấp đánh giá của bệnh nhân về từng mẫu thuốc cụ thể cùng với các tình trạng bệnh tương ứng. Hệ thống xếp hạng trên thang điểm 10 để minh chứng sự hài lòng của bệnh nhân.
Tập dữ liệu này có thể được sử dụng để phân loại nhiều nhãn, thành một trong ba hoặc nhiều lớp (Multiclass classification).
Tập dữ liệu Yelp cung cấp các đánh giá về nhà hàng kèm theo các thông tin khác như danh mục, thời gian mở cửa và thời gian đóng cửa ở định dạng JSON. Ngoài ra, cơ sở dữ liệu này cũng tạo ra hệ thống để phân loại món ăn. Chúng ta có thể sử dụng các kỹ thuật nhận dạng tên thực thể (NER) để tìm ra các món ăn trong từng bài đánh giá. Bộ dữ liệu này được đánh giá khá cao với hoạt động kinh doanh và tìm kiếm của Yelp.
Bộ dữ liệu dành riêng cho lĩnh vực phim ảnh, bao gồm các thông tin mô tả phim, xếp hạng trung bình, số phiếu bầu, thể loại và dàn diễn viên từ hệ thống 50k phim của IMDB.
Không chỉ hỗ trợ chu trình Xử lý ngôn ngữ tự nhiên (NLP), bộ dữ liệu này còn có thể được sử dụng theo nhiều phương thức và mục đích để đào tạo nhiều mô hình thuật toán khác nhau. Các nhà nghiên cứu có thể sử dụng tập dữ liệu để xây dựng thuật toán hệ thống gợi ý, phân loại thể loại và tìm kiếm các bộ phim tương tự.
Bộ dữ liệu thông tin thường thức được chia thành 20 nhóm, bao gồm khoảng 18.000 bài đăng về đa dạng chủ đề như giải trí, tiện ích, thể thao, hệ tư tưởng, chính trị, v.v. Đây là tập dữ liệu phân loại đa lớp và các nhà phát triển có thể sử dụng tập dữ liệu này để học lập mô hình chủ đề (Topic Modeling).
7. IWSLT (International Workshop on Spoken Language Translation) Dataset
Đây là bộ dữ liệu liên quan tới lĩnh vực dịch máy với nhiều tiêu chuẩn thực tế sử dụng cho các nhiệm vụ dịch thuật. Nó cung cấp bản dịch các bài nói chuyện của TED và TEDx về nhiều chủ đề khác nhau bằng các ngôn ngữ Đức, Anh, Ý, Hà Lan và Rumani. Nguồn dữ liệu tại IWSLT có thể được sử dụng để phục vụ huấn luyện mô hình dịch máy với các các ngôn ngữ trên. Ngoài ra, IWSLT có thể được truy cập bằng PyTorch khi sử dụng torchtext.datasets.
Trên đây là các bộ dữ liệu mã nguồn mở mà bất kỳ nhà nghiên cứu nào trong lĩnh vực xử lý ngôn ngữ tự nhiên (NLP) nên tham khảo.
| Nếu bạn mong muốn trải nghiệm chuyên sâu và tham gia vào các dự án đột phá về Xử lý ngôn ngữ tự nhiên (NLP), đừng ngại ứng tuyển để trở thành Chuyên gia quản lý dự án (Senior Technical Project Manager) tại Trung tâm Công nghệ Trợ lý ảo VinBigData. Gia nhập ngay để cùng đội ngũ chuyên gia, kỹ sư giàu kinh nghiệm giải quyết những bài toán thú vị về Trợ lý giọng nói, chatbot, voicebot hàng đầu Việt Nam. Tìm hiểu về vị trí Chuyên gia quản lý dự án (Senior Technical Project Manager): Tại đây |
Nguồn tham khảo: Kdnuggets
Chăm sóc khách hàng là một khâu quan trọng trong các doanh nghiệp, bởi nó không những thu thập thông tin để cải thiện sản phẩm, dịch vụ mà còn thấu hiểu nhu cầu khách hàng để hoạch định chiến lược phù hợp hơn. Thời gian gần đây, hoạt động chăm sóc khách hàng dần được tự động hóa nhờ sự phát triển mạnh mẽ của chatbot, hay các thuật toán hỗ trợ hồi đáp tự động dựa trên trí tuệ nhân tạo (AI). Các cuộc hội thoại tự nhiên và thông tin phản hồi chính xác là yếu tố quyết định sự hài lòng của khách hàng. Để đạt được điều đó, việc thấu hiểu ý định người dùng là vô cùng quan trọng. Khác với các kỹ thuật thường thấy, bài viết này cung cấp một phương thức tiếp cận mới, tự động phân cụm dữ liệu từ các tin nhắn văn bản ngắn để xác định và trích xuất ý định của người dùng.
Lập mô hình chủ đề
Có một số cách để tiếp cận các vấn đề học không giám sát, trong đó kỹ thuật thường xuyên được sử dụng nhất là sử dụng mô hình chủ đề (topic modeling).
Nhiều thuật toán có thể được ứng dụng để thực hiện mô hình hóa chủ đề, nhưng một thuật toán rất phổ biến là Phân bổ Dirichlet tiềm ẩn (tiếng Anh: Latent Dirichlet allocation, hay viết tắt là LDA). LDA là một mô hình sinh mẫu giả định rằng mỗi tài liệu được tạo thành từ sự phân bố của một số chủ đề cố định và mỗi chủ đề được tạo thành từ sự phân bố các từ. Một số khó khăn khi sử dụng LDA (và nhiều thuật toán mô hình hóa chủ đề khác) nằm ở khâu quyết định có bao nhiêu chủ đề thực sự sử dụng, được coi là một siêu tham số mô hình cần thiết. Đồng thời, tính mạch lạc cũng là phương pháp để đánh giá chất lượng của các chủ đề, được tính toán bằng cách đo lường mức độ tương tự của các từ trong mỗi chủ đề. Điểm mạch lạc càng cao thì kết quả càng chính xác.
Một hạn chế khác của LDA và các phương pháp tiếp cận mô hình chủ đề tương tự nằm ở việc coi toàn bộ từ vựng trong tài liệu như một “túi từ”, trong đó thứ tự sắp xếp từ không quan trọng. Phương thức này hoạt động tốt đối với các tài liệu dài hơn (với một kho ngữ liệu lớn hơn), trong đó việc xác định các từ cùng xuất hiện có thể cung cấp một bức tranh tốt về các chủ đề. Ngoài ra, thường có một số lượng tương đối nhỏ các chủ đề và các chủ đề khá khác biệt. Tuy nhiên, nội dung văn bản ngắn thường có những thách thức cụ thể, chẳng hạn như xuất hiện hai cụm từ chứa các từ gần giống nhau nhưng ý nghĩa rất khác nhau hoặc hai cụm từ bao hàm cùng một ý định nhưng hầu như không có từ nào chung. Điều này đặc biệt hạn chế tính hữu ích của các phương pháp tiếp cận mô hình chủ đề tiêu chuẩn nhằm xác định ý định trong văn bản ngắn.
Phân cụm embeddings
Ngoài mô hình chủ đề, phân cụm là một cách tiếp cận rất phổ biến khác đối với các vấn đề tự học không giám sát. Để có thể phân cụm dữ liệu văn bản cần đưa ra nhiều quyết định, bao gồm cách xử lý dữ liệu và thuật toán được sử dụng.
Lựa chọn embeddings
Bước đầu tiên cần phải biểu diễn dữ liệu văn bản dưới dạng số, với các phương thức tiếp cận phổ biến bao gồm tạo embeddings, hoặc vector biểu diễn của từng từ để sử dụng cho việc phân cụm. Vì mỗi tin nhắn thường chứa một số lượng từ nhất định, nên có thể chỉ cần lấy trung bình từ việc biểu diễn các từ riêng lẻ trong toàn bộ tin nhắn. Kỹ thuật này hiệu quả trong một số trường hợp, tuy nhiên, giải pháp được đánh giá cao hơn đó là trực tiếp tính toán để tạo embedding một lần cho một câu đầy đủ, như vậy, ý nghĩa và ý định trong câu sẽ rõ ràng hơn. Đặc biệt với các đoạn văn bản ngắn, giải pháp này xử lý những vấn đề về nội dung hay hình thức trùng lặp đã được nêu ra phía trên.
Bộ mã hóa câu toàn cầu của Google (Google’s Universal Sentence Encoder – USE) xuất bản năm 2018 là một mô hình nhúng câu phổ biến, được đào tạo dựa trên nhiều loại dữ liệu, bao gồm Wikipedia, tin tức trên website, và các thảo luận trên diễn đàn. Mô hình này được đánh giá là hiệu quả trong việc xác định ý nghĩa câu.
Năm 2019, Reimers và Gurevych lần đầu giới thiệu một kỹ thuật có tên gọi là Sentence-BERT, một biến thể khác của kiến trúc BERT. Mô hình này sử dụng kiến trúc mạng siamese để tạo ra biểu diễn của câu.
Giảm chiều dữ liệu
Hầu hết các câu sau khi nhúng đều có kích thước lớn (> 500 thuộc tính mỗi câu). Việc giảm kích thước trước khi phân cụm góp phần cải thiện đáng kể đến kết quả.
Kỹ thuật giảm kích thước phổ biến năm 2020 là Phép chiếu xấp xỉ và phép chiếu thống nhất cho phép giảm kích thước (UMAP), nhanh hơn và có khả năng mở rộng cao hơn nhiều so với t-SNE, đồng thời bảo toàn cấu trúc tổng thể của dữ liệu tốt hơn nhiều.
Lựa chọn thuật toán phân cụm
Lựa chọn tốt nhất là các thuật toán dựa trên mật độ vì chúng không yêu cầu chỉ định số lượng cụm và không quan tâm đến hình dạng cụm. Phân cụm không gian dựa trên mật độ phân cấp (HDBSCAN) đã trở nên phổ biến vì nó có ít siêu tham số hơn và trực quan hơn DBSCAN, đồng thời có hiệu quả mạnh mẽ đối với các cụm có mật độ thay đổi.
Tạo cụm từ UMAP + HDBSCAN
Hiện tại đã có sẵn 2 thư viện để xâu chuỗi UMAP và HDBSCAN với nhau cho mục đích mô hình hóa chủ đề: Top2Vec (github và paper) và BERTopic (github và article). Tuy nhiên, các siêu tham số mặc định được sử dụng trong cả 2 thư viện đều không xử lý hiệu quả các vấn đề với văn bản ngắn và một kho dữ liệu nhỏ (hầu hết dữ liệu cuối cùng được phân loại bị nhiễu và chỉ tìm thấy tổng số ba cụm). Bài viết này sử dụng trực tiếp UMAP và HDBSCAN để điều chỉnh siêu tham số phù hợp.
UMAP có một số siêu tham số kiểm soát chu trình giảm kích thước, và 2 trọng số quan trọng nhất là n_neighbors và n_components. Tham số n_neighbors kiểm soát cách UMAP cân bằng cấu trúc cục bộ và tổng thể của dữ liệu. Tham số này kiểm soát kích thước của vùng lân cận liên đới tới UMAP để tìm hiểu cấu trúc đa tạp, vì thế các giá trị thấp hơn của n_neighbors sẽ tập trung nhiều hơn vào cấu trúc cục bộ. Tham số n_components kiểm soát kích thước nhúng cuối cùng sau khi thực hiện giảm kích thước trên dữ liệu đầu vào. HDBSCAN cũng có một số siêu tham số quan trọng, nhưng tham số quan trọng nhất cần xem xét là min_cluster_size. Tham số min_samples mặc định bằng min_cluster_size nếu không có chỉ định khác và khi min_samples càng lớn thì càng có nhiều điểm bị loại bỏ dưới dạng nhiễu/ ngoại lệ. Trong trường hợp tham số min_samples nhỏ hơn min_cluster_size cho thấy các điểm đã được dán nhãn là ngoại lệ và hợp nhất chúng với các cụm lân cận tương tự nhất của chúng.
Một chú ý rằng UMAP là thuật toán ngẫu nhiên và nó sử dụng tính ngẫu nhiên để tăng tốc các bước gần đúng để sau đó tối ưu hóa.
Xác định chức năng cho điểm
Mặc dù thường được sử dụng với các thuật toán phân nhóm khác nhau, Điểm số hình bóng (Silhouette Score) không phải là chỉ số xác thực tốt nhất cho các thuật toán dựa trên mật độ như DBSCAN và HDBSCAN vì kỹ thuật này giả định rằng tất cả các điểm đều được gán cho một nhóm và không thể xử lý nhiễu hay các ngoại lệ một cách thích hợp. Xác thực cụm dựa trên mật độ (DBCV) đã được một số người đề xuất và sử dụng để điều chỉnh siêu tham số HDBSCAN. Bài viết này tận dụng thuộc tính probabilities HDBSCAN hữu ích, với độ mạnh mà mỗi mẫu là một phần của cụm được chỉ định. Điểm nhiễu có xác suất bằng không; các điểm trong cụm có các giá trị được chỉ định tỷ lệ với mức độ tồn tại trong cụm.
Tìm kiếm siêu tham số ngẫu nhiên
Với kích thước tập dữ liệu chỉ là 1.000 mẫu, vẫn mất khoảng 3 giây để tạo các cụm và tính điểm cho một tập hợp đầu vào nhất định. Kích thước tập dữ liệu càng lớn sẽ càng mất nhiều thời gian. Thực hiện tìm kiếm ngẫu nhiên thay vì tìm kiếm toàn bộ lưới là một chiến lược thay thế khá hiệu quả.
Tối ưu hóa Bayes với Hyperopt
Tìm kiếm ngẫu nhiên không gian siêu tham số hoạt động khá tốt, nhưng có một lựa chọn tốt hơn chính là Tối ưu hóa Bayes với 3 bước chính:
Bước 1: xác định hàm mục tiêu muốn tối ưu hóa. Các ràng buộc tối ưu hóa được bao gồm trong hàm mục tiêu bằng cách thêm một thuật ngữ phạt nếu số lượng cụm nằm ngoài phạm vi mong muốn
Bước 2: thu nhỏ hàm mục tiêu trên không gian tìm kiếm siêu tham số bằng cách sử dụng thuật toán Công cụ ước tính Parzen có cấu trúc cây (TPE):
Bước 3: Chạy tìm kiếm Bayes với 100 đánh giá tối đa trên không gian tham số
Đồng thời, giai đoạn này có thể hình dung các cụm hoặc kiểm tra thủ công một số trong số chúng để đảm bảo chúng có ý nghĩa.
Đánh giá hiệu suất, biết các nhãn sự thật cơ bản
Thay vì kiểm tra tất cả các nhóm theo cách thủ công nên đánh giá định lượng các hoạt động của mô hình. Hai số liệu thường được sử dụng để đánh giá phân cụm văn bản là Thông tin tương hỗ được chuẩn hóa và Chỉ số ngẫu nhiên được điều chỉnh. Cả hai chỉ số đều có giá trị từ 0 đến 1, và giá trị càng lớn thì độ hiệu quả càng cao.
Ghi nhãn cụm tự động
Cách tiếp cận để thực hiện ghi nhãn cụm tự động là trích xuất cặp hành động-đối tượng phổ biến nhất trong các cụm từ đang xử lý để quy ước làm nhãn cụm. Kỹ thuật được áp dụng thường xuyên: nối động từ phổ biến nhất, tân ngữ trực tiếp và hai danh từ đứng đầu từ mỗi cụm. Gói spaCy với thuật toán phân tích cú pháp có thể bổ trợ trong chu trình này.
Trong bài viết này đã phác thảo một khuôn khổ nhằm tận dụng kiến thức miền, dễ dàng phân cụm các tài liệu văn bản ngắn và áp dụng các nhãn mô tả để hiểu ý định người dùng trong các câu thoại ngắn. Mục đích của bài viết này hướng tới tiếp cận các tập dữ liệu nhỏ, nhưng phương thức tiếp cận vẫn sẽ hoạt động hiệu quả với các tập dữ liệu lớn hơn.
| Tính năng am hiểu ý định người dùng là một tính năng vượt trội được áp dụng trong hệ thống Chatbot phát triển bởi VinBigData – Vinbot. Đặc biệt, Vinbot còn có khả năng nhận biết ngữ điệu và cường độ để tìm hiểu sắc thái cảm xúc của khách hàng, và đối thoại tự nhiên như con người. Tìm hiểu thêm về Vinbot và hệ sinh thái sản phẩm của VinBigData: Tại đây |





