50

Oracle Digital Assistant - GitHub Pages

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Oracle Digital Assistant - GitHub Pages
Page 2: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Copyright © 2018, Oracle and/or its affiliates. All rights reserved. |

Oracle Digital Assistant The Complete Training

2

Q&A

Image courtesy of pixabay.com

Page 3: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Safe Harbor StatementThe following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle.

3

Page 4: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Topic agenda

4

Introducing QnA

Answer intents

QnA and Digital Assistant

Reusable QnA skill

1

2

3

4

Page 5: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Topic agenda

5

Introducing QnA

Answer intents

QnA and Digital Assistant

Reusable QnA skill

1

2

3

4

Page 6: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 6

Sometimes a question is what it is; a question

Image courtesy of pixabay.com

Page 7: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Q & A builder• Intent resolution – sentence level resolution– Trying to establish meaning from a sentence–Meaning and structure are important–Maps to a single transaction/usecase

• QnA – word level resolution– Uses an intelligent search across questions and answers– Can be tuned to define Q&A terms and stop words

• “Lost my bank details, need to reset password”• “Can I return these shoes”

7

Page 8: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Q & A builder• Q & A loaded from a CSV– Category, question, answer

8

Page 9: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Q & A builder• Q & A loaded from a CSV– Category, question, answer– Allows matching questions to be browsed

9

Page 10: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Q & A at runtime• Intent resolved• Q & A resolved• Could be intent or Q &A

11

Page 11: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Q & A at runtime• Intent resolved• Q & A resolved• Could be intent or Q &A

12

Page 12: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Q & A at runtime• Intent resolved• Q & A resolved• Could be intent or Q &A

13

Page 13: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Q & A routing is based on• The results of intent and QnA matching– Intent resolution–Minimum match of QnA

• Use of imperative verbs assumes intent– “do”, “give” “cancel”• Platform understands the concept of imperative verbs• You can explicitly define your own

• More later...

14

Page 14: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Q & A routing is based on• qnaMinimumMatch in System.Intent• Defines % of tokens that must match– E.g. 50%, 25% means we first of all look for 50% of matches, if not, we look for 25% -

thus trying to ensure we only drop to 25% if we can’t resolve to a higher quality

• Token is not necessarily a word– Stop words are ignored– Tokens are generated for word pairs• "Balance in my checking account" and "Checking balance in my account", then search for "checking

account" will return "Balance in my checking account"

Page 15: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Q & A builder - how it works

16

• Smart” logic to search/index– Automatically stems words when indexing• “festival”, “festive”, “festivity” all represented as the same stem

– Ignores stop words (“a”, “of”, “are” etc)– Fuzzy matching (tolerant of one or two char differences)– Define synonyms and abbreviations

Page 16: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Q & A builder - how it works

17

Page 17: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Q & A builder - how it works

18

Page 18: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Q & A builder - how it works

19

Page 19: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Q & A builder - how it works

20

Page 20: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Q & A builder - how it works

21

Page 21: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Q & A builder - how it works

22

Page 22: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Q & A builder - how it works

23

Page 23: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Q & A builder - how it works

24

Page 24: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Q & A builder - how it works

25

Page 25: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 27

>confidenceThreshold

User input phrase

Meets qnaMinimumMatch

Show only intent Show Answer

noyes

Utterance uses imperative

Show QnA and intent

Page 26: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 28

>confidenceThreshold

User input phrase

Meets qnaMinimumMatch

Show only intent Show Answer

noyes

Utterance uses imperative

Show QnA and intent

Page 27: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 29

>confidenceThreshold

User input phrase

Meets qnaMinimumMatch

Show only intent

Could be intent or QnA

Show Answer

noyes

Utterance uses imperative

Show QnA and intent

Page 28: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 30

>confidenceThreshold

User input phrase

Meets qnaMinimumMatch

Show only intent

Could be intent or QnA

Show Answer

noyes

qnaSkipIfIntentFound Show QnA and intent

Page 29: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 31

>confidenceThreshold

User input phrase

Meets qnaMinimumMatch

Show only intent Show Answer

noyes

Utterance uses imperative

Show QnA and intent

Page 30: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 32

>confidenceThreshold

User input phrase

Meets qnaMinimumMatch

Show only intent

Unresolved

Show Answer

noyes

Utterance uses imperative

Show QnA and intent

Page 31: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Q & A routing • Transaction Config– Input is then treated as intent

• Question Config– Ensures QnA shown first in choice

dialog

33

Page 32: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Topic agenda

34

Introducing QnA

Answer intents

QnA and Digital Assistant

Reusable QnA skill

1

2

3

4

Page 33: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Answer intents• QnA styles of questions can be modelled as intents– Aim to resolve sentence level “understanding” rather than

simply search– “One turn” – displays answer only then completes state – No YAML required

• Like intents, has to be trained with at least 5 utterances• Switch on optimize for answer intents– Found under skill settings

35

Page 34: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Topic agenda

36

Introducing QnA

Answer intents

QnA and Digital Assistant

Reusable QnA skill

1

2

3

4

Page 35: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 37

Evaluate routing behavior

Page 36: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 38

Implicit invocation

Page 37: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 39

Explicit invocation

Page 38: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 40

Ambiguous utterance

Page 39: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 41

Non sequitur

Page 40: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Topic agenda

42

Introducing QnA

Answer intents

QnA and Digital Assistant

Reusable QnA skill

1

2

3

4

Page 41: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 43

How might you reuse and use multiple QnA within a digital

assistant?

Image courtesy of pixabay.com

Page 42: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Options for how you might use QnA• Each skill has its on QnA as required–Modular and simplest option

• Calling QnA in a different skill– Route to a specific QnA based on conversation context– Using the botName and QnaBotName properties that belong to System.Intent and

System.Qna component

• Separate QnA only skill used by the DA– FAQ (QnA skill) may be shown upfront in welcome message–QnA maintained in single place without impacting other skills

44

Page 43: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

FinancialBot CorpFinancialBot

45

Approach 1: Calling QnA in a different skill

Page 44: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 46

Demo – Calling QnA in a different skill

Page 45: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

Approach 2: Creating a separate QnA skill in DA

47

Shopping Centre Digital Assistant

Digital Bank Skill

Pizza King skill

Shopping center FAQs skill

Page 46: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 48

Demo – Having a separate QnA skill in DA

Page 47: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved.

• Calling QnA in different Bot–More Flexibility: BotML coding

required, hence more control to the user the way he/she wants to invoke QnA

• Creating separate QnA only skill and consuming in DA–QnA skill will be shown upfront in

welcome message!– No additional code required since the

routing will be managed by DA

49

Which approach is better?

Page 48: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 50

Page 49: Oracle Digital Assistant - GitHub Pages

Copyright © 2018, Oracle and/or its affiliates. All rights reserved. 51

Oracle Digital Assistant Hands-On

TBD

Page 50: Oracle Digital Assistant - GitHub Pages