Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

of

Knowledge graphs + Chatbots with Neo4j Slide 1 Knowledge graphs + Chatbots with Neo4j Slide 2 Knowledge graphs + Chatbots with Neo4j Slide 3 Knowledge graphs + Chatbots with Neo4j Slide 4 Knowledge graphs + Chatbots with Neo4j Slide 5 Knowledge graphs + Chatbots with Neo4j Slide 6 Knowledge graphs + Chatbots with Neo4j Slide 7 Knowledge graphs + Chatbots with Neo4j Slide 8 Knowledge graphs + Chatbots with Neo4j Slide 9 Knowledge graphs + Chatbots with Neo4j Slide 10 Knowledge graphs + Chatbots with Neo4j Slide 11 Knowledge graphs + Chatbots with Neo4j Slide 12 Knowledge graphs + Chatbots with Neo4j Slide 13 Knowledge graphs + Chatbots with Neo4j Slide 14 Knowledge graphs + Chatbots with Neo4j Slide 15 Knowledge graphs + Chatbots with Neo4j Slide 16 Knowledge graphs + Chatbots with Neo4j Slide 17 Knowledge graphs + Chatbots with Neo4j Slide 18 Knowledge graphs + Chatbots with Neo4j Slide 19 Knowledge graphs + Chatbots with Neo4j Slide 20 Knowledge graphs + Chatbots with Neo4j Slide 21 Knowledge graphs + Chatbots with Neo4j Slide 22 Knowledge graphs + Chatbots with Neo4j Slide 23 Knowledge graphs + Chatbots with Neo4j Slide 24 Knowledge graphs + Chatbots with Neo4j Slide 25 Knowledge graphs + Chatbots with Neo4j Slide 26 Knowledge graphs + Chatbots with Neo4j Slide 27 Knowledge graphs + Chatbots with Neo4j Slide 28 Knowledge graphs + Chatbots with Neo4j Slide 29 Knowledge graphs + Chatbots with Neo4j Slide 30 Knowledge graphs + Chatbots with Neo4j Slide 31 Knowledge graphs + Chatbots with Neo4j Slide 32 Knowledge graphs + Chatbots with Neo4j Slide 33 Knowledge graphs + Chatbots with Neo4j Slide 34 Knowledge graphs + Chatbots with Neo4j Slide 35 Knowledge graphs + Chatbots with Neo4j Slide 36 Knowledge graphs + Chatbots with Neo4j Slide 37 Knowledge graphs + Chatbots with Neo4j Slide 38 Knowledge graphs + Chatbots with Neo4j Slide 39 Knowledge graphs + Chatbots with Neo4j Slide 40 Knowledge graphs + Chatbots with Neo4j Slide 41 Knowledge graphs + Chatbots with Neo4j Slide 42 Knowledge graphs + Chatbots with Neo4j Slide 43 Knowledge graphs + Chatbots with Neo4j Slide 44 Knowledge graphs + Chatbots with Neo4j Slide 45 Knowledge graphs + Chatbots with Neo4j Slide 46 Knowledge graphs + Chatbots with Neo4j Slide 47 Knowledge graphs + Chatbots with Neo4j Slide 48 Knowledge graphs + Chatbots with Neo4j Slide 49 Knowledge graphs + Chatbots with Neo4j Slide 50 Knowledge graphs + Chatbots with Neo4j Slide 51 Knowledge graphs + Chatbots with Neo4j Slide 52 Knowledge graphs + Chatbots with Neo4j Slide 53 Knowledge graphs + Chatbots with Neo4j Slide 54 Knowledge graphs + Chatbots with Neo4j Slide 55 Knowledge graphs + Chatbots with Neo4j Slide 56 Knowledge graphs + Chatbots with Neo4j Slide 57 Knowledge graphs + Chatbots with Neo4j Slide 58 Knowledge graphs + Chatbots with Neo4j Slide 59 Knowledge graphs + Chatbots with Neo4j Slide 60 Knowledge graphs + Chatbots with Neo4j Slide 61 Knowledge graphs + Chatbots with Neo4j Slide 62 Knowledge graphs + Chatbots with Neo4j Slide 63 Knowledge graphs + Chatbots with Neo4j Slide 64 Knowledge graphs + Chatbots with Neo4j Slide 65 Knowledge graphs + Chatbots with Neo4j Slide 66 Knowledge graphs + Chatbots with Neo4j Slide 67 Knowledge graphs + Chatbots with Neo4j Slide 68 Knowledge graphs + Chatbots with Neo4j Slide 69 Knowledge graphs + Chatbots with Neo4j Slide 70 Knowledge graphs + Chatbots with Neo4j Slide 71
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

