我想在对话框中创建一个节点,可以从句子中检测 airport_from 和 airport_to :
"I want to go from Paris Orly to London heathrow"
这应该使用以下索引作为实体London Heathrow
给我Paris Orly
和@airport
值:
{
"context": {
"from": "@airport[0]",
"to": "@airport[1]"
},
"output": {
"text": {
"values": [
"you are going from @airport[0] to @airport[1]"
],
"selection_policy": "sequential"
}
}
}
典型地你会:
@airport[0] = 'Paris Orly'
@airport[1] = 'London Heathrow'
这样可行,但问题是当你颠倒两个机场时,你会得到与之前相同的结果(即@airport[0] = 'Paris Orly'
),而不是倒数。
我需要的是让这些实体与句子中的顺序相同。有什么想法吗?
答案 0 :(得分:1)
您可以在回复中使用ternary operator。它与Watson Conversation expression language:
相关联<? entities['airport'][0].location[0]<entities['airport'][1].location[0] ?
'First, then second' : 'Second comes first' ?>
以上评估第一个表达式,如果true
使用?
之后的表达式,false
表达式:
之后的表达式。
答案 1 :(得分:0)
答案 2 :(得分:0)
一种简单的方法是创建2个实体。 “从城市”和“到城市”并在“From City”中添加相同的值,添加From London,From Newyork和“To City”添加到London,To Newyork。这是一种更好的方式。