#49 Y si dos reglas matchean? No hay score? Es decir, una regla matchea un movimiento con un score determinado, y eliges la "mejor categoría" Por score.
Para mi lo estás haciendo al revés, yo haría categorización de movimientos, ahí estas aplicando categorías de una regla.
Es decir, yo cojo un movimiento y le aplicó todas las reglas para ver qué categorías encajan, y ya elegiría la mejor categorías.
Con esa impl dependes del orden en el que se ejecuten, solo la primera que encaje se le pone.
Al final tendrías que tener reglas super específicas, y dejarás cosas sin categorizar, de la otra forma pueden ser reglas más genéricas. Ejemplo:
Si tiene la palabra Station, es Transporte score 0.2
Si tiene Tandori Station es Restaurante score 1
Gas station, sería Transporte, Gasolina, score 1