US20020059204A1 - Distributed search system and method - Google Patents

Distributed search system and method Download PDF

Info

Publication number
US20020059204A1
US20020059204A1 US09/902,343 US90234301A US2002059204A1 US 20020059204 A1 US20020059204 A1 US 20020059204A1 US 90234301 A US90234301 A US 90234301A US 2002059204 A1 US2002059204 A1 US 2002059204A1
Authority
US
United States
Prior art keywords
query
information
providing
customized
data source
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US09/902,343
Inventor
Larry Harris
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PROGRESS DEVELOPMENT Corp
Original Assignee
EasyAsk Inc
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 EasyAsk Inc filed Critical EasyAsk Inc
Priority to US09/902,343 priority Critical patent/US20020059204A1/en
Assigned to EASYASK, INC. reassignment EASYASK, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HARRIS, LARRY R.
Publication of US20020059204A1 publication Critical patent/US20020059204A1/en
Assigned to SILICON VALLEY BANK DBA SILICON VALLEY EAST reassignment SILICON VALLEY BANK DBA SILICON VALLEY EAST SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: EASYASK INC.
Assigned to EASYASK INC. reassignment EASYASK INC. RELEASE Assignors: SILICON VALLEY BANK
Assigned to PROGRESS DEVELOPMENT CORPORATION reassignment PROGRESS DEVELOPMENT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: EASYASK, INC.
Priority to US11/304,017 priority patent/US7606805B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2452Query translation
    • G06F16/24522Translation of natural language queries to structured queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/256Integrating or interfacing systems involving database management systems in federated or virtual databases
    • 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access

