Simplification of matching-type logic adapters
This is a cool internal change that occurred for this release. By pulling several statement comparison methods out into their own module, much of the code for several matching style logic adapters became nearly identical. This made it possible to reduce a large amount of repeated code.
In a future release, all of the matching style logic adapers (ClosestMatch, ClosestMeaning, SentimentAnalysis, ApproximateSentenceMatch) will be replaced by a single MatchingAdapter
class that will allow the comparison function to be set as a parameter.
- Modify
synset_distance
comparison function [https://github.com//pull/385] - The comparison function now returns a percent so it can be easily compared to other comparison methods.
- This change allowed the codebase for the closest match adapter and the closest meaning adapter to be combined.
- Move sentiment matching to it's own function [https://github.com//pull/386]
- Don't override get method on
ApproximateSentenceMatchAdapter
[https://github.com//pull/387] - Add check for if logic adapter string parameters need to be imported [https://github.com//pull/395]
Additional updates
Bug fixes
- Add check to prevent nltk_data download loop (via @vkosuri) [https://github.com//pull/369]
- Correct JSON formatting in corpora [https://github.com//pull/394]
- Datetime parser updates [https://github.com//pull/397]
Features
- Support extra_data passed to django API view [https://github.com//pull/374]
- Split up response generation and learning parts of
get_response
so that the learning process can be externally controlled if needed [https://github.com//pull/365] - Add check for logic adapter agreement [https://github.com//pull/375]
- Add Mailgun input adapter [https://github.com//pull/376]
- Remove twitter storage adapter in favor of trainer [https://github.com//pull/378]
- Add ability to set per-adapter parameters [https://github.com//pull/389]
- Add math words to Italian corpus (via @davideboschetto) [https://github.com//pull/393]
Maintenance
- Update logic methods and documentation [https://github.com//pull/364]
Corpus data
- Add German language (via @ThomasKoscheck) [https://github.com//pull/370]