A Clojure library that parses natural language text into structured data like dates, times, and durations.
Duckling is a Clojure library that parses natural language text into structured data, such as dates, times, durations, and temperatures. It solves the problem of extracting machine-readable information from human-like expressions, enabling applications to understand and process temporal and quantitative phrases accurately.
Developers building applications that require natural language understanding for scheduling, reminders, data extraction, or conversational interfaces, particularly those using Clojure.
Developers choose Duckling for its rule-based parsing accuracy, multi-language support, and simplicity as a lightweight library focused on extracting structured entities from text without heavy machine learning dependencies.
Deprecated in favor of https://github.com/facebook/duckling
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Converts complex natural language phrases like 'the first Tuesday of October' into precise datetime values, demonstrated in the README example.
Handles English, French, Spanish, and Chinese with core configurations, making it useful for international applications as per the features list.
Provides straightforward functions like `load!` and `parse` for quick integration into Clojure projects, as shown in the getting started section.
Uses a transparent, rule-based approach that prioritizes accuracy over machine learning black boxes, aligning with its stated philosophy.
The repository is deprecated as of May 2017, meaning no updates, bug fixes, or official support, which is explicitly stated in the README.
Only extracts specific entities like time and duration; it cannot handle broader NLP tasks without significant customization, as admitted by its focused feature set.
Requires Clojure or JVM integration, which adds complexity for projects using other tech stacks and limits accessibility.
Rule-based parsing can be computationally intensive for large volumes of text, potentially impacting performance in high-scale applications.