Hacker News new | past | comments | ask | show | jobs | submit login

One thing that I hope people don't miss is that the problem "Google Alerts" solves is an information retrieval problem that is still unsolved (at least in the open literature ;-)

Conventional search ranking algorithms give you some score from 1 to 0 and the only meaning of the score is that a document with a higher number is more likely to be relevant than a lower number. The results usually are good at the top and they gradually get worse as you go down. You stop either when you're satisfied or when it feels like a waste of time.

Suppose, however, you wanted to search scientific papers or news articles about a topic and see the results ordered in time. All of a sudden the junky documents that were hidden are visible; the results are embarrassing even for world-class search engines.

You might say, "let's filter out documents that have a score less than, say, 0.8".

It doesn't work, at least not very well. You run into two problems. Search engines that crush TREC search evaluations have worse than 70% precision when the score approaches 1. Also, you'll see plenty of cases that are obviously a direct hit and the score is 0.5.

The difficulty of the problem is one thing, but the academic approaches people have taken in IR are another part of the problem. The methods used for most TREC evaluations are designed NOT to give search engines credit for "knowing what they know", because to score well on "knowing what you know" you need to do a super job on easy queries and recognizing they are easy queries, and if you don't do that, how well you do on hard queries won't shine through.

Another one is the whole idea that you need to normalize scores from 0 to 1. You don't. A while back I developed a topic similarity scoring system that just counted the number of common traits things have in common, rather than using a dot product or K-L divergence or anything like that. It turned out when the score was 40 you knew the results had to be good because 40 pieces of evidence is a lot of evidence. If you had 4 pieces of evidence, it was clear things that were iffy. I might have gotten "better" results in some sense with a more complex algorithm, but the scores from the simple count were meaningful -- from my point of view, the better algorithms are stupider because they are erasing their knowledge about their own confidence.

It's also a big problem in machine learning: often you use the SVM or Bayes or a neural network and you get some score and if you say the score is greater than some threshold and it is in the class otherwise it isn't. Because these algorithms almost always get the wrong idea about the prior distribution, you often make a "failing" machine learning algo very useful if you do logistic regression on the output and use that to convert the output into a probability score.

Anyhow, if you want to learn about this and stop making 'stupid' intelligent systems, stop what you're doing and read the issue of the IBM Systems journal about IBM Watson because that's what Watson is all about -- it converts all of the signals it gets into comparable probability estimates, and then uses decision theories to take actions that maximize it's utility function. (i.e. "business value")




Thanks for an interesting post.

The IBM journal publication - is it this one? http://ieeexplore.ieee.org/xpl/tocresult.jsp?isnumber=617771...


Although I'm not sure if that's the mentioned publication, you might want to take a look at https://uima.apache.org/.

More info on how Watson is using UIMA: https://blogs.apache.org/foundation/entry/apache_innovation_...


Yep, thanks for the link!


Isn't Google Alerts simply based on keyword/phrase matches? So if I want to get an alert for the keyword "recipe", it'll give me web pages that are about recipes, as well as articles that simply have the word 'recipe' (ie "Customer development is the recipe to startup success"). I don't think it ever marketed itself as a topic search alert system.


Yeah, but here's a Fermi problem the crowd.

How many web pages get created every day that contain the word "recipe"?

I'm certain you'd be buried in notifications if Google sent you an alert for every recipe, so it has to have some selection mechanism to send you particular recipes...


I thought Google Alerts were to tell you when specific phrases were encountered, like "MyMostlyUniqueFullName" or "MyCompanyName". "Recipe" doesn't seem that useful -- or at least doesn't match my M.O. for Google Alerts.


I'm guessing that most Google Alerts are "vanity alerts," as your examples suggest. The putative decline of the service could thus fit with the idea that such functions are meant to be subsumed by Google+.


I once tried to search for Avatar the movie, but SERP returns many Avatar the video game. I added -game, but realized that if a blog titles "Why I like Avatar (the movie, not the game)", it might be filtered out with the -game keyword.


But not the TV show? That's disappointing.


Well, if there's a ton of results, I'm sure they use some sort of way to filter out the unpopular ones, such as pagerank.


Nice points. This is pretty much why the old Google blog search failed, too.

The problem with your similarity scoring idea is that it fails badly in adversarial conditions (as I'm sure you are aware). It's easy to work around that failure, but then you end up using something like dot-product. I'm not at all convinced that normalizing the scoring is throwing anything away at all.

On another point:

Would you mind explaining this a bit more: Because these algorithms almost always get the wrong idea about the prior distribution, you often make a "failing" machine learning algo very useful if you do logistic regression on the output and use that to convert the output into a probability score.


In the case I'm talking about we were using RDF data that was curated, so we had no enemy.

Adversarial IR is a problem that came with Google and will go away with Google.

Bing has the problem because too they are trying to be Google.

If you accept Sturgeon's law,

http://en.wikipedia.org/wiki/Sturgeon%27s_Law

and realize that it's more like "99.9% of the web is crap", you can look at it as a whitelisting problem rather than a blacklisting problem. If you search for "WOW Gold" you're going to get some article from Wired about how people are working 18 hours playing video games under horrific conditions in a Satanic mill somewhere in Shenzhen. And that's it.

Google can't whitelist because of business and political reasons. Smaller companies, particularly vertical focused, can.

As for the prior, I was working w/ Thorsten Joachims and an undergrad years with classifying papers from the physics arXiv. If you want to separate out astrophysics (which was the biggest category) from anything else, the number of negatives in your training set will greatly outnumber the positives, and under this situation the SVM gets the idea that it's safer to bet against astrophysics than it really is. If on the other hand you have a balance number of pos and neg examples, it's also getting a wrong idea.

We tried using the SVM out of the box and had lousy examples and then Joachims told us to try

http://en.wikipedia.org/wiki/Receiver_operating_characterist...

and we found we could tune the cutoff to get performance that was much more satisfying.

Most machine learning books go on for hundreds of pages about Kernel theory and whatever and spend two or three pages on ROC analysis (and it's friends, like logistic regression -> probability score.)

A big problem with things like TREC and Kaggle is that need to pick one definition of "accuracy" so that a whole crowd of intelligent but unwise people can fight for the last 0.2% percent, but it doesn't lead to applications because in the real world the cost of some mistakes is worse than other mistakes, and you could use simple methods and ROC/logistic analysis to make something that maximizes business value with 1/10 the effort.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: