Chatbots are software which can simulate a conversation in human language or automate tasks. Some chatbots by the answers they provide, give the illusion to the user that he is chatting with a human agent. It is always easier to discuss with a company naturally as you would do with a friend. Thus, chatbots enhance the value of customer relationship within the company. Chatbots that were built in the past did not use natural language processing techniques just keywords recognition methods; others use platforms like Luis.ai, Wit.ai for understanding human language but for more complex tasks (conversation, voice recognition), these systems cannot meet the demand. In this work, the aim is to realize a chatbot using natural language processing. To achieve this, we used essentially statistical methods for natural language processing, including structural approach used for word processing tasks (tokenization, stop words removal, stemming) and Bag of words approach for vectorization of text obtained after preprocessing. Subsequently, we used machine learning methods such as neural networks to allow the chatbot to answer the user's questions using training data (corpus).