CA2534062C - Methods and systems for determining a meaning of a document to match the document to content - Google Patents

Methods and systems for determining a meaning of a document to match the document to content Download PDF

Info

Publication number
CA2534062C
CA2534062C CA2534062A CA2534062A CA2534062C CA 2534062 C CA2534062 C CA 2534062C CA 2534062 A CA2534062 A CA 2534062A CA 2534062 A CA2534062 A CA 2534062A CA 2534062 C CA2534062 C CA 2534062C
Authority
CA
Canada
Prior art keywords
concepts
web page
local
source
document
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.)
Expired - Fee Related
Application number
CA2534062A
Other languages
French (fr)
Other versions
CA2534062A1 (en
Inventor
Adam J. Weissman
Gilad Israel Elbaz
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CA2534062A1 publication Critical patent/CA2534062A1/en
Application granted granted Critical
Publication of CA2534062C publication Critical patent/CA2534062C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • 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/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • 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

Abstract

Systems and methods for determining a meaning of a document to match the document to content are described. In one aspect, a source article is accessed, a plurality of regions in the source article are identified, at least one local concept associated with each region is determined, the local concepts of each region are analyzed to identify any unrelated regions, the local concepts associated with any unrelated regions are eliminated to determine relevant concepts, the relevant concepts are analyzed to determine a source meaning for the source article, and the source meaning is matched with an item meaning associated with an item from a set of items.

Description

METHODS AND SYSTEMS FOR DETERMINING A MEANING OF A
DOCUMENT TO MATCH THE DOCUMENT TO CONTENT
FIELD OF THE INVENTION
The invention generally relates to documents. More particularly, the invention relates to methods and systems for determining a meaning of a document to match the document to content.
BACKGROUND OF THE INVENTION
Documents, such as web pages, can be matched to other content on the Internet, for example. Documents include, for example, web pages of various formats, such as HTML, XML, XHTML; Portable Document Format (PDF) files; and word processor and application program document files.
One example of the matching of documents to content is in Internet advertising. For example, a publisher of a website may allow advertising for a fee on its web pages. When the publisher desires to display an advertisement on a web page to a user, a facilitator can provide an advertisement to the publisher to display on the web page. The facilitator can select the advertisement by a variety of factors, such as demographic information about the user, the category of the web page, for example, sports or entertainment, or the content of the web page. The facilitator can also match the content of the web page to a knowledge item, such as a keyword, from a list of keywords. An advertisement associated with the matched keyword can then be displayed on the web page. A user may manipulate a mouse or another input device and "click" on the advertisement to view a web page on the advertiser's website that offers goods or services for sale.
In another example of Internet advertising, the actual matched keywords are displayed on a publisher's web page in a Related Links or similar section.
Similar to the example above, the content of the web page is matched to the one or more keywords, which are then displayed in the Related Links section, for example.
When a user clicks on a particular keyword, the user can be directed to a search results page that may contain a mixture of advertisements and regular search results.
Advertisers bid on the keyword to have their advertisements appear on such a search results page for the keyword. A user may manipulate a mouse or another input device and "click"
on the advertisement to view a web page on the advertiser's website that offers goods or services for sale.
Advertisers desire that the content of the web page closely relate to the advertisement, because a user viewing the web page is more likely to click on the advertisement and purchase the goods or services being offered if they are highly relevant to what the user is reading on the web page. The publisher of the web page also wants the content of the advertisement to match the content of the web page, because the publisher is often compensated if the user clicks on the advertisement and a mismatch could be offensive to either the advertiser or the publisher in the case of sensitive content.
2 Documents, such as web pages, can consist of several regions, such as, frames in the case of web pages. Some of the regions can be irrelevant to the main content of the document. Therefore, the content of the irrelevant regions can dilute the content of the overall document with irrelevant subject matter. It is, therefore, desirable to analyze a source document for the most relevant regions when determining a meaning of the source document in order to match the document to content.
SUMMARY
Embodiments of the present invention comprise systems and methods that determine the meaning of documents to match the document to content. One aspect of an embodiment of the present invention comprises accessing a source article, identifying a plurality of regions in the source article, determining at least one local concept associated with each region, analyzing the local concepts of each region to identify any unrelated regions, eliminating the local concepts associated with any unrelated regions to determine relevant concepts, analyzing the relevant concepts to determine a source meaning for the source article, and matching the source meaning with an item meaning associated with an item from a set of items. The item can be content itself or may be associated with content. In one embodiment, the invention further comprises displaying the matched item on the source article. In another embodiment, the invention further comprises displaying content associated with the item on the source article. Additional aspects of the present invention are directed to
3 computer systems and computer-readable media having features relating to the foregoing aspects.
BRIEF DESCRIPTION OF THE DRAWINGS
These and other features, aspects, and advantages of the present invention are better understood when the following Detailed Description is read with reference to the accompanying drawings, wherein:
FIG. 1 illustrates a block diagram of a system in accordance with one embodiment of the present invention;
FIG. 2 illustrates a flow diagram of a method in accordance with one embodiment of the present invention; and FIG. 3 illustrates a flow diagram of a subroutine of the method shown in FIG.
2.
DETAILED DESCRIPTION OF SPECIFIC EMBODIMENTS
The present invention comprises methods and systems for determining the meaning of a document to match the document to content. Reference will now be made in detail to exemplary embodiments of the invention as illustrated in the text and accompanying drawings. The same reference numbers are used throughout the drawings and the following description to refer to the same or like parts.
Various systems in accordance with the present invention may be constructed.
FIG. 1 is a diagram illustrating an exemplary system in which exemplary
4 embodiments of the present invention may operate. The present invention may operate, and be embodied in, other systems as well.
The system 100 shown in FIG. 1 includes multiple client devices 102a-n, server devices 104, 140 and a network 106. The network 106 shown includes the program instructions stored in memory 108. Such processors may include a microprocessor, an ASIC, and state machines. Such processors include, or may be in communication with, media, for example computer-readable media, which stores instructions that, when executed by the processor, cause the processor to perform the steps described herein. Embodiments of computer-readable media include, but are
5 public network, or other transmission device or channel, both wired and wireless.
The instructions may comprise code from any computer-programming language, including, for example, C, C++, C#, Visual Basic, Java, and JavaScript.
Client devices 102a-n may also include a number of external or internal devices such as a mouse, a CD-ROM, a keyboard, a display, or other input or output devices. Examples of client devices 102a-n are personal computers, digital assistants, personal digital assistants, cellular phones, mobile phones, smart phones, pagers, digital tablets, laptop computers, a processor-based device and similar types of systems and devices. In general, a client device 102a-n may be any type of processor-based platform connected to a network 106 and that interacts with one or more application programs. The client devices 102a-n shown include personal computers executing a browser application program such as Internet ExplorerTM, version
6.0 from Microsoft Corporation, Netscape NavigatorTM, version 7.1 from Netscape Communications Corporation, and SafariTM, version 1.0 from Apple Computer.
Through the client devices 102a-n, users 112a-n can communicate over the network 106 with each other and with other systems and devices coupled to the network 106.
As shown in FIG. 1, server devices 104, 140 are also coupled to the network 106. The document server device 104 shown includes a server executing a document engine application program. The content server device 140 shown includes a server executing a content engine application program. The system 100 can also include multiple other server devices. Similar to the client devices 102a-n, the server devices 104, 140 shown each include a processor 116, 142 coupled to a computer readable memory 118, 144. Each server device 104, 140 is depicted as a single computer system, but may be implemented as a network of computer processors. Examples of server devices 104, 140 are servers, mainframe computers, networked computers, a processor-based device and similar types of systems and devices. Client processors 110 and server processors 116, 142 can be any of a number of well known computer processors, such as processors from Intel Corporation of Santa Clara, California and Motorola Corporation of Schaumburg, Illinois.
Memory 118 of the document server device 104 contains a document engine application program, also known as a document engine 124. The document engine 124 determines a meaning for a source article and matches the source article to an item, such as, another article or a knowledge item. The item can be the content itself or can be associated with the content. The source articles can be received from other devices connected to the network 106. Articles include, documents, for example, web pages of various formats, such as HTML, XML, XHTML, Portable Document Format (PDF) files, and word processor, database, and application program document files, audio, video, or any other information of any type whatsoever made available on a network (such as the Internet), a personal computer, or other computing or storage means. The embodiments described herein are described generally in relation to documents, but embodiments may operate on any type of article. Knowledge items are anything physical or non-physical that can be represented through symbols and can be, for example, keywords, nodes, categories, people, concepts, products, phrases, documents, and other units of knowledge. Knowledge items can take any form, for
7 example, a single word, a term, a short phrase, a document, or some other structured or unstructured information.
The embodiments described herein are described generally in relation to keywords, but embodiments may operate on any type of knowledge item.
The document engine 124 shown includes a preprocessor 134, a meaning processor 136, and a matching processor 137. In the embodiment shown, each comprises computer code residing in the memory 118. The document engine 124 receives a request for content to be placed on a source document. Such request can be received from a device connected to the network 106. The content can include documents, such as web pages and advertisements, and knowledge items such as keywords. The preprocessor 134 receives the source document and analyzes the source document to determine concepts contained in the document and regions in the document. A concept can be defined using a cluster or set of words or terms associated with it, where the words or terms can be, for example, synonyms. A
concept can also be defined by various other information, such as, for example, relationships to related concepts, the strength of relationships to related concepts, parts of speech, common usage, frequency of usage, the breadth of the concept and other statistics about concept usage in language. The meaning processor 136 analyzes the concepts and the regions to eliminate regions unrelated to the main concepts of the source document. The meaning processor 136 then determines a source meaning for the source document from the remaining regions. The matching processor 137
8 matches the source meaning of the source document with a meaning of an item from a set of items.
Memory 144 of content server device 140 contains a content engine application program, also known as a content engine 146. In the embodiment shown, the content engine comprises computer code residing in memory 144. The content engine 146 receives the matched item from the document server device 104 and places the item or content associated with the item on the source document. In one embodiment, the content engine 146 receives a matched keyword from the matching engine 137 and associates a document, such as an advertisement, with it. The advertisement is then sent to a requester's website and placed in the source document, such as, a frame on a web page, for example.
Document server device 104 also provides access to other storage elements, such as a meaning storage element, in the example shown a meaning database 120.
The meaning database can be used to store meanings associated with source documents. Content server device 140 also provides access to other storage elements, such as a content storage element, in the example shown a content database 148. The content database can be used to store items and content associated with the items, such as keywords and associated advertisements. Data storage elements may include any one or combination of methods for storing data, including without limitation, arrays, hashtables, lists, and pairs. Other similar types of data storage devices can be accessed by the server devices 104 and 140.
9 It should be noted that the present invention may comprise systems having different architecture than that which is shown in FIG. 1. For example, in some systems according to the present invention, the preprocessor 134 and meaning processor 136 may not be part of the document engine 124, and may carry out their operations offline. In one embodiment, the meaning of a document is determined periodically as the document engine crawls documents, such as web pages. In another embodiment, the meaning of a document is determined when a request for content to be placed on the document is received. The system 100 shown in FIG.
1 is merely exemplary, and is used to explain the exemplary methods shown in FIGS.
2-3.
In the exemplary embodiment shown in FIG. 1, a user 112a can access a document on a device connected to the network 106, such as a web page on a website.
For example, the user 112a may access a web page containing a story about fly fishing for salmon in Washington on a news website. In this example, the web page contains four regions, a title section containing the title of the story, the author and a one sentence summary of the story, a main story section containing the text and pictures of the story, a banner ad relating to selling automobiles, and a link section containing links to other web pages in the website, such as national news, weather and sports. The owner of the news website may desire to sell advertising space on the source web page and thus, sends a request to the document server 104 via the network 106 for an item, such as an advertisement, to be displayed on the web page.
In order to match the source web page with an item, the meaning of the source web page is first determined. The document engine 124 accesses the source web page and may receive the web page. The source meaning of the web page may have previously been determined and may be stored in the meaning database 120. If the source meaning has previously been determined, then the document engine 124 retrieves the source meaning.
If the source meaning of the web page has not been determined, the preprocessor 134 first identifies concepts contained in the web page and regions contained in the web page. For example, the preprocessor may determine that the web page has four regions corresponding to the title region, the story region, the banner ad region and the links region and that the web page contains concepts relating to salmon, fly fishing, Washington, automobiles, news, weather, and sports.
The regions do not necessarily correspond to frames on a web page. The meaning engine then determines local concepts for each region and ranks all of the local concepts. A
variety of weighing factors can be used to rank the concepts, such as, the importance of the region, the importance of the concept, the frequency of the concept, the number of regions the concept appears in, and the breadth of the concept, for example.
The meaning engine 136 then identifies regions that are unrelated to the majority of the concepts and eliminates the local concepts associated with them. In the example, the banner region and the link region do not contain concepts particularly relevant to the story and thus, the concepts related to these regions are eliminated. The meaning engine then determines a source based on the remaining concepts. The meaning could be a vector of weighted concepts. For example, the meaning could be salmon (40 %), fly fishing (40 %) and Washington (20 %).

This meaning can be matched to an item by the matching processor 137. The items can include, documents, such as web pages and advertisements, and knowledge items, such as keywords, and can be received from the content server device 140.
The items can be stored in the content database 148. For example, if the items are keywords, such as, fly fishing, backpacking, CDs, and travel the matching engine compares the source meaning with meanings associated with the keywords to determine a match. Biasing factors, such as cost per click data associated with each keyword, can be used. For example, if the meaning of the keyword fly fishing is a closer match than the meaning of the keyword travel, but the advertiser who has currently bought the keyword travel has a higher cost per click rate, the meaning engine may match the source meaning with the keyword travel. Content filters can also be used to filter out any adult content or sensitive content.
The matched keyword can be received by the content server device 140. The content engine 146 associates an advertisement with the matched keyword and displays it on the source web page. For example, if the travel keyword was matched the content engine would display on the source web page containing the story about fly fishing for salmon in Washington the advertisement associated with the keyword travel. If the user 112a points his input device at the advertisement and clicks on it, the user may be directed to a web page associated with the advertisement.
Various methods in accordance with the present invention may be carried out.
One exemplary method according to the present invention comprises accessing a source article, identifying a plurality of regions in the source article, determining at least one local concept associated with each region, analyzing the local concepts of each region to identify any unrelated regions, eliminating the local concepts associated with any unrelated regions to determine relevant concepts, analyzing the relevant concepts to determine a source meaning for the source article, and matching the source meaning with an item meaning associated with an item from a set of items.
Biasing factors can be used to match the source meaning with an item meaning.
The source meaning can be a vector of weighted concepts.
In some embodiments, the method further comprises displaying the matched item on the source article. In these embodiments, the source article can be a web page and the matched item can be a keyword. Alternatively, the source article can be a web page and the matched item can be an advertisement.
In some embodiments, the method further comprises displaying content associated with the matched item on the source article. In these embodiments, the source article can be a web page, the matched item can be a keyword and the associated content can be an advertisement. Further, the source article can be a first web page, the matched item can be a second web page and the associated content can be an advertisement. Alternatively, the source article can be a first web page, the matched item can be a second web page and the associated content can be a link to the second web page.
In some embodiments, determining at least one local concept involves determining a score for each local concept in each region. The local concepts in each region with the highest scores are most relevant local concepts. Further, identifying unrelated regions involves first determining a revised score for each local concept.
Next, a ranked global list is determined containing all local concepts based on the revised scores. Local concepts whose combined revised score contributes less than a predetermined amount of a total score for the global list are removed to produce a resulting list. Then, unrelated regions with no most relevant local concepts on the resulting list are determined. Local concepts associated with the unrelated regions are then removed from the resulting list to produce a list of relevant concepts.
Moreover, a source meaning is determined by normalizing the revised scores for the relevant concepts.
Another exemplary method according to the present invention comprises accessing a source article, identifying at least a first content region and a second content region in the source article, determining at least a first local concept associated with the first content region and determining at least a second local concept associated with the second content region, matching the first content region with a first item from a set of items based at least in part on the first local concept, and matching the second content region with a second item from the set of items based at least in part on the second local concept.
FIGs. 2-3 illustrate an exemplary method 200 in accordance with the present invention in detail. This exemplary method is provided by way of example, as there are a variety of ways to carry out methods according to the present invention.
The method 200 shown in FIG. 2 can be executed or otherwise performed by any of various systems. The method 200 is described below as carried out by the system 100 shown in FIG. 1 by way of example, and various elements of the system 100 are referenced in explaining the example method of FIGs. 2-3. The method 200 shown provides a determination of the meaning of a source document to match the source document to an item.
Each block shown in FIGs. 2-3 represents one or more steps carried out in the exemplary method 200. Referring to FIG. 2 in block 202, the example method 200 begins. Block 202 is followed by block 204 in which a document is accessed.
The document can, for example, be accessed and received from a device on the network 106 or other sources.
Block 204 is followed by block 206, in which a meaning for the source document is determined. In the embodiment shown, a meaning is determined for the source document by separating the document into regions, eliminating unhelpful regions, and analyzing concepts contained in the remaining regions of the document.
For example, in the embodiment shown, the preprocessor 134 initially determines concepts contained in the source document and determines regions in the document.
The meaning processor 136 ranks the concepts and removes regions and associated concepts unrelated to the majority of the concepts. From the remaining concepts, the meaning processor 136 determines a source meaning for the document.
Figure 3 illustrates a subroutine 206 for carrying out the method 200 shown in Fig. 2. The subroutine 206 provides a meaning for the source document received. An example of the subroutine is as follows.

The subroutine begins at block 300. At block 300, the source document is preprocessed to determine concepts contained in the document. This can be accomplished by natural language and text processing to decipher the document into words and then aligning the words with concepts. In one embodiment, for example, tokens corresponding to words are first determined by natural language and text processing and matched to tokens contained in a semantic network of interconnected meanings. From the matched tokens, terms are then determined from the semantic network. Concepts for the determined terms are then assigned and given a probability of being related to the terms.
Block 300 is followed by block 302, in which regions of the document are identified. Regions of the document can be determined, for example, based on certain heuristics, including formatting information. For example, for a source document that is a web page that comprises HTML labels, the labels can be used to aid in identifying regions. For example, text within <title>.... </title> tags can be marked as text in a title region. Text in a paragraph where more than seventy percent of the text is within tags <a>.... </a> can be marked as in a link region. The structure of the text can also be used to aid in identifying the regions. For example, text in short paragraphs or columns in a table, without the structure of a sentence, such as, for example, without a verb, too few words, or no punctuation to end the sentence, can be marked as being in a list region. Text in long sentences, with verbs and punctuation, can be marked as part of a text region. When the type of region changes, a new region can be created starting with the text marked with the new type. In one embodiment, if a text region gets more than twenty percent of the document, it can be broken in smaller pieces.
Block 302 is followed by block 304, in which the most relevant concepts for each region are determined. In the embodiment shown, the meaning processor 136 processes the concepts identified for each region to come up with a smaller set of local concepts for each region. Relationships between concepts, the frequency of the occurrence of the concept within the region and the breadth of the concept can be used in the determination of local concepts.
In one embodiment, for each region, every concept is put in a list. The concepts are ranked on the list by determining a score for each concept using a variety of factors. For example, if a first concept has a strong connection to other concepts, this is used to boost the score of the first concept and its related concepts.
This effect is tempered by the frequency of occurrence of the first concept and the focus (or breadth) of the first concept to diminish very common concepts and concepts that are broader in meaning. Concepts whose frequencies are above a certain threshold can be filtered out. Perceived importance of the concept can also impact the score of the concept. Importance of a concept can be determined earlier in processing by, for example, whether words that caused the inclusion of the concept are marked in bold.
After the concepts for each region are ranked, the least relevant concepts can be removed. This can be done by choosing a set number of the highest ranking concepts or removing concepts having a ranking score below a certain score.

Block 304 is followed by block 306, in which all of the local concepts for each region are combined and analyzed. In the embodiment shown, the meaning processor 136 receives all local concepts for each region and creates a ranked global list of all local concepts by, for example, a score for each local concept. Biasing factors such as the importance of each region can be used to determine the score. The importance of each region can be determined by the type of region and the size of a region.
For example, a title region can be considered more important than a links region and concepts appearing in the title region can be given more weight than concepts in the links region. Additional weight can be given to concepts that appear in more than one region. For example, duplicates of concepts can be merged and their scores added together. This global list can then be sorted, and the trailing concepts contributing to less than twenty percent, for example, of the sum of the scores can be removed to produce a resulting global list of local concepts.
Block 306 is followed by block 308, in which regions whose main concepts relate to unrelated concepts are eliminated. In the embodiment shown, the meaning processor 136 determines unrelated regions, regions containing concepts not related to the majority of concepts and eliminates them. It should be understood that "related" and "unrelated" need not be determined using absolute criteria.
"Related" is an indication of a relatively high degree of relationship, and/or a predetermined degree of relationship. "Unrelated" is an indication of a relatively low degree of relationship, and/or a predetermined degree of relationship. By eliminating unrelated regions, the associated unrelated concepts are eliminated. For example, if the source document is a web page made up of various frames, some of the frames will relate to _ advertisements or links to other pages in the website and, thus, will be unrelated to the main meaning of the web page.
In one embodiment, for example, the resulting global list determined in block 306 can be an approximation of the meaning of the document and can be used to remove the regions that are not related to the meaning of the document. The meaning processor 136 can, for each region, determine if the most representative local concepts for the region are not present in the resulting global list. If the most representative local concepts for a region are not on the list, the region can be marked as irrelevant. The most representative local concepts for a region can be the concepts with the highest scores for the region as determined in block 304, for example.
Block 308 is followed by block 310, in which the meaning of the source document is determined. In the embodiment shown, the meaning processor 136 recalculates the representativeness of the local concepts for the regions not eliminated to create a relevant list of concepts. These local concepts on the relevant list can then be culled to a fixed number of concepts to provide a meaning list and then normalized to provide a source meaning. For example, a meaning list can be created using only concepts contained in relevant regions and all except the twenty-five highest scoring concepts are removed from the new list. The scores of the highest scoring concepts can be normalized to provide a source meaning. In this example, the source meaning can be a weighted vector of relevant concepts.

Referring again to Figure 2 block 206 is followed by block 208, in which a set of items is received. The items can be received, for example, by the matching processor 137 from the content server device 140. The items can include for example knowledge items, such as, keywords, and documents, such as, advertisements and web pages.
The meaning of a document can be determined in the same manner as described with respect to Figure 3, for example.
Block 208 is followed by block 210, in which the source document is matched to an item. Biasing factors can be used in the matching process. In one embodiment, for example, the source meaning is matched with a keyword meaning associated with a keyword from a set of keywords. The matching engine compares the source meaning to the keyword meanings and uses biasing factors, such as cost per click data associated with the keywords to determine a match. This matched keyword can then be sent to the content server device 140. The content engine 146 can match the matched keyword with its associated advertisement and display the advertisement on the source document. Alternatively, the content engine can display the keyword itself on the source document. In another embodiment meanings for advertisements are matched to the source meaning. In this embodiment, the content engine 146 can cause the display of the matched advertisement on the source document. In another embodiment, meanings for web pages are matched to the source meaning. In this embodiment, the content engine 146 can cause the display of an advertisement associated with the web page. Block 210 is followed by block 212, in which the method ends.
In one embodiment, after the source document is accessed, the source document is analyzed by the preprocessor 134 to determine content regions of the source document. Content regions can be regions containing a substantial amount of text, such as, for example, a text region or a link region, or can be a region of relative importance, such as, for example, the title region. These regions can be determined through use of heuristics as described above. The preprocessor 134 can also identify concepts located in each content region as described above. These concepts can be used by the meaning processor 136 to determine a meaning for each content region.
The matching processor 137 can match the meaning of each content region with a keyword. The content engine 146 can match the matched keyword with its associated advertisement and display the advertisement on the source document.
Alternatively, the content engine can display the keyword itself on the source document. In another embodiment, meanings for advertisements are matched to the region meanings. In this embodiment, the content engine 146 can cause the display of the matched advertisement on the source document. In another embodiment, meanings for web pages are matched to the region meanings. In this embodiment, the content engine 146 can cause the display of an advertisement associated with the web page. In one embodiment, the advertisements or keywords are displayed in the content region for which they are matched.
While the above description contains many specifics, these specifics should not be construed as limitations on the scope of the invention, but merely as exemplifications of the disclosed embodiments. Those skilled in the art will envision many other possible variations that are within the scope of the invention.

Claims (32)

WHAT IS CLAIMED IS:
1. A method comprising:
receiving a source web page document;
identifying a plurality of regions in said source web page document by analyzing said document based on predefined heuristics;
determining at least one local concept expressed in each previously identified region, wherein determining the at least one local concept comprises identifying words in the document and aligning the words with concepts, wherein said at least one local concept expressed in said each previously identified region is a concept expressed by two or more words in the region and said concept is assigned a probability ranking said two or more words to said at least one local concept;
analyzing the previously determined local concepts of each region to identify one or more unrelated concepts with local concepts of other of said previously identified regions by creating a ranked global list of all of said local concepts and applying biasing factors to each of said local concepts;
eliminating the previously identified unrelated concepts from a determination of a source meaning for the source web page document;
removing unrelated regions of said previously identified regions by comparing a ranked list of local concepts for each of said previously identified regions to said global list;
wherein the source meaning for the source web page document is a weighted vector of said previously determined local concepts expressed in the source web page document; and matching the source web page document with an item selected from a set of items by comparing the previously determined source meaning and a meaning of the item.
2. The method of claim 1, further comprising causing the matched item to be displayed on the source web page document at a display device.
3. The method of claim 2, wherein the matched item comprises a keyword.
4, The method of claim 2, wherein the matched item comprises an advertisement.
5. The method of claim 1, further comprising displaying content associated with the matched item on the source web page document.
6. The method of claim 5, wherein:
the matched item comprises a keyword; and the associated content comprises an advertisement.
7. The method of claim 5, wherein:
the matched item comprises a second web page; and the associated content comprises an advertisement.
8. The method of claim 5, wherein:
the matched item comprises a second web page; and the associated content comprises a link to the second web page.
9. The method of claim 1, wherein matching the source web page document with the item comprises matching the source web page document with the item using a biasing factor.
10. The method of claim 1, wherein:
determining at least one local concept comprises determining a score for each local concept; and the local concept with the highest score in each region comprises a most relevant local concept for that region.
11. The method of claim 10, wherein identifying unrelated concepts comprise:
determining a revised score for each local concept;
determining said ranked global list of all local concepts based on the revised scores;
removing local concepts whose combined revised score contributes less than a predetermined amount of a total score of the global list to produce a resulting list;
identifying said unrelated regions without a most relevant local concept on the resulting list; and removing local concepts expressed in the unrelated regions from the resulting list to produce a list of relevant concepts.
12. The method of claim 11, wherein determining the source meaning comprises normalizing the revised scores for the relevant concepts.
13. A computer program product having one or more computer-readable media containing program code operable to cause one or more computers to perform identifying concepts to regions of a web page document, said computer executable code, comprising:
receiving a source web page document;
identifying a plurality of regions in said source web page document by a preprocessor;
analyzing said source web page document by said preprocessor by a set of predefined heuristics to define said plurality of regions:
determining at least one local concept expressed in each previously identified region, wherein determining the at least one local concept comprises identifying words in the document and aligning the words with concepts, wherein said at least one local concept expressed in a region is expressed by two or more words in the region and is determined using a probability assigned to said two or more words related to said at least one local concept;
analyzing the previously determined local concepts of each region to identify unrelated concepts having a predetermined degree of relationship with local concepts of other of said previously identified regions;
eliminating the previously identified unrelated concepts from a determination of a source meaning for the source web page document;
removing unrelated regions of said previously identified regions by comparing a ranked list of local concepts for each of said previously identified regions to a ranked global list of all of said local concepts;
wherein the source meaning for the source web page document is a weighted vector of said previously determined local concepts expressed in the source web page document; and matching the source web page document with an item selected from a set of items by comparing the previously determined source meaning and a meaning of the item.
14. The computer program product of claim 13, wherein the operations further comprise causing the matched item to be displayed on the source web page document at a display device.
15. The computer program product of claim 14, wherein the matched item comprises a keyword.
16. The computer program product of claim 14, wherein the matched item comprises an advertisement.
17. The computer program product of claim 13, wherein the operations further comprise displaying content associated with the matched item on the source web page document.
18. The computer program product of claim 17, wherein:
the matched item comprises a keyword; and the associated content comprises an advertisement.
19. The computer program product of claim 17, wherein:
the matched item comprises a second web page; and the associated content comprises an advertisement.
20. The computer program product of claim 17, wherein:
the matched item comprises a second web page; and the associated content comprises a link to the second web page.
21. The computer program product of claim 13, wherein matching the source web page document with the item comprises matching the source web page document with the item using a biasing factor.
22. The computer program product of claim 13, wherein eliminating said unrelated concepts comprises ranking said previously determined local concepts in said global list using biasing factors.
23. The computer program product of claim 13, wherein:
determining at least one local concept comprises determining a score for each local concept; and the local concept with the highest score in each region comprises a most relevant local concept for that region.
24. The computer program product of claim 23, wherein identifying unrelated regions comprises:
determining a revised score for each local concept;

determining said ranked global list of all local concepts based on the revised scores;
removing local concepts whose combined revised score contributes less than a predetermined amount of a total score of the global list to produce a resulting list;
identifying unrelated regions without a most relevant local concept on the resulting list;
and removing local concepts expressed in the unrelated regions from the resulting list to produce a list of relevant concepts.
25. The computer program product of claim 24, wherein determining the source meaning comprises normalizing the revised scores for the relevant concepts.
26. A method for matching regions in articles to advertisements, the method performed by a document server implemented as a network of computer processors or as a single computer system, the document server executing a document engine, the method comprising:
accessing a stored source web page document;
identifying a first content region and a second content region in said source web page document;
determining a first local concept expressed in the previously identified first content region and determining a second local concept expressed in the previously identified second content region, wherein determining the first and second local concepts comprises:
identifying words in the respective of the first and second content regions, and aligning the words with concept to generate a plurality of local concepts from said identified first content region and said second content region collected in a ranked global list of said local concepts by applying biasing factors to each of said plurality of local concepts;
wherein a local concept expressed is a concept expressed by two or more words in the respective region;
eliminating unrelated concepts from said plurality of local concepts from a determination of said first and said second local concepts;
matching the first content region with a first advertisement from a set of advertisements by comparing the previously determined first local concept with a meaning of the first advertisement;
matching the second content region with a second advertisement from the set of advertisements by comparing the previously determined second local concept with a meaning of the second advertisement; and causing the previously matched advertisements to be displayed on the source web page document at a display device.
27. The method of claim 26, wherein causing the matched advertisements to be displayed comprises:
causing the first advertisement to be displayed in the first content region;
and causing the second advertisement to be displayed in the second content region.
28. A method for determining a source meaning for a web page document, the method performed by a document server implemented as a network of computer processors or as a single computer system, the document server executing a document engine, the method comprising:

receiving a web page document;
identifying a collection of different regions in said web page document;
determining concepts expressed in each of the different previously identified regions in the collection;
wherein determining the concepts expressed in each of the different regions comprises:
identifying words in each of the different regions and aligning the words with concepts;
creating a ranked global list of concepts by applying a biasing factor to at least some of said concepts expressed in each of said regions;
identifying a first concept that was determined to be expressed in a first region of said identified collection of different regions;
removing unrelated concepts from said global list of concepts;
determining the source meaning for the web page document, wherein determining the source meaning includes excluding the previously identified unrelated concepts from the determination of the source meaning, and wherein the source meaning is a vector of said determined concepts expressed in the web page document; and making the previously determined source meaning available.
29. The method of claim 28, wherein identifying the collection of different regions in the document comprises identifying frames in the web page document.
30. The method of claim 28, wherein identifying the collection of different regions in the web page document comprises identifying the different regions based on markup in the web page document.
31. The method of claim 28, wherein determining concepts comprises identifying collections of related words in each of the different regions in the collection.
32. The method of claim 28, further comprising:
based on the concepts expressed in each of the different regions in the collection, selecting one or more advertisements; and making the web page document and the selected advertisements available for output.
CA2534062A 2003-07-30 2004-07-23 Methods and systems for determining a meaning of a document to match the document to content Expired - Fee Related CA2534062C (en)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US49142203P 2003-07-30 2003-07-30
US60/491,422 2003-07-30
US10/689,903 US8914361B2 (en) 1999-09-22 2003-10-21 Methods and systems for determining a meaning of a document to match the document to content
US10/689,903 2003-10-21
PCT/US2004/023827 WO2005013150A1 (en) 2003-07-30 2004-07-23 Methods and systems for determining a meaning of a document to match the document to content

Publications (2)

Publication Number Publication Date
CA2534062A1 CA2534062A1 (en) 2005-02-10
CA2534062C true CA2534062C (en) 2013-09-17

Family

ID=34118862

Family Applications (1)

Application Number Title Priority Date Filing Date
CA2534062A Expired - Fee Related CA2534062C (en) 2003-07-30 2004-07-23 Methods and systems for determining a meaning of a document to match the document to content

Country Status (7)

Country Link
US (1) US8914361B2 (en)
EP (1) EP1649396A1 (en)
KR (1) KR101132942B1 (en)
AU (2) AU2004262303B2 (en)
BR (1) BRPI0413097A (en)
CA (1) CA2534062C (en)
WO (1) WO2005013150A1 (en)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7925610B2 (en) * 1999-09-22 2011-04-12 Google Inc. Determining a meaning of a knowledge item using document-based information
US20090015596A1 (en) * 2002-06-27 2009-01-15 Tele Atlas North America, Inc. System and method for viewing and editing digital maps using a plug-in data abstraction layer for different digital map formats
US20050149388A1 (en) * 2003-12-30 2005-07-07 Scholl Nathaniel B. Method and system for placing advertisements based on selection of links that are not prominently displayed
US8655727B2 (en) * 2003-12-30 2014-02-18 Amazon Technologies, Inc. Method and system for generating and placing keyword-targeted advertisements
US7424467B2 (en) 2004-01-26 2008-09-09 International Business Machines Corporation Architecture for an indexer with fixed width sort and variable width sort
US8296304B2 (en) 2004-01-26 2012-10-23 International Business Machines Corporation Method, system, and program for handling redirects in a search engine
US7293005B2 (en) 2004-01-26 2007-11-06 International Business Machines Corporation Pipelined architecture for global analysis and index building
US7499913B2 (en) 2004-01-26 2009-03-03 International Business Machines Corporation Method for handling anchor text
US7752200B2 (en) * 2004-08-09 2010-07-06 Amazon Technologies, Inc. Method and system for identifying keywords for use in placing keyword-targeted advertisements
US7461064B2 (en) 2004-09-24 2008-12-02 International Buiness Machines Corporation Method for searching documents for ranges of numeric values
US20060090184A1 (en) * 2004-10-26 2006-04-27 David Zito System and method for presenting information
US10482474B1 (en) * 2005-01-19 2019-11-19 A9.Com, Inc. Advertising database system and method
US8417693B2 (en) * 2005-07-14 2013-04-09 International Business Machines Corporation Enforcing native access control to indexed documents
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US20070150477A1 (en) * 2005-12-22 2007-06-28 International Business Machines Corporation Validating a uniform resource locator ('URL') in a document
JP4743766B2 (en) * 2006-02-28 2011-08-10 株式会社ヴァリアスデザイン Impression determination system, advertisement article generation system, impression determination method, advertisement article generation method, impression determination program, and advertisement article generation program
JP4728149B2 (en) * 2006-03-09 2011-07-20 ヤフー株式会社 Advertisement presentation system and advertisement presentation method
US7933890B2 (en) * 2006-03-31 2011-04-26 Google Inc. Propagating useful information among related web pages, such as web pages of a website
US7996777B2 (en) * 2006-04-20 2011-08-09 Google Inc. Syndicated trackable ad content
US8788320B1 (en) 2007-03-28 2014-07-22 Amazon Technologies, Inc. Release advertisement system
US8533202B2 (en) 2009-07-07 2013-09-10 Yahoo! Inc. Entropy-based mixing and personalization
EP2561452A4 (en) * 2010-04-19 2015-10-28 Hewlett Packard Development Co Semantically ranking content in a website
US9240020B2 (en) 2010-08-24 2016-01-19 Yahoo! Inc. Method of recommending content via social signals
RU2592395C2 (en) * 2013-12-19 2016-07-20 Общество с ограниченной ответственностью "Аби ИнфоПоиск" Resolution semantic ambiguity by statistical analysis
CN104866465B (en) * 2014-02-25 2017-11-03 腾讯科技(深圳)有限公司 Sensitive Method for text detection and device
US20160343086A1 (en) * 2015-05-19 2016-11-24 Xerox Corporation System and method for facilitating interpretation of financial statements in 10k reports by linking numbers to their context
KR101931859B1 (en) * 2016-09-29 2018-12-21 (주)시지온 Method for selecting headword of electronic document, method for providing electronic document, and computing system performing the same

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404506A (en) 1985-03-27 1995-04-04 Hitachi, Ltd. Knowledge based information retrieval system
US4839853A (en) 1988-09-15 1989-06-13 Bell Communications Research, Inc. Computer information retrieval using latent semantic structure
US5325298A (en) 1990-11-07 1994-06-28 Hnc, Inc. Methods for generating or revising context vectors for a plurality of word stems
US5619709A (en) 1993-09-20 1997-04-08 Hnc, Inc. System and method of context vector generation and retrieval
US5499360A (en) 1994-02-28 1996-03-12 Panasonic Technolgies, Inc. Method for proximity searching with range testing and range adjustment
US5687364A (en) * 1994-09-16 1997-11-11 Xerox Corporation Method for learning to infer the topical content of documents based upon their lexical content
US5724571A (en) 1995-07-07 1998-03-03 Sun Microsystems, Inc. Method and apparatus for generating query responses in a computer-based document retrieval system
US6067552A (en) 1995-08-21 2000-05-23 Cnet, Inc. User interface system and method for browsing a hypertext database
US5778367A (en) * 1995-12-14 1998-07-07 Network Engineering Software, Inc. Automated on-line information service and directory, particularly for the world wide web
US5778364A (en) 1996-01-02 1998-07-07 Verity, Inc. Evaluation of content of a data set using multiple and/or complex queries
US5848396A (en) 1996-04-26 1998-12-08 Freedom Of Information, Inc. Method and apparatus for determining behavioral profile of a computer user
US6101515A (en) 1996-05-31 2000-08-08 Oracle Corporation Learning system for classification of terminology
US5778363A (en) 1996-12-30 1998-07-07 Intel Corporation Method for measuring thresholded relevance of a document to a specified topic
US5960383A (en) 1997-02-25 1999-09-28 Digital Equipment Corporation Extraction of key sections from texts using automatic indexing techniques
US6119164A (en) 1997-04-15 2000-09-12 Full Circle Software, Inc. Method and apparatus for distributing over a network unsolicited information to a targeted audience
US5878223A (en) 1997-05-07 1999-03-02 International Business Machines Corporation System and method for predictive caching of information pages
US5933822A (en) 1997-07-22 1999-08-03 Microsoft Corporation Apparatus and methods for an information retrieval system that employs natural language processing of search results to improve overall precision
US5845278A (en) 1997-09-12 1998-12-01 Inioseek Corporation Method for automatically selecting collections to search in full text searches
US5974412A (en) 1997-09-24 1999-10-26 Sapient Health Network Intelligent query system for automatically indexing information in a database and automatically categorizing users
US6134532A (en) 1997-11-14 2000-10-17 Aptex Software, Inc. System and method for optimal adaptive matching of users to most relevant entity and information in real-time
US6289342B1 (en) 1998-01-05 2001-09-11 Nec Research Institute, Inc. Autonomous citation indexing and literature browsing using citation context
US6421675B1 (en) 1998-03-16 2002-07-16 S. L. I. Systems, Inc. Search engine
US6044375A (en) 1998-04-30 2000-03-28 Hewlett-Packard Company Automatic extraction of metadata using a neural network
DE69916272D1 (en) * 1998-06-08 2004-05-13 Kcsl Inc METHOD AND METHOD FOR FINDING RELEVANT DOCUMENTS IN A DATABASE
US6324519B1 (en) 1999-03-12 2001-11-27 Expanse Networks, Inc. Advertisement auction system
US6298348B1 (en) 1998-12-03 2001-10-02 Expanse Networks, Inc. Consumer profiling system
IT1303603B1 (en) 1998-12-16 2000-11-14 Giovanni Sacco DYNAMIC TAXONOMY PROCEDURE FOR FINDING INFORMATION ON LARGE HETEROGENEOUS DATABASES.
US6484161B1 (en) * 1999-03-31 2002-11-19 Verizon Laboratories Inc. Method and system for performing online data queries in a distributed computer system
US6473730B1 (en) 1999-04-12 2002-10-29 The Trustees Of Columbia University In The City Of New York Method and system for topical segmentation, segment significance and segment function
US6269361B1 (en) 1999-05-28 2001-07-31 Goto.Com System and method for influencing a position on a search result list generated by a computer network search engine
US7065500B2 (en) 1999-05-28 2006-06-20 Overture Services, Inc. Automatic advertiser notification for a system for providing place and price protection in a search result list generated by a computer network search engine
US6314419B1 (en) 1999-06-04 2001-11-06 Oracle Corporation Methods and apparatus for generating query feedback based on co-occurrence patterns
AU6200300A (en) 1999-06-24 2001-01-09 Simpli.Com Search engine interface
US6453315B1 (en) 1999-09-22 2002-09-17 Applied Semantics, Inc. Meaning-based information organization and retrieval
US6651058B1 (en) 1999-11-15 2003-11-18 International Business Machines Corporation System and method of automatic discovery of terms in a document that are relevant to a given target topic
US6691108B2 (en) 1999-12-14 2004-02-10 Nec Corporation Focused search engine and method
JP3479020B2 (en) * 2000-01-28 2003-12-15 東京エレクトロン株式会社 Heat treatment equipment
AU2001251123A1 (en) 2000-03-30 2001-10-15 Iqbal A. Talib Methods and systems for enabling efficient retrieval of data from data collections
GB2362971B (en) 2000-05-30 2004-03-24 Com Nation Ltd A method of searching the internet and an internet search engine
GB0016974D0 (en) 2000-07-12 2000-08-30 Univ Salford The Document retrieval system
JP2002197083A (en) * 2000-12-12 2002-07-12 Hewlett Packard Co <Hp> Document segmentation method
US6978264B2 (en) 2002-01-03 2005-12-20 Microsoft Corporation System and method for performing a search and a browse on a query
US7024624B2 (en) 2002-01-07 2006-04-04 Kenneth James Hintz Lexicon-based new idea detector

Also Published As

Publication number Publication date
US20040243581A1 (en) 2004-12-02
AU2004262303B2 (en) 2010-08-05
AU2010241249A1 (en) 2010-11-25
US8914361B2 (en) 2014-12-16
EP1649396A1 (en) 2006-04-26
CA2534062A1 (en) 2005-02-10
KR20060059986A (en) 2006-06-02
KR101132942B1 (en) 2012-04-05
BRPI0413097A (en) 2006-10-03
AU2004262303A1 (en) 2005-02-10
WO2005013150A1 (en) 2005-02-10
AU2010241249B2 (en) 2011-07-14

Similar Documents

Publication Publication Date Title
AU2010241249B2 (en) Methods and systems for determining a meaning of a document to match the document to content
AU2004262302B2 (en) Methods and systems for understanding a meaning of a knowledge item using information associated with the knowledge item
US8321278B2 (en) Targeted advertisements based on user profiles and page profile
US8335719B1 (en) Generating advertisement sets based on keywords extracted from data feeds
US8103650B1 (en) Generating targeted paid search campaigns
US20100235343A1 (en) Predicting Interestingness of Questions in Community Question Answering
US10387892B2 (en) Discovering relevant concept and context for content node
US20100235311A1 (en) Question and answer search
US20080103886A1 (en) Determining relevance of a term to content using a combined model
US20050222989A1 (en) Results based personalization of advertisements in a search engine
US20130110594A1 (en) Ad copy determination
JP2011107826A (en) Action-information extracting system and extraction method
US8843536B1 (en) Methods and systems for providing relevant advertisements or other content for inactive uniform resource locators using search queries
JP4825669B2 (en) Method and system for determining the meaning of a document and matching the document with the content
US20050102619A1 (en) Document processing device, method and program for summarizing evaluation comments using social relationships
AU2011235994A1 (en) Methods and systems for determining a meaning of a document to match the document to content
US8676790B1 (en) Methods and systems for improving search rankings using advertising data
WO2024074760A1 (en) Content management arrangement
Zhou et al. A keyword extraction based model for web advertisement

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed

Effective date: 20220725