SlideShare a Scribd company logo
1 of 64
Download to read offline
How a Social Knowledge Graph
Improves Remote Collaboration
April 23, 2020
Abstract
2
Neo4j has always been a geographically distributed company. Our employee count of 300+
people is spread over more than 20 countries. Consequently, remote collaboration is in our
DNA.
A Social Knowledge Graph can extract topics or moods from instant messaging to improve
information sharing. It can help understand popular and/or missing skill sets. It can help
improve team cohesion. It can help understand Customer relationships.
In our latest webinar, we will demonstrate how we at Neo4j have leveraged our own
technology to improve the efficiency of remote collaboration. The webinar illustrates how
instant messaging conversations (in this case from Slack) are used to understand
collaboration. And, finally, we will explain how companies can roll out a similar solution in
less than two months.
3
Introductions
Morgan Senechal
Consultant, UK
Neo4j
Niels de Jong
Consultant, Benelux
Neo4j
Jan Aertsen
Director PS, EMEA
Neo4j
• Introduction to Neo4j
• Towards more efficient (remote) collaboration
• Challenges in (remote) collaboration
• Knowledge graphs
• Slack Knowledge Graph Model
• Demo
• Application
• Technical aspects
• Implementation aspects
• Wrap up
4
Agenda
5
About Neo4j
Neo4j - The Graph Company
The Industry’s Largest Dedicated Investment in Graphs
6
Creator of the Market Leading Neo4j Graph Database Platform
have launched a Neo4j Trial
76% of the
> 300* employees
HQ in Silicon Valley, and offices in London, Munich, & Malmo
~400* Global Enterprise Customers
(*) stats from December 2019
● Separate department within Neo4j since 2017
● Created to ensure worldwide implementation assistance for Neo4j Customers
● Currently 40+ certified consultants (FY2017 15, FY2018 25, FY2019 40 , FY2020 60)
○ Average of 5+ years experience in the graph space
○ Average of 10+ years IT experience
● Most common technical skills:
○ database experts (graph and other): DBA, data modelling, query design & optimization
○ application development: both backend and UI, typically Java & JS
● Dedicated PMO and training group
● Dedicated Solutions team (packaged solution frameworks, reusable components)
● Both packaged services (pain point resolution) as fully managed projects
7
Neo4j Customer Services
The fastest route to graph success
2010 2011 2012 2013 2015 2017
Introduced Cypher
- Leading language
for graph queries
First open source
GA version of a
property graph
database
O’Reilly Graph
Database —
first definitive
book for graph
professionals
Introduced
labels to simplify
graph modeling
openCypher.org
open sourced
Cypher query
language as de
facto standard
Industry’s
1st Graph Platform
Graph Algorithms
for data scientists
Developer’s Neo4j
Desktop
2014
Visual Graph
Query Browser
2016
Causal
Consistency for
Graphs
Neo4j—The Graph Innovator
2018 2019
O’Reilly
Graph
Algorithms
Book
Neo4j Aura
Neo4j Bloom visual discovery
Cypher for Apache Spark
Cypher for Gremlin
GQL Manifesto / ISO Standard
Creators of a new database category
More efficient
Remote Collaboration?
9
Remote is the “new normal”
10
At Neo4j, remote is in our DNA
11
Today
20+ countries
90+ locations
Rapid growth
end of 2017: 120
end of 2018: 180
end of 2019: 300
At Neo4j, remote is in our DNA
12
13
Customer
Customer
Remote Working Challenges
Remote Working Challenges
14
1. It’s hard to know who works where and on what.
How do we facilitate locating skills and expertise?
2. We want to ensure cohesion
How do we promote a “connected nodes” culture?
3. How can we improve efficiency of virtual teams?
What skills are relevant in a specific context (e.g. Customer)?
Knowledge graphs
15
16
Knowledge Graph
17
Knowledge Graph
18
Why use Knowledge Graphs?
19
Knowledge Graphs and Neo4j
Why is Neo4j so well fit for knowledge graphs?
1. Ability to store/retrieve connections that provide WIDE context
2. Schema free, easily to extend/flexible model
3. Ability to easily bring in structured and unstructured data
4. Free text search capabilities
5. Ability to include taxonomies, ontologies, semantics, …
6. Vast library of algorithms to mine/enrich the knowledge graph
Graphs are Changing the World 
The US space agency uses Neo4j for their
“Lessons Learned” database to connect
information to improve searchability
effectiveness in space mission.
By using context-aware search, Cisco
saves four million hours a year that are
now used to engage with more
prospects and close more deals.
Knowledge Graph for documentsKnowledge Graph for learnings
Some well known examples
21
Slack Knowledge Graph
22
23
Eat your own dog food
24
What we originally did
We built a knowledge graph centered around Neo4j’s IM (Slack).
Can we use our knowledge graph to improve collaboration?
25
Graph Model
From Slack:
- People
- Messages/Threads
- Reactions
- Channels
- Links/Attachments
Additionally:
- Skills
- Clients
26
Translating Slack to Knowledge Graph
acme-internal ACME
27
Another Example
Putting it all together
28
Existing Graph
What can we reuse?
- People, messages and channels
- Sentiment values on text and emojis
What can we add?
- Teams
MATCH (person:User)-[r:REPORTS_TO*]->(manager:User)
WHERE manager.name = "Emil"
RETURN *
29
Hierarchy of Teams
30
match (t:Team) with t
match (u:User)
where u.email = t.manager
merge (t)<-[:IS_MANAGER]-(u)
set u:Manager
31
Flexible Schema
- Add the new types
Demo
32
Before we get started
33
34
Anonymized demo data
● No real Neo4j employees
● No real Neo4j customers
● Sampled data set (partial/with gaps) so no representative nbrs
Real life: GDPR, data privacy, …
● Only public channel data loaded into application (no private chats)
● Only aggregate data exposed via application
● Actual Slack conversations not available for querying
35
Demo
The application
1. Locating skills and expertise within the company.
2. What skills are relevant to which Customer
3. Info on clients/documents
Sample analytical queries
1. How has the mood changed for a specific team?
2. How has the mood changed in a specific location?
3. Which teams have experienced the biggest mood shift?
4. What are the clusters of people frequently talking?
Demo
36
37
38
39
40
GUI
41
42
Demo
The application
1. Locating skills and expertise within the company.
2. What skills are relevant to which Customer
3. Info on clients/documents
Analytical queries
1. How has the mood changed for a specific team?
2. How has the mood changed in a specific location?
3. Which teams have experienced the biggest mood shift?
4. What are the clusters of people frequently talking?
43
Emoji Sentiment in London
- Dashboards...
- One-shot queries...
- some visualizations...
44
Total sentiment of the EMEA field team
45
For people in the European offices,
which team’s sentiment has changed?
Which communities frequently chat?
46
Community nodes
generated based on
Louvain community
detection algorithm.
Team Interactions
47
match
(t1:Team)<--(:User)-[w:WROTE_WITH]-(:Use
r)-->(t2:Team) where id(t1) > id(t2)
with t1, t2, sum(w.weight) as weight
where weight > 100
merge (t1)-[:INTERACTS_WITH
{weight:weight}]->(t2)
48
What you saw
● How to find the right skills (within a specific context) fast.
● Enable people to connect to peers that can help them achieve their goals.
● Understand rapidly the “virtual teams” around specific topics.
● Collect info to feed into a wider C360 or KM initiative.
● Measure activity/mood of wider company/team.
● Identify implicit communities (not just teams) of people working together.
Beyond
remote work
efficiency
49
50
Other potential use cases
1. Collect rich contextual data for Customer 360 initiative
2. Collect rich contextual data for knowledge mgmt initiative
3. GDPR
4. Forensic analysis
5. Social network analysis: influencers, followers, topics analysis
https://neo4j.com/use-cases/
Technical deep dive
(Have a look behind the scenes)
51
52
Let’s get technical
1. Architecture
2. Using kettle for data loading
3. Front-end
4. Scoring algorithm / Sentiment analysis
5. Graph data science
53
Architecture
54
ETL using Kettle
Kettle is used to load the data into
Neo4j Aura
Kettle is an open-source ETL tool
with Neo4j connectors
Data Sources:
● data dump of Slack files (JSON)
● Salesforce
● Google drive
Kettle workflow
55
The workflow is composed of 4 main parts:
1. Create a batch process, which is a “next”
iteration of the previous batch.
2. List all the input files or the one that has
failed in a previous run, and attach them to
the current batch.
3. Loop through the batch to load the files.
During the process, if the load of a file fails, we
add a Neo4j label to that file. Same goes once we
completed the load for a file. This way, we can
later on see which files failed, and which has been
loaded.
Front end
56
● Using a java framework so you can use the Neo4j java driver
● Vuejs because it’s modular and has a flexible development environment.
● It also separates the design from the code
Frontend code
Backend code
57
Sentiment Analysis
Messages & Emojis
58
Louvain community detection based on message-reply graph
projection.
Only a (small) subset of what is possible!
Graph Data Science
Implementation
59
60
Implementation (2-3 months)
Week1
Discovery
● Project Kick-off
● Discovery
● Project Framework
● Requirements sign-off
Week 2-3
Design
● Architecture
● Workflow
● Data Model
● Ingestion Points
● Project Plan
Week ~3-4
Development
● KANBAN Board
● Custom Development
● Frequent Demo’s
● Unit Testing
● DEV Deployments
Week ~4-8
Validation
● Functional Testing in
PRE PROD or QA env.
● Workflow validation
● Performance Testing
● Release Candidate
● Complete DR ( if in
scope)
Week ~8-10
Go Live
● PROD Deployment
● End to end validations
● Runbook
● Open to Pilot Users
● Final Rollout
Week 11-12
Training & Support Handover
● Training (if in scope)
● Support Processes
● Key Documentation
Links
61
Risks/hurdles/discussion points
● Getting to the data
● Anonymizing/sampling/protecting the data (GDPR, privacy, HR policies)
○ during project
○ after roll-out
● Narrowing down the objective. (Too much potential!)
● Front-end architecture and embedding
62
Sizing/scaling
< 200 people: 5Gb - 1 year
> 1000 people: 25Gb - 1 year
> 10.000 people: 250Gb - 1 year
63
Need help - reach out!
Morgan Senechal
Consultant, UK
morgan.senechal@neo4j.com
Niels de Jong
Consultant, Benelux
niels.dejong@neo4j.com
Jan Aertsen
Director PS, EMEA
jan.aertsen@neo4j.com
How a Social Knowledge Graph
Improves Remote Collaboration
April 23, 2020

