Machine learning has enabled a large number of advances in the creation of intelligent software agents. It is not the only semantic technology in use though, despite getting most of the press coverage. In my experience the best results often come from combining two more of the following semantic technologies:<p>* Semantic reasoning using description logics<p>* Abductive reasoning<p>* Natural Language Processing<p>* Machine Learning, and Deep Learning<p>* Genetic Algorithms<p>* Probabilistic Reasoning<p>* Artificial Life (which dovetails on Genetic Algorithms, but has other areas as well)<p>There are others I've missed, but those are the ones I've worked with the most.