6 ms·
Seriously, does any programmer have the time to decipher byzantine shit like this before writing a new feature? "Custom local search", US 8255379 B2 > CLAIMS(
by kitsune_ 12y ago
Seriously, does any programmer have the time to decipher byzantine shit like this before writing a new feature? "Custom local search", US 8255379 B2
> CLAIMS(20) A method comprising:
receiving a query that is configured by an issuer of the query to perform a local search, wherein the local search is performed over a first dataset and a second data set, wherein the first dataset comprises a first entity and the second dataset comprises a second entity, and wherein the query comprises a first token and a second token;
parsing the query such that the first token of the query is mapped to the first entity in the first dataset and the second token of the query is mapped to the second entity in the second dataset; and
returning search results based at least in part upon the parsing of the query, wherein the method is executed by a processor of a computing device.
2. The method of claim 1, wherein the first dataset is a custom dataset, wherein the custom dataset comprises a plurality of entities generated by an end user, and wherein the plurality of entities comprise attributes that describe the plurality of entities and shapes pertaining to the plurality of entities.
3. The method of claim 2, wherein the second dataset comprises street-level vector data.
4. The method of claim 3, wherein parsing the query comprises determining an approximate geographic region pertaining to the query.
5. The method of claim 4, further comprising determining the approximate geographic region pertaining to the query based at least in part upon mapping the second token of the query to the second entity in the dataset.
6. The method of claim 1, wherein parsing the query comprises identifying which words and phrases in the query correspond to attributes in the first dataset and the second dataset.
7. The method of claim 1, wherein parsing the query comprises generating a plurality of different partial interpretations of the query.
8. The method of claim 7, wherein each partial interpretation in the plurality of partial interpretations comprises a set of mappings between tokens in the query to attributes in the first dataset and the second dataset and an approximate region of interest pertaining to the query.
9. The method of claim 8, further comprising refining at least one partial interpretation, wherein the at least one partial interpretation is refined by way of spatial processing.
10. The method of claim 9, wherein the at least one partial interpretation is refined by determining that an entity in the first dataset spatially corresponds with a region of interest pertaining to the query.
11. The method of claim 10, wherein the region of interest is altered based at least in part upon a geographic overlap of a previous region of interest and an entity.
12. The method of claim 1, wherein the query is received in a first language, and further comprising translating at least a portion of the query to a second language.
13. The method of claim 1, wherein the query is a free-form text query that comprises misspelled terms, erroneous terms, out of order terms, or valid but wrong terms.
14. A system that facilitates custom local search, the system comprising:
a processor; and
a memory that comprises a plurality of components that are executed by the processor, the plurality of components comprising:
a receiver component that receives a query from a user, wherein the query comprises a plurality of tokens, wherein the query is configured to retrieve custom content with respect to a particular geographic region, and wherein the query comprises a first token and a second token; and
an interpreter component that parses the query such that the first token is mapped to a first entity in a first dataset and the second token is mapped to a second entity in a second dataset, wherein the first dataset is a custom dataset that comprises custom data provided by an end user and the second dataset is a contextual dataset that comprises street-level geographic data.
15. The system of claim 14, wherein the first entity comprises a shape that describes a geographic region pertaining to the first entity, an attribute that describes the first entity, and a unique identifier that identifies the entity.
16. The system of claim 14, wherein the query comprises at least one token that is indicative of a custom dataset amongst a plurality of custom datasets to which the query pertains, free-form text, and at least one token that is indicative of geographic scope pertaining to the query.
17. The system of claim 14, wherein the interpreter component comprises a query interpreter component that outputs multiple partial interpretations of the query, wherein each partial interpretation comprises a list of mappings between subsequences of tokens of the query and sets of entities in the custom dataset and the contextual dataset and an approximate region of interest pertaining to the partial query interpretation.
18. The system of claim 17, wherein the interpreter component further comprises a refinement component that refines at least one of the partial interpretations, wherein the refinement component modifies the approximate region of interest pertaining to the partial query interpretation when refining the at least one of the partial interpretations.
19. The system of claim 18, wherein the interpreter component further comprises a ranker component that ranks refined partial interpretations.
20. A computer-readable data storage device comprising instructions that, when executed by a processor, cause the processor to perform acts comprising:
receiving a query, wherein the query comprises a plurality of tokens, wherein the query is configured to execute over one or more custom datasets and one or more contextual datasets;
generating a partial interpretation of the query, wherein generating the partial interpretation of the query comprises mapping a first subsequence of the tokens to a first attribute in the custom dataset and mapping a second subsequence of the tokens to a second attribute in the contextual dataset;
refining the partial interpretation of the query to generate a refined interpretation, wherein refining the partial interpretation comprises mapping a first entity in the custom dataset that has the first attribute to the first subsequence of the tokens and mapping a second entity in the contextual dataset that has the second attribute to the second subsequence of tokens; and
causing graphical items representative of the first entity and the second entity to be displayed on a display screen of a computing device.
There should be a non-profit organization that files arbitrary new patents preemptively on behalf of the public and then release them into the public domain.
- anon4 12y agoA system that takes a free-form text query for places and tries all possible interpretations to find a match based (somehow) on a history of places for that user (history in the general term, the way I read it, it can be places the user has been, places the user has searched, places whose shape look like the user's face, etc) and a global geospatial database. So, a fancy parser, a per-user list of places of potential interest and a Solr collection with geospatial data. P.S. the irony is that at no point in that overly verbose spec, is there anything that in any way tells you how to build that system. It's like patenting a device for enabling one to force a resistance against achieving minimum possible potential energy in a gravity field upon a mass of fluid, i.e. the concept of a bucket (or a glass, or the act of cupping your palms). And while that is surely only the preface of the patent, I seriously doubt the body is any more illuminating. Maybe while completely abolishing software patents remains impossible, we should try to enact reform that forces them to be specific enough that just by reading the patent one would be able to write a program that performs the actions described therein. Even if it's just "take a solr server, configure it like this, take this particular natural language parser, generate the possible forms of the query like so...". At least then they would be useful in a decade or so.
- euank 12y agoThis is one of the reasons software patents are dumb imo; they don't actually share sufficient details to implement the idea any more easily. In other fields, such as mechanical engineering, patents are required to describe an invention in enough detail that a person "skilled in the art" could reproduce it. In the field of software, the patent merely has to describe the invention (software) well enough that it can be identified, not written. To match other fields, where it's common to require essentially full bluprints, it would make sense to require working source code (if only a reference implementation) for any software patent. As is, the patenter "gifts" the public with the knowledge of an idea which is rarely in itself useful; the source code could at least be potentially useful.
- WildUtah 12y agoFrom Fonar v. GE, 1996: “As a general rule, where software constitutes part of a best mode of carrying out an invention, description of such a best mode is satisfied by a disclosure of the functions of the software. This is because, normally, writing code for such software is within the skill of the art, not requiring undue experimentation, once its functions have been disclosed. * * * Thus, flow charts or source code listings are not a requirement for adequately disclosing the functions of software.” [0] The patent lawyers have figured out that requiring that software patents make sense and reveal actual new engineering knowledge would make them useless for extracting cash for lawyers from actual working programmers. [0] http://caselaw.findlaw.com/us-federal-circuit/1229938.html http://caselaw.findlaw.com/us-federal-circuit/1229938.html