15 Likes

Share

Download to read offline

Knowledge graphs + Chatbots with Neo4j

Download to read offline

GraphTour meetup

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Knowledge graphs + Chatbots with Neo4j

  1. 1. Knowledge Graphs and Chatbots with Neo4j GraphAware, world’s #1 Neo4j consultancy graphaware.com @graph_aware
  2. 2. ● Christophe Willemsen ● From Belgium but living in Southern Italy ● Principal Consultant at GraphAware ● Expert in Graphs and Search ● Currently researching in Natural Language Understanding and its implementation in chatbots About me @ikwattro
  3. 3. ● How to represent Knowledge in a Graph ○ Text Processing ■ Processing Text ■ Information Extraction ■ Keywords Extraction ○ Enrichment ■ Concept Bases ■ Visual Content Metadata ■ External Knowledge Bases ● Knowledge Graphs to power advanced applications ○ Our demo : Brain Bro ○ Knowledge Graphs in the Real Life ○ Phonetic issues ○ Soft Cosine Measure (SCM) ○ Visual and Temporal Memory for Recall Outline
  4. 4. ● Original domain model, for eg authors of news, news, views, original topics, etc. ● Standard text processing features ● Information Extraction ● Enrichment ● Facts ● Knowledge Entities and Semantic relationships ● Built from aggregation and validation of layer 1 and 2 ● Offers Multi-View (Perspectives) DOMAIN MODEL LAYER 1 TEXT UNDERSTANDING LAYER 2 KNOWLEDGE GRAPH LAYER 3 USER CONTEXT LAYER 4 ● Keeps track of the user conversation ● Relates conversation steps to entry points in the Knowledge Graph ● Use distance to determine out of context situations
  5. 5. How to represent Knowledge in a Graph?
  6. 6. ● Original domain model, for eg authors of news, news, views, original topics, etc. ● Standard text processing features ● Information Extraction ● Enrichment ● Facts ● Knowledge Entities and Semantic relationships ● Built from aggregation and validation of layer 1 and 2 ● Offers Multi-View (Perspectives) DOMAIN MODEL LAYER 1 TEXT UNDERSTANDING LAYER 2 KNOWLEDGE GRAPH LAYER 3 USER CONTEXT LAYER 4 ● Keeps track of the user conversation ● Relates conversation steps to entry points in the Knowledge Graph ● Use distance to determine out of context situations
  7. 7. ● Natural Language Processing ○ Sentence segmentation ○ Tokenization ○ Stopwords Removal ○ Part of Speech Tagging ○ Text Understanding
  8. 8. ● Natural Language Processing ○ Sentence segmentation ○ Tokenization ○ Stopwords Removal ○ Part of Speech Tagging ○ Named Entity Recognition Text Understanding
  9. 9. CALL ga.nlp.annotate({text: n.text, id: id(n)}) Text Understanding
  10. 10. NER
  11. 11. ● Natural Language Processing ○ Sentence segmentation ○ Tokenization ○ Stopwords Removal ○ Part of Speech Tagging ○ Named Entity Recognition ○ Syntactic Dependencies Parsing Text Understanding
  12. 12. ● Facts ○ Using Semantic Parsers to extract facts from sentences in a Subject-Root-Object form Text Understanding
  13. 13. ● Keywords Extraction ○ Unsupervised algorithm ○ Using TextRank wich under the hood uses PageRank ○ Performs better than most supervised algorithms ○ http://bit.ly/graphaware-textrank Text Understanding
  14. 14. Enrichment
  15. 15. CALL ga.nlp.enrich.concept ({enricher:’conceptnet5’, node: n}) Enrichment Concept Bases
  16. 16. Enrichment Visual Metadata
  17. 17. Enrichment External Knowledge Bases
  18. 18. Find articles mentioning companies being founded by Elon Musk and in the car industry
  19. 19. ● Original domain model, for eg authors of news, news, views, original topics, etc. ● Standard text processing features ● Information Extraction ● Enrichment ● Facts ● Knowledge Entities and Semantic relationships ● Built from aggregation and validation of layer 1 and 2 ● Offers Multi-View (Perspectives) DOMAIN MODEL LAYER 1 TEXT UNDERSTANDING LAYER 2 KNOWLEDGE GRAPH LAYER 3 USER CONTEXT LAYER 4 ● Keeps track of the user conversation ● Relates conversation steps to entry points in the Knowledge Graph ● Use distance to determine out of context situations
  20. 20. ● How to build it ? ○ Aggregate all the information from the previous steps ○ Use external tools to validate some assumptions, e.g. : Director of marketing -> corporate position ○ Create a new graph from those informations The Knowledge Graph
  21. 21. Knowledge Graphs to power Advanced Applications
  22. 22. BrainBro
  23. 23. ● NER issues Knowledge Graphs IRL
  24. 24. ● NER issues ○ Default recognizers are trained on generic texts and will often perform poorly when lot of indentation is used ○ Dropbox IPO, Forty Seven, Consumer Business Group, Melinda Gates Foundation (without Bill), … ○ You can “easily” build your own models with external knowledge bases like wikidata Knowledge Graphs IRL
  25. 25. ● Phonetic Matching ○ SOUNDEX, DOUBLE METAPHONE, FUZZY ○ ELASTIC PHONETIC ANALYSIS PLUGIN Knowledge Graphs IRL
  26. 26. ● Visual Metadata Validation Knowledge Graphs IRL
  27. 27. ● Visual Metadata Validation ○ Build a top-k vocabulary of the article, or the surrounding article parts of the image ○ Use word2vec to compute relevancy of class labels returned by image recognition services ○ Use SCM ( Soft Cosine Measure ) [1] [2] Knowledge Graphs IRL 1. Grigori Sidorov et al. Soft Similarity and Soft Cosine Measure: Similarity of Features in Vector Space Model, 2014. (link to PDF) 2. Delphine Charlet and Geraldine Damnati, SimBow at SemEval-2017 Task 3: Soft-Cosine Semantic Similarity between Questions for Community Question Answering, 2017. (link to PDF)
  28. 28. Visual and Temporal Memory for Recall
  29. 29. ● Original domain model, for eg authors of news, news, views, original topics, etc. ● Standard text processing features ● Information Extraction ● Enrichment ● Facts ● Knowledge Entities and Semantic relationships ● Built from aggregation and validation of layer 1 and 2 ● Offers Multi-View (Perspectives) DOMAIN MODEL LAYER 1 TEXT UNDERSTANDING LAYER 2 KNOWLEDGE GRAPH LAYER 3 USER CONTEXT LAYER 4 ● Keeps track of the user conversation ● Relates conversation steps to entry points in the Knowledge Graph ● Use distance to determine out of context situations
  30. 30. ● Intent detection ○ What did Ahmed Fathi say about blockchains ? ○ Where is ABC Arabia Bank located ? ○ What does a person with a leader position think about investment banks ? Querying Knowledge
  31. 31. ● Intent detection ○ What did Ahmed Fathi say about blockchains ? ○ Where is ABC Arabia Bank located ? ○ What does a person with a leader position think about investment banks ? Understand what we want out of the knowledge graph Querying Knowledge
  32. 32. ● Intent detection ○ What did Ahmed Fathi say about blockchains ? ○ Where is ABC Arabia Bank located ? ○ What does a person with a leader position thinks about investment banks ? Understand what we want out of the knowledge graph Querying Knowledge Looking for facts?
  33. 33. ● Intent detection ○ What did say Ahmed Fathi about blockchains ? ○ Where is ABC Arabia Bank located ? ○ What does a person with a leader position thinks about investment banks ? Understand what we want out of the knowledge graph Querying Knowledge Looking for a Location entity
  34. 34. ● Intent detection ○ What did say Ahmed Fathi about blockchains ? ○ Where is ABC Arabia Bank located ? ○ What does a person with a leader position think about investment banks ? Understand what we want out of the knowledge graph Querying Knowledge If you “say” something, do you “think” it ?
  35. 35. ● Entity Extraction ○ What did Ahmed Fathi say about blockchains ? ○ Where is ABC Arabia Bank located ? ○ What does a person with a leader position think about investment banks ? Querying Knowledge
  36. 36. ● Entity Extraction ○ What did Ahmed Fathi say about blockchains ? ○ Where is ABC Arabia Bank located ? ○ What does a person with a leader position think about investment banks ? Determine Entry Points in the Knowledge Graph as well as semantic constraints Querying Knowledge
  37. 37. ● Entity Extraction ○ What did Ahmed Fathi say about blockchains ? ○ Where is ABC Arabia Bank located ? ○ What does a person with a leader position thinks about investment banks ? Determine Entry Points in the Knowledge Graph as well as semantic constraints Querying Knowledge Person Entity : Ahmed Fathi Semantic: SAY Topic: blockchain
  38. 38. ● Entity Extraction ○ What did say Ahmed Fathi about blockchains ? ○ Where is ABC Arabia Bank located ? ○ What does a person with a leader position thinks about investment banks ? Determine Entry Points in the Knowledge Graph as well as semantic constraints Querying Knowledge Company Entity : ABC Arabia Bank
  39. 39. ● Entity Extraction ○ What did say Ahmed Fathi about blockchains ? ○ Where is ABC Arabia Bank located ? ○ What does a person with a leader position thinks about investment banks ? Determine Entry Points in the Knowledge Graph as well as semantic constraints Querying Knowledge Company Position : Leader position Person: related to position Semantic: think Topic: investment bank
  40. 40. ● Query representation ○ Queries should be treated as original corpus and pass the same set of processing Querying Knowledge
  41. 41. Can this be used to match against a Person label in the Knowledge Graph ?
  42. 42. How to match “do think about” with a “SAY” relationship in the Knowledge Graph?
  43. 43. How to match “do think about” to a “SAY” relationship in the Knowledge Graph?
  44. 44. Probabilistic Traversals
  45. 45. ● Probabilistic Traversals ○ Use a probability based classifier like Naive Bayes for determining the type of the relationship to traverse ○ Avoid to return non-relevant results in a “Always return something architecture”
  46. 46. ● Dynamic Query Stack ○ Depending on the intent, the graph should be queried differently, there is no rocket science out of the box answer to how, just knowing your domain and lot lot lot of failures and tests ○ The Knowledge Graph is queried but not only that, you could also query the NLP graph for tf-idf enforcement and score the results with different weights at the end
  47. 47. ● Queries made ○ EntityLinking() ○ EntitiesSimilarity() ○ SemanticSimilarity() ○ TraversalProbability() ○ KeywordSensitivePageRank() ○ TopicSensitivePageRank() ○ TF-IDF()
  48. 48. ● Lot of techniques ○ Minimum subgraph matching ○ Sequence pattern recognition for SVO generation when queries are not parsed fully ○ Voice adaptations aka soundex ○ Deep learning ○ ...
  49. 49. User Query and Context
  50. 50. ● Conversation ○ After all, chatbots are considered as Conversational Interfaces, it wouldn’t have this name if the end goal of such systems is having a conversation with a machine ○ Keeping track of where the user is in the conversation can help to add more constraints to the queries User Context
  51. 51. ● When to go out ? ○ A user can quickly go out of context during a conversation, for example : * How is the weather in San Francisco ? -- it is 25 degrees * what size? -- ?? Are you really gonna try to find a response? ○ We use distance calculation in the graph based to trigger Signals if the user is out of context User Context
  52. 52. ● Some more thoughts ○ Embrace failures ○ Monitor ○ Humans are still a thing ○ ..
  53. 53. world’s #1 Neo4j consultancy www.graphaware.com @graph_aware Thank you ! Christophe Willemsen @ikwattro
  • siddharthjoshi10

    Jan. 28, 2021
  • JessieSze

    Sep. 26, 2020
  • sky_wu

    Jul. 16, 2020
  • kristofleroux

    May. 28, 2020
  • BGMin

    Jan. 8, 2020
  • konstantinoskotis

    Dec. 1, 2019
  • leandrotv

    Oct. 31, 2019
  • fadirra

    Oct. 31, 2019
  • pavanpavanr

    Dec. 14, 2018
  • WonyKim

    Nov. 13, 2018
  • LukasOtt

    Aug. 9, 2018
  • ShalakaMalu

    Jul. 10, 2018
  • wadael

    Mar. 7, 2018
  • VictorBalanica

    Mar. 5, 2018
  • hlihovac

    Mar. 2, 2018

GraphTour meetup

Views

Total views

10,233

On Slideshare

0

From embeds

0

Number of embeds

6,158

Actions

Downloads

207

Shares

0

Comments

0

Likes

15

×