Skip to content

Commit

Permalink
feat(server): add current utterance entities to differentiate from th…
Browse files Browse the repository at this point in the history
…e whole context
  • Loading branch information
louistiti committed Apr 5, 2022
1 parent 8e18687 commit 8b56a18
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 3 deletions.
1 change: 1 addition & 0 deletions bridges/python/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ def main():

params = {
'utterance': intent_obj['utterance'],
'current_entities': intent_obj['current_entities'],
'entities': intent_obj['entities'],
'slots': intent_obj['slots']
}
Expand Down
1 change: 1 addition & 0 deletions server/src/core/brain.js
Original file line number Diff line number Diff line change
Expand Up @@ -180,6 +180,7 @@ class Brain {
skill: obj.classification.skill,
action: obj.classification.action,
utterance: obj.utterance,
current_entities: obj.currentEntities,
entities: obj.entities,
slots: obj.slots
}
Expand Down
4 changes: 4 additions & 0 deletions server/src/core/conversation.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ const defaultActiveContext = {
name: null,
domain: null,
intent: null,
currentEntities: [],
entities: [],
slots: { },
nextAction: null,
Expand Down Expand Up @@ -78,6 +79,7 @@ class Conversation {
name: outputContext,
domain,
intent,
currentEntities: [],
entities: [],
slots: { },
nextAction,
Expand Down Expand Up @@ -108,6 +110,7 @@ class Conversation {
name: newContextName,
domain,
intent,
currentEntities: entities,
entities,
slots: { },
nextAction: null,
Expand All @@ -118,6 +121,7 @@ class Conversation {
log.title('Conversation')
log.info(`New active context: ${newContextName}`)
} else {
this._activeContext.currentEntities = entities
// Add new entities at the end of the context entities array
this._activeContext.entities.push(...entities)
}
Expand Down
7 changes: 5 additions & 2 deletions server/src/core/nlu.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import Conversation from '@/core/conversation'

const defaultNluResultObj = {
utterance: null,
currentEntities: [],
entities: [],
slots: null,
nluDataFilePath: null,
Expand Down Expand Up @@ -139,7 +140,7 @@ class Nlu {
}

const result = await this.nlp.process(utterance)
console.log('result', result)
// console.log('result', result)
const {
locale, answers, classifications
} = result
Expand Down Expand Up @@ -304,10 +305,12 @@ class Nlu {
intent,
entities: this.nluResultObj.entities
}
// Pass current utterance entities to the NLU result object
this.nluResultObj.currentEntities = this.conv.activeContext.currentEntities
// Pass context entities to the NLU result object
this.nluResultObj.entities = this.conv.activeContext.entities

// console.log('this.conv.activeContext', this.conv.activeContext)
console.log('this.conv.activeContext', this.conv.activeContext)

try {
const data = await this.brain.execute(this.nluResultObj, { mute: opts.mute })
Expand Down
9 changes: 8 additions & 1 deletion skills/utilities/is_it_down/src/actions/run.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,17 @@ def run(params):
domains = []
output = ''

for item in params['entities']:
# Find entities from the current utterance
for item in params['current_entities']:
if item['entity'] == 'url':
domains.append(item['resolution']['value'].lower())

if len(domains) == 0:
# Find entities from the context
for item in params['entities']:
if item['entity'] == 'url':
domains.append(item['resolution']['value'].lower())

for i, domain in enumerate(domains):
state = 'up'
website_name = domain[:domain.find('.')].title()
Expand Down

0 comments on commit 8b56a18

Please sign in to comment.