More Related Content

Similar to How a Social Knowledge Graph Improves Remote Working by Capturing Context from Instant Messaging

Pausefest: Solve your own damn problem
Pausefest: Solve your own damn problemPausefest: Solve your own damn problem
Pausefest: Solve your own damn problemMike Ojo
 
Netex Seminar LT2014 | Using xAPI to add collaboration to e-learning content ...
Netex Seminar LT2014 | Using xAPI to add collaboration to e-learning content ...Netex Seminar LT2014 | Using xAPI to add collaboration to e-learning content ...
Netex Seminar LT2014 | Using xAPI to add collaboration to e-learning content ...Netex Learning
 
NESSHI and GEPHI: sociology of science as a breeding ground for tool building...
NESSHI and GEPHI: sociology of science as a breeding ground for tool building...NESSHI and GEPHI: sociology of science as a breeding ground for tool building...
NESSHI and GEPHI: sociology of science as a breeding ground for tool building...Clement Levallois
 
Introduction To Devops
Introduction To DevopsIntroduction To Devops
Introduction To Devopsanorqiu
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...Florian Roscheck
 
Lessons learned in distributed agile engineering on a large scale integration...
Lessons learned in distributed agile engineering on a large scale integration...Lessons learned in distributed agile engineering on a large scale integration...
Lessons learned in distributed agile engineering on a large scale integration...Georg Öttl
 
Keynote: Frozen DevOps? The not-so-technical Last Mile @ DevOpsDays Portugal,...
Keynote: Frozen DevOps? The not-so-technical Last Mile @ DevOpsDays Portugal,...Keynote: Frozen DevOps? The not-so-technical Last Mile @ DevOpsDays Portugal,...
Keynote: Frozen DevOps? The not-so-technical Last Mile @ DevOpsDays Portugal,...Manuel Pais
 
IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...
IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...
IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...Dr. Haxel Consult
 
Saving the DoD $800M: How Portfolio Management is the Missing Link Between Ag...
Saving the DoD $800M: How Portfolio Management is the Missing Link Between Ag...Saving the DoD $800M: How Portfolio Management is the Missing Link Between Ag...
Saving the DoD $800M: How Portfolio Management is the Missing Link Between Ag...VMware Tanzu
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesTao Xie
 
MLflow: Infrastructure for a Complete Machine Learning Life Cycle
MLflow: Infrastructure for a Complete Machine Learning Life CycleMLflow: Infrastructure for a Complete Machine Learning Life Cycle
MLflow: Infrastructure for a Complete Machine Learning Life CycleDatabricks
 
DevOps Discovery and Roadmap - Datasheet
DevOps Discovery and Roadmap - DatasheetDevOps Discovery and Roadmap - Datasheet
DevOps Discovery and Roadmap - DatasheetTodd Erskine
 
Technologies for startup
Technologies for startupTechnologies for startup
Technologies for startupDzung Nguyen
 
Neo4j GraphTalk Oslo - Building Intelligent Solutions with Graphs
Neo4j GraphTalk Oslo - Building Intelligent Solutions with GraphsNeo4j GraphTalk Oslo - Building Intelligent Solutions with Graphs
Neo4j GraphTalk Oslo - Building Intelligent Solutions with GraphsNeo4j
 
Yet LXi — Learning Experience Interface Overview
Yet LXi — Learning Experience Interface Overview Yet LXi — Learning Experience Interface Overview
Yet LXi — Learning Experience Interface Overview Margaret Roth
 
Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical Dhruv Gohil
 
How to improve Developer Documentations ?
How to improve Developer Documentations ?How to improve Developer Documentations ?
How to improve Developer Documentations ?Utsav Parashar
 
