Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API Documentation #76

Closed
ducdetronquito opened this issue Aug 3, 2017 · 10 comments
Closed

API Documentation #76

ducdetronquito opened this issue Aug 3, 2017 · 10 comments

Comments

@ducdetronquito
Copy link

Hi everyone !

I failed to find documentation of duckling's API and I am wondering where one can found some, similarly to what can be found at https://duckling.wit.ai/. Any idea ?

Thanks in advance, and have a great day :)

@patapizza
Copy link
Contributor

Hi @ducdetronquito,

We are planning on updating duckling.wit.ai.
What exactly are you looking for?

@ducdetronquito
Copy link
Author

Thanks @patapizza, it's a great news :)

General question here, I wasn't looking for something in particular. As I am very new to Haskell, just reading at duckling's code is not enough to understand how things work.

@blandinw
Copy link

blandinw commented Aug 5, 2017

@ducdetronquito https://github.com/facebookincubator/duckling/blob/master/README.md shows the kind of output you get for each dimension, as well as an explanation on how to extend Duckling if you're looking to contribute.

We'll update duckling.wit.ai, but I'm not sure it will have more content than what's in the README + an interactive demo. Feel free to comment on this issue if you have ideas of content we could add!

@creswick
Copy link

creswick commented Aug 8, 2017

@ducdetronquito the API docs on Hackage are a reasonable place to start. I'm also new to duckling, but I've used haskell for some time. You'll find the hackage docs to be a great source of information for most libraries (it adds searchability, indexes, and better navigation through the haddock comments for each library).

Duckling's hackage page is here: https://hackage.haskell.org/package/duckling

And specifically, the API module (which appears to be the main programatic entry point) is at:
https://hackage.haskell.org/package/duckling-0.1.2.0/docs/Duckling-Api.html

@ducdetronquito
Copy link
Author

@blandinw + @creswick : Thank you both for your answers :) I didn't know about the Hackage page, which is helpful !

I wanted to start a python binding of duckling, but I have to admit that I need to learn Haskell and improve my C skills first 😞

@pranjaltale16
Copy link

pranjaltale16 commented Nov 28, 2017

Hey,
I need a little help, I was going through the code and came to know that for every <dimension>/<language> there exist two files Rules and Corpus one consisting of Rules and other for test cases which help us in structuring the query (please correct me if I'm wrong).

I would like to know how a sentence get parsed or How a structured data is generated, is NLP involved behind, if yes, How?
I'm new to Deep learning, so I'm unable to connect much how Rules and Corpus are used in structuring a query. Could you please help me with this part?

Also, how exe/Duckling/Ranking/Generate.hs and exe/Duckling/Ranking/Train.hs works and plays a role in parsing the text?

This would be of great help.
Thanks!

@patapizza
Copy link
Contributor

Hi @pranjaltale16,

At a high-level, Duckling is a rule engine. As such, it takes a bunch a rules and applies them on an input text; the core logic for this is in Duckling/Engine.hs. There is no deep learning involved.

In some cases, multiple valid parses are possible (e.g. "(between 8 and 10) tomorrow" and "between 8 and (10 tomorrow)"). To disambiguate these, we build classifiers based on the Corpus examples; this is done in the files you mentioned.

Hope this help.

@pranjaltale16
Copy link

Yeah, Thanks!!

@gembin
Copy link

gembin commented Aug 30, 2018

I'm also cannot find useful API doc or user guide, especially for non Haskell users, how duckling can be used.

  1. Used as a library? may be need some programming language bindings?
  2. Used as a server provides RESTful APIs ? I just tried duckling-example-exe, but there is no doc about what's the API response JSON format, and what's the meaning of each filed ?

@mohit-sentieo
Copy link

Hi Guys

I am planning to put together a document to properly understand Duckling with things like what does a Token, Match etc mean. How does the rule engine work ? How does classifiers work? I have been learning haskell just because I need to add extra domain specific dimensions to Duckling. Is there anyone else who would like to contribute ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants