pattern recognition technology