How Facebook Built Natural Language Into Graph Search
Nerval's Lobster writes "Facebook's Graph Search is an ambitious project: give users the ability to search through the social network's vast webs of data via natural-language queries. But that's much easier said—so to speak—than done. Although human beings think nothing of speaking in 'natural' language, a machine must not only learn all the grammatical building-blocks we take for granted—it needs to compensate for the quirks and errors that inevitably pop up in the course of speech. The Facebook team tasked with building Graph Search also knew that the alternate option, keyword-based search, wasn't a viable one. 'Keywords, which usually consist of nouns or proper nouns, can be nebulous in their intent,' Facebook engineering manager Xiao Li wrote in an April 29 posting on Facebook's blog. 'For example, "friends Facebook" can mean "friends on Facebook," "friends who work at Facebook Inc," or "friends who like Facebook the page."' That left the team with building a natural-language interface. The posting digs deep into the elements of the backend, including everything from 'parse trees' to a lexical analysis system."
And all they're doing is coming up with new ways to get you to look at ads.
>> give users the ability to search...data via natural-language queries
Kind of like Google and any other search engine that's caught on since. Cool story, bro. Can anyone explain to me why Facebook thought that its search function v 2.0 deserved its own name - and not a very sexy one at that? ("Graph search?" OK...that's Facebook for math nerds, right?)
Google can already tell the difference. How is this ambitious?
They just compared Slashdot articles to what they were actually suppose to be. After feeding a few years of Slashdot into it they pretty much had every error possible indexed and understood.
Paying taxes to buy civilization is like paying a hooker to buy love.
A Panda walks into a bar ...
It must have been something you assimilated. . . .
They use predefined grammar and don't allow free form queries, that's very natural...
It's fine and dandy until you try to implement internationalization. You know, the majority in Facebook don't speak English..
It shows what they think of users right in the pseudocode:
"In loose terms, the grammar consists of a set of production rules that generate more specific expressions from abstract symbols:
start -> users $1
users => user $1
start => photos $1"
Stackoverflow responses fall into two categories:
1) why would you want to do that?!?
2) just use boost. it knows all, does all.
You can't even search your past posts or friends posts for keywords or by a date range... and those seem like "easy" data searches.
Facebook also introduced something called “parameterization” ? My hiny. Those tree diagrams come straight out of transformational linguistics.
-- Jimtown Kelly
Natural Language My Ass
Most rudimentary NL capabilities ever.
eom eom eom
Does anyone actually have access to it yet? I've been on the waiting list for ages.
If I can't actually use it, I'm kind of of the opinion that they can shut the hell up about it.
At this point, they could post an article, "How Facebook Managed to build Thought-control into Graph Search", like anyone could deny it.
Although human beings think nothing of speaking in 'natural' language, a machine must not only learn all the grammatical building-blocks we take for granted—it needs to compensate for the quirks and errors that inevitably pop up in the course of speech.
Excuse me? Humans spend years learning 'natural-language', and even then it is frequently misinterpreted or used incorrectly. Natural language is difficult to say the least.
Yet I still can't search for people who graduated from my high school the same year as me (without looking through EVERY person who went to the school in the past 50+ years, or searching by name). University is even worse. My small HS graduated 150-250 people per year, I went to a university that graduates one or two hundred times that per year.
They asked Jeeves?
Although human beings think nothing of speaking in 'natural' language, a machine must not only learn all the grammatical building-blocks we take for granted—it needs to compensate for the quirks and errors that inevitably pop up in the course of speech.
We, humans, had to "learn" to speak, and the process began at a very young age - at birth (or some say even before that). We only take it for granted because we managed to learn and excel at languages.
We also need to compensate for the quirks and errors that inevitably pop up. Hang around Slashdot, and you'll read story summaries that will test this ability to the limits.
The difference is that we do self-learn, and machines do not (at this point).