WO2006057007A1 - Method of interpreting a request using a novel dictionary - Google Patents

Method of interpreting a request using a novel dictionary Download PDF

Info

Publication number
WO2006057007A1
WO2006057007A1 PCT/IN2004/000376 IN2004000376W WO2006057007A1 WO 2006057007 A1 WO2006057007 A1 WO 2006057007A1 IN 2004000376 W IN2004000376 W IN 2004000376W WO 2006057007 A1 WO2006057007 A1 WO 2006057007A1
Authority
WO
WIPO (PCT)
Prior art keywords
request
dictionary
word
option
finite range
Prior art date
Application number
PCT/IN2004/000376
Other languages
French (fr)
Inventor
Vinayak K. Rao
Original Assignee
Vaman Technologies (R & D) Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Vaman Technologies (R & D) Limited filed Critical Vaman Technologies (R & D) Limited
Priority to PCT/IN2004/000376 priority Critical patent/WO2006057007A1/en
Publication of WO2006057007A1 publication Critical patent/WO2006057007A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3338Query expansion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/226Validation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries

Abstract

The present invention relates to a method of interpreting a request using a novel dictionary. Furthermore, the invention relates to a method of creating a dictionary to interpret the request accurately, to deliver a specific and relevant result. The invention eliminate the need for a specific language of communication for processing requests, by making use of a principle to classify and interpret requests.

Description

