AI-powered financial chatbot
Flask, a lightweight Python web framework. The chatbot leverages a predefined set of queries to provide users with financial insights based on a dataset of company financial data.
- User Input: Users interact with the chatbot by entering company names, years, and predefined queries into the input fields provided by the web interface.
- Query Processing: The Flask backend receives the user input and processes it using a Python function called financial_chatbot.
- Data Retrieval: The financial_chatbot function accesses a dataset containing financial data for various companies and years.
- Response Generation: Based on the user's input query, the financial_chatbot function retrieves the relevant financial data from the dataset and generates a response.
- Output: The response is then returned to the frontend and displayed to the user in the web interface.
- Total Revenue: βWhat is the total revenue?β
- Net Income Change: "How has the net income changed?"
- Total Assets and Liabilities: "What are the total assets and liabilities?"
- Predefined Queries: The chatbot can only respond to queries that match the predefined formats. Queries outside these formats may not be recognized or processed correctly.
- Dataset Coverage: The chatbot's responses are limited to the data available in the dataset. If the requested company or year is not present in the dataset, the chatbot will return a "Data not available" response.
- Natural Language Understanding: The chatbot does not perform advanced natural language processing (NLP) to understand variations in user input. It relies on exact matches to predefined query formats.
- Error Handling: Limited error handling is implemented in the current version of the chatbot. Invalid inputs or unexpected errors may result in generic error messages.
- NLP Integration: Improve the chatbot's ability to understand variations in user input through NLP techniques.
- Expanded Query Support: Add support for additional financial queries and more flexible query formats.
- Data Visualization: Integrate data visualization tools to provide graphical representations of financial data.
- User Authentication: Implement user authentication to personalize responses or access restricted data.
- Error Handling: Enhance error handling to provide more informative and context-specific error messages.