2. Outline
Introduction to Graph Search
Traditional Search Engine
Graph Search Concept
Natural Language Search
Architecture of Natural Language Interface
Ranking Search Results
3. What is Graph Search ?
• Graph Search is a semantic search engine introduced by
Facebook in March 2013.
• It is designed to give answers to user natural language queries
rather than a list of links.
• Can be used for,
– Find more of the people, places and things you’re looking for.
– Discover new connections based on what others have shared with you
on Facebook.
4. • The Graph Search engine is built upon highly structured data
in the form of a graph, representing hundreds of types of
nodes and thousands of types of edges.
• Facebook's technology for finding people and things that are
socially connected.
What is Graph Search ?
5. Traditional Search Engine [PPS]
• Search using Keywords.
• Adding Typeahead features.
• Nearby Tagging within Posts.
• Location Tagging of photos and Post
• But, keyword-based system has not been the best choice.
• For example, “friends Facebook” can mean “friends on
Facebook,” “friends who work at Facebook Inc.,” or “friends
who like Facebook the Page.”.
6. Graph Search Concept
• The Facebook graph is the collection of entities and their
relationships on Facebook.
• Entities are the nodes and the relationships are the edges.
• Every user, page, place, photo, post, etc. are nodes in the
graph.
• Edges between nodes represent friendships, check-ins, tags,
relationships, ownership, attributes, etc.
8. Designing a Graph Search System
PPS and Typeahead
• Search entities based on their metadata.
• Using entity name (title).
Graph Search
• Extended capabilities to search based on the
relationship between entities.
• Search over the edges between the corresponding
nodes, Using natural language as input for queries.
11. Ranking Search Results
• Graph Search uses a variation of the N-shortest path algorithm, an
extension of Dijkstra’s algorithm, to solve the problem of finding the top K
best parse trees.
• “EdgeRank” is the
name commonly
given to the
algorithm that
Facebook uses to
determine what
articles should be
displayed in a user's
News Feed.