Whitepaper_ State of Platform Engineering Report.pdf
Whitepaper_ State of Platform Engineering Report.pdfWhitepaper_ State of Platform Engineering Report.pdf
Whitepaper_ State of Platform Engineering Report.pdfjuancarlos747007
 
Info session developer student club telkom university
Info session developer student club telkom universityInfo session developer student club telkom university
Info session developer student club telkom universityRaihan Hamid Suraperwata
 

Similar to How a Social Knowledge Graph Improves Remote Working by Capturing Context from Instant Messaging (20)

Pausefest: Solve your own damn problem
Pausefest: Solve your own damn problemPausefest: Solve your own damn problem
Pausefest: Solve your own damn problem
 
Netex Seminar LT2014 | Using xAPI to add collaboration to e-learning content ...
Netex Seminar LT2014 | Using xAPI to add collaboration to e-learning content ...Netex Seminar LT2014 | Using xAPI to add collaboration to e-learning content ...
Netex Seminar LT2014 | Using xAPI to add collaboration to e-learning content ...
 
NESSHI and GEPHI: sociology of science as a breeding ground for tool building...
NESSHI and GEPHI: sociology of science as a breeding ground for tool building...NESSHI and GEPHI: sociology of science as a breeding ground for tool building...
NESSHI and GEPHI: sociology of science as a breeding ground for tool building...
 
Introduction To Devops
Introduction To DevopsIntroduction To Devops
Introduction To Devops
 
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...From idea to production in a day – Leveraging Azure ML and Streamlit to build...
From idea to production in a day – Leveraging Azure ML and Streamlit to build...
 
Lessons learned in distributed agile engineering on a large scale integration...
Lessons learned in distributed agile engineering on a large scale integration...Lessons learned in distributed agile engineering on a large scale integration...
Lessons learned in distributed agile engineering on a large scale integration...
 
Keynote: Frozen DevOps? The not-so-technical Last Mile @ DevOpsDays Portugal,...
Keynote: Frozen DevOps? The not-so-technical Last Mile @ DevOpsDays Portugal,...Keynote: Frozen DevOps? The not-so-technical Last Mile @ DevOpsDays Portugal,...
Keynote: Frozen DevOps? The not-so-technical Last Mile @ DevOpsDays Portugal,...
 
IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...
IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...
IC-SDV 2019: Down-to-earth machine learning: What you always wanted your data...
 
DevOps Introduction
DevOps IntroductionDevOps Introduction
DevOps Introduction
 
Saving the DoD $800M: How Portfolio Management is the Missing Link Between Ag...
Saving the DoD $800M: How Portfolio Management is the Missing Link Between Ag...Saving the DoD $800M: How Portfolio Management is the Missing Link Between Ag...
Saving the DoD $800M: How Portfolio Management is the Missing Link Between Ag...
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and Challenges
 
MLflow: Infrastructure for a Complete Machine Learning Life Cycle
MLflow: Infrastructure for a Complete Machine Learning Life CycleMLflow: Infrastructure for a Complete Machine Learning Life Cycle
MLflow: Infrastructure for a Complete Machine Learning Life Cycle
 
DevOps Discovery and Roadmap - Datasheet
DevOps Discovery and Roadmap - DatasheetDevOps Discovery and Roadmap - Datasheet
DevOps Discovery and Roadmap - Datasheet
 
Technologies for startup
Technologies for startupTechnologies for startup
Technologies for startup
 
Neo4j GraphTalk Oslo - Building Intelligent Solutions with Graphs
Neo4j GraphTalk Oslo - Building Intelligent Solutions with GraphsNeo4j GraphTalk Oslo - Building Intelligent Solutions with Graphs
Neo4j GraphTalk Oslo - Building Intelligent Solutions with Graphs
 
Yet LXi — Learning Experience Interface Overview
Yet LXi — Learning Experience Interface Overview Yet LXi — Learning Experience Interface Overview
Yet LXi — Learning Experience Interface Overview
 
Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical Nautral Langauge Processing - Basics / Non Technical
Nautral Langauge Processing - Basics / Non Technical
 
How to improve Developer Documentations ?
How to improve Developer Documentations ?How to improve Developer Documentations ?
How to improve Developer Documentations ?
 
Whitepaper_ State of Platform Engineering Report.pdf
Whitepaper_ State of Platform Engineering Report.pdfWhitepaper_ State of Platform Engineering Report.pdf
Whitepaper_ State of Platform Engineering Report.pdf
 
Info session developer student club telkom university
Info session developer student club telkom universityInfo session developer student club telkom university
Info session developer student club telkom university
 

Recently uploaded

Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...gajnagarg
 
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...gajnagarg
 
社内勉強会資料_Object Recognition as Next Token Prediction
社内勉強会資料_Object Recognition as Next Token Prediction社内勉強会資料_Object Recognition as Next Token Prediction
社内勉強会資料_Object Recognition as Next Token PredictionNABLAS株式会社
 
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...nirzagarg
 
Belur $ Female Escorts Service in Kolkata (Adult Only) 8005736733 Escort Serv...
Belur $ Female Escorts Service in Kolkata (Adult Only) 8005736733 Escort Serv...Belur $ Female Escorts Service in Kolkata (Adult Only) 8005736733 Escort Serv...
Belur $ Female Escorts Service in Kolkata (Adult Only) 8005736733 Escort Serv...HyderabadDolls
 
👉 Bhilai Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Girl Ser...
👉 Bhilai Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Girl Ser...👉 Bhilai Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Girl Ser...
👉 Bhilai Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Girl Ser...vershagrag
 
Giridih Escorts Service Girl ^ 9332606886, WhatsApp Anytime Giridih
Giridih Escorts Service Girl ^ 9332606886, WhatsApp Anytime GiridihGiridih Escorts Service Girl ^ 9332606886, WhatsApp Anytime Giridih
Giridih Escorts Service Girl ^ 9332606886, WhatsApp Anytime Giridihmeghakumariji156
 
Dubai Call Girls Peeing O525547819 Call Girls Dubai
Dubai Call Girls Peeing O525547819 Call Girls DubaiDubai Call Girls Peeing O525547819 Call Girls Dubai
Dubai Call Girls Peeing O525547819 Call Girls Dubaikojalkojal131
 
Top Call Girls in Balaghat 9332606886Call Girls Advance Cash On Delivery Ser...
Top Call Girls in Balaghat  9332606886Call Girls Advance Cash On Delivery Ser...Top Call Girls in Balaghat  9332606886Call Girls Advance Cash On Delivery Ser...
Top Call Girls in Balaghat 9332606886Call Girls Advance Cash On Delivery Ser...kumargunjan9515
 
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...gajnagarg
 
Sonagachi * best call girls in Kolkata | ₹,9500 Pay Cash 8005736733 Free Home...
Sonagachi * best call girls in Kolkata | ₹,9500 Pay Cash 8005736733 Free Home...Sonagachi * best call girls in Kolkata | ₹,9500 Pay Cash 8005736733 Free Home...
Sonagachi * best call girls in Kolkata | ₹,9500 Pay Cash 8005736733 Free Home...HyderabadDolls
 
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...nirzagarg
 
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...HyderabadDolls
 
Kalyani ? Call Girl in Kolkata | Service-oriented sexy call girls 8005736733 ...
Kalyani ? Call Girl in Kolkata | Service-oriented sexy call girls 8005736733 ...Kalyani ? Call Girl in Kolkata | Service-oriented sexy call girls 8005736733 ...
Kalyani ? Call Girl in Kolkata | Service-oriented sexy call girls 8005736733 ...HyderabadDolls
 
💞 Safe And Secure Call Girls Agra Call Girls Service Just Call 🍑👄6378878445 🍑...
💞 Safe And Secure Call Girls Agra Call Girls Service Just Call 🍑👄6378878445 🍑...💞 Safe And Secure Call Girls Agra Call Girls Service Just Call 🍑👄6378878445 🍑...
💞 Safe And Secure Call Girls Agra Call Girls Service Just Call 🍑👄6378878445 🍑...vershagrag
 
