SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
Discovering Emerging
Technology Through
Graph Analysis
GraphConnect | Chicago
June 2013
About Me
henry74@gmail.com || henry.hwangbo@us.pwc.com
@henry74
henry74
Founder / Director of PwC's Emerging Tech Lab
What is the Emerging Tech Lab?
We build stuff to help people get smart about applying technology to
solve problems
● Founded 3 years ago to identify and experiment with new
technologies relevant to but not widely adopted by the Enterprise
● Focuses on rapid prototyping & MVP build-outs for both
tactical internal projects and more creative, exploratory ideas
● Permanent core team, but operates a rotational program for
staff to provide them an opportunity for hands-on technical
experience, learning agile & lean principles, and exposure to a
startup-like environment
The Challenge
It usually starts with an idea…
“Build a platform to help discover emerging technologies.”
…followed by some pretty mock-ups…
…to raise expectations.
Envisioning success
● What are some emerging
technologies?
● How are they being used to solve
real problems?
● Who is talking about them?
● Who are the players?
● Are there related technologies?
● Get up to speed quickly
● Discover related topics
● Understand what is trending
● Find interesting applications
● See what's possible
What makes technology “emerging”?
● Cannot already be mainstream technology
● Needs to be more than a single event to be an emerging trend
● Must be growing in popularity, but not yet popular
● "Technology" could be a thing (e.g. nanotubes), but also an
aggregation or application of technologies (e.g. cloud
computing, quantified self)
The Journey
Initial design
Data Feeds
(RSS)
Pull &
Store Raw
Data
MongoDB
Analyze VisualizeSource
?
Postgres
Breaking ground
● Natural Language Processing
● Named Entity Recognition
● ???
● ???
● ???
● ???
● ???
Extract Text
Understand
Text
Discover
Insights
A bit more clarity
Data Feeds
(RSS)
Pull &
Store Raw
Data
MongoDB
Analyze VisualizeSource
?
3rd Party
APIs
Tag &
Update
Postgres
Digging a little deeper
● Natural Language Processing
● Named Entity Recognition
● Collocation?
● K-means clustering?
● Information Ontology?
● ???
● ???
Extract Text
Understand
Text
Discover
Insights
The Eureka moment...
…took a bit longer than it should have
Graphs are everywhere
Final design
Data Feeds
(RSS)
Pull &
Store Raw
Data
MongoDB
Analyze VisualizeSource
3rd Party
API
Tag &
Update
Neo4j Postgres
Lesson #1 - Graph data modeling is iterative
What should be a node, relationship, or a property? Depends on:
● What will you search on?
● How do you start your searches?
● How much data do you expect to have? What data?
Expect to change your graph based on:
● Experimentation
● Query syntax available to extract and aggregate graph data
● Query performance
TIP: Plan to reload your graph many times - save the raw data, start small,
use batch loading until you get it right
…but more flexible than traditional data modeling
Modeling the data
DO
C
P
P
C
K
K
C
T
C
DOC
P
P
C
K
K
O
T
Document are described by its
entities, concepts, and keywords
through relationships
This means:
● Document are related to other
documents through shared
entities, concepts, and keywords
● Concepts and entities are related
to each other through shared
documents
● Incoming relationships measures
# of referring documents
Simple, yet powerful
TAGGED_AS
RELATES_TO
REFERS_TO
CONTAINS
REFERS_TO
Lesson #2 - Connections are important
Highly connected data creates richer
graphs and increases potential for
discovering greater insights
BUT unnecessary connections can
create noise & extra work
Don't create artificial connections, but clean up data before importing when it
makes sense (e.g. networking, networks, network)
Prevent duplication which can impact your insights based on aggregation (e.g.
# of relationships) or certain patterns
Keeping it clean
Techniques Graph Benefits
Text extraction with
readability scoring
● Better named entity extraction
● Improve neighbor relevance
● Minimize invalid nodes & relationships
Similarity Hashing
● Improve validity of relationships
● Increase graph connectedness
Porter Stemming ● Improve graph connectedness
Lesson #3 - Understand Cypher
● Cypher experimentation opens up the possible
● SQL users will be at home - tabular results, similar
syntax
● Start without parameters, check with Neo4j shell,
move to parameterized queries for security &
performance (caching)
● Don't forget Lucene syntax
● Continues to evolve for the better - check new release
changes (http://docs.neo4j.org/refcard/1.9/)
● Let Cypher do the work
Useful Cypher Syntax
START with an index
MATCH defines your universe
WHERE filters it down
WITH combines multiple statements
HAS checks if a property exists
AS lets you name your return values
IN checks against an array
COLLECT aggregates into an array
ORDER just like SQL
LIMIT for performance
Prototype highlights
● 4 people & 4 months (first version)
● Data Stores - Neo4J, MongoDB, Redis, Postgres
● Visuals - D3.js, Vivagraph.js, Twitter Bootstrap
● Key Languages/Libraries - Ruby, Rails, Cypher,
Knockout.js, Amplify.js, HTML5, CSS3, jQuery,
Neography gem, Resque gem
● 3rd Party - Alchemy, OpenCalais, RSS feeds,
Wikipedia
● Concepts - natural language processing, named
entity extraction, text cleansing & de-duplication
(map/reduce), similarity hashing, large-scale
information retrieval
● 1M+ nodes, 3M+ relationships, 6M+ properties after
6 months
Emerging Tech Radar Demo
Tag Cloud / Search
DOC C
K
K
C
DOC
C
K
K
DOC
DOC
DOC
DOC
● Index keywords and search across keywords (tip: use Lucene syntax)
● Identify documents with strong relationships to keywords
● Locate concepts with strongest relationships to relevant documents
● Popularity based on number of incoming relationships
Emerging Index / Popularity / Doc List
DO
C
CDOC
(E)
OC
DOC
(NE)
DOC
(E)
DOC
(E)
DOC
(NE)
DOC
(E)
DOC
(NE)
DOC
(E)
Cloud computing (Concept) and Google (Org)
● Strong relationships with documents shared between concepts to filter
and rank relevant content
● Ratio and strength of relationships to quantify emerging index
● Popularity based on number of incoming relationships of each type of
document (emerging versus non-emerging)
Node Graph
DO
C
CK DOC OC
DOC
DOC
DOC
DOC DOC
DOC
● Existing relationships with documents shared between concepts to
filter relevant neighbors
● Strength of relationships based on # and weight for ranking relevance
(color)
C
The Takeaway
Final Thoughts
● Graphs makes it simple to generate complex insights - you don't
need to be a data scientist
● Graphs are a natural fit for anything connected...which is most
things (e.g. social media, internet of things, sensor data)
● Experimentation is the best way to learn the power of graphs
● Make graph databases a first class citizen in your technology
toolkit - many things can be solved better with a graph
The best way to discover emerging technologies is to try
them out
Thanks for Listening - Q & A
Special thanks to Max De Marzi for his neography gem (https://github.
com/maxdemarzi/neography) and ongoing advice, suggestions,
troubleshooting

Más contenido relacionado

La actualidad más candente

Building a Knowledge Graph with Spark and NLP: How We Recommend Novel Drugs t...
Building a Knowledge Graph with Spark and NLP: How We Recommend Novel Drugs t...Building a Knowledge Graph with Spark and NLP: How We Recommend Novel Drugs t...
Building a Knowledge Graph with Spark and NLP: How We Recommend Novel Drugs t...
Databricks
 

La actualidad más candente (12)

Approaches to text analysis
Approaches to text analysisApproaches to text analysis
Approaches to text analysis
 
Indexing, searching, and aggregation with redi search and .net
Indexing, searching, and aggregation with redi search and .netIndexing, searching, and aggregation with redi search and .net
Indexing, searching, and aggregation with redi search and .net
 
Neo4jrb
Neo4jrbNeo4jrb
Neo4jrb
 
A view from the ivory tower: Participating in Apache as a member of academia
A view from the ivory tower: Participating in Apache as a member of academiaA view from the ivory tower: Participating in Apache as a member of academia
A view from the ivory tower: Participating in Apache as a member of academia
 
Natural Language Processing with Graph Databases and Neo4j
Natural Language Processing with Graph Databases and Neo4jNatural Language Processing with Graph Databases and Neo4j
Natural Language Processing with Graph Databases and Neo4j
 
Building a Knowledge Graph with Spark and NLP: How We Recommend Novel Drugs t...
Building a Knowledge Graph with Spark and NLP: How We Recommend Novel Drugs t...Building a Knowledge Graph with Spark and NLP: How We Recommend Novel Drugs t...
Building a Knowledge Graph with Spark and NLP: How We Recommend Novel Drugs t...
 
Sprint_1_Python_vs_R
Sprint_1_Python_vs_RSprint_1_Python_vs_R
Sprint_1_Python_vs_R
 
South Big Data Hub: Text Data Analysis Panel
South Big Data Hub: Text Data Analysis PanelSouth Big Data Hub: Text Data Analysis Panel
South Big Data Hub: Text Data Analysis Panel
 
Dice.com Bay Area Search - Beyond Learning to Rank Talk
Dice.com Bay Area Search - Beyond Learning to Rank TalkDice.com Bay Area Search - Beyond Learning to Rank Talk
Dice.com Bay Area Search - Beyond Learning to Rank Talk
 
R programming for psychometrics
R programming for psychometricsR programming for psychometrics
R programming for psychometrics
 
Interleaving, Evaluation to Self-learning Search @904Labs
Interleaving, Evaluation to Self-learning Search @904LabsInterleaving, Evaluation to Self-learning Search @904Labs
Interleaving, Evaluation to Self-learning Search @904Labs
 
User behaviour modeling for data prefetching in web applications
User behaviour modeling for data prefetching in web applicationsUser behaviour modeling for data prefetching in web applications
User behaviour modeling for data prefetching in web applications
 

Similar a Discovering Emerging Tech through Graph Analysis - Henry Hwangbo @ GraphConnect Chicago 2013

The Semantic Knowledge Graph
The Semantic Knowledge GraphThe Semantic Knowledge Graph
The Semantic Knowledge Graph
Trey Grainger
 

Similar a Discovering Emerging Tech through Graph Analysis - Henry Hwangbo @ GraphConnect Chicago 2013 (20)

SDSC18 and DSATL Meetup March 2018
SDSC18 and DSATL Meetup March 2018 SDSC18 and DSATL Meetup March 2018
SDSC18 and DSATL Meetup March 2018
 
Continuous delivery for machine learning
Continuous delivery for machine learningContinuous delivery for machine learning
Continuous delivery for machine learning
 
Data science nlp_resume-2018-abridged
Data science nlp_resume-2018-abridgedData science nlp_resume-2018-abridged
Data science nlp_resume-2018-abridged
 
The Semantic Knowledge Graph
The Semantic Knowledge GraphThe Semantic Knowledge Graph
The Semantic Knowledge Graph
 
ExperTwin: An Alter Ego in Cyberspace for Knowledge Workers
ExperTwin: An Alter Ego in Cyberspace for Knowledge WorkersExperTwin: An Alter Ego in Cyberspace for Knowledge Workers
ExperTwin: An Alter Ego in Cyberspace for Knowledge Workers
 
L15.pptx
L15.pptxL15.pptx
L15.pptx
 
Getting started with Graph Databases & Neo4j
Getting started with Graph Databases & Neo4jGetting started with Graph Databases & Neo4j
Getting started with Graph Databases & Neo4j
 
The Apache Solr Semantic Knowledge Graph
The Apache Solr Semantic Knowledge GraphThe Apache Solr Semantic Knowledge Graph
The Apache Solr Semantic Knowledge Graph
 
General introduction to AI ML DL DS
General introduction to AI ML DL DSGeneral introduction to AI ML DL DS
General introduction to AI ML DL DS
 
GraphGen: Conducting Graph Analytics over Relational Databases
GraphGen: Conducting Graph Analytics over Relational DatabasesGraphGen: Conducting Graph Analytics over Relational Databases
GraphGen: Conducting Graph Analytics over Relational Databases
 
GraphGen: Conducting Graph Analytics over Relational Databases
GraphGen: Conducting Graph Analytics over Relational DatabasesGraphGen: Conducting Graph Analytics over Relational Databases
GraphGen: Conducting Graph Analytics over Relational Databases
 
A Modern Interface for Data Science on Postgres/Greenplum - Greenplum Summit ...
A Modern Interface for Data Science on Postgres/Greenplum - Greenplum Summit ...A Modern Interface for Data Science on Postgres/Greenplum - Greenplum Summit ...
A Modern Interface for Data Science on Postgres/Greenplum - Greenplum Summit ...
 
Elasticsearch Performance Testing and Scaling @ Signal
Elasticsearch Performance Testing and Scaling @ SignalElasticsearch Performance Testing and Scaling @ Signal
Elasticsearch Performance Testing and Scaling @ Signal
 
SEMLIB Final Conference | DERI presentation
SEMLIB Final Conference | DERI presentationSEMLIB Final Conference | DERI presentation
SEMLIB Final Conference | DERI presentation
 
Reflected intelligence evolving self-learning data systems
Reflected intelligence  evolving self-learning data systemsReflected intelligence  evolving self-learning data systems
Reflected intelligence evolving self-learning data systems
 
Multiplaform Solution for Graph Datasources
Multiplaform Solution for Graph DatasourcesMultiplaform Solution for Graph Datasources
Multiplaform Solution for Graph Datasources
 
RamaRaju_Profile
RamaRaju_ProfileRamaRaju_Profile
RamaRaju_Profile
 
The Relevance of the Apache Solr Semantic Knowledge Graph
The Relevance of the Apache Solr Semantic Knowledge GraphThe Relevance of the Apache Solr Semantic Knowledge Graph
The Relevance of the Apache Solr Semantic Knowledge Graph
 
Which Questions We Should Have
Which Questions We Should HaveWhich Questions We Should Have
Which Questions We Should Have
 
Building data "Py-pelines"
Building data "Py-pelines"Building data "Py-pelines"
Building data "Py-pelines"
 

Más de Neo4j

Más de Neo4j (20)

Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
Workshop -  Architecting Innovative Graph Applications- GraphSummit MilanWorkshop -  Architecting Innovative Graph Applications- GraphSummit Milan
Workshop - Architecting Innovative Graph Applications- GraphSummit Milan
 
LARUS - Galileo.XAI e Gen-AI: la nuova prospettiva di LARUS per il futuro del...
LARUS - Galileo.XAI e Gen-AI: la nuova prospettiva di LARUS per il futuro del...LARUS - Galileo.XAI e Gen-AI: la nuova prospettiva di LARUS per il futuro del...
LARUS - Galileo.XAI e Gen-AI: la nuova prospettiva di LARUS per il futuro del...
 
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jGraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
 
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with GraphGraphSummit Milan - Neo4j: The Art of the Possible with Graph
GraphSummit Milan - Neo4j: The Art of the Possible with Graph
 
LARUS - Galileo.XAI e Gen-AI: la nuova prospettiva di LARUS per il futuro del...
LARUS - Galileo.XAI e Gen-AI: la nuova prospettiva di LARUS per il futuro del...LARUS - Galileo.XAI e Gen-AI: la nuova prospettiva di LARUS per il futuro del...
LARUS - Galileo.XAI e Gen-AI: la nuova prospettiva di LARUS per il futuro del...
 
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale IbridaUNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
UNI DI NAPOLI FEDERICO II - Il ruolo dei grafi nell'AI Conversazionale Ibrida
 
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
 
From Knowledge Graphs via Lego Bricks to scientific conversations.pptx
From Knowledge Graphs via Lego Bricks to scientific conversations.pptxFrom Knowledge Graphs via Lego Bricks to scientific conversations.pptx
From Knowledge Graphs via Lego Bricks to scientific conversations.pptx
 
Novo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMsNovo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMs
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and BioinformaticiansQIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
QIAGEN: Biomedical Knowledge Graphs for Data Scientists and Bioinformaticians
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
ISDEFE - GraphSummit Madrid - ARETA: Aviation Real-Time Emissions Token Accre...
 
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafosBBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
BBVA - GraphSummit Madrid - Caso de éxito en BBVA: Optimizando con grafos
 
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
Graph Everywhere - Josep Taruella - Por qué Graph Data Science en tus modelos...
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

Discovering Emerging Tech through Graph Analysis - Henry Hwangbo @ GraphConnect Chicago 2013

  • 1. Discovering Emerging Technology Through Graph Analysis GraphConnect | Chicago June 2013
  • 2. About Me henry74@gmail.com || henry.hwangbo@us.pwc.com @henry74 henry74 Founder / Director of PwC's Emerging Tech Lab
  • 3. What is the Emerging Tech Lab? We build stuff to help people get smart about applying technology to solve problems ● Founded 3 years ago to identify and experiment with new technologies relevant to but not widely adopted by the Enterprise ● Focuses on rapid prototyping & MVP build-outs for both tactical internal projects and more creative, exploratory ideas ● Permanent core team, but operates a rotational program for staff to provide them an opportunity for hands-on technical experience, learning agile & lean principles, and exposure to a startup-like environment
  • 5. It usually starts with an idea… “Build a platform to help discover emerging technologies.”
  • 6. …followed by some pretty mock-ups… …to raise expectations.
  • 7. Envisioning success ● What are some emerging technologies? ● How are they being used to solve real problems? ● Who is talking about them? ● Who are the players? ● Are there related technologies? ● Get up to speed quickly ● Discover related topics ● Understand what is trending ● Find interesting applications ● See what's possible
  • 8. What makes technology “emerging”? ● Cannot already be mainstream technology ● Needs to be more than a single event to be an emerging trend ● Must be growing in popularity, but not yet popular ● "Technology" could be a thing (e.g. nanotubes), but also an aggregation or application of technologies (e.g. cloud computing, quantified self)
  • 10. Initial design Data Feeds (RSS) Pull & Store Raw Data MongoDB Analyze VisualizeSource ? Postgres
  • 11. Breaking ground ● Natural Language Processing ● Named Entity Recognition ● ??? ● ??? ● ??? ● ??? ● ??? Extract Text Understand Text Discover Insights
  • 12. A bit more clarity Data Feeds (RSS) Pull & Store Raw Data MongoDB Analyze VisualizeSource ? 3rd Party APIs Tag & Update Postgres
  • 13. Digging a little deeper ● Natural Language Processing ● Named Entity Recognition ● Collocation? ● K-means clustering? ● Information Ontology? ● ??? ● ??? Extract Text Understand Text Discover Insights
  • 14. The Eureka moment... …took a bit longer than it should have Graphs are everywhere
  • 15. Final design Data Feeds (RSS) Pull & Store Raw Data MongoDB Analyze VisualizeSource 3rd Party API Tag & Update Neo4j Postgres
  • 16.
  • 17. Lesson #1 - Graph data modeling is iterative What should be a node, relationship, or a property? Depends on: ● What will you search on? ● How do you start your searches? ● How much data do you expect to have? What data? Expect to change your graph based on: ● Experimentation ● Query syntax available to extract and aggregate graph data ● Query performance TIP: Plan to reload your graph many times - save the raw data, start small, use batch loading until you get it right …but more flexible than traditional data modeling
  • 18. Modeling the data DO C P P C K K C T C DOC P P C K K O T Document are described by its entities, concepts, and keywords through relationships This means: ● Document are related to other documents through shared entities, concepts, and keywords ● Concepts and entities are related to each other through shared documents ● Incoming relationships measures # of referring documents Simple, yet powerful TAGGED_AS RELATES_TO REFERS_TO CONTAINS REFERS_TO
  • 19. Lesson #2 - Connections are important Highly connected data creates richer graphs and increases potential for discovering greater insights BUT unnecessary connections can create noise & extra work Don't create artificial connections, but clean up data before importing when it makes sense (e.g. networking, networks, network) Prevent duplication which can impact your insights based on aggregation (e.g. # of relationships) or certain patterns
  • 20. Keeping it clean Techniques Graph Benefits Text extraction with readability scoring ● Better named entity extraction ● Improve neighbor relevance ● Minimize invalid nodes & relationships Similarity Hashing ● Improve validity of relationships ● Increase graph connectedness Porter Stemming ● Improve graph connectedness
  • 21. Lesson #3 - Understand Cypher ● Cypher experimentation opens up the possible ● SQL users will be at home - tabular results, similar syntax ● Start without parameters, check with Neo4j shell, move to parameterized queries for security & performance (caching) ● Don't forget Lucene syntax ● Continues to evolve for the better - check new release changes (http://docs.neo4j.org/refcard/1.9/) ● Let Cypher do the work
  • 22. Useful Cypher Syntax START with an index MATCH defines your universe WHERE filters it down WITH combines multiple statements HAS checks if a property exists AS lets you name your return values IN checks against an array COLLECT aggregates into an array ORDER just like SQL LIMIT for performance
  • 23. Prototype highlights ● 4 people & 4 months (first version) ● Data Stores - Neo4J, MongoDB, Redis, Postgres ● Visuals - D3.js, Vivagraph.js, Twitter Bootstrap ● Key Languages/Libraries - Ruby, Rails, Cypher, Knockout.js, Amplify.js, HTML5, CSS3, jQuery, Neography gem, Resque gem ● 3rd Party - Alchemy, OpenCalais, RSS feeds, Wikipedia ● Concepts - natural language processing, named entity extraction, text cleansing & de-duplication (map/reduce), similarity hashing, large-scale information retrieval ● 1M+ nodes, 3M+ relationships, 6M+ properties after 6 months
  • 25. Tag Cloud / Search DOC C K K C DOC C K K DOC DOC DOC DOC ● Index keywords and search across keywords (tip: use Lucene syntax) ● Identify documents with strong relationships to keywords ● Locate concepts with strongest relationships to relevant documents ● Popularity based on number of incoming relationships
  • 26. Emerging Index / Popularity / Doc List DO C CDOC (E) OC DOC (NE) DOC (E) DOC (E) DOC (NE) DOC (E) DOC (NE) DOC (E) Cloud computing (Concept) and Google (Org) ● Strong relationships with documents shared between concepts to filter and rank relevant content ● Ratio and strength of relationships to quantify emerging index ● Popularity based on number of incoming relationships of each type of document (emerging versus non-emerging)
  • 27. Node Graph DO C CK DOC OC DOC DOC DOC DOC DOC DOC ● Existing relationships with documents shared between concepts to filter relevant neighbors ● Strength of relationships based on # and weight for ranking relevance (color) C
  • 29. Final Thoughts ● Graphs makes it simple to generate complex insights - you don't need to be a data scientist ● Graphs are a natural fit for anything connected...which is most things (e.g. social media, internet of things, sensor data) ● Experimentation is the best way to learn the power of graphs ● Make graph databases a first class citizen in your technology toolkit - many things can be solved better with a graph The best way to discover emerging technologies is to try them out
  • 30. Thanks for Listening - Q & A Special thanks to Max De Marzi for his neography gem (https://github. com/maxdemarzi/neography) and ongoing advice, suggestions, troubleshooting