System and method for connecting to a set of phrases joining multiple schemas

A system and method for connecting to a set of phrases joining multiple schemas is disclosed. A phrase identifying particular content corresponding to a particular schema is submitted by an affiliated data provider to a portal. The portal matches the phrase to a set identifying particular content corresponding to multiple schemas. The portal may match the phrase to the same set as another phrase identifying the particular content in the particular schema. The portal may match the phrase to a set in a particular group of sets identifying content across common schemas. The portal may match the phrase to a set in the same group as another phrase identifying content in the particular schema. The portal may match the phrase to a previously established set or to a newly established set.

FIELD OF THE INVENTION

This invention relates in general to the field of information retrieval. More particularly, this invention relates to connecting to a set of phrases joining multiple schemas.

BACKGROUND OF THE INVENTION

Internet portals and search engines, such as MSN®, serve as gateways to Internet users by accumulating and categorizing information, and providing a wide array of services. A portal may perform a search based on a query entered by a visitor to the portal. In an existing method for performing a search, affiliated data providers submit data to be searched directly to the portal. The data may be imported into the portal's database management system. In this existing method, the portals may regularly receive data from hundreds of providers. Each data provider may submit a provider data file including multiple schemas.

In addition to a submitting multiple schemas, each data provider may submit corresponding files of phrases. A phrase is a word or words identifying specific content corresponding to a particular node in a schema. For example, a particular data provider may have data about flights departing from Chicago. The provider may have a flight schema with a departure node indicating the city from which a flight departs. “Chicago” may be content corresponding to the departure node. The content “Chicago” may be identified by the phrases “Chicago”, “Windy City”, and “Cook County”.

Another data provider may have data about limousine services available in New York City. The provider may have a limousine schema with a location node indicating the city in which the limousine service is available. “Chicago” may be content corresponding to the location node. The provider may submit a file of phrases identifying the content “Chicago.”

In existing methods for performing a search, words in a query are matched to phrases submitted by each individual data provider identifying particular content in a particular schema. The efficiency of a search is greatly improved if, rather than matching words in a query to phrases submitted by each provider, words in a query are matched to a single phrase identifying particular content across multiple provider schemas. Such a single phrase identifying content across multiple provider schemas may be referred to as a “synset.” Phrases from individual providers must be matched to the synset.

SUMMARY OF THE INVENTION

A system and method for connecting to a set of phrases joining multiple schemas is disclosed. A phrase identifying particular content corresponding to a particular schema is submitted by an affiliated data provider to a portal. The portal matches the phrase to a set identifying particular content corresponding to multiple schemas.

The portal may match the phrase to the same set as another phrase identifying the particular content in the particular schema. The portal may match the phrase to a set in a particular group of sets identifying content across common schemas. The portal may match the phrase to a set in the same group as another phrase identifying content in the particular schema. The portal may match the phrase to a previously established set or to a newly established set.

In one embodiment of the invention, the portal receives from a first affiliated data provider a first schema including multiple nodes. The portal receives from a second affiliated data provider a second schema including multiple nodes. At query time, the portal joins a node in the first schema to a node in the second schema whereby a phrase identifying particular content corresponding to the node in the first schema also identifies particular content corresponding to the node in the second schema.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

A system and method for connecting to a set of phrases joining multiple schemas is described below with reference to the aforementioned drawings. Those skilled in the art will readily appreciate that the description given herein with respect to those drawings is for explanatory purposes only and is not intended in any way to limit the scope of the invention to the specific embodiments shown. Throughout the description, like reference numerals are employed to refer to like elements in the respective figures.

Exemplary Computing Environment

System and Method of the Present Invention

A flowchart for a method for connecting to a set of phrases joining multiple schemas in accordance with the present invention is shown inFIG. 2. At step210, a search engine or Internet portal receives from an affiliated data provider schemas. The schema files may be part of provider files having multiple schemas and also including additional information about the provider such as, for example, contact information. Upon being received, the schemas may be stored in the portal's database management system. The schemas have multiple nodes that may correspond to features of a web page administered by the affiliated data provider. The schemas are preferably written in Extensible Markup Language (XML). In XML, a node may be an element or an attribute.

At step212, the portal receives from the affiliated data provider a file of phrases. A phrase is a word or words identifying specific content corresponding to a particular node in a schema. An exemplary phrase file is shown below:

At step214, phrases are matched to synsets. For example, a portal may have synset groups “City” and “Band” with synsets as shown below:CITY: {Chicago, Windy City} {Paris, City of Light} {Seattle}BAND: {Chicago} {Paris} {Timbuktu}
Note that Chicago and Paris are present in both the “City” synset group and the “Band” synset group because Chicago and Paris are both names of cities and names of musical artists.

