Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Why would you really apply NLP to a search engine though? Generally speaking a weighted keyword search is good enough 95% of the time and requires significantly less resources to perform.


I work specifically in this field with clients, and deliver training on applying NLP to search.

You’d be surprised how effective NLP is for use when identifying query intent, and pulling out modifiers that should apply as metadata filters.

Weighted keyword search works a lot, but it fails hard for many long tail queries (especially in e-commerce and other attribute heavy domains).

IMO there really isn’t a good excuse for these firms to fail at queries like this. The query itself isn’t particularly difficult when using a decent NLP stack and following well known practices.


If it's technically possible then presumably it's a deliberate product choice to not have better search results for "shirt without stripes". And that seems entirely plausible.

Google is already by far the most widely used search engine, so they don't really need to innovate or improve the search product very much in order to attract and retain users. Presumably capturing more advertising spending from the companies paying for ads is a bigger priority.

Microsoft under Satya Nadella has been all about enterprise and cloud, and I doubt Bing is a strategic priority any more, so it's not surprising that they wouldn't put a lot of resources into making it better.

Amazon is a little surprising. You'd think they'd have a lot to gain from making it easier for people to find what they're looking for. But maybe less than perfect search results are deliberate? Maybe it's like how supermarkets put basic items in the back of the store and high-margin impulse buys in the front - so you have to walk past chocolates and chips if you want to buy a carton of milk.

If Amazon is deliberately nerfing search results then maybe Google would stand to benefit from having better shopping-related results - people would get frustrated trying to find a shirt without stripes on Amazon and just use Google instead, letting Google profit from advertising in the process. But maybe people selling shirts aren't willing to pay much for ads, so there isn't much money for Google to make by getting better at finding specific types of shirts.

I dunno if any of these conjectures are anywhere near accurate, but it's interesting to think about.


I feel like that's stretching the definition of NLP though. Technically you are processing natural language but it seems like you've found that doing essentially a keyword match but using certain keywords as more advanced filters rather than just search terms.


Because you want to sell shirts without stripes to customers who want them.


I expect most users genuinely looking for such a product would just search "plain shirt"


That is an inclusive search though. What if the user actually wanted to simply exclude stripes but wanted to see polka dots and paisley?


I think that is probably not a common enough use case to optimize for. Additionally it would be easy for a user in that position to just search "shirt" and ignore the occasional striped one, or to search "polka dot" and "paisley" seperately


That sounds like a lot of repetitive searching. I wonder if we could get a computer to do that for us.


I understand the point, but there are plenty of bigger fish that I would want Amazon and Google to fry before spending their engineers' time on a triviality like this. I just don't think that having to make three queries instead of one in this occasional situation is such a big deal.


You're arguing the search is "good enough". Because we can adapt to the machines. But the company who will not force us to do so will get our business. The company who creates the best digital butler will win. They know this. They try hard. And they still fail at simple stuff when judged by humans.


Another possibility is that maybe it really is "good enough", and they get a bigger advantage by competing with each other on more important aspects of usability than these kind of trivial issues


Assumptions like this is what makes search so terrible for many many companies.

You can't assume that customers would type one thing or another - you need to gather lots of query log data and see what you find. You'd be surprised how much variation there is, but once you do have this data you can then find patterns to cover lots of (but not all) cases.


Of course, they should look at the data before making such an assumption. I am not suggesting otherwise, I'm just making a guess as to why it's been done this way. I suspect they have looked at the data and identified that it is not a common use case.


"Shirts without stripes" was meant to illustrate the point. The general query issue it represents cannot be solved by adding "plain".


Apple probably expected most users genuinely wanting to make a phone call would hold their iphone 4s a certain way. Turns out expectations don't always match reality.


Like I said in another comment, this yields plenty of results that are not in fact plain shirts. Try for yourself on Amazon or Google.


I did try on Amazon before making the comment and it showed me only plain shirts (at least for the first page of results).


From a product perspective, I would say there is a reasonable expectation that a customer will provide that query and expect the results to come back with plain shirts. Anything different is a degraded customer experience. Sure, a technical user will understand which queries to provide better, but 90% of customers won't have that skillset. Its our job as engineers to serve those people, and the queries they provide.

So NLP is totally a thing you want to have in search. Arguably, its the whole point of search as it exists now.


Agreed. I love how I can go to Men's Wearhouse and tell the salesman:

"Shirts"

"Polka dot shirts"

"Floral shirts"

"Wikipedia list of clothing patterns"

"Houndstooth shirts"


Why would you really apply NLP to a search engine though?

If you go to Google's homepage and click the microphone at the end of the search input box you can search by speaking. All it does is convert to speech to text, but it implies you might be able to search in a more "natural language" way.


Depends on your audience, but I imagine many find the answer boxes on Google search pretty useful. Getting the population of a city without having to click any links is probably good for your perceived value. For this you need some NLP tech to extract intent from the query and match it to the right entity in their knowledge graph (in addition to something to help you build the graph in the first place).

Google have a blog post from October last year with some more complex examples of where more sophisticated NLP helps https://www.blog.google/products/search/search-language-unde...


Because there's something called conceptual search that people are dying for to find what they actually want.


I agree, I think it's a better idea to improve the knowledge management (in terms of a relational hypergraph) before trying to create the bridge between the natural/digital knowledge representations. I have a hunch a good knowledge management system would be more amenable to being queried using natural language since relations are probably constructed similarly to the patterns we see in natural language syntax.


Because not everyone thinks in search operator keywords.


Certain query styles which the NLP operators help clarify. Recent personal examples: "is butyl rubber an organic or inorganic compound?" and "which gloves are best for both acetone and nitric acid?"


Because that's how people use it and kind of marketed as such


Perhaps it's considered "good enough" because users balk at performing NLP-style queries when they find they almost never work properly.


5% revenue sales and revenue increase? Why indeed!


all three of these search engines offer "voice assistant" platforms that encourage you to speak to them in natural language, and send your query to the search engine verbatim under a broad set of circumstances.




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

Search: