Me han pedido que cree un programa que clasifique textos similares a un texto de entrada dada una colección de textos.
Hasta ahora he estado usando una representación tdidf y similitud coseno con un montón de limpieza basada en regex. El vocabulario es muy específico, con muchos códigos, nombres de equipos y tablas.
El mayor problema que encuentro es evitar recuperar textos similares basándome en partes sin importancia de la entrada. Por ejemplo, para "Tengo un problema en la máquina ABCD módulo XYZ" no me gustaría recuperar "Tengo un problema en la máquina EDFG módulo WNM". Pero tal vez me gustaría recuperar "ABCD tiene problemas en XYZ".
Lo he solucionado identificando los casos problemáticos y añadiéndolos a una función de limpieza. Por ejemplo, podría eliminar las palabras {"I", "have", "a", "problem", "on"} del vocabulario, ya que no quiero que contribuyan a mi función de similitud. Obviamente, este enfoque no es muy escalable.
El segundo problema al que me enfrento es cómo calcular el rendimiento del modelo.