Eu tenho uma lista de produtos, incluindo variáveis como o nome do produto (como aparece no recibo) e o comerciante onde o produto foi comprado.
Eu tenho muitas delas classificadas manualmente em um grupo fixo de categorias (por exemplo, bebidas alcoólicas, legumes, carne, etc.).
Os dados são, como sempre, barulhentos. Nesse caso, particularmente barulhento porque se trata de recibos digitalizados e OCR em verificações não tão boas, geralmente é muito barulhento.
Eu quero brincar com algoritmos para classificar novos dados, usando as duas variáveis acima.
Existem várias fontes principais de variação aqui:
- O OCR, que significa que um produto (por exemplo, frango) pode ser encontrado com muitas grafias diferentes, mas relativamente similares (por exemplo, chiken, hicken, chicen, ...).
- O mesmo produto pode ter nomes diferentes, de acordo com o comerciante que vendeu o produto. Nesse caso, os nomes podem ser semelhantes ou completamente diferentes entre os comerciantes, mas bastante semelhantes em todos os comerciantes.
- O mesmo produto pode ter nomes muito diferentes no mesmo comerciante (por exemplo, produtos de marca cujo nome no recibo é o nome da marca, vs. nomes genéricos; refrigerante vs. coca cola).
Eu tentei algum classificador (meio ingênuo), usando, por exemplo, a distância entre as strings (que aborda principalmente a primeira fonte principal de variação mencionada acima), mas não estou muito feliz com os resultados.
Então, eu queria entrar em contato aqui para pedir idéias sobre como lidar com esse problema. Eu acho que muitas pessoas "resolveram" ou pelo menos trabalharam muito mais nesse tipo de problema do que eu (algumas horas), então eu realmente aprecio qualquer orientação aqui.
A propósito, eu uso principalmente R, então as soluções baseadas em R seriam muito apreciadas.