1. A method for performing a reasoning task, the method comprising: receiving a reasoning task, wherein the reasoning task includes one or more symbols; extracting at least one module from a knowledge base based on an interpretation of the one or more symbols; and performing the reasoning task with the at least one module to obtain a result.