Definitions

  • the systems and methods relate generally to search systems and methods, and more particularly to efficiently locating and accessing information across a communications network such as the internet.
  • the internet provides a single conduit to reach a supplier of a product or information that can be located, in some cases, throughout the world.
  • One challenge for internet customers or consumers, and hence internet businesses, is knowing the suppliers to contact, and how to gain proper access to the suppliers.
  • the success of commerce on the internet therefore depends on customers'ability to locate products and/or information easily and quickly; however, industry statistics indicate that over seventy percent of potential customers to internet websites leave the websites without finding their desired product(s)/information. This result is not desirable for the website in generating profits directly through internet sales, or indirectly through advertising revenue.
  • First generation techniques for finding products and/or information on the internet were advertiser-based and listed websites, rather than individual products.
  • Second generation techniques involved aggregating product and other information from multiple supplier sites (product catalogs) at online shopping malls or business-to-business “vortals” to allow consumers to access consolidated listings across multiple suppliers. It is anticipated that the next generation supplier networks may dynamically access information from relevant suppliers in response to a buyer's requirements and present only the suppliers and products that precisely meet the consumers'needs.
  • the present disclosure provides a system and method for performing a search of data sources that can reside on a network such as the internet.
  • the search can be specific to the content and organization of the data sources.
  • the search can also be a distributed search to multiple data sources.
  • Data sources can include textual documents such as web pages that can include program instructions, and other types of text documents, text files, and databases, although other data sources can be included.
  • the data sources can reside on one or more servers or other devices on a network. Searches or queries can be initiated using natural language expressions, sentences, keywords, or combinations thereof, from which data source content-specific queries can be generated and executed.
  • a dynamically generated customized query can be formed and issued for each data source to be searched or queried.
  • the methods and systems can provide an application that can be installed on a subscriber's server to allow a website and/or other data sources accessible to the server, to be searched without requiring pre-integration, reformatting, etc. of the server or the data on the server.
  • the application can reside on another device or server that can be in communication with the subscriber's website server.
  • a “website” can be understood to include a document on a network such as the internet or an intranet, that can include a home page and other documents and files that can be accessed through the webpage either directly or indirectly, and the website can also include databases that can be accessed directly or indirectly.
  • the application can develop a customized query for the website and/or other data sources accessible to the server, using wired or wireless communications systems and protocols.
  • the installed application can access the database and build a customized dictionary that can convert a natural language or keyword search query to a precise SQL query for the subscriber's product catalog database. Additionally and optionally, if the target of the search is text, the installed application can build a custom dictionary can generate an advanced text search of the website using one or more standard text search engines that may be otherwise installed at or available to the website.
  • the methods and systems can allow an internet user or other internet accessible entity, including non-human entities, to initiate a search from, for example, a website.
  • a website can hereinafter be referred to as an initiating website, and can be the network location from which the search can be broadcast or distributed to subscriber websites and hence, customized dictionaries.
  • the customized dictionaries can receive a HTTP command and thereafter reach behind security measures such as firewalls to access otherwise protected or secure data.
  • the systems and methods can also allow subscribers to receive a search command or query information from the initiating website, utilize the subscriber's local customized dictionary to translate the search for the respective website, data source, etc., initiate a customized search of the subscriber's website, data source, etc., and extract the relevant information for submission as search results to the initiating website.
  • the search can be an SQL search or a text search.
  • the application at a particular subscriber's server can immediately determine from the received search command and the customized dictionary, that a search may not be necessary because the website and/or data source may not include relevant information, products, services, etc.
  • the search results from subscribers can be formatted in XML, and the initiating website can receive the multiple search results and integrate the XML results for presentation to a user at the initiating site.
  • the results can also be formatted for presentation by email, instant messaging, or for voice.
  • the query can be submitted by email, instant messaging, or voice.
  • the methods and systems can produce search results that can include a subscriber (supplier) name, a product name or identifier, a product price, a product description, a product image, etc.
  • the user's (or querying entity's) selection of a product can provide a transition to an order basket that can be at the initiating website, the subscriber's website, or an alternate website.
  • search results can be accompanied by a URL of the order processing system that can be used to order the product; and, when the user selects the item, the relevant product information can be submitted to the purchasing system to initiate the purchase process.
  • the methods and systems can allow a subscriber to access and search a cooperating subscriber's website and products in a peer-to-peer relationship.
  • the methods and systems can accommodate customized searches. Accordingly, a user can establish an account or profile that can be transmitted or otherwise associated with the search or query request from the initiating device or website. The user's profile can be incorporated into the customized searches at the subscriber websites. In one embodiment, the user can transmit the profile with the query information or search request, while in another embodiment, the user can be identified at the initiating device or website by an account number that can allow access to a locally or centrally stored profile for submission with the inquiry. In yet another embodiment, a user can submit or otherwise be associated with a profile such that subscribers can customize a search or query based on the user profile and/or identity.
  • the methods and systems can allow a user to customize the presentation of search results. For example, a user can select an option to view search results by price.
  • a subscriber can customize or otherwise control the search results. For example, a subscriber may not produce a search result for a particular product unless the inventory level for that product exceeds a particular value.
  • subscribers can update respective customized dictionaries to produce more accurate searches that can reflect changes in terminology, etc.
  • a dictionary can be updated locally or remotely via a wired or wireless network.
  • the methods and systems can allow hierarchical searching of multiple servers and/or data sources using a “broker” dictionary that can receive query information and/or a search request from the initiating website or device, and broadcast the request to several other customized dictionaries, known as broadcast dictionaries, that can be located, for example, on various subscribers'servers.
  • the broker dictionary can receive and compile search results from broadcast dictionaries, and transfer a single, composite search result to the initiating website.
  • the broker dictionary can be utilized as an intelligent filter to intelligently select only specific broadcast dictionaries that may be more likely to produce relevant search results.
  • the methods and systems can identify customized dictionaries using a URL that can allow a remote server to access the dictionary, create a local copy, modify the copy, and transmit the modified copy to the original location for re-writing, etc.
  • FIG. 1 displays an architectural block diagram of a system that practices the principles of the methods and systems described herein for a single data source;
  • FIG. 2 displays systems and methods according to FIG. 1 for an exemplary internet embodiment
  • FIG. 3 displays systems and methods according to FIG. 1 for an exemplary query translation architecture
  • FIG. 4 displays systems and methods according to FIG. 1 for an exemplary architecture providing query translation and retrieval
  • FIG. 5 displays systems and methods according to FIG. 1 for an exemplary query translation, retrieval, and presentation architecture
  • FIG. 6 is a diagram representing systems and methods in accordance with the principles of FIG. 1 that include a broker dictionary.
  • FIG. 1 there is a block diagram of a system 100 that implements the techniques described herein.
  • the techniques as described in relation to FIG. 1 have many applications and embodiments, some of which can be referenced herein with respect to other figures.
  • FIG. 1, and other Figures provided herein can therefore be understood to represent the techniques, and while pictorial objects can be represented in the Figures, those with ordinary skill in the art will understand that these pictorial objects can be provided for understanding only and are not intended to be a limitation on the methods and systems. Accordingly, pictorial objects and their associated concepts can be combined with other pictorial objects, or additionally and optionally, separated into further pictorial objects, while not departing from the methods and systems.
  • data sources can include one or more textual documents, databases, etc., where a textual document can be understood to include a text file, web page, etc., that can be formatted text such as HTML, XML, some other SGML format, or another text format.
  • a data source that is a database can use a format compatible with MySQL, SQL, Oracle, Informix, Sybase, the Freedom Engine, Access, ODBC, DB2, etc.
  • the data source(s) can be analyzed with regard to data format, data type, data organization (e.g., categorization, hierarchical structure), relevant terms and phrases, relationships between words, terms, and phrases, identification of abbreviations or word/phrase variations, codes related to data (purchase codes, product codes, price codes, or any other code that can relate to categorizing the product in terms of price, demographic appropriateness or characteristics, etc.) etc.
  • Other information related to the data source can be manually provided.
  • the survey can be automated, and additional information including the number of data sources, etc., can be determined.
  • a database data source 20 is illustrated, although such an example is provided for illustration and not limitation, and multiple and varied format data sources, including textual data sources, can be utilized for the methods and systems.
  • a dictionary 18 can be formulated 104 based on the survey results 102 .
  • the dictionary 18 can be understood to be, for example, a computer program that can be implemented in a higher level language such as C, C++, Java, etc., that can receive query information as input, and can provide as output, a query formatted and otherwise customized for the data source.
  • query information 106 can be received by the dictionary 18 .
  • FIG. 1 illustrates only one dictionary 18 , it can be understood that there can be multiple dictionaries, and in such embodiments, the query information 106 can be received by the multiple dictionaries.
  • the illustrated dictionary 18 can generate a customized query 110 based on the received query information 106 and the survey results.
  • the customized query 110 can be applied to the data source 20 from which the survey was conducted.
  • the customized query results 112 can, in some embodiments, be returned to the dictionary 18 .
  • the dictionary 18 can format, arrange, aggregate, etc., the customized query results 112 and transfer or forward the results.
  • the query results 108 can be transferred to the entity that requested that supplied the query information 106 , or another entity can be designated or otherwise specified to receive the query results 108 .
  • FIG. 1 illustrates the principles of the methods and systems which have wide applicability.
  • FIG. 2 there is an architectural block diagram 10 of an illustrative system that utilizes the methods and systems for an internet application.
  • the FIG. 1 system indicates an initiating device 12 that can include a digital computer system that can utilize a wired or wireless communications link to connect to a communication network such as the internet.
  • a user of the initiating device 12 can utilize different peripheral devices that can be integrated with or otherwise configured for compatible use with the initiating device 12 .
  • the initiating device 12 can include a keyboard, keypad, stylus, digital camera, microphone, etc., that can communicate data to the initiating device using wired or wireless communications systems and/or protocols, etc.
  • the initiating device 12 can be a microprocessor-based system including a computer workstation, such as a PC workstation or a SUN workstation, handheld, palmtop, laptop, personal digital assistant (PDA), cellular phone, etc., that includes a program for organizing and controlling the initiating device 12 to operate as described herein. Additionally and optionally, the initiating device 12 can be equipped with a sound and video card for processing multimedia data. The initiating device 12 can operate as a stand-alone system or as part of a networked computer system. Alternatively, the initiating device 12 can be dedicated devices, such as embedded systems, that can be incorporated into existing hardware devices, such as telephone systems, PBX systems, sound cards, etc. Accordingly, it will be understood by one of ordinary skill in the art that the initiating device 12 described herein has wide applicability and can be incorporated in many systems, and realized in many forms.
  • a computer workstation such as a PC workstation or a SUN workstation, handheld, palmtop, laptop, personal digital assistant (PDA),
  • the initiating device 12 can be connected to a network such as the internet and can be equipped with what is well-known as an internet “browser” such as the commercially available Netscape Navigator, Internet Explorer, etc., browsers, and those with ordinary skill in the art will recognize that, depending upon the initiating device 12 and its it configuration, the browser can differ, and hence references herein to a browser can include references to a user interface to the internet or other network, wherein the methods and systems herein are not limited to the browser or other network interface.
  • a network such as the internet and can be equipped with what is well-known as an internet “browser” such as the commercially available Netscape Navigator, Internet Explorer, etc., browsers, and those with ordinary skill in the art will recognize that, depending upon the initiating device 12 and its it configuration, the browser can differ, and hence references herein to a browser can include references to a user interface to the internet or other network, wherein the methods and systems herein are not limited to the browser or other network interface.
  • the initiating device 12 can access the internet using wired or wireless communications links and/or protocols.
  • the initiating device 12 can communicate with a server that can be represented in the FIG. 1 system as a System Server 14 .
  • the illustrated server 14 can be also be a microprocessor-based system including a computer workstation, such as a PC workstation or a SUN workstation, handheld, palmtop, laptop, personal digital assistant (PDA), cellular phone, etc., that includes a program for organizing and controlling the server 14 to operate as described herein. Additionally and optionally, the server 14 can be equipped with a sound and video card for processing multimedia data.
  • the server 14 can operate as a stand-alone system or as part of a networked computer system.
  • the server 14 can be dedicated devices, such as embedded systems, that can be incorporated into existing hardware devices, such as telephone systems, PBX systems, sound cards, etc.
  • servers can be clustered together to handle more traffic, and can include separate servers for different purposes such as a database server, an application server, and a Web presentation server.
  • the server 14 can also include one or more mass storage devices such as a disk farm or a redundant array of independent disk (“RAID”) system for additional storage and data integrity.
  • Read-only devices such as compact disk drives and digital versatile disk drives, can also be connected to the server 14 .
  • the term “server” is intended to refer to any of the above-described servers.
  • the initiating device 12 and the server 14 can be similar systems.
  • the initiating device 12 can access the server 14 via the internet, and the server 14 can provide a webpage or other interface to the initiating device 12 to allow a user of the initiating device 12 to input data indicative of a query for information.
  • this query information can be of varying formats, and can include one or more keywords and/or natural language terms or expressions that can optionally be linked using one or more logical operators, including boolean expressions or notations such as “and”, “or”, and “not”. In some embodiments, additionally and optionally, “+” and “ ⁇ ” can be used to indicate desired and undesired terms, respectively, for example.
  • boolean expressions or notations such as “and”, “or”, and “not”.
  • “+” and “ ⁇ ” can be used to indicate desired and undesired terms, respectively, for example.
  • natural language can be understood to be a word, phrase, grouping of words, etc., in a language written or spoken by humans.
  • the query information can include a full text statement or question or other natural language data.
  • the query information can be entered to the initiating device 12 and thereafter edited using one or more of multiple peripheral devices connected to the initiating device that can include a keyboard, keypad, stylus, mouse, microphone, etc., wherein those of ordinary skill in the art will recognize that the methods and systems herein are not limited to the mechanism of inputting query information to the initiating device 12 .
  • the methods and systems are not limited to the format of inputting the query information or a user interface that can be provided to facilitate such entry.
  • the query information can be input using one or a combination of text input boxes, text documents, menu selections, drop-down boxes, radio buttons, etc.
  • the illustrated initiating device 12 also can provide a user with the ability to initiate the search, and in one embodiment, search initiation can be understood as entering the query information.
  • the query information can be entered by a variety of formats, including human users that can utilize peripheral devices and/or integrated software to enter and/or retrieve data by, for example, a keyboard, stylus, voice commands, etc.
  • the query information can additionally and optionally be provided by automated and/or non-human sources using scripts or other programming techniques. Accordingly, references herein to a user of the initiating device 12 can be understood to include any entity, human or non-human, that can cause query information to be provided to the initiating device 12 .
  • the initiating device 12 can transfer the query information to the server 14 that can include a list of subscribers that can be included, in one embodiment, in a database 13 .
  • the subscriber database 13 can be accessed locally or through a network such as the internet using wired or wireless communications devices and protocols.
  • the subscriber database 13 can be understood to include a memory having one or more physical or logical partitions and/or segments, and can optionally and additionally utilize one or more of well-known database packages including MySQL, SQL, Oracle, Informix, Sybase, the Freedom Engine, Access, ODBC, DB2, etc., with such examples provided for illustration and not limitation.
  • the database 13 can reside in a memory of the server 14 .
  • the server 14 can access subscriber information from the database 13 to cause the query information to be distributed to one or more subscribers 16 a, 16 b, 16 c.
  • the database 13 can include URLs of subscriber servers 16 a, 16 b, 16 c (also referenced herein collectively or individually as 16 ).
  • the query information can be transferred, distributed, or otherwise communicated to the subscriber servers 16 simultaneously as in a broadcast, or using an ordered scheme that can include network or load balancing schemes.
  • the FIG. 1 system illustrates the communication of query information to three subscribers 16 a, 16 b, 16 c although the methods and systems can be applied to one or more subscribers and the number of subscribers is not a limitation.
  • the system server 14 communicates to the subscriber servers 16 via a network such as the internet, the transfer of the query information can be performed using HTTP or HTTPS, for example, although such an example is provided for illustration and not limitation.
  • the illustrated subscribers 16 a, 16 b, 16 c can be servers as described previously herein with respect to the System Server 14 .
  • the servers 16 can include one or more data sources 20 a, 20 b, 20 c, 20 d (also referenced herein collectively or individually as 20 ).
  • the subscribers 16 also include a dictionary 18 a, 18 b, 18 c, 18 d (also referenced herein collectively or individually as 18 ) that can be associated with and based on the data sources 20 a, 20 b, 20 c, 20 d.
  • a data source 20 can be associated with a dictionary 18 , although in some embodiments, one dictionary 18 can be associated with more than one data source 20 . Alternately, in an embodiment, one data source 20 could be associated with more than one dictionary 18 .
  • a dictionary 18 can be understood to be a translator between the received query information, received from the System Server 14 as described herein, and a data source 20 .
  • a dictionary 18 can be formed by installing a computer program on the subscriber server 16 .
  • the computer program can be run from a remote location via a network.
  • the survey computer program can be understood as a survey engine that examines the data sources 20 on the server 16 .
  • the dictionary 18 can incorporate the survey engine results to provide a customized interface between received query information, and the data source 20 .
  • the survey engine can identify labels of tables, rows, and columns, and abbreviations of labels, when necessary.
  • This survey information can be incorporated into a dictionary 18 to allow received query information to be properly translated for the database.
  • query information from a user of the initiating device 12 can be an input to a dictionary 18
  • the dictionary output can be a customized SQL query that uses terminology, abbreviations, etc., derived from the survey engine.
  • the dictionary output can be a customized HTTP search string that can utilize a general access method that can be created for the data source (e.g., the HTTP search string can be formatted based on drop-down menus/boxes, radio button selections, and/or other general access provisions).
  • a database can be configured with columns or rows that relate to colors that are abbreviated, such as “Rd” for Red, “Bl” for Blue, etc. If query information is submitted with the word “Blue”, the customized dictionary can cause a customized query to be formatted using “Bl” according to the survey information.
  • row information and column information can be understood herein to include a characterization of the database information that can include header information, element information, extraneous information that can otherwise provide insight to the database, etc.
  • the survey engine can scan the text, identify synonyms, abbreviations, etc., for incorporation into a dictionary 18 .
  • a dictionary for a text data source 20 can format received query information into an advanced text query that can utilize a standard text engine.
  • standard text engines can include AltaVista, Excite, Google, Infoseek, Inktomi, Microsoft Index Server, etc., although such examples are provided for illustration and not limitation.
  • the dictionary can convert the received query information into a HTTP query that can be formatted according to a web page on the server 16 , where the web page can include text input boxes, radio buttons, drop-down boxes, check-boxes, etc.
  • the illustrated dictionaries 18 can also include a natural language and linguistic processor that is well-known in the art for parsing received information, performing context analysis, generating synonyms, etc.
  • the dictionaries 18 also include a spell corrector that can verify word spellings and generate phonetic equivalents, although such features can reside independent of the spell corrector.
  • the dictionaries 18 can also perform word variations to better interpret and/or distinguish words, for example, between similar words such as “build”, “builder”, and “building.”
  • the dictionaries 18 can perform phrase identification that includes identifying word groups within context. For example, “wrinkle-free” can be interpreted with respect to clothes, or in another manner with respect to plastic surgery. Accordingly, it can be understood that the dictionaries 18 for the illustrated systems and methods can extend the received query information to include terminology that is compatible with, understood by, and/or interpreted by a data source 20 to which the dictionary 18 corresponds.
  • a dictionary 18 can be equipped with a foreign language translator to convert received query information from one language, to another language that is compatible with the data source 20 .
  • a dictionary 18 can be established for different languages, while in another embodiment, a single dictionary 18 can translate queries for multiple languages.
  • a dictionary 18 can determine that received query information from the initiating device 12 is not compatible with the data source 20 or otherwise cannot be interpreted.
  • the dictionary 18 can generate a list of possible interpretations for a user of the initiating device 12 to select. Additionally and optionally, the dictionary 18 can cause the initiating device 12 to provide a user with a request for additional, alternate, or restated query information.
  • a dictionary 18 can also identify a Frequently Asked Question (FAQ) and supply either a pre-defined answer to a user at the initiating device 12 , or redirect the user to, for example, a web page that includes an answer.
  • a dictionary 18 can also recognize and respond appropriately to query information that seeks a “yes” or “no” answer, time-based queries using date or time terminology including “now”, “last month”, “before”, “between”, etc., and arithmetic queries that can include mathematical concepts such as “lowest-priced”, “top 5”, “less than”, etc.
  • results of a customized data source search can be provided to a dictionary 18 , and the dictionary 18 can thereafter organize, format, etc., the search results for return to the initiating device 12 .
  • the information can be presented via the subscriber server 16 to the System Server 14 and hence to the initiating device 12 , or directly from the subscriber server 16 to the initiating device 12 .
  • the search results can be formatted in XML to allow the server 16 to format the results according to a web application that can be executing on the subscriber server 16 .
  • the XML output from the dictionary 18 can be used in Extensible Stylesheet Language (XSL) stylesheets or other web formatting options.
  • XSL Extensible Stylesheet Language
  • HTML templates can be utilized to present search results directly to an internet browser without requiring additional programming.
  • Other forms of SGML documents or other textual formats can be used without departing from the scope of the techniques provided herein.
  • search results can be presented graphically using bar charts, pie charts, histograms, Excel compatible spreadsheets, etc. Search results can also be saved as an Excel compatible file for later analysis.
  • APIs Application Programmer Interfaces
  • the requested query information can provide significant search results.
  • the methods and systems herein can provide the search results using a format that includes categories and sub-categories from which a user at the initiating device 12 , for example, can further select. Aggregate data can also be presented with hyperlinks to detailed information to allow users to retrieve further information without providing further details, follow-up questions, etc.
  • Those with ordinary skill in the art will thus recognize that although the methods and systems presented herein are provided with respect to an internet illustration that includes browsers, etc., other interfaces can be utilized to retrieve query information and present query results.
  • a user or system manager associated with a server 16 can provide or otherwise designate filtering schemes for providing search results.
  • a subscriber for example, can determine to exclude products from particular users based upon a received profile (i.e., age, etc.).
  • a received profile i.e., age, etc.
  • the methods and systems can operate with security measures that can be established by a system manager related to a server 16 .
  • query information can be received or otherwise associated with identity information.
  • a dictionary 18 can be configured to prevent the query information from being applied to a data source for which the user is not allowed to otherwise access.
  • the methods and systems herein can be incorporated behind a firewall.
  • a distributed or other search can be performed across a network such as the internet or an intranet, wherein accessibility to the data sources may not be protected by a firewall.
  • search results can be aggregated at the initiating device 12 or another remote device for presentation to a user.
  • a dictionary 18 can also generate an output log that can be understood to be a computer file that can be accessed by a system administrator or other authorized individual or entity according to the server 16 configuration or other authorization scheme.
  • the log file can be stored locally on the server 16 or another memory device connected to the server 16 through a wired or wireless network.
  • the log files can be configured to provide data pertaining to received query information, customized search queries, generated search results, query identity, data source identity, time of query, etc., with such examples provided only for illustration.
  • Filters can be applied to the log files to provide log results based on results generated, date, time of day, time period, etc.
  • a system administrator or other authorized user can edit a dictionary 18 to further customize the dictionary 18 .
  • Such edits can result from an analysis of the log file, for example.
  • Dictionary edits can also be performed to further enhance business objectives. For example, automated, scheduled searches can be performed to query databases for stock information, etc.
  • an email can be generated based on a search. For example, in an automated search established by an administrator to verify stock quantity, once a stock quantity reaches a predetermined value, an email can be sent to the administrator and/or another interested party.
  • a system manager or other authorized user can also customize a dictionary 18 and provide rules against which searches can be performed and search results can be presented.
  • a system manager can edit the dictionary to include a formula or rule for determining a profit margin, and have results presented in order of profit margin.
  • Other rules could present results by vendor, product availability, price, etc., with such examples provided for illustration and not limitation.
  • Such manual customization of a dictionary 18 can be performed and applied according to a particular user, or a group of users.
  • the dictionary editing can be performed locally or via a network.
  • system requirements can provide for certain query information to be if provided. If the query information is not provided by the user at the initiating device 12 , the user can be prompted to enter the remaining information.
  • a dictionary 18 can include one or more of relevant content and/or values from a data source 20 , a representation of schemas, relationships, and category hierarchies from the data source 20 , configuration settings according to users and/or groups of users, business rules, terminology definitions or specifications, synonyms, a language translator, a natural language processor, an output data formatter, and a log file generator.
  • the methods and systems herein can also allow for the aggregation of customized query results from multiple data sources and/or dictionaries.
  • query information submitted at an initiating device 12 can be broadcast to one or more dictionaries in broadcast or some other sequenced manner, wherein the search results can be filtered or otherwise aggregated at the System Server 14 .
  • the filtering or other presentation of information performed by the System Server 14 can be performed additionally and optionally to filtering and organization that can be performed at individual dictionaries 18 and or servers 20 .
  • FIG. 3 there is a diagram representing the methods and systems in an embodiment that can be known as a query translation embodiment 30 .
  • query information can be presented to the system 32 through an API 33 and to a query translator 34 .
  • the query translator 34 can translate the query information into a SQL statement, advanced text search expression, HTTP call, etc, by accessing a dictionary 18 that corresponds to a data source 20 to be searched.
  • a server 16 can provide the received query information to the system 32 to receive from the system 32 via the query translator 34 , a SQL statement, advanced text search expression, HTTP call, etc.
  • the server 16 can thereafter submit or apply the returned search to a relational database, text search engine, etc.
  • FIG. 4 there is a diagram of a configuration 40 for the methods and systems that can allow the return of a data set for formatting a search request, by an application that can reside on the server 16 or another device.
  • query information can be provided by the server 16 .
  • the query information can include or be accompanied by a dictionary selection, a user ID, business rules, etc., and a desired output format to the system 42 through its API 33 .
  • This interface can be implemented using HTTP, Component Object Module (COM), Java, Enterprise, Javabean, C, C++, Visual Basic, or another well-known it method.
  • COM Component Object Module
  • Java Java
  • Enterprise Javabean
  • C++ C++
  • Visual Basic Visual Basic
  • the natural language query, dictionary selection, and output format can be input to a query processor 44 that includes a data access module 46 that transfers the query information and dictionary selection to a query translator 34 .
  • the query translator 34 can utilize the specified dictionary 18 and query information to generate a customized query as provided herein.
  • FIG. 4 depicts a single dictionary 18 and query translator 34
  • the embodiment of FIG. 4 can include multiple dictionaries and/or query translators.
  • the customized query can be transferred to the data access module 46 that can issue the customized query to the data source 20 corresponding to the query.
  • FIG. 4 demonstrates two data sources 20 that include a relational database management system 20 a and a text search engine 20 b, although other data sources can be utilized and specified.
  • the customized query search results can be returned to the data access module 46 and thereafter transferred to the formatting module 48 with the specified output format.
  • the formatting module 48 can format the query results based on the specified format, and transfer the formatted output to the server 16 through the API 33 .
  • the formatted results can be transferred to the server 16 in XML format.
  • a web application on the server 16 or another location can transform the XML search results into a desired presentation style using, for example, the W 3 C standard extensible stylesheet language transformation (XSLT) and HTML.
  • FIG. 5 there is a diagram for an embodiment 50 where the search results can be presented to a server application in a ready-to-display format.
  • a server 16 can provide query information, dictionary selection, and output format to the data access module 46 of the query processor 44 .
  • the data access module 46 can provide the query information and dictionary selection to the query translator module 34 that utilizes the specified dictionary 18 to generate a customized search or query.
  • the customized search can be provided to the data access module 46 and executed against the appropriate data source 20 .
  • the results of the search can be returned to the formatting module 48 via the data access module 46 , with the specified output format.
  • the formatted search results can be provided to the server 16 for display.
  • FIG. 5 the illustrated system of FIG.
  • the formatted results can be fully customizable HTML templates for output to the internet, and can include colors, headers, footers, and other customizable characteristics to match the web site.
  • the HTML can additionally and optionally include graphs, pie charts, bar graphs, reports, and spreadsheets that can be displayed using, for example, ActiveX control or Java applet.
  • the system and methods according to FIG. 5 can be practiced with multiple query translators 34 and/or dictionaries 18 .
  • the data sources 20 a, 20 b can be multiple and can include other data sources than illustrated.
  • identification can be provided with a query request, some embodiments may not utilize query information.
  • FIG. 6 there is shown an embodiment 60 wherein a “broker dictionary” 18 e can be utilized to interface to other dictionaries and data sources.
  • a server 16 that is not illustrated, can be associated with the broker dictionary 18 e.
  • the illustrated broker dictionary 18 e can include, for example, URLs of other servers at different locations in a local or other network (e.g., internet, intranet, LAN, WAN, etc.) that have relevant data sources and/or dictionaries. Dictionaries to which the broker dictionary 18 e can communicate can be referred to herein as broadcast dictionaries.
  • the broker dictionary 18 e can provide an interface for a subscriber 16 with multiple servers.
  • the multiple servers can maintain different customized dictionaries, or can share the broker dictionary 18 e.
  • the broker dictionary 22 can interface to multiple subscribers 16 and/or data sources 20 .
  • the broker dictionary 18 e can receive query information from the initiating device 12 and the broker dictionary 18 e can filter the search request to eliminate broadcast dictionaries and/or data sources 20 that do not include data relevant to the query information.
  • the broker dictionary 18 e can therefore include sophisticated and intelligent filters to eliminate unneeded broadcast search requests.
  • the broker dictionary 18 e can include the attributes previously provided to dictionaries in general, including but not limited to language translation, synonym generation, natural language processing, business rules, etc.
  • the broker dictionary 18 e can relay or broadcast query it information, as processed by the broker dictionary 18 e, unprocessed, or a combination thereof, to the selected broadcast dictionaries 18 f, 18 g, 18 h and other data sources 20 e, 20 f, 20 g.
  • the broker dictionary 18 e can process the query information to provide a customized query that can be provided to the non-broadcast dictionary data sources 20 e, 20 f, 20 g.
  • the broadcast dictionaries 18 f, 18 g, 18 h can receive either the customized query information or the original query information from the initiating device 12 .
  • the broadcast dictionaries 18 f, 18 g, 18 h can process the received query information from the broker dictionary 18 e, and distribute a customized query to one or more data sources 20 h, 20 i, 20 j as provided previously herein.
  • the customized query results from the different data sources 20 e - 20 j can be transmitted or otherwise transferred to the broker dictionary 18 e.
  • the illustrated broker dictionary 18 e can receive customized query search results and format the results to present a single result package to the initiating device 12 or other server 16 or application as provided herein.
  • the broker dictionary 18 e can filter the search results before transferring or communicating the search results as provided herein.
  • a database can be utilized to maintain information based on user identity and privileges, broker dictionaries and associated broadcast dictionaries, rules for filtering query results, etc.
  • the methods and systems disclosed herein can be applied to a variety of queries.
  • the query information initially submitted can be a question, such as “How far is bank XXX from home?”, such that data pertinent to the user (e.g., “home”) and data related to a another sensor or entity (e.g., mapping program or distance calculator) can be integrated with the query information to provide an appropriate response.
  • Questions can be presented in succession, and results from one question can be a basis as input to the dictionary for subsequent questions.
  • the techniques described herein are not limited to a particular hardware or software configuration, and may find applicability in many computing or processing environments.
  • the techniques can be implemented in hardware or software, or a combination of hardware and software.
  • the techniques can be implemented in one or more computer programs executing on one or more programmable computers that include a processor, a storage medium readable by the processor (including volatile and nonvolatile memory and/or storage elements), one or more input devices, and one or more output devices.
  • the computer program(s) is preferably implemented in one or more high level procedural or object-oriented programming languages to communicate with a computer system; however, the program(s) can be implemented in assembly or machine language, if desired.
  • the language can be compiled or interpreted.
  • the computer program(s) can be preferably stored on a storage medium or device (e.g., CD-ROM, hard disk, or magnetic disk) readable by a general or special purpose programmable computer for configuring and operating the computer when the storage medium or device is read by the computer to perform the procedures described herein.
  • a storage medium or device e.g., CD-ROM, hard disk, or magnetic disk
  • the system can also be considered to be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner.
  • One potential advantage of the methods and systems is that an internet user may obtain reliable, accurate, and efficiently organized information in response to a search or query request.
  • What has thus been described is a method and system for providing efficient searching of devices on communications networks, such as servers on the internet, using an application that can survey a subscriber's server that can include a catalog and database, and use the formatting information and data from the survey to create a dictionary customized to the subscriber's data sources.
  • a user seeking information can initiate a search from an initiating device using keywords, natural language terms, connectors, expressions, etc., wherein such query information can be transmitted to various subscriber customized dictionaries.
  • the customized dictionaries can customize the query based on respective subscriber databases and text documents, text search engines, etc., to produce an accurate search result.
  • the search results can be filtered and integrated for presentation to the initiating device. Search results can be customized using user of preference or profile information.
  • an application residing on the initiating device can receive and aggregate the results for presentation on the device.
  • search results can be displayed according to a user identification and/or information stored in a central database or local memory that includes user-specific preferences.
  • the preferences can indicate suppliers, price, and other search-relevant criteria that can be submitted with the natural language search terms.
  • the respective subscriber dictionaries can integrate the user's preferences with the search terms to increase the probability of satisfying a search query for a user.
  • a user can be prompted for preference criteria, while in another embodiment, user identification data can be entered and submitted with the search criteria.
  • a dictionary can cause a pre-stored user profile to be extracted and incorporated into the search.
  • a user can be presented with search results and can select the desired results for purchase.
  • Search results can be accompanied by a URL of the order processing system that can be used to order the product; and, when the user selects the item, the relevant product information can be submitted to the purchasing system to initiate the purchase process.
  • the user's selection of a product can provide a transition to an order basket or other ordering scheme that can be provided by the initiating website, the subscriber's website, or an alternate website.
  • the ordering scheme can interface to a browser or other interface at the initiating device.

Abstract

A method and system for providing distributing a query to devices on a communications network, such as servers on the internet, using an application that can survey a subscriber's server that can include text documents and databases, and use the formatting information and data from the survey to create at least one dictionary customized to the subscriber's data sources. A user seeking information can initiate a search or query from an initiating device using keywords, natural language terms, connectors, expressions, etc., and the query can be transmitted to various subscriber customized dictionaries. The customized dictionaries can customize the query based on respective subscriber databases and text documents, text search engines, etc., to produce an customized query result. The query results can be filtered and integrated for presentation to the initiating device. Search results can be customized using user preference or profile information.

Description

    CLAIM OF PRIORITY
  • This application claims priority to U.S. Ser. No. 60/221,546 entitled “Distributed Natural Language Search Method”, naming Larry R. Harris as inventor, and filed on Jul. 28 2000, the contents of which are herein incorporated by reference in their entirety.[0001]
  • BACKGROUND
  • 1. Field [0002]
  • The systems and methods relate generally to search systems and methods, and more particularly to efficiently locating and accessing information across a communications network such as the internet. [0003]
  • 2 Description of Related Art [0004]
  • The internet provides a single conduit to reach a supplier of a product or information that can be located, in some cases, throughout the world. One challenge for internet customers or consumers, and hence internet businesses, is knowing the suppliers to contact, and how to gain proper access to the suppliers. The success of commerce on the internet therefore depends on customers'ability to locate products and/or information easily and quickly; however, industry statistics indicate that over seventy percent of potential customers to internet websites leave the websites without finding their desired product(s)/information. This result is not desirable for the website in generating profits directly through internet sales, or indirectly through advertising revenue. [0005]
  • First generation techniques for finding products and/or information on the internet were advertiser-based and listed websites, rather than individual products. Second generation techniques involved aggregating product and other information from multiple supplier sites (product catalogs) at online shopping malls or business-to-business “vortals” to allow consumers to access consolidated listings across multiple suppliers. It is anticipated that the next generation supplier networks may dynamically access information from relevant suppliers in response to a buyer's requirements and present only the suppliers and products that precisely meet the consumers'needs. [0006]
  • SUMMARY
  • The present disclosure provides a system and method for performing a search of data sources that can reside on a network such as the internet. The search can be specific to the content and organization of the data sources. The search can also be a distributed search to multiple data sources. Data sources can include textual documents such as web pages that can include program instructions, and other types of text documents, text files, and databases, although other data sources can be included. The data sources can reside on one or more servers or other devices on a network. Searches or queries can be initiated using natural language expressions, sentences, keywords, or combinations thereof, from which data source content-specific queries can be generated and executed. In some embodiments, a dynamically generated customized query can be formed and issued for each data source to be searched or queried. [0007]
  • In one embodiment, the methods and systems can provide an application that can be installed on a subscriber's server to allow a website and/or other data sources accessible to the server, to be searched without requiring pre-integration, reformatting, etc. of the server or the data on the server. In another embodiment, the application can reside on another device or server that can be in communication with the subscriber's website server. For the purposes of the methods and systems described herein, a “website” can be understood to include a document on a network such as the internet or an intranet, that can include a home page and other documents and files that can be accessed through the webpage either directly or indirectly, and the website can also include databases that can be accessed directly or indirectly. The application can develop a customized query for the website and/or other data sources accessible to the server, using wired or wireless communications systems and protocols. [0008]
  • When a subscriber maintains a product catalog database, for example, the installed application can access the database and build a customized dictionary that can convert a natural language or keyword search query to a precise SQL query for the subscriber's product catalog database. Additionally and optionally, if the target of the search is text, the installed application can build a custom dictionary can generate an advanced text search of the website using one or more standard text search engines that may be otherwise installed at or available to the website. [0009]
  • In some embodiments, the methods and systems can allow an internet user or other internet accessible entity, including non-human entities, to initiate a search from, for example, a website. Such a website can hereinafter be referred to as an initiating website, and can be the network location from which the search can be broadcast or distributed to subscriber websites and hence, customized dictionaries. In one embodiment, the customized dictionaries can receive a HTTP command and thereafter reach behind security measures such as firewalls to access otherwise protected or secure data. The systems and methods can also allow subscribers to receive a search command or query information from the initiating website, utilize the subscriber's local customized dictionary to translate the search for the respective website, data source, etc., initiate a customized search of the subscriber's website, data source, etc., and extract the relevant information for submission as search results to the initiating website. In one embodiment, the search can be an SQL search or a text search. [0010]
  • In one embodiment, the application at a particular subscriber's server can immediately determine from the received search command and the customized dictionary, that a search may not be necessary because the website and/or data source may not include relevant information, products, services, etc. [0011]
  • In an embodiment, the search results from subscribers can be formatted in XML, and the initiating website can receive the multiple search results and integrate the XML results for presentation to a user at the initiating site. The results can also be formatted for presentation by email, instant messaging, or for voice. In some embodiments, the query can be submitted by email, instant messaging, or voice. [0012]
  • The methods and systems can produce search results that can include a subscriber (supplier) name, a product name or identifier, a product price, a product description, a product image, etc. In one embodiment, the user's (or querying entity's) selection of a product can provide a transition to an order basket that can be at the initiating website, the subscriber's website, or an alternate website. In one embodiment, search results can be accompanied by a URL of the order processing system that can be used to order the product; and, when the user selects the item, the relevant product information can be submitted to the purchasing system to initiate the purchase process. [0013]
  • The methods and systems can allow a subscriber to access and search a cooperating subscriber's website and products in a peer-to-peer relationship. [0014]
  • The methods and systems can accommodate customized searches. Accordingly, a user can establish an account or profile that can be transmitted or otherwise associated with the search or query request from the initiating device or website. The user's profile can be incorporated into the customized searches at the subscriber websites. In one embodiment, the user can transmit the profile with the query information or search request, while in another embodiment, the user can be identified at the initiating device or website by an account number that can allow access to a locally or centrally stored profile for submission with the inquiry. In yet another embodiment, a user can submit or otherwise be associated with a profile such that subscribers can customize a search or query based on the user profile and/or identity. [0015]
  • The methods and systems can allow a user to customize the presentation of search results. For example, a user can select an option to view search results by price. In an embodiment, a subscriber can customize or otherwise control the search results. For example, a subscriber may not produce a search result for a particular product unless the inventory level for that product exceeds a particular value. [0016]
  • In one embodiment, subscribers can update respective customized dictionaries to produce more accurate searches that can reflect changes in terminology, etc. In an embodiment, a dictionary can be updated locally or remotely via a wired or wireless network. [0017]
  • The methods and systems can allow hierarchical searching of multiple servers and/or data sources using a “broker” dictionary that can receive query information and/or a search request from the initiating website or device, and broadcast the request to several other customized dictionaries, known as broadcast dictionaries, that can be located, for example, on various subscribers'servers. The broker dictionary can receive and compile search results from broadcast dictionaries, and transfer a single, composite search result to the initiating website. The broker dictionary can be utilized as an intelligent filter to intelligently select only specific broadcast dictionaries that may be more likely to produce relevant search results. [0018]
  • In an embodiment, the methods and systems can identify customized dictionaries using a URL that can allow a remote server to access the dictionary, create a local copy, modify the copy, and transmit the modified copy to the original location for re-writing, etc. [0019]
  • Other objects and advantages will become apparent hereinafter in the specification and drawings.[0020]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 displays an architectural block diagram of a system that practices the principles of the methods and systems described herein for a single data source; [0021]
  • FIG. 2 displays systems and methods according to FIG. 1 for an exemplary internet embodiment; [0022]
  • FIG. 3 displays systems and methods according to FIG. 1 for an exemplary query translation architecture; [0023]
  • FIG. 4 displays systems and methods according to FIG. 1 for an exemplary architecture providing query translation and retrieval; [0024]
  • FIG. 5 displays systems and methods according to FIG. 1 for an exemplary query translation, retrieval, and presentation architecture; and, [0025]
  • FIG. 6 is a diagram representing systems and methods in accordance with the principles of FIG. 1 that include a broker dictionary.[0026]
  • DESCRIPTION
  • To provide an overall understanding, certain illustrative embodiments will now be described; however, it will be understood by one of ordinary skill in the art that the systems and methods described herein can be adapted and modified to provide systems and methods for other suitable applications and that other additions and modifications can be made without departing from the scope hereof. [0027]
  • Referring now to FIG. 1, there is a block diagram of a [0028] system 100 that implements the techniques described herein. As will become apparent herein, the techniques as described in relation to FIG. 1 have many applications and embodiments, some of which can be referenced herein with respect to other figures. FIG. 1, and other Figures provided herein, can therefore be understood to represent the techniques, and while pictorial objects can be represented in the Figures, those with ordinary skill in the art will understand that these pictorial objects can be provided for understanding only and are not intended to be a limitation on the methods and systems. Accordingly, pictorial objects and their associated concepts can be combined with other pictorial objects, or additionally and optionally, separated into further pictorial objects, while not departing from the methods and systems.
  • As FIG. 1 indicates, the techniques herein can be initiated by a [0029] survey 102 of a data source 20. The survey can be automated or manually guided to identify data sources 20. As will be understood herein, data sources can include one or more textual documents, databases, etc., where a textual document can be understood to include a text file, web page, etc., that can be formatted text such as HTML, XML, some other SGML format, or another text format. A data source that is a database can use a format compatible with MySQL, SQL, Oracle, Informix, Sybase, the Freedom Engine, Access, ODBC, DB2, etc. Those with ordinary skill in the art will recognize that the methods and systems are not limited to the type or format of the data sources. Through the survey 102, the data source(s) can be analyzed with regard to data format, data type, data organization (e.g., categorization, hierarchical structure), relevant terms and phrases, relationships between words, terms, and phrases, identification of abbreviations or word/phrase variations, codes related to data (purchase codes, product codes, price codes, or any other code that can relate to categorizing the product in terms of price, demographic appropriateness or characteristics, etc.) etc. Other information related to the data source can be manually provided. In some embodiments, the survey can be automated, and additional information including the number of data sources, etc., can be determined. For the purposes of illustration with respect to the embodiment of FIG. 1, a database data source 20 is illustrated, although such an example is provided for illustration and not limitation, and multiple and varied format data sources, including textual data sources, can be utilized for the methods and systems.
  • A [0030] dictionary 18 can be formulated 104 based on the survey results 102. The dictionary 18 can be understood to be, for example, a computer program that can be implemented in a higher level language such as C, C++, Java, etc., that can receive query information as input, and can provide as output, a query formatted and otherwise customized for the data source.
  • Referring again to FIG. 1, [0031] query information 106 can be received by the dictionary 18. Although FIG. 1 illustrates only one dictionary 18, it can be understood that there can be multiple dictionaries, and in such embodiments, the query information 106 can be received by the multiple dictionaries. The illustrated dictionary 18 can generate a customized query 110 based on the received query information 106 and the survey results. The customized query 110 can be applied to the data source 20 from which the survey was conducted. The customized query results 112 can, in some embodiments, be returned to the dictionary 18. In some embodiments, the dictionary 18 can format, arrange, aggregate, etc., the customized query results 112 and transfer or forward the results. For example, the query results 108 can be transferred to the entity that requested that supplied the query information 106, or another entity can be designated or otherwise specified to receive the query results 108. As indicated previously herein, FIG. 1 illustrates the principles of the methods and systems which have wide applicability.
  • Referring now to FIG. 2, there is an architectural block diagram [0032] 10 of an illustrative system that utilizes the methods and systems for an internet application. The FIG. 1 system indicates an initiating device 12 that can include a digital computer system that can utilize a wired or wireless communications link to connect to a communication network such as the internet. A user of the initiating device 12 can utilize different peripheral devices that can be integrated with or otherwise configured for compatible use with the initiating device 12. For example, the initiating device 12 can include a keyboard, keypad, stylus, digital camera, microphone, etc., that can communicate data to the initiating device using wired or wireless communications systems and/or protocols, etc. The initiating device 12 can be a microprocessor-based system including a computer workstation, such as a PC workstation or a SUN workstation, handheld, palmtop, laptop, personal digital assistant (PDA), cellular phone, etc., that includes a program for organizing and controlling the initiating device 12 to operate as described herein. Additionally and optionally, the initiating device 12 can be equipped with a sound and video card for processing multimedia data. The initiating device 12 can operate as a stand-alone system or as part of a networked computer system. Alternatively, the initiating device 12 can be dedicated devices, such as embedded systems, that can be incorporated into existing hardware devices, such as telephone systems, PBX systems, sound cards, etc. Accordingly, it will be understood by one of ordinary skill in the art that the initiating device 12 described herein has wide applicability and can be incorporated in many systems, and realized in many forms.
  • For a system according to FIG. 1, the initiating [0033] device 12 can be connected to a network such as the internet and can be equipped with what is well-known as an internet “browser” such as the commercially available Netscape Navigator, Internet Explorer, etc., browsers, and those with ordinary skill in the art will recognize that, depending upon the initiating device 12 and its it configuration, the browser can differ, and hence references herein to a browser can include references to a user interface to the internet or other network, wherein the methods and systems herein are not limited to the browser or other network interface.
  • Furthermore, the initiating [0034] device 12 can access the internet using wired or wireless communications links and/or protocols.
  • The initiating [0035] device 12 can communicate with a server that can be represented in the FIG. 1 system as a System Server 14. The illustrated server 14 can be also be a microprocessor-based system including a computer workstation, such as a PC workstation or a SUN workstation, handheld, palmtop, laptop, personal digital assistant (PDA), cellular phone, etc., that includes a program for organizing and controlling the server 14 to operate as described herein. Additionally and optionally, the server 14 can be equipped with a sound and video card for processing multimedia data. The server 14 can operate as a stand-alone system or as part of a networked computer system. Alternatively, the server 14 can be dedicated devices, such as embedded systems, that can be incorporated into existing hardware devices, such as telephone systems, PBX systems, sound cards, etc. In some embodiments, servers can be clustered together to handle more traffic, and can include separate servers for different purposes such as a database server, an application server, and a Web presentation server. The server 14 can also include one or more mass storage devices such as a disk farm or a redundant array of independent disk (“RAID”) system for additional storage and data integrity. Read-only devices, such as compact disk drives and digital versatile disk drives, can also be connected to the server 14. As used herein, the term “server” is intended to refer to any of the above-described servers. In an embodiment, the initiating device 12 and the server 14 can be similar systems.
  • In an embodiment of the FIG. 1 system, the initiating [0036] device 12 can access the server 14 via the internet, and the server 14 can provide a webpage or other interface to the initiating device 12 to allow a user of the initiating device 12 to input data indicative of a query for information. Those with ordinary skill in the art will recognize that this query information can be of varying formats, and can include one or more keywords and/or natural language terms or expressions that can optionally be linked using one or more logical operators, including boolean expressions or notations such as “and”, “or”, and “not”. In some embodiments, additionally and optionally, “+” and “−” can be used to indicate desired and undesired terms, respectively, for example. Those with ordinary skill in the art will recognize that there are many different connectors and methods of relating keywords, sentences, questions, and/or natural language words or expressions that can be used.
  • For the purposes of the discussion herein, natural language can be understood to be a word, phrase, grouping of words, etc., in a language written or spoken by humans. [0037]
  • Additionally and optionally, the query information can include a full text statement or question or other natural language data. The query information can be entered to the initiating [0038] device 12 and thereafter edited using one or more of multiple peripheral devices connected to the initiating device that can include a keyboard, keypad, stylus, mouse, microphone, etc., wherein those of ordinary skill in the art will recognize that the methods and systems herein are not limited to the mechanism of inputting query information to the initiating device 12. Furthermore, the methods and systems are not limited to the format of inputting the query information or a user interface that can be provided to facilitate such entry. For example, in some embodiments, the query information can be input using one or a combination of text input boxes, text documents, menu selections, drop-down boxes, radio buttons, etc. The illustrated initiating device 12 also can provide a user with the ability to initiate the search, and in one embodiment, search initiation can be understood as entering the query information.
  • Furthermore, the query information can be entered by a variety of formats, including human users that can utilize peripheral devices and/or integrated software to enter and/or retrieve data by, for example, a keyboard, stylus, voice commands, etc. In some embodiments, the query information can additionally and optionally be provided by automated and/or non-human sources using scripts or other programming techniques. Accordingly, references herein to a user of the initiating [0039] device 12 can be understood to include any entity, human or non-human, that can cause query information to be provided to the initiating device 12.
  • Upon initiation of a search or query by a user of the initiating [0040] device 12, for the FIG. 1 system, the initiating device 12 can transfer the query information to the server 14 that can include a list of subscribers that can be included, in one embodiment, in a database 13. The subscriber database 13 can be accessed locally or through a network such as the internet using wired or wireless communications devices and protocols. The subscriber database 13 can be understood to include a memory having one or more physical or logical partitions and/or segments, and can optionally and additionally utilize one or more of well-known database packages including MySQL, SQL, Oracle, Informix, Sybase, the Freedom Engine, Access, ODBC, DB2, etc., with such examples provided for illustration and not limitation. In an embodiment, the database 13 can reside in a memory of the server 14.
  • In an embodiment, the server [0041] 14 can access subscriber information from the database 13 to cause the query information to be distributed to one or more subscribers 16 a, 16 b, 16 c. In the illustrated system, the database 13 can include URLs of subscriber servers 16 a, 16 b, 16 c (also referenced herein collectively or individually as 16). The query information can be transferred, distributed, or otherwise communicated to the subscriber servers 16 simultaneously as in a broadcast, or using an ordered scheme that can include network or load balancing schemes. The FIG. 1 system illustrates the communication of query information to three subscribers 16 a, 16 b, 16 c although the methods and systems can be applied to one or more subscribers and the number of subscribers is not a limitation. For an embodiment wherein the system server 14 communicates to the subscriber servers 16 via a network such as the internet, the transfer of the query information can be performed using HTTP or HTTPS, for example, although such an example is provided for illustration and not limitation.
  • The illustrated [0042] subscribers 16 a, 16 b, 16 c can be servers as described previously herein with respect to the System Server 14. The servers 16 can include one or more data sources 20 a, 20 b, 20 c, 20 d (also referenced herein collectively or individually as 20). The subscribers 16 also include a dictionary 18 a, 18 b, 18 c, 18 d (also referenced herein collectively or individually as 18) that can be associated with and based on the data sources 20 a, 20 b, 20 c, 20 d. In an embodiment such as that of FIG. 1, a data source 20 can be associated with a dictionary 18, although in some embodiments, one dictionary 18 can be associated with more than one data source 20. Alternately, in an embodiment, one data source 20 could be associated with more than one dictionary 18.
  • For the illustrated systems and methods, as described previously herein, a [0043] dictionary 18 can be understood to be a translator between the received query information, received from the System Server 14 as described herein, and a data source 20. For the illustrated systems where one dictionary 18 corresponds to a data source 20, a dictionary 18 can be formed by installing a computer program on the subscriber server 16. In an embodiment, the computer program can be run from a remote location via a network. As indicated previously, in some embodiments, the survey computer program can be understood as a survey engine that examines the data sources 20 on the server 16. As indicated previously, the dictionary 18 can incorporate the survey engine results to provide a customized interface between received query information, and the data source 20.
  • For example, if the [0044] data source 20 is a database, the survey engine can identify labels of tables, rows, and columns, and abbreviations of labels, when necessary. This survey information can be incorporated into a dictionary 18 to allow received query information to be properly translated for the database. In the case of a database, query information from a user of the initiating device 12 can be an input to a dictionary 18, and the dictionary output can be a customized SQL query that uses terminology, abbreviations, etc., derived from the survey engine. In some embodiments, the dictionary output can be a customized HTTP search string that can utilize a general access method that can be created for the data source (e.g., the HTTP search string can be formatted based on drop-down menus/boxes, radio button selections, and/or other general access provisions). In an example of a database embodiment, a database can be configured with columns or rows that relate to colors that are abbreviated, such as “Rd” for Red, “Bl” for Blue, etc. If query information is submitted with the word “Blue”, the customized dictionary can cause a customized query to be formatted using “Bl” according to the survey information. Accordingly, row information and column information can be understood herein to include a characterization of the database information that can include header information, element information, extraneous information that can otherwise provide insight to the database, etc.
  • Additionally and optionally, when the [0045] data source 20 is text, the survey engine can scan the text, identify synonyms, abbreviations, etc., for incorporation into a dictionary 18. A dictionary for a text data source 20 can format received query information into an advanced text query that can utilize a standard text engine. Some examples of standard text engines can include AltaVista, Excite, Google, Infoseek, Inktomi, Microsoft Index Server, etc., although such examples are provided for illustration and not limitation. Optionally and additionally, the dictionary can convert the received query information into a HTTP query that can be formatted according to a web page on the server 16, where the web page can include text input boxes, radio buttons, drop-down boxes, check-boxes, etc.
  • The illustrated [0046] dictionaries 18 can also include a natural language and linguistic processor that is well-known in the art for parsing received information, performing context analysis, generating synonyms, etc. The dictionaries 18 also include a spell corrector that can verify word spellings and generate phonetic equivalents, although such features can reside independent of the spell corrector. The dictionaries 18 can also perform word variations to better interpret and/or distinguish words, for example, between similar words such as “build”, “builder”, and “building.” Furthermore, the dictionaries 18 can perform phrase identification that includes identifying word groups within context. For example, “wrinkle-free” can be interpreted with respect to clothes, or in another manner with respect to plastic surgery. Accordingly, it can be understood that the dictionaries 18 for the illustrated systems and methods can extend the received query information to include terminology that is compatible with, understood by, and/or interpreted by a data source 20 to which the dictionary 18 corresponds.
  • A [0047] dictionary 18 can be equipped with a foreign language translator to convert received query information from one language, to another language that is compatible with the data source 20. In some embodiments, a dictionary 18 can be established for different languages, while in another embodiment, a single dictionary 18 can translate queries for multiple languages.
  • A [0048] dictionary 18 can determine that received query information from the initiating device 12 is not compatible with the data source 20 or otherwise cannot be interpreted. In an embodiment, the dictionary 18 can generate a list of possible interpretations for a user of the initiating device 12 to select. Additionally and optionally, the dictionary 18 can cause the initiating device 12 to provide a user with a request for additional, alternate, or restated query information.
  • A [0049] dictionary 18 can also identify a Frequently Asked Question (FAQ) and supply either a pre-defined answer to a user at the initiating device 12, or redirect the user to, for example, a web page that includes an answer. A dictionary 18 can also recognize and respond appropriately to query information that seeks a “yes” or “no” answer, time-based queries using date or time terminology including “now”, “last month”, “before”, “between”, etc., and arithmetic queries that can include mathematical concepts such as “lowest-priced”, “top 5”, “less than”, etc.
  • In the illustrated systems and methods, results of a customized data source search can be provided to a [0050] dictionary 18, and the dictionary 18 can thereafter organize, format, etc., the search results for return to the initiating device 12. The information can be presented via the subscriber server 16 to the System Server 14 and hence to the initiating device 12, or directly from the subscriber server 16 to the initiating device 12. In one embodiment, the search results can be formatted in XML to allow the server 16 to format the results according to a web application that can be executing on the subscriber server 16. For example, the XML output from the dictionary 18 can be used in Extensible Stylesheet Language (XSL) stylesheets or other web formatting options. Those with ordinary skill in the art will recognize that many formats for the dictionary output can be utilized, and the use of XML herein is provided for illustration and not limitation. For example, in one embodiment, HTML templates can be utilized to present search results directly to an internet browser without requiring additional programming. Other forms of SGML documents or other textual formats can be used without departing from the scope of the techniques provided herein. Alternately, search results can be presented graphically using bar charts, pie charts, histograms, Excel compatible spreadsheets, etc. Search results can also be saved as an Excel compatible file for later analysis. Additionally and optionally, the methods and systems herein can allow the search results to be provided to an application through a variety of Application Programmer Interfaces (APIs).
  • In some embodiments, the requested query information can provide significant search results. The methods and systems herein can provide the search results using a format that includes categories and sub-categories from which a user at the initiating [0051] device 12, for example, can further select. Aggregate data can also be presented with hyperlinks to detailed information to allow users to retrieve further information without providing further details, follow-up questions, etc. Those with ordinary skill in the art will thus recognize that although the methods and systems presented herein are provided with respect to an internet illustration that includes browsers, etc., other interfaces can be utilized to retrieve query information and present query results.
  • A user or system manager associated with a [0052] server 16 can provide or otherwise designate filtering schemes for providing search results. A subscriber, for example, can determine to exclude products from particular users based upon a received profile (i.e., age, etc.). Those with ordinary skill in the art will recognize that there are many parameters by which a subscriber can filter or otherwise customize the search results.
  • The methods and systems can operate with security measures that can be established by a system manager related to a [0053] server 16. For example, query information can be received or otherwise associated with identity information. A dictionary 18 can be configured to prevent the query information from being applied to a data source for which the user is not allowed to otherwise access. In such an embodiment, the methods and systems herein can be incorporated behind a firewall.
  • Those with ordinary skill in the art will recognize that the methods and systems can also be practiced outside of a firewall. In such an embodiment, a distributed or other search can be performed across a network such as the internet or an intranet, wherein accessibility to the data sources may not be protected by a firewall. As indicated previously, search results can be aggregated at the initiating [0054] device 12 or another remote device for presentation to a user.
  • A [0055] dictionary 18 can also generate an output log that can be understood to be a computer file that can be accessed by a system administrator or other authorized individual or entity according to the server 16 configuration or other authorization scheme. The log file can be stored locally on the server 16 or another memory device connected to the server 16 through a wired or wireless network. The log files can be configured to provide data pertaining to received query information, customized search queries, generated search results, query identity, data source identity, time of query, etc., with such examples provided only for illustration. By editing the log file, a system administrator can view the effectiveness of the dictionary with respect to query information, desired results, security, etc. Filters can be applied to the log files to provide log results based on results generated, date, time of day, time period, etc.
  • In the illustrated embodiments, a system administrator or other authorized user can edit a [0056] dictionary 18 to further customize the dictionary 18. Such edits can result from an analysis of the log file, for example. Dictionary edits can also be performed to further enhance business objectives. For example, automated, scheduled searches can be performed to query databases for stock information, etc. In an embodiment, an email can be generated based on a search. For example, in an automated search established by an administrator to verify stock quantity, once a stock quantity reaches a predetermined value, an email can be sent to the administrator and/or another interested party.
  • A system manager or other authorized user can also customize a [0057] dictionary 18 and provide rules against which searches can be performed and search results can be presented. For example, a system manager can edit the dictionary to include a formula or rule for determining a profit margin, and have results presented in order of profit margin. Other rules could present results by vendor, product availability, price, etc., with such examples provided for illustration and not limitation. Such manual customization of a dictionary 18 can be performed and applied according to a particular user, or a group of users. The dictionary editing can be performed locally or via a network.
  • In some practices of the systems and methods, system requirements can provide for certain query information to be if provided. If the query information is not provided by the user at the initiating [0058] device 12, the user can be prompted to enter the remaining information.
  • Accordingly, a [0059] dictionary 18 can include one or more of relevant content and/or values from a data source 20, a representation of schemas, relationships, and category hierarchies from the data source 20, configuration settings according to users and/or groups of users, business rules, terminology definitions or specifications, synonyms, a language translator, a natural language processor, an output data formatter, and a log file generator.
  • The methods and systems herein can also allow for the aggregation of customized query results from multiple data sources and/or dictionaries. For example, as provided herein, query information submitted at an initiating [0060] device 12 can be broadcast to one or more dictionaries in broadcast or some other sequenced manner, wherein the search results can be filtered or otherwise aggregated at the System Server 14. The filtering or other presentation of information performed by the System Server 14 can be performed additionally and optionally to filtering and organization that can be performed at individual dictionaries 18 and or servers 20.
  • Referring now to FIG. 3, there is a diagram representing the methods and systems in an embodiment that can be known as a [0061] query translation embodiment 30. In the FIG. 3 configuration, query information can be presented to the system 32 through an API 33 and to a query translator 34. The query translator 34 can translate the query information into a SQL statement, advanced text search expression, HTTP call, etc, by accessing a dictionary 18 that corresponds to a data source 20 to be searched. For the FIG. 3 embodiment, a server 16 can provide the received query information to the system 32 to receive from the system 32 via the query translator 34, a SQL statement, advanced text search expression, HTTP call, etc. The server 16 can thereafter submit or apply the returned search to a relational database, text search engine, etc.
  • Referring to FIG. 4, there is a diagram of a [0062] configuration 40 for the methods and systems that can allow the return of a data set for formatting a search request, by an application that can reside on the server 16 or another device. As indicated by FIG. 3, query information can be provided by the server 16. The query information can include or be accompanied by a dictionary selection, a user ID, business rules, etc., and a desired output format to the system 42 through its API 33. This interface can be implemented using HTTP, Component Object Module (COM), Java, Enterprise, Javabean, C, C++, Visual Basic, or another well-known it method. The natural language query, dictionary selection, and output format can be input to a query processor 44 that includes a data access module 46 that transfers the query information and dictionary selection to a query translator 34. The query translator 34 can utilize the specified dictionary 18 and query information to generate a customized query as provided herein. Those with ordinary skill in the art will recognize that although FIG. 4 depicts a single dictionary 18 and query translator 34, the embodiment of FIG. 4 can include multiple dictionaries and/or query translators. The customized query can be transferred to the data access module 46 that can issue the customized query to the data source 20 corresponding to the query. FIG. 4 demonstrates two data sources 20 that include a relational database management system 20 a and a text search engine 20 b, although other data sources can be utilized and specified. The customized query search results can be returned to the data access module 46 and thereafter transferred to the formatting module 48 with the specified output format. The formatting module 48 can format the query results based on the specified format, and transfer the formatted output to the server 16 through the API 33. In an embodiment, the formatted results can be transferred to the server 16 in XML format. A web application on the server 16 or another location can transform the XML search results into a desired presentation style using, for example, the W3C standard extensible stylesheet language transformation (XSLT) and HTML.
  • Referring to FIG. 5, there is a diagram for an [0063] embodiment 50 where the search results can be presented to a server application in a ready-to-display format. As was shown in FIG. 4, in FIG. 5, a server 16 can provide query information, dictionary selection, and output format to the data access module 46 of the query processor 44. The data access module 46 can provide the query information and dictionary selection to the query translator module 34 that utilizes the specified dictionary 18 to generate a customized search or query. The customized search can be provided to the data access module 46 and executed against the appropriate data source 20. The results of the search can be returned to the formatting module 48 via the data access module 46, with the specified output format. The formatted search results can be provided to the server 16 for display. In the illustrated system of FIG. 4, the formatted results can be fully customizable HTML templates for output to the internet, and can include colors, headers, footers, and other customizable characteristics to match the web site. The HTML can additionally and optionally include graphs, pie charts, bar graphs, reports, and spreadsheets that can be displayed using, for example, ActiveX control or Java applet.
  • As indicated with reference to FIG. 4, the system and methods according to FIG. 5 can be practiced with [0064] multiple query translators 34 and/or dictionaries 18. Additionally, the data sources 20 a, 20 b can be multiple and can include other data sources than illustrated. In the embodiments herein, although identification can be provided with a query request, some embodiments may not utilize query information.
  • Referring now to FIG. 6, there is shown an [0065] embodiment 60 wherein a “broker dictionary” 18 e can be utilized to interface to other dictionaries and data sources. One of ordinary skill in the art will recognize from the description of the methods and systems provided herein, that a server 16 that is not illustrated, can be associated with the broker dictionary 18e. The illustrated broker dictionary 18 e can include, for example, URLs of other servers at different locations in a local or other network (e.g., internet, intranet, LAN, WAN, etc.) that have relevant data sources and/or dictionaries. Dictionaries to which the broker dictionary 18e can communicate can be referred to herein as broadcast dictionaries. In an embodiment, the broker dictionary 18 e can provide an interface for a subscriber 16 with multiple servers. The multiple servers can maintain different customized dictionaries, or can share the broker dictionary 18 e. In some embodiments, the broker dictionary 22 can interface to multiple subscribers 16 and/or data sources 20.
  • According to the FIG. 6 system, the [0066] broker dictionary 18 e can receive query information from the initiating device 12 and the broker dictionary 18 e can filter the search request to eliminate broadcast dictionaries and/or data sources 20 that do not include data relevant to the query information. The broker dictionary 18 e can therefore include sophisticated and intelligent filters to eliminate unneeded broadcast search requests. Those with ordinary skill in the art will recognize that the broker dictionary 18 e can include the attributes previously provided to dictionaries in general, including but not limited to language translation, synonym generation, natural language processing, business rules, etc.
  • The [0067] broker dictionary 18 e can relay or broadcast query it information, as processed by the broker dictionary 18 e, unprocessed, or a combination thereof, to the selected broadcast dictionaries 18 f, 18 g, 18 h and other data sources 20 e, 20 f, 20 g. For example, in the illustrated system of FIG. 5, the broker dictionary 18 e can process the query information to provide a customized query that can be provided to the non-broadcast dictionary data sources 20 e, 20 f, 20 g. Similarly, the broadcast dictionaries 18 f, 18 g, 18 h can receive either the customized query information or the original query information from the initiating device 12. In either case, the broadcast dictionaries 18 f, 18 g, 18 h can process the received query information from the broker dictionary 18 e, and distribute a customized query to one or more data sources 20 h, 20 i, 20 j as provided previously herein. The customized query results from the different data sources 20 e-20 j can be transmitted or otherwise transferred to the broker dictionary 18 e. The illustrated broker dictionary 18 e can receive customized query search results and format the results to present a single result package to the initiating device 12 or other server 16 or application as provided herein. In some embodiments, the broker dictionary 18 e can filter the search results before transferring or communicating the search results as provided herein.
  • Those with ordinary skill in the art will recognize that the systems and methods herein can include one or more databases that can be in communication with the [0068] servers 16 but are not otherwise illustrated in the representative figures. For example, a database can be utilized to maintain information based on user identity and privileges, broker dictionaries and associated broadcast dictionaries, rules for filtering query results, etc.
  • Accordingly, it can be understood that the methods and systems disclosed herein can be applied to a variety of queries. For example, the query information initially submitted can be a question, such as “How far is bank XXX from home?”, such that data pertinent to the user (e.g., “home”) and data related to a another sensor or entity (e.g., mapping program or distance calculator) can be integrated with the query information to provide an appropriate response. Questions can be presented in succession, and results from one question can be a basis as input to the dictionary for subsequent questions. [0069]
  • The techniques described herein are not limited to a particular hardware or software configuration, and may find applicability in many computing or processing environments. The techniques can be implemented in hardware or software, or a combination of hardware and software. The techniques can be implemented in one or more computer programs executing on one or more programmable computers that include a processor, a storage medium readable by the processor (including volatile and nonvolatile memory and/or storage elements), one or more input devices, and one or more output devices. [0070]
  • The computer program(s) is preferably implemented in one or more high level procedural or object-oriented programming languages to communicate with a computer system; however, the program(s) can be implemented in assembly or machine language, if desired. The language can be compiled or interpreted. [0071]
  • The computer program(s) can be preferably stored on a storage medium or device (e.g., CD-ROM, hard disk, or magnetic disk) readable by a general or special purpose programmable computer for configuring and operating the computer when the storage medium or device is read by the computer to perform the procedures described herein. The system can also be considered to be implemented as a computer-readable storage medium, configured with a computer program, where the storage medium so configured causes a computer to operate in a specific and predefined manner. [0072]
  • One potential advantage of the methods and systems is that an internet user may obtain reliable, accurate, and efficiently organized information in response to a search or query request. [0073]
  • What has thus been described is a method and system for providing efficient searching of devices on communications networks, such as servers on the internet, using an application that can survey a subscriber's server that can include a catalog and database, and use the formatting information and data from the survey to create a dictionary customized to the subscriber's data sources. A user seeking information can initiate a search from an initiating device using keywords, natural language terms, connectors, expressions, etc., wherein such query information can be transmitted to various subscriber customized dictionaries. The customized dictionaries can customize the query based on respective subscriber databases and text documents, text search engines, etc., to produce an accurate search result. The search results can be filtered and integrated for presentation to the initiating device. Search results can be customized using user of preference or profile information. [0074]
  • Although the methods and systems have been described relative to specific embodiments thereof, the methods and systems are not so limited. Obviously many modifications and variations may become apparent in light of the above teachings. For example, although the illustrated embodiment presented herein related to the internet, the methods and systems can be applied to searching other devices on other communications networks. Although HTML and XML languages were utilized to facilitate the searching, other languages may be utilized. The survey program can be run locally on a server, or remotely from another platform. Similarly, a dictionary can be accessed and/or managed locally or remotely using wired or wireless communications systems and methods. Results of customized queries can be aggregated at a server having multiple data sources, and thereafter transferred to the system server that can aggregate the results. In another embodiment, an application residing on the initiating device can receive and aggregate the results for presentation on the device. In an embodiment, search results can be displayed according to a user identification and/or information stored in a central database or local memory that includes user-specific preferences. The preferences can indicate suppliers, price, and other search-relevant criteria that can be submitted with the natural language search terms. In embodiments utilizing a user account for preferences, the respective subscriber dictionaries can integrate the user's preferences with the search terms to increase the probability of satisfying a search query for a user. In another embodiment, a user can be prompted for preference criteria, while in another embodiment, user identification data can be entered and submitted with the search criteria. Upon receiving the user identification data, a dictionary can cause a pre-stored user profile to be extracted and incorporated into the search. [0075]
  • In some embodiments, a user can be presented with search results and can select the desired results for purchase. Search results can be accompanied by a URL of the order processing system that can be used to order the product; and, when the user selects the item, the relevant product information can be submitted to the purchasing system to initiate the purchase process. In an embodiment, the user's selection of a product can provide a transition to an order basket or other ordering scheme that can be provided by the initiating website, the subscriber's website, or an alternate website. In these embodiments, the ordering scheme can interface to a browser or other interface at the initiating device. [0076]
  • Data sources and dictionaries do not have to reside on the same server, medium, etc. Additionally, methods of presenting a query and presenting query results can be integrated with instant messaging and/or email. [0077]
  • Many additional changes in the details, materials, and arrangement of parts, herein described and illustrated, can be made by those skilled in the art. Accordingly, it will be understood that the following claims are not to be limited to the embodiments disclosed herein, can include practices otherwise than specifically described, and are to be interpreted as broadly as allowed under the law. [0078]

Claims (77)

What is claimed is:
1. A method for providing a SQL search query for a database, comprising,
identifying database information based on at least one of,
at least one database column information, at least one database row information, and at least one database element,
providing query information,
processing the query information with a natural language processor, and,
generating the SQL search query based on the processed query information and the identified database information.
2. A method according to claim 1, wherein providing query information includes providing a natural language expression.
3. A method according to claim 1, wherein providing query information includes providing query information via a network.
4. A method according to claim 1, wherein providing query information includes receiving a HTTP message.
5. A method according to claim 1, wherein providing query information includes providing at least one query term.
6. A method according to claim 1, wherein processing the query information includes determining at least one of query information context and at least one synonym based on the query information.
7. A method according to claim 1, wherein identifying database information includes identifying at least one of at least one database column header and at least one database row header.
8. A method according to claim 1, wherein identifying database information further includes determining at least one relationship between at least two rows or at least two columns.
9. A method for providing a query for a text document, comprising,
determining at least one text document keyword and an associated keyword context,
providing query information,
processing the query information with a natural language processor, and,
generating the query based on the processed query information, the keyword, and the associated keyword context.
10. A method according to claim 9, wherein providing query information includes providing a natural language expression.
11. A method according to claim 9, wherein providing query information includes receiving a HTTP message.
12. A method according to claim 9, wherein processing the query information further includes determining at least one of query information context and at least one synonym based on the query information.
13. A method according to claim 9, wherein providing query information includes providing query information via a network.
14. A method for distributing a query to at least one data source on a network, the method comprising,
for the at least one data source, providing at least one dictionary, wherein providing the at least one dictionary further includes,
receiving the query,
translating the query to a customized query based on the at least one data source,
applying the customized query to the at least one data source,
receiving results from the customized query, and,
communicating the results to a device on the network.
15. A method according to claim 14, wherein providing at least one dictionary includes providing at least one of providing at least one dictionary based on a database and providing at least one dictionary based on at least one textual document.
16. A method according to claim 15, wherein providing at least one of a textual document includes providing at least one of a text file and a file including program instructions.
17. A method according to claim 14, wherein receiving the query includes receiving at least one of a natural language query and at least one keyword.
18. A method according to claim 14, wherein receiving the query includes receiving the query via a network.
19. A method according to claim 14, wherein receiving the query includes receiving at least one relational operator.
20. A method according to claim 14, wherein providing at least one customized dictionary further includes,
identifying the at least one data source, and,
surveying the at least one data source based on the identity of the at least one data source.
21. A method according to claim 14, wherein translating the natural language query includes translating the query from a first language to a distinct second language.
22. A method according to claim 14, wherein translating the query includes processing the query using a natural language processor.
23. A method according to claim 14, wherein translating the natural language query includes performing a spell check.
24. A method according to claim 14, wherein translating the query includes performing a context evaluation of the query.
25. A method according to claim 14, wherein translating the query includes determining a data format of the data source.
26. A method according to claim 14, wherein translating the query includes identifying at least one abbreviation in the natural language query.
27. A method according to claim 14, wherein translating the query includes identifying at least one abbreviation in the data source.
28. A method according to claim 14, wherein translating the query includes identifying at least one of at least one column header, at least one row header, and at least one textual term.
29. A method according to claim 14, wherein translating the query includes identifying at least one word variation.
30. A method according to claim 14, wherein translating the query includes identifying at least one phrase variation.
31. A method according to claim 14, wherein translating the query includes identifying at least one code based on the data source.
32. A method according to claim 14, wherein translating the query includes generating at least one phonetic equivalent.
33. A method according to claim 14, wherein translating the query includes identifying a Frequently Asked Question (FAQ).
34. A method according to claim 14, further including creating a log file that includes at least one of the query, the customized query, the customized query results, and a time of query.
35. A method according to claim 14, further comprising associating at least one of at least one identity and at least one privilege with the query.
36. A method according to claim 14, further comprising performing at least one filtering of the results from the customized query.
37. A method according to claim 14, wherein communicating the results to a device on the network includes generating a SGML document.
38. A method according to claim 14, wherein communicating the results to a device on the network includes generating at least one of a graph, a pie chart, a spreadsheet, and a histogram based on the results of the customized query.
39. A method according to claim 14, wherein communicating the results to a device on the network includes communicating the results to a server.
40. A method according to claim 14, wherein communicating the results to a device on the network includes at least one of generating an email, generating an instant-message, and generating a voice reply.
41. A method according to claim 14, wherein applying the customized query to the at least one data source includes transferring the query to a broadcast dictionary.
42. A method according to claim 14, wherein receiving results from the customized query includes receiving results from at least one of at least one text document, at least one database, and at least one broadcast dictionary.
43. A method according to claim 14, wherein applying the customized query includes applying at least one of a SQL query and search expression.
44. A method according to claim 14, wherein providing at least one customized dictionary further includes conditioning the application of the customized query based on at least one of an identity and a profile associated with the natural language query.
45. A method according to claim 14, wherein applying the customized query further includes conditioning the application of the customized query based on the data source.
46. A system for providing a customized query in response to a query, the system comprising,
an initiating device for providing a query,
at least one data source, and,
a processor in communication with the initiating device and the at least one data source, the processor having instructions for receiving the query, processing the query to generate a customized query based on the at least one data source, applying the customized query to the data source, and receiving results from the customized query.
47. A system according to claim 46, wherein the initiating device includes a microprocessor-controlled device.
48. A system according to claim 46, wherein the query includes at least one word.
49. A system according to claim 46, wherein the query includes at least one relational operator.
50. A system according to claim 46, further including at least one first server in communication with the initiating device and the data source.
51. A system according to claim 46, further including at least one database in communication with the second server.
52. A system according to claim 46, further including at least one database in communication with the at least one first server and the at least one data source.
53. A system according to claim 46, further including at least one third server in communication with the second server, to receive at least one of the customized query or the natural language query from the second server.
54. A system according to claim 46, wherein the at least one data source includes at least one of at least one text document and at least one database.
55. A system for performing a search in response to a query, the system comprising,
at least one data source,
at least one dictionary based on the at least one data source, and,
a processor having instructions for receiving the query, generating a customized query based on the at least one dictionary and the query, and applying the query to the at least one data source.
56. A system according to claim 55, wherein the data source includes at least one of at least one text document and at least one database.
57. A system according to claim 55, further including a survey engine to examine the at least one data source.
58. A system according to claim 55, further including a network interface to receive the query.
59. A system according to claim 55, further including a memory to store privilege information associated with the at least one data source.
60. A system according to claim 55, further including a distinct second processor to supply the query.
61. A system for providing a customized query, the system comprising,
means for providing a query,
data source means,
means for receiving the query, submitting the query to a natural language processor, and generating a customized query based on the query and the data source means.
62. A system according to claim 61, wherein the means for providing a query includes a microprocessor-controlled device.
63. A system according to claim 61, wherein the data source means includes at least one of at least one database and at least one text document.
64. A system according to claim 61, wherein the means for receiving the query includes a processor.
65. A computer product for providing a SQL search query for a database, the computer product disposed on a computer readable medium and comprising instructions for causing a processor to,
identify database information based on at least one of, at least one database column information, at least one database row information, and at least one database element,
provide query information,
process the query information with a natural language processor, and,
generate the SQL search query based on the processed query information and the identified database information.
66. A computer product according to claim 65, wherein instructions to provide query information include instructions to providing a natural language expression.
67. A computer product according to claim 65, wherein instructions to provide query information include instructions to providing query information via a network.
68. A computer product according to claim 65, wherein instructions to provide query information include instructions to receive a HTTP message.
69. A computer product according to claim 65, wherein instructions to provide query information include instructions to provide at least one query term.
70. A computer product according to claim 65, wherein instructions to process the query information include instructions to determine at least one of query information context and at least one synonym based on the query information.
71. A computer product according to claim 65, wherein instructions to identify database information include instructions to identify at least one of at least one database column header and at least one database row header.
72. A computer product according to claim 65, wherein instructions to identify database information further include instructions to determine at least one relationship between at least two rows or at least two columns.
73. A computer product for providing a query for a text document, the computer product disposed on a computer readable medium and comprising instruction for causing a processor to,
determine at least one text document keyword and an associated keyword context,
provide query information,
process the query information with a natural language processor, and,
generate the query based on the processed query information, the keyword, and the associated keyword context.
74. A computer product according to claim 73, wherein instructions to provide query information include instructions to provide a natural language expression.
75. A computer product according to claim 73, wherein instructions to provide query information include instructions to receive a HTTP message.
76. A computer product according to claim 73, wherein instructions to process the query information further include instructions to determine at least one of query information context and at least one synonym based on the query information.
77. A computer product according to claim 73, wherein instructions to provide query information include instructions to provide query information via a network.
US09/902,343 2000-07-28 2001-07-10 Distributed search system and method Abandoned US20020059204A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/902,343 US20020059204A1 (en) 2000-07-28 2001-07-10 Distributed search system and method
US11/304,017 US7606805B2 (en) 2000-07-28 2005-12-14 Distributed search system and method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US22154600P 2000-07-28 2000-07-28
US09/902,343 US20020059204A1 (en) 2000-07-28 2001-07-10 Distributed search system and method

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/304,017 Continuation US7606805B2 (en) 2000-07-28 2005-12-14 Distributed search system and method

