This site makes extensive use of JavaScript.
Please enable JavaScript in your browser.
Classic Theme
Thottbot Theme
Real-language search
Post Reply
Return to board index
Post by
465402
This post was from a user who has deleted their account.
Post by
Toldu
But there would still have to be keywords that the search function would be able to recognize and it wouldn't do very well with typos either. On the other hand, everyone could just use things already in place like
Google
or
filters
.
Post by
Malgayne
This is an interesting idea, but I wonder if the programming complication involved in writing a parser that could understand plain English (and then maintaining it through all the exceptions people came up with) would be worth the convenience of not having to use the filters?
Post by
465402
This post was from a user who has deleted their account.
Post by
Wanderingfox
Didn't ask jeeves do this... and then realize all they were doing was adding unnecessary gibberish into the search queries? XD
A simple search engine functioning on the search query "epic gem haste blue" would find the same results as the long bloated query that you would have to type in using the system you propose :P
Post by
465402
This post was from a user who has deleted their account.
Post by
Skosiris
I think that'd make an awesome feature.
Post by
Wanderingfox
I don't know anything about ask jeeves, sorry. But I do know that no, you do not need to type in any "long bloated query". I mean, look at the one example I've been using, "epic gems with haste for a blue slot," that's certainly not long and bloated. That's the way people talk, which means it's natural, you don't have to think about it. Sure, you could just type in the relevant keywords, and it'd still work; you'd be making it easier for the parser, in fact. But the point isn't to find the easiest way to make a search engine that requires people to think very carefully about what and how to make a search query to get exactly that. The point is to make something that's simple to use, that people can write out the way they naturally think of.
What I was getting at is that words like 'with' and 'for' are largely irrelevant to the meaning of the query. All a "natural language search engine" would do is strip everything that isn't a valid search term out of the query and then search on only the nouns.
Also, compared to "epic gem haste blue" is
significantly
shorter than "epic gems with haste for a blue slot" in terms of both typing and computation. Specifically, it's 15 characters shorter, which works out to 15 less bytes (30 if you assume unicode standard for multi-language support) that have to be processed in order to execute the query. From an algorithmic point of view, your idea would be slower to return results, prone to error (given the variation of the human language... see note 1), and take longer to enter on average than a standard search query. Your idea, if wowhead actually had a proper search (hint hint :P see note 2), would offer nothing new, and in fact, your example query would return the same results as my example query.
note 1:
How would you deal with the variations of spelling between different variations of English? What about other localizations? What about languages that do not follow the English sentence structure? How do you ensure that a phrase such as "I want to find an epic gem that fits into a blue socket that has haste on it" will return the same results as your example? Your idea is
no different
than a normal search engine beyond the extra words you'd have to type in order to execute the query.
note 2:
Wowhead's item search is not exactly perfect. It does not pattern mach outside of exact matches on name... For example a search for "warglaive" will find the warglaives of azzinoth, but a simple search for "glaive" will not. What you should be asking for is that wowhead search over more things, and that it do so in such a way that it picks up words inside of other words. If wowhead used a
real
search algorithm (ie. something beyond just looking up matches based on name) then your request would not be needed as wowhead would already do it. What I mean by this is that you can, for example, type a full question into google and get a result, but you can also just type the keywords into google and get the same result (since google just strips all the non-pertinent words anyway).
edit:
Just to clarify, I'm not trying to bash your idea into the ground. Your idea, at it's most basic point, is completely valid. Wowhead
DOES
need a new search engine, and it
DOES
need to be more versatile. What I was trying to show you is that under the hood, your idea is absolutely no different than any other search engine, outside of it having to parse away words that don't directly affect the search.
Post by
Skyfire
Wolfram|Alpha
does this, but then, they have hundreds of programmers on staff (and aren't about WoW, to boot). Wowhead doesn't. :3
Post by
Wanderingfox
and again, something like "what is the population of france" and "population france" both return the same results. All the search query did was remove the redundant (the word "what" as we can assume it's a question) and the useless (the words "is" "the" and "of" are all grammatically required, but not required to determine the meaning of the sentence) and search on the pertinent information.
Wowhead's search could 'emulate' (see note) this behavior by searching all terms against a broader range of data. For example, if you included item text, item type, and item quality in the search information then a query like "epic gem blue haste" would, in fact, return the
proper
results. Granted, this is already possible with filters (as I've shown by that link), but having the search algorithm pick up some of the basic results automatically would be nice.
Obviously, this is a lot more complex than it seems (speicifically, how do you index all the information in a searchable manner), but it's certainly not outside the realm of possibility as you've already got the filter system to work off of.
note:
By emulate I mean that it can simply search on all terms entered, ignoring common English grammar that appears in almost every item description (is, the, a, an, are, etc.), and you would receive 'similar' results. You wouldn't get the logical operations possible that you can get with Wolfram of course, but it would likely be more than enough to suit the needs of Wowhead's search.
edit:
Completely unrelated, but where the hell was wolfram when I was taking physics in highschool? >_<
Post by
Skyfire
Completely unrelated, but where the hell was wolfram when I was taking physics in highschool? >_<
Came out in May-ish of last year.
And it's useful for more than high school physics (can you say, Introduction to Thermodynamics?). =D
Post by
Wanderingfox
Ya, but back then was when I complained about math :P
Post by
alayton
As my personal opinion, this would only realistically be implemented as a way of typing filters, rather than using the dropdowns and such. In other words, typing something like "epic gem haste blue" progressively narrows the criteria - the more words, the more specific it becomes. Starts with epic items, gets narrowed to epic gems, then epic gems with haste, and finally epic gems with haste that are blue - zero results go!
I would see this as having specific keywords that would have to be used though. It doesn't really make sense to try to write something to parse natural language, particularly with multiple locales to support.
Post by
Wanderingfox
True enough Alayton, but you could probably do something like generating a 'search' field for each item/quest/achievement that had all of the information in it, and then search over that.
For example:
http://www.wowhead.com/?item=40179
Would have a search field of "Energized Eye of Zul Epic Gem +10 Haste Rating and +5 Mana every 5 seconds Item Level 80 "Matches a Yellow or Blue Socket.""
That way when you searched "epic gem haste blue" you'd get hits on epic from the quality line, gem from the item type, haste from it's mention in the stats of the gem, and blue from 'matches a yellow or blue socket'
Of course, the overhead required to actually store those search strings would be rather large given the sheer amount of items in the database :P
Post by
465402
This post was from a user who has deleted their account.
Post by
Malgayne
Your question is really asking if the inconvenience of programming this is worth it to improve the experience of the user. I would put forth the idea that programming this shouldn't be looked at as an inconvenience, but rather as just another part of someone's job. Wowhead didn't magically appear on the Internet one day with all the features and tools that is has right now. In the beginning, it was a lot more basic, and all that we have here now were things that someone had to design, plan, and program, because that was their job. This is no different.
Just to be clear—what I mean here is only a consideration of whether or not the developer time would be better spent working on something else, which would have a higher ratio of "benefit for the user" to "time spent". Not an issue at all of "we don't want to bother"—just an issue of how we should prioritize our tasks so that you guys get the best possible experience out of our limited resources.
Post by
Wanderingfox
Vryz, first of all there are four epic gems that match a blue socket that have haste on them. (see:
http://www.wowhead.com/?items=3&filter=qu=4;cr=103:104;crs=1:0;crv=0:blue
). Secondly, I was confused by your terminology then because a "real-language search" is something that understands human speech and then searches off of the meaning. What you've described in your last post is not a real-language search, it's just a regular search algorithm (ie. it's keyword based). Thirdly, whether gibberish is used or not in the search query is irrelevent because it will choke in both your case and my case. There is absolutely no way around this without checking the words against a dictionary (as well as a custom dictionary containing all of the words in the game that are not proper English).
In short, what you're talking about and what you described were two different things, which is what got me confused XD
Post by
465402
This post was from a user who has deleted their account.
Post Reply
You are not logged in. Please
log in
to post a reply or
register
if you don't already have an account.