CA2702937C - Nlp-based content recommender - Google Patents
Nlp-based content recommender Download PDFInfo
- Publication number
- CA2702937C CA2702937C CA2702937A CA2702937A CA2702937C CA 2702937 C CA2702937 C CA 2702937C CA 2702937 A CA2702937 A CA 2702937A CA 2702937 A CA2702937 A CA 2702937A CA 2702937 C CA2702937 C CA 2702937C
- Authority
- CA
- Canada
- Prior art keywords
- content
- entities
- nlp
- natural language
- ncr
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/338—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3338—Query expansion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3344—Query execution using natural language analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
- G06F16/367—Ontology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Methods, techniques, and systems for using natural language processing to recommend related content to an associated text segment or document. Example embodiments provide a NLP-based content recommender ("NCR") which uses NLP-based search techniques, potentially in conjunction with context or other related information, to locate and provide content related to entities that are recognized in the associated material. NCRs may be embedded as widgets, for example on Web pages to assist users in their perusal and search for information, provided by means of browser plug-ins or other application plug-ins, provided in libraries or in standalone environments, or otherwise integrated into other code, programs, or devices. This abstract is provided to comply with rules requiring an abstract, and it is submitted with the intention that it will not be used to interpret or limit the scope or meaning of the claims.
Description
NLP-BASED CONTENT RECOMMENDER
TECHNICAL FIELD
The present disclosure relates to methods, techniques, and systems for presenting content using natural language processing and, in particular, to methods, techniques, and systems for recognizing named entities using natural language processing and presenting content related thereto.
BACKGROUND
With more than 15 billion documents on the World Wide Web (the Web) today, it has become very difficult for users to find desired information or to discover relevant information. Typically, a user engages a keyword (Boolean) based search engine to enter terms that s/he thinks relates to the topic of interest.
Unfortunately, there could be hundreds of thousands of documents with similar keywords requiring readers to sort out what is relevant. Moreover, once a user has followed links (e.g., hyperlinks, hypertext, indicators, etc.) to more than a few web pages, it is highly likely that the user has navigated to a point that makes it difficult to retrace steps.
Thus, although the volume of documents on the Web potentially makes a lot more information available to the average person, it takes a fair bit of time to actually find documents that are useful.
BRIEF SUMMARY
Embodiments described herein provide enhanced computer- and network-assisted methods, techniques, and systems for using natural language processing techniques, potentially in conjunction with context or other related information, to locate and provide content related to entities that are recognized in associated material. Example embodiments provide one or more NLP-based content recommenders ("NCRs") that each, based upon a natural language analysis of an underlying text segment, determine which entities are being referred to in the text segment and recommend additional content relating to such entities.
According to one approach, a method is provided that presents natural language based content recommendations. The method receives an indication of text content, processing the indicated text content using natural language based parsing and language analysis techniques to derive a list of the named entities present in the indicated text, presents a list of the derived named entities, the list reflective of what the text content concerns, and presents indicators of additional (e.g., supplemental or auxiliary) content associated with the derived named entities. The additional content is then provided upon receiving an indication that the presented indicator has been navigated to. In some embodiments, additional content is determined as relevant based upon a natural language based analysis of the named entities relative to the indicated text content and the named entities relative to a larger corpus of document information or one or more knowledge repositories.
Computing systems and computer-readable media containing content that performs a portion or all of the methods described above are also provided.
BRIEF DESCRIPTION OF THE DRAWINGS
The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawings will be provided by the Office upon request and payment of the necessary fee.
Figure 1A is an example screen display of an example mechanism for invoking a NLP-Based Content Recommender from a web page displayed in a web browser.
Figure 1B is an example screen display of an example NLP-Based Content Recommender presented to recommend content relating to underlying text.
Figure 1C is an example screen display illustrating the result of selection of one of the named entities in the underlying content.
Figure 1D is an example screen display of example refinements of recommendations of an example NLP-Based Content Recommender based upon selection of node in a connections map.
Figure lE is an example screen display of an NLP-Based Content Recommender playing a selected video.
Figure 2 is an example screen display of another type of NLP-Based Content Recommender widget presented adjacent to content.
Figures 3A-3E are example screen displays of a named entity profile presented by an example embodiment of an N LP-Based Content Recommender.
Figures 4A-4C are example screen displays of another type of NLP-Based Content Recommender widget presented adjacent to content.
Figure 5 is an example code for installing an example embodiment of an NLP-Based Content Recommender in a content creator's Web page.
TECHNICAL FIELD
The present disclosure relates to methods, techniques, and systems for presenting content using natural language processing and, in particular, to methods, techniques, and systems for recognizing named entities using natural language processing and presenting content related thereto.
BACKGROUND
With more than 15 billion documents on the World Wide Web (the Web) today, it has become very difficult for users to find desired information or to discover relevant information. Typically, a user engages a keyword (Boolean) based search engine to enter terms that s/he thinks relates to the topic of interest.
Unfortunately, there could be hundreds of thousands of documents with similar keywords requiring readers to sort out what is relevant. Moreover, once a user has followed links (e.g., hyperlinks, hypertext, indicators, etc.) to more than a few web pages, it is highly likely that the user has navigated to a point that makes it difficult to retrace steps.
Thus, although the volume of documents on the Web potentially makes a lot more information available to the average person, it takes a fair bit of time to actually find documents that are useful.
BRIEF SUMMARY
Embodiments described herein provide enhanced computer- and network-assisted methods, techniques, and systems for using natural language processing techniques, potentially in conjunction with context or other related information, to locate and provide content related to entities that are recognized in associated material. Example embodiments provide one or more NLP-based content recommenders ("NCRs") that each, based upon a natural language analysis of an underlying text segment, determine which entities are being referred to in the text segment and recommend additional content relating to such entities.
According to one approach, a method is provided that presents natural language based content recommendations. The method receives an indication of text content, processing the indicated text content using natural language based parsing and language analysis techniques to derive a list of the named entities present in the indicated text, presents a list of the derived named entities, the list reflective of what the text content concerns, and presents indicators of additional (e.g., supplemental or auxiliary) content associated with the derived named entities. The additional content is then provided upon receiving an indication that the presented indicator has been navigated to. In some embodiments, additional content is determined as relevant based upon a natural language based analysis of the named entities relative to the indicated text content and the named entities relative to a larger corpus of document information or one or more knowledge repositories.
Computing systems and computer-readable media containing content that performs a portion or all of the methods described above are also provided.
BRIEF DESCRIPTION OF THE DRAWINGS
The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawings will be provided by the Office upon request and payment of the necessary fee.
Figure 1A is an example screen display of an example mechanism for invoking a NLP-Based Content Recommender from a web page displayed in a web browser.
Figure 1B is an example screen display of an example NLP-Based Content Recommender presented to recommend content relating to underlying text.
Figure 1C is an example screen display illustrating the result of selection of one of the named entities in the underlying content.
Figure 1D is an example screen display of example refinements of recommendations of an example NLP-Based Content Recommender based upon selection of node in a connections map.
Figure lE is an example screen display of an NLP-Based Content Recommender playing a selected video.
Figure 2 is an example screen display of another type of NLP-Based Content Recommender widget presented adjacent to content.
Figures 3A-3E are example screen displays of a named entity profile presented by an example embodiment of an N LP-Based Content Recommender.
Figures 4A-4C are example screen displays of another type of NLP-Based Content Recommender widget presented adjacent to content.
Figure 5 is an example code for installing an example embodiment of an NLP-Based Content Recommender in a content creator's Web page.
Figures 6A-6D illustrate example screen displays for an example embodiment of an NLP-Based Content Recommender in the form of links to further information.
Figures 7A and 7B are example screen displays that illustrate use of the widgets shown in Figures 1A-1D integrated into an application.
Figures 8A and 8B illustrate example screen displays for an example embodiment of an NLP-Based Content Recommender in the form of graphical links that can be used to navigate to further information.
Figure 9 is another example screen display of a graphical representation of connections.
Figures 10A and 10B illustrate another interface for presenting related content to an underlying named entity.
Figures 11A-11C illustrate another example NCR widget that combines some of the previously described textual and graphical presentations to present related and/or auxiliary information.
Figures 12A-12C illustrates another example NCR widget integrated into a website that provides links to news and blog information.
Figure 13 is an example block diagram of an example computing system that may be used to practice embodiments of a NLP-Based Content Recommender.
DETAILED DESCRIPTION
Embodiments described herein provide enhanced computer- and network-assisted methods, techniques, and systems for using natural language processing techniques, potentially in conjunction with context or other related information, to locate and provide content related to entities that are recognized in associated material. Example embodiments provide one or more NLP-based content recommenders ("NCRs") that each, based upon a natural language analysis of an underlying text segment, determine which entities are being referred to in the text segment and recommend additional content relating to such entities.
NCRs may be useful in environments such as to support a user browsing pages of content on the Web. One or more NCRs may be embedded as widgets on such pages to assist users in their perusal and search for information, provided by means of browser plug-ins or other application plug-ins, provided in libraries or in standalone environments, or otherwise integrated into other code, programs, or devices.
Figures 7A and 7B are example screen displays that illustrate use of the widgets shown in Figures 1A-1D integrated into an application.
Figures 8A and 8B illustrate example screen displays for an example embodiment of an NLP-Based Content Recommender in the form of graphical links that can be used to navigate to further information.
Figure 9 is another example screen display of a graphical representation of connections.
Figures 10A and 10B illustrate another interface for presenting related content to an underlying named entity.
Figures 11A-11C illustrate another example NCR widget that combines some of the previously described textual and graphical presentations to present related and/or auxiliary information.
Figures 12A-12C illustrates another example NCR widget integrated into a website that provides links to news and blog information.
Figure 13 is an example block diagram of an example computing system that may be used to practice embodiments of a NLP-Based Content Recommender.
DETAILED DESCRIPTION
Embodiments described herein provide enhanced computer- and network-assisted methods, techniques, and systems for using natural language processing techniques, potentially in conjunction with context or other related information, to locate and provide content related to entities that are recognized in associated material. Example embodiments provide one or more NLP-based content recommenders ("NCRs") that each, based upon a natural language analysis of an underlying text segment, determine which entities are being referred to in the text segment and recommend additional content relating to such entities.
NCRs may be useful in environments such as to support a user browsing pages of content on the Web. One or more NCRs may be embedded as widgets on such pages to assist users in their perusal and search for information, provided by means of browser plug-ins or other application plug-ins, provided in libraries or in standalone environments, or otherwise integrated into other code, programs, or devices.
For example, when a news article is being displayed in a Web browser, an NCR may be invoked to suggest additional relevant content by recognizing the entities referred to in the article and determining relevant additional content, organized by a number of factors, for example, by frequency of appearance of other information relating to one of the recognized entities in the article, by knowledge of the browse patterns of the reader, etc. An NCR might also be invoked to allow the reader to explore the top entities "connected" to one of the entities selected from the entities recognized in the news article.
Connectedness in this sense refers to entities which are related to the selected recognized entity typically through one or more actions (verbs). Or an NCR
might be invoked to "filter" or otherwise rank or order the content presented to the user.
Figure 1A is an example screen display of an example mechanism for invoking a NLP-Based Content Recommender from a web page displayed in a web browser. In Figure 1A, web browser 100 is shown displaying news article 104. An icon 150 labeled "Evri" is display for invoking the NCR.
Figure 1B is an example screen display of an example NCR
presented to recommend content relating to underlying text. The news article web page 104 is shown presented using web browser 100 as described with reference to Figure 1A. An example NLP based content recommender 101 is displayed as a pop-up window 101 accessible from an icon 150 in Figure 1A. The example embodiment of NCR 101 shows an section 103 of "Top Related Articles" and a filter section 102 of focus terms that may be used to filter the top related articles shown in section 103.
In at least some embodiments, the NCR may use context information relating to source information that was used to establish and identify the entities (e.g., verbs, related entities, entities within close proximity in the underlying text or in other text, or other clues) in the recommendations. In some embodiments, algorithms are employed for natural language-based entity recognition and disambiguation to determine which entities are present in the underlying text.
For example, these algorithms may be incorporated to display an ordered list of all, or the most important, or the top "n" entities present on a Web page in conjunction with the underlying page. The items on the list can then be used to navigate to additional (related) content, for example, as "links" or other references to the content. The example NCR illustrated in Figures 1B performs extensive NLP-based searching and processing in the background to identify the entities in the underlying article 104 and then to find and order the top related articles that are displayed in section 103.
Connectedness in this sense refers to entities which are related to the selected recognized entity typically through one or more actions (verbs). Or an NCR
might be invoked to "filter" or otherwise rank or order the content presented to the user.
Figure 1A is an example screen display of an example mechanism for invoking a NLP-Based Content Recommender from a web page displayed in a web browser. In Figure 1A, web browser 100 is shown displaying news article 104. An icon 150 labeled "Evri" is display for invoking the NCR.
Figure 1B is an example screen display of an example NCR
presented to recommend content relating to underlying text. The news article web page 104 is shown presented using web browser 100 as described with reference to Figure 1A. An example NLP based content recommender 101 is displayed as a pop-up window 101 accessible from an icon 150 in Figure 1A. The example embodiment of NCR 101 shows an section 103 of "Top Related Articles" and a filter section 102 of focus terms that may be used to filter the top related articles shown in section 103.
In at least some embodiments, the NCR may use context information relating to source information that was used to establish and identify the entities (e.g., verbs, related entities, entities within close proximity in the underlying text or in other text, or other clues) in the recommendations. In some embodiments, algorithms are employed for natural language-based entity recognition and disambiguation to determine which entities are present in the underlying text.
For example, these algorithms may be incorporated to display an ordered list of all, or the most important, or the top "n" entities present on a Web page in conjunction with the underlying page. The items on the list can then be used to navigate to additional (related) content, for example, as "links" or other references to the content. The example NCR illustrated in Figures 1B performs extensive NLP-based searching and processing in the background to identify the entities in the underlying article 104 and then to find and order the top related articles that are displayed in section 103.
In addition, in at least some embodiments, an NLP-Based search mechanism can be incorporated by an NCR to find related (e.g., auxiliary or supplemental) information to recommend. Contextual and other information, such as information from ontology knowledge base lookups or from other knowledge repositories may also be incorporated in establishing information to recommend.
One such system and methods for generating related content using relationship searching is encompassed in the In Fact relationship search technology (now the Evri relationship search technology), In this system, NLP-based processing is used to locate entities and the connections (relationships) between them based upon actions that link a source entity to a target entity, or visa versa (i.e., queries that specify a subject and/or an object, and zero or more verbs that may relate them).
In addition, the InFact /Evri technology provides a query language called "IQL" (now "EQL") and a navigation tip system with query templates for generating relationship queries with or without a graphical user interface.
Query templates and the navigation tip system may be incorporated by other code to automatically generate generalized searches of content that utilize sophisticated linguistics and/or knowledge-based analysis. The InFact /Evri tip system not only performs the NLP-based search, but can order the results as desired. In addition, the tip system can dynamically evolve the searches ¨ hence the related entities ¨
as the underlying text is changed, for example by filtering it using focus terms 102 in Figure 1B.
Other and or different NLP-based processing may similarly be incorporated by example embodiments of an NCR.
In at least some embodiments, NCRs are provided by means of a user interface control displayed adjacent to, approximate to, on or near other displayed content such as illustrated in Figure 1B. Such an interface control can be implemented in the form of a "widget" (e.g., a code module, excerpt, script, etc.), which can be made available to third parties and other content providers to associate with content they control. In addition, a user or other widget consumer (such as a content creator or distributor) can download a widget provided via a URI
or URL (uniform resource identifier or locator), web portal, server, etc.
For example, a content creator may download an NCR widget for installing it as a plug-in in the creator's blogging platform. The NCR widget may have one or more associated representations, i.e., icons, images, or graphical symbols, which may take many different forms, and which can be displayed on a display screen and used to invoke the functionality of the widget. In some embodiments, customizations, such as different Ul renderings, color schemes, capabilities, etc.
may also be available when the widget is installed. Also, in some embodiments, NCR widget end users (those using the widgets to display related content) may also be provided with customizations.
Figure 5 is an example code for installing an example embodiment of an NCR in a content creator's Web page. In particular, the script 501 may be integrated to provide a pop-up window NCR widget, such as that illustrated in Figure 1B. In this example, the script 501 and installation notes 502 are provided on a Web page controlled by the widget created. Although the particular script is written in html (which includes JavaScript), appropriate other scripting languages (e.g., Ruby, Perl, and Python) can be used in other environments to include an NCR widget. For example, a VisualBasic script may be used to provide a similar NCR widget in a Microsoft Office environment.
Such widgets need not be limited to displaying related content accessible via a Web browser. Indeed, NCR widgets also may be useful in a variety of other contexts and platforms, such as to create other mechanisms for finding sought after data in large repositories of information (e.g., corporate intelligence data bases, product information, etc.), to perform research or other discovery, to provide learning tools in educational environments, to navigate newsletters and archived articles for a company, etc. NCRs are intended to aid in conveying meaningful information to end users from among a morass of data without them necessarily knowing how to search for that information. They are intended to do a better job at emulating "understanding" the underlying text than a keyword search engine would, so that users can search less and understand more, or discover more with less work.
NCR widgets present user interfaces that may vary depending upon the context in which they are integrated, their use, etc. Figures 1B-13 illustrate several different example embodiments of forms for such widgets that contain content summary information, and controls for navigating to related or other contextually-significant information. In at least some embodiments, an indicator (such as a hypertext link, or hyperlink) is displayed proximate to a respective entity if more or recommended related information is available. Also, in some embodiments user interface controls are provided to navigate to and among the various supplemental information. Many variations for presenting widgets/user interface controls are possible, and the ones presented in Figures 1B-13 are merely illustrative and not intended to be exhaustive.
In at least some of the NCRs, the name of entity (e.g., Barack Obama) is provided along with an indication of the type of entity and/or its roles (e.g., categories or facets, such as senator, democrat, presidential candidate).
Then, for some NCRs, a list of facts about the entity and/or an overview of further content is displayed. In at least some embodiments, an image associated with the named entity is also displayed. Importantly, if more information (as determined by the NCR) is available, then a link (also referred to as a hyperlink, hypertext, or other indicator) may be displayed. The link may be operated (e.g., selected or navigated to) by a user to navigate to recommended content. Other features, including more or different features may be provided or combined in an embodiment of an NCR as helpful in the context.
For example, as described earlier, the example NCR 101 in Figure 1B is provided in a pop-window on top of underlying news article content 104.
The "Focus On" list in filter section 102 is created using the natural language processing methods described above. In particular, section 102 lists the "most important" named entities found in the underlying content as determined by NLP-based relationship searching (such as that provided by the InFact /Evri relationship search technology). Different definitions of "most important" may be used in the NCR, including but not limited to frequency of use in the article, popularity among a set of documents searched, etc.
Figure 10 is an example screen display illustrating the result of selection of one of the named entities in the underlying content. In particular, when the user selects, from the filter section 102, the link "Barack Obama"
105, which is a named entity found in the underlying content, the related articles section 109 changes to reflect new recommendations. In at least some embodiments, the NCR executes a natural language based relationship query, such as an EQL
query, in the background against some body of documents. The resulting information can be used to populate various fields in the user interface of the NCR
One such system and methods for generating related content using relationship searching is encompassed in the In Fact relationship search technology (now the Evri relationship search technology), In this system, NLP-based processing is used to locate entities and the connections (relationships) between them based upon actions that link a source entity to a target entity, or visa versa (i.e., queries that specify a subject and/or an object, and zero or more verbs that may relate them).
In addition, the InFact /Evri technology provides a query language called "IQL" (now "EQL") and a navigation tip system with query templates for generating relationship queries with or without a graphical user interface.
Query templates and the navigation tip system may be incorporated by other code to automatically generate generalized searches of content that utilize sophisticated linguistics and/or knowledge-based analysis. The InFact /Evri tip system not only performs the NLP-based search, but can order the results as desired. In addition, the tip system can dynamically evolve the searches ¨ hence the related entities ¨
as the underlying text is changed, for example by filtering it using focus terms 102 in Figure 1B.
Other and or different NLP-based processing may similarly be incorporated by example embodiments of an NCR.
In at least some embodiments, NCRs are provided by means of a user interface control displayed adjacent to, approximate to, on or near other displayed content such as illustrated in Figure 1B. Such an interface control can be implemented in the form of a "widget" (e.g., a code module, excerpt, script, etc.), which can be made available to third parties and other content providers to associate with content they control. In addition, a user or other widget consumer (such as a content creator or distributor) can download a widget provided via a URI
or URL (uniform resource identifier or locator), web portal, server, etc.
For example, a content creator may download an NCR widget for installing it as a plug-in in the creator's blogging platform. The NCR widget may have one or more associated representations, i.e., icons, images, or graphical symbols, which may take many different forms, and which can be displayed on a display screen and used to invoke the functionality of the widget. In some embodiments, customizations, such as different Ul renderings, color schemes, capabilities, etc.
may also be available when the widget is installed. Also, in some embodiments, NCR widget end users (those using the widgets to display related content) may also be provided with customizations.
Figure 5 is an example code for installing an example embodiment of an NCR in a content creator's Web page. In particular, the script 501 may be integrated to provide a pop-up window NCR widget, such as that illustrated in Figure 1B. In this example, the script 501 and installation notes 502 are provided on a Web page controlled by the widget created. Although the particular script is written in html (which includes JavaScript), appropriate other scripting languages (e.g., Ruby, Perl, and Python) can be used in other environments to include an NCR widget. For example, a VisualBasic script may be used to provide a similar NCR widget in a Microsoft Office environment.
Such widgets need not be limited to displaying related content accessible via a Web browser. Indeed, NCR widgets also may be useful in a variety of other contexts and platforms, such as to create other mechanisms for finding sought after data in large repositories of information (e.g., corporate intelligence data bases, product information, etc.), to perform research or other discovery, to provide learning tools in educational environments, to navigate newsletters and archived articles for a company, etc. NCRs are intended to aid in conveying meaningful information to end users from among a morass of data without them necessarily knowing how to search for that information. They are intended to do a better job at emulating "understanding" the underlying text than a keyword search engine would, so that users can search less and understand more, or discover more with less work.
NCR widgets present user interfaces that may vary depending upon the context in which they are integrated, their use, etc. Figures 1B-13 illustrate several different example embodiments of forms for such widgets that contain content summary information, and controls for navigating to related or other contextually-significant information. In at least some embodiments, an indicator (such as a hypertext link, or hyperlink) is displayed proximate to a respective entity if more or recommended related information is available. Also, in some embodiments user interface controls are provided to navigate to and among the various supplemental information. Many variations for presenting widgets/user interface controls are possible, and the ones presented in Figures 1B-13 are merely illustrative and not intended to be exhaustive.
In at least some of the NCRs, the name of entity (e.g., Barack Obama) is provided along with an indication of the type of entity and/or its roles (e.g., categories or facets, such as senator, democrat, presidential candidate).
Then, for some NCRs, a list of facts about the entity and/or an overview of further content is displayed. In at least some embodiments, an image associated with the named entity is also displayed. Importantly, if more information (as determined by the NCR) is available, then a link (also referred to as a hyperlink, hypertext, or other indicator) may be displayed. The link may be operated (e.g., selected or navigated to) by a user to navigate to recommended content. Other features, including more or different features may be provided or combined in an embodiment of an NCR as helpful in the context.
For example, as described earlier, the example NCR 101 in Figure 1B is provided in a pop-window on top of underlying news article content 104.
The "Focus On" list in filter section 102 is created using the natural language processing methods described above. In particular, section 102 lists the "most important" named entities found in the underlying content as determined by NLP-based relationship searching (such as that provided by the InFact /Evri relationship search technology). Different definitions of "most important" may be used in the NCR, including but not limited to frequency of use in the article, popularity among a set of documents searched, etc.
Figure 10 is an example screen display illustrating the result of selection of one of the named entities in the underlying content. In particular, when the user selects, from the filter section 102, the link "Barack Obama"
105, which is a named entity found in the underlying content, the related articles section 109 changes to reflect new recommendations. In at least some embodiments, the NCR executes a natural language based relationship query, such as an EQL
query, in the background against some body of documents. The resulting information can be used to populate various fields in the user interface of the NCR
and to find and suggest the recommended content that is displayed to the end user when, for example, the user navigates to such content via a displayed link.
Accordingly, the related articles section 109 shows the result of executing a query of Barack Obama relating (in one or more ways described by actions/verbs) to one articles, or using other rules. In one embodiment, as shown, the entities in the connections map 106 are color-coded based upon their base type: for example, whether they are persons, places, or things (which may include organizations, products, etc.). An end user may select one of the nodes 107 on the map 106, to further change the recommendations by refining what is considered "related."
Figure 1 D is an example screen display of example refinements of recommendations of an example NCR based upon selection of node in a connections map. In Figure 1 D, the user has selected the node "Ohio" 106, which has caused the NCR to change its background searches to focus the recommendations on articles in which "Barack Obama" is connected (related by action/verb) to then entity "Ohio." This changed focus is reflected in field 122. The articles now displayed in the recommended articles section 121 reflect the top articles that describe something about Baracks interactions with Ohio. Full profiles (descriptions of useful, related information) are obtainable by selection of the links for the named entities in the related articles section 121; that is for the entities 124.
Example NCRs also may include still and or video images. By selecting link 123, the user can navigate to recommended videos that relate to the relationship between "Barack Obama" and "Ohio."
Note that these recommendations may also be ordered and/or ranked. Figure lE is an example screen display of an NCR playing a selected video. A video 132 of Barack Obama is played in response to user selection of the vidio link 122. Images, when available, may be displayed similarly.
Note that Figures 1B-1E provide an example of one type of NCR.
Many other example, including ones with very different appearing user interfaces, may be implemented.
Figure 2 is an example screen display of another type of NCR widget presented adjacent to content. The NCR 201 is provided next to news article and comprises and entity information section 202, a related articles section 203, and a connections map 206. The related articles section 203 and connections map 206 operate similarly to those described with reference to Figures 1B-1E.
As is observable, in this particular NCR 201, persons (e.g., Jennifer Brunner 208) are color coded in green, places (e.g., Ohio 207) in blue, and things ¨
organizations (e.g., social security administration 206) in red. The entity information section 202 includes named entities from the article 200, ordered. In the embodiment shown, they are ordered in importance. Other orderings can be similarly incorporated.
The NCR 201 also displays a link 204 to the profile (description of the named entity) of the most relevant named entity "Jennifer Brunner."
Figures 3A-3E are example screen displays of a named entity profile presented by an example embodiment of an NCR. As can be observed, the user interface and controls are different than those provided in Figures 1B and 2;
however, many of the same capabilities of an NCR are present. In particular, the example NCR of Figure 3A provides a connection map 301 and a top articles section 303 that recommends the "top" articles relating to the named entity "Jennifer Brunner." Again, these articles may be ordered based upon the most current and/or frequency of mentioning Ms. Brunner, popularity of access to articles, most relationships entities connected to Ms. Brunner, or based upon other definitions of topmost. The NCR also provides a user interface control 302 for modifying (by filtering based upon action) the articles 303 displayed. In addition, the NCR includes a recommended images area 307 with links to one or more images; a recommended videos area 308 with links to one ore more videos; a section reserved for advertisements 306 (which may also be targeted to the profile being displayed); top connections links 304 to explore profiles of the entities most current and relevant to the displayed profile and to filter the top articles section 303; and an about section 305, which contains a brief description and fast facts regarding the named entity whose profile is being displayed.
Figure 3B illustrated details of the connections map shown in Figure 3A. In particular, in connections map 320, the large central circle (or node) (e.g., node 311) represents the profiled person, place, or thing. The smaller nodes (e.g., node 312) are its top connections. The lines between the nodes (e.g., line/dot 310) represent the actual connection, which may be presented, for example, when the user hovers an input device over the dot on the line. When a user selects the action (e.g., dot 310), the top articles section is updated to reflect that connection.
Figure 30 illustrates the modifications to the articles 303 displayed when the user interface control 302 is select to cause filtering based upon a selected action. Here, the user has selected the action (i.e., verb) "governing." As a result, the NCR displays the top articles 332 that show the current entity "Jennifer Brunner" in a governing relation with other entities. The top recommended images section 333 and videos section 334 have been updated as well. In some embodiments the user interface control 302 also includes modifiers of the various named entities, so that the user may follow leads and find more information on, for example, the roles of the various entities.
The powerful NLP based search processing identifies the topmost entities in the relationship displayed by the articles recommended in section 322.
That is, these are the entities involved in a "governing" relationship with "Jennifer Brunner." Figure 3D lists these related entities in section 340, which can be selected to further filter the top articles display. For example, when the user selects the "Oberlin College" link 346, the filtering (an abbreviate EQL) is shown in area 341, the articles are changed to reflect the selection in top articles 342, and the recommended images links 343 and videos links 344 are also updated. By selecting the icon 350, the user is able to navigate to the profile page for that entity when one is available. Figure 3E is an example of the profile page 351 for Oberlin College displayed when the icon 350 is selected for the Oberlin College link 346.
Figures 4A-4C are example screen displays of another type of NCR
widget presented adjacent to content. In this case, the NCR 402 is display below the news article 401. The behavior of this NCR widget is similar to that described with reference to Figures 1A-1E. Figure 4A illustrates what the NCR looks like when it is invoked. Figure 4B illustrates the results when a user selects the connection node "White House" (in relation to Barack Obama). Figure 4C
illustrates example results when the user selects a related named entity. In particular, when the user selects one of the named entities in the recommended articles, here "New York Times" link 421, the connection map 423 and the related top articles 422 are changed to reflect that entity as the focus. Other behaviors are of course possible.
Figures 6-13 are provide a variety of additional forms for the user interfaces of example embodiments of an NCR.
Figures 6A-6D illustrate example screen displays for an example embodiment of an NLP-Based Content Recommender in the form of (hypertext) links to further information. The link can be used to navigate to the information, which is based upon the entities recognized in the underlying content. For example, in Figures 6A and 6D, several recommendation user interface controls and "tips" are illustrated (and presumed to be based upon the underlying content shown, or resultant from a relationship search). In particular, tip 609 displays information relating to Al Qaeda and tip 601 displays information relating to Barack Obama. For each of these NCR tips, other forms/presentations are displayed beneath them.
As described above, the layout of an NCR tip or user interface control (UI control) may depend upon the information available. Generally, in the example illustrated in Figures 6A-6D, the name of the entity 602 (e.g., Barack Obama) is presented, followed by the entity types and roles relating to the entity 603 (e.g., senator, democrat, presidential candidate). Then, for some tips and/or Ul controls, a list of facts about the entity 604 or 608, with or without tags, and/or an overview 607 of further content is displayed. In at least some embodiments, an image 606 associated with the named entity is also displayed. Importantly, if more information (as determined by the NCR) is available, then a link 605 (also referred to as a hyperlink, hypertext, or other indicator) may be displayed.
The link 605 may be further navigated by a user to display recommended content.
For example, as shown in larger images in Figures 6B and 60, the link 605 may be used to navigate to an NCR widget provided, for example, on a designated website, or transparently. In Figures 6A and 60, a list 660 is displayed of the recognized entities in an underlying text segment. This list 660 presents an indicator of the name of the entity, optionally followed by a symbol 611 of some sort, when further content is available. For example, when "Barack Obama" is selected, one of the tips 601 is displayed as previously described. Similarly, when the "United States of America" is selected, a Ul control such as tip 620 is presented. In addition to the (ordered) list of named entities 660, the NCR
widget presents a set of actions 612, and, when an action is selected, a list of the relationships 613. In NLP terminology, selecting the action (or verb) will generate a representation of the subjects or objects related to the selected entity via that verb. In at least some embodiments, a list of the most relevant articles 614 to the currently displayed article is also presented. This list can be implemented using the InFactO/Evri search technology described in detail elsewhere. For example, the summary sentence that is displayed for each article may indicate where the specific relationship was found.
According to one example embodiment, to populate the fields of the tip or Ul control, such as action list 612 and connections list (relationships list) 613, an IQL/EQL query may be performed against the last "W" weeks of news content to return related information. In the illustrated case, "N" results are returned for actions performed by the entity, in this case United States of America, sorted by action (verb) frequency. The top "V" verbs are then displayed, as seen in action list 612. In other embodiments, actions could be derived from an NLP-based relationship extraction of the context (trigger) text or a set of documents related to the context text, or from other sources.
Figures 7A and 7B are example screen displays that illustrate use of the widgets shown in Figures 6A-6D integrated into an application, such as a news content provider site. In Figures 7A and 7B, underlying content 700, such as a news article about Barack Obama, is presented, for example, on a web page.
Either automatically, or when explicitly or implicitly indicated by a user (depending upon the news platform implementation), an information widget such as widget is displayed. This widget 701 has similar fields to those described with reference to Figures 1B-1D above.
The progression from Figure 7A to 7B shows how the illustrated NCR
widget can be dynamically updated as information is found or computed. For example, the widget can populate the relationships field 704 based upon the content shown in the most relevant articles field 710, which in turn is based upon the selected entity from entity list 702 and the selected action from action list 703.
In at least some embodiments, the content of these fields is periodically updated, potentially automatically (and transparently) by rerunning the appropriate NLP
queries on a periodic or defined schedule.
Figures 8A and 8B illustrate example screen displays for an example embodiment of an NLP-Based Content Recommender in the form of graphical links that can be used to navigate to further information. In this user interface paradigm, relationships are represented as connected nodes, and recommended content is used as "annotations" to the nodes and/or the connectors. For example, in Figure 8A, several entities 801, 802, 804, and 805 are shown linked through their relationships. Entities 801 and 802 are person entities; whereas entities 804 and 805 are an organization entity and an event entity, respectively.
When the user hovers over or otherwise selects the named entity "Kaela Kennelly" 801, a tip 850 is displayed with initial information 852 similar to that described with reference to Figures 6A-6D. Again, part of the displayed tip is a link (here labeled "(read, more)") to further information. When a user navigates through the link, a detailed entity page 860 is displayed, which can be populated not just with static information, but with further content accessible via an NCR
widget.
As shown in larger image in Figure 8B, the relationship of entity Kaela Kennelly 801 to the ASP Women's World Tour 2006 event entity 830 is represented in summarized form in tip 831. When expanded by selecting a "more"
graphical indicator 831, a more extended form of related content page 830 is displayed. The extended form 830 shows a list of categories of related content 834, for example news & blogs, pictures and video, and a related website. An embodiment of an NCR widget can be used to present and drive the content and/or the links displayed in the extended page 830. The user can return to the summary form by selecting a "less" graphical indicator 832.
Figures 9, 10A, 10B, 11A-11C, and 12A-12C illustrate additional alternatives for providing user interfaces and/or tips via an NCR widget used to provide related or recommended content.
Figure 9 is another example screen display of a graphical representation of connections. A graphical representation is shown of the connections between a subject entity, here "Keala Kennelly, and all of the entities she interacts with. Entities having more distant connections, for example, as determined by the frequency of the relationships encountered, are displayed as nodes that appear further from the node that represents Keala.
Figures 10A and 10B illustrate another interface for presenting related content to an underlying named entity, for example, one either selected by a user directly, or perhaps even indirectly via entity recognition of entities presented on an underlying web page. In the illustrated example, content relating to a named entity 1001 "Arnold Schwarzenegger" is presented. Fast facts area 1004 displays a number of tidbits of quick information regarding the named entity 1001, which may be available as determined by the frequency of information gleaned during the natural language based analysis of related information or other contextual information. Roles list 1002 contains a list of all of the roles (facets for or categories) found for the named entity 1001. A detailed entity description is shown followed by a graphical representation of his roles, which display shows a "weighting" associated with such roles. Questions area 1006 illustrates the use of query templates and navigation tips for finding and presenting related information without the user needing to type in a query via a query language such as IQL/EQL.
Related entities area 1008, also supported by comprehensive NLP based searching and indexing, allows the user to navigate to other related information.
Figures 11A-11C illustrate another example NCR widget that combines some of the previously described textual and graphical presentations to present related and/or auxiliary information. For example, in Figure 11A, the user is presented with an NCR widget 1110 displayed in the foreground of the underlying (news) content 1100. The widget presents a list 1102 with quick summaries of the most relevant similar articles to the underlying content 1100 along with a graphical representation of the "connections" (relationships) 1107 to entities that appear in the article 11011 selected from the related articles list 1102.
Figure 11B shows an alternative graphical representation of the connections derived from a selected article 1111 of articles list 1102. Figure 110 is an illustration of an image 1120 rendered in response to user selection of image from a display of images.
Figures 12A-120 illustrates another example NCR widget integrated into a website that provides links to news and blog information. The presentations of this NCR widget focus on timeliness and frequency concepts, and thus the various displays may be organized differently than might be presented elsewhere.
For example, the article summary list 1200 displayed under the "Related News and Blogs" tab may be beneficial in social networking and/or blogging venues in that they are brief, list the source of the content, and the time when posted. In addition, in Figure 12B, under the "Most Popular Content" tab, the entity names that appear in the most frequent news and blog postings are displayed with graphical indications according to their importance to and frequency found within the documents being searched (for example, in real time). For example some entities in list 1201 are presented in different size fonts, different colors, etc.
Figure 120 illustrates, under the "Connections" tab, a representation of the connections (relationships) 1210 that may be explored in the articles summarized in article summary list 1200. These connection nodes are the result of relationship queries on the underlying documents summarized in article summary list 1200.
Other representations for presenting recommended content by means of an NLP-Based Content Recommenders are also contemplated. It is notable that many such representations hide the power of the underlying relationship indexing and searching technology by giving the user simple navigation tools and hints for getting more information. Moreover, the information is determined, calculated, and presented in substantially real-time or near real-time, and may be dynamically updated periodically, or at specified intervals, or according to different schedules.
An NCR widget may be implemented using standard programming techniques that leverage the capabilities of a NLP-based processing engine that can perform indexing and relationship searching. It is to be understood that, although the interfaces illustrated in Figures 1B-12 are described as incorporating the powerful capabilities of NLP processing, less sophisticated searching techniques can also take advantage of the user interface designs of such widgets, tips, and user interface controls to the extent they are able to generate a portion of the content. For example, using a standard keyword search that pattern matches terms, some number of the entities referred to in an underlying article may be uncovered using frequency counts; however, to the extent the text is complex (and, for example, contains aliases, coreferences, pronouns, ambiguous nouns, etc.) it is not possible to confidently discover and subsequently list all of the named entities in the underlying document. To do this, the document must be "understood." Accordingly, the sophisticated and powerful natural language technology supporting the content recommenders described herein, can be used to achieve far improved results.
Also, although certain terms are used primarily herein, other terms could be used interchangeably to yield equivalent embodiments and examples. In addition, terms may have alternate spellings which may or may not be explicitly mentioned, and all such variations of terms are intended to be included. In addition, in the following description, numerous specific details are set forth, such as data formats and code sequences, etc., in order to provide a thorough understanding of the described techniques. The embodiments described also can be practiced without some of the specific details described herein, or with other specific details, such as changes with respect to the ordering of the code flow, different code flows, etc. Thus, the scope of the techniques and/or functions described are not limited by the particular order, selection, or decomposition of steps described with reference to any particular routine.
Figure 13 is an example block diagram of an example computing system that may be used to practice embodiments of a NLP-Based Content Recommender. Note that a general purpose or a special purpose computing system may be used to implement an NCR. Further, the NCR may be implemented in software, hardware, firmware, or in some combination to achieve the capabilities described herein.
Computing system 1300 may comprise one or more server and/or client computing systems and may span distributed locations. In addition, each block shown may represent one or more such blocks as appropriate to a specific embodiment or may be combined with other blocks. Moreover, the various blocks of the NCR 1310 may physically reside on one or more machines, which use standard (e.g., TCP/IP) or proprietary interprocess communication mechanisms to communicate with each other.
In the embodiment shown, computer system 1300 comprises a computer memory ("memory") 1301, a display 1302, one or more Central Processing Units ("CPU") 1303, Input/Output devices 1304 (e.g., keyboard, mouse, CRT or LCD display, etc.), other computer-readable media 1305, and network connections 1306. The NCR 1310 is shown residing in memory 1301. In other embodiments, some portion of the contents, some of, or all of the components of the NCR 1310 may be stored on and/or transmitted over the other computer-readable media 1305. The components of the NCR 1310 preferably execute on one or more CPUs 1303 and perform entity identification and present content recommendations, as described herein. Other code or programs 1330 and potentially other data repositories, such as data repository 1320, also reside in the memory 1301, and preferably execute on one or more CPUs 1303. Of note, one or more of the components in Figure 13 may not be present in any particular implementation. For example, some embodiments embedded in other software may not provide means for other user input or display.
In one embodiment, the NCR 1310 includes an entity identification engine 1311, a knowledge analysis engine 1312, an NCR user interface support module 1313, an NLP parsing engine or preprocessor 1314, an NCR API 1317, a data repository (or interface thereto) for storing document NLP data 1316, and a knowledge data repository 1315, for example, an ontology index, for storing information from a multitude of internal and/or external sources. In at least some embodiments, one or more of the NLP parsing engine / preprocessor 1314, the entity identification engine 1311, and the knowledge analysis engine 1312 are provided external to the NCR and are available, potentially, over one or more networks 1380. Other and or different modules may be implemented. In addition, the NCR 1310 may interact via a network 1380 with applications or client code 1355 that uses results computed by the NCR 1310, one or more client computing systems 1360, and/or one or more third-party information provider systems 1365, such as purveyors of information used in knowledge data repository 1315. Also, of note, the knowledge data 1315 and the document data 1316 may be provided external to the NCR as well, for example, and be accessible over one or more networks 1380 to the NCR.
In an example embodiment, components/modules of the NCR 1310 are implemented using standard programming techniques. However, a range of programming languages known in the art may be employed for implementing such example embodiments, including representative implementations of various programming language paradigms, including but not limited to, object-oriented (e.g., Java, C++, C#, Smalltalk), functional (e.g., ML, Lisp, Scheme, etc.), procedural (e.g., C, Pascal, Ada, Modula, etc.), scripting (e.g., Perl, Ruby, Python, JavaScript, VBScript, etc.), declarative (e.g., SQL, Prolog, etc.), etc.
The embodiments described use well-known or proprietary synchronous or asynchronous client-sever computing techniques. However, the various components may be implemented using more monolithic programming techniques as well, for example, as an executable running on a single CPU
computer system, or alternately decomposed using a variety of structuring techniques known in the art, including but not limited to, multiprogramming, multithreading, client-server, or peer-to-peer, running on one or more computer systems each having one or more CPUs. Some embodiments are illustrated as executing concurrently and asynchronously and communicating using message passing techniques. Equivalent synchronous embodiments are also supported by an NCR implementation.
In addition, programming interfaces to the data stored as part of the NCR 1310 (e.g., in the data repositories 1315 and 1316) can be made available by standard means such as through C, C++, C#, and Java APIs; libraries for accessing files, databases, or other data repositories; through scripting languages such as XML; or through Web servers, FTP servers, or other types of servers providing access to stored data. The data repositories 1315 and 1316 may be implemented as one or more database systems, file systems, or any other method known in the art for storing such information, or any combination of the above, including implementation using distributed computing techniques.
Also, the example NCR 1310 may be implemented in a distributed environment comprising multiple, even heterogeneous, computer systems and networks. For example, in one embodiment, the modules 1311-1314, and 1317, and the data repositories 1315 and1316 are all located in physically different computer systems. In another embodiment, various modules of the NCR 1310 are hosted each on a separate server machine and may be remotely located from the tables which are stored in the data repositories 1315 and 1316. Also, one or more of the modules may themselves be distributed, pooled or otherwise grouped, such as for load balancing, reliability or security reasons. Different configurations and locations of programs and data are contemplated for use with techniques of described herein. A variety of distributed computing techniques are appropriate for implementing the components of the illustrated embodiments in a distributed manner including but not limited to TCP/IP sockets, RPC, RMI, HTTP, Web Services (XML-RPC, JAX-RPC, SOAP, etc.). Other variations are possible. Also, other functionality could be provided by each component/module, or existing functionality could be distributed amongst the components/modules in different ways, yet still achieve the functions of an NCR.
Furthermore, in some embodiments, some or all of the components of the NCR may be implemented or provided in other manners, such as at least partially in firmware and/or hardware, including, but not limited to, one or more application-specific integrated circuits (AS ICs), standard integrated circuits, controllers (e.g., by executing appropriate instructions, and including microcontrollers and/or embedded controllers), field-programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), etc. Some or all of the system components and/or data structures may also be stored as contents (e.g., as executable or other machine-readable software instructions or structured data) on a computer-readable medium (e.g., as a hard disk; a memory; a computer network or cellular wireless network or other data transmission medium; or a portable media article to be read by an appropriate drive or via an appropriate connection, such as a DVD or flash memory device) so as to enable or configure the computer-readable medium and/or one or more associated computing systems or devices to execute or otherwise use or provide the contents to perform at least some of the described techniques. Some or all of the system components and data structures may also be transmitted as contents of generated data signals (e.g., by being encoded as part of a carrier wave or otherwise included as part of an analog or digital propagated signal) on a variety of computer-readable transmission mediums, including wireless-based and wired/cable-based mediums, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). Such computer program products may also take other forms in other embodiments. Accordingly, embodiments of the present disclosure may be practiced with other computer system configurations.
From the foregoing it will be appreciated that, although specific embodiments have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of this disclosure. For example, the methods, techniques, and systems for entity recognition and disambiguation are applicable to other architectures other than a Web-based architecture. For example, other systems that are programmed to perform natural language processing can be employed. Also, the methods, techniques, and systems discussed herein are applicable to differing query languages, protocols, communication media (optical, wireless, cable, etc.) and devices (such as wireless handsets, electronic organizers, personal digital assistants, portable email machines, game machines, pagers, navigation devices such as GPS receivers, etc.).
Accordingly, the related articles section 109 shows the result of executing a query of Barack Obama relating (in one or more ways described by actions/verbs) to one articles, or using other rules. In one embodiment, as shown, the entities in the connections map 106 are color-coded based upon their base type: for example, whether they are persons, places, or things (which may include organizations, products, etc.). An end user may select one of the nodes 107 on the map 106, to further change the recommendations by refining what is considered "related."
Figure 1 D is an example screen display of example refinements of recommendations of an example NCR based upon selection of node in a connections map. In Figure 1 D, the user has selected the node "Ohio" 106, which has caused the NCR to change its background searches to focus the recommendations on articles in which "Barack Obama" is connected (related by action/verb) to then entity "Ohio." This changed focus is reflected in field 122. The articles now displayed in the recommended articles section 121 reflect the top articles that describe something about Baracks interactions with Ohio. Full profiles (descriptions of useful, related information) are obtainable by selection of the links for the named entities in the related articles section 121; that is for the entities 124.
Example NCRs also may include still and or video images. By selecting link 123, the user can navigate to recommended videos that relate to the relationship between "Barack Obama" and "Ohio."
Note that these recommendations may also be ordered and/or ranked. Figure lE is an example screen display of an NCR playing a selected video. A video 132 of Barack Obama is played in response to user selection of the vidio link 122. Images, when available, may be displayed similarly.
Note that Figures 1B-1E provide an example of one type of NCR.
Many other example, including ones with very different appearing user interfaces, may be implemented.
Figure 2 is an example screen display of another type of NCR widget presented adjacent to content. The NCR 201 is provided next to news article and comprises and entity information section 202, a related articles section 203, and a connections map 206. The related articles section 203 and connections map 206 operate similarly to those described with reference to Figures 1B-1E.
As is observable, in this particular NCR 201, persons (e.g., Jennifer Brunner 208) are color coded in green, places (e.g., Ohio 207) in blue, and things ¨
organizations (e.g., social security administration 206) in red. The entity information section 202 includes named entities from the article 200, ordered. In the embodiment shown, they are ordered in importance. Other orderings can be similarly incorporated.
The NCR 201 also displays a link 204 to the profile (description of the named entity) of the most relevant named entity "Jennifer Brunner."
Figures 3A-3E are example screen displays of a named entity profile presented by an example embodiment of an NCR. As can be observed, the user interface and controls are different than those provided in Figures 1B and 2;
however, many of the same capabilities of an NCR are present. In particular, the example NCR of Figure 3A provides a connection map 301 and a top articles section 303 that recommends the "top" articles relating to the named entity "Jennifer Brunner." Again, these articles may be ordered based upon the most current and/or frequency of mentioning Ms. Brunner, popularity of access to articles, most relationships entities connected to Ms. Brunner, or based upon other definitions of topmost. The NCR also provides a user interface control 302 for modifying (by filtering based upon action) the articles 303 displayed. In addition, the NCR includes a recommended images area 307 with links to one or more images; a recommended videos area 308 with links to one ore more videos; a section reserved for advertisements 306 (which may also be targeted to the profile being displayed); top connections links 304 to explore profiles of the entities most current and relevant to the displayed profile and to filter the top articles section 303; and an about section 305, which contains a brief description and fast facts regarding the named entity whose profile is being displayed.
Figure 3B illustrated details of the connections map shown in Figure 3A. In particular, in connections map 320, the large central circle (or node) (e.g., node 311) represents the profiled person, place, or thing. The smaller nodes (e.g., node 312) are its top connections. The lines between the nodes (e.g., line/dot 310) represent the actual connection, which may be presented, for example, when the user hovers an input device over the dot on the line. When a user selects the action (e.g., dot 310), the top articles section is updated to reflect that connection.
Figure 30 illustrates the modifications to the articles 303 displayed when the user interface control 302 is select to cause filtering based upon a selected action. Here, the user has selected the action (i.e., verb) "governing." As a result, the NCR displays the top articles 332 that show the current entity "Jennifer Brunner" in a governing relation with other entities. The top recommended images section 333 and videos section 334 have been updated as well. In some embodiments the user interface control 302 also includes modifiers of the various named entities, so that the user may follow leads and find more information on, for example, the roles of the various entities.
The powerful NLP based search processing identifies the topmost entities in the relationship displayed by the articles recommended in section 322.
That is, these are the entities involved in a "governing" relationship with "Jennifer Brunner." Figure 3D lists these related entities in section 340, which can be selected to further filter the top articles display. For example, when the user selects the "Oberlin College" link 346, the filtering (an abbreviate EQL) is shown in area 341, the articles are changed to reflect the selection in top articles 342, and the recommended images links 343 and videos links 344 are also updated. By selecting the icon 350, the user is able to navigate to the profile page for that entity when one is available. Figure 3E is an example of the profile page 351 for Oberlin College displayed when the icon 350 is selected for the Oberlin College link 346.
Figures 4A-4C are example screen displays of another type of NCR
widget presented adjacent to content. In this case, the NCR 402 is display below the news article 401. The behavior of this NCR widget is similar to that described with reference to Figures 1A-1E. Figure 4A illustrates what the NCR looks like when it is invoked. Figure 4B illustrates the results when a user selects the connection node "White House" (in relation to Barack Obama). Figure 4C
illustrates example results when the user selects a related named entity. In particular, when the user selects one of the named entities in the recommended articles, here "New York Times" link 421, the connection map 423 and the related top articles 422 are changed to reflect that entity as the focus. Other behaviors are of course possible.
Figures 6-13 are provide a variety of additional forms for the user interfaces of example embodiments of an NCR.
Figures 6A-6D illustrate example screen displays for an example embodiment of an NLP-Based Content Recommender in the form of (hypertext) links to further information. The link can be used to navigate to the information, which is based upon the entities recognized in the underlying content. For example, in Figures 6A and 6D, several recommendation user interface controls and "tips" are illustrated (and presumed to be based upon the underlying content shown, or resultant from a relationship search). In particular, tip 609 displays information relating to Al Qaeda and tip 601 displays information relating to Barack Obama. For each of these NCR tips, other forms/presentations are displayed beneath them.
As described above, the layout of an NCR tip or user interface control (UI control) may depend upon the information available. Generally, in the example illustrated in Figures 6A-6D, the name of the entity 602 (e.g., Barack Obama) is presented, followed by the entity types and roles relating to the entity 603 (e.g., senator, democrat, presidential candidate). Then, for some tips and/or Ul controls, a list of facts about the entity 604 or 608, with or without tags, and/or an overview 607 of further content is displayed. In at least some embodiments, an image 606 associated with the named entity is also displayed. Importantly, if more information (as determined by the NCR) is available, then a link 605 (also referred to as a hyperlink, hypertext, or other indicator) may be displayed.
The link 605 may be further navigated by a user to display recommended content.
For example, as shown in larger images in Figures 6B and 60, the link 605 may be used to navigate to an NCR widget provided, for example, on a designated website, or transparently. In Figures 6A and 60, a list 660 is displayed of the recognized entities in an underlying text segment. This list 660 presents an indicator of the name of the entity, optionally followed by a symbol 611 of some sort, when further content is available. For example, when "Barack Obama" is selected, one of the tips 601 is displayed as previously described. Similarly, when the "United States of America" is selected, a Ul control such as tip 620 is presented. In addition to the (ordered) list of named entities 660, the NCR
widget presents a set of actions 612, and, when an action is selected, a list of the relationships 613. In NLP terminology, selecting the action (or verb) will generate a representation of the subjects or objects related to the selected entity via that verb. In at least some embodiments, a list of the most relevant articles 614 to the currently displayed article is also presented. This list can be implemented using the InFactO/Evri search technology described in detail elsewhere. For example, the summary sentence that is displayed for each article may indicate where the specific relationship was found.
According to one example embodiment, to populate the fields of the tip or Ul control, such as action list 612 and connections list (relationships list) 613, an IQL/EQL query may be performed against the last "W" weeks of news content to return related information. In the illustrated case, "N" results are returned for actions performed by the entity, in this case United States of America, sorted by action (verb) frequency. The top "V" verbs are then displayed, as seen in action list 612. In other embodiments, actions could be derived from an NLP-based relationship extraction of the context (trigger) text or a set of documents related to the context text, or from other sources.
Figures 7A and 7B are example screen displays that illustrate use of the widgets shown in Figures 6A-6D integrated into an application, such as a news content provider site. In Figures 7A and 7B, underlying content 700, such as a news article about Barack Obama, is presented, for example, on a web page.
Either automatically, or when explicitly or implicitly indicated by a user (depending upon the news platform implementation), an information widget such as widget is displayed. This widget 701 has similar fields to those described with reference to Figures 1B-1D above.
The progression from Figure 7A to 7B shows how the illustrated NCR
widget can be dynamically updated as information is found or computed. For example, the widget can populate the relationships field 704 based upon the content shown in the most relevant articles field 710, which in turn is based upon the selected entity from entity list 702 and the selected action from action list 703.
In at least some embodiments, the content of these fields is periodically updated, potentially automatically (and transparently) by rerunning the appropriate NLP
queries on a periodic or defined schedule.
Figures 8A and 8B illustrate example screen displays for an example embodiment of an NLP-Based Content Recommender in the form of graphical links that can be used to navigate to further information. In this user interface paradigm, relationships are represented as connected nodes, and recommended content is used as "annotations" to the nodes and/or the connectors. For example, in Figure 8A, several entities 801, 802, 804, and 805 are shown linked through their relationships. Entities 801 and 802 are person entities; whereas entities 804 and 805 are an organization entity and an event entity, respectively.
When the user hovers over or otherwise selects the named entity "Kaela Kennelly" 801, a tip 850 is displayed with initial information 852 similar to that described with reference to Figures 6A-6D. Again, part of the displayed tip is a link (here labeled "(read, more)") to further information. When a user navigates through the link, a detailed entity page 860 is displayed, which can be populated not just with static information, but with further content accessible via an NCR
widget.
As shown in larger image in Figure 8B, the relationship of entity Kaela Kennelly 801 to the ASP Women's World Tour 2006 event entity 830 is represented in summarized form in tip 831. When expanded by selecting a "more"
graphical indicator 831, a more extended form of related content page 830 is displayed. The extended form 830 shows a list of categories of related content 834, for example news & blogs, pictures and video, and a related website. An embodiment of an NCR widget can be used to present and drive the content and/or the links displayed in the extended page 830. The user can return to the summary form by selecting a "less" graphical indicator 832.
Figures 9, 10A, 10B, 11A-11C, and 12A-12C illustrate additional alternatives for providing user interfaces and/or tips via an NCR widget used to provide related or recommended content.
Figure 9 is another example screen display of a graphical representation of connections. A graphical representation is shown of the connections between a subject entity, here "Keala Kennelly, and all of the entities she interacts with. Entities having more distant connections, for example, as determined by the frequency of the relationships encountered, are displayed as nodes that appear further from the node that represents Keala.
Figures 10A and 10B illustrate another interface for presenting related content to an underlying named entity, for example, one either selected by a user directly, or perhaps even indirectly via entity recognition of entities presented on an underlying web page. In the illustrated example, content relating to a named entity 1001 "Arnold Schwarzenegger" is presented. Fast facts area 1004 displays a number of tidbits of quick information regarding the named entity 1001, which may be available as determined by the frequency of information gleaned during the natural language based analysis of related information or other contextual information. Roles list 1002 contains a list of all of the roles (facets for or categories) found for the named entity 1001. A detailed entity description is shown followed by a graphical representation of his roles, which display shows a "weighting" associated with such roles. Questions area 1006 illustrates the use of query templates and navigation tips for finding and presenting related information without the user needing to type in a query via a query language such as IQL/EQL.
Related entities area 1008, also supported by comprehensive NLP based searching and indexing, allows the user to navigate to other related information.
Figures 11A-11C illustrate another example NCR widget that combines some of the previously described textual and graphical presentations to present related and/or auxiliary information. For example, in Figure 11A, the user is presented with an NCR widget 1110 displayed in the foreground of the underlying (news) content 1100. The widget presents a list 1102 with quick summaries of the most relevant similar articles to the underlying content 1100 along with a graphical representation of the "connections" (relationships) 1107 to entities that appear in the article 11011 selected from the related articles list 1102.
Figure 11B shows an alternative graphical representation of the connections derived from a selected article 1111 of articles list 1102. Figure 110 is an illustration of an image 1120 rendered in response to user selection of image from a display of images.
Figures 12A-120 illustrates another example NCR widget integrated into a website that provides links to news and blog information. The presentations of this NCR widget focus on timeliness and frequency concepts, and thus the various displays may be organized differently than might be presented elsewhere.
For example, the article summary list 1200 displayed under the "Related News and Blogs" tab may be beneficial in social networking and/or blogging venues in that they are brief, list the source of the content, and the time when posted. In addition, in Figure 12B, under the "Most Popular Content" tab, the entity names that appear in the most frequent news and blog postings are displayed with graphical indications according to their importance to and frequency found within the documents being searched (for example, in real time). For example some entities in list 1201 are presented in different size fonts, different colors, etc.
Figure 120 illustrates, under the "Connections" tab, a representation of the connections (relationships) 1210 that may be explored in the articles summarized in article summary list 1200. These connection nodes are the result of relationship queries on the underlying documents summarized in article summary list 1200.
Other representations for presenting recommended content by means of an NLP-Based Content Recommenders are also contemplated. It is notable that many such representations hide the power of the underlying relationship indexing and searching technology by giving the user simple navigation tools and hints for getting more information. Moreover, the information is determined, calculated, and presented in substantially real-time or near real-time, and may be dynamically updated periodically, or at specified intervals, or according to different schedules.
An NCR widget may be implemented using standard programming techniques that leverage the capabilities of a NLP-based processing engine that can perform indexing and relationship searching. It is to be understood that, although the interfaces illustrated in Figures 1B-12 are described as incorporating the powerful capabilities of NLP processing, less sophisticated searching techniques can also take advantage of the user interface designs of such widgets, tips, and user interface controls to the extent they are able to generate a portion of the content. For example, using a standard keyword search that pattern matches terms, some number of the entities referred to in an underlying article may be uncovered using frequency counts; however, to the extent the text is complex (and, for example, contains aliases, coreferences, pronouns, ambiguous nouns, etc.) it is not possible to confidently discover and subsequently list all of the named entities in the underlying document. To do this, the document must be "understood." Accordingly, the sophisticated and powerful natural language technology supporting the content recommenders described herein, can be used to achieve far improved results.
Also, although certain terms are used primarily herein, other terms could be used interchangeably to yield equivalent embodiments and examples. In addition, terms may have alternate spellings which may or may not be explicitly mentioned, and all such variations of terms are intended to be included. In addition, in the following description, numerous specific details are set forth, such as data formats and code sequences, etc., in order to provide a thorough understanding of the described techniques. The embodiments described also can be practiced without some of the specific details described herein, or with other specific details, such as changes with respect to the ordering of the code flow, different code flows, etc. Thus, the scope of the techniques and/or functions described are not limited by the particular order, selection, or decomposition of steps described with reference to any particular routine.
Figure 13 is an example block diagram of an example computing system that may be used to practice embodiments of a NLP-Based Content Recommender. Note that a general purpose or a special purpose computing system may be used to implement an NCR. Further, the NCR may be implemented in software, hardware, firmware, or in some combination to achieve the capabilities described herein.
Computing system 1300 may comprise one or more server and/or client computing systems and may span distributed locations. In addition, each block shown may represent one or more such blocks as appropriate to a specific embodiment or may be combined with other blocks. Moreover, the various blocks of the NCR 1310 may physically reside on one or more machines, which use standard (e.g., TCP/IP) or proprietary interprocess communication mechanisms to communicate with each other.
In the embodiment shown, computer system 1300 comprises a computer memory ("memory") 1301, a display 1302, one or more Central Processing Units ("CPU") 1303, Input/Output devices 1304 (e.g., keyboard, mouse, CRT or LCD display, etc.), other computer-readable media 1305, and network connections 1306. The NCR 1310 is shown residing in memory 1301. In other embodiments, some portion of the contents, some of, or all of the components of the NCR 1310 may be stored on and/or transmitted over the other computer-readable media 1305. The components of the NCR 1310 preferably execute on one or more CPUs 1303 and perform entity identification and present content recommendations, as described herein. Other code or programs 1330 and potentially other data repositories, such as data repository 1320, also reside in the memory 1301, and preferably execute on one or more CPUs 1303. Of note, one or more of the components in Figure 13 may not be present in any particular implementation. For example, some embodiments embedded in other software may not provide means for other user input or display.
In one embodiment, the NCR 1310 includes an entity identification engine 1311, a knowledge analysis engine 1312, an NCR user interface support module 1313, an NLP parsing engine or preprocessor 1314, an NCR API 1317, a data repository (or interface thereto) for storing document NLP data 1316, and a knowledge data repository 1315, for example, an ontology index, for storing information from a multitude of internal and/or external sources. In at least some embodiments, one or more of the NLP parsing engine / preprocessor 1314, the entity identification engine 1311, and the knowledge analysis engine 1312 are provided external to the NCR and are available, potentially, over one or more networks 1380. Other and or different modules may be implemented. In addition, the NCR 1310 may interact via a network 1380 with applications or client code 1355 that uses results computed by the NCR 1310, one or more client computing systems 1360, and/or one or more third-party information provider systems 1365, such as purveyors of information used in knowledge data repository 1315. Also, of note, the knowledge data 1315 and the document data 1316 may be provided external to the NCR as well, for example, and be accessible over one or more networks 1380 to the NCR.
In an example embodiment, components/modules of the NCR 1310 are implemented using standard programming techniques. However, a range of programming languages known in the art may be employed for implementing such example embodiments, including representative implementations of various programming language paradigms, including but not limited to, object-oriented (e.g., Java, C++, C#, Smalltalk), functional (e.g., ML, Lisp, Scheme, etc.), procedural (e.g., C, Pascal, Ada, Modula, etc.), scripting (e.g., Perl, Ruby, Python, JavaScript, VBScript, etc.), declarative (e.g., SQL, Prolog, etc.), etc.
The embodiments described use well-known or proprietary synchronous or asynchronous client-sever computing techniques. However, the various components may be implemented using more monolithic programming techniques as well, for example, as an executable running on a single CPU
computer system, or alternately decomposed using a variety of structuring techniques known in the art, including but not limited to, multiprogramming, multithreading, client-server, or peer-to-peer, running on one or more computer systems each having one or more CPUs. Some embodiments are illustrated as executing concurrently and asynchronously and communicating using message passing techniques. Equivalent synchronous embodiments are also supported by an NCR implementation.
In addition, programming interfaces to the data stored as part of the NCR 1310 (e.g., in the data repositories 1315 and 1316) can be made available by standard means such as through C, C++, C#, and Java APIs; libraries for accessing files, databases, or other data repositories; through scripting languages such as XML; or through Web servers, FTP servers, or other types of servers providing access to stored data. The data repositories 1315 and 1316 may be implemented as one or more database systems, file systems, or any other method known in the art for storing such information, or any combination of the above, including implementation using distributed computing techniques.
Also, the example NCR 1310 may be implemented in a distributed environment comprising multiple, even heterogeneous, computer systems and networks. For example, in one embodiment, the modules 1311-1314, and 1317, and the data repositories 1315 and1316 are all located in physically different computer systems. In another embodiment, various modules of the NCR 1310 are hosted each on a separate server machine and may be remotely located from the tables which are stored in the data repositories 1315 and 1316. Also, one or more of the modules may themselves be distributed, pooled or otherwise grouped, such as for load balancing, reliability or security reasons. Different configurations and locations of programs and data are contemplated for use with techniques of described herein. A variety of distributed computing techniques are appropriate for implementing the components of the illustrated embodiments in a distributed manner including but not limited to TCP/IP sockets, RPC, RMI, HTTP, Web Services (XML-RPC, JAX-RPC, SOAP, etc.). Other variations are possible. Also, other functionality could be provided by each component/module, or existing functionality could be distributed amongst the components/modules in different ways, yet still achieve the functions of an NCR.
Furthermore, in some embodiments, some or all of the components of the NCR may be implemented or provided in other manners, such as at least partially in firmware and/or hardware, including, but not limited to, one or more application-specific integrated circuits (AS ICs), standard integrated circuits, controllers (e.g., by executing appropriate instructions, and including microcontrollers and/or embedded controllers), field-programmable gate arrays (FPGAs), complex programmable logic devices (CPLDs), etc. Some or all of the system components and/or data structures may also be stored as contents (e.g., as executable or other machine-readable software instructions or structured data) on a computer-readable medium (e.g., as a hard disk; a memory; a computer network or cellular wireless network or other data transmission medium; or a portable media article to be read by an appropriate drive or via an appropriate connection, such as a DVD or flash memory device) so as to enable or configure the computer-readable medium and/or one or more associated computing systems or devices to execute or otherwise use or provide the contents to perform at least some of the described techniques. Some or all of the system components and data structures may also be transmitted as contents of generated data signals (e.g., by being encoded as part of a carrier wave or otherwise included as part of an analog or digital propagated signal) on a variety of computer-readable transmission mediums, including wireless-based and wired/cable-based mediums, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). Such computer program products may also take other forms in other embodiments. Accordingly, embodiments of the present disclosure may be practiced with other computer system configurations.
From the foregoing it will be appreciated that, although specific embodiments have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of this disclosure. For example, the methods, techniques, and systems for entity recognition and disambiguation are applicable to other architectures other than a Web-based architecture. For example, other systems that are programmed to perform natural language processing can be employed. Also, the methods, techniques, and systems discussed herein are applicable to differing query languages, protocols, communication media (optical, wireless, cable, etc.) and devices (such as wireless handsets, electronic organizers, personal digital assistants, portable email machines, game machines, pagers, navigation devices such as GPS receivers, etc.).
Claims (18)
1. A computer-implemented method for providing natural language based content recommendations, comprising:
receiving an indication of text content;
processing the indicated text content using natural language processing ("NLP") parsing and linguistic analysis to derive a list of named entities present in the indicated text;
presenting an ordered list of the derived named entities, the list reflective of what the text content concerns; and presenting indicators of additional content associated with the derived named entities wherein the additional content is provided upon receiving an indication that at least one of the presented indicators has been navigated to, and wherein additional content is determined as relevant based upon a natural language processing analysis of the named entities relative to the indicated text content and of the named entities relative to a large corpus of document information or a knowledge repository, and wherein the additional content includes a representation of connections and wherein the connections are presented graphically and illustrate relationships between entities based upon actions.
receiving an indication of text content;
processing the indicated text content using natural language processing ("NLP") parsing and linguistic analysis to derive a list of named entities present in the indicated text;
presenting an ordered list of the derived named entities, the list reflective of what the text content concerns; and presenting indicators of additional content associated with the derived named entities wherein the additional content is provided upon receiving an indication that at least one of the presented indicators has been navigated to, and wherein additional content is determined as relevant based upon a natural language processing analysis of the named entities relative to the indicated text content and of the named entities relative to a large corpus of document information or a knowledge repository, and wherein the additional content includes a representation of connections and wherein the connections are presented graphically and illustrate relationships between entities based upon actions.
2. The method of claim 1 wherein the presented indicators are at least one of text, graphical indicators, symbols, icons, links, hyperlinks, or hypertext.
3. The method of claims 1 wherein the additional content is determined using a search of an ontology knowledge repository.
4. The method of claim 1 wherein the additional content is determined as relevant using context information associated with the derived named entities.
5. The method of claim 1 provided by at least one of a downloadable widget or a plug-in.
6. The method of claim 1 accessible by a user interface control embedded on a web page.
7. The method of claim 1 accessible by a user interface control implemented as a browser plug-in.
8. The method of claim 1 wherein the connections are derived using NLP-based relationship searches based upon one or more of the derived named entities.
9. A non-transitory computer-readable medium containing content that, when executed, causes a computing system to perform a method comprising:
receiving an indication of text content;
processing the indicated text content using natural language processing (NLP) parsing and linguistic analysis to derive a list of named entities present in the indicated text;
presenting an ordered list of the derived named entities, the list reflective of what the text content concerns; and presenting indicators of recommended content associated with the derived named entities wherein the recommended content is provided upon receiving an indication that at least one of the presented indicators has been navigated to, and wherein the recommended content is determined as relevant based upon a natural language processing parsing and linguistic analysis of the named entities relative to the indicated text content and of the named entities relative to a large corpus of document information or a knowledge repository, and wherein the additional content includes a representation of connections and wherein the connections are presented graphically and illustrate relationships between entities based upon actions.
receiving an indication of text content;
processing the indicated text content using natural language processing (NLP) parsing and linguistic analysis to derive a list of named entities present in the indicated text;
presenting an ordered list of the derived named entities, the list reflective of what the text content concerns; and presenting indicators of recommended content associated with the derived named entities wherein the recommended content is provided upon receiving an indication that at least one of the presented indicators has been navigated to, and wherein the recommended content is determined as relevant based upon a natural language processing parsing and linguistic analysis of the named entities relative to the indicated text content and of the named entities relative to a large corpus of document information or a knowledge repository, and wherein the additional content includes a representation of connections and wherein the connections are presented graphically and illustrate relationships between entities based upon actions.
10. The computer-readable medium of claim 9 wherein the medium is a memory in a computing system.
11. The computer-readable medium of claim 9 wherein the contents are instructions that, when executed, cause a computer processor in the computing device to perform the method.
12. A computer-implemented NLP-based content recommendation widget, comprising:
a memory; and a content recommender module that is configured to, when executed, receive a text segment for processing;
identify one or more candidate named entities to which a received text segment refers based, at least in part, upon a natural language processing (NLP) parsing and linguistic analysis of the text segment; and derive and present related content based at least in part upon a natural language processing parsing and linguistic analysis of entity based information and context related information, wherein the related content includes a representation of connections and wherein the connections are presented graphically and illustrate relationships between entities based upon actions.
a memory; and a content recommender module that is configured to, when executed, receive a text segment for processing;
identify one or more candidate named entities to which a received text segment refers based, at least in part, upon a natural language processing (NLP) parsing and linguistic analysis of the text segment; and derive and present related content based at least in part upon a natural language processing parsing and linguistic analysis of entity based information and context related information, wherein the related content includes a representation of connections and wherein the connections are presented graphically and illustrate relationships between entities based upon actions.
13. The system of claim 12 wherein the module is further configured, when executed, to display one or more indicators for navigating to the related content.
14. The system of claim 13 wherein the module is further configured, when executed, to present the related content in response to detecting selection of at least one of the navigation indicators.
15. The system of claim 14 wherein the navigation indicators are links.
16. The system of claim 14 wherein the navigation indicators are at least one of graphical symbols, icons, shapes, logos, or trademarks.
17. The system of claim 12 wherein the natural language processing parsing and linguistic analysis is initiated using a natural language query.
18. The system of claim 17 wherein the natural language query is a relationship search query.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US99955907P | 2007-10-17 | 2007-10-17 | |
US60/999,559 | 2007-10-17 | ||
PCT/US2008/080202 WO2009052308A1 (en) | 2007-10-17 | 2008-10-16 | Nlp-based content recommender |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2702937A1 CA2702937A1 (en) | 2009-04-23 |
CA2702937C true CA2702937C (en) | 2014-10-07 |
Family
ID=40567784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA2702937A Expired - Fee Related CA2702937C (en) | 2007-10-17 | 2008-10-16 | Nlp-based content recommender |
Country Status (5)
Country | Link |
---|---|
US (3) | US8700604B2 (en) |
EP (1) | EP2212772A4 (en) |
AU (1) | AU2008312423B2 (en) |
CA (1) | CA2702937C (en) |
WO (1) | WO2009052308A1 (en) |
Families Citing this family (98)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9552141B2 (en) | 2004-06-21 | 2017-01-24 | Apple Inc. | Methods and apparatuses for operating a data processing system |
JP5167256B2 (en) | 2006-06-22 | 2013-03-21 | マルチモーダル・テクノロジーズ・エルエルシー | Computer mounting method |
US8949215B2 (en) * | 2007-02-28 | 2015-02-03 | Microsoft Corporation | GUI based web search |
CA2717462C (en) | 2007-03-14 | 2016-09-27 | Evri Inc. | Query templates and labeled search tip system, methods, and techniques |
US8594996B2 (en) | 2007-10-17 | 2013-11-26 | Evri Inc. | NLP-based entity recognition and disambiguation |
AU2008312423B2 (en) * | 2007-10-17 | 2013-12-19 | Vcvc Iii Llc | NLP-based content recommender |
US10867123B2 (en) * | 2009-11-09 | 2020-12-15 | Microsoft Technology Licensing, Llc | Social browsing |
US10282481B2 (en) * | 2009-07-31 | 2019-05-07 | Oath Inc. | Providing link to portion of media object in real time in social networking update |
CA2779208C (en) * | 2009-10-30 | 2016-03-22 | Evri, Inc. | Improving keyword-based search engine results using enhanced query strategies |
US9710556B2 (en) | 2010-03-01 | 2017-07-18 | Vcvc Iii Llc | Content recommendation based on collections of entities |
US8346795B2 (en) * | 2010-03-10 | 2013-01-01 | Xerox Corporation | System and method for guiding entity-based searching |
US8645125B2 (en) | 2010-03-30 | 2014-02-04 | Evri, Inc. | NLP-based systems and methods for providing quotations |
US10692093B2 (en) * | 2010-04-16 | 2020-06-23 | Microsoft Technology Licensing, Llc | Social home page |
US8306963B2 (en) * | 2010-05-18 | 2012-11-06 | Microsoft Corporation | Embedded search bar |
US8959102B2 (en) * | 2010-10-08 | 2015-02-17 | Mmodal Ip Llc | Structured searching of dynamic structured document corpuses |
US20120209677A1 (en) | 2010-10-20 | 2012-08-16 | Mehta Kaushal N | Person-2-person social network marketing apparatuses, methods and systems |
US8725739B2 (en) | 2010-11-01 | 2014-05-13 | Evri, Inc. | Category-based content recommendation |
US10438176B2 (en) | 2011-07-17 | 2019-10-08 | Visa International Service Association | Multiple merchant payment processor platform apparatuses, methods and systems |
US10318941B2 (en) | 2011-12-13 | 2019-06-11 | Visa International Service Association | Payment platform interface widget generation apparatuses, methods and systems |
WO2013052866A2 (en) | 2011-10-05 | 2013-04-11 | Google Inc. | Semantic selection and purpose facilitation |
US8890827B1 (en) | 2011-10-05 | 2014-11-18 | Google Inc. | Selected content refinement mechanisms |
US9032316B1 (en) | 2011-10-05 | 2015-05-12 | Google Inc. | Value-based presentation of user-selectable computing actions |
US8825671B1 (en) * | 2011-10-05 | 2014-09-02 | Google Inc. | Referent determination from selected content |
US10013152B2 (en) | 2011-10-05 | 2018-07-03 | Google Llc | Content selection disambiguation |
US8878785B1 (en) | 2011-10-05 | 2014-11-04 | Google Inc. | Intent determination using geometric shape input |
US8930393B1 (en) | 2011-10-05 | 2015-01-06 | Google Inc. | Referent based search suggestions |
US8230016B1 (en) * | 2011-10-11 | 2012-07-24 | Google Inc. | Determining intent of a recommendation on a mobile application |
US9953378B2 (en) * | 2012-04-27 | 2018-04-24 | Visa International Service Association | Social checkout widget generation and integration apparatuses, methods and systems |
WO2013090611A2 (en) * | 2011-12-13 | 2013-06-20 | Visa International Service Association | Dynamic widget generator apparatuses, methods and systems |
US20130317808A1 (en) * | 2012-05-24 | 2013-11-28 | About, Inc. | System for and method of analyzing and responding to user generated content |
US20130332450A1 (en) * | 2012-06-11 | 2013-12-12 | International Business Machines Corporation | System and Method for Automatically Detecting and Interactively Displaying Information About Entities, Activities, and Events from Multiple-Modality Natural Language Sources |
US20140195884A1 (en) * | 2012-06-11 | 2014-07-10 | International Business Machines Corporation | System and method for automatically detecting and interactively displaying information about entities, activities, and events from multiple-modality natural language sources |
US9218344B2 (en) * | 2012-06-29 | 2015-12-22 | Thomson Reuters Global Resources | Systems, methods, and software for processing, presenting, and recommending citations |
US9595298B2 (en) | 2012-07-18 | 2017-03-14 | Microsoft Technology Licensing, Llc | Transforming data to create layouts |
US9397844B2 (en) | 2012-09-11 | 2016-07-19 | Apple Inc. | Automated graphical user-interface layout |
US9558278B2 (en) | 2012-09-11 | 2017-01-31 | Apple Inc. | Integrated content recommendation |
US9218118B2 (en) | 2012-09-11 | 2015-12-22 | Apple Inc. | Media player playlist management |
US9471559B2 (en) * | 2012-12-10 | 2016-10-18 | International Business Machines Corporation | Deep analysis of natural language questions for question answering system |
US9699019B2 (en) * | 2013-06-14 | 2017-07-04 | Microsoft Technology Licensing, Llc | Related content display associated with browsing |
WO2015042290A1 (en) * | 2013-09-19 | 2015-03-26 | Quixey, Inc. | Identifying gaps in search results |
US9110869B2 (en) * | 2013-09-27 | 2015-08-18 | Nokia Technologies Oy | Visual representation of a character identity and a location identity |
CN106716402B (en) * | 2014-05-12 | 2020-08-11 | 销售力网络公司 | Entity-centric knowledge discovery |
US9595048B2 (en) * | 2014-05-30 | 2017-03-14 | Excalibur Ip, Llc | Systems and methods for advertising using sponsored verbs and contexts |
US9639601B2 (en) * | 2014-06-06 | 2017-05-02 | Xerox Corporation | Question answering system adapted to style of user requests |
US9798708B1 (en) | 2014-07-11 | 2017-10-24 | Google Inc. | Annotating relevant content in a screen capture image |
US9965559B2 (en) | 2014-08-21 | 2018-05-08 | Google Llc | Providing automatic actions for mobile onscreen content |
US10282069B2 (en) | 2014-09-30 | 2019-05-07 | Microsoft Technology Licensing, Llc | Dynamic presentation of suggested content |
US9626768B2 (en) | 2014-09-30 | 2017-04-18 | Microsoft Technology Licensing, Llc | Optimizing a visual perspective of media |
US9594829B2 (en) | 2014-10-17 | 2017-03-14 | International Business Machines Corporation | Identifying possible contexts for a source of unstructured data |
US10102565B2 (en) | 2014-11-21 | 2018-10-16 | Paypal, Inc. | System and method for content integrated product purchasing |
US10102289B2 (en) | 2014-12-02 | 2018-10-16 | International Business Machines Corporation | Ingesting forum content |
US9626352B2 (en) | 2014-12-02 | 2017-04-18 | International Business Machines Corporation | Inter thread anaphora resolution |
US10180988B2 (en) | 2014-12-02 | 2019-01-15 | International Business Machines Corporation | Persona-based conversation |
US9811515B2 (en) | 2014-12-11 | 2017-11-07 | International Business Machines Corporation | Annotating posts in a forum thread with improved data |
US9626622B2 (en) | 2014-12-15 | 2017-04-18 | International Business Machines Corporation | Training a question/answer system using answer keys based on forum content |
US11216468B2 (en) | 2015-02-08 | 2022-01-04 | Visa International Service Association | Converged merchant processing apparatuses, methods and systems |
US10417313B2 (en) | 2015-02-20 | 2019-09-17 | International Business Machines Corporation | Inserting links that aid action completion |
US9858356B1 (en) * | 2015-02-27 | 2018-01-02 | Amazon Technologies, Inc. | Automated page generation using value-based recommendations |
US10009297B2 (en) * | 2015-03-12 | 2018-06-26 | International Business Machines Corporation | Entity metadata attached to multi-media surface forms |
CN106033466A (en) * | 2015-03-20 | 2016-10-19 | 华为技术有限公司 | Database query method and device |
US9703541B2 (en) | 2015-04-28 | 2017-07-11 | Google Inc. | Entity action suggestion on a mobile device |
US10592541B2 (en) * | 2015-05-29 | 2020-03-17 | Intel Corporation | Technologies for dynamic automated content discovery |
US10803391B2 (en) * | 2015-07-29 | 2020-10-13 | Google Llc | Modeling personal entities on a mobile device using embeddings |
US10970646B2 (en) | 2015-10-01 | 2021-04-06 | Google Llc | Action suggestions for user-selected content |
US20170102861A1 (en) * | 2015-10-09 | 2017-04-13 | Livetiles Llc | Natural Language Creation Tool for Applications, and an End User Drag and Drop Site-Building Design Canvas for Viewing and Analyzing User Adoption |
US10178527B2 (en) | 2015-10-22 | 2019-01-08 | Google Llc | Personalized entity repository |
US10055390B2 (en) | 2015-11-18 | 2018-08-21 | Google Llc | Simulated hyperlinks on a mobile device based on user intent and a centered selection of text |
US10394829B2 (en) | 2015-12-08 | 2019-08-27 | International Business Machines Corporation | Content authoring |
US20170161619A1 (en) * | 2015-12-08 | 2017-06-08 | International Business Machines Corporation | Concept-Based Navigation |
US9940384B2 (en) | 2015-12-15 | 2018-04-10 | International Business Machines Corporation | Statistical clustering inferred from natural language to drive relevant analysis and conversation with users |
US10235367B2 (en) | 2016-01-11 | 2019-03-19 | Microsoft Technology Licensing, Llc | Organization, retrieval, annotation and presentation of media data files using signals captured from a viewing environment |
US9965469B2 (en) | 2016-03-23 | 2018-05-08 | International Business Machines Corporation | Dynamic token translation for network interfaces |
US10558754B2 (en) * | 2016-09-15 | 2020-02-11 | Infosys Limited | Method and system for automating training of named entity recognition in natural language processing |
US10535005B1 (en) | 2016-10-26 | 2020-01-14 | Google Llc | Providing contextual actions for mobile onscreen content |
US10915661B2 (en) | 2016-11-03 | 2021-02-09 | International Business Machines Corporation | System and method for cognitive agent-based web search obfuscation |
US10740418B2 (en) | 2016-11-03 | 2020-08-11 | International Business Machines Corporation | System and method for monitoring user searches to obfuscate web searches by using emulated user profiles |
US10929481B2 (en) | 2016-11-03 | 2021-02-23 | International Business Machines Corporation | System and method for cognitive agent-based user search behavior modeling |
US10885132B2 (en) | 2016-11-03 | 2021-01-05 | International Business Machines Corporation | System and method for web search obfuscation using emulated user profiles |
US10331719B2 (en) * | 2016-11-07 | 2019-06-25 | Oath Inc. | Tip generation |
US11237696B2 (en) | 2016-12-19 | 2022-02-01 | Google Llc | Smart assist for repeated actions |
US10776408B2 (en) | 2017-01-11 | 2020-09-15 | International Business Machines Corporation | Natural language search using facets |
US10521448B2 (en) | 2017-02-10 | 2019-12-31 | Microsoft Technology Licensing, Llc | Application of actionable task structures to disparate data sets for transforming data in the disparate data sets |
US10481766B2 (en) * | 2017-02-10 | 2019-11-19 | Microsoft Technology Licensing, Llc | Interfaces and methods for generating and applying actionable task structures |
US10380228B2 (en) | 2017-02-10 | 2019-08-13 | Microsoft Technology Licensing, Llc | Output generation based on semantic expressions |
US10514827B2 (en) | 2017-02-10 | 2019-12-24 | Microsoft Technology Licensing, Llc | Resequencing actionable task structures for transforming data |
US10572826B2 (en) | 2017-04-18 | 2020-02-25 | International Business Machines Corporation | Scalable ground truth disambiguation |
US20180307744A1 (en) * | 2017-04-25 | 2018-10-25 | Microsoft Technology Licensing, Llc | Named entity-based category tagging of documents |
US10534825B2 (en) | 2017-05-22 | 2020-01-14 | Microsoft Technology Licensing, Llc | Named entity-based document recommendations |
US10652592B2 (en) | 2017-07-02 | 2020-05-12 | Comigo Ltd. | Named entity disambiguation for providing TV content enrichment |
EP3710951A4 (en) * | 2017-12-11 | 2020-10-14 | Samsung Electronics Co., Ltd. | Method and apparatus for managing navigation of web content |
US10776500B2 (en) | 2018-08-22 | 2020-09-15 | International Business Machines Corporation | Autonomous hint generator |
US10713329B2 (en) * | 2018-10-30 | 2020-07-14 | Longsand Limited | Deriving links to online resources based on implicit references |
US11144337B2 (en) * | 2018-11-06 | 2021-10-12 | International Business Machines Corporation | Implementing interface for rapid ground truth binning |
CN109522399B (en) * | 2018-11-20 | 2022-08-12 | 北京京东尚科信息技术有限公司 | Method and apparatus for generating information |
US11170064B2 (en) | 2019-03-05 | 2021-11-09 | Corinne David | Method and system to filter out unwanted content from incoming social media data |
US10929498B2 (en) * | 2019-04-02 | 2021-02-23 | International Business Machines Corporation | Identifying and storing relevant user content in a collection accessible to user in website subscribed to service |
US10922101B2 (en) | 2019-06-26 | 2021-02-16 | International Business Machines Corporation | User interface widget recommendation |
US11366818B2 (en) | 2019-11-21 | 2022-06-21 | International Business Machines Corporation | Context-aware dynamic content assist |
Family Cites Families (179)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0280866A3 (en) | 1987-03-03 | 1992-07-08 | International Business Machines Corporation | Computer method for automatic extraction of commonly specified information from business correspondence |
JP2573266B2 (en) | 1987-12-18 | 1997-01-22 | 株式会社東芝 | Oscillation circuit |
US4839853A (en) | 1988-09-15 | 1989-06-13 | Bell Communications Research, Inc. | Computer information retrieval using latent semantic structure |
US5301109A (en) | 1990-06-11 | 1994-04-05 | Bell Communications Research, Inc. | Computerized cross-language document retrieval using latent semantic indexing |
US5317507A (en) | 1990-11-07 | 1994-05-31 | Gallant Stephen I | Method for document retrieval and for word sense disambiguation using neural networks |
US5325298A (en) | 1990-11-07 | 1994-06-28 | Hnc, Inc. | Methods for generating or revising context vectors for a plurality of word stems |
US5377103A (en) | 1992-05-15 | 1994-12-27 | International Business Machines Corporation | Constrained natural language interface for a computer that employs a browse function |
IL107482A (en) | 1992-11-04 | 1998-10-30 | Conquest Software Inc | Method for resolution of natural-language queries against full-text databases |
US5331556A (en) | 1993-06-28 | 1994-07-19 | General Electric Company | Method for natural language data processing using morphological and part-of-speech information |
US5619709A (en) | 1993-09-20 | 1997-04-08 | Hnc, Inc. | System and method of context vector generation and retrieval |
WO1995012173A2 (en) | 1993-10-28 | 1995-05-04 | Teltech Resource Network Corporation | Database search summary with user determined characteristics |
US5799268A (en) | 1994-09-28 | 1998-08-25 | Apple Computer, Inc. | Method for extracting knowledge from online documentation and creating a glossary, index, help database or the like |
US5794050A (en) | 1995-01-04 | 1998-08-11 | Intelligent Text Processing, Inc. | Natural language understanding system |
US6061675A (en) | 1995-05-31 | 2000-05-09 | Oracle Corporation | Methods and apparatus for classifying terminology utilizing a knowledge catalog |
US5752022A (en) * | 1995-08-07 | 1998-05-12 | International Business Machines Corp. | Method for creating a hypertext language for a distributed computer network |
US6026388A (en) | 1995-08-16 | 2000-02-15 | Textwise, Llc | User interface and other enhancements for natural language information retrieval system and method |
WO1997008604A2 (en) | 1995-08-16 | 1997-03-06 | Syracuse University | Multilingual document retrieval system and method using semantic vector matching |
US5848417A (en) | 1996-01-02 | 1998-12-08 | Sofmap Future Design, Inc. | Flexible information input and operation selection system |
US6025837A (en) * | 1996-03-29 | 2000-02-15 | Micrsoft Corporation | Electronic program guide with hyperlinks to target resources |
US5778362A (en) | 1996-06-21 | 1998-07-07 | Kdl Technologies Limted | Method and system for revealing information structures in collections of data items |
US5857179A (en) | 1996-09-09 | 1999-01-05 | Digital Equipment Corporation | Computer method and apparatus for clustering documents and automatic generation of cluster keywords |
US5836771A (en) | 1996-12-02 | 1998-11-17 | Ho; Chi Fai | Learning method and system based on questioning |
US5950189A (en) | 1997-01-02 | 1999-09-07 | At&T Corp | Retrieval system and method |
US7146381B1 (en) * | 1997-02-10 | 2006-12-05 | Actioneer, Inc. | Information organization and collaboration tool for processing notes and action requests in computer systems |
US6076051A (en) | 1997-03-07 | 2000-06-13 | Microsoft Corporation | Information retrieval utilizing semantic representation of text |
US6055540A (en) | 1997-06-13 | 2000-04-25 | Sun Microsystems, Inc. | Method and apparatus for creating a category hierarchy for classification of documents |
GB9713019D0 (en) | 1997-06-20 | 1997-08-27 | Xerox Corp | Linguistic search system |
US5982370A (en) | 1997-07-18 | 1999-11-09 | International Business Machines Corporation | Highlighting tool for search specification in a user interface of a computer system |
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 |
KR980004126A (en) | 1997-12-16 | 1998-03-30 | 양승택 | Query Language Conversion Apparatus and Method for Searching Multilingual Web Documents |
US6122647A (en) | 1998-05-19 | 2000-09-19 | Perspecta, Inc. | Dynamic generation of contextual links in hypertext documents |
US6006225A (en) | 1998-06-15 | 1999-12-21 | Amazon.Com | Refining search queries by the suggestion of correlated terms from prior searches |
US6178416B1 (en) | 1998-06-15 | 2001-01-23 | James U. Parker | Method and apparatus for knowledgebase searching |
US6192360B1 (en) | 1998-06-23 | 2001-02-20 | Microsoft Corporation | Methods and apparatus for classifying text and for building a text classifier |
US7529756B1 (en) | 1998-07-21 | 2009-05-05 | West Services, Inc. | System and method for processing formatted text documents in a database |
US6167368A (en) | 1998-08-14 | 2000-12-26 | The Trustees Of Columbia University In The City Of New York | Method and system for indentifying significant topics of a document |
JP3309077B2 (en) | 1998-08-31 | 2002-07-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Search method and system using syntax information |
US6167370A (en) | 1998-09-09 | 2000-12-26 | Invention Machine Corporation | Document semantic analysis/selection with knowledge creativity capability utilizing subject-action-object (SAO) structures |
US6363373B1 (en) | 1998-10-01 | 2002-03-26 | Microsoft Corporation | Method and apparatus for concept searching using a Boolean or keyword search engine |
US6480843B2 (en) | 1998-11-03 | 2002-11-12 | Nec Usa, Inc. | Supporting web-query expansion efficiently using multi-granularity indexing and query processing |
US6460029B1 (en) | 1998-12-23 | 2002-10-01 | Microsoft Corporation | System for improving search text |
US6405190B1 (en) | 1999-03-16 | 2002-06-11 | Oracle Corporation | Free format query processing in an information search and retrieval system |
US6584464B1 (en) | 1999-03-19 | 2003-06-24 | Ask Jeeves, Inc. | Grammar template query system |
US6862710B1 (en) | 1999-03-23 | 2005-03-01 | Insightful Corporation | Internet navigation using soft hyperlinks |
US6510406B1 (en) | 1999-03-23 | 2003-01-21 | Mathsoft, Inc. | Inverse inference engine for high performance web search |
US6311152B1 (en) | 1999-04-08 | 2001-10-30 | Kent Ridge Digital Labs | System for chinese tokenization and named entity recognition |
US7546263B2 (en) | 1999-06-18 | 2009-06-09 | Thomson Holdings Llc | System, method and computer readable medium containing instructions for evaluating and disseminating securities analyst performance information |
US6484162B1 (en) | 1999-06-29 | 2002-11-19 | International Business Machines Corporation | Labeling and describing search queries for reuse |
US7073717B1 (en) * | 1999-08-27 | 2006-07-11 | Paxar Americas, Inc. | Portable printer and data entry device connected thereto assembly |
US6601026B2 (en) | 1999-09-17 | 2003-07-29 | Discern Communications, Inc. | Information retrieval by natural language querying |
US6532469B1 (en) | 1999-09-20 | 2003-03-11 | Clearforest Corp. | Determining trends using text mining |
JP3754253B2 (en) | 1999-11-19 | 2006-03-08 | 株式会社東芝 | Structured document search method, structured document search apparatus, and structured document search system |
US6411962B1 (en) | 1999-11-29 | 2002-06-25 | Xerox Corporation | Systems and methods for organizing text |
US6820111B1 (en) * | 1999-12-07 | 2004-11-16 | Microsoft Corporation | Computer user interface architecture that saves a user's non-linear navigation history and intelligently maintains that history |
US20020184485A1 (en) * | 1999-12-20 | 2002-12-05 | Dray James F. | Method for electronic communication providing self-encrypting and self-verification capabilities |
US6904433B2 (en) | 2000-04-25 | 2005-06-07 | At&T Corp. | Method for using query templates in directory caches |
US6571236B1 (en) * | 2000-01-10 | 2003-05-27 | General Electric Company | Method and apparatus for problem diagnosis and solution |
US6757646B2 (en) | 2000-03-22 | 2004-06-29 | Insightful Corporation | Extended functionality for an inverse inference engine based web search |
US6578022B1 (en) | 2000-04-18 | 2003-06-10 | Icplanet Corporation | Interactive intelligent searching with executable suggestions |
US20020010574A1 (en) | 2000-04-20 | 2002-01-24 | Valery Tsourikov | Natural language processing and query driven information retrieval |
US20020007267A1 (en) | 2000-04-21 | 2002-01-17 | Leonid Batchilo | Expanded search and display of SAO knowledge base information |
US6859800B1 (en) | 2000-04-26 | 2005-02-22 | Global Information Research And Technologies Llc | System for fulfilling an information need |
US6993475B1 (en) | 2000-05-03 | 2006-01-31 | Microsoft Corporation | Methods, apparatus, and data structures for facilitating a natural language interface to stored information |
US7062561B1 (en) * | 2000-05-23 | 2006-06-13 | Richard Reisman | Method and apparatus for utilizing the social usage learned from multi-user feedback to improve resource identity signifier mapping |
WO2001090921A2 (en) | 2000-05-25 | 2001-11-29 | Kanisa, Inc. | System and method for automatically classifying text |
US7490092B2 (en) | 2000-07-06 | 2009-02-10 | Streamsage, Inc. | Method and system for indexing and searching timed media information based upon relevance intervals |
US20040125877A1 (en) | 2000-07-17 | 2004-07-01 | Shin-Fu Chang | Method and system for indexing and content-based adaptive streaming of digital video content |
US6741988B1 (en) | 2000-08-11 | 2004-05-25 | Attensity Corporation | Relational text index creation and searching |
US6732097B1 (en) | 2000-08-11 | 2004-05-04 | Attensity Corporation | Relational text index creation and searching |
US7171349B1 (en) | 2000-08-11 | 2007-01-30 | Attensity Corporation | Relational text index creation and searching |
US6728707B1 (en) | 2000-08-11 | 2004-04-27 | Attensity Corporation | Relational text index creation and searching |
US6738765B1 (en) | 2000-08-11 | 2004-05-18 | Attensity Corporation | Relational text index creation and searching |
US6732098B1 (en) | 2000-08-11 | 2004-05-04 | Attensity Corporation | Relational text index creation and searching |
US7146416B1 (en) | 2000-09-01 | 2006-12-05 | Yahoo! Inc. | Web site activity monitoring system with tracking by categories and terms |
US20020120651A1 (en) * | 2000-09-12 | 2002-08-29 | Lingomotors, Inc. | Natural language search method and system for electronic books |
EP1189148A1 (en) | 2000-09-19 | 2002-03-20 | UMA Information Technology AG | Document search and analysing method and apparatus |
EP1323067A4 (en) | 2000-09-25 | 2013-11-20 | Evri Inc | Extended functionality for an inverse inference engine based web search |
US20020078041A1 (en) | 2000-10-13 | 2002-06-20 | Wu William Chyi | System and method of translating a universal query language to SQL |
AUPR082400A0 (en) | 2000-10-17 | 2000-11-09 | Telstra R & D Management Pty Ltd | An information retrieval system |
US20020091671A1 (en) | 2000-11-23 | 2002-07-11 | Andreas Prokoph | Method and system for data retrieval in large collections of data |
US20020078045A1 (en) | 2000-12-14 | 2002-06-20 | Rabindranath Dutta | System, method, and program for ranking search results using user category weighting |
US7089237B2 (en) | 2001-01-26 | 2006-08-08 | Google, Inc. | Interface and system for providing persistent contextual relevance for commerce activities in a networked environment |
US6810146B2 (en) * | 2001-06-01 | 2004-10-26 | Eastman Kodak Company | Method and system for segmenting and identifying events in images using spoken annotations |
US7295965B2 (en) | 2001-06-29 | 2007-11-13 | Honeywell International Inc. | Method and apparatus for determining a measure of similarity between natural language sentences |
US20030101182A1 (en) | 2001-07-18 | 2003-05-29 | Omri Govrin | Method and system for smart search engine and other applications |
US7284191B2 (en) | 2001-08-13 | 2007-10-16 | Xerox Corporation | Meta-document management system with document identifiers |
US7398201B2 (en) | 2001-08-14 | 2008-07-08 | Evri Inc. | Method and system for enhanced data searching |
US7526425B2 (en) | 2001-08-14 | 2009-04-28 | Evri Inc. | Method and system for extending keyword searching to syntactically and semantically annotated data |
US7283951B2 (en) | 2001-08-14 | 2007-10-16 | Insightful Corporation | Method and system for enhanced data searching |
US7403938B2 (en) | 2001-09-24 | 2008-07-22 | Iac Search & Media, Inc. | Natural language query processing |
FR2832236B1 (en) | 2001-11-13 | 2004-04-16 | Inst Nat Rech Inf Automat | SEMANTIC WEB PORTAL GRAPHIC INTERFACE |
NO316480B1 (en) | 2001-11-15 | 2004-01-26 | Forinnova As | Method and system for textual examination and discovery |
US7475058B2 (en) | 2001-12-14 | 2009-01-06 | Microsoft Corporation | Method and system for providing a distributed querying and filtering system |
US20030115191A1 (en) | 2001-12-17 | 2003-06-19 | Max Copperman | Efficient and cost-effective content provider for customer relationship management (CRM) or other applications |
ATE466345T1 (en) * | 2002-01-16 | 2010-05-15 | Elucidon Group Ltd | RETRIEVAL OF INFORMATION DATA WHERE DATA IS ORGANIZED INTO TERMS, DOCUMENTS AND DOCUMENT CORPORAS |
EP1483687A4 (en) | 2002-03-11 | 2008-08-06 | Univ Southern California | Named entity translation |
US7693830B2 (en) | 2005-08-10 | 2010-04-06 | Google Inc. | Programmable search engine |
US6996575B2 (en) | 2002-05-31 | 2006-02-07 | Sas Institute Inc. | Computer-implemented system and method for text-based document processing |
AU2003239962A1 (en) | 2002-06-03 | 2003-12-19 | Arizona Board Of Regents Acting For And On Behalf Of Arizona State University | System and method of analyzing the temporal evolution of text using dynamic centering resonance analysis |
US20040010508A1 (en) | 2002-07-09 | 2004-01-15 | Marcus Fest | Method for selecting articles for viewing on continuous web page |
US7092938B2 (en) | 2002-08-28 | 2006-08-15 | International Business Machines Corporation | Universal search management over one or more networks |
US20040064447A1 (en) | 2002-09-27 | 2004-04-01 | Simske Steven J. | System and method for management of synonymic searching |
US20040167887A1 (en) | 2002-12-06 | 2004-08-26 | Attensity Corporation | Integration of structured data with relational facts from free text for data mining |
US7836010B2 (en) * | 2003-07-30 | 2010-11-16 | Northwestern University | Method and system for assessing relevant properties of work contexts for use by information services |
US7356778B2 (en) | 2003-08-20 | 2008-04-08 | Acd Systems Ltd. | Method and system for visualization and operation of multiple content filters |
KR100493902B1 (en) | 2003-08-28 | 2005-06-10 | 삼성전자주식회사 | Method And System For Recommending Contents |
US20050108024A1 (en) | 2003-11-13 | 2005-05-19 | Fawcett John Jr. | Systems and methods for retrieving data |
JP2005182280A (en) | 2003-12-17 | 2005-07-07 | Ibm Japan Ltd | Information retrieval system, retrieval result processing system, information retrieval method, and program |
US20050144064A1 (en) * | 2003-12-19 | 2005-06-30 | Palo Alto Research Center Incorporated | Keyword advertisement management |
AU2005204147A1 (en) | 2003-12-31 | 2005-07-21 | Thomson Reuters Global Resources | Systems, methods, interfaces and software for automated collection and integration of entity data into online databases and professional directories |
GB2411014A (en) | 2004-02-11 | 2005-08-17 | Autonomy Corp Ltd | Automatic searching for relevant information |
GB0407816D0 (en) * | 2004-04-06 | 2004-05-12 | British Telecomm | Information retrieval |
US7428529B2 (en) | 2004-04-15 | 2008-09-23 | Microsoft Corporation | Term suggestion for multi-sense query |
US7257577B2 (en) | 2004-05-07 | 2007-08-14 | International Business Machines Corporation | System, method and service for ranking search results using a modular scoring system |
US7752200B2 (en) | 2004-08-09 | 2010-07-06 | Amazon Technologies, Inc. | Method and system for identifying keywords for use in placing keyword-targeted advertisements |
US7272597B2 (en) | 2004-12-29 | 2007-09-18 | Aol Llc | Domain expert search |
US7483881B2 (en) | 2004-12-30 | 2009-01-27 | Google Inc. | Determining unambiguous geographic references |
US20060229889A1 (en) * | 2005-03-30 | 2006-10-12 | Ianywhere Solutions, Inc. | Context proposed items mechanism for natural language user interface |
US7386545B2 (en) | 2005-03-31 | 2008-06-10 | International Business Machines Corporation | System and method for disambiguating entities in a web page search |
US7739104B2 (en) | 2005-05-27 | 2010-06-15 | Hakia, Inc. | System and method for natural language processing and using ontological searches |
US7451135B2 (en) | 2005-06-13 | 2008-11-11 | Inform Technologies, Llc | System and method for retrieving and displaying information relating to electronic documents available from an informational network |
US8412557B1 (en) | 2005-06-17 | 2013-04-02 | Amazon Technologies, Inc. | Method and system for determining whether an offering is controversial based on user feedback |
US7672833B2 (en) | 2005-09-22 | 2010-03-02 | Fair Isaac Corporation | Method and apparatus for automatic entity disambiguation |
WO2007044865A2 (en) | 2005-10-11 | 2007-04-19 | Nervana, Inc. | Information nervous system |
NO20054720L (en) | 2005-10-13 | 2007-04-16 | Fast Search & Transfer Asa | Information access with user-driven metadata feedback |
EP1949273A1 (en) | 2005-11-16 | 2008-07-30 | Evri Inc. | Extending keyword searching to syntactically and semantically annotated data |
US8132103B1 (en) | 2006-07-19 | 2012-03-06 | Aol Inc. | Audio and/or video scene detection and retrieval |
US7856445B2 (en) * | 2005-11-30 | 2010-12-21 | John Nicholas and Kristin Gross | System and method of delivering RSS content based advertising |
US9202241B2 (en) * | 2005-11-30 | 2015-12-01 | John Nicholas and Kristin Gross | System and method of delivering content based advertising |
US7676489B2 (en) * | 2005-12-06 | 2010-03-09 | Sap Ag | Providing natural-language interface to repository |
US20070136326A1 (en) | 2005-12-14 | 2007-06-14 | Business Objects | Apparatus and method for defining relationships between component objects in a business intelligence system |
US20070143300A1 (en) * | 2005-12-20 | 2007-06-21 | Ask Jeeves, Inc. | System and method for monitoring evolution over time of temporal content |
US20070174258A1 (en) | 2006-01-23 | 2007-07-26 | Jones Scott A | Targeted mobile device advertisements |
US20070203901A1 (en) * | 2006-02-24 | 2007-08-30 | Manuel Prado | Data transcription and management system and method |
US7996783B2 (en) * | 2006-03-02 | 2011-08-09 | Microsoft Corporation | Widget searching utilizing task framework |
US9135238B2 (en) * | 2006-03-31 | 2015-09-15 | Google Inc. | Disambiguation of named entities |
US8924269B2 (en) | 2006-05-13 | 2014-12-30 | Sap Ag | Consistent set of interfaces derived from a business object model |
KR20090028713A (en) | 2006-05-19 | 2009-03-19 | 마이 버추얼 모델 아이엔씨. | Simulation-assisted search |
US9386327B2 (en) * | 2006-05-24 | 2016-07-05 | Time Warner Cable Enterprises Llc | Secondary content insertion apparatus and methods |
US7593940B2 (en) | 2006-05-26 | 2009-09-22 | International Business Machines Corporation | System and method for creation, representation, and delivery of document corpus entity co-occurrence information |
US8296168B2 (en) | 2006-09-13 | 2012-10-23 | University Of Maryland | System and method for analysis of an opinion expressed in documents with regard to a particular topic |
US7788084B2 (en) | 2006-09-19 | 2010-08-31 | Xerox Corporation | Labeling of work of art titles in text for natural language processing |
US20080082578A1 (en) * | 2006-09-29 | 2008-04-03 | Andrew Hogue | Displaying search results on a one or two dimensional graph |
US8122026B1 (en) | 2006-10-20 | 2012-02-21 | Google Inc. | Finding and disambiguating references to entities on web pages |
US8655939B2 (en) | 2007-01-05 | 2014-02-18 | Digital Doors, Inc. | Electromagnetic pulse (EMP) hardened information infrastructure with extractor, cloud dispersal, secure storage, content analysis and classification and method therefor |
US20080196055A1 (en) * | 2007-02-09 | 2008-08-14 | Cable Television Laboratories, Inc. | Restricting access to content |
US8112402B2 (en) | 2007-02-26 | 2012-02-07 | Microsoft Corporation | Automatic disambiguation based on a reference resource |
US7917489B2 (en) | 2007-03-14 | 2011-03-29 | Yahoo! Inc. | Implicit name searching |
US7739596B2 (en) | 2007-04-06 | 2010-06-15 | Yahoo! Inc. | Method and system for displaying contextual advertisements with media |
US7856433B2 (en) | 2007-04-06 | 2010-12-21 | Yahoo! Inc. | Dynamic bid pricing for sponsored search |
US20080256056A1 (en) | 2007-04-10 | 2008-10-16 | Yahoo! Inc. | System for building a data structure representing a network of users and advertisers |
US9535810B1 (en) | 2007-04-24 | 2017-01-03 | Wal-Mart Stores, Inc. | Layout optimization |
US20080301120A1 (en) * | 2007-06-04 | 2008-12-04 | Precipia Systems Inc. | Method, apparatus and computer program for managing the processing of extracted data |
US7966553B2 (en) * | 2007-06-07 | 2011-06-21 | Microsoft Corporation | Accessible content reputation lookup |
US20080306899A1 (en) | 2007-06-07 | 2008-12-11 | Gregory Michelle L | Methods, apparatus, and computer-readable media for analyzing conversational-type data |
KR20080111822A (en) | 2007-06-20 | 2008-12-24 | 강정욱 | Search support information system providing guide information and ranking information linked with user's search |
US8209214B2 (en) * | 2007-06-26 | 2012-06-26 | Richrelevance, Inc. | System and method for providing targeted content |
JP2010539589A (en) | 2007-09-12 | 2010-12-16 | レピュテーションディフェンダー, インコーポレーテッド | Identifying information related to specific entities from electronic sources |
US20090076886A1 (en) | 2007-09-14 | 2009-03-19 | Google Inc. | Advertisement plusbox |
AU2008312423B2 (en) * | 2007-10-17 | 2013-12-19 | Vcvc Iii Llc | NLP-based content recommender |
US8594996B2 (en) | 2007-10-17 | 2013-11-26 | Evri Inc. | NLP-based entity recognition and disambiguation |
WO2009055712A1 (en) | 2007-10-26 | 2009-04-30 | Accoona Corp | Apparatuses, methods and systems for a forum ferreting system |
US8666909B2 (en) | 2007-11-02 | 2014-03-04 | Ebay, Inc. | Interestingness recommendations in a computing advice facility |
US20090187467A1 (en) | 2008-01-23 | 2009-07-23 | Palo Alto Research Center Incorporated | Linguistic extraction of temporal and location information for a recommender system |
US20090228439A1 (en) | 2008-03-07 | 2009-09-10 | Microsoft Corporation | Intent-aware search |
US9378286B2 (en) | 2008-03-14 | 2016-06-28 | Microsoft Technology Licensing, Llc | Implicit user interest marks in media content |
JP5224868B2 (en) | 2008-03-28 | 2013-07-03 | 株式会社東芝 | Information recommendation device and information recommendation method |
US20090319342A1 (en) | 2008-06-19 | 2009-12-24 | Wize, Inc. | System and method for aggregating and summarizing product/topic sentiment |
US20090327223A1 (en) | 2008-06-26 | 2009-12-31 | Microsoft Corporation | Query-driven web portals |
WO2009158721A1 (en) | 2008-06-27 | 2009-12-30 | Servo Software, Inc. | Social mobile search |
US8520979B2 (en) | 2008-08-19 | 2013-08-27 | Digimarc Corporation | Methods and systems for content processing |
US8385971B2 (en) | 2008-08-19 | 2013-02-26 | Digimarc Corporation | Methods and systems for content processing |
US8606815B2 (en) | 2008-12-09 | 2013-12-10 | International Business Machines Corporation | Systems and methods for analyzing electronic text |
US8069160B2 (en) | 2008-12-24 | 2011-11-29 | Yahoo! Inc. | System and method for dynamically monetizing keyword values |
US8346702B2 (en) | 2009-05-22 | 2013-01-01 | Step 3 Systems, Inc. | System and method for automatically predicting the outcome of expert forecasts |
WO2010138203A1 (en) | 2009-05-29 | 2010-12-02 | Snell Peter S | System and related method for digital attitude mapping |
US20110099133A1 (en) | 2009-10-28 | 2011-04-28 | Industrial Technology Research Institute | Systems and methods for capturing and managing collective social intelligence information |
US8725739B2 (en) | 2010-11-01 | 2014-05-13 | Evri, Inc. | Category-based content recommendation |
US9116995B2 (en) | 2011-03-30 | 2015-08-25 | Vcvc Iii Llc | Cluster-based identification of news stories |
-
2008
- 2008-10-16 AU AU2008312423A patent/AU2008312423B2/en not_active Ceased
- 2008-10-16 WO PCT/US2008/080202 patent/WO2009052308A1/en active Application Filing
- 2008-10-16 EP EP08840300.1A patent/EP2212772A4/en not_active Withdrawn
- 2008-10-16 US US12/288,349 patent/US8700604B2/en not_active Expired - Fee Related
- 2008-10-16 CA CA2702937A patent/CA2702937C/en not_active Expired - Fee Related
-
2014
- 2014-02-14 US US14/181,591 patent/US9471670B2/en active Active
-
2016
- 2016-08-10 US US15/233,790 patent/US20170039272A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
AU2008312423A1 (en) | 2009-04-23 |
CA2702937A1 (en) | 2009-04-23 |
EP2212772A4 (en) | 2017-04-05 |
US8700604B2 (en) | 2014-04-15 |
US20170039272A1 (en) | 2017-02-09 |
US9471670B2 (en) | 2016-10-18 |
US20090150388A1 (en) | 2009-06-11 |
WO2009052308A1 (en) | 2009-04-23 |
US20140229467A1 (en) | 2014-08-14 |
EP2212772A1 (en) | 2010-08-04 |
AU2008312423B2 (en) | 2013-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2702937C (en) | Nlp-based content recommender | |
US9384245B2 (en) | Method and system for assessing relevant properties of work contexts for use by information services | |
US7895595B2 (en) | Automatic method and system for formulating and transforming representations of context used by information services | |
Koch et al. | VarifocalReader—in-depth visual analysis of large text documents | |
US10133823B2 (en) | Automatically providing relevant search results based on user behavior | |
US10169456B2 (en) | Automatic determination of question in text and determination of candidate responses using data mining | |
Sheth et al. | Semantics empowered web 3.0: managing enterprise, social, sensor, and cloud-based data and services for advanced applications | |
US20120233160A1 (en) | System and method for assisting a user to identify the contexts of search results | |
US20140089287A1 (en) | Information space exploration tool system and method | |
US20230205796A1 (en) | Method and system for document retrieval and exploration augmented by knowledge graphs | |
Musabeyezu | Comparative study of annotation tools and techniques | |
US20230153370A1 (en) | Classifying Parts of a Markup Language Document, and Applications Thereof | |
Maynard et al. | D1. 2.2. 1.3 Benchmarking of annotation tools | |
Chen | Automatic Web widgets prediction for Web 2.0 access technologies | |
Boixados Sanuy | Evaluating the usability of a tag-based, multi-faceted knowledge organization system | |
Dörk | Towards a Better VIEW: Visual Information Exploration on the Web |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request |
Effective date: 20131003 |
|
MKLA | Lapsed |
Effective date: 20191016 |