Publications (1)

Publication Number Publication Date
US20020059204A1 true US20020059204A1 (en) 2002-05-16

Family

ID=22828257

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/902,343 Abandoned US20020059204A1 (en) 2000-07-28 2001-07-10 Distributed search system and method
US11/304,017 Active - Reinstated 2026-04-26 US7606805B2 (en) 2000-07-28 2005-12-14 Distributed search system and method

Family Applications After (1)

Application Number Title Priority Date Filing Date
US11/304,017 Active - Reinstated 2026-04-26 US7606805B2 (en) 2000-07-28 2005-12-14 Distributed search system and method

Country Status (3)

Country Link
US (2) US20020059204A1 (en)
AU (1) AU2001271940A1 (en)
WO (1) WO2002010981A2 (en)

Cited By (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020065850A1 (en) * 2000-09-13 2002-05-30 Imediation S.A. A French Corporation Method and system for composite site resource generation
US20020161749A1 (en) * 2001-04-26 2002-10-31 Siemens Medical Solutions Health Services Corporation Identifier code translation system
US20030074322A1 (en) * 2001-10-17 2003-04-17 Siriuz. Com Ltd. Peer-to-peer digital copyright management method and system
US20030131319A1 (en) * 2002-01-07 2003-07-10 Hintz Kenneth James Lexicon-based new idea detector
WO2003107174A1 (en) * 2002-06-13 2003-12-24 Cerisent Corporation Xml database mixed structural-textual classification system
US20040006628A1 (en) * 2002-07-03 2004-01-08 Scott Shepard Systems and methods for providing real-time alerting
US20040006737A1 (en) * 2002-07-03 2004-01-08 Sean Colbath Systems and methods for improving recognition results via user-augmentation of a database
US20040049495A1 (en) * 2002-09-11 2004-03-11 Chung-I Lee System and method for automatically generating general queries
US20040073541A1 (en) * 2002-06-13 2004-04-15 Cerisent Corporation Parent-child query indexing for XML databases
US20040078760A1 (en) * 2002-10-21 2004-04-22 International Business Machines Corporation Creating multiple and cascading business interpretations from raw application data using transformation layering
US20040083104A1 (en) * 2002-10-17 2004-04-29 Daben Liu Systems and methods for providing interactive speaker identification training
US20040123233A1 (en) * 2002-12-23 2004-06-24 Cleary Daniel Joseph System and method for automatic tagging of ducuments
US20040122801A1 (en) * 2002-12-18 2004-06-24 International Business Machines Corporation Method, system and program product for filtering an entry of data items
EP1450272A2 (en) * 2003-02-24 2004-08-25 Microsoft Corporation Technique for changing views of web content
US20040205439A1 (en) * 2003-04-08 2004-10-14 International Business Machines Corporation Liveness monitoring in a publish/subscribe messaging system
US20040250283A1 (en) * 2003-06-05 2004-12-09 International Business Machines Corporation Liveness monitoring in a publish/subscribe messaging system
US20050038777A1 (en) * 2003-04-11 2005-02-17 Eric Anderson Querying data in a highly distributed management framework
US20050080771A1 (en) * 2003-10-14 2005-04-14 Fish Edmund J. Search enhancement system with information from a selected source
US20050097188A1 (en) * 2003-10-14 2005-05-05 Fish Edmund J. Search enhancement system having personal search parameters
US20050114523A1 (en) * 2003-11-26 2005-05-26 International Business Machines Corporation Computer-implemented method, system and program product for providing real-time access to information on a computer system over a network
US20050125440A1 (en) * 2003-12-05 2005-06-09 Roy Hirst Systems and methods for improving information discovery
US20050131872A1 (en) * 2003-12-16 2005-06-16 Microsoft Corporation Query recognizer
US20050177358A1 (en) * 2004-02-10 2005-08-11 Edward Melomed Multilingual database interaction system and method
US20050187944A1 (en) * 2004-02-10 2005-08-25 Microsoft Corporation Systems and methods for a database engine in-process data provider
US20050228788A1 (en) * 2003-12-31 2005-10-13 Michael Dahn Systems, methods, interfaces and software for extending search results beyond initial query-defined boundaries
US6999961B2 (en) * 1999-04-22 2006-02-14 Mark Hall Method of aggregating and distributing informal and formal knowledge using software agents
US20060059160A1 (en) * 2004-09-15 2006-03-16 Yahoo! Inc. Apparatus and method for online dating service providing threaded messages with a notes and diary function
US20060059130A1 (en) * 2004-09-15 2006-03-16 Yahoo! Inc. System and method of automatically modifying an online dating service search using compatibility feedback
US20060059142A1 (en) * 2004-09-15 2006-03-16 Yahoo! Inc. System and method of modifying an on-line dating search using inline editing
US20060059147A1 (en) * 2004-09-15 2006-03-16 Yahoo! Inc. System and method of adaptive personalization of search results for online dating services
WO2006061843A2 (en) * 2004-12-08 2006-06-15 B-Obvious Ltd. Bidirectional data transfer optimization and content control for networks
US20060190240A1 (en) * 2003-10-15 2006-08-24 Han-Jin Shin Method and system for locating language expressions using context information
US20060259479A1 (en) * 2005-05-12 2006-11-16 Microsoft Corporation System and method for automatic generation of suggested inline search terms
US20070073734A1 (en) * 2003-11-28 2007-03-29 Canon Kabushiki Kaisha Method of constructing preferred views of hierarchical data
US20070244866A1 (en) * 2006-04-18 2007-10-18 Mainstream Advertising, Inc. System and method for responding to a search request
US7296019B1 (en) * 2001-10-23 2007-11-13 Microsoft Corporation System and methods for providing runtime spelling analysis and correction
US7330846B1 (en) * 2002-02-08 2008-02-12 Oracle International Corporation System and method for facilitating a distributed search of local and remote systems
US20080059480A1 (en) * 2006-09-06 2008-03-06 Hon Hai Precision Industry Co., Ltd. System and method for filtering contents of a web page
US20080071831A1 (en) * 2006-09-14 2008-03-20 Reddy Venkateshwara N Creating animation based on a keyword search
US20080177734A1 (en) * 2006-02-10 2008-07-24 Schwenke Derek L Method for Presenting Result Sets for Probabilistic Queries
US7418410B2 (en) 2005-01-07 2008-08-26 Nicholas Caiafa Methods and apparatus for anonymously requesting bids from a customer specified quantity of local vendors with automatic geographic expansion
US20080263013A1 (en) * 2007-04-12 2008-10-23 Tiversa, Inc. System and method for creating a list of shared information on a peer-to-peer network
US20080288588A1 (en) * 2006-11-01 2008-11-20 Worldvuer, Inc. Method and system for searching using image based tagging
US20080319861A1 (en) * 2007-04-12 2008-12-25 Tiversa, Inc. System and method for advertising on a peer-to-peer network
US20090019119A1 (en) * 2007-07-13 2009-01-15 Scheffler Lee J System and method for detecting one or more missing attachments or external references in collaboration programs
US20090049023A1 (en) * 2007-08-13 2009-02-19 Board Of Regents, The University Of Texas System Method and computer program for collaborative web searching
US20090132503A1 (en) * 2007-11-15 2009-05-21 International Business Machines Organization Using different groups of query graph transform modules to generate execution plans for queries for different database types
US7599938B1 (en) 2003-07-11 2009-10-06 Harrison Jr Shelton E Social news gathering, prioritizing, tagging, searching, and syndication method
US20100042732A1 (en) * 2004-01-23 2010-02-18 Hopkins Samuel P Method for improving peer to peer network communication
US20100042593A1 (en) * 2008-08-12 2010-02-18 Anna Matveenko Method and system of using information banners to communicate with users of electronic dictionaries
US20100096453A1 (en) * 2008-10-17 2010-04-22 La-Z-Boy Incorporated System and method for managing pricing and inventory information
US7752218B1 (en) 2001-11-06 2010-07-06 Thomson Reuters (Scientific) Inc. Method and apparatus for providing comprehensive search results in response to user queries entered over a computer network
US7756810B2 (en) * 2003-05-06 2010-07-13 International Business Machines Corporation Software tool for training and testing a knowledge base
US20100179817A1 (en) * 2009-01-13 2010-07-15 Wold & Wold Llc Search, retrieval, design management methods and systems
US20110179035A1 (en) * 2006-04-05 2011-07-21 Lexisnexis, A Division Of Reed Elsevier Inc. Citation network viewer and method
WO2011133705A2 (en) * 2010-04-21 2011-10-27 Microsoft Corporation Product synthesis from multiple sources
US8055669B1 (en) * 2003-03-03 2011-11-08 Google Inc. Search queries improved based on query semantic information
US20130145261A1 (en) * 2006-04-05 2013-06-06 Research In Motion Limited Handheld electronic device and method for performing optimized spell checking during text entry by providing a sequentially ordered spell-check algorithms
US20130166530A1 (en) * 2011-09-08 2013-06-27 Wolfram Alpha Llc Method and System for Analyzing Data Using a Query Answering System
US20130185734A1 (en) * 2012-01-16 2013-07-18 Microsoft Corporation Subscriber-based event subscription
US20140164422A1 (en) * 2012-12-07 2014-06-12 Verizon Argentina SRL Relational approach to systems based on a request and response model
US20140207790A1 (en) * 2013-01-22 2014-07-24 International Business Machines Corporation Mapping and boosting of terms in a format independent data retrieval query
US20140281882A1 (en) * 2013-03-13 2014-09-18 Usablenet Inc. Methods for compressing web page menus and devices thereof
US8996555B2 (en) * 2012-11-26 2015-03-31 Sap Se Question answering framework for structured query languages
US9021026B2 (en) 2006-11-07 2015-04-28 Tiversa Ip, Inc. System and method for enhanced experience with a peer to peer network
US10318635B2 (en) 2012-09-28 2019-06-11 Cerner Innovation, Inc. Automated mapping of service codes in healthcare systems
CN110019077A (en) * 2018-08-21 2019-07-16 平安科技(深圳)有限公司 Log inquiring method, device, equipment and computer readable storage medium
US10403391B2 (en) 2012-09-28 2019-09-03 Cerner Health Services, Inc. Automated mapping of service codes in healthcare systems
US10490306B2 (en) 2015-02-20 2019-11-26 Cerner Innovation, Inc. Medical information translation system
US10565315B2 (en) 2012-09-28 2020-02-18 Cerner Innovation, Inc. Automated mapping of service codes in healthcare systems
US11030255B1 (en) 2019-04-01 2021-06-08 Tableau Software, LLC Methods and systems for inferring intent and utilizing context for natural language expressions to generate data visualizations in a data visualization interface
US11042558B1 (en) 2019-09-06 2021-06-22 Tableau Software, Inc. Determining ranges for vague modifiers in natural language commands
US11055489B2 (en) * 2018-10-08 2021-07-06 Tableau Software, Inc. Determining levels of detail for data visualizations using natural language constructs
US11194821B2 (en) 2014-08-15 2021-12-07 Groupon, Inc. Enforcing diversity in ranked relevance results returned from a universal relevance service framework
US11216843B1 (en) 2014-08-15 2022-01-04 Groupon, Inc. Ranked relevance results using multi-feature scoring returned from a universal relevance service framework
US11301271B1 (en) * 2021-01-21 2022-04-12 Servicenow, Inc. Configurable replacements for empty states in user interfaces
US20220269706A1 (en) * 2021-02-24 2022-08-25 Open Weaver Inc. Methods and systems to parse a software component search query to enable multi entity search
US11429271B2 (en) 2019-11-11 2022-08-30 Tableau Software, LLC Methods and user interfaces for generating level of detail calculations for data visualizations
US11442945B1 (en) 2015-12-31 2022-09-13 Groupon, Inc. Dynamic freshness for relevance rankings
US11570256B1 (en) * 2021-08-19 2023-01-31 Jpmorgan Chase Bank, N.A. Method and system for facilitating electronic client interactions
US11704319B1 (en) 2021-10-14 2023-07-18 Tableau Software, LLC Table calculations for visual analytics using concise level of detail semantics
US11790182B2 (en) 2017-12-13 2023-10-17 Tableau Software, Inc. Identifying intent in visual analytical conversations
US11836069B2 (en) 2021-02-24 2023-12-05 Open Weaver Inc. Methods and systems for assessing functional validation of software components comparing source code and feature documentation
US11836202B2 (en) 2021-02-24 2023-12-05 Open Weaver Inc. Methods and systems for dynamic search listing ranking of software components
US11853745B2 (en) 2021-02-26 2023-12-26 Open Weaver Inc. Methods and systems for automated open source software reuse scoring
US11893385B2 (en) 2021-02-17 2024-02-06 Open Weaver Inc. Methods and systems for automated software natural language documentation
US11947530B2 (en) 2021-02-24 2024-04-02 Open Weaver Inc. Methods and systems to automatically generate search queries from software documents to validate software component search engines

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7359951B2 (en) 2000-08-08 2008-04-15 Aol Llc, A Delaware Limited Liability Company Displaying search results
US7007008B2 (en) * 2000-08-08 2006-02-28 America Online, Inc. Category searching
US7047229B2 (en) * 2000-08-08 2006-05-16 America Online, Inc. Searching content on web pages
JP4025517B2 (en) * 2001-05-31 2007-12-19 株式会社日立製作所 Document search system and server
US20040230602A1 (en) * 2003-05-14 2004-11-18 Andrew Doddington System and method for decoupling data presentation layer and data gathering and storage layer in a distributed data processing system
US8595146B1 (en) 2004-03-15 2013-11-26 Aol Inc. Social networking permissions
US20050222990A1 (en) * 2004-04-06 2005-10-06 Milne Kenneth T Methods and systems for using script files to obtain, format and disseminate database information
WO2006073095A1 (en) * 2005-01-07 2006-07-13 Matsushita Electric Industrial Co., Ltd. Association dictionary making device
US8069153B2 (en) * 2005-12-02 2011-11-29 Salesforce.Com, Inc. Systems and methods for securing customer data in a multi-tenant environment
US8812945B2 (en) * 2006-10-11 2014-08-19 Laurent Frederick Sidon Method of dynamically creating real time presentations responsive to search expression
US20080104042A1 (en) * 2006-10-25 2008-05-01 Microsoft Corporation Personalized Search Using Macros
US20080101569A1 (en) * 2006-10-26 2008-05-01 Bellsouth Intellectual Property Corporation Prepaid information services
US20080311889A1 (en) * 2007-06-13 2008-12-18 Sony Ericsson Mobile Communications Ab Portable communication device and method for sharing a user personality
US8635251B1 (en) * 2007-06-29 2014-01-21 Paul Sui-Yuen Chan Search and computing engine
US20090198488A1 (en) * 2008-02-05 2009-08-06 Eric Arno Vigen System and method for analyzing communications using multi-placement hierarchical structures
US8442991B2 (en) * 2008-04-15 2013-05-14 Hewlett-Packard Development Company, L.P. Information access device and network
WO2009146238A1 (en) * 2008-05-01 2009-12-03 Chacha Search, Inc. Method and system for improvement of request processing
US20090300126A1 (en) * 2008-05-30 2009-12-03 International Business Machines Corporation Message Handling
US20100241893A1 (en) * 2009-03-18 2010-09-23 Eric Friedman Interpretation and execution of a customizable database request using an extensible computer process and an available computing environment
US20130232006A1 (en) * 2012-03-05 2013-09-05 Tim Holcomb Filtered Search Query Data for Context and User Intent within a Location-Based Search Engine
US9665662B1 (en) 2013-06-13 2017-05-30 DataRPM Corporation Methods and system for providing real-time business intelligence using natural language queries
US11042541B2 (en) 2016-10-03 2021-06-22 Samsung Electronics Co., Ltd. Electronic device and method for controlling the same
CN110170081B (en) * 2019-05-14 2021-09-07 广州医软智能科技有限公司 ICU instrument alarm processing method and system
US20220292092A1 (en) * 2019-08-15 2022-09-15 Telepathy Labs, Inc. System and method for querying multiple data sources

Citations (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5197005A (en) * 1989-05-01 1993-03-23 Intelligent Business Systems Database retrieval system having a natural language interface
US5590319A (en) * 1993-12-15 1996-12-31 Information Builders, Inc. Query processor for parallel processing in homogenous and heterogenous databases
US5634053A (en) * 1995-08-29 1997-05-27 Hughes Aircraft Company Federated information management (FIM) system and method for providing data site filtering and translation for heterogeneous databases
US5664109A (en) * 1995-06-07 1997-09-02 E-Systems, Inc. Method for extracting pre-defined data items from medical service records generated by health care providers
US5713020A (en) * 1993-09-02 1998-01-27 Microsoft Corporation Method and system for generating database queries containing multiple levels of aggregation
US5752016A (en) * 1990-02-08 1998-05-12 Hewlett-Packard Company Method and apparatus for database interrogation using a user-defined table
US5802518A (en) * 1996-06-04 1998-09-01 Multex Systems, Inc. Information delivery system and method
US5812840A (en) * 1994-03-24 1998-09-22 Speedware Ltee./Ltd. Database query system
US5873076A (en) * 1995-09-15 1999-02-16 Infonautics Corporation Architecture for processing search queries, retrieving documents identified thereby, and method for using same
US5924089A (en) * 1996-09-03 1999-07-13 International Business Machines Corporation Natural language translation of an SQL query
US5933837A (en) * 1997-05-09 1999-08-03 At & T Corp. Apparatus and method for maintaining integrated data consistency across multiple databases
US5999937A (en) * 1997-06-06 1999-12-07 Madison Information Technologies, Inc. System and method for converting data between data sets
US6009422A (en) * 1997-11-26 1999-12-28 International Business Machines Corporation System and method for query translation/semantic translation using generalized query language
US6081774A (en) * 1997-08-22 2000-06-27 Novell, Inc. Natural language information retrieval system and method
US6081805A (en) * 1997-09-10 2000-06-27 Netscape Communications Corporation Pass-through architecture via hash techniques to remove duplicate query results
US6094649A (en) * 1997-12-22 2000-07-25 Partnet, Inc. Keyword searches of structured databases
US6282537B1 (en) * 1996-05-30 2001-08-28 Massachusetts Institute Of Technology Query and retrieving semi-structured data from heterogeneous sources by translating structured queries
US20020026443A1 (en) * 1998-04-01 2002-02-28 International Business Machines Corp. Federated searches of heterogeneous datastores using a federated datastore object
US6446064B1 (en) * 1999-06-08 2002-09-03 Albert Holding Sa System and method for enhancing e-commerce using natural language interface for searching database
US6460043B1 (en) * 1998-02-04 2002-10-01 Microsoft Corporation Method and apparatus for operating on data with a conceptual data manipulation language
US6460029B1 (en) * 1998-12-23 2002-10-01 Microsoft Corporation System for improving search text
US6523172B1 (en) * 1998-12-17 2003-02-18 Evolutionary Technologies International, Inc. Parser translator system and method
US6535874B2 (en) * 1997-09-09 2003-03-18 International Business Machines Corporation Technique for providing a universal query for multiple different databases
US6546381B1 (en) * 1998-11-02 2003-04-08 International Business Machines Corporation Query optimization system and method
US20030097357A1 (en) * 2000-05-18 2003-05-22 Ferrari Adam J. System and method for manipulating content in a hierarchical data-driven search and navigation system
US6571241B1 (en) * 1998-03-03 2003-05-27 Mazda Motor Corporation Multilingual patent information search system
US6601026B2 (en) * 1999-09-17 2003-07-29 Discern Communications, Inc. Information retrieval by natural language querying
US20030177111A1 (en) * 1999-11-16 2003-09-18 Searchcraft Corporation Method for searching from a plurality of data sources
US6633846B1 (en) * 1999-11-12 2003-10-14 Phoenix Solutions, Inc. Distributed realtime speech recognition system
US6675159B1 (en) * 2000-07-27 2004-01-06 Science Applic Int Corp Concept-based search and retrieval system
US20040059728A1 (en) * 2000-04-27 2004-03-25 Todd Miller Method and system for retrieving search results from multiple disparate databases
US6721726B1 (en) * 2000-03-08 2004-04-13 Accenture Llp Knowledge management tool

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404295A (en) * 1990-08-16 1995-04-04 Katz; Boris Method and apparatus for utilizing annotations to facilitate computer retrieval of database material
US5442780A (en) * 1991-07-11 1995-08-15 Mitsubishi Denki Kabushiki Kaisha Natural language database retrieval system using virtual tables to convert parsed input phrases into retrieval keys
US5664126A (en) * 1992-07-24 1997-09-02 Kabushiki Kaisha Toshiba Human interface system for communicating networked users
US5748974A (en) * 1994-12-13 1998-05-05 International Business Machines Corporation Multimodal natural language interface for cross-application tasks
US5694559A (en) * 1995-03-07 1997-12-02 Microsoft Corporation On-line help method and system utilizing free text query
US6026388A (en) * 1995-08-16 2000-02-15 Textwise, Llc User interface and other enhancements for natural language information retrieval system and method
US5963940A (en) * 1995-08-16 1999-10-05 Syracuse University Natural language information retrieval system and method
US5640553A (en) * 1995-09-15 1997-06-17 Infonautics Corporation Relevance normalization for documents retrieved from an information retrieval system in response to a query
US5659742A (en) * 1995-09-15 1997-08-19 Infonautics Corporation Method for storing multi-media information in an information retrieval system
JP3113814B2 (en) * 1996-04-17 2000-12-04 インターナショナル・ビジネス・マシーンズ・コーポレ−ション Information search method and information search device
US5787418A (en) * 1996-09-03 1998-07-28 International Business Machine Corporation Find assistant for creating database queries
US5950190A (en) * 1997-05-13 1999-09-07 Aptek, Inc. Dynamic, self-modifying graphical user interface for relational database applications
US6018735A (en) * 1997-08-22 2000-01-25 Canon Kabushiki Kaisha Non-literal textual search using fuzzy finite-state linear non-deterministic automata
US6173279B1 (en) * 1998-04-09 2001-01-09 At&T Corp. Method of using a natural language interface to retrieve information from one or more data resources
US7711672B2 (en) * 1998-05-28 2010-05-04 Lawrence Au Semantic network methods to disambiguate natural language meaning
US6256623B1 (en) * 1998-06-22 2001-07-03 Microsoft Corporation Network search access construct for accessing web-based search services
US6453312B1 (en) * 1998-10-14 2002-09-17 Unisys Corporation System and method for developing a selectably-expandable concept-based search
US6751606B1 (en) * 1998-12-23 2004-06-15 Microsoft Corporation System for enhancing a query interface
US6601059B1 (en) * 1998-12-23 2003-07-29 Microsoft Corporation Computerized searching tool with spell checking
US6341340B1 (en) * 1998-12-28 2002-01-22 Oracle Corporation Transitioning ownership of data items between ownership groups
US6851115B1 (en) * 1999-01-05 2005-02-01 Sri International Software-based architecture for communication and cooperation among distributed electronic agents
US6304864B1 (en) * 1999-04-20 2001-10-16 Textwise Llc System for retrieving multimedia information from the internet using multiple evolving intelligent agents
US6778971B1 (en) * 1999-06-03 2004-08-17 Microsoft Corporation Methods and apparatus for analyzing computer-based tasks to build task models
US6539374B2 (en) * 1999-06-03 2003-03-25 Microsoft Corporation Methods, apparatus and data structures for providing a uniform representation of various types of information
US6606613B1 (en) * 1999-06-03 2003-08-12 Microsoft Corporation Methods and apparatus for using task models to help computer users complete tasks
US6598039B1 (en) * 1999-06-08 2003-07-22 Albert-Inc. S.A. Natural language interface for searching database
US6636853B1 (en) * 1999-08-30 2003-10-21 Morphism, Llc Method and apparatus for representing and navigating search results
US6587547B1 (en) * 1999-09-13 2003-07-01 Microstrategy, Incorporated System and method for the creation and automatic deployment of personalized, dynamic and interactive voice services, with real-time drilling via telephone
US6658404B1 (en) * 1999-09-20 2003-12-02 Libera, Inc. Single graphical approach for representing and merging boolean logic and mathematical relationship operators
US6519603B1 (en) * 1999-10-28 2003-02-11 International Business Machine Corporation Method and system for organizing an annotation structure and for querying data and annotations
US7050977B1 (en) * 1999-11-12 2006-05-23 Phoenix Solutions, Inc. Speech-enabled server for internet website and method
US9076448B2 (en) * 1999-11-12 2015-07-07 Nuance Communications, Inc. Distributed real time speech recognition system
US7286990B1 (en) * 2000-01-21 2007-10-23 Openwave Systems Inc. Universal interface for voice activated access to multiple information providers
US6741791B1 (en) * 2000-01-31 2004-05-25 Intel Corporation Using speech to select a position in a program
US6868525B1 (en) * 2000-02-01 2005-03-15 Alberti Anemometer Llc Computer graphic display visualization system and method
US20020029207A1 (en) * 2000-02-28 2002-03-07 Hyperroll, Inc. Data aggregation server for managing a multi-dimensional database and database management system having data aggregation server integrated therein
US7177798B2 (en) * 2000-04-07 2007-02-13 Rensselaer Polytechnic Institute Natural language interface using constrained intermediate dictionary of results
US6999963B1 (en) * 2000-05-03 2006-02-14 Microsoft Corporation Methods, apparatus, and data structures for annotating a database design schema and/or indexing annotations
US20020143524A1 (en) * 2000-09-29 2002-10-03 Lingomotors, Inc. Method and resulting system for integrating a query reformation module onto an information retrieval system

Patent Citations (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5197005A (en) * 1989-05-01 1993-03-23 Intelligent Business Systems Database retrieval system having a natural language interface
US5752016A (en) * 1990-02-08 1998-05-12 Hewlett-Packard Company Method and apparatus for database interrogation using a user-defined table
US5713020A (en) * 1993-09-02 1998-01-27 Microsoft Corporation Method and system for generating database queries containing multiple levels of aggregation
US5590319A (en) * 1993-12-15 1996-12-31 Information Builders, Inc. Query processor for parallel processing in homogenous and heterogenous databases
US5812840A (en) * 1994-03-24 1998-09-22 Speedware Ltee./Ltd. Database query system
US5664109A (en) * 1995-06-07 1997-09-02 E-Systems, Inc. Method for extracting pre-defined data items from medical service records generated by health care providers
US5634053A (en) * 1995-08-29 1997-05-27 Hughes Aircraft Company Federated information management (FIM) system and method for providing data site filtering and translation for heterogeneous databases
US5873076A (en) * 1995-09-15 1999-02-16 Infonautics Corporation Architecture for processing search queries, retrieving documents identified thereby, and method for using same
US6282537B1 (en) * 1996-05-30 2001-08-28 Massachusetts Institute Of Technology Query and retrieving semi-structured data from heterogeneous sources by translating structured queries
US5802518A (en) * 1996-06-04 1998-09-01 Multex Systems, Inc. Information delivery system and method
US5924089A (en) * 1996-09-03 1999-07-13 International Business Machines Corporation Natural language translation of an SQL query
US5933837A (en) * 1997-05-09 1999-08-03 At & T Corp. Apparatus and method for maintaining integrated data consistency across multiple databases
US5999937A (en) * 1997-06-06 1999-12-07 Madison Information Technologies, Inc. System and method for converting data between data sets
US6081774A (en) * 1997-08-22 2000-06-27 Novell, Inc. Natural language information retrieval system and method
US6535874B2 (en) * 1997-09-09 2003-03-18 International Business Machines Corporation Technique for providing a universal query for multiple different databases
US6081805A (en) * 1997-09-10 2000-06-27 Netscape Communications Corporation Pass-through architecture via hash techniques to remove duplicate query results
US6009422A (en) * 1997-11-26 1999-12-28 International Business Machines Corporation System and method for query translation/semantic translation using generalized query language
US6094649A (en) * 1997-12-22 2000-07-25 Partnet, Inc. Keyword searches of structured databases
US6460043B1 (en) * 1998-02-04 2002-10-01 Microsoft Corporation Method and apparatus for operating on data with a conceptual data manipulation language
US6571241B1 (en) * 1998-03-03 2003-05-27 Mazda Motor Corporation Multilingual patent information search system
US20020026443A1 (en) * 1998-04-01 2002-02-28 International Business Machines Corp. Federated searches of heterogeneous datastores using a federated datastore object
US6546381B1 (en) * 1998-11-02 2003-04-08 International Business Machines Corporation Query optimization system and method
US6523172B1 (en) * 1998-12-17 2003-02-18 Evolutionary Technologies International, Inc. Parser translator system and method
US6460029B1 (en) * 1998-12-23 2002-10-01 Microsoft Corporation System for improving search text
US6446064B1 (en) * 1999-06-08 2002-09-03 Albert Holding Sa System and method for enhancing e-commerce using natural language interface for searching database
US6601026B2 (en) * 1999-09-17 2003-07-29 Discern Communications, Inc. Information retrieval by natural language querying
US6633846B1 (en) * 1999-11-12 2003-10-14 Phoenix Solutions, Inc. Distributed realtime speech recognition system
US20030177111A1 (en) * 1999-11-16 2003-09-18 Searchcraft Corporation Method for searching from a plurality of data sources
US6721726B1 (en) * 2000-03-08 2004-04-13 Accenture Llp Knowledge management tool
US20040267729A1 (en) * 2000-03-08 2004-12-30 Accenture Llp Knowledge management tool
US20040059728A1 (en) * 2000-04-27 2004-03-25 Todd Miller Method and system for retrieving search results from multiple disparate databases
US20030097357A1 (en) * 2000-05-18 2003-05-22 Ferrari Adam J. System and method for manipulating content in a hierarchical data-driven search and navigation system
US6675159B1 (en) * 2000-07-27 2004-01-06 Science Applic Int Corp Concept-based search and retrieval system

Cited By (168)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999961B2 (en) * 1999-04-22 2006-02-14 Mark Hall Method of aggregating and distributing informal and formal knowledge using software agents
US20020065850A1 (en) * 2000-09-13 2002-05-30 Imediation S.A. A French Corporation Method and system for composite site resource generation
US20020161749A1 (en) * 2001-04-26 2002-10-31 Siemens Medical Solutions Health Services Corporation Identifier code translation system
US7392237B2 (en) * 2001-04-26 2008-06-24 Siemens Medical Solutions Usa, Inc. Identifier code translation system
US20030074322A1 (en) * 2001-10-17 2003-04-17 Siriuz. Com Ltd. Peer-to-peer digital copyright management method and system
US7296019B1 (en) * 2001-10-23 2007-11-13 Microsoft Corporation System and methods for providing runtime spelling analysis and correction
US7752218B1 (en) 2001-11-06 2010-07-06 Thomson Reuters (Scientific) Inc. Method and apparatus for providing comprehensive search results in response to user queries entered over a computer network
US20030131319A1 (en) * 2002-01-07 2003-07-10 Hintz Kenneth James Lexicon-based new idea detector
US7024624B2 (en) * 2002-01-07 2006-04-04 Kenneth James Hintz Lexicon-based new idea detector
US7330846B1 (en) * 2002-02-08 2008-02-12 Oracle International Corporation System and method for facilitating a distributed search of local and remote systems
WO2003107174A1 (en) * 2002-06-13 2003-12-24 Cerisent Corporation Xml database mixed structural-textual classification system
US7171404B2 (en) 2002-06-13 2007-01-30 Mark Logic Corporation Parent-child query indexing for XML databases
US20040103091A1 (en) * 2002-06-13 2004-05-27 Cerisent Corporation XML database mixed structural-textual classification system
US20070136250A1 (en) * 2002-06-13 2007-06-14 Mark Logic Corporation XML Database Mixed Structural-Textual Classification System
US7127469B2 (en) 2002-06-13 2006-10-24 Mark Logic Corporation XML database mixed structural-textual classification system
US20040073541A1 (en) * 2002-06-13 2004-04-15 Cerisent Corporation Parent-child query indexing for XML databases
US7756858B2 (en) 2002-06-13 2010-07-13 Mark Logic Corporation Parent-child query indexing for xml databases
US7962474B2 (en) 2002-06-13 2011-06-14 Marklogic Corporation Parent-child query indexing for XML databases
US20040006737A1 (en) * 2002-07-03 2004-01-08 Sean Colbath Systems and methods for improving recognition results via user-augmentation of a database
US7801838B2 (en) 2002-07-03 2010-09-21 Ramp Holdings, Inc. Multimedia recognition system comprising a plurality of indexers configured to receive and analyze multimedia data based on training data and user augmentation relating to one or more of a plurality of generated documents
US7290207B2 (en) 2002-07-03 2007-10-30 Bbn Technologies Corp. Systems and methods for providing multimedia information management
US20040006748A1 (en) * 2002-07-03 2004-01-08 Amit Srivastava Systems and methods for providing online event tracking
US20040006628A1 (en) * 2002-07-03 2004-01-08 Scott Shepard Systems and methods for providing real-time alerting
US20040049495A1 (en) * 2002-09-11 2004-03-11 Chung-I Lee System and method for automatically generating general queries
US20040083104A1 (en) * 2002-10-17 2004-04-29 Daben Liu Systems and methods for providing interactive speaker identification training
US7292977B2 (en) 2002-10-17 2007-11-06 Bbnt Solutions Llc Systems and methods for providing online fast speaker adaptation in speech recognition
US7389229B2 (en) 2002-10-17 2008-06-17 Bbn Technologies Corp. Unified clustering tree
US20040172250A1 (en) * 2002-10-17 2004-09-02 Daben Liu Systems and methods for providing online fast speaker adaptation in speech recognition
US20050038649A1 (en) * 2002-10-17 2005-02-17 Jayadev Billa Unified clustering tree
US20040163034A1 (en) * 2002-10-17 2004-08-19 Sean Colbath Systems and methods for labeling clusters of documents
US20040138894A1 (en) * 2002-10-17 2004-07-15 Daniel Kiecza Speech transcription tool for efficient speech transcription
US20040204939A1 (en) * 2002-10-17 2004-10-14 Daben Liu Systems and methods for speaker change detection
US20040078760A1 (en) * 2002-10-21 2004-04-22 International Business Machines Corporation Creating multiple and cascading business interpretations from raw application data using transformation layering
US7853938B2 (en) * 2002-10-21 2010-12-14 International Business Machines Corporation Creating multiple and cascading business interpretations from raw application data using transformation layering
US20040122801A1 (en) * 2002-12-18 2004-06-24 International Business Machines Corporation Method, system and program product for filtering an entry of data items
US8719284B2 (en) 2002-12-18 2014-05-06 International Business Machines Corporation Method, system and program product for filtering an entry of data items
US20040123233A1 (en) * 2002-12-23 2004-06-24 Cleary Daniel Joseph System and method for automatic tagging of ducuments
EP1450272A3 (en) * 2003-02-24 2006-02-08 Microsoft Corporation Technique for changing views of web content
EP1450272A2 (en) * 2003-02-24 2004-08-25 Microsoft Corporation Technique for changing views of web content
US7487185B2 (en) 2003-02-24 2009-02-03 Microsoft Corporation Technique for changing views of web content
US8577907B1 (en) 2003-03-03 2013-11-05 Google Inc. Search queries improved based on query semantic information
US8055669B1 (en) * 2003-03-03 2011-11-08 Google Inc. Search queries improved based on query semantic information
US20040205439A1 (en) * 2003-04-08 2004-10-14 International Business Machines Corporation Liveness monitoring in a publish/subscribe messaging system
US7970828B2 (en) 2003-04-08 2011-06-28 International Business Machines Corporation Liveness monitoring in a publish/subscribe messaging system
US20050038777A1 (en) * 2003-04-11 2005-02-17 Eric Anderson Querying data in a highly distributed management framework
US7756810B2 (en) * 2003-05-06 2010-07-13 International Business Machines Corporation Software tool for training and testing a knowledge base
US20040250283A1 (en) * 2003-06-05 2004-12-09 International Business Machines Corporation Liveness monitoring in a publish/subscribe messaging system
US8583448B1 (en) 2003-07-11 2013-11-12 Search And Social Media Partners Llc Method and system for verifying websites and providing enhanced search engine services
US8554571B1 (en) 2003-07-11 2013-10-08 Search And Social Media Partners Llc Fundraising system, method and device for charitable causes in a social network environment
US8719176B1 (en) 2003-07-11 2014-05-06 Search And Social Media Partners Llc Social news gathering, prioritizing, tagging, searching and syndication
US7599938B1 (en) 2003-07-11 2009-10-06 Harrison Jr Shelton E Social news gathering, prioritizing, tagging, searching, and syndication method
US8620828B1 (en) 2003-07-11 2013-12-31 Search And Social Media Partners Llc Social networking system, method and device
US7467232B2 (en) 2003-10-14 2008-12-16 Aol Llc Search enhancement system and method having rankings, explicitly specified by the user, based upon applicability and validity of search parameters in regard to a subject matter
WO2005038611A3 (en) * 2003-10-14 2006-02-16 America Online Inc Search enhancement system having personal search parameters
US7165119B2 (en) * 2003-10-14 2007-01-16 America Online, Inc. Search enhancement system and method having rankings, explicitly specified by the user, based upon applicability and validity of search parameters in regard to a subject matter
US7640232B2 (en) 2003-10-14 2009-12-29 Aol Llc Search enhancement system with information from a selected source
US20070005686A1 (en) * 2003-10-14 2007-01-04 Fish Edmund J Search enhancement system having ranked general search parameters
US20090144275A1 (en) * 2003-10-14 2009-06-04 Aol Llc System and method for general search parameters having quantized relevance values that are associated with a user
US7739408B2 (en) * 2003-10-14 2010-06-15 Aol Inc. System and method for general search parameters having quantized relevance values that are associated with a user
US20050097188A1 (en) * 2003-10-14 2005-05-05 Fish Edmund J. Search enhancement system having personal search parameters
US20050080771A1 (en) * 2003-10-14 2005-04-14 Fish Edmund J. Search enhancement system with information from a selected source
US20060190240A1 (en) * 2003-10-15 2006-08-24 Han-Jin Shin Method and system for locating language expressions using context information
US20050114523A1 (en) * 2003-11-26 2005-05-26 International Business Machines Corporation Computer-implemented method, system and program product for providing real-time access to information on a computer system over a network
US20070073734A1 (en) * 2003-11-28 2007-03-29 Canon Kabushiki Kaisha Method of constructing preferred views of hierarchical data
US7664727B2 (en) * 2003-11-28 2010-02-16 Canon Kabushiki Kaisha Method of constructing preferred views of hierarchical data
US7472118B2 (en) * 2003-12-05 2008-12-30 Microsoft Corporation Systems and methods for improving information discovery
US20050125440A1 (en) * 2003-12-05 2005-06-09 Roy Hirst Systems and methods for improving information discovery
US7987170B2 (en) 2003-12-05 2011-07-26 Microsoft Corporation Systems and methods for improving information discovery
US20090089271A1 (en) * 2003-12-05 2009-04-02 Microsoft Corporation Systems and methods for improving information discovery
US20050131872A1 (en) * 2003-12-16 2005-06-16 Microsoft Corporation Query recognizer
US9317587B2 (en) * 2003-12-31 2016-04-19 Thomson Reuters Global Resources Systems, methods, interfaces and software for extending search results beyond initial query-defined boundaries
US20050228788A1 (en) * 2003-12-31 2005-10-13 Michael Dahn Systems, methods, interfaces and software for extending search results beyond initial query-defined boundaries
US8769115B2 (en) 2004-01-23 2014-07-01 Tiversa Ip, Inc. Method and apparatus for optimally utilizing a peer to peer network node by enforcing connection time limits
US8798016B2 (en) 2004-01-23 2014-08-05 Tiversa Ip, Inc. Method for improving peer to peer network communication
US20110066695A1 (en) * 2004-01-23 2011-03-17 Tiversa, Inc. Method for optimally utiilizing a peer to peer network
US8904015B2 (en) 2004-01-23 2014-12-02 Tiversa Ip, Inc. Method for optimally utilizing a peer to peer network
US8972585B2 (en) 2004-01-23 2015-03-03 Tiversa Ip, Inc. Method for splitting a load of monitoring a peer to peer network
US9300534B2 (en) 2004-01-23 2016-03-29 Tiversa Ip, Inc. Method for optimally utilizing a peer to peer network
US20100042732A1 (en) * 2004-01-23 2010-02-18 Hopkins Samuel P Method for improving peer to peer network communication
US8112383B2 (en) * 2004-02-10 2012-02-07 Microsoft Corporation Systems and methods for a database engine in-process data provider
US20050177358A1 (en) * 2004-02-10 2005-08-11 Edward Melomed Multilingual database interaction system and method
US20050187944A1 (en) * 2004-02-10 2005-08-25 Microsoft Corporation Systems and methods for a database engine in-process data provider
US20060059164A1 (en) * 2004-09-15 2006-03-16 Yahoo! Inc. Online dating service enabling testimonials for a service subscriber
US20060059130A1 (en) * 2004-09-15 2006-03-16 Yahoo! Inc. System and method of automatically modifying an online dating service search using compatibility feedback
US7917448B2 (en) 2004-09-15 2011-03-29 Yahoo! Inc. Apparatus and method for online dating service providing threaded messages with a notes and diary function
US20060059160A1 (en) * 2004-09-15 2006-03-16 Yahoo! Inc. Apparatus and method for online dating service providing threaded messages with a notes and diary function
US20060059147A1 (en) * 2004-09-15 2006-03-16 Yahoo! Inc. System and method of adaptive personalization of search results for online dating services
US20060059142A1 (en) * 2004-09-15 2006-03-16 Yahoo! Inc. System and method of modifying an on-line dating search using inline editing
US7882039B2 (en) 2004-09-15 2011-02-01 Yahoo! Inc. System and method of adaptive personalization of search results for online dating services
WO2006061843A2 (en) * 2004-12-08 2006-06-15 B-Obvious Ltd. Bidirectional data transfer optimization and content control for networks
WO2006061843A3 (en) * 2004-12-08 2007-02-15 Obvious Ltd B Bidirectional data transfer optimization and content control for networks
EA010458B1 (en) * 2004-12-08 2008-08-29 Би-ОБВИЭС ЛТД. Bidirectional data transfer optimization and content control for networks
US8271578B2 (en) 2004-12-08 2012-09-18 B-Obvious Ltd. Bidirectional data transfer optimization and content control for networks
US7418410B2 (en) 2005-01-07 2008-08-26 Nicholas Caiafa Methods and apparatus for anonymously requesting bids from a customer specified quantity of local vendors with automatic geographic expansion
US7647312B2 (en) * 2005-05-12 2010-01-12 Microsoft Corporation System and method for automatic generation of suggested inline search terms
US20060259479A1 (en) * 2005-05-12 2006-11-16 Microsoft Corporation System and method for automatic generation of suggested inline search terms
US20080177734A1 (en) * 2006-02-10 2008-07-24 Schwenke Derek L Method for Presenting Result Sets for Probabilistic Queries
US9128922B2 (en) * 2006-04-05 2015-09-08 Blackberry Limited Handheld electronic device and method for performing optimized spell checking during text entry by providing a sequentially ordered series of spell-check algorithms
US20110179035A1 (en) * 2006-04-05 2011-07-21 Lexisnexis, A Division Of Reed Elsevier Inc. Citation network viewer and method
US20130145261A1 (en) * 2006-04-05 2013-06-06 Research In Motion Limited Handheld electronic device and method for performing optimized spell checking during text entry by providing a sequentially ordered spell-check algorithms
US9053179B2 (en) 2006-04-05 2015-06-09 Lexisnexis, A Division Of Reed Elsevier Inc. Citation network viewer and method
US20070244866A1 (en) * 2006-04-18 2007-10-18 Mainstream Advertising, Inc. System and method for responding to a search request
US20080059480A1 (en) * 2006-09-06 2008-03-06 Hon Hai Precision Industry Co., Ltd. System and method for filtering contents of a web page
US20080071831A1 (en) * 2006-09-14 2008-03-20 Reddy Venkateshwara N Creating animation based on a keyword search
US20080288588A1 (en) * 2006-11-01 2008-11-20 Worldvuer, Inc. Method and system for searching using image based tagging
US9021026B2 (en) 2006-11-07 2015-04-28 Tiversa Ip, Inc. System and method for enhanced experience with a peer to peer network
AU2008239682B2 (en) * 2007-04-12 2012-01-19 Kroll Information Assurance, Llc A system and method for creating a list of shared information on a peer-to-peer network
US8909664B2 (en) * 2007-04-12 2014-12-09 Tiversa Ip, Inc. System and method for creating a list of shared information on a peer-to-peer network
US9922330B2 (en) 2007-04-12 2018-03-20 Kroll Information Assurance, Llc System and method for advertising on a peer-to-peer network
US20080263013A1 (en) * 2007-04-12 2008-10-23 Tiversa, Inc. System and method for creating a list of shared information on a peer-to-peer network
US20080319861A1 (en) * 2007-04-12 2008-12-25 Tiversa, Inc. System and method for advertising on a peer-to-peer network
CN105321108A (en) * 2007-04-12 2016-02-10 蒂弗萨公司 System and method for creating a list of shared information on a peer-to-peer network
US20090019119A1 (en) * 2007-07-13 2009-01-15 Scheffler Lee J System and method for detecting one or more missing attachments or external references in collaboration programs
US20090049023A1 (en) * 2007-08-13 2009-02-19 Board Of Regents, The University Of Texas System Method and computer program for collaborative web searching
US8156134B2 (en) * 2007-11-15 2012-04-10 International Business Machines Corporation Using different groups of query graph transform modules to generate execution plans for queries for different database types
US20090132503A1 (en) * 2007-11-15 2009-05-21 International Business Machines Organization Using different groups of query graph transform modules to generate execution plans for queries for different database types
US20100042593A1 (en) * 2008-08-12 2010-02-18 Anna Matveenko Method and system of using information banners to communicate with users of electronic dictionaries
US8155952B2 (en) * 2008-08-12 2012-04-10 Abbyy Software, Ltd Method and system of using information banners to communicate with users of electronic dictionaries
US20100096453A1 (en) * 2008-10-17 2010-04-22 La-Z-Boy Incorporated System and method for managing pricing and inventory information
US9639872B2 (en) * 2008-10-17 2017-05-02 La-Z-Boy Incorporated System and method for managing pricing and inventory information
US20100179817A1 (en) * 2009-01-13 2010-07-15 Wold & Wold Llc Search, retrieval, design management methods and systems
US8352473B2 (en) 2010-04-21 2013-01-08 Microsoft Corporation Product synthesis from multiple sources
WO2011133705A3 (en) * 2010-04-21 2012-02-02 Microsoft Corporation Product synthesis from multiple sources
US9384233B2 (en) 2010-04-21 2016-07-05 Microsoft Technology Licensing, Llc Product synthesis from multiple sources
WO2011133705A2 (en) * 2010-04-21 2011-10-27 Microsoft Corporation Product synthesis from multiple sources
US10176268B2 (en) 2011-09-08 2019-01-08 Wolfram Alpha Llc Method and system for analyzing data using a query answering system
US20130166530A1 (en) * 2011-09-08 2013-06-27 Wolfram Alpha Llc Method and System for Analyzing Data Using a Query Answering System
US9734252B2 (en) * 2011-09-08 2017-08-15 Wolfram Alpha Llc Method and system for analyzing data using a query answering system
US20130185734A1 (en) * 2012-01-16 2013-07-18 Microsoft Corporation Subscriber-based event subscription
US10565315B2 (en) 2012-09-28 2020-02-18 Cerner Innovation, Inc. Automated mapping of service codes in healthcare systems
US10318635B2 (en) 2012-09-28 2019-06-11 Cerner Innovation, Inc. Automated mapping of service codes in healthcare systems
US10403391B2 (en) 2012-09-28 2019-09-03 Cerner Health Services, Inc. Automated mapping of service codes in healthcare systems
US8996555B2 (en) * 2012-11-26 2015-03-31 Sap Se Question answering framework for structured query languages
US20140164422A1 (en) * 2012-12-07 2014-06-12 Verizon Argentina SRL Relational approach to systems based on a request and response model
US9069882B2 (en) * 2013-01-22 2015-06-30 International Business Machines Corporation Mapping and boosting of terms in a format independent data retrieval query
US20140207790A1 (en) * 2013-01-22 2014-07-24 International Business Machines Corporation Mapping and boosting of terms in a format independent data retrieval query
US20140281882A1 (en) * 2013-03-13 2014-09-18 Usablenet Inc. Methods for compressing web page menus and devices thereof
US10049089B2 (en) * 2013-03-13 2018-08-14 Usablenet Inc. Methods for compressing web page menus and devices thereof
US11194821B2 (en) 2014-08-15 2021-12-07 Groupon, Inc. Enforcing diversity in ranked relevance results returned from a universal relevance service framework
US11216843B1 (en) 2014-08-15 2022-01-04 Groupon, Inc. Ranked relevance results using multi-feature scoring returned from a universal relevance service framework
US10490306B2 (en) 2015-02-20 2019-11-26 Cerner Innovation, Inc. Medical information translation system
US11442945B1 (en) 2015-12-31 2022-09-13 Groupon, Inc. Dynamic freshness for relevance rankings
US11790182B2 (en) 2017-12-13 2023-10-17 Tableau Software, Inc. Identifying intent in visual analytical conversations
CN110019077A (en) * 2018-08-21 2019-07-16 平安科技(深圳)有限公司 Log inquiring method, device, equipment and computer readable storage medium
US11055489B2 (en) * 2018-10-08 2021-07-06 Tableau Software, Inc. Determining levels of detail for data visualizations using natural language constructs
US20210319186A1 (en) * 2018-10-08 2021-10-14 Tableau Software, Inc. Using natural language constructs for data visualizations
US11244114B2 (en) 2018-10-08 2022-02-08 Tableau Software, Inc. Analyzing underspecified natural language utterances in a data visualization user interface
US11694036B2 (en) * 2018-10-08 2023-07-04 Tableau Software, Inc. Using natural language constructs for data visualizations
US11790010B2 (en) 2019-04-01 2023-10-17 Tableau Software, LLC Inferring intent and utilizing context for natural language expressions in a data visualization user interface
US11314817B1 (en) 2019-04-01 2022-04-26 Tableau Software, LLC Methods and systems for inferring intent and utilizing context for natural language expressions to modify data visualizations in a data visualization interface
US11734358B2 (en) 2019-04-01 2023-08-22 Tableau Software, LLC Inferring intent and utilizing context for natural language expressions in a data visualization user interface
US11030255B1 (en) 2019-04-01 2021-06-08 Tableau Software, LLC Methods and systems for inferring intent and utilizing context for natural language expressions to generate data visualizations in a data visualization interface
US11734359B2 (en) 2019-09-06 2023-08-22 Tableau Software, Inc. Handling vague modifiers in natural language commands
US11416559B2 (en) 2019-09-06 2022-08-16 Tableau Software, Inc. Determining ranges for vague modifiers in natural language commands
US11042558B1 (en) 2019-09-06 2021-06-22 Tableau Software, Inc. Determining ranges for vague modifiers in natural language commands
US11429271B2 (en) 2019-11-11 2022-08-30 Tableau Software, LLC Methods and user interfaces for generating level of detail calculations for data visualizations
US11625163B2 (en) 2019-11-11 2023-04-11 Tableau Software, LLC Methods and user interfaces for generating level of detail calculations for data visualizations
US11301271B1 (en) * 2021-01-21 2022-04-12 Servicenow, Inc. Configurable replacements for empty states in user interfaces
US11893385B2 (en) 2021-02-17 2024-02-06 Open Weaver Inc. Methods and systems for automated software natural language documentation
US20220269706A1 (en) * 2021-02-24 2022-08-25 Open Weaver Inc. Methods and systems to parse a software component search query to enable multi entity search
US11836069B2 (en) 2021-02-24 2023-12-05 Open Weaver Inc. Methods and systems for assessing functional validation of software components comparing source code and feature documentation
US11836202B2 (en) 2021-02-24 2023-12-05 Open Weaver Inc. Methods and systems for dynamic search listing ranking of software components
US11921763B2 (en) * 2021-02-24 2024-03-05 Open Weaver Inc. Methods and systems to parse a software component search query to enable multi entity search
US11947530B2 (en) 2021-02-24 2024-04-02 Open Weaver Inc. Methods and systems to automatically generate search queries from software documents to validate software component search engines
US11853745B2 (en) 2021-02-26 2023-12-26 Open Weaver Inc. Methods and systems for automated open source software reuse scoring
US11570256B1 (en) * 2021-08-19 2023-01-31 Jpmorgan Chase Bank, N.A. Method and system for facilitating electronic client interactions
US20230060001A1 (en) * 2021-08-19 2023-02-23 Jpmorgan Chase Bank, N.A. Method and system for facilitating electronic client interactions
US11704319B1 (en) 2021-10-14 2023-07-18 Tableau Software, LLC Table calculations for visual analytics using concise level of detail semantics

Also Published As

Publication number Publication date
WO2002010981A3 (en) 2003-12-31
US7606805B2 (en) 2009-10-20
US20060149719A1 (en) 2006-07-06
WO2002010981A2 (en) 2002-02-07
AU2001271940A1 (en) 2002-02-13

Similar Documents

Publication Publication Date Title
US7606805B2 (en) Distributed search system and method
CN102867014B (en) Horizon Search
US8014997B2 (en) Method of search content enhancement
US7917497B2 (en) Natural language query processing
US8316040B2 (en) Programmable search engine
KR100601578B1 (en) Summarizing and Clustering to Classify Documents Conceptually
US7092938B2 (en) Universal search management over one or more networks
US7039625B2 (en) International information search and delivery system providing search results personalized to a particular natural language
US20160299983A1 (en) Programmable search engines
US8452746B2 (en) Detecting spam search results for context processed search queries
US20050065774A1 (en) Method of self enhancement of search results through analysis of system logs
US20120265744A1 (en) Knowledge-based e-catalog procurement system and method
US20070038603A1 (en) Sharing context data across programmable search engines
US20090076899A1 (en) Method for analyzing, searching for, and trading targeted advertisement spaces
WO2009081393A2 (en) System and method for invoking functionalities using contextual relations
WO2001044992A1 (en) Context matching system and method
US20060116986A1 (en) Formulating and refining queries on structured data
KR20050045650A (en) Information suppling system and method with info-box
CA2514165A1 (en) Metadata content management and searching system and method
GB2352070A (en) Search results WEB page creation

Legal Events

Date Code Title Description
AS Assignment

Owner name: EASYASK, INC., MASSACHUSETTS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HARRIS, LARRY R.;REEL/FRAME:012094/0357

Effective date: 20010709

AS Assignment

Owner name: SILICON VALLEY BANK DBA SILICON VALLEY EAST, CALIF

Free format text: SECURITY INTEREST;ASSIGNOR:EASYASK INC.;REEL/FRAME:014668/0551

Effective date: 20040514

AS Assignment

Owner name: EASYASK INC., MASSACHUSETTS

Free format text: RELEASE;ASSIGNOR:SILICON VALLEY BANK;REEL/FRAME:016064/0312

Effective date: 20041203

AS Assignment

Owner name: PROGRESS DEVELOPMENT CORPORATION, MASSACHUSETTS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:EASYASK, INC.;REEL/FRAME:016359/0899

Effective date: 20050511

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION