We aimed to distinguish between them and the other research areas such as information retrieval and data mining. we tried to determine the general structure of such systems which form a part of larger systems that have a mission to answer user queries based on the extracted information. we reviewed the different types of these systems, used techniques with them and tried to define the current and future challenges and the consequent research problems. Finally we tried to discuss the details of the various implementations of these systems by explaining two platforms Gate and OpenCalais and comparing between their information extraction systems and discuss the results.