When the portal matches the phrase “Chicago” from the exemplary phrase file to a synset, it is ambiguous whether the phrase should be matched to the phrase “Chicago” in the city synset group or the in the band synset group. However, when the portal matches the phrase “Windy City” from the exemplary phrase file to a synset, it is clear that phrase matches to the city synset group because the phrase windy city does not appear in the band sysnet group. After the portal matches the phrase “Windy City” to the city synset group, the portal may also match the phrase “Chicago” to the city synset group because the phrases “Chicago” and “Windy City” identify the same content. Such a match may be referred to as within sysnset resolution.

It is also unclear whether the phrase “Paris” in the exemplary schema should be matched to the city synset group or the band synset group. However, the phrase “Paris” corresponds to the same template as the phrases “Chicago” and “Windy City” which are matched to the city synset group. Thus, the phrase “Paris” may also be matched to the city synset group. Such a match may be referred to as cross synset resolution.

As should be appreciated, the phrase “Seattle” in the exemplary schema is matched to the city synset group. Like the phrase “Windy City”, the phrase “Seattle” appears only in the city synset group and causes the other phrases appearing in both synset groups to be matched to the city synset group.

Finally, the phrase “Timbuktu” in the exemplary schema appears only in the band synset group. However, because the majority of the phrases corresponding to the node are matched with the city synset group, the phrase “Timbuktu” is matched to a newly established synset in the city synset group.

A flowchart of a method for joining multiple schemas in accordance with the present invention is shown inFIG. 3. Generally, joining information from multiple providers improves the efficiency of search engines to retrieve information in response to a query at query time. Information providers submit phrases to enable search engines to match queries to provider data. Search engines match phrases to synsets and use synsets to connect related information to efficiently retrieve information from multiple providers at query time. Information providers are not required to explicitly map their information to a specific form as in existing information retrieval methods.

As shown inFIG. 3, at step312, a first schema from a first affiliated data provider is received by the portal. At step314, a second schema from a second affiliated data provider is received by the portal. An exemplary schema node diagram of the first schema is shown inFIG. 4aand an exemplary schema node diagram of the second schema is shown inFIG. 4b. Schema node diagram400aofFIG. 4acorresponds to an exemplary “hotel” schema. As shown, node410corresponds to the “hotel” element, node412corresponds to the “city” sub-element, and node414corresponds to the “rating” sub-element. Schema node diagram400bofFIG. 4bcorresponds to an exemplary “restaurant” schema. As shown, node420corresponds to the “restaurant” element, node422corresponds to the “city” sub-element, and node424corresponds to the “cuisine” sub-element.

“Hotel” schema400aofFIG. 4amay be a schema from a provider of data corresponding to travel planning such as, for example, Expedia®. “Restaurant” schema400bofFIG. 4bmay be a schema from a provider of data corresponding to restaurants such as, for example, Zagat's®.

At step314, at query time, a node in the first schema is joined to a node in the second schema. An exemplary diagram of joined nodes is shown inFIG. 5. As shown, “city” node412of “hotel” schema400aand “city” node422of “restaurant” schema400bare joined by “city” synset510found in the city synset group.

In XML schemas, nodes may be joined by associating the XPaths corresponding to the nodes. For example, “City” node412ofFIG. 4aand “city” node422ofFIG. 4bmay be joined using the following XPaths, with “$'s” representing placeholders for a particular synset:

Possible connections are described at the schema level, but actual connections happen at the individual synset level and are not associated with groups. For example, XPaths may be used to join as shown below, with “$'s” representing placeholders for a particular synset:

As shown above, the flight origin city is joined with the yellow page city for the “Limousine” category and the flight destination city is joined with the rental car pickup city. In the above example, flight origin cities are distinguished from flight destination cities.

As should be appreciated, there may be certain cities for which there is no data corresponding to flights, yellow pages, or rental cars. For example, there may be data for flights originating in Timbuktu, but there may not be data for yellow pages in Timbuktu. In response to a query, “Flights from Timbuktu”, a portal will retrieve data corresponding to flights from Timbuktu. However, because there is no data corresponding to yellow pages in Timbuktu, no such data will be retrieved.

All nodes joined to a synset may be accessed in response to a query by simply matching a word in the query to the synset. Thus, sysnsets enable data from multiple providers to be accessed quickly and efficiently.

While the present invention has been described in connection with the preferred embodiments of the various FIGS., it is to be understood that other similar embodiments may be used or modifications and additions may be made to the described embodiment for performing the same function of the present invention without deviating therefrom. For example, one skilled in the art will recognize that the present invention as described in the present application may apply to any computing device or environment, whether wired or wireless, and may be applied to any number of such computing devices connected via a communications network, and interacting across the network. Furthermore, it should be emphasized that a variety of computer platforms, including handheld device operating systems and other application specific operating systems are contemplated, especially as the number of wireless networked devices continues to proliferate. Still further, the present invention may be implemented in or across a plurality of processing chips or devices, and storage may similarly be effected across a plurality of devices. Therefore, the present invention should not be limited to any single embodiment, but rather should be construed in breadth and scope in accordance with the appended claims.