Comments (2)
Yes, you are completely right - such types of rules can indeed produce infinite update loops. It's something that has bothered me for a while, but I have not yet found a satisfying, principled solution to it. Simply forbidding rules to have variables present in both the conditions and the effects would of course do the trick, but it seems to me a bit too extreme, as there are cases where such types of rules can be genuinely useful (if designed carefully to avoid never-ending loops).
Maybe a better solution would be to check at runtime whether an update leads to a recursive loop, and stop the loop in such a case, together with a warning message to the user to inform her/him that the domain likely contains a design error.
I'll have a closer look at this next week. Will keep you posted!
Le 22 juillet 2015 09:09:23 GMT+02:00, bakuzen [email protected] a écrit :
Consider the following rule in a domain file (model is triggered by
"Speech"):While this is a poorly constructed rule (obviously, the second "set"
line was leftover or copied from something), it will cause an infinite
loop in opendial, as setting Speech to "okay" triggers the speech, and
the contents satisfies the rule, which then runs again. Either this
potentially common error could be documented (it may already be, I
admit I haven't been through everything), or perhaps a check within
opendial could be thrown that a rule shouldn't set variables with
values that are already set in the condition.
Reply to this email directly or view it on GitHub:
#12
Sent from my cellphone. Please excuse my brevity.
from opendial.
OK, I've added in the master branch a new version of the update loop in DialogueSystem which should fix this infinite loop issue!
from opendial.
Related Issues (20)
- `test` target fails on headless system HOT 2
- Add options to specify custom acoustic model and dictionary in Sphinx ASR plugin HOT 2
- GUITest fails in headless environment HOT 3
- EditorTab cannot find Domain file HOT 1
- SEVERE: Fatal error: The value of attribute "relation" associated with an element type "if" must not contain the '<' character. HOT 1
- Provide a simple Maven example HOT 13
- Something wrong with XMLDomainReader HOT 2
- Problem with voice activity detection HOT 4
- Some questions with the toolkit HOT 3
- Runtime Exception occured: Invalid tag in <domain>: userTurn HOT 3
- Unique relationship types HOT 1
- Domain extraction from path string sometimes may be inconvenient.
- difference between current_step and a_m
- BNode->modifyVariableId() : useless parameter
- how to train the parameters with wizard data
- main website 404
- Nuance documentation error in XML HOT 1
- Nuance speech recognition throwing exception on first use HOT 1
- Online repository used for Gradle dependencies HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from opendial.