This problem is known as "attribution" - you have a "no" or "without" in the sentence, but you don't know where it belongs. One could (and one does) argue that the problem cannot be solved with statistical methods (ML), especially not in any domain where accuracy is required, such as medical recored analysis: "no evidence of cancer" and "evidence of no cancer" are very different things.<p>Zooming out, the language field breaks into several subfields:<p>- A large group of Chomsky followers in academia are all about logical rules but very little in the way of algorithmic applicability, or even interest in such.<p>- A large and well-funded group of ML practitioners, with a lot of algorithmic applicability, but arguably very shallow model of the language fails in cases like attribution. Neural networks might yet show improvement, but apparently didn't in this case.<p>- A small and poorly funded group of "comp ling", attempting to create formalisms (e.g. HPSG) that are still machine-verifiable, and even generative. My girlfriends is doing PhD in this area, in particular dealing with modeling WH questions, so I get some glimpse into it; it's a pity the field is not seeing more interest (and funding).
The point that the author is making, in a very understated way, is that all three companies have PR websites that breathlessly describe their advanced AI capabilities, yet they cannot understand a very simple query that young children can.
I have noticed in the past few years google results have become noticeable worse for similar reasons. Google used to _surprise_ me with how good it was able to understand what I was really looking for even when I put in vague terms. I remember being shocked on several occasions when putting in half remembered sentences, lyrics, expressions from something I had heard years ago and it being the first! result. I almost never have this experience anymore. Instead it seems to almost always return the "dumb" result, i.e. the things I was not looking for, even trying to avoid using clever search terms. It's almost like it is only doing basic word matching or something now. Also, usually the first page is all blogspam SEO garbage now.
Searching "men without pants" versus "men with pants" gives much better results.<p>This is a case where, while it makes sense to say the sentence, it's not a common use of language, and at the end of the day, the search engine will find what's written down, it's not a natural language processor yet (despite any marketing).<p>Shirt stores don't advertise "Shirts without stripes - 20% off", they describe them as "Solid shirts" or "Plain shirts". Men's fashion blogs talk about picking "solid shirts" or "plain shirts" for a particular look. If I walked into a clothing store and asked for "shirts without stripes", the sales person would most likely laugh and say "er, you mean you want plain shirts?".<p>Plain shirts/solid shorts are the most common way to refer to these, and people seem to be searching this way:<p><a href="https://trends.google.com/trends/explore?date=all&q=solid%20shirts,plain%20shirts,shirts%20without%20stripes" rel="nofollow">https://trends.google.com/trends/explore?date=all&q=solid%20...</a><p>Regarding moving towards natural language processing - the "without" part is not as important as knowing the context.<p>My kids will ask me to get from the bakery things like "the round bread with a hole and seeds", which I know means "sesame bagel", or "the sticky bread", which means "cinnamon twists" - which I understand because I know the context. Sometimes they say "I want the red thingy", and I need to ask a bunch of questions to eventually get at what they want (sometimes it's a red sweater, sometimes it's cranberry juice).<p>Unless Google starts asking questions back, I don't think there is any way it can give you what you want right away.
Vaguely similar to a joke from Ninotchka that Zizek often uses about the difference between 'coffee without cream' and 'coffee without milk'. He usually uses it to reference the concept of negation in the Hegelian dialectic, but he's also mentioned the difficulty of computers understanding negation in the context of the coffee/cream example.<p>The joke from Zizek:
<a href="https://www.youtube.com/watch?v=wmJVsaxoQSw" rel="nofollow">https://www.youtube.com/watch?v=wmJVsaxoQSw</a>
Why should it not be possible to solve this with statistical methods? The model just needs to be able to understand the important meaning of "no" in here, in the context of the whole sentence. I would guess that most modern NNs from the NLP area (Transformer or LSTM) would be able to correctly differentiate the meaning. The problem is, I think there is no fancy NN (yet) behind Google search, and the other web searches.<p>To extend on that, you can think of the human brain as just another (powerful) statistical model.
My favorite was "What do vegetarians eat" which was broken for years: <a href="https://twitter.com/Caust1c/status/855193855422943234" rel="nofollow">https://twitter.com/Caust1c/status/855193855422943234</a>
Fun experiment on Google:<p>- Shirt Without Stripes: shirts where the description contains both "without" and "stripes". Example: a shirt without collar, with stripes.<p>- "Shirt Without Stripes": a mess, with and without stripes, suggesting an unusual search query. In fact, the linked article site is the first result in web search.<p>- Stripeless shirt: sexy women in <i>strap</i>less shirts<p>- "stripeless shirt": pictures of Invader Zim...<p>- "stripeless" shirt: mostly shirts without stripes, but there are some shirts with stripes that are described as stripeless...<p>The last one may give us a hint at the problem. If you have to mention a shirt is without stipes, you are probably comparing is to a shirt <i>with</i> stripes. For example imagine a forum, some guy is posting a picture of a shirt with stripes, I can expect some people to ask questions like "do they sell this shirt without stripes"? Or maybe the seller himself may have a something like "shirt without stripes available here (link)" in the description. So the search engines tie "shirt without stripes" to pictures of shirts with stripes.<p>I remember an incident where searching for "jew" on Google led to antisemitic websites. The reason was simply that that exact word was rarely used in other contexts. Mainstream and Jewish source tend to use the words "jews" and "jewish" but not "jew". And because Google doesn't look at the dictionary meanings of words but rather what people use them for, you get issues like that.
To me, the most interesting implication here is that this must not adversely affect Google's ad revenue. If it did, they would surely fix it. This, in turn, means that apparently we have been trained to interface with search engines such that this is not a problem.<p>Sometimes I wonder how much my brain has changed to use search engines / how much of it is dedicated to effective googling. Makes me feel like a cyborg.
My Operating Systems professor (Tomasz Jordan Kruk, PhD) in college had an appropriate anecdote for this:<p>"Humans usually don't intuitively understand the word 'no'. Please imagine a non-pink elephant."
This is something that has annoyed me since the Altavista times. I want to search for "madonna but not the singer", and find pictures of the holy icon. I can do "madonna -singer", but that fails if the page mentions the word "singer" a single time. Even if it is "This is a page about madonna statues, but not about the famous singer."<p>It would be great if I could add negative keywords to a website, or mark text as "don't index" or "index with a negative weight". But probably, people would game this in ways I can't imagine.<p>There is probably a clever ML solution for this, like having meaning-vectors for distinct ideas, and pushing pages that are close to one meaning away from the other meaning. Classification is easy if you have a keywords like "painting" and "catholic", but if it is "virgin" or "prayer" then it could be either meaning, so there is never a bullet-proof solution.
A few years back (in around 2012) I attended an NLP talk.<p>The theme of this talk was how they did a study that showed prepositions and articles <i>do</i> have meaning. A big deal was made out of the results.<p>I think things like this happens when people consider engineering approximations such as bag of words to be the truth over time.
If you select "I don't like this recommendation" for a video on youtube, you will get to provide feedback on why you did so: either "I don't like this video" or "I've already watched this video." I've pressed the latter on literally thousands of videos at this point, and after well over a year of this, YouTube still hasn't figured out that I don't want to be recommended videos that I've already watched.<p>Likewise, Google says I should log into their website for personalized search results, but after years of always clicking on Python 3 results over Python 2.7 results, it never learned to show me the correct result.<p>Eventually I realized that personalized recommendations are more or less just a thin cover for collecting vast amounts of data with no benefit to the consumer. I believe we have the technology to do better, but we don't use it. In fact, we seem to be using it less and less.
I love this. It is such an easy to grasp example of what is "wrong" with search. Historically, searching was keyword based so documents with "shirt" and "stripes" would rank highly, even though none of those pages had the keyword "without".<p>As humans we know immediately that the search is for documents about shirts where stripes are <i>not</i> present. But the term 'without' doesn't make it through to the term compositor step which is feeding terms in a binary relationship. We might make such a relationship as<p>Q = "shirt" AND NOT "stripes"<p>You could onebox it (the Google term for a search short circuit path that recognizes the query pattern and some some specific action, for example calculations are a onebox) and then you get a box of shirts with no stripes and an bunch of query results with.<p>You can n-gram it, by ranking the without-stripes n-gram higher than the individual terms, but that doesn't help all that much because the English language documents don't call them "shirts without stripes", generally they are referred to as "plain shirts" or "solid shirts" (plain-shirt(s) and solid-shirt(s) respectively). But you might do okay punning without-stripes => plain or to solid.<p>From a query perspective you get better accuracy with the query "shirts -stripes". This algorithmic query uses unary minus to indicate a term that should not be on the document but it isn't very friendly to non-engineer searchers.<p>Finally you can build a punning database, which is often done with misspellings like "britney spears" (ok so I'm dating my tenure with that :-)) which takes construction terms like "without", "with", "except", "exactly" and creates an algorithmic query that is most like the original by simple substitution. This would map "<term> without <term>" => "<term> -<term>". The risk there is that "doctors without borders" might not return the organization on the first page (compare results from "doctors without borders" and "doctors -borders", ouch!)<p>When people get sucked into search it is this kind of problem that they spend a lot of time and debate on :-)
Perhaps, but would you really say "Hi, I'm wearing a shirt without stripes"?<p>It's a completely artificial construct. Simply the fact that this hacker-news entry is the #1 search result shows that <i>real human people</i> do not perform this search in significant quantity. But we can quantify that with data to backup the assumption [1][2]. When people want to buy a shirt without stripes, they do not describe the shirt by what it <i>doesn't</i> have.<p>In fact, it's trivial to cherry pick a random selection of words that on the face of it sounds like something a human might search for, but it turns out never occurs in practice. Add to that the fact that the term is being searched without quotes [3], which results in the negation not actually being attached to anything.<p>Do you go to a store to buy it along with your Pants Without Suspenders, Socks Without Animal Print, and other items defined purely by what they don't have?<p>[1] <a href="https://trends.google.com/trends/explore?geo=US&q=%22white%20tshirt%22,%22shirt%20without%20stripes%22" rel="nofollow">https://trends.google.com/trends/explore?geo=US&q=%22white%2...</a>
[2] <a href="https://trends.google.com/trends/explore?geo=US&q=%22plain%20shirt%22,shirt%20without%20stripes" rel="nofollow">https://trends.google.com/trends/explore?geo=US&q=%22plain%2...</a>
[3] <a href="https://trends.google.com/trends/explore?geo=US&q=plain%20shirt,shirt%20without%20stripes" rel="nofollow">https://trends.google.com/trends/explore?geo=US&q=plain%20sh...</a>
Is it just me or does it feel like in the last couple years all of these companies have had the quality of their search go down? I've noticed large portions of my search will go ignored and it will just grab the most popular terms in my search rather than searching all terms.
This is also confusing what you search for vs. what the vendor thinks you will buy. Product catalog searches often <i>intentionally</i> return items outside your search parameters.
I would never search for something this way. If I wanted to find a 4WD car, I wouldn't search for "cars without 2WD."<p>Likewise, here, I would search for solid-colored shirts.<p>And these services are limited to the content/terminology utilized by the cataloged sites/products.<p>If I am selling a "black shirt" or a "solid black shirt," it is not google's job to catalog it as a "shirt without stripes," unless I advertise it as a "black shirt without stripes."<p>I would use natural language to test a services' NLP ability.
We're a company coming out of the YC W20 batch working on the product attribution problem <a href="http://glisten.ai/" rel="nofollow">http://glisten.ai/</a>.<p>There's too many products nowadays to be manually attributed (e.g. pattern=stripes), making it hard return good results even with entity resolution for queries. We train classifiers to categorize products, including what something is <i>not</i>, using their images and descriptions.
Google Photo's search is a similar source of amusement for me. While it's quite good, it also fails fairly regularly and sometimes amusingly. For me "turtle" includes understandable mistakes like fish, a snail, and a rock that does look a bit like a turtle. However "turtle" also includes this, a picture of sequined slippers reflecting light?! <a href="https://i.imgur.com/4aSlA4B.jpg" rel="nofollow">https://i.imgur.com/4aSlA4B.jpg</a><p>I'm guessing one of those reflections looks like a turtle? Or maybe a pattern on the floor, wall, or rug?<p>Although there are examples where I'm unsure if the AI is dumber than my 4yo or smarter than me. This is a result for "truck": <a href="https://i.imgur.com/JcgXZAG.jpg" rel="nofollow">https://i.imgur.com/JcgXZAG.jpg</a><p>Even (especially?) my 4yo knows those are Brio trains, not trucks. However, trains have components called trucks! <a href="https://en.wikipedia.org/wiki/Steam_locomotive_components" rel="nofollow">https://en.wikipedia.org/wiki/Steam_locomotive_components</a> I'm unsure whether or not any of the wheel assemblies on these toy trains are considered trucks, so either the AI is extremely smart or slightly dumber than a 4yo.
Proof that SELECT with GROUP BY doesn't work if your tags aren't correct.<p>Joking aside, it doesn't surprise me that this isn't being picked up — aren't most of these AI teams more R&D than actual public-facing? Maybe I'm just cynical though.
This contrasts with my query of "guys in jean jumpers singing too ra loo ra loo" a few years back, which Google correctly identified as "Come on Eileen" by Dexys Midnight Runners. To this day my favourite search experience.
If it were butter, you'd want an unstriped shirt. If it were provolone, you'd want a non-striped shirt. But because it's neither of those, I think you just want a "shirt" or maybe, a "plain shirt". Indeed, I get much better results with either of the latter two search terms. There's no need to mention stripes at all, since no pattern is the default state, isn't it?
Weirdly, searching for<p>'shirt no stripes'<p>on Google returned <i>this</i> web page at top of the organic results.<p>So at some point, searching for a shirt online will involve this conversation. Even more confusing.<p>(Although I expect my filter bubble will play a part in that)
Only slightly related but a couple of years back I got an alexa as a gift. When you open the alexa app, they had the option to add list of todos as a reminder. The first thing I did is to say something like - Alexa, add a reminder to get milk and eggs and paper. The app literally added a single item like this - milkANDeggsANDpaper.<p>After that I facepalmed myself and turned it off.
Joe: "Hey is Lisa back from vacation?"<p>Larry: "I saw a red Lamborghini in the parking lot!"<p>Most people will assume Lisa is driving a red Lamborghini and back from Vacation, meanwhile, all the bots are searching for Lamborghini vacations and trying to figure out what's going on in the conversation.
"shirts without stripes" results: <a href="https://www.amazon.com/s?k=shirts+without+stripes&ref=nb_sb_noss" rel="nofollow">https://www.amazon.com/s?k=shirts+without+stripes&ref=nb_sb_...</a><p>"shirts -stripes" results: <a href="https://www.amazon.com/s?k=shirts+-stripes&ref=nb_sb_noss_2" rel="nofollow">https://www.amazon.com/s?k=shirts+-stripes&ref=nb_sb_noss_2</a><p>So basically the AI doesn't convert "without x" to "-x" even though the basic capability needed is there. This is why AI is a hard problem, especially when it meets the real world.<p>It's 2020 and we're still quibbling about the terminology used in SQL, what did we expect?
It's not enough to say "Oh, we should add a rule that 'without' means negate the next word" because that only applies to this one situation, in this one language. Let's generalize the problem: We aren't correctly translating from English (or other spoken languages) to Computer/Logic.<p>The state of the art in machine translation (from what I've read at least) is translating from language-A to a language-less "concept space" and then from there to language-B. Could that be done where the output language is something a search engine can use to find what you want correctly?<p>Given that pattern, I suspect we could see much better results in cases like this.
I think that this is actually really encouraging in showing that we still have a ways to go in improving search engines. A lot of people treat search engines as a solved problem, at least for non-question answering aspects.
Or you can do this: <a href="https://www.google.com/search?q=shirt+-stripes" rel="nofollow">https://www.google.com/search?q=shirt+-stripes</a>
Problem here is not about negation, but there is no product that's described as "shirt without stripes". Stripes and shirt will come together in a different sense, since Google cannot find whole phrase it has to find parts. For example check for "shirt without shoulders"
Interestingly, Google can handle these searches just fine...<p>"birds without flight"<p>"cars without wheels"<p>"cats without tails"<p>"dogs without hair"<p>"intersections without lights"<p>"poems without rhyme"<p>"shirts without collars" (also "sleeves", "shoulders", "buttons", "logos", "pockets", and more)
Humans can kind of make some assumptions based on context, but it's really just a poorly defined, vague query.<p>What if you walked into a store and asked an associate for a shirt without stripes? What would you get?<p>Probably some further questions for clarification. What about checked shirts? Floral prints? Plaid? Do you want no pattern at all? T-shirt? Polo shirt? Dress shirt?<p>Granted, the AI results are particularly bad because they give you the one thing that you specifically didn't ask for, but that's also the only information you provided. Defining a query in terms of what you don't instead of what you do isn't going to go well.<p>What if you went to google and said "Show me all the webpages that aren't about elephants"? Sure, you'd get something, but would it be anything useful?
This is a good example of the bar HNers must have these days when they bafflingly assert that Google is somehow getting worse from what they remember.<p>Google has gotten better, it's just HNer expectations that have changed as they expect more and more magic.<p>For example, the subtitle on the repo is "Stupid AI" when this query has <i>never</i> worked in these search engines, and it won't anytime soon.<p>You'd think the technical HN crowd would be more advanced than to make the same mistakes that (they complain that) stakeholders/users/gamers make when they mistakenly think everything is much easier than it actually is. Things aren't "stupid" just because they can't yet read your mind.
That darn conceptual search sure is hard :) The technical approach to achieving this involves a sentence embedding that then uses vector search to match documents based on a distance metric like cosine similarity. If you encode a description of a shirt in an embedding trained on all shopping item descriptions, it should match up with the search query. The trick is in getting a sentence embedding from a short query to match a longer description in a document description - long summaries of text in embeddings tends to average too much and cloud meaning. The other problem is including the vector search feature without screwing up other searches.
On a meta note, I am a bit tired of HN submissions being used more as "Writing Prompts" rather than as links to substantive material.<p>This thread is an excellent example. The author of the linked page didn't have the decency to actually make a substantive point, instead sharing three screenshots and posting the link here, chumming the HN waters with the kind of stuff that brings in the sharks from far and wide.<p>Bashing on big cos: Check<p>Vague pronouncements about AI: Check<p>Generic side-swipes about 'ad revenue': Check<p>This is why a coherent thesis is required to even initiate a proper discussion, because in the absence of that it invariably devolves to lowest-common-denominator shit-flinging.
Here's another fun fact about how commerce search engines work (I spent a couple of years on this):<p>Negations sidestep almost all of the algorithms that try to provide an improved result set, and fall through to pure text relevancy. So try searching on amazon for shirt, then search for: shirt -xkxkxkxk. Since xkxkxkxk doesn't match any documents, the negation should have no effect, but it does, the effect it has is to sidestep all the fancy relevancy work and hardcoded query rewrite rules, domcat rules, demand and sales/impression statistics etcetc, and give you basically awful search results. You don't even get shirts.
I'm actually not sure I expect this much from a search engine. Typically there is going to be a useful word to describe what you want without having to hope it can understand "no" or "without" (for example, without stripes -> "solid" or even "NOT striped" in many cases).<p>Anyone with a programming background knows there is an art to forming useful search queries--it is an acquired skill. I'd personally much rather the engine bring back predictable results given mundane rules and keywords than attempt to understand sentences using an opaque method of understanding.
Since there is no context is provided, I do not expect it to understand prepositions itself.<p>Given exact query to human, they create environment thus context themselves.<p>It may also depend on whom you are asking to. For example, myself, entering this site to find out news about software & tech.
Also since 'Stripe' is a company name, I assumed link will get the list of shirt shops who do not accept Stripe as a payment method/provider. (Thus some kind of protest related thing)<p>I literally thought about that yesterday and did not see the page thinking "That's too much for tonight".<p>Now seeing topic is somewhat very different.
Wikipedia gets it wrong too:
Try “men without hats”
<a href="https://en.wikipedia.org/wiki/Men_Without_Hats" rel="nofollow">https://en.wikipedia.org/wiki/Men_Without_Hats</a>
Try searching Google for 'white couples' and 'black couples'.<p>The former returns lots of mixed race couples, mostly not white couples. However the latter returns black couples.<p>What is going on here? Similar phenomenon perhaps?
To be fair, the only thing that Google needs to do <i>internally</i> is to match this query to “shirt -stripe” and then you’ll get the necessary answer. The bigger question is why they are not doing that.
"Plain shirt" works a charm though. What is a 'shirt without stripes' anyway? That could be a shirt with diamonds? Or a plain one? Or a Hawaiian shirt?<p>What is the expected result, can we agree?
A good demonstration of the linguistic fact that far from being meaningless, prepositions (adpositions, more generally) are actually highly consequential for meaning and are highly ambiguous between different meanings. Here's a paper that'll give you a good appreciation of this from an NLP perspective if you're curious: <a href="https://www.aclweb.org/anthology/W16-1712.pdf" rel="nofollow">https://www.aclweb.org/anthology/W16-1712.pdf</a>
I believe the future of AI, as showcased by this simple usecase, is not one central AI such as Google search engine recognizing the context, but rather each of us having a "smart assistant" with a personalized, trained understanding of the contexts that we mean.<p>And it's only that smart assistant that automates coping with the deficiencies of a one-size-fits-all central solution, finding me shirts with no stripes by using a rather dumb search engine. (Or "a pizza I would like", etc.)
I'm kinda late to this conversation but there are companies and Engineers trying to solve this problem basically adding more "semantics" to visual content. Good place to start is with this blog from Pinterest.<p><a href="https://medium.com/pinterest-engineering/pinsage-a-new-graph-convolutional-neural-network-for-web-scale-recommender-systems-88795a107f48" rel="nofollow">https://medium.com/pinterest-engineering/pinsage-a-new-graph...</a>
Reminds me of the the challenge:<p>"Don't think of a cow !"<p>What did you just think of ? A cow, of cowrse.<p>If you want a shirt w/o stripes, just google "plain shirt" or "dress shirt -stripes.
As others have pointed out, most search engines don't support natural language search in general, let alone natural language negation in particular.<p>There are several reasons for this, including the following:<p>1) Natural language understanding for search has gotten a lot better, but it is still not as robust as keyword matching. The upside of delighting some users with natural language understanding doesn't yet justify the downside of making the experience worse for everyone else.<p>2) Most users today don't use natural language search queries. That is surely a chicken-and-egg problem: perhaps users would love to use natural language search if it worked as well or better than keyword search. But that's where we are today. So, until there's a breakthrough, most search engine developers see more incremental gain from optimizing some form of keyword search than from trying to support natural language search.<p>3) Even if the search engine understands the search query perfectly, it still has to match that interpretation against the documentation representation. In general, it's a lot easier to understand a query like "shirt with stripes" than to reliably know which of the shirts in the catalog do or don't have stripes. No one has perfectly clean, complete, or consistent data. We need not just query understanding, but item understanding too.<p>4) Negation is especially hard. A search index tends to focus on including accurate content rather than exhaustive content. That makes it impossible to distinguish negation from not knowing. It's the classic problem of absence of evidence is not being evidence of absence. This is also a problem for keyword and boolean search -- negating a word generally won't negate synonyms or other variations of that word.<p>5) The people maintaining search indexes and searchers co-evolve to address -- or at least work around -- many of these issues. For example, most shoppers don't search for a "dress without sleeves"; they search for a "sleeveless dress". Everyone is motivated to drive towards a shared vocabulary, and that at least addresses the common cases.<p>None of this is to say that we shouldn't be striving to improve the way people and search engines communicate. But I'm not convinced that an example like this one sheds much light on the problem.<p>If you're curious to learn more about query understanding, I suggest you check out <a href="https://queryunderstanding.com/introduction-c98740502103" rel="nofollow">https://queryunderstanding.com/introduction-c98740502103</a>
I think, looking at shirt without stripes and shirt with out stripes in Google images, that without is decompounded, which then ends up giving you shirt with stripes, however the slight difference between the two searches "shirt without stripes" and "shirt with out stripes" is that the there are some exact hits mixed in also, so there are some results for "shirt without stripes" mixed in with the decompounded query.<p>Just my theory.
Google search doesn’t work that way, it’s still based on how we link to things.<p>Nobody would describe a plain shirt as a shirt without stripes unless it’s within that context.
Also, what really angers me is when websites don't support the minus operator for search queries. It's a simple feature introduced decades ago!
How does a search engine know whether you wanted shirts that didn't have stripes or results that contained the words shirts, without, and stripes?
Apparently, this kinda works in Thai language too(and I think other language also) The search keyword is "เสื้อไม่มีแถบ" which is literally translated as 'Shirt without stripes'. It's common words to speak, unlike 'without' in English.<p>The result, of course, show shirt with some kind of stripe, albeit not prominent like the English one.
The latest embeddings/networks like BERT can handle encoding this logic. They take the surrounding words in context when they're encoded.<p>Google can do this now, for example in a prototype. The tough thing is to get it to consumer-grade quality without messing up other searches. The QA process is utterly brutal because one weird search can be a scandal.
On a positive note Google used to have trouble with a query like "words with q without u", now the top 5 pages at least all show the correct results, eg:
<a href="https://word.tips/words-with/q/without/u/" rel="nofollow">https://word.tips/words-with/q/without/u/</a>
Since I was a teenager, if someone energetically asserts a statement is “true” or “false,” I drop the true or false and evaluate the statement. In essence, their only communication to me is, ‘I think this is important!’ Often, why they think it’s important is more pressing than whether the statement is true.
I wonder if this is a need for humans need to learn search queries. "-stripes" instead of "without stripes".<p>Or does input need to have basic filters applied before handing to ML? "without X" or "no X" = "-X"? Can be foiled with "shirt without having stripes".
I think that query analysis in terms of volume of actual people using this query will show that very little people if any actually type "shirt without stripes". Once enough people do it, feedback is accumulated that results are bad (by CTR analysis), and results will auto-correct.
Not sure if people actually search for "Shirt Without Stripes" or this was picked for academia over what is actually needed<p>But make a script that scrapes the top X results for these sites. Get your own AI / humans to rate it.<p>Make it competitive for these large sites <==> give them an incentive.
In search we know it’s easy to cherry pick queries and criticize any search engine. A search engine is optimizing for billions of queries. Most of which are on the long tail.<p>The real question is “shirts without stripes” really a query people enter? Or representative of a real pattern in the data?
Searching "plain shirts" does in fact yield results for shirts without patterns. And "paisley shirts" works too.<p>So it's not such a big deal that negation doesn't work.<p>Also, "shirts -stripes" does seem to work in both Amazon and Google. Or at least, I see no striped shirts.
Ya'll might be interested in this paper. <a href="https://arxiv.org/abs/1907.13528" rel="nofollow">https://arxiv.org/abs/1907.13528</a><p>> <i>in particular, it shows clear insensitivity to the contextual impacts of negation.</i>
While I'm sure this is A Hard Problem to solve by NLP I for whatever reason was under the impression that this is trivial to special-case.<p>As in, "X without Y" sounds like a common enough use case to have it's own little parser branch in places as big as Google or Amazon
Tried this on amazon.ca (instead of .com) and got quite a different, but also amazing, result...<p><a href="https://www.amazon.ca/s?k=shirt+without+stripes&ref=nb_sb_noss" rel="nofollow">https://www.amazon.ca/s?k=shirt+without+stripes&ref=nb_sb_no...</a>
<p><pre><code> shirt -stripes
</code></pre>
> "Am I going crazy or is it the world around me!?"<p>Fishbone - Drunk Skitzo <a href="https://youtu.be/SaPGH4Yd_zc?t=231" rel="nofollow">https://youtu.be/SaPGH4Yd_zc?t=231</a><p>(Apologies for the snarky low-content flip reply.)
I wonder why this problem hasn't been resolved yet, considering we had NLP systems capable of this for a decade now.
Maybe it's too hard to scale to production. Or Pagerank is still better most of the time. Or plain old monopoly and risk aversion.
So I’d have to ask, is the problem the AI doesn’t intuit “without stripes”, find shirts that satisfy that condition (what kind of shirts? Dress shirts? T shirts?) and then do an image search identifing shirts and their quality of stripeyness
It seems to me that the problem isn't so much that this search performs incorrectly. Rather it is that many search engines have removed the tools that allowed a user to specify exactly what they are looking for (e.g. shirt -stripes).
Yes, exclusive search is a huge problem.<p>You have to know to search for "solid colored shirt", but when you can't think of this variation of search, or maybe there isn't one, exclusion is your only option, and it's broken.
Poignant but accurate.<p>On Amazon's side of things I would also include the obnoxious "Hey you just bought a pair of sneakers so now I will change all your recommendations to sneakers".
I get the author's point, but if you think about it, a search engine is a database that serves you results you want to see. Why should a search engine be fine tuned towards things you don't want see?<p>If it's meaningful for some reason, then it works:<p><a href="https://www.google.com/search?q=woman+without+makeup&tbm=isch" rel="nofollow">https://www.google.com/search?q=woman+without+makeup&tbm=isc...</a><p>If it's an user error (like a dumb query) it fails and it shouldn't be a surprise:<p><a href="https://www.google.com/search?q=sea+without+ships&tbm=isch" rel="nofollow">https://www.google.com/search?q=sea+without+ships&tbm=isch</a>
"shirt -stripes" seems to work on google.com at least, even though they and others like DDG have been getting really bad at ignoring "-foo" terms recently.
Noticed something interesting, if you search for 'shirt without sleeves' in google images, you DO get sleeveless shirts. So why doesn't this work with stripes?
If you search for "plain shirt" its good
If you add "plain shirt no stripes" it adds stripes
Strangely "striped shirt" has some plain results.
For the google search, I get better results by typing "shirt -stripes". Still not perfect, but it's better than the seemingly redundant 'without'.
What about using the "-" sign to filter results instead of relying on complex language understanding?<p>=> "shirt -stripes" works pretty well on google at least
Good thing search engines generally support a more machine-centric process for communicating intent. Try searching for "shirt -stripes".<p>We are in a funny place with UIs.
On a related note, Google seems to favor forum replies which instruct users to perform a search in order to find the answer to the question that they had asked.
Here's a better example:<p>"shirt without sleeves"<p>That something that someone may actually search for. (At least the guys at my gym would!) And Amazon gets it mostly wrong.
This is expected, not wanted though, I would expect some semantic analysis translated into "shirt -stripes", but what you really mean is "solid color shirt". This is a tough one but surely something that can be tackled with research
Most important is what the advertisements at the top show. The organic results are so yesterday. The Google Ads AI should already be teaching you that All you base belong to us.
Tortoise: But we must be careful in combining sentences. For instance you’d grant that “Politicians lie” is true, wouldn’t you?<p>Achilles: Who could deny it?<p>Tortoise: Good. Likewise, “Cast-iron sinks” is a valid utterance, isn’t it?<p>Achilles: Indubitably.<p>Tortoise: Then, putting them together, we get “Politicians lie in cast iron sinks”. Now that’s not the case, is it?<p>---- Douglas Hofstadter, <i>Gödel, Escher, Bach: An Eternal Golden Braid.</i> Basic Books, 1979
The point of this isn't asking how to apply boolean search operators, it's showing that the largest AI-focused companies in the world absolutely suck at NLP.
In terms of AI, the following is literally the best I have ever seen and it's not even done by a professional (meaning you can make it too):<p><a href="https://aidungeon.io/" rel="nofollow">https://aidungeon.io/</a>
This comment would go from "unreadable" to "interesting" if you had phrased it as:<p>"Vaguely similar to a joke from _the movie_ Ninotchka that _the Slovenian philosopher_ Zizek often uses...."<p>Give people context. Don't assume people know what you know.
You got it backwards. This is the opposite of the problem I and many other people tend to have with search engines lately. I do not want the damn thing to combine words, exclude unpopular ones, and search for synonyms without me telling it to explicitly. As little as you can semantics please.<p>If Google wants to group words by semantics, they should have a semantical grouping operator. For example "shirts (without stripes)". What if I am looking for a song text with these exact words in random positions?<p>If what author wants was implemented, it would make my experience with Google even worse, unless it could think for me also. But then why would it need me in the first place?