Utilizing Natural Language Processing and other Technical Tools to Automate the Financial Modeling Process while Maintaining Robustness in the Model