METHOD OF INTERPRETING A REQUEST USING A NOVEL DICTIONARY
FIELD OF THE INVENTION: The present invention relates to a method of interpreting a request, using a novel dictionary. The invention further relates to a method of creating the dictionary.
BACKGROUND OF THE INVENTION: When a user enters any request, such as a database query, or a search request, it is very important that the request be interpreted in the right context and implemented accordingly. For example, when a user sends a search request, the search engine must interpret the request correctly to provide a desired result. Interpreting the request implies obtaining the context and purpose of the request sent by the user.
Most search engines are not equipped to interpret requests accurately. On the contrary, requests sent by users are not interpreted at all to understand the context and purpose of the request. A classic example of this is a search conducted on Google or any other web based engine. When a user enters a web search in Google, the search result includes multiple entries, all of which may not be relevant to the user. Often, the most relevant entry may be buried far away, and the user may not be able to access it easily. The search is based on occurrence and not on context of the request. Search engines currently allow a user to use Boolean and arithmetic operations to conduct the search. For example, if the request was "bill gates," all occurrences of the word "bill" and "gates", irrespective of the context of computers, will be part of the search result. For example, all invoices having the word 'bill' will probably be part of the search result. The only way of narrowing the context of the search result is to add words to the search request, such as "computers" or "Microsoft" in this case. The resulting data narrows down the search result, but is still limited by logical operations. These engines fail to capture the context of the search, irrespective of various mathematical operations. Context cannot be understood through arithmetical and logical operations.
Therefore, there is a need to interpret the request in a manner so as to provide specifically the desired result. Furthermore, to interpret the request correctly, it is important to have a dictionary that assists in interpreting the request accordingly.
BRIEF DESCRIPTION OF THE DIAGRAMS:
Figure 1 illustrates a matrix in the dictionary.
Figure 2 illustrates an embodiment in a matrix in the dictionary.
Figure 3 is a schematic process flow diagram of the invention.
DETAILED DESCRIPTION OF THE INVENTION:
The present invention may be embodied in several forms, structures and manners. Those of skill in the art will appreciate that the invention may be embodied in other forms, structures and manners not shown below. The invention shall have the full scope of the claims and is not to be limited by the embodiments shown below.
In the present disclosure, the words 'a' or 'an' are to be taken to include both the singular and plural. Conversely, a reference to plural items shall, where appropriate, include the singular.
When a user makes a request, such as a search request or a database query, the request is processed to give results, which may not be specific or accurate. In case of a search request, the results may not be specific to the requirements of the user, since the request has not been interpreted with respect to context and purpose of the request. In case of a database query, the result may be erroneous since the user is required to write the request in the right format, such as SQL to communicate with the database, and the user may not enter the query correctly. In this case, a system is needed, which allows the user to enter a request, without a specific format, and process this request after interpreting the context and purpose of the request, and specifically deliver the relevant result to the user. Such a system would require a new dictionary to support the process of interpretation. The present invention relates to a method of interpreting a request, using a novel dictionary. Furthermore, the invention also relates to a process of creating the dictionary.
A request comprises one or more sentences. In order to interpret the request, the request must be resolved or classified according to a certain principle, the OOOV principle'. The acronym 1OOOV' represents Operation, Object, Option and Value. In an embodiment, an object is any entity that has a purpose or utility. In the embodiment, an operation is an action, which an object can perform, or it is an action, which can be performed on an object. An option is a virtue or a feature of an object, which can be imparted or is inherent. A value is a virtue of an object, which is measurable. Virtues of objects, which are not measurable, are approximated using analogies and a gamut is specified, which is an approximated operational value. To give an example of this principle, an orange is an object, and eating is an operation done on the orange. Size, color, texture are some of the options related to the act of the eating the orange. Pale orange, orange, yellow and green are values for the option, color.
In another embodiment of the invention, the operation, object, option and value are analogous to a verb, object, noun and adjective, respectively. Adverbs in a sentence can be mapped as an option of the operation rather than option of an object. This allows mapping of interpretation from a natural language to a computer language like SQL without distorting interpretation irrespective of translations of the natural language.
Components of the system, such as a parser and a dictionary, are responsible for resolving the request into an operation, an object, an option and value. In a preferred embodiment, the dictionary comprises a plurality of matrices, as is illustrated in Figure 1. Each matrix comprises a plurality of structures. Each structure comprises a word, an attribute tag associated with the word, and a plurality of links. Every word in the dictionary has been classified according to the OOOV principle. Thus, the words are classified into objects, operations, options and values. Every object 115 is associated with one or more operations 120 and 125. An operation and an object together constitute some utilitarian need. For example, an orange is an object, and eating is an operation performed on the orange, in context to hunger. For each pair of an object and operation, there are a finite number of options, and further, a finite number of values for each option. A two dimensional sparse matrix 105 of options and corresponding range of values is associated for each pair of an object and operation. A sparse matrix is one where there may be no values for a certain number of positions in the matrix.
Every structure in the matrix comprises more than one link as is illustrated in Figure 2 by symbols and arrows. Links are used to point to other structures in the matrix based on the context of the word in the attribute tag. To illustrate this, we consider a classic example of the word 'orange'. An orange can be interpreted in various ways, such as a fruit, a color, and a cell phone service provider. The attribute tag of the word orange 205, a fruit or an object, contains a link pointing to the word 'orange' 210, a value for a cell phone service provider. Therefore, every attribute tag corresponding to a word is unique, with links to similar words, based on a different context, based on predecessors and successors of the word, and when the word has more than one option, value or operation. This forms an inter-linked mesh of 'n' braids of similar word- occurrences in the dictionary and can be pointing to any other member element of a matrix irrespective of dimension of occurrence.
Another embodiment of the invention comprises creating the novel dictionary. The method of creating the dictionary comprises adding a first word to the dictionary, wherein the first word can be classified as an object and has a first context or meaning. Therefore, in an embodiment of the invention, the dictionary is created based on words, which are objects. The next step is to add a plurality of words, wherein the plurality of words can be classified as operations, options and values pertaining to the first word. For example, if the first word is computer, then the plurality of words comprises typing, saving, running, processing, brand, speed, memory, IBM, Dell, Gateway, 10GB, 20 GB, etc. As each word is added to the dictionary, an attribute tag specific to that word is coupled to the word in the dictionary. The attribute tag determines whether the word is an object, an operation, an option, or a value. Thus, all the words in the dictionary are classified according to the OOOV principle. The steps of adding words are continued till the dictionary, is complete when a range or host of operations that are expected to be delivered from a range of objects are present and supported in the dictionary. Once the dictionary is complete in this respect, the next step is to classify each option related to an operation, such that each option can be represented by a data type. In an embodiment, a data type is a pattern of data, which has a defined behavior. For example, date, integer, string, float, long, short, etc. are data types. This is followed by, finding a data structure that completely represents each option. A data structure is a group of data types, which has an associated search behavior. Examples of data structures are linklist, trees, etc. The final step is to collate each option with relevant data structures to form a matrix.
Another embodiment of the invention comprises, adding a pointer to a position corresponding to a second context of the first word wherein the second context is not the same as the first context. For example, the word 'orange' has a first context fruit and a second context color, and color is not the same as fruit. Therefore, the two contexts have different meanings or references.
A parser checks for syntax and semantics and checks the query for format. As shown in Figure 3, once the parser receives the request 305, the parser in the system first breaks down the request into words with the help of delimiting words, 310. A delimiting character isolates two sets of characters. In one of the preferred embodiments, a delimiting character comprises a comma, a full stop, a colon, a space, and a semi colon. The parser then validates the words using a dictionary 315. Thus, the parser searches for the words in the request, in the dictionary. In one embodiment, if the word is found in the dictionary, the parser replaces the word in the request with a token number of the word in the dictionary. The words in the dictionary are assigned token numbers to utilize resources effectively. Once a word is validated, it is then classified according to the OOOV principle, with the help of the dictionary. Thus, the parser, with the help of the dictionary, determines the operation, object, option and value contained in the request 320, derives a context of the request 325, and fills the operation, object, option and value in an object interface according to the context 330.
The parser determines the four classes of words in many ways. In an embodiment of the invention, the parser determines one of an object or an operation in the request, using the token number of the word in the dictionary. In an embodiment of the invention, if the word is an object, the parser determines a finite range of operations based on an object attribute tag. In a preferred embodiment, if the word is an operation, the parser determines a finite range of objects based on an operation attribute tag. The operation attribute tag will have links that point only to positions corresponding to the finite range of objects. In other words, the finite range of objects contains only those objects, which can perform the specific operation, which is contained in the request. In another embodiment, if the object in the request does not lie within the finite range of objects determined or expected by the parser, an error message will be give to the user. If the object in the request is present in the finite range of objects, the parser validates the object.
The parser then determines a finite range of options, based on the operation attribute tag and the object attribute tag. If the option in the request is present in the finite range of options, the parser validates the option. In another embodiment of the invention, if the option in the request is not present in the finite range of options, an error message will be given to the user.
Next, the parser determines a finite range of values based on the option attribute tag. If the value in the request is present in the finite range of options, the parser validates the value. In another embodiment, if there is no value present in the request, the parser may use a default value.
Thus, the parser with the help of the dictionary is able to interpret and classify accurately any request received. Once the parser has identified the operation, object, option and value in the request, it derives the context or meaning of request it fills the operation, object, option and value of the request in an object interface according to the context determined. An object interface is an object-specific data structure, which encapsulates every option defined in a data type, wherein the option can contain any user-specified valid value. The object interface derived from this method of interpretation, using the novel dictionary, enables the user to have access to a well-classified single access point for the object in the user's request. For example, if the request was: "orange", the information resulting from the search would yield every property of the object, orange, every property of the option having value as orange, etc., in a context- specific manner. Once the object interface is available to the user, the user has the option to further narrow the scope of the result.

