Improving Rule Base Engines with Co-pilot Suggestions
Being a control room operator in a city with billions of people and tens of thousands of sensors is not an easy task these days. The cognitive pressure applied during shift hours can render the operator exhausted and influence their judgment and decision-making when life-or-death situations arise. Many cities worldwide use numerous subsystems managing edge sensors like parking, street light, traffic control and etc. As a system operator dealing with several disconnected UIs (User Interfaces) and receiving sensor detections directly to its workstation can quickly lead to disability to respond and operate urgent events.
This is where smart city management systems play a key role by presenting a unified situational awareness to operators with a single UI managing numerous sub-systems behind the scenes. These systems provide RBE (Rule Base Engine) or BPM (Business Process Management) modules to filter out noise generated by sensors and let only a small portion of sensor-generated detections trigger events that are dispatched to operators for handling. In both cases shift managers or stakeholders define rules which act as true/false filters with a condition. If a condition is met – the event is generated and dispatched to the operator, otherwise, the sensor detection is stored in DB for investigations and post-mortem analysis and not presented to the operator for handling. The figure below shows the flow from left to right where Sensor generated detections are processed by Rule and if relevant, transformed to Events and dispatched to operators.
The rule shown as epsilon in the picture is a complex entity containing many attributes like geo polygon, scheduling hours when the rule is active, sensor-specific properties, and priority based on which generated events should be handled first.
Great! Now the amount of events generated in the system is much lower as only sensor detections that meet the rule condition are transformed to events, however, we can do even better!
Generated events contain a portion of false positives, i.e. events that met the rule condition but were handled as false alarms by the operators. By applying machine learning algorithms we can minimize the number of false positive events to zero while still maintaining the same service level for the citizens. One such solution is using a hybrid recommendation engine that uses metadata of generated events history and operator feedback to recommend adjustments to rule attributes to minimize or even completely decrease false positives to zero. This co-pilot produces non-obligatory recommendations to the shift manager on how she can adjust the rule polygon, change rule scheduling, or modifying sensor detection types. Examples of such recommendations might be as follows:
- Air pollution sensor located near the traffic light generates detections in the morning since there are many trucks going out near the parking lot and stopping at the red light. Suggest to change rule scheduling to omit the 6-10 AM hours range.
- Vehicle motion analytics is configured on camera to detect illegal garbage waste disposal. This camera generates many false alarm detections. Suggest to change the sensor detection type from any vehicle to trucks or vans only.
- Public transportation vehicle triggers numerous detections when going out of their predefined route polygon. This is happening because of road works that might take a while. Suggest to enlarge the rule polygon to include rerouted area.
- A citizen engagement call center generates repetitive detections probably caused by pranks. Suggest lowering event priority from high to medium
- Waze/google maps generates many detections regarding traffic jams after soccer games on Sunday. Suggest to merge all generated events of type traffic gem into a single event
While building such a solution one can utilize generative AI to simulate sensor detection and use this synthetic data to train and validate the algorithms. After deployment in the production environment, the system will continue its learning and adjustment cycles based on specific customer use cases. Once adjusted to recommend suggestions for specific customer use cases, the system will also be able to predict or forecast events that might be triggered in the future – but that is a story for another article.