AI Zone Admin Forum Add your forum

NEWS: Chatbots.org survey on 3000 US and UK consumers shows it is time for chatbot integration in customer service!read more..

Natural language interface of Facebook’s Graph Search
 
 

Never thought I’d be recommending that anyone read something on Facebook, but this really is an interesting description of the way Facebook’s natural language interface to Graph Search works. Even better, it’s detailed enough to be useful to anyone else thinking of implementing this sort of capability in their software.

https://www.facebook.com/note.php?note_id=10151432733048920

The Graph Search engine is built upon highly structured datain the form of a graph, representing hundreds of types of nodes and thousands of types of edges. People, pages, places, photos and posts are all nodes in the graph, each with structured information of its own nature. For example, users have gender information, places have addresses, and photos have posting dates. Moreover, the nodes are connected to each other in various ways. Someone can like a page, study at a school, live in a city, be in a relationship with another user, check in at a place, and comment on a photo. A photo, in turn, can be tagged with a person and be taken at a place. It is the richness of the data that defines the nature of Graph Search; the system needs to be designed toward understanding the user intent precisely and serving structured objects.

 

 
  [ # 1 ]

Nice find! I’m surprised by the level of detail they provide—very nice. smile

It sounds like a lot of their focus is on mapping natural language queries onto the subset of natural language for which they have associated search functions. They say the parsing algorithm for mapping onto this “internal” language is context free, but I imagine fb would be the perfect platform on which to design a context-based parser, given the shear amount of personalized, structured info it can tap into to guide the parse.

 

 
  [ # 2 ]

Good article Andrew.

The challenge for the (Facebook) team was to make sure that any reasonable user input produces plausible suggestions using Graph Search. To achieve that goal, the team leveraged a number of linguistic resources for conducting lexical analysis on an input query before matching it against terminal rules in the grammar.

At the time we launched Graph Search, there was little real user data that could be used to optimize our system, and a good number of the components here were designed based on intuition and tuned based on a limited set of data samples.

These sound like problems most chatbot developers have.

 

 
  login or register to react