Claims

CLAIMSWhat is claimed is:
1. A method of interpreting a request, the method comprising steps of: receiving the request; a parser breaking down the request into words; the parser validating the words in the request using a dictionary; the parser determining an operation, an object, an option and a value contained in the request using the dictionary; the parser deriving a context of the request based on each of the attribute tags of the operation, the object, the option and the value; the parser filling the operation, the object, the option and the value in an object interface according to the context.
2. The method of claim 1 , wherein the breaking down step further comprises breaking down the search request using one or more delimiting characters, the delimiting character comprising one or more of a space, a comma, a semicolon, a colon, and a full stop.
3. The method of claim 1 , wherein the validating step further comprises: searching for the word in the dictionary; and, replacing the word with a token number corresponding to the word in the dictionary, if the word is found in the dictionary; repeating the searching and replacing steps until all words in the request have been validated.
4. The method of claim 1 , wherein the validating step further comprises: searching for the word in the dictionary; and, classifying the word as an identifier, if the word is not found in the dictionary.
5. The method of claim 4, further comprising: giving an error message to the user; prompting the user for entering the request again in a correct manner.
6. The method of claim 5, further comprising: prompting the user to correct the identifier.
7. The method of claim 5, further comprising: suggesting the user one or more possible correct requests.
8. The method of claim 1 , wherein the determining step further comprises: determining one of the operation or the object in the request using the token number of the word in the dictionary; determining a finite range of objects, using an operation attribute tag from the dictionary, if the operation has been determined; validating the object in the request, based on the finite range of objects; determining a finite range of options using the operation attribute tag and an object attribute tag; validating the option in the request, based on the finite range of options; determining a finite range of values, using an option attribute tag from the dictionary; validating the value in the request, based on the finite range of values.
9. The method of claim 8, further comprising giving an error message if the object in the request is not present in the finite range of objects in the dictionary, if the operation has been determined.
10. The method of claim 8, further comprising giving an error message if the option in the request is not present in the finite range of options from the dictionary.
11. The method of claim 8, further comprising using a default value, if the value in the request is absent.
12. The method of claim 1 , wherein the determining step further comprises: determining one of the operation or the object in the request, using the token number of the word in the dictionary; determining a finite range of operations, using an object attribute tag in the dictionary, if the object has been determined; validating the operation, based on the finite range of operations; determining a finite range of options using the operation attribute tag and an object attribute tag; validating the option in the request, based on the finite range of options; determining a finite range of values, using an option attribute tag; validating the value in the request, based on the finite range of values.
13. The method of claim 12, further comprising giving an error message if the operation in the request is not present in the finite range of operations from the dictionary.
14. The method of claim of 12, further comprising giving an error message if the option in the request is not present in the finite range of options from the dictionary.
15. The method of claim 12, further comprising using a default value, if the value in the request is absent.
16. A system for interpreting a request, the system comprising: a computing system including a memory and a processor, the memory in communication with the processor, the memory comprising a parser and a dictionary for interpreting the request, wherein the processor points to the parser in the memory when the system receives the request.
17. The system of claim 16, wherein the dictionary comprises a plurality of matrices, wherein each matrix comprises a plurality of structures, wherein each structure comprises a word, an attribute tag, and one or more links.
18. The system of claim 17, wherein the attribute tag is associated with the word in the structure.
19. The system of claim 17, wherein the link in the structure points to a different structure in the matrix, the different structure containing the word.
20. The system of claim 17, wherein the link in the structure points to a different structure, the different structure containing a different context of the word with respect to one of an operation, an option or a value.
21. The system of claim 17, wherein the link in the structure points to a different structure, the different structure containing a predecessor of the word.
22. The system of claim 17, wherein the link in the structure points to a different structure, the different structure containing a successor of the word.
23. A method of creating a dictionary, the method comprising steps of: adding a first word to the dictionary, wherein the first word can be classified as an object and has a first context; adding a plurality of words to the dictionary, wherein the plurality of words can be classified as operations, options and values pertaining to the first word; repeating the adding a first word step and the adding a plurality of words step until the dictionary is complete with reference to a range of operations expected to be delivered by a range of objects; classifying a first option in the dictionary related to a particular operation according to a data type; finding a data structure, wherein the data structure can represent the first option accurately; repeating the classifying and finding steps until the plurality of options in the dictionary have been classified and a plurality of data structures have been found, such that the plurality of data structures completely represent the plurality of options; collating each of the plurality of options with relevant data structures to form a matrix.
24. The method of claim 23 wherein the adding a first word step further comprises adding a first attribute tag coupled with the first word, to the dictionary.
25. The method of claim 23 wherein the adding a plurality of words step further comprises adding a plurality of attribute tags corresponding to the plurality of words.
26. The method of claim 23, further comprising updating one or more links, when a new word is added to the dictionary.
27. The method of claim 23, further comprising adding a link in a first structure to a position corresponding to a second context of the first word wherein the second context is not the same as the first context.
28. The method of claim 23, further comprising adding a link in a first structure to a position corresponding to a predecessor of the first word.
29. The method of claim 23, further comprising adding a link in a first structure to a position corresponding to a successor of the first word.
30. The method of claim 23, further comprising adding a link in a first structure to a position corresponding to each of an operation, an object and a value pertaining to the first word.
PCT/IN2004/000376 2004-11-29 2004-11-29 Method of interpreting a request using a novel dictionary WO2006057007A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/IN2004/000376 WO2006057007A1 (en) 2004-11-29 2004-11-29 Method of interpreting a request using a novel dictionary

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/IN2004/000376 WO2006057007A1 (en) 2004-11-29 2004-11-29 Method of interpreting a request using a novel dictionary

