Тут предложили много нормальных вариантов реализации, но что-то мне подсказывает что без уточнения требований это все пустое. С не нулевой вероятностью это все дело придется анализировать и подрубать нейронки, а значит часть предложенных решений уже не подойдут, если не все.