US20100318537A1 - Providing knowledge content to users - Google Patents
Providing knowledge content to users Download PDFInfo
- Publication number
- US20100318537A1 US20100318537A1 US12/483,935 US48393509A US2010318537A1 US 20100318537 A1 US20100318537 A1 US 20100318537A1 US 48393509 A US48393509 A US 48393509A US 2010318537 A1 US2010318537 A1 US 2010318537A1
- Authority
- US
- United States
- Prior art keywords
- data
- graph
- knowledge content
- knowledge
- content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 230000000694 effects Effects 0.000 claims abstract description 49
- 238000000034 method Methods 0.000 claims abstract description 41
- 230000004044 response Effects 0.000 claims abstract description 37
- 230000002123 temporal effect Effects 0.000 claims abstract description 26
- 241000533950 Leucojum Species 0.000 claims abstract description 14
- 238000013500 data storage Methods 0.000 claims abstract description 12
- 238000012545 processing Methods 0.000 claims description 29
- 238000013480 data collection Methods 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 description 16
- 238000000605 extraction Methods 0.000 description 8
- 230000006855 networking Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000010224 classification analysis Methods 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005553 drilling Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- 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
-
- 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
Definitions
- Web data such as information related to users of the internet
- Web data is currently stored in a number of discrete data silos. For instance, information related to a user's interaction with the internet is commonly stored separate from information related to that user's social networking information. Additionally, information that is private, such as that related to a user's e-mail account or transactional activities, is commonly stored separate from user activity data and user social networking information. Further, information comprising web data within the internet is commonly stored across different data silos.
- This non-integrated storage schema combined with inadequate means for simultaneously accessing information from the multiple data sources, often results in incomplete responses to user queries. This, in turn, often results in users having to execute a plurality of queries in succession, followed by manually piecing together the responses to such queries, to obtain the information they are seeking.
- Embodiments of the present invention relate to systems, methods, and computer-storage media for generating and providing knowledge content to users utilizing a web architecture that integrates information across data silos through a common, flexible data storage schema, such as a star or snowflake schema.
- Data from a content graph, a user activity graph (e.g., user profile and web use data), a social graph (e.g., social networking data), and temporal data as it relates to each of the content graph, the social graph and the user activity graph is stored in a knowledge content database utilizing the star schema.
- a knowledge content database utilizing the star schema.
- FIG. 1 is a block diagram of an exemplary computing environment suitable for use in implementing embodiments of the present invention
- FIG. 2 is a schematic diagram of an exemplary computing system architecture for generating and accessing knowledge content, in accordance with an embodiment of the present invention
- FIG. 3 is a flow diagram showing a method for providing knowledge content to users in response to receiving information requests, in accordance with an embodiment of the present invention.
- FIG. 4 is a flow diagram showing a method for generating knowledge content, in accordance with an embodiment of the present invention.
- Embodiments of the present invention relate generally to systems, methods, and computer-storage media having computer-executable instructions embodied thereon that, when executed, perform methods for generating and providing knowledge content to users utilizing a web architecture that integrates information across data silos through a common, flexible data storage schema, such as a star or snowflake schema.
- a user activity graph e.g., user profile and web use data
- a social graph e.g., social networking data
- temporal data that is, data of or related to time
- the present invention provides one or more computer-storage media having computer-executable instructions embodied thereon that, when executed, perform a method for providing knowledge content to users in response to receiving information requests.
- the method includes receiving an information request from a user and processing the information request to extract one or more objects and/or attributes from the information request.
- the method further includes analyzing the objects and/or attributes from the information request utilizing a knowledge base to determine knowledge content relevant to the one or more extracted objects and/or attributes of the received information request.
- One way in which such analysis may take place is through the application of at least one ontology to the extracted objects and/or attributes.
- the knowledge base includes a knowledge content database that comprises at least a content graph, a social graph, a user activity graph, and temporal data relating to each of the content graph, the social graph and the user activity graph.
- the data stored in association with the knowledge content database is integrated and stored in a common, flexible data storage schema, e.g., a star or snowflake storage schema.
- the method includes generating a response to the received information request, the response including the determined relevant knowledge content, and transmitting the response to the user.
- the relevant knowledge content comprises information derived from the knowledge content database that has at least one pivot applied thereto.
- the present invention provides a system having a processor and one or more computer-readable storage media for accessing knowledge content.
- the system includes a data collection component, a data processing component and a knowledge base.
- the data collection component is configured for obtaining input data.
- the data processing component is configured for analyzing the obtained input data and extracting information there from.
- the knowledge base is configured to receive the information extracted from the input data and output knowledge content relevant to the input data, and includes a knowledge content database that is configured to store at least a content graph, a social graph, a user activity graph, and temporal data relating to each of the content graph, the social graph and the user activity graph in a common, referencing data storage schema (e.g., a star or snowflake storage schema).
- the system further includes one or more of at least one ontology, a dimensional index configured for allowing one or more pivots to be applied to the knowledge content across multiple dimensions, and an inferencing engine configured to at least one of analyze the knowledge content to determine first additional knowledge content and accept manual input of second additional knowledge content.
- the present invention provides one or more computer-storage media having computer-executable instructions embodied thereon that, when executed, perform a method for generating knowledge content.
- the method includes receiving a data reference (for instance, through a publisher feed) and extracting metadata from the data reference to determine at least one object and/or at least one attribute associated therewith.
- the method further includes analyzing the at least one object and/or at least one attribute utilizing a knowledge base to determine whether there is existing knowledge content relevant to the at least one object and/or at least one attribute.
- One way in which such analysis may take place is through the application of at least one ontology to the determined at least one object and/or at least one attribute.
- the knowledge base includes a knowledge content database that includes at least a content graph, a social graph, a user activity graph, and temporal data relating to each of the content graph, the social graph and the user activity graph. If it is determined that there is existing knowledge content relevant to the at least one object and/or the at least one attribute, the method further comprises determining whether the existing knowledge content is accurate in view of the at least one object and/or the at least one attribute. Depending upon the determination, in embodiments, relationships between the at least one object and other objects stored in association with the knowledge content database may be created, modified or eliminated.
- the method further comprises determining whether any new knowledge content items are capable of being generated based on the at least one object and/or the at least one attribute. If new knowledge content items are capable of being generated, in embodiments, new relationships may be created between the at least one object and other objects stored in association with the knowledge content database. New knowledge content items are capable of being discovered through the user of one or more pivots applied to the knowledge content database.
- FIG. 1 an exemplary operating environment suitable for implementing various embodiments hereof is now described.
- computing device 100 is but one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the computing device 100 be interpreted as having any dependency or requirement relating to any one or combination of modules/components illustrated.
- Embodiments may be described in the general context of computer code or machine-usable instructions, including computer-executable instructions such as program modules, being executed by a computer or other machine, such as a personal data assistant or other handheld device.
- program modules including routines, programs, objects, modules, data structures, and the like, refer to code that performs particular tasks or implements particular abstract data types.
- Embodiments may be practiced in a variety of system configurations, including handheld devices, consumer electronics, general-purpose computers, specialty computing devices, etc.
- Embodiments may also be practiced in distributed computing environments where tasks are performed by remote-processing devices that are linked through a communications network.
- the computing device 100 includes a bus 110 that directly or indirectly couples the following devices: a memory 112 , one or more processors 114 , one or more presentation modules 116 , input/output (I/O) ports 118 , I/O modules 120 , and an illustrative power supply 122 .
- the bus 110 represents what may be one or more busses (such as an address bus, data bus, or combination thereof).
- busses such as an address bus, data bus, or combination thereof.
- FIG. 1 is merely illustrative of an exemplary computing device that may be used in connection with one or more embodiments. Distinction is not made between such categories as “workstation,” “server,” “laptop,” “handheld device,” etc., as all are contemplated within the scope of FIG. 1 and reference to “computer” or “computing device.”
- the computing device 100 typically includes a variety of computer-readable media.
- computer-readable media may comprise Random Access Memory (RAM); Read Only Memory (ROM); Electronically Erasable Programmable Read Only Memory (EEPROM); flash memory or other memory technologies; CDROM, digital versatile disks (DVD) or other optical or holographic media; magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, carrier waves or any other medium that may be used to encode desired information and be accessed by the computing device 100 .
- the memory 112 includes computer-storage media in the form of volatile and/or nonvolatile memory.
- the memory may be removable, nonremovable, or a combination thereof.
- Exemplary hardware devices include solid-state memory, hard drives, optical-disc drives, etc.
- the computing device 100 includes one or more processors that read data from various entities such as the memory 112 or I/O modules 120 .
- the presentation module(s) 116 present data indications to a user or other device.
- Exemplary presentation modules include a display device, speaker, printing module, vibrating module, and the like.
- the I/O ports 118 allow the computing device 100 to be logically coupled to other devices including the I/O modules 120 , some of which may be built in.
- Illustrative modules include a microphone, joystick, game pad, satellite dish, scanner, printer, wireless device, and the like.
- Embodiments of the present invention provide systems, methods, and computer-storage media having computer-executable instructions embodied thereon that, when executed, perform methods in accordance with embodiments hereof, for generating and providing knowledge content to users.
- the systems and method described herein utilize data warehousing principles to integrate information across formerly disparate data silos (e.g., a content graph, a social graph, and a user graph), as well as temporal data related to each of the content graph, social graph and user graph, into a common, flexible data storage schema, e.g., a star or snowflake schema, so that the data may be more easily accessed and smarter, more comprehensive knowledge may be provided in response to received user queries.
- a single, extensible application platform is created that supports the addition of multiple applications (for instance, analysis and reporting applications) without the need to create custom infrastructures.
- pivot table functionality may be applied to the data such that the data may be navigated and accessed in more dynamic ways (as opposed to traditional query/response navigation), thus, in a sense, transforming the stored information from mere data into knowledge. For example, suppose a user submits a request for information related to a particular stock, Stock A. In a traditional web search, responses generated may include a current stock price, a listing of stocks in the same sector as Stock A, a history of the company corresponding to Stock A, or the like. Suppose, however, that the user's inquiry required a much less linear sort of answer.
- Pivot table functionality applied to the knowledge content database permits not only the browsing of related objects stored in association with the knowledge content database but also the ability to establish specific lists that can subsequently be filtered based upon various refinements.
- “related” can have multiple meanings and relationships can both be discovered utilizing pivot tables and also stored utilizing pivot tables.
- Pivots may be defined by the user (that is, a user may submit his or her query with enough specificity that the manner in which to apply pivots to the data is specific and unambiguous), or pivots may be discovered. This discovery can happen in a number of ways. First, discovery can happen between entities of similar type.
- a relationship between company A and company B in the same sector may be established, creating a pivot based upon a similar entity.
- discovery can happen between entities of different types that share a common characteristic. For instance, a user's portfolio may include a number of individual stocks. It may be discovered that a mutual fund that has a similar or better overall return over 1, 3 and/or 5 years to the user's portfolio. A relationship may then be created between the user's individual stock portfolio and the mutual fund, creating a pivot based upon a dissimilar entity.
- pivots may be discovered based upon word or phrase definitions as they apply to overall context. For instance, suppose a user desires to find a mutual fund that performs “better” than mutual fund X. Pivots may be created as they relate to areas that have been heralded as important by, for example, a series of financial experts, when analyzing performance of mutual funds. For instance, the plurality of pivots may comprise a fund prices, price-earnings ratio, and indicators of investor confidence in the funds. Further, as the user interacts with the funds provided in response to the information request, user activity information related to the interactions may be stored in association with the knowledge content database. This information may be analyzed to deduce inferences relating to the funds and the pivots provided.
- a user indicates fund A is “better” than fund B, and that fund B is “better” than fund C
- an analysis of the characteristics of funds A, B, and C may reveal that fund A has a higher price-earnings ratio than fund B, and that fund B has a higher price-earnings ratio than fund C.
- a user preference may be created to include the return of a price-earnings ratio in response to an information request from the user concerning which fund is “better” than another.
- the preference may refer to funds in a particular technology industry, or may refer to funds of any classification.
- such user preferences may be determined and stored via ontologies.
- An ontology is simply a structure for interpreting the world and defining semantics so that meaning may be applied to the data in the knowledge content database.
- Ontologies may be manually constructed and subsequently augmented using data from the knowledge content database (particularly as it changes over time) and/or may be auto-created through extraction of meanings from documents and subsequently manually refined. Any and all such methodologies, and any combination thereof, are contemplated to be within the scope of embodiments of the present invention. Once ontologies are created, it allows not only the ability to browse the data in the knowledge content database in different ways, but also the ability for relationships between data items to be discovered.
- Applying data warehousing principles to integrate information across formerly disparate data silos e.g., a content graph, a social graph, and a user graph
- temporal data related to each of the content graph, social graph and user graph into a star or snowflake schema
- structured data may include, by way of example only, data in a traditional database wherein the information includes metadata and is referenced. For instance, data in an airline reservations system or certain types of social networking data (friends, interests, etc.) represent structured data sources.
- Unstructured data are documents basically void of associated metadata referencing, unless the structure is implicit in the text itself and not explicitly referred to in the database. For instance, articles or other documents comprising a lot of text are often unstructured data.
- Semi-structured data is a hybrid category. Semi-structured data is data that is mostly unstructured but includes some structured data (e.g., tables) embedded therein. Examples of semi-structured data include Security and Exchange Commission filings that are primarily text but include some tables and graphs embedded therein. Each of these types of data may be processed to determine various objects and attributes associated therewith that may then be utilized to create relationships with other objects and attributes across the various data sources, thus integrating all the data types and making them available for responding to user queries.
- the storage of information from a content graph, a social graph, and a user graph, as well as temporal data related to each of the content graph, social graph and user graph, into a star or snowflake schema in association with a knowledge content database, and applying one or more ontologies and pivot table functionality to such information provides a common, extensible application platform that provides smarter, more comprehensive knowledge in response to received user queries. It also provides the ability to rank traditionally-discovered search results in different ways. For instance, instead of simply inquiring about movies that are playing “near” a particular user, that user may inquire about movies playing “near” him or her that his or her friends like.
- the system architecture 200 includes a user device 210 , a data collection component 230 , a data processing component 240 , a knowledge base 250 , a knowledge base access interface 260 , and an application framework 270 , all in communication with one another through a network 220 .
- the network 220 may be wired, wireless, or both.
- the network 220 may include multiple networks, or a network of networks, but is shown in FIG. 2 in more simple form so as not to obscure other aspects of the present invention.
- the network 220 may include one or more wide area networks (WANs), one or more local area networks (LANs), one or more public networks, such as the Internet, and/or one or more private networks.
- WANs wide area networks
- LANs local area networks
- public networks such as the Internet
- private networks such as the Internet
- components such as a base station, a communications tower, or even access points (as well as other components) may provide wireless connectivity in some embodiments.
- single components are illustrated for the sake of clarity, one skilled in the art will appreciate that the network 220 may enable communication between any numbers of user devices. Networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet. Accordingly, the network 220 is not further described herein.
- the user device 210 may be any computing device that is capable of web accessibility, for instance, the computing device 100 of FIG. 1 .
- the user device 210 might take on a variety of forms, such as a personal computer (PC), a laptop computer, a mobile phone, a personal digital assistance (PDA), a server, a CD player, a MP3 player, a video player, a handheld communications device, a workstation, any combination of these delineated devices, or any other device that is capable of web accessibility.
- the user device 210 is a mobile device that utilizes a wireless telecommunications network to communicate.
- a mobile device may include, for example, a display(s), a power source(s) (e.g., a battery), a data store(s), a speaker(s), memory, a buffer(s), and the like.
- the data collection component 230 , the data processing component 240 , the knowledge base 250 , the knowledge base access interface 260 and the application framework 270 may reside in association with one or more computing devices, e.g., a server or collection of servers configured for accessing and collecting data and providing responses to received queries. It will be understood that, though components 230 , 240 , 250 , 260 and 270 are illustrated as distinct components, one or more of the illustrated components 230 , 240 , 250 , 260 and 270 may, in fact, be combined or may itself be comprised of multiple components.
- the illustrated system architecture 200 is but one exemplary configuration and is not intended to be so limiting.
- the data collection component 230 is configured for obtaining input data for the system architecture 200 .
- information may be obtained in a number of ways, including through the use of a user feed, an activity log, a web crawler, and a publisher feed.
- An example of a user feed is the entering of user information into a user profile.
- Another example of a user feed is the input of user preferences into a knowledge store.
- An additional exemplary user feed may include any other information that is input by a user at an input device, including but not limited to, a publisher feed.
- publishers may submit structured, semi-structured and/or unstructured content to the data collection component for interpretation and analysis.
- an activity log of one or more users also may be a source of data input into the system architecture 200 .
- the activity log may also be used to track the periodic updating cycles of websites or other indicia that are available from tracking activity occurring on a website.
- crawler Another way of gathering information is pulling data from the crawling of web documents.
- the manner and type of crawler may depend on user preferences, efficiency limitations, and/or the preferences of programmers inputting crawler limitations. It will be understood that other embodiments of crawler characterizations are within the scope of embodiments of the present invention, as well.
- information may be obtained for the system 200 from other sources (e.g., may be pushed into the system).
- Data pushes may originate from one or more sources, such as structured data sources. For example, data may be updated to the system architecture 200 through periodic data feeds to systems from a company, or from site updates received from publishers as part of their publishing cycle. Data pushes may also originate from a community of contributors, wherein a user may upload personal data or documents.
- Data received from one or more sources, such as those listed above, are analyzed by the data processing component 240 to extract relevant information. That is, the data processing component 240 is configured for analyzing obtained input data and extracting information there from.
- the collected data may be processed by one or more data processing sub-components of the data processing component 240 .
- the data processing component 240 illustrated in FIG. 2 includes an initial processing sub-component 242 , a dimensional indexing sub-component 244 and an indexing engine 246 for processing collected or received data.
- the initial processing component 242 is configured to analyze data and extract information using one or more data processing methods.
- the initial processing component 242 may be used to analyze data and extract information from the three types of data described herein above: unstructured data, structured data, and semi-structured data.
- Unstructured data may comprise documents possessing a series of text lines. Documents that are included in the category of unstructured data may have little or no metadata.
- Structured data may comprise a traditional database where information is structured and referenced.
- Semi-structured data may comprise a document such as a research paper or a Security and Exchange Commission filing, where part of the document comprises lines of text and part of the document comprises tables and graphs used for illustration.
- the structured components of a document may be analyzed as structured data and the unstructured components of the documents may be analyzed as unstructured data.
- Such data processing method(s) may be open and extensible.
- one or more developers and communities may plug in new data extraction processes, entity detection methods, and classification analysis programs to enhance the quality and categories of information extracted from collected data.
- initial processing of data by the initial processing component 242 may include one or more of a lexical analysis, a linguistic analysis, and an entity extraction analysis.
- inferences may be made between aspects of the data received.
- data from seemingly disparate sources may be integrated and new relationships may be inferred through the extraction of attributes, such as meaning and semantics, from the data.
- Inferences may be created through entity relationship extraction using documents being processed and data which is already stored in the knowledge base 250 . Attribute extraction and inferences are more fully described below.
- inferences may be formed as data is loaded into the system architecture 200 . Such inferences may be discerned between new information and information that is already stored in the system architecture 200 , for instance, in association with the knowledge base 250 (as more fully described below).
- data stored in the system architecture 200 may be analyzed for inferences when new entries have been entered into the system architecture 200 , particularly when new entries are added to the knowledge base 250 of the system architecture 200 . As such, the system architecture 200 may be thought of as a learning system. Once inferences have been made from the data extracted, those inferences may be aggregated into a new data store, such as a knowledge content database 254 of the knowledge base 250 .
- the dimensional indexing sub-component 244 creates a multi-dimensional index or table that references components of the knowledge base 250 .
- the dimensional indexing sub-component 244 is also responsible for abstracting data based on relational schema and ontology and unifying the data such that it may be exposed as a knowledge graph.
- Ontology may reside in the knowledge base 250 .
- the dimensional indexing sub-component may refer to ontology stored in the knowledge content database 254 .
- the dimensional indexing sub-component 244 thus enables the mapping of the data and the ontology. Additionally, the dimensional indexing sub-component 244 enables the mapping of sub-areas such as metadata, content, annotation, query, domain-specific data and aggregated data.
- the dimensional indexing sub-component 244 enables the mapping of data and ontology through the use of objects and attributes, respectively.
- the graphs used in the system architecture 200 are constructed based on a flexible, extensible data storage schema, for instance, a star or snowflake schema.
- the star or snowflake schema is used to map objects.
- the dimensional indexing sub-component governs when and how connections or relationships stored in association with the flexible star schema are generated, modified and/or broken.
- the dimensional indexing sub-component may also, or alternatively, index data based on keywords, vocabulary and/or concepts related to each data element and/or object.
- Objects may represent a concept within a web document, or an object may represent a character in a play. Additionally or alternatively, an object may represent a mathematical theorem or a geographical location. Each object is associated with at least one reference, such as a web document.
- a reference associated with a concept within a web document may be the web document itself; a reference associated with a character in a play may be the text of the play itself; a reference associated with the mathematical theorem may be a document chronicling the history of the mathematical theorem; and a reference associated with a geographical location may be a map of the location and/or a website associated with that geographic location (e.g., a website associated with the state of Missouri).
- each object comprises at least one attribute.
- an attribute comprises a characteristic or a fact or data associated with an object.
- attributes associated with a concept in the web document may include a common definition of the concept, the number of people who have searched for that concept and selected that web document, or names of writers who have written on that concept (if any).
- Exemplary attributes associated with a character in a play may include the character's love interest (if any), the geographical origin of the character (if known), the author of the play, or generally agreed upon traits of the character.
- Exemplary attributes associated with a mathematical theorem may include the name of the person(s) who discovered the theorem, the date the theorem was discovered, and historical facts relating to the development and/or acceptance of the theorem.
- Exemplary attributes associated with a geographic location may include the history of the region, the language(s) commonly spoken in the region, and the longitudinal and latitudinal reference points of the geographic location.
- the inferencing engine 246 is configured for making second degree inferences by analyzing inferences that may exist between data that is added to the knowledge base 250 and inferences that have been stored in the knowledge base 250 of the system architecture 200 . As such, one aspect of the inferencing engine 246 may be to analyze the knowledge base 250 to search for new inferences that may be made when data is added to the knowledge base 250 . In alternative embodiments, the inferencing engine 246 may search for new inferences in response to the receipt of an information request.
- the illustrated knowledge base 250 includes an ontologies/metadata component 252 and a knowledge content database 254 .
- the knowledge content database 254 may, in fact, be a collection of one or more databases, one or more of which may be stored in association with a server (not shown), network (not shown), other system components (e.g., user device 210 ), or other computing devices (not shown).
- the illustrated knowledge content database 254 includes a content graph, a user activity graph and a social graph, as well as temporal data as it relates to each of the content graph, the user activity graph and the social graph.
- the user activity data graph may be constructed from information associated with user activity, for instance, the activity of registered users.
- User activity may include, by way of example only, user inputs, the number and types of page views, query activities, and annotation activities (for instance, where a user initiates an action that indicates a website is trustworthy).
- a user may be verified as being a registered user through the use of a security measure, such as a password or another form of authenticating the identity of the user, such as through the originating address of a user device (e.g., user device 210 ).
- a security measure such as a password or another form of authenticating the identity of the user, such as through the originating address of a user device (e.g., user device 210 ).
- the social graph of the knowledge content database 254 includes objects associated with data relating to a user profile(s), user relationships with other users, and user preferences.
- the social graph may include user profile information associated with participants of a social network.
- a social graph may include all “friend” listings in an area, or it may include information relating to which users are friends of a user's friends (“friend of a friend” data).
- Data associated with users on a social networking website may include user demographic information, user psychographic information and user behavioral data.
- the content graph of the knowledge content database 254 may include one or more attributes of entities, attributes comprising keywords, metadata, meanings, associations, properties, content, query, query results, annotation, and semantified data entities. Keywords entered into a query may be used to determine a best match within the knowledge base that corresponds best with the intended meaning behind the query. To do this, documents and queries are analyzed to discern the entities, relationships and facts contained in the documents. For example, a keyword phrase “President of the United States” may be understood as referencing knowledge related to a position of political office, but it may also be understood as referencing knowledge related to the country of the United States of America.
- the keyword phrase may reference a series of time periods associated with past presidents, and/or it may reference a time period (e.g., 4 years) that comprises one term of a presidency.
- the keyword query may be translated to a query graph.
- the query graph may be a sub-graph that matches against a series of graphs in the knowledge database.
- the query graph may be presented to the user in response to a keyword query.
- the query graph may contain the type of references described above, and may be accessed using a pivot table functionality.
- a keyword entity may comprise keywords and phrases that are indexed and managed by the indexing components of a core subsystem.
- a metadata entity may comprise a set of data initialized by a system from known sources and enhanced by intelligent algorithms and collaborative annotation. Metadata may be managed by a metadata management component of a core subsystem.
- a content entity may comprise information about content, as well as the content itself.
- the data collection component 230 and the data processing component 240 may analyze this content and store it in the system architecture 200 , for instance, in association with the knowledge base 250 .
- Information requests and responses to information requests may comprise data stored and processed in the same or a similar manner as other, unstructured contents. Extracted semantics may be used in various functionalities such as personalization of a knowledge content experience to an individual user. Recent responses to information requests may also be stored to enhance search performance and relevance. This data may be managed and used by a data presentation and enhancement component (not shown).
- the knowledge content database 254 may further include an annotation component (not shown) having an ontology/metadata management component configured for managing metadata annotation.
- the knowledge database may additionally include a semantified data component (not shown) configured for storing semantified data in relational tables or in graph tables. Semantified data may be managed by the dimensional indexing sub-component 244 and/or other relational database managers (not shown).
- the temporal data of the knowledge database 254 may comprise information related to the temporal nature (that is, of or related to time) of data included in other graphs.
- a time index may comprise an aggregation of time elements. For instance, a user may query how many minutes he has spent on the computer in the past thirty days. The time element may track each user activity entry related to the past 30 days, and may sum up the times related to deliver a final sum to the user in response to the user query. The time aspect may also be used to interpret aspects of a user query.
- a user may query: “Who was president of the United States when I was in college?”
- the data processing component 240 may access the social graph to determine user information entries related to when the user was at college, and then the data processing component 240 may access the temporal data to determine what time period the user was in college. This information may then be used to access the content graph and determine who was president during the given time period determined by reference to the temporal data of the knowledge database.
- the ontology/metadata component 252 of the knowledge base 250 may serve as an ontology- and metadata-based index that is used to graph objects associated with graphical components of the knowledge content database 254 .
- the objects may be extracted from the graphs comprising the knowledge content database 254 , such as the content graph, the social graph, the user activity graph, and the temporal data.
- the ontology/metadata component 252 is enabled through the dimensional indexing sub-component 244 and is modified through the inferencing engine 246 .
- the ontology/metadata component 252 references data from each graph using a common referencing schema.
- the common referencing schema may be in the form of a flexible, extensible star schema.
- a star schema Through the use of a star schema, a set of data may be stored in a data table. From this initial data table, additional data may be referenced by snow flaking into other tables. For instance, a data table comprising a list of users who have visited a particular website may have data tables snow-flaked from each user comprising a list of websites that each user has viewed within a certain period of time. In this way, the snow-flaked tables may be considered dimensions of the original data table.
- dimensions may be within the same type of data category, such as user activity
- dimensions may also serve as a bridge connecting data across different types of data categories.
- a data table comprising an individual list of websites visited by a user may have a dimension of websites that have been identified by the individual as being a “favorite” website. This dimension may then lead to a data table of user preferences for the individual, which may then lead to a social profile of the individual.
- information about a website may lead to the preferences of an individual.
- the use of the common referencing schema allows objects to reference disparate aspects of data collected for the knowledge content database 254 and stored in different graphs.
- pivoting As described above, one way to navigate through a flexible star referencing schema is through the use of pivoting through data tables and dimensions of data tables.
- a user and/or an application may navigate through a large amount of information collected from web content information, user activity information, social networking activity information, etc.
- the use of pivoting is distinct from the concept of drilling down, because the use of a pivot between data tables allows information to be drilled down as well as to be drilled up, so to speak, as information from a dimension may expand beyond an initial data table.
- One example that may be used to distinguish the use of a pivot table over a general search engine includes the way in which a search query is interpreted using the system architecture 200 . Similar to prior methods of searching, a user may input a search query comprising one or more keywords. In prior methods, the search query is then matched against a set of documents on an inverted index. In embodiments of the present invention, the inverted index may be replaced by a more powerful “pivot table” to pivot around large numbers of objects. In contrast to a search results ranking, the relationship between objects on the knowledge graph may be increased if it is determined that those relationships are tied to the search query. The user may then be presented with results to his or her search query.
- Knowledge content Information stored in association with the knowledge base 250 , wherein access is provided to each of the content graph, the user activity graph, the social graph and the temporal data, information associated with such graphs being organized and indexed in accordance with the ontology/metadata component 252 , may be referred to herein as “knowledge content.”
- Such “knowledge content” is derived from formerly discrete content silos through a common, referencing data storage schema, with the application of one or more ontologies and pivot table functionality, such that the content is smarter and more comprehensive than content offered by prior art query-receiving and answering systems.
- the knowledge base access interface 260 of the system architecture 200 may allow a user to access components of the knowledge base 250 .
- users may interact with the knowledge base access interface 260 through applications hosted on the application framework 270 .
- the application framework 270 may allow users to access and query the knowledge base 250 by submitting information requests that are processed by the data processing component 240 .
- APIs may be used to allow developers to write applications that utilize the knowledge base 250 . The new applications may then be used by users.
- users may use applications such as open APIs to access data in the illustrated system architecture 200 .
- the ontology/metadata component 252 may include a series of fifty objects representing each state of the United States of America (U.S.A.), where each object may have a common link to a separate object representing “U.S.A.”
- U.S.A. United States of America
- a user may generate an inquiry as to the number of states in the U.S.A. that were east of the user's location in 1814.
- the inquiry may be generated, for instance, at user device 210 .
- the user query may be received by the data processing component 240 , where the query may be processed by the dimensional indexing sub-component 244 .
- the user inquiry may be analyzed against the knowledge base 250 to access the user's social graph to determine the user's location.
- the knowledge base 250 may also be used analyze the inquiry based on ontology (using ontology/metadata component 252 ) to determine the user is requesting states that are entirely east of the user's location, e.g., states that are partially east and partially west would not count.
- the knowledge base 250 may then be used to analyze a content graph to determine a list of states that meet the criteria of the inquiry, with the knowledge graph referencing the temporal data of states as they were defined in 1814.
- the dimensional indexing sub-component 244 may identify an entry on the ontology/metadata component 252 that answers the user query.
- the user may be returned with a list of states that were east of the user's location as of the year 1814.
- the response may also include pivots comprising information related to the states.
- the pivots may include histories of the states (based on the user's inquiry being based in 1814), the governor of the states in 1814, and present-day directions of how to travel to each state.
- a user may request a listing of all states in the U.S.A., in which case the knowledge database may be analyzed to generate a responsive listing to the user query.
- the user may be returned with a data table containing a list of the names of all fifty objects referring to the fifty states.
- the user may request only the states beginning with the letter “A.”
- the user again analyzing the knowledge base 250 , the user may be returned with a listing of the objects possessing both an attribute of being a state in the U.S.A., as well as an attribute of: “Name starts with A.”
- embodiments of the present invention contemplate the presence of additional components and/or sub-components of the system architecture 200 , and the components and/or sub-components may be combined with one another and/or separated into new components and/or sub-components.
- an exemplary method 300 for providing knowledge content to users in response to receiving information requests is shown, in accordance with an embodiment of the present invention.
- an information request is received from the user (e.g., via user device 210 of the system architecture 200 of FIG. 2 ).
- the received information request is then processed to extract one or more objects and/or attributes there from (e.g., utilizing the data processing component 240 of the data system architecture 200 of FIG. 2 ).
- Such processing may include, by way of example only, one or more of a lexical analysis, a linguistic analysis, and an entity extraction analysis.
- the objects and/or attributes from the information request are analyzed utilizing at least one knowledge base (e.g., knowledge base 250 of the data system architecture 200 of FIG. 2 ) to determine knowledge content relevant to the one or more extracted objects and/or attributes of the received information request.
- the knowledge base includes a knowledge content database (for instance, knowledge content database 254 of FIG. 2 ) including at least a content graph, a social graph, a user activity graph and temporal data relating to each of the content graph, the social graph, and the user activity graph.
- the data stored in association with the knowledge content database may be stored in a common, flexible storage schema, for instance, a star or snowflake schema.
- the objects and/or attributes may be further analyzed using one or more of at least one ontology (e.g., stored in association with ontology/metadata database 252 of FIG. 2 ), at least one dimensional index (e.g., dimensional indexing sub-component 258 of FIG. 2 ) and at least one inferencing engine (e.g., inferencing engine 246 of FIG. 2 ).
- at least one ontology e.g., stored in association with ontology/metadata database 252 of FIG. 2
- at least one dimensional index e.g., dimensional indexing sub-component 258 of FIG. 2
- at least one inferencing engine e.g., inferencing engine 246 of FIG. 2 .
- a response to the received information request is generated, the response including the determined relevant knowledge content including information derived from the knowledge content database (e.g., knowledge content database 254 of FIG. 2 ) having at least one pivot applied thereto.
- the response may be generated utilizing one or more applications, for instance, an application associated with the application framework 270 of the data system architecture 200 of FIG. 2 .
- the response to the information request is then transmitted to the user (e.g., via network 220 of FIG. 2 ).
- Metadata is extracted from the data reference to determine at least one object and at least one attribute associated therewith (e.g., utilizing the data processing component 240 of the data system architecture 200 of FIG. 2 ).
- the at least one object may include, without limitation, one or more of a concept within the data reference and a concept associated with the data reference.
- Embodiments may include extraction of such metadata utilizing at least one of a lexical analysis, a linguistic analysis, an entity extraction analysis or an ontological analysis.
- the at least one object and/or at least one attribute are subsequently analyzed utilizing a knowledge base (e.g., knowledge base 250 described herein above with reference to FIG. 2 ) to determine (as indicated at block 416 ) whether there is existing knowledge content relevant to the object(s)/attribute(s). If it is determined at block 416 that there is existing knowledge content relevant to the object(s)/attribute(s), the method proceeds to block 418 wherein it is determined whether the existing knowledge content is accurate in view of the object(s)/attribute(s) determined from the data reference. This is indicated at block 418 . If it is determined that the knowledge content is accurate, the method ends, as indicated at block 420 . If, however, it is determined at block 418 that the knowledge content is not accurate (or is incomplete), new knowledge content may be added to the knowledge base and/or the existing knowledge content may be modified or eliminated, as indicated at block 422 .
- a knowledge base e.g., knowledge base 250 described herein above with reference
- a second relationship between the object and/or attribute determined from the data reference and the other object may be determined and stored in association with the knowledge content database, thus adding knowledge content.
- a relationship between the object and another object stored in association with the knowledge content database may be found to be inaccurate and thus modified, the modified relationship being stored in association with the knowledge content database.
- a relationship between the object and another object stored in association with the knowledge content database may be found to be inaccurate and, accordingly, eliminated from the knowledge content database. Any and all such variations, and any combination thereof, are contemplated to be within the scope of embodiments of the present invention.
- the method proceeds to block 424 wherein it is determined if any new knowledge content items are capable of being generated based on the object(s)/attribute(s). If no new knowledge content items are capable of being generated, the method terminates, as indicated at block 420 . If, however, it is determined at block 424 that at least one new knowledge content item is capable of being generated, a new knowledge content item is generated, for instance, by establishing a new relationship between the object and at least one other object stored in association with the knowledge content database, and the new knowledge content item is stored in association with the knowledge content database. This is indicated at block 426 .
- embodiments of the present invention relate generally to systems, methods, and computer-storage media having computer-executable instructions embodied thereon that, when executed, perform methods for generating and providing knowledge content to users utilizing a web architecture that integrates information across data silos through a common, flexible data storage schema, such as a star or snowflake schema.
- a web architecture that integrates information across data silos through a common, flexible data storage schema, such as a star or snowflake schema.
Abstract
Description
- Web data, such as information related to users of the internet, is currently stored in a number of discrete data silos. For instance, information related to a user's interaction with the internet is commonly stored separate from information related to that user's social networking information. Additionally, information that is private, such as that related to a user's e-mail account or transactional activities, is commonly stored separate from user activity data and user social networking information. Further, information comprising web data within the internet is commonly stored across different data silos. This non-integrated storage schema, combined with inadequate means for simultaneously accessing information from the multiple data sources, often results in incomplete responses to user queries. This, in turn, often results in users having to execute a plurality of queries in succession, followed by manually piecing together the responses to such queries, to obtain the information they are seeking.
- Embodiments of the present invention relate to systems, methods, and computer-storage media for generating and providing knowledge content to users utilizing a web architecture that integrates information across data silos through a common, flexible data storage schema, such as a star or snowflake schema. Data from a content graph, a user activity graph (e.g., user profile and web use data), a social graph (e.g., social networking data), and temporal data as it relates to each of the content graph, the social graph and the user activity graph, is stored in a knowledge content database utilizing the star schema. In this way, data from each of these formerly disparate sources may be accessed from a common, extensible application platform utilizing ontologies and pivot table functionality, thus providing smarter, more comprehensive knowledge in response to received user queries.
- This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
- Illustrative embodiments of the present invention are described in detail below with reference to the attached drawing figures, which are incorporated by reference herein, wherein:
-
FIG. 1 is a block diagram of an exemplary computing environment suitable for use in implementing embodiments of the present invention; -
FIG. 2 is a schematic diagram of an exemplary computing system architecture for generating and accessing knowledge content, in accordance with an embodiment of the present invention; -
FIG. 3 is a flow diagram showing a method for providing knowledge content to users in response to receiving information requests, in accordance with an embodiment of the present invention; and -
FIG. 4 is a flow diagram showing a method for generating knowledge content, in accordance with an embodiment of the present invention. - The subject matter of embodiments of the present invention is described with specificity herein to meet statutory requirements. However, the description itself is not intended to limit the scope of this patent. Rather, the inventors have contemplated that the claimed subject matter might also be embodied in other ways, to include different steps or combinations of steps similar to the ones described in this document, in conjunction with other present or future technologies.
- Embodiments of the present invention relate generally to systems, methods, and computer-storage media having computer-executable instructions embodied thereon that, when executed, perform methods for generating and providing knowledge content to users utilizing a web architecture that integrates information across data silos through a common, flexible data storage schema, such as a star or snowflake schema. Data from a content graph, a user activity graph (e.g., user profile and web use data), a social graph (e.g., social networking data), and temporal data (that is, data of or related to time) as it relates to each of the content graph, the social graph and the user activity graph, is stored in a knowledge content database utilizing the star schema. In this way, data from each of these formerly disparate sources may be accessed from a common, extensible application platform utilizing ontologies and pivot table functionality, thus providing smarter, more comprehensive knowledge in response to received user queries.
- Accordingly, in one embodiment, the present invention provides one or more computer-storage media having computer-executable instructions embodied thereon that, when executed, perform a method for providing knowledge content to users in response to receiving information requests. The method includes receiving an information request from a user and processing the information request to extract one or more objects and/or attributes from the information request. The method further includes analyzing the objects and/or attributes from the information request utilizing a knowledge base to determine knowledge content relevant to the one or more extracted objects and/or attributes of the received information request. One way in which such analysis may take place is through the application of at least one ontology to the extracted objects and/or attributes. The knowledge base includes a knowledge content database that comprises at least a content graph, a social graph, a user activity graph, and temporal data relating to each of the content graph, the social graph and the user activity graph. The data stored in association with the knowledge content database is integrated and stored in a common, flexible data storage schema, e.g., a star or snowflake storage schema. Still further, the method includes generating a response to the received information request, the response including the determined relevant knowledge content, and transmitting the response to the user. The relevant knowledge content comprises information derived from the knowledge content database that has at least one pivot applied thereto.
- In another embodiment, the present invention provides a system having a processor and one or more computer-readable storage media for accessing knowledge content. The system includes a data collection component, a data processing component and a knowledge base. The data collection component is configured for obtaining input data. The data processing component is configured for analyzing the obtained input data and extracting information there from. The knowledge base is configured to receive the information extracted from the input data and output knowledge content relevant to the input data, and includes a knowledge content database that is configured to store at least a content graph, a social graph, a user activity graph, and temporal data relating to each of the content graph, the social graph and the user activity graph in a common, referencing data storage schema (e.g., a star or snowflake storage schema). In embodiments, the system further includes one or more of at least one ontology, a dimensional index configured for allowing one or more pivots to be applied to the knowledge content across multiple dimensions, and an inferencing engine configured to at least one of analyze the knowledge content to determine first additional knowledge content and accept manual input of second additional knowledge content.
- In yet another embodiment, the present invention provides one or more computer-storage media having computer-executable instructions embodied thereon that, when executed, perform a method for generating knowledge content. The method includes receiving a data reference (for instance, through a publisher feed) and extracting metadata from the data reference to determine at least one object and/or at least one attribute associated therewith. The method further includes analyzing the at least one object and/or at least one attribute utilizing a knowledge base to determine whether there is existing knowledge content relevant to the at least one object and/or at least one attribute. One way in which such analysis may take place is through the application of at least one ontology to the determined at least one object and/or at least one attribute. The knowledge base includes a knowledge content database that includes at least a content graph, a social graph, a user activity graph, and temporal data relating to each of the content graph, the social graph and the user activity graph. If it is determined that there is existing knowledge content relevant to the at least one object and/or the at least one attribute, the method further comprises determining whether the existing knowledge content is accurate in view of the at least one object and/or the at least one attribute. Depending upon the determination, in embodiments, relationships between the at least one object and other objects stored in association with the knowledge content database may be created, modified or eliminated. If, however, it is determined that there is not existing knowledge content relevant to the at least one object and/or the at least one attribute, the method further comprises determining whether any new knowledge content items are capable of being generated based on the at least one object and/or the at least one attribute. If new knowledge content items are capable of being generated, in embodiments, new relationships may be created between the at least one object and other objects stored in association with the knowledge content database. New knowledge content items are capable of being discovered through the user of one or more pivots applied to the knowledge content database.
- Having briefly described an overview of embodiments of the present invention, an exemplary operating environment suitable for implementing various embodiments hereof is now described. Referring to the drawings in general, and initially to
FIG. 1 in particular, an exemplary operating environment suitable for implementing embodiments of the present invention is shown and designated generally ascomputing device 100. Thecomputing device 100 is but one example of a suitable computing environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should thecomputing device 100 be interpreted as having any dependency or requirement relating to any one or combination of modules/components illustrated. - Embodiments may be described in the general context of computer code or machine-usable instructions, including computer-executable instructions such as program modules, being executed by a computer or other machine, such as a personal data assistant or other handheld device. Generally, program modules including routines, programs, objects, modules, data structures, and the like, refer to code that performs particular tasks or implements particular abstract data types. Embodiments may be practiced in a variety of system configurations, including handheld devices, consumer electronics, general-purpose computers, specialty computing devices, etc. Embodiments may also be practiced in distributed computing environments where tasks are performed by remote-processing devices that are linked through a communications network.
- With continued reference to
FIG. 1 , thecomputing device 100 includes abus 110 that directly or indirectly couples the following devices: amemory 112, one ormore processors 114, one ormore presentation modules 116, input/output (I/O)ports 118, I/O modules 120, and anillustrative power supply 122. Thebus 110 represents what may be one or more busses (such as an address bus, data bus, or combination thereof). Although the various blocks ofFIG. 1 are shown with lines for the sake of clarity, in reality, delineating various modules is not so clear, and metaphorically, the lines would more accurately be grey and fuzzy. For example, one may consider a presentation module such as a display device to be an I/O module. Also, processors have memory. The inventors hereof recognize that such is the nature of the art, and reiterate that the diagram ofFIG. 1 is merely illustrative of an exemplary computing device that may be used in connection with one or more embodiments. Distinction is not made between such categories as “workstation,” “server,” “laptop,” “handheld device,” etc., as all are contemplated within the scope ofFIG. 1 and reference to “computer” or “computing device.” - The
computing device 100 typically includes a variety of computer-readable media. By way of example, and not limitation, computer-readable media may comprise Random Access Memory (RAM); Read Only Memory (ROM); Electronically Erasable Programmable Read Only Memory (EEPROM); flash memory or other memory technologies; CDROM, digital versatile disks (DVD) or other optical or holographic media; magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, carrier waves or any other medium that may be used to encode desired information and be accessed by thecomputing device 100. - The
memory 112 includes computer-storage media in the form of volatile and/or nonvolatile memory. The memory may be removable, nonremovable, or a combination thereof. Exemplary hardware devices include solid-state memory, hard drives, optical-disc drives, etc. Thecomputing device 100 includes one or more processors that read data from various entities such as thememory 112 or I/O modules 120. The presentation module(s) 116 present data indications to a user or other device. Exemplary presentation modules include a display device, speaker, printing module, vibrating module, and the like. The I/O ports 118 allow thecomputing device 100 to be logically coupled to other devices including the I/O modules 120, some of which may be built in. Illustrative modules include a microphone, joystick, game pad, satellite dish, scanner, printer, wireless device, and the like. - Embodiments of the present invention provide systems, methods, and computer-storage media having computer-executable instructions embodied thereon that, when executed, perform methods in accordance with embodiments hereof, for generating and providing knowledge content to users. The systems and method described herein utilize data warehousing principles to integrate information across formerly disparate data silos (e.g., a content graph, a social graph, and a user graph), as well as temporal data related to each of the content graph, social graph and user graph, into a common, flexible data storage schema, e.g., a star or snowflake schema, so that the data may be more easily accessed and smarter, more comprehensive knowledge may be provided in response to received user queries. In this way, a single, extensible application platform is created that supports the addition of multiple applications (for instance, analysis and reporting applications) without the need to create custom infrastructures.
- Additionally, in accordance with embodiments hereof, pivot table functionality may be applied to the data such that the data may be navigated and accessed in more dynamic ways (as opposed to traditional query/response navigation), thus, in a sense, transforming the stored information from mere data into knowledge. For example, suppose a user submits a request for information related to a particular stock, Stock A. In a traditional web search, responses generated may include a current stock price, a listing of stocks in the same sector as Stock A, a history of the company corresponding to Stock A, or the like. Suppose, however, that the user's inquiry required a much less linear sort of answer. For instance, suppose the user really desired information about other companies recently in the news with the company corresponding to Stock A, or other companies, independent of sector, that have similar cost-to-earnings ratios to Stock A. In traditional web search, an answer to such a query would require the user to input a series of queries in succession and manually compile the information to get the answer he or she was seeking. However, a knowledge base in accordance with embodiments hereof, having integrated information across formerly disparate silos, coupled with the application of one or more pivots (whether discovered or manually input, as more fully described below) to the knowledge stored in association with the knowledge content database, the user may much more easily obtain an answer to the query.
- As another example, suppose a user desires to determine how Company A did versus Company B in online sales in the second quarter of last year. Again, traditional web search would require the user to input a series of queries in succession and manually compile the information to get the answer he or she was seeking. However, a knowledge base in accordance with embodiments hereof, would permit the user to much more easily obtain the information being sought as pivots may be applied across multiple dimensions allowing the data to be collapsed and expanded in different ways to obtain knowledge from the data items stored in the knowledge content database.
- Pivot table functionality applied to the knowledge content database, in accordance with embodiments hereof, permits not only the browsing of related objects stored in association with the knowledge content database but also the ability to establish specific lists that can subsequently be filtered based upon various refinements. In this context, “related” can have multiple meanings and relationships can both be discovered utilizing pivot tables and also stored utilizing pivot tables. Pivots may be defined by the user (that is, a user may submit his or her query with enough specificity that the manner in which to apply pivots to the data is specific and unambiguous), or pivots may be discovered. This discovery can happen in a number of ways. First, discovery can happen between entities of similar type. For instance, a relationship between company A and company B in the same sector may be established, creating a pivot based upon a similar entity. Second, discovery can happen between entities of different types that share a common characteristic. For instance, a user's portfolio may include a number of individual stocks. It may be discovered that a mutual fund that has a similar or better overall return over 1, 3 and/or 5 years to the user's portfolio. A relationship may then be created between the user's individual stock portfolio and the mutual fund, creating a pivot based upon a dissimilar entity.
- Further, pivots may be discovered based upon word or phrase definitions as they apply to overall context. For instance, suppose a user desires to find a mutual fund that performs “better” than mutual fund X. Pivots may be created as they relate to areas that have been heralded as important by, for example, a series of financial experts, when analyzing performance of mutual funds. For instance, the plurality of pivots may comprise a fund prices, price-earnings ratio, and indicators of investor confidence in the funds. Further, as the user interacts with the funds provided in response to the information request, user activity information related to the interactions may be stored in association with the knowledge content database. This information may be analyzed to deduce inferences relating to the funds and the pivots provided. For instance, if a user indicates fund A is “better” than fund B, and that fund B is “better” than fund C, an analysis of the characteristics of funds A, B, and C may reveal that fund A has a higher price-earnings ratio than fund B, and that fund B has a higher price-earnings ratio than fund C. As a result, a user preference may be created to include the return of a price-earnings ratio in response to an information request from the user concerning which fund is “better” than another. The preference may refer to funds in a particular technology industry, or may refer to funds of any classification.
- In accordance with embodiments of the present invention, such user preferences may be determined and stored via ontologies. An ontology, as utilized herein, is simply a structure for interpreting the world and defining semantics so that meaning may be applied to the data in the knowledge content database. Ontologies may be manually constructed and subsequently augmented using data from the knowledge content database (particularly as it changes over time) and/or may be auto-created through extraction of meanings from documents and subsequently manually refined. Any and all such methodologies, and any combination thereof, are contemplated to be within the scope of embodiments of the present invention. Once ontologies are created, it allows not only the ability to browse the data in the knowledge content database in different ways, but also the ability for relationships between data items to be discovered.
- Applying data warehousing principles to integrate information across formerly disparate data silos (e.g., a content graph, a social graph, and a user graph), as well as temporal data related to each of the content graph, social graph and user graph, into a star or snowflake schema also permits the processing of various types of data: structured data, semi-structured data and unstructured data. Structured data may include, by way of example only, data in a traditional database wherein the information includes metadata and is referenced. For instance, data in an airline reservations system or certain types of social networking data (friends, interests, etc.) represent structured data sources. Unstructured data, on the other hand, are documents basically void of associated metadata referencing, unless the structure is implicit in the text itself and not explicitly referred to in the database. For instance, articles or other documents comprising a lot of text are often unstructured data. Semi-structured data, as it sounds, is a hybrid category. Semi-structured data is data that is mostly unstructured but includes some structured data (e.g., tables) embedded therein. Examples of semi-structured data include Security and Exchange Commission filings that are primarily text but include some tables and graphs embedded therein. Each of these types of data may be processed to determine various objects and attributes associated therewith that may then be utilized to create relationships with other objects and attributes across the various data sources, thus integrating all the data types and making them available for responding to user queries.
- In accordance with embodiments hereof, the storage of information from a content graph, a social graph, and a user graph, as well as temporal data related to each of the content graph, social graph and user graph, into a star or snowflake schema in association with a knowledge content database, and applying one or more ontologies and pivot table functionality to such information, provides a common, extensible application platform that provides smarter, more comprehensive knowledge in response to received user queries. It also provides the ability to rank traditionally-discovered search results in different ways. For instance, instead of simply inquiring about movies that are playing “near” a particular user, that user may inquire about movies playing “near” him or her that his or her friends like.
- With reference now to
FIG. 2 , a schematic diagram is illustrated showing an exemplary system architecture 200 suitable for use in generating knowledge content and providing such content to a user in response to receiving an information request, in accordance with an embodiment of the present invention. The system architecture 200 includes auser device 210, adata collection component 230, adata processing component 240, aknowledge base 250, a knowledgebase access interface 260, and anapplication framework 270, all in communication with one another through anetwork 220. - The
network 220 may be wired, wireless, or both. Thenetwork 220 may include multiple networks, or a network of networks, but is shown inFIG. 2 in more simple form so as not to obscure other aspects of the present invention. For example, thenetwork 220 may include one or more wide area networks (WANs), one or more local area networks (LANs), one or more public networks, such as the Internet, and/or one or more private networks. In a wireless telecommunications network, components such as a base station, a communications tower, or even access points (as well as other components) may provide wireless connectivity in some embodiments. Although single components are illustrated for the sake of clarity, one skilled in the art will appreciate that thenetwork 220 may enable communication between any numbers of user devices. Networking environments are commonplace in offices, enterprise-wide computer networks, intranets, and the Internet. Accordingly, thenetwork 220 is not further described herein. - The
user device 210 may be any computing device that is capable of web accessibility, for instance, thecomputing device 100 ofFIG. 1 . As such, theuser device 210 might take on a variety of forms, such as a personal computer (PC), a laptop computer, a mobile phone, a personal digital assistance (PDA), a server, a CD player, a MP3 player, a video player, a handheld communications device, a workstation, any combination of these delineated devices, or any other device that is capable of web accessibility. In one embodiment, theuser device 210 is a mobile device that utilizes a wireless telecommunications network to communicate. A mobile device may include, for example, a display(s), a power source(s) (e.g., a battery), a data store(s), a speaker(s), memory, a buffer(s), and the like. - The
data collection component 230, thedata processing component 240, theknowledge base 250, the knowledgebase access interface 260 and theapplication framework 270 may reside in association with one or more computing devices, e.g., a server or collection of servers configured for accessing and collecting data and providing responses to received queries. It will be understood that, thoughcomponents components - The
data collection component 230 is configured for obtaining input data for the system architecture 200. In embodiments, information may be obtained in a number of ways, including through the use of a user feed, an activity log, a web crawler, and a publisher feed. An example of a user feed is the entering of user information into a user profile. Another example of a user feed is the input of user preferences into a knowledge store. An additional exemplary user feed may include any other information that is input by a user at an input device, including but not limited to, a publisher feed. Using a publisher feed, publishers may submit structured, semi-structured and/or unstructured content to the data collection component for interpretation and analysis. - Similar to the user feed as a source of data, an activity log of one or more users also may be a source of data input into the system architecture 200. In addition to tracking the web activity of one or more users, the activity log may also be used to track the periodic updating cycles of websites or other indicia that are available from tracking activity occurring on a website.
- Another way of gathering information is pulling data from the crawling of web documents. The manner and type of crawler may depend on user preferences, efficiency limitations, and/or the preferences of programmers inputting crawler limitations. It will be understood that other embodiments of crawler characterizations are within the scope of embodiments of the present invention, as well. Alternatively, or in addition, information may be obtained for the system 200 from other sources (e.g., may be pushed into the system). Data pushes may originate from one or more sources, such as structured data sources. For example, data may be updated to the system architecture 200 through periodic data feeds to systems from a company, or from site updates received from publishers as part of their publishing cycle. Data pushes may also originate from a community of contributors, wherein a user may upload personal data or documents.
- Data received from one or more sources, such as those listed above, are analyzed by the
data processing component 240 to extract relevant information. That is, thedata processing component 240 is configured for analyzing obtained input data and extracting information there from. In embodiments, once data is received by thedata collection component 230, the collected data may be processed by one or more data processing sub-components of thedata processing component 240. Thedata processing component 240 illustrated inFIG. 2 includes aninitial processing sub-component 242, adimensional indexing sub-component 244 and anindexing engine 246 for processing collected or received data. - In embodiments, the
initial processing component 242 is configured to analyze data and extract information using one or more data processing methods. In this regard, theinitial processing component 242 may be used to analyze data and extract information from the three types of data described herein above: unstructured data, structured data, and semi-structured data. Unstructured data may comprise documents possessing a series of text lines. Documents that are included in the category of unstructured data may have little or no metadata. Structured data, on the other hand, may comprise a traditional database where information is structured and referenced. Semi-structured data may comprise a document such as a research paper or a Security and Exchange Commission filing, where part of the document comprises lines of text and part of the document comprises tables and graphs used for illustration. In the case of semi-structured data, the structured components of a document may be analyzed as structured data and the unstructured components of the documents may be analyzed as unstructured data. - Such data processing method(s) (e.g., a series of analytical components data may pass through) for processing data may be open and extensible. In this way, as an example only, one or more developers and communities may plug in new data extraction processes, entity detection methods, and classification analysis programs to enhance the quality and categories of information extracted from collected data. In embodiments, initial processing of data by the
initial processing component 242 may include one or more of a lexical analysis, a linguistic analysis, and an entity extraction analysis. At or after an initial analysis, inferences may be made between aspects of the data received. As such, data from seemingly disparate sources may be integrated and new relationships may be inferred through the extraction of attributes, such as meaning and semantics, from the data. Inferences may be created through entity relationship extraction using documents being processed and data which is already stored in theknowledge base 250. Attribute extraction and inferences are more fully described below. - In embodiments, inferences may be formed as data is loaded into the system architecture 200. Such inferences may be discerned between new information and information that is already stored in the system architecture 200, for instance, in association with the knowledge base 250 (as more fully described below). In further embodiments, data stored in the system architecture 200 may be analyzed for inferences when new entries have been entered into the system architecture 200, particularly when new entries are added to the
knowledge base 250 of the system architecture 200. As such, the system architecture 200 may be thought of as a learning system. Once inferences have been made from the data extracted, those inferences may be aggregated into a new data store, such as aknowledge content database 254 of theknowledge base 250. - In embodiments, the
dimensional indexing sub-component 244 creates a multi-dimensional index or table that references components of theknowledge base 250. In embodiments, thedimensional indexing sub-component 244 is also responsible for abstracting data based on relational schema and ontology and unifying the data such that it may be exposed as a knowledge graph. Ontology may reside in theknowledge base 250. As such, the dimensional indexing sub-component may refer to ontology stored in theknowledge content database 254. Thedimensional indexing sub-component 244 thus enables the mapping of the data and the ontology. Additionally, thedimensional indexing sub-component 244 enables the mapping of sub-areas such as metadata, content, annotation, query, domain-specific data and aggregated data. Thedimensional indexing sub-component 244 enables the mapping of data and ontology through the use of objects and attributes, respectively. The graphs used in the system architecture 200 are constructed based on a flexible, extensible data storage schema, for instance, a star or snowflake schema. The star or snowflake schema is used to map objects. As such, the dimensional indexing sub-component governs when and how connections or relationships stored in association with the flexible star schema are generated, modified and/or broken. In embodiments, the dimensional indexing sub-component may also, or alternatively, index data based on keywords, vocabulary and/or concepts related to each data element and/or object. - Objects may represent a concept within a web document, or an object may represent a character in a play. Additionally or alternatively, an object may represent a mathematical theorem or a geographical location. Each object is associated with at least one reference, such as a web document. For the examples used above, a reference associated with a concept within a web document may be the web document itself; a reference associated with a character in a play may be the text of the play itself; a reference associated with the mathematical theorem may be a document chronicling the history of the mathematical theorem; and a reference associated with a geographical location may be a map of the location and/or a website associated with that geographic location (e.g., a website associated with the state of Missouri).
- In addition to being associated with at least one reference, each object comprises at least one attribute. In embodiments, an attribute comprises a characteristic or a fact or data associated with an object. In the examples above, attributes associated with a concept in the web document may include a common definition of the concept, the number of people who have searched for that concept and selected that web document, or names of writers who have written on that concept (if any). Exemplary attributes associated with a character in a play may include the character's love interest (if any), the geographical origin of the character (if known), the author of the play, or generally agreed upon traits of the character. Exemplary attributes associated with a mathematical theorem may include the name of the person(s) who discovered the theorem, the date the theorem was discovered, and historical facts relating to the development and/or acceptance of the theorem. Exemplary attributes associated with a geographic location may include the history of the region, the language(s) commonly spoken in the region, and the longitudinal and latitudinal reference points of the geographic location.
- The
inferencing engine 246 is configured for making second degree inferences by analyzing inferences that may exist between data that is added to theknowledge base 250 and inferences that have been stored in theknowledge base 250 of the system architecture 200. As such, one aspect of theinferencing engine 246 may be to analyze theknowledge base 250 to search for new inferences that may be made when data is added to theknowledge base 250. In alternative embodiments, theinferencing engine 246 may search for new inferences in response to the receipt of an information request. The illustratedknowledge base 250 includes an ontologies/metadata component 252 and aknowledge content database 254. Though illustrated as a single database, it will be understood by those of ordinary skill in the art that theknowledge content database 254 may, in fact, be a collection of one or more databases, one or more of which may be stored in association with a server (not shown), network (not shown), other system components (e.g., user device 210), or other computing devices (not shown). - The illustrated
knowledge content database 254 includes a content graph, a user activity graph and a social graph, as well as temporal data as it relates to each of the content graph, the user activity graph and the social graph. In embodiments, the user activity data graph may be constructed from information associated with user activity, for instance, the activity of registered users. User activity may include, by way of example only, user inputs, the number and types of page views, query activities, and annotation activities (for instance, where a user initiates an action that indicates a website is trustworthy). In embodiments, a user may be verified as being a registered user through the use of a security measure, such as a password or another form of authenticating the identity of the user, such as through the originating address of a user device (e.g., user device 210). - In embodiments, the social graph of the
knowledge content database 254 includes objects associated with data relating to a user profile(s), user relationships with other users, and user preferences. In further embodiments, the social graph may include user profile information associated with participants of a social network. For example, a social graph may include all “friend” listings in an area, or it may include information relating to which users are friends of a user's friends (“friend of a friend” data). Data associated with users on a social networking website may include user demographic information, user psychographic information and user behavioral data. - In embodiments, the content graph of the
knowledge content database 254 may include one or more attributes of entities, attributes comprising keywords, metadata, meanings, associations, properties, content, query, query results, annotation, and semantified data entities. Keywords entered into a query may be used to determine a best match within the knowledge base that corresponds best with the intended meaning behind the query. To do this, documents and queries are analyzed to discern the entities, relationships and facts contained in the documents. For example, a keyword phrase “President of the United States” may be understood as referencing knowledge related to a position of political office, but it may also be understood as referencing knowledge related to the country of the United States of America. Additionally, the keyword phrase may reference a series of time periods associated with past presidents, and/or it may reference a time period (e.g., 4 years) that comprises one term of a presidency. In order to present these relationships to the user, the keyword query may be translated to a query graph. The query graph may be a sub-graph that matches against a series of graphs in the knowledge database. The query graph may be presented to the user in response to a keyword query. The query graph may contain the type of references described above, and may be accessed using a pivot table functionality. - In embodiments, a keyword entity may comprise keywords and phrases that are indexed and managed by the indexing components of a core subsystem. Additionally, a metadata entity may comprise a set of data initialized by a system from known sources and enhanced by intelligent algorithms and collaborative annotation. Metadata may be managed by a metadata management component of a core subsystem.
- A content entity may comprise information about content, as well as the content itself. The
data collection component 230 and thedata processing component 240 may analyze this content and store it in the system architecture 200, for instance, in association with theknowledge base 250. Information requests and responses to information requests may comprise data stored and processed in the same or a similar manner as other, unstructured contents. Extracted semantics may be used in various functionalities such as personalization of a knowledge content experience to an individual user. Recent responses to information requests may also be stored to enhance search performance and relevance. This data may be managed and used by a data presentation and enhancement component (not shown). - The
knowledge content database 254 may further include an annotation component (not shown) having an ontology/metadata management component configured for managing metadata annotation. The knowledge database may additionally include a semantified data component (not shown) configured for storing semantified data in relational tables or in graph tables. Semantified data may be managed by thedimensional indexing sub-component 244 and/or other relational database managers (not shown). - The temporal data of the
knowledge database 254 may comprise information related to the temporal nature (that is, of or related to time) of data included in other graphs. A time index may comprise an aggregation of time elements. For instance, a user may query how many minutes he has spent on the computer in the past thirty days. The time element may track each user activity entry related to the past 30 days, and may sum up the times related to deliver a final sum to the user in response to the user query. The time aspect may also be used to interpret aspects of a user query. For instance, a user may query: “Who was president of the United States when I was in college?” Thedata processing component 240 may access the social graph to determine user information entries related to when the user was at college, and then thedata processing component 240 may access the temporal data to determine what time period the user was in college. This information may then be used to access the content graph and determine who was president during the given time period determined by reference to the temporal data of the knowledge database. - The ontology/metadata component 252 of the
knowledge base 250 may serve as an ontology- and metadata-based index that is used to graph objects associated with graphical components of theknowledge content database 254. The objects may be extracted from the graphs comprising theknowledge content database 254, such as the content graph, the social graph, the user activity graph, and the temporal data. In embodiments, the ontology/metadata component 252 is enabled through thedimensional indexing sub-component 244 and is modified through theinferencing engine 246. - In embodiments, the ontology/metadata component 252 references data from each graph using a common referencing schema. The common referencing schema may be in the form of a flexible, extensible star schema. Through the use of a star schema, a set of data may be stored in a data table. From this initial data table, additional data may be referenced by snow flaking into other tables. For instance, a data table comprising a list of users who have visited a particular website may have data tables snow-flaked from each user comprising a list of websites that each user has viewed within a certain period of time. In this way, the snow-flaked tables may be considered dimensions of the original data table. While dimensions may be within the same type of data category, such as user activity, dimensions may also serve as a bridge connecting data across different types of data categories. For instance, in the example given above, a data table comprising an individual list of websites visited by a user may have a dimension of websites that have been identified by the individual as being a “favorite” website. This dimension may then lead to a data table of user preferences for the individual, which may then lead to a social profile of the individual. Through the dimensions listed in this embodiment, information about a website may lead to the preferences of an individual. As such, the use of the common referencing schema allows objects to reference disparate aspects of data collected for the
knowledge content database 254 and stored in different graphs. - As described above, one way to navigate through a flexible star referencing schema is through the use of pivoting through data tables and dimensions of data tables. Through the use of this type of pivoting, a user and/or an application may navigate through a large amount of information collected from web content information, user activity information, social networking activity information, etc. The use of pivoting is distinct from the concept of drilling down, because the use of a pivot between data tables allows information to be drilled down as well as to be drilled up, so to speak, as information from a dimension may expand beyond an initial data table.
- One example that may be used to distinguish the use of a pivot table over a general search engine includes the way in which a search query is interpreted using the system architecture 200. Similar to prior methods of searching, a user may input a search query comprising one or more keywords. In prior methods, the search query is then matched against a set of documents on an inverted index. In embodiments of the present invention, the inverted index may be replaced by a more powerful “pivot table” to pivot around large numbers of objects. In contrast to a search results ranking, the relationship between objects on the knowledge graph may be increased if it is determined that those relationships are tied to the search query. The user may then be presented with results to his or her search query.
- Information stored in association with the
knowledge base 250, wherein access is provided to each of the content graph, the user activity graph, the social graph and the temporal data, information associated with such graphs being organized and indexed in accordance with the ontology/metadata component 252, may be referred to herein as “knowledge content.” Such “knowledge content” is derived from formerly discrete content silos through a common, referencing data storage schema, with the application of one or more ontologies and pivot table functionality, such that the content is smarter and more comprehensive than content offered by prior art query-receiving and answering systems. - The knowledge
base access interface 260 of the system architecture 200 may allow a user to access components of theknowledge base 250. Once theknowledge base 250 has been constructed, users may interact with the knowledgebase access interface 260 through applications hosted on theapplication framework 270. Theapplication framework 270 may allow users to access and query theknowledge base 250 by submitting information requests that are processed by thedata processing component 240. Additionally, APIs may be used to allow developers to write applications that utilize theknowledge base 250. The new applications may then be used by users. In embodiments, users may use applications such as open APIs to access data in the illustrated system architecture 200. - In an exemplary embodiment of user interaction with the illustrated system architecture 200, the ontology/metadata component 252 may include a series of fifty objects representing each state of the United States of America (U.S.A.), where each object may have a common link to a separate object representing “U.S.A.” In this example, a user may generate an inquiry as to the number of states in the U.S.A. that were east of the user's location in 1814. The inquiry may be generated, for instance, at
user device 210. The user query may be received by thedata processing component 240, where the query may be processed by thedimensional indexing sub-component 244. The user inquiry may be analyzed against theknowledge base 250 to access the user's social graph to determine the user's location. Theknowledge base 250 may also be used analyze the inquiry based on ontology (using ontology/metadata component 252) to determine the user is requesting states that are entirely east of the user's location, e.g., states that are partially east and partially west would not count. Theknowledge base 250 may then be used to analyze a content graph to determine a list of states that meet the criteria of the inquiry, with the knowledge graph referencing the temporal data of states as they were defined in 1814. Thedimensional indexing sub-component 244 may identify an entry on the ontology/metadata component 252 that answers the user query. In response, the user may be returned with a list of states that were east of the user's location as of the year 1814. The response may also include pivots comprising information related to the states. For example, the pivots may include histories of the states (based on the user's inquiry being based in 1814), the governor of the states in 1814, and present-day directions of how to travel to each state. - In another embodiment, a user may request a listing of all states in the U.S.A., in which case the knowledge database may be analyzed to generate a responsive listing to the user query. In response, the user may be returned with a data table containing a list of the names of all fifty objects referring to the fifty states. Alternatively, the user may request only the states beginning with the letter “A.” In response, again analyzing the
knowledge base 250, the user may be returned with a listing of the objects possessing both an attribute of being a state in the U.S.A., as well as an attribute of: “Name starts with A.” - Those skilled in the art will appreciate that embodiments of the present invention contemplate the presence of additional components and/or sub-components of the system architecture 200, and the components and/or sub-components may be combined with one another and/or separated into new components and/or sub-components.
- Turning now to
FIG. 3 , anexemplary method 300 for providing knowledge content to users in response to receiving information requests is shown, in accordance with an embodiment of the present invention. Initially, as indicated atblock 310, an information request is received from the user (e.g., viauser device 210 of the system architecture 200 ofFIG. 2 ). As indicated atblock 312, the received information request is then processed to extract one or more objects and/or attributes there from (e.g., utilizing thedata processing component 240 of the data system architecture 200 ofFIG. 2 ). Such processing may include, by way of example only, one or more of a lexical analysis, a linguistic analysis, and an entity extraction analysis. - As indicated at
block 314, the objects and/or attributes from the information request are analyzed utilizing at least one knowledge base (e.g.,knowledge base 250 of the data system architecture 200 ofFIG. 2 ) to determine knowledge content relevant to the one or more extracted objects and/or attributes of the received information request. As previously set forth, in embodiments, the knowledge base includes a knowledge content database (for instance,knowledge content database 254 ofFIG. 2 ) including at least a content graph, a social graph, a user activity graph and temporal data relating to each of the content graph, the social graph, and the user activity graph. In embodiments, the data stored in association with the knowledge content database may be stored in a common, flexible storage schema, for instance, a star or snowflake schema. Additionally, in embodiments, the objects and/or attributes may be further analyzed using one or more of at least one ontology (e.g., stored in association with ontology/metadata database 252 ofFIG. 2 ), at least one dimensional index (e.g., dimensional indexing sub-component 258 ofFIG. 2 ) and at least one inferencing engine (e.g.,inferencing engine 246 ofFIG. 2 ). - As indicated at
block 316, a response to the received information request is generated, the response including the determined relevant knowledge content including information derived from the knowledge content database (e.g.,knowledge content database 254 ofFIG. 2 ) having at least one pivot applied thereto. The response may be generated utilizing one or more applications, for instance, an application associated with theapplication framework 270 of the data system architecture 200 ofFIG. 2 . As indicated atblock 318, the response to the information request is then transmitted to the user (e.g., vianetwork 220 ofFIG. 2 ). - Turning now to
FIG. 4 , anexemplary method 400 for a method for generating knowledge content is shown, in accordance with an embodiment of the present invention. Initially, as indicated atblock 410, a data reference is received (e.g., utilizing thedata collection component 230 of the data system architecture 200 ofFIG. 2 ). In embodiments, such data collection may utilize one or more of a user feed, an activity log, a web crawler, and a publisher feed. - As indicated at
block 412, metadata is extracted from the data reference to determine at least one object and at least one attribute associated therewith (e.g., utilizing thedata processing component 240 of the data system architecture 200 ofFIG. 2 ). In embodiments, the at least one object may include, without limitation, one or more of a concept within the data reference and a concept associated with the data reference. Embodiments may include extraction of such metadata utilizing at least one of a lexical analysis, a linguistic analysis, an entity extraction analysis or an ontological analysis. - As indicated at
block 414, the at least one object and/or at least one attribute are subsequently analyzed utilizing a knowledge base (e.g.,knowledge base 250 described herein above with reference toFIG. 2 ) to determine (as indicated at block 416) whether there is existing knowledge content relevant to the object(s)/attribute(s). If it is determined atblock 416 that there is existing knowledge content relevant to the object(s)/attribute(s), the method proceeds to block 418 wherein it is determined whether the existing knowledge content is accurate in view of the object(s)/attribute(s) determined from the data reference. This is indicated atblock 418. If it is determined that the knowledge content is accurate, the method ends, as indicated atblock 420. If, however, it is determined atblock 418 that the knowledge content is not accurate (or is incomplete), new knowledge content may be added to the knowledge base and/or the existing knowledge content may be modified or eliminated, as indicated atblock 422. - By way of example only, if it is determined that existing knowledge content relevant to an object determined from the data reference includes a first relationship between the object and another object stored in association with the knowledge content database, a second relationship between the object and/or attribute determined from the data reference and the other object may be determined and stored in association with the knowledge content database, thus adding knowledge content. By way of another example, a relationship between the object and another object stored in association with the knowledge content database may be found to be inaccurate and thus modified, the modified relationship being stored in association with the knowledge content database. By way of yet another example, a relationship between the object and another object stored in association with the knowledge content database may be found to be inaccurate and, accordingly, eliminated from the knowledge content database. Any and all such variations, and any combination thereof, are contemplated to be within the scope of embodiments of the present invention.
- Returning to block 416 of
FIG. 4 , if it is determined that there is not existing knowledge content relevant to the object(s)/attribute(s), the method proceeds to block 424 wherein it is determined if any new knowledge content items are capable of being generated based on the object(s)/attribute(s). If no new knowledge content items are capable of being generated, the method terminates, as indicated atblock 420. If, however, it is determined atblock 424 that at least one new knowledge content item is capable of being generated, a new knowledge content item is generated, for instance, by establishing a new relationship between the object and at least one other object stored in association with the knowledge content database, and the new knowledge content item is stored in association with the knowledge content database. This is indicated atblock 426. - As may be seen, embodiments of the present invention relate generally to systems, methods, and computer-storage media having computer-executable instructions embodied thereon that, when executed, perform methods for generating and providing knowledge content to users utilizing a web architecture that integrates information across data silos through a common, flexible data storage schema, such as a star or snowflake schema. In this way, data from formerly disparate sources may be accessed from a common, extensible application platform utilizing ontologies and pivot table functionality, thus providing smarter, more comprehensive knowledge in response to received user queries
- Many different arrangements of the various components depicted, as well as components not shown, are possible without departing from the spirit and scope of the present invention. Embodiments of the present invention have been described with the intent to be illustrative rather than restrictive. Alternative embodiments will become apparent to those skilled in the art that do not depart from its scope. A skilled artisan may develop alternative means of implementing the aforementioned improvements without departing from the scope of the present invention.
- It will be understood that certain features and sub-combinations are of utility and may be employed without reference to other features and sub-combinations and are contemplated within the scope of the claims. Not all steps listed in the various figures need be carried out in the specific order described.
Claims (20)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/483,935 US20100318537A1 (en) | 2009-06-12 | 2009-06-12 | Providing knowledge content to users |
US13/896,128 US8886589B2 (en) | 2009-06-12 | 2013-05-16 | Providing knowledge content to users |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/483,935 US20100318537A1 (en) | 2009-06-12 | 2009-06-12 | Providing knowledge content to users |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/896,128 Division US8886589B2 (en) | 2009-06-12 | 2013-05-16 | Providing knowledge content to users |
Publications (1)
Publication Number | Publication Date |
---|---|
US20100318537A1 true US20100318537A1 (en) | 2010-12-16 |
Family
ID=43307251
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/483,935 Abandoned US20100318537A1 (en) | 2009-06-12 | 2009-06-12 | Providing knowledge content to users |
US13/896,128 Expired - Fee Related US8886589B2 (en) | 2009-06-12 | 2013-05-16 | Providing knowledge content to users |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/896,128 Expired - Fee Related US8886589B2 (en) | 2009-06-12 | 2013-05-16 | Providing knowledge content to users |
Country Status (1)
Country | Link |
---|---|
US (2) | US20100318537A1 (en) |
Cited By (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100185691A1 (en) * | 2009-01-20 | 2010-07-22 | Yahoo! Inc. | Scalable semi-structured named entity detection |
US20110235851A1 (en) * | 2010-03-23 | 2011-09-29 | Nokia Corporation | Method and Apparatus for Indicating an Analysis Criteria |
US20110238750A1 (en) * | 2010-03-23 | 2011-09-29 | Nokia Corporation | Method and Apparatus for Determining an Analysis Chronicle |
US20110239148A1 (en) * | 2010-03-23 | 2011-09-29 | Nokia Corporation | Method and Apparatus for Indicating Historical Analysis Chronicle Information |
US20120166416A1 (en) * | 2010-12-23 | 2012-06-28 | Yahoo! Inc. | Method and system to identify geographical locations associated with queries received at a search engine |
WO2013103955A1 (en) * | 2012-01-06 | 2013-07-11 | Kidder David S | System and method for managing advertising intelligence and customer relations management data |
US20130268521A1 (en) * | 2012-04-05 | 2013-10-10 | Microsoft Corporation | Related pivoted search queries |
US20130275429A1 (en) * | 2012-04-12 | 2013-10-17 | Graham York | System and method for enabling contextual recommendations and collaboration within content |
US20140143250A1 (en) * | 2012-03-30 | 2014-05-22 | Xen, Inc. | Centralized Tracking of User Interest Information from Distributed Information Sources |
US20140214937A1 (en) * | 2013-01-31 | 2014-07-31 | Microsoft Corporation | Activity Graphs |
US20140274122A1 (en) * | 2013-03-15 | 2014-09-18 | Erick Tseng | Multi-Factor Location Verification |
US8982399B2 (en) | 2012-12-11 | 2015-03-17 | International Business Machines Corporation | Application management of printing requests through induced analytics |
US20150127632A1 (en) * | 2013-11-05 | 2015-05-07 | Google Inc. | Structured user graph to support querying and predictions |
US9229988B2 (en) | 2013-01-18 | 2016-01-05 | Microsoft Technology Licensing, Llc | Ranking relevant attributes of entity in structured knowledge base |
US9256682B1 (en) * | 2012-12-05 | 2016-02-09 | Google Inc. | Providing search results based on sorted properties |
US9336311B1 (en) | 2012-10-15 | 2016-05-10 | Google Inc. | Determining the relevancy of entities |
US20160203237A1 (en) * | 2012-12-31 | 2016-07-14 | Facebook, Inc. | Modifying Structured Search Queries on Online Social Networks |
WO2016209459A1 (en) * | 2015-06-26 | 2016-12-29 | Intel Corporation | Devices and/or methods to provide a query response based on ephemeral data |
US9596207B1 (en) * | 2012-12-31 | 2017-03-14 | Google Inc. | Bootstrap social network using event-related records |
US20170177739A1 (en) * | 2015-12-22 | 2017-06-22 | Intel Corporation | Prediction using a data structure |
US9710544B1 (en) * | 2016-05-19 | 2017-07-18 | Quid, Inc. | Pivoting from a graph of semantic similarity of documents to a derivative graph of relationships between entities mentioned in the documents |
CN107038263A (en) * | 2017-06-23 | 2017-08-11 | 海南大学 | A kind of chess game optimization method based on data collection of illustrative plates, Information Atlas and knowledge mapping towards Transac-tion processing efficiency |
US20180144053A1 (en) * | 2016-11-21 | 2018-05-24 | Sap Se | Cognitive enterprise system |
US10007897B2 (en) | 2013-05-20 | 2018-06-26 | Microsoft Technology Licensing, Llc | Auto-calendaring |
US20190026315A1 (en) * | 2017-07-19 | 2019-01-24 | Disney Enterprises, Inc. | Graph-Based Media Content Evaluation |
CN109359199A (en) * | 2018-08-27 | 2019-02-19 | 平安科技(深圳)有限公司 | Fund manager's group dividing method, system, computer equipment and storage medium |
CN111159210A (en) * | 2019-12-31 | 2020-05-15 | 北京明略软件系统有限公司 | Information processing system, method and device |
US10678857B2 (en) | 2018-03-23 | 2020-06-09 | International Business Machines Corporation | Managing a distributed knowledge graph |
US11183195B2 (en) * | 2018-09-27 | 2021-11-23 | Snackable Inc. | Audio content processing systems and methods |
US11210314B2 (en) * | 2016-11-21 | 2021-12-28 | Universite de Bordeaux | Device and method for generating a drug database |
US11250087B2 (en) * | 2013-03-08 | 2022-02-15 | Google Llc | Content item audience selection |
US11275894B2 (en) | 2016-11-21 | 2022-03-15 | Sap Se | Cognitive enterprise system |
US11354519B2 (en) * | 2017-01-24 | 2022-06-07 | Hoon Kim | Numerical information management device enabling numerical information search |
US11494665B2 (en) * | 2015-10-28 | 2022-11-08 | Qomplx, Inc. | Multi-tenant knowledge graph databases with dynamic specification and enforcement of ontological data models |
US11645277B2 (en) * | 2017-12-11 | 2023-05-09 | Google Llc | Generating and/or utilizing a machine learning model in response to a search request |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3143576A4 (en) | 2014-05-16 | 2017-11-08 | Nextwave Software Inc. | Method and system for conducting ecommerce transactions in messaging via search, discussion and agent prediction |
CN105518670B (en) | 2014-07-15 | 2021-09-07 | 微软技术许可有限责任公司 | Data model indexing for model queries |
WO2016008087A1 (en) | 2014-07-15 | 2016-01-21 | Microsoft Technology Licensing, Llc | Managing multiple data models over data storage system |
CN105518672B (en) | 2014-07-15 | 2019-04-30 | 微软技术许可有限责任公司 | Data retrieval across multiple models |
EP3170100A4 (en) | 2014-07-15 | 2017-12-06 | Microsoft Technology Licensing, LLC | Data model change management |
EP3121780A1 (en) * | 2015-07-24 | 2017-01-25 | Dieter Fensel | Disseminating content to recipients using multiple distribution channels |
CA3005770A1 (en) | 2015-12-04 | 2017-06-08 | Nextwave Software Inc. | Visual messaging method and system |
US10936675B2 (en) | 2015-12-17 | 2021-03-02 | Walmart Apollo, Llc | Developing an item data model for an item |
CN106933897B (en) * | 2015-12-31 | 2020-02-07 | 北京国双科技有限公司 | Data query method and device |
US10360501B2 (en) | 2015-12-31 | 2019-07-23 | International Business Machines Corporation | Real-time capture and translation of human thoughts and ideas into structured patterns |
US9852134B2 (en) * | 2016-01-29 | 2017-12-26 | International Business Machinces Corporation | Dynamic document collection and custom portal creation |
US10984333B2 (en) | 2016-11-08 | 2021-04-20 | Microsoft Technology Licensing, Llc | Application usage signal inference and repository |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040128276A1 (en) * | 2000-04-04 | 2004-07-01 | Robert Scanlon | System and method for accessing data in disparate information sources |
US6842512B2 (en) * | 2000-11-14 | 2005-01-11 | Fuji Xerox Co., Ltd. | Systems and methods for managing electronic communications |
US20060047632A1 (en) * | 2004-08-12 | 2006-03-02 | Guoming Zhang | Method using ontology and user query processing to solve inventor problems and user problems |
US20070061746A1 (en) * | 2005-09-09 | 2007-03-15 | Microsoft Corporation | Filtering user interface for a data summary table |
US20080263054A1 (en) * | 2000-08-11 | 2008-10-23 | Appliede, Inc. | Knowledge archival and recollection systems and methods |
US20080306987A1 (en) * | 2007-06-07 | 2008-12-11 | International Business Machines Corporation | Business information warehouse toolkit and language for warehousing simplification and automation |
US20090024589A1 (en) * | 2007-07-20 | 2009-01-22 | Manish Sood | Methods and systems for accessing data |
US20090070350A1 (en) * | 2007-09-07 | 2009-03-12 | Fusheng Wang | Collaborative data and knowledge integration |
US20090187815A1 (en) * | 2008-01-23 | 2009-07-23 | Mellmo Llc | User interface method and apparatus for data from data cubes and pivot tables |
US8055675B2 (en) * | 2008-12-05 | 2011-11-08 | Yahoo! Inc. | System and method for context based query augmentation |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5659668A (en) * | 1993-09-30 | 1997-08-19 | Sanyo Electric Co., Ltd. | Knowledge base constructing system |
US6460034B1 (en) * | 1997-05-21 | 2002-10-01 | Oracle Corporation | Document knowledge base research and retrieval system |
US20040015775A1 (en) * | 2002-07-19 | 2004-01-22 | Simske Steven J. | Systems and methods for improved accuracy of extracted digital content |
US7953694B2 (en) * | 2003-01-13 | 2011-05-31 | International Business Machines Corporation | Method, system, and program for specifying multidimensional calculations for a relational OLAP engine |
CA2545237A1 (en) * | 2005-07-29 | 2007-01-29 | Cognos Incorporated | Method and system for managing exemplar terms database for business-oriented metadata content |
EP1835418A1 (en) * | 2006-03-14 | 2007-09-19 | Hewlett-Packard Development Company, L.P. | Improvements in or relating to document retrieval |
US20080174100A1 (en) * | 2007-01-22 | 2008-07-24 | Assuretec Systems, Inc. | Real time privilege management |
-
2009
- 2009-06-12 US US12/483,935 patent/US20100318537A1/en not_active Abandoned
-
2013
- 2013-05-16 US US13/896,128 patent/US8886589B2/en not_active Expired - Fee Related
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040128276A1 (en) * | 2000-04-04 | 2004-07-01 | Robert Scanlon | System and method for accessing data in disparate information sources |
US20080263054A1 (en) * | 2000-08-11 | 2008-10-23 | Appliede, Inc. | Knowledge archival and recollection systems and methods |
US6842512B2 (en) * | 2000-11-14 | 2005-01-11 | Fuji Xerox Co., Ltd. | Systems and methods for managing electronic communications |
US20060047632A1 (en) * | 2004-08-12 | 2006-03-02 | Guoming Zhang | Method using ontology and user query processing to solve inventor problems and user problems |
US20070061746A1 (en) * | 2005-09-09 | 2007-03-15 | Microsoft Corporation | Filtering user interface for a data summary table |
US20080306987A1 (en) * | 2007-06-07 | 2008-12-11 | International Business Machines Corporation | Business information warehouse toolkit and language for warehousing simplification and automation |
US20090024589A1 (en) * | 2007-07-20 | 2009-01-22 | Manish Sood | Methods and systems for accessing data |
US20090070350A1 (en) * | 2007-09-07 | 2009-03-12 | Fusheng Wang | Collaborative data and knowledge integration |
US20090187815A1 (en) * | 2008-01-23 | 2009-07-23 | Mellmo Llc | User interface method and apparatus for data from data cubes and pivot tables |
US8055675B2 (en) * | 2008-12-05 | 2011-11-08 | Yahoo! Inc. | System and method for context based query augmentation |
Cited By (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8073877B2 (en) * | 2009-01-20 | 2011-12-06 | Yahoo! Inc. | Scalable semi-structured named entity detection |
US20100185691A1 (en) * | 2009-01-20 | 2010-07-22 | Yahoo! Inc. | Scalable semi-structured named entity detection |
US20110239148A1 (en) * | 2010-03-23 | 2011-09-29 | Nokia Corporation | Method and Apparatus for Indicating Historical Analysis Chronicle Information |
US8996451B2 (en) * | 2010-03-23 | 2015-03-31 | Nokia Corporation | Method and apparatus for determining an analysis chronicle |
US20110238750A1 (en) * | 2010-03-23 | 2011-09-29 | Nokia Corporation | Method and Apparatus for Determining an Analysis Chronicle |
US8406458B2 (en) | 2010-03-23 | 2013-03-26 | Nokia Corporation | Method and apparatus for indicating an analysis criteria |
US20110235851A1 (en) * | 2010-03-23 | 2011-09-29 | Nokia Corporation | Method and Apparatus for Indicating an Analysis Criteria |
US9189873B2 (en) * | 2010-03-23 | 2015-11-17 | Nokia Technologies Oy | Method and apparatus for indicating historical analysis chronicle information |
US20120166416A1 (en) * | 2010-12-23 | 2012-06-28 | Yahoo! Inc. | Method and system to identify geographical locations associated with queries received at a search engine |
US9384289B2 (en) * | 2010-12-23 | 2016-07-05 | Excalibur Ip, Llc | Method and system to identify geographical locations associated with queries received at a search engine |
WO2013103955A1 (en) * | 2012-01-06 | 2013-07-11 | Kidder David S | System and method for managing advertising intelligence and customer relations management data |
US20140143250A1 (en) * | 2012-03-30 | 2014-05-22 | Xen, Inc. | Centralized Tracking of User Interest Information from Distributed Information Sources |
US20130268521A1 (en) * | 2012-04-05 | 2013-10-10 | Microsoft Corporation | Related pivoted search queries |
US8793260B2 (en) * | 2012-04-05 | 2014-07-29 | Microsoft Corporation | Related pivoted search queries |
US20130275429A1 (en) * | 2012-04-12 | 2013-10-17 | Graham York | System and method for enabling contextual recommendations and collaboration within content |
US9336311B1 (en) | 2012-10-15 | 2016-05-10 | Google Inc. | Determining the relevancy of entities |
US9256682B1 (en) * | 2012-12-05 | 2016-02-09 | Google Inc. | Providing search results based on sorted properties |
US9875320B1 (en) * | 2012-12-05 | 2018-01-23 | Google Llc | Providing search results based on sorted properties |
US9001347B2 (en) | 2012-12-11 | 2015-04-07 | International Business Machines Corporation | Application management of printing requests through induced analytics |
US8982399B2 (en) | 2012-12-11 | 2015-03-17 | International Business Machines Corporation | Application management of printing requests through induced analytics |
US9690872B2 (en) * | 2012-12-31 | 2017-06-27 | Facebook, Inc. | Modifying structured search queries on online social networks |
US20160203237A1 (en) * | 2012-12-31 | 2016-07-14 | Facebook, Inc. | Modifying Structured Search Queries on Online Social Networks |
US9596207B1 (en) * | 2012-12-31 | 2017-03-14 | Google Inc. | Bootstrap social network using event-related records |
US9229988B2 (en) | 2013-01-18 | 2016-01-05 | Microsoft Technology Licensing, Llc | Ranking relevant attributes of entity in structured knowledge base |
US9942334B2 (en) * | 2013-01-31 | 2018-04-10 | Microsoft Technology Licensing, Llc | Activity graphs |
US20140214937A1 (en) * | 2013-01-31 | 2014-07-31 | Microsoft Corporation | Activity Graphs |
US10237361B2 (en) | 2013-01-31 | 2019-03-19 | Microsoft Technology Licensing, Llc | Activity graphs |
US11250087B2 (en) * | 2013-03-08 | 2022-02-15 | Google Llc | Content item audience selection |
US9715003B2 (en) * | 2013-03-15 | 2017-07-25 | Facebook, Inc. | Multi-factor location verification |
US20140274122A1 (en) * | 2013-03-15 | 2014-09-18 | Erick Tseng | Multi-Factor Location Verification |
US10007897B2 (en) | 2013-05-20 | 2018-06-26 | Microsoft Technology Licensing, Llc | Auto-calendaring |
US11397784B2 (en) | 2013-11-05 | 2022-07-26 | Google Llc | Structured user graph to support querying and predictions |
WO2015069414A1 (en) * | 2013-11-05 | 2015-05-14 | Google Inc. | Structured user graph to support querying and predictions |
US20150127632A1 (en) * | 2013-11-05 | 2015-05-07 | Google Inc. | Structured user graph to support querying and predictions |
US10482139B2 (en) * | 2013-11-05 | 2019-11-19 | Google Llc | Structured user graph to support querying and predictions |
WO2016209459A1 (en) * | 2015-06-26 | 2016-12-29 | Intel Corporation | Devices and/or methods to provide a query response based on ephemeral data |
US10853370B2 (en) | 2015-06-26 | 2020-12-01 | Intel Corporation | Devices and/or methods to provide a query response based on ephemeral data |
US11494665B2 (en) * | 2015-10-28 | 2022-11-08 | Qomplx, Inc. | Multi-tenant knowledge graph databases with dynamic specification and enforcement of ontological data models |
US20170177739A1 (en) * | 2015-12-22 | 2017-06-22 | Intel Corporation | Prediction using a data structure |
US9710544B1 (en) * | 2016-05-19 | 2017-07-18 | Quid, Inc. | Pivoting from a graph of semantic similarity of documents to a derivative graph of relationships between entities mentioned in the documents |
US10824813B2 (en) * | 2016-05-19 | 2020-11-03 | Quid Inc. | Pivoting from a graph of semantic similarity of documents to a derivative graph of relationships between entities mentioned in the documents |
US20170337262A1 (en) * | 2016-05-19 | 2017-11-23 | Quid, Inc. | Pivoting from a graph of semantic similarity of documents to a derivative graph of relationships between entities mentioned in the documents |
US11210314B2 (en) * | 2016-11-21 | 2021-12-28 | Universite de Bordeaux | Device and method for generating a drug database |
US10380489B2 (en) * | 2016-11-21 | 2019-08-13 | Sap Se | Cognitive enterprise system |
US11681871B2 (en) | 2016-11-21 | 2023-06-20 | Sap Se | Cognitive enterprise system |
US11275894B2 (en) | 2016-11-21 | 2022-03-15 | Sap Se | Cognitive enterprise system |
US20180144053A1 (en) * | 2016-11-21 | 2018-05-24 | Sap Se | Cognitive enterprise system |
US11354519B2 (en) * | 2017-01-24 | 2022-06-07 | Hoon Kim | Numerical information management device enabling numerical information search |
CN107038263A (en) * | 2017-06-23 | 2017-08-11 | 海南大学 | A kind of chess game optimization method based on data collection of illustrative plates, Information Atlas and knowledge mapping towards Transac-tion processing efficiency |
US11550840B2 (en) * | 2017-07-19 | 2023-01-10 | Disney Enterprises, Inc. | Method and system for generating a visual representation of media content for performing graph-based media content evaluation |
US20190026315A1 (en) * | 2017-07-19 | 2019-01-24 | Disney Enterprises, Inc. | Graph-Based Media Content Evaluation |
US11645277B2 (en) * | 2017-12-11 | 2023-05-09 | Google Llc | Generating and/or utilizing a machine learning model in response to a search request |
US10678857B2 (en) | 2018-03-23 | 2020-06-09 | International Business Machines Corporation | Managing a distributed knowledge graph |
US11294958B2 (en) | 2018-03-23 | 2022-04-05 | Kyndryl, Inc. | Managing a distributed knowledge graph |
CN109359199A (en) * | 2018-08-27 | 2019-02-19 | 平安科技(深圳)有限公司 | Fund manager's group dividing method, system, computer equipment and storage medium |
US11183195B2 (en) * | 2018-09-27 | 2021-11-23 | Snackable Inc. | Audio content processing systems and methods |
CN111159210A (en) * | 2019-12-31 | 2020-05-15 | 北京明略软件系统有限公司 | Information processing system, method and device |
Also Published As
Publication number | Publication date |
---|---|
US20130254199A1 (en) | 2013-09-26 |
US8886589B2 (en) | 2014-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8886589B2 (en) | Providing knowledge content to users | |
US9754210B2 (en) | User interests facilitated by a knowledge base | |
US8583673B2 (en) | Progressive filtering of search results | |
Biancalana et al. | An approach to social recommendation for context-aware mobile services | |
US10795897B2 (en) | Techniques for querying user profiles using neural networks | |
US20110231395A1 (en) | Presenting answers | |
US20110196851A1 (en) | Generating and presenting lateral concepts | |
US7818341B2 (en) | Using scenario-related information to customize user experiences | |
US20200005153A1 (en) | Unsupervised learning of entity representations using graphs | |
Kanwal et al. | A review of text-based recommendation systems | |
US9916384B2 (en) | Related entities | |
Huang et al. | Neural embedding collaborative filtering for recommender systems | |
US8700624B1 (en) | Collaborative search apps platform for web search | |
Nesi et al. | Ge (o) Lo (cator): Geographic information extraction from unstructured text data and Web documents | |
US20200005134A1 (en) | Generating supervised embeddings using unsupervised embeddings | |
US8364672B2 (en) | Concept disambiguation via search engine search results | |
Sharma et al. | Web page ranking using web mining techniques: a comprehensive survey | |
Feddaoui et al. | Multidimensional user profile construction for Web services selection: social networks case study | |
Martoglia | AMBIT: semantic engine foundations for knowledge management in context-dependent applications | |
Gupta et al. | Enhancing Temporal Information Retrieval through Contextual Query Reformulation | |
Valliyammai et al. | Evolutionary Learning Search Engine | |
Bhojawala et al. | Search Logs Mining: Survey | |
Zemede | SPEAR: Search Personalization with Editable Profiles | |
Thenmozhi et al. | Re-Ranking Clickthrough Event in Search Engine Using Ontology | |
Venetis | Algorithms and Strategies for Crowdsourcing Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MICROSOFT CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SURENDRAN, ARUNGUNRAM CHANDRASEKARAN;NAJM, TAREK;VADDADI, PHANI;AND OTHERS;SIGNING DATES FROM 20090611 TO 20090612;REEL/FRAME:022821/0360 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0509 Effective date: 20141014 |