Top profile Call Girls In Nandurbar [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Nandurbar [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In Nandurbar [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Nandurbar [ 7014168258 ] Call Me For Genuine Models...gajnagarg
 
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi ArabiaIn Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabiaahmedjiabur940
 
Predictive Precipitation: Advanced Rain Forecasting Techniques
Predictive Precipitation: Advanced Rain Forecasting TechniquesPredictive Precipitation: Advanced Rain Forecasting Techniques
Predictive Precipitation: Advanced Rain Forecasting TechniquesBoston Institute of Analytics
 
High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...
High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...
High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...kumargunjan9515
 

Recently uploaded (20)

Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
Top profile Call Girls In Indore [ 7014168258 ] Call Me For Genuine Models We...
 
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In bhavnagar [ 7014168258 ] Call Me For Genuine Models...
 
社内勉強会資料_Object Recognition as Next Token Prediction
社内勉強会資料_Object Recognition as Next Token Prediction社内勉強会資料_Object Recognition as Next Token Prediction
社内勉強会資料_Object Recognition as Next Token Prediction
 
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...
Top profile Call Girls In Bihar Sharif [ 7014168258 ] Call Me For Genuine Mod...
 
Belur $ Female Escorts Service in Kolkata (Adult Only) 8005736733 Escort Serv...
Belur $ Female Escorts Service in Kolkata (Adult Only) 8005736733 Escort Serv...Belur $ Female Escorts Service in Kolkata (Adult Only) 8005736733 Escort Serv...
Belur $ Female Escorts Service in Kolkata (Adult Only) 8005736733 Escort Serv...
 
👉 Bhilai Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Girl Ser...
👉 Bhilai Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Girl Ser...👉 Bhilai Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Girl Ser...
👉 Bhilai Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Girl Ser...
 
Call Girls in G.T.B. Nagar (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in G.T.B. Nagar  (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in G.T.B. Nagar  (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in G.T.B. Nagar (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Giridih Escorts Service Girl ^ 9332606886, WhatsApp Anytime Giridih
Giridih Escorts Service Girl ^ 9332606886, WhatsApp Anytime GiridihGiridih Escorts Service Girl ^ 9332606886, WhatsApp Anytime Giridih
Giridih Escorts Service Girl ^ 9332606886, WhatsApp Anytime Giridih
 
Dubai Call Girls Peeing O525547819 Call Girls Dubai
Dubai Call Girls Peeing O525547819 Call Girls DubaiDubai Call Girls Peeing O525547819 Call Girls Dubai
Dubai Call Girls Peeing O525547819 Call Girls Dubai
 
Top Call Girls in Balaghat 9332606886Call Girls Advance Cash On Delivery Ser...
Top Call Girls in Balaghat  9332606886Call Girls Advance Cash On Delivery Ser...Top Call Girls in Balaghat  9332606886Call Girls Advance Cash On Delivery Ser...
Top Call Girls in Balaghat 9332606886Call Girls Advance Cash On Delivery Ser...
 
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Latur [ 7014168258 ] Call Me For Genuine Models We ...
 
Sonagachi * best call girls in Kolkata | ₹,9500 Pay Cash 8005736733 Free Home...
Sonagachi * best call girls in Kolkata | ₹,9500 Pay Cash 8005736733 Free Home...Sonagachi * best call girls in Kolkata | ₹,9500 Pay Cash 8005736733 Free Home...
Sonagachi * best call girls in Kolkata | ₹,9500 Pay Cash 8005736733 Free Home...
 
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
Top profile Call Girls In Satna [ 7014168258 ] Call Me For Genuine Models We ...
 
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...
Gomti Nagar & best call girls in Lucknow | 9548273370 Independent Escorts & D...
 
Kalyani ? Call Girl in Kolkata | Service-oriented sexy call girls 8005736733 ...
Kalyani ? Call Girl in Kolkata | Service-oriented sexy call girls 8005736733 ...Kalyani ? Call Girl in Kolkata | Service-oriented sexy call girls 8005736733 ...
Kalyani ? Call Girl in Kolkata | Service-oriented sexy call girls 8005736733 ...
 
💞 Safe And Secure Call Girls Agra Call Girls Service Just Call 🍑👄6378878445 🍑...
💞 Safe And Secure Call Girls Agra Call Girls Service Just Call 🍑👄6378878445 🍑...💞 Safe And Secure Call Girls Agra Call Girls Service Just Call 🍑👄6378878445 🍑...
💞 Safe And Secure Call Girls Agra Call Girls Service Just Call 🍑👄6378878445 🍑...
 
Top profile Call Girls In Nandurbar [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Nandurbar [ 7014168258 ] Call Me For Genuine Models...Top profile Call Girls In Nandurbar [ 7014168258 ] Call Me For Genuine Models...
Top profile Call Girls In Nandurbar [ 7014168258 ] Call Me For Genuine Models...
 
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi ArabiaIn Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
In Riyadh ((+919101817206)) Cytotec kit @ Abortion Pills Saudi Arabia
 
Predictive Precipitation: Advanced Rain Forecasting Techniques
Predictive Precipitation: Advanced Rain Forecasting TechniquesPredictive Precipitation: Advanced Rain Forecasting Techniques
Predictive Precipitation: Advanced Rain Forecasting Techniques
 
High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...
High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...
High Profile Call Girls Service in Jalore { 9332606886 } VVIP NISHA Call Girl...
 

How a Social Knowledge Graph Improves Remote Working by Capturing Context from Instant Messaging

  • 1. How a Social Knowledge Graph Improves Remote Collaboration April 23, 2020
  • 2. Abstract 2 Neo4j has always been a geographically distributed company. Our employee count of 300+ people is spread over more than 20 countries. Consequently, remote collaboration is in our DNA. A Social Knowledge Graph can extract topics or moods from instant messaging to improve information sharing. It can help understand popular and/or missing skill sets. It can help improve team cohesion. It can help understand Customer relationships. In our latest webinar, we will demonstrate how we at Neo4j have leveraged our own technology to improve the efficiency of remote collaboration. The webinar illustrates how instant messaging conversations (in this case from Slack) are used to understand collaboration. And, finally, we will explain how companies can roll out a similar solution in less than two months.
  • 3. 3 Introductions Morgan Senechal Consultant, UK Neo4j Niels de Jong Consultant, Benelux Neo4j Jan Aertsen Director PS, EMEA Neo4j
  • 4. • Introduction to Neo4j • Towards more efficient (remote) collaboration • Challenges in (remote) collaboration • Knowledge graphs • Slack Knowledge Graph Model • Demo • Application • Technical aspects • Implementation aspects • Wrap up 4 Agenda
  • 6. Neo4j - The Graph Company The Industry’s Largest Dedicated Investment in Graphs 6 Creator of the Market Leading Neo4j Graph Database Platform have launched a Neo4j Trial 76% of the > 300* employees HQ in Silicon Valley, and offices in London, Munich, & Malmo ~400* Global Enterprise Customers (*) stats from December 2019
  • 7. ● Separate department within Neo4j since 2017 ● Created to ensure worldwide implementation assistance for Neo4j Customers ● Currently 40+ certified consultants (FY2017 15, FY2018 25, FY2019 40 , FY2020 60) ○ Average of 5+ years experience in the graph space ○ Average of 10+ years IT experience ● Most common technical skills: ○ database experts (graph and other): DBA, data modelling, query design & optimization ○ application development: both backend and UI, typically Java & JS ● Dedicated PMO and training group ● Dedicated Solutions team (packaged solution frameworks, reusable components) ● Both packaged services (pain point resolution) as fully managed projects 7 Neo4j Customer Services The fastest route to graph success
  • 8. 2010 2011 2012 2013 2015 2017 Introduced Cypher - Leading language for graph queries First open source GA version of a property graph database O’Reilly Graph Database — first definitive book for graph professionals Introduced labels to simplify graph modeling openCypher.org open sourced Cypher query language as de facto standard Industry’s 1st Graph Platform Graph Algorithms for data scientists Developer’s Neo4j Desktop 2014 Visual Graph Query Browser 2016 Causal Consistency for Graphs Neo4j—The Graph Innovator 2018 2019 O’Reilly Graph Algorithms Book Neo4j Aura Neo4j Bloom visual discovery Cypher for Apache Spark Cypher for Gremlin GQL Manifesto / ISO Standard Creators of a new database category
  • 10. Remote is the “new normal” 10
  • 11. At Neo4j, remote is in our DNA 11 Today 20+ countries 90+ locations Rapid growth end of 2017: 120 end of 2018: 180 end of 2019: 300
  • 12. At Neo4j, remote is in our DNA 12
  • 14. Remote Working Challenges 14 1. It’s hard to know who works where and on what. How do we facilitate locating skills and expertise? 2. We want to ensure cohesion How do we promote a “connected nodes” culture? 3. How can we improve efficiency of virtual teams? What skills are relevant in a specific context (e.g. Customer)?
  • 19. 19 Knowledge Graphs and Neo4j Why is Neo4j so well fit for knowledge graphs? 1. Ability to store/retrieve connections that provide WIDE context 2. Schema free, easily to extend/flexible model 3. Ability to easily bring in structured and unstructured data 4. Free text search capabilities 5. Ability to include taxonomies, ontologies, semantics, … 6. Vast library of algorithms to mine/enrich the knowledge graph
  • 20. Graphs are Changing the World  The US space agency uses Neo4j for their “Lessons Learned” database to connect information to improve searchability effectiveness in space mission. By using context-aware search, Cisco saves four million hours a year that are now used to engage with more prospects and close more deals. Knowledge Graph for documentsKnowledge Graph for learnings Some well known examples
  • 21. 21
  • 23. 23 Eat your own dog food
  • 24. 24 What we originally did We built a knowledge graph centered around Neo4j’s IM (Slack). Can we use our knowledge graph to improve collaboration?
  • 25. 25 Graph Model From Slack: - People - Messages/Threads - Reactions - Channels - Links/Attachments Additionally: - Skills - Clients
  • 26. 26 Translating Slack to Knowledge Graph acme-internal ACME
  • 28. Putting it all together 28
  • 29. Existing Graph What can we reuse? - People, messages and channels - Sentiment values on text and emojis What can we add? - Teams MATCH (person:User)-[r:REPORTS_TO*]->(manager:User) WHERE manager.name = "Emil" RETURN * 29
  • 30. Hierarchy of Teams 30 match (t:Team) with t match (u:User) where u.email = t.manager merge (t)<-[:IS_MANAGER]-(u) set u:Manager
  • 31. 31 Flexible Schema - Add the new types
  • 33. Before we get started 33
  • 34. 34 Anonymized demo data ● No real Neo4j employees ● No real Neo4j customers ● Sampled data set (partial/with gaps) so no representative nbrs Real life: GDPR, data privacy, … ● Only public channel data loaded into application (no private chats) ● Only aggregate data exposed via application ● Actual Slack conversations not available for querying
  • 35. 35 Demo The application 1. Locating skills and expertise within the company. 2. What skills are relevant to which Customer 3. Info on clients/documents Sample analytical queries 1. How has the mood changed for a specific team? 2. How has the mood changed in a specific location? 3. Which teams have experienced the biggest mood shift? 4. What are the clusters of people frequently talking?
  • 37. 37
  • 38. 38
  • 39. 39
  • 40. 40
  • 42. 42 Demo The application 1. Locating skills and expertise within the company. 2. What skills are relevant to which Customer 3. Info on clients/documents Analytical queries 1. How has the mood changed for a specific team? 2. How has the mood changed in a specific location? 3. Which teams have experienced the biggest mood shift? 4. What are the clusters of people frequently talking?
  • 43. 43 Emoji Sentiment in London - Dashboards... - One-shot queries... - some visualizations...
  • 44. 44 Total sentiment of the EMEA field team
  • 45. 45 For people in the European offices, which team’s sentiment has changed?
  • 46. Which communities frequently chat? 46 Community nodes generated based on Louvain community detection algorithm.
  • 47. Team Interactions 47 match (t1:Team)<--(:User)-[w:WROTE_WITH]-(:Use r)-->(t2:Team) where id(t1) > id(t2) with t1, t2, sum(w.weight) as weight where weight > 100 merge (t1)-[:INTERACTS_WITH {weight:weight}]->(t2)
  • 48. 48 What you saw ● How to find the right skills (within a specific context) fast. ● Enable people to connect to peers that can help them achieve their goals. ● Understand rapidly the “virtual teams” around specific topics. ● Collect info to feed into a wider C360 or KM initiative. ● Measure activity/mood of wider company/team. ● Identify implicit communities (not just teams) of people working together.
  • 50. 50 Other potential use cases 1. Collect rich contextual data for Customer 360 initiative 2. Collect rich contextual data for knowledge mgmt initiative 3. GDPR 4. Forensic analysis 5. Social network analysis: influencers, followers, topics analysis https://neo4j.com/use-cases/
  • 51. Technical deep dive (Have a look behind the scenes) 51
  • 52. 52 Let’s get technical 1. Architecture 2. Using kettle for data loading 3. Front-end 4. Scoring algorithm / Sentiment analysis 5. Graph data science
  • 54. 54 ETL using Kettle Kettle is used to load the data into Neo4j Aura Kettle is an open-source ETL tool with Neo4j connectors Data Sources: ● data dump of Slack files (JSON) ● Salesforce ● Google drive
  • 55. Kettle workflow 55 The workflow is composed of 4 main parts: 1. Create a batch process, which is a “next” iteration of the previous batch. 2. List all the input files or the one that has failed in a previous run, and attach them to the current batch. 3. Loop through the batch to load the files. During the process, if the load of a file fails, we add a Neo4j label to that file. Same goes once we completed the load for a file. This way, we can later on see which files failed, and which has been loaded.
  • 56. Front end 56 ● Using a java framework so you can use the Neo4j java driver ● Vuejs because it’s modular and has a flexible development environment. ● It also separates the design from the code Frontend code Backend code
  • 58. 58 Louvain community detection based on message-reply graph projection. Only a (small) subset of what is possible! Graph Data Science
  • 60. 60 Implementation (2-3 months) Week1 Discovery ● Project Kick-off ● Discovery ● Project Framework ● Requirements sign-off Week 2-3 Design ● Architecture ● Workflow ● Data Model ● Ingestion Points ● Project Plan Week ~3-4 Development ● KANBAN Board ● Custom Development ● Frequent Demo’s ● Unit Testing ● DEV Deployments Week ~4-8 Validation ● Functional Testing in PRE PROD or QA env. ● Workflow validation ● Performance Testing ● Release Candidate ● Complete DR ( if in scope) Week ~8-10 Go Live ● PROD Deployment ● End to end validations ● Runbook ● Open to Pilot Users ● Final Rollout Week 11-12 Training & Support Handover ● Training (if in scope) ● Support Processes ● Key Documentation Links
  • 61. 61 Risks/hurdles/discussion points ● Getting to the data ● Anonymizing/sampling/protecting the data (GDPR, privacy, HR policies) ○ during project ○ after roll-out ● Narrowing down the objective. (Too much potential!) ● Front-end architecture and embedding
  • 62. 62 Sizing/scaling < 200 people: 5Gb - 1 year > 1000 people: 25Gb - 1 year > 10.000 people: 250Gb - 1 year
  • 63. 63 Need help - reach out! Morgan Senechal Consultant, UK morgan.senechal@neo4j.com Niels de Jong Consultant, Benelux niels.dejong@neo4j.com Jan Aertsen Director PS, EMEA jan.aertsen@neo4j.com
  • 64. How a Social Knowledge Graph Improves Remote Collaboration April 23, 2020