Publications (1)

Publication Number Publication Date
WO2006057007A1 true WO2006057007A1 (en) 2006-06-01

Family

ID=36497776

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IN2004/000376 WO2006057007A1 (en) 2004-11-29 2004-11-29 Method of interpreting a request using a novel dictionary

Country Status (1)

Country Link
WO (1) WO2006057007A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002269138A (en) * 2001-03-08 2002-09-20 Ricoh Co Ltd Method for generating retrieval condition
US6598039B1 (en) * 1999-06-08 2003-07-22 Albert-Inc. S.A. Natural language interface for searching database
US20030187839A1 (en) * 2002-03-28 2003-10-02 International Business Machines Corporation Method and structure for federated web service discovery search over multiple registries with result aggregation
US20030225725A1 (en) * 2001-05-31 2003-12-04 Miller Julia K. System and method for geocoding diverse address formats
US20040153312A1 (en) * 2003-01-29 2004-08-05 Canon Kabushiki Kaisha Speech recognition dictionary creation method and speech recognition dictionary creating device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6598039B1 (en) * 1999-06-08 2003-07-22 Albert-Inc. S.A. Natural language interface for searching database
JP2002269138A (en) * 2001-03-08 2002-09-20 Ricoh Co Ltd Method for generating retrieval condition
US20030225725A1 (en) * 2001-05-31 2003-12-04 Miller Julia K. System and method for geocoding diverse address formats
US20030187839A1 (en) * 2002-03-28 2003-10-02 International Business Machines Corporation Method and structure for federated web service discovery search over multiple registries with result aggregation
US20040153312A1 (en) * 2003-01-29 2004-08-05 Canon Kabushiki Kaisha Speech recognition dictionary creation method and speech recognition dictionary creating device

