Created by: oserikov
An early work-in-progress PR on the refactoring of the GO-bot.
Looking for the architecture review: see the main script go_bot.py
(the refactored version of the old network.py
).
NLU, NLG, text2vec and features engineering are moved to the separate classes. Some helping dto-like classes are introduced.
Requires more testing to ensure that the ML logic is preserved without errors.
What is done:
- moved the NLU logic to the separate unit.
- moved the NLG logic to the separate unit.
- moved the text 2 vectors encoding logic to the separate unit.
- moved the complicated NN configs parsing to the separate class to ease further refactoring and simplification.
Todo:
- testing and debugging. Last commit is probably worsening the metrics for some reason.
- reorder the commits to smth meaningful and informative. This pr is opened from the debug branch, commits are overtracing the modifications to analyze metrics.
- More intuitive features, targets and batches classes.
- Proper OOP patterns for state tracker and multiple users tracking mechanism.
- Proper naming of things.
- Logging
- Type-hinting, docstrings etc