Hay un proyecto paralelo en el que estoy trabajando en el que necesito estructurar una solución al siguiente problema.
Tengo dos grupos de personas (clientes). El grupo A
tiene la intención de comprar y el grupo B
tiene la intención de vender un producto determinado X
. El producto tiene una serie de atributos x_i
, y mi objetivo es facilitar la transacción entre A
y B
haciendo coincidir sus preferencias. La idea principal es señalar a cada miembro de A
un correspondiente en B
cuyo producto se adapte mejor a sus necesidades, y viceversa.
Algunos aspectos complicados del problema:
La lista de atributos no es finita. El comprador podría estar interesado en una característica muy particular o algún tipo de diseño, lo cual es raro entre la población y no puedo predecirlo. No se pueden enumerar previamente todos los atributos;
Los atributos pueden ser continuos, binarios o no cuantificables (por ejemplo, precio, funcionalidad, diseño);
¿Alguna sugerencia sobre cómo abordar este problema y resolverlo de forma automatizada?
También agradecería algunas referencias a otros problemas similares si es posible.
Grandes sugerencias! Muchas similitudes en la forma en que estoy pensando en abordar el problema.
El problema principal al mapear los atributos es que el nivel de detalle al que se debe describir el producto depende de cada comprador. Tomemos un ejemplo de un automóvil. El producto "automóvil" tiene muchos atributos que van desde su rendimiento, estructura mecánica, precio, etc.
Supongamos que solo quiero un automóvil barato o un automóvil eléctrico. Ok, eso es fácil de mapear porque representan las características principales de este producto. Pero digamos, por ejemplo, que quiero un automóvil con transmisión de doble embrague o faros de xenón. Bueno, puede haber muchos automóviles en la base de datos con estos atributos, pero no le pediría al vendedor que complete este nivel de detalle en su producto antes de la información de que alguien los está buscando. Tal procedimiento requeriría que cada vendedor complete un formulario complejo y muy detallado, solo intente vender su automóvil en la plataforma. Simplemente no funcionaría.
Pero aún así, mi desafío es tratar de ser tan detallado como sea necesario en la búsqueda para hacer una buena combinación. Entonces, la forma en que pienso es mapear los aspectos principales del producto, aquellos que probablemente sean relevantes para todos, para reducir el grupo de vendedores potenciales.
El siguiente paso sería una "búsqueda refinada". Para evitar crear un formulario demasiado detallado, podría pedirles a los compradores y vendedores que escriban un texto libre de sus especificaciones. Y luego use un algoritmo de coincidencia de palabras para encontrar posibles coincidencias. Aunque entiendo que esta no es una solución adecuada al problema porque el vendedor no puede "adivinar" lo que necesita el comprador. Pero podría acercarme.
El criterio de ponderación sugerido es excelente. Me permite cuantificar el nivel al que el vendedor coincide con las necesidades del comprador. Sin embargo, la parte de escala podría ser un problema, porque la importancia de cada atributo varía de un cliente a otro. Estoy pensando en usar algún tipo de reconocimiento de patrones o simplemente pedirle al comprador que ingrese el nivel de importancia de cada atributo.