Similar Documents

Publication Publication Date Title
CN107430612B (en) Finding documents describing solutions to computational problems
Evert The CQP query language tutorial
US7398201B2 (en) Method and system for enhanced data searching
US6269189B1 (en) Finding selected character strings in text and providing information relating to the selected character strings
AU2019201531B2 (en) An in-app conversational question answering assistant for product help
US8239750B2 (en) Extracting semantics from data
EP3143517B1 (en) Identifying query intent
US10552467B2 (en) System and method for language sensitive contextual searching
US8849653B2 (en) Updating dictionary during application installation
US20020152202A1 (en) Method and system for retrieving information using natural language queries
US20060047691A1 (en) Creating a document index from a flex- and Yacc-generated named entity recognizer
US8713035B2 (en) Identifying conceptually related terms in search query results
US20120095984A1 (en) Universal Search Engine Interface and Application
US20180181646A1 (en) System and method for determining identity relationships among enterprise data entities
CN101131706A (en) Query amending method and system thereof
CN111459977B (en) Conversion of natural language queries
US20210200762A1 (en) Verifying text summaries of relational data sets
KR100691400B1 (en) Method for analyzing morpheme using additional information and morpheme analyzer for executing the method
CN108763202A (en) Method, apparatus, equipment and the readable storage medium storing program for executing of the sensitive text of identification
US11120064B2 (en) Transliteration of data records for improved data matching
CN102024026B (en) Method and system for processing query terms
Higuchi KH Coder 2. x reference manual
Aksyonoff Introduction to Search with Sphinx: From installation to relevance tuning
US20060020916A1 (en) Automatic Derivation of Morphological, Syntactic, and Semantic Meaning from a Natural Language System Using a Monte Carlo Markov Chain Process
WO2006057007A1 (en) Method of interpreting a request using a novel dictionary

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 04821399

Country of ref document: EP

Kind code of ref document: A1