Tôi có một danh sách các sản phẩm, bao gồm các biến như tên sản phẩm (như xuất hiện trên biên lai) và thương gia nơi sản phẩm được mua.
Tôi có rất nhiều trong số họ được phân loại thủ công thành một nhóm cố định (ví dụ như đồ uống có cồn, rau, thịt, v.v.).
Các dữ liệu, như mọi khi, ồn ào. Trong trường hợp này, đặc biệt ồn ào vì xuất phát từ các biên lai được quét và OCR trên các bản quét không tốt nên thường rất ồn.
Tôi muốn chơi xung quanh với các thuật toán để phân loại dữ liệu mới, sử dụng hai biến ở trên.
Có một số nguồn biến thể chính ở đây:
- OCR, có nghĩa là một sản phẩm (ví dụ gà) có thể được tìm thấy với nhiều cách viết khác nhau nhưng tương đối giống nhau (ví dụ: chiken, hicken, chicen, ...).
- Cùng một sản phẩm có thể có tên khác nhau, theo các thương gia đã bán sản phẩm. Trong trường hợp này, các tên có thể giống nhau hoặc hoàn toàn khác nhau giữa các thương nhân, nhưng tương tự nhau trong mỗi thương gia.
- Cùng một sản phẩm có thể có các tên rất khác nhau trong cùng một thương gia (ví dụ: các sản phẩm có thương hiệu có tên trên hóa đơn là tên thương hiệu, so với tên chung; nước ngọt so với coca cola).
Tôi đã thử một số trình phân loại (loại ngây thơ), ví dụ như sử dụng khoảng cách giữa các chuỗi (mà chủ yếu là nguồn biến thể chính đầu tiên được đề cập ở trên), nhưng tôi không hài lòng lắm với kết quả.
Vì vậy, tôi muốn tiếp cận ở đây để hỏi ý tưởng về cách giải quyết vấn đề này. Tôi đoán nhiều người đã "giải quyết" hoặc ít nhất là làm việc lâu hơn trong loại vấn đề này hơn tôi (một vài giờ) vì vậy tôi thực sự sẽ đánh giá cao bất kỳ hướng dẫn nào ở đây.
Nhân tiện, tôi sử dụng chủ yếu là R, vì vậy các giải pháp dựa trên R sẽ được đánh giá rất cao.