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

function definition #15

Open
tangyaohua opened this issue Nov 16, 2020 · 12 comments
Open

function definition #15

tangyaohua opened this issue Nov 16, 2020 · 12 comments

Comments

@tangyaohua
Copy link

will you give some explanations on the functions to help us understanding the code? such as ?<, ?<=,=,> ,>=, ~=,intension and singleton.

@hao-fang
Copy link
Contributor

Hi @tangyaohua ,

We didn't release the full descriptions of the functions due legal implications.

The singleton returns the singleton element of list or returns an error if there are more than one elements in the list.
Functions starting with ? return a constraint.

?<=(reference: Any): Any
construct the constraint "less than or equal to reference"

?<>(reference: Any): Any
construct the constraint "not equal to reference"

?=(reference: Any): Any
construct the constraint "exactly equal to reference"

?>(reference: Any): Any
construct the constraint "greater than reference"

?>=(reference: Any): Any
construct the constraint "greater than or equal to reference"

?~=(reference: Any): Any
construct the constraint "approximately equal to reference"

Best,
Hao

@tangyaohua
Copy link
Author

thanks for your reply, another question about functions is what's the difference between revise, UpdatePreflightEventWrapper and NewClobber. Looks like they are all used to update some values.

@sammthomson
Copy link
Member

Hi @tangyaohua,

Thanks for your questions. You've prompted us to start writing up a README with some general explanations of library functions, especially for these less intuitive ones.

In the meantime, here's my attempt to explain these specific functions:

NewClobber makes a nondestructive copy on the dataflow graph of the node matching its :intension argument, with the node matching its :slotConstraint replaced by the node matching its :value argument.

ReviseConstraint has an interface just like NewClobber's, except instead of fully replacing the old node (:slotConstraint) with a new node (:value), it revises an old Constraint (:oldLocation) with a new Constraint (:new). We have custom (currently private) revision logic that attempts to match the pragmatics of what we actually want when we ask for updated constraints in language. Sometimes it's replacing one field in the constraint, sometimes it's relaxing or removing a field, etc. In very simple cases it looks like dict.update in Python, and in fact that is the revision logic we use in our MultiWOZ experiments.

UpdatePreflightEventWrapper is our representation of a request that will eventually get sent to an external event updating API. It's "Update" because it will eventually change an event that already exists on your calendar. And it's "Preflight" because we're not sending the request over the wire just yet; we're still in requirements gathering mode.

Cheers,
-Sam

@tangyaohua
Copy link
Author

tangyaohua commented Nov 18, 2020

Thanks very much. It would be a great help if you could release more information, expecially on Constraint and data labelling.

Best,
Yaohua

@tangyaohua
Copy link
Author

tangyaohua commented Nov 24, 2020

can you give some explanations on functions like ActionIntensionConstraint,extensionConstraint, UpdateEventIntensionConstraint, alwaysTrueConstraintConstraint and nested Constraint[Constraint[Time]]. UpdateEventIntensionConstraint and Constraint[Constraint[Event]] both could be used as the oldLocation field of ReviseConstraint.

Can I take Constraint as a search function?

@hao-fang
Copy link
Contributor

Hi @tangyaohua, we have now provided a README for the semantics here. Hope this can answer some of your questions.

@tangyaohua
Copy link
Author

thanks~~

@muzhi1991
Copy link

same questions about Constraint[Constraint[Event]], AlwaysFalseConstraint, AlwaysTrueConstraint?

@xiaoha798
Copy link

Hi, same problem here. It seems the README does not give any explanation regarding constraints (Constraint[Constraint[Event]], AlwaysFalseConstraint, AlwaysTrueConstraint, ActionIntensionConstraint, extensionConstraint, UpdateEventIntensionConstraint) and I cannot figure out what these are. Could you give some explanation or update the readme? Thanks!

@adampauls
Copy link
Contributor

It would be a lot of work to fully document everything. It might be worth asking why you want to know? Forgive the oversimplified analogy, but you don't expect machine translation datasets to come with a complete reference description of the languages involved, nor do researchers typically need to be able to read the inputs and outputs. Of course it can be helpful, but as I said it would be a little onerous. If you give an example of why you are asking, perhaps we can provide some limited documentation that will answer that question and all questions like it?

@jrmmrn
Copy link

jrmmrn commented Apr 25, 2022

This analogy is kind of missing the point, as this "language" is only "spoken" by Semantic Machines...

Why should anyone bother translating natural language utterances into a semantic representation they don't understand...?

@meron-tl
Copy link

meron-tl commented May 10, 2022

As part of an upcoming paper in LREC 2022 ("Simplifying Semantic Annotations of SMCalFlow"), we have released OpenDF - https://github.com/telepathylabsai/OpenDF.
It's full of rough edges, but it may be a useful starting point to explore dataflow dialogues and possible design decisions for SMCalFlow-like applications.

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

8 participants