CROSS REFERENCE TO RELATED PATENTSThe present U.S. Utility Patent Application claims priority pursuant to 35 U.S.C. § 119(e) to U.S. Provisional Application No. 62/786,779, entitled “GENERATING A QUERY RESPONSE UTILIZING A KNOWLEDGE DATABASE filed Dec. 31, 2018, which is hereby incorporated herein by reference in its entirety and made part of the present U.S. Utility Patent Application for all purposes.
STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENTNot Applicable
INCORPORATION-BY-REFERENCE OF MATERIAL SUBMITTED ON A COMPACT DISCNot Applicable
BACKGROUND OF THE INVENTIONTechnical Field of the InventionThis invention relates generally to computing systems and more particularly to generating data representations of data and analyzing the data utilizing the data representations.
Description of Related ArtIt is known that data is stored in information systems, such as files containing text. It is often difficult to produce useful information from this stored data due to many factors. The factors include the volume of available data, accuracy of the data, and variances in how text is interpreted to express knowledge. For example, many languages and regional dialects utilize the same or similar words to represent different concepts.
Computers are known to utilize pattern recognition techniques and apply statistical reasoning to process text to express an interpretation in an attempt to overcome ambiguities inherent in words. One pattern recognition technique includes matching a word pattern of a query to a word pattern of the stored data to find an explicit textual answer. Another pattern recognition technique classifies words into major grammatical types such as functional words, nouns, adjectives, verbs and adverbs. Grammar based techniques then utilize these grammatical types to study how words should be distributed within a string of words to form a properly constructed grammatical sentence where each word is forced to support a grammatical operation without necessarily identifying what the word is actually trying to describe.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)FIG. 1 is a schematic block diagram of an embodiment of a computing system in accordance with the present invention;
FIG. 2 is a schematic block diagram of an embodiment of various servers of a computing system in accordance with the present invention;
FIG. 3 is a schematic block diagram of an embodiment of various devices of a computing system in accordance with the present invention;
FIGS. 4A and 4B are schematic block diagrams of another embodiment of a computing system in accordance with the present invention;
FIG. 4C is a logic diagram of an embodiment of a method for interpreting content to produce a response to a query within a computing system in accordance with the present invention;
FIG. 5A is a schematic block diagram of an embodiment of a collections module of a computing system in accordance with the present invention;
FIG. 5B is a logic diagram of an embodiment of a method for obtaining content within a computing system in accordance with the present invention;
FIG. 5C is a schematic block diagram of an embodiment of a query module of a computing system in accordance with the present invention;
FIG. 5D is a logic diagram of an embodiment of a method for providing a response to a query within a computing system in accordance with the present invention;
FIG. 5E is a schematic block diagram of an embodiment of an identigen entigen intelligence (IEI) module of a computing system in accordance with the present invention;
FIG. 5F is a logic diagram of an embodiment of a method for analyzing content within a computing system in accordance with the present invention;
FIG. 6A is a schematic block diagram of an embodiment of an element identification module and an interpretation module of a computing system in accordance with the present invention;
FIG. 6B is a logic diagram of an embodiment of a method for interpreting information within a computing system in accordance with the present invention;
FIG. 6C is a schematic block diagram of an embodiment of an answer resolution module of a computing system in accordance with the present invention;
FIG. 6D is a logic diagram of an embodiment of a method for producing an answer within a computing system in accordance with the present invention;
FIG. 7A is an information flow diagram for interpreting information within a computing system in accordance with the present invention;
FIG. 7B is a relationship block diagram illustrating an embodiment of relationships between things and representations of things within a computing system in accordance with the present invention;
FIG. 7C is a diagram of an embodiment of a synonym words table within a computing system in accordance with the present invention;
FIG. 7D is a diagram of an embodiment of a polysemous words table within a computing system in accordance with the present invention;
FIG. 7E is a diagram of an embodiment of transforming words into groupings within a computing system in accordance with the present invention;
FIG. 8A is a data flow diagram for accumulating knowledge within a computing system in accordance with the present invention;
FIG. 8B is a diagram of an embodiment of a groupings table within a computing system in accordance with the present invention;
FIG. 8C is a data flow diagram for answering questions utilizing accumulated knowledge within a computing system in accordance with the present invention;
FIG. 8D is a data flow diagram for answering questions utilizing interference within a computing system in accordance with the present invention;
FIG. 8E is a relationship block diagram illustrating another embodiment of relationships between things and representations of things within a computing system in accordance with the present invention;
FIGS. 8F and 8G are schematic block diagrams of another embodiment of a computing system in accordance with the present invention;
FIG. 8H is a logic diagram of an embodiment of a method for processing content to produce knowledge within a computing system in accordance with the present invention;
FIGS. 8J and 8K are schematic block diagrams another embodiment of a computing system in accordance with the present invention;
FIG. 8L is a logic diagram of an embodiment of a method for generating a query response to a query within a computing system in accordance with the present invention;
FIGS. 9A, 9B, and 9C are schematic block diagrams of another embodiment of a computing system illustrating an embodiment of a method for generating a query response within the computing system in accordance with the present invention;
FIG. 10A is a schematic block diagram of another embodiment of a computing system in accordance with the present invention;
FIG. 10B is a data flow diagram of an embodiment for securely storing a portion of a knowledge database within a computing system in accordance with the present invention;
FIG. 10C is a logic diagram of an embodiment of a method for securely storing a portion of a knowledge database within a computing system in accordance with the present invention;
FIG. 11A is a schematic block diagram of another embodiment of a computing system in accordance with the present invention;
FIGS. 11B-11C are data flow diagrams of embodiments for searching a knowledge database within a computing system in accordance with the present invention;
FIG. 11D is a logic diagram of an embodiment of a method for searching a knowledge database within a computing system in accordance with the present invention;
FIG. 12A is a schematic block diagram of another embodiment of a computing system in accordance with the present invention;
FIG. 12B is a data flow diagram of an embodiment for modifying a representation of knowledge within a computing system in accordance with the present invention;
FIG. 12C is a logic diagram of an embodiment of a method for modifying a representation of knowledge within a computing system in accordance with the present invention;
FIG. 13A is a schematic block diagram of another embodiment of a computing system in accordance with the present invention;
FIG. 13B is a data flow diagram of another embodiment for generating a query response within a computing system in accordance with the present invention; and
FIG. 13C is a logic diagram of another embodiment of a method for generating a query response within a computing system in accordance with the present invention.
DETAILED DESCRIPTION OF THE INVENTIONFIG. 1 is a schematic block diagram of an embodiment of acomputing system10 that includes a plurality of user devices12-1 through12-N, a plurality of wireless user devices14-1 through14-N, a plurality of content sources16-1 through16-N, a plurality of transactional servers18-1 through18-N, a plurality of artificial intelligence (AI) servers20-1 through20-N, and acore network24. Thecore network24 includes at least one of the Internet, a public radio access network (RAN), and any private network. Hereafter, thecomputing system10 may be interchangeably referred to as a data network, a data communication network, a system, a communication system, and a data communication system. Hereafter, the user device and the wireless user device may be interchangeably referred to as user devices, and each of the transactional servers and the AI servers may be interchangeably referred to as servers.
Each user device, wireless user device, transactional server, and AI server includes a computing device that includes a computing core. In general, a computing device is any electronic device that can communicate data, process data, and/or store data. A further generality of a computing device is that it includes one or more of a central processing unit (CPU), a memory system, a sensor (e.g., internal or external), user input/output interfaces, peripheral device interfaces, communication elements, and an interconnecting bus structure.
As further specific examples, each of the computing devices may be a portable computing device and/or a fixed computing device. A portable computing device may be an embedded controller, a smart sensor, a smart pill, a social networking device, a gaming device, a cell phone, a smart phone, a robot, a personal digital assistant, a digital music player, a digital video player, a laptop computer, a handheld computer, a tablet, a video game controller, an engine controller, a vehicular controller, an aircraft controller, a maritime vessel controller, and/or any other portable device that includes a computing core. A fixed computing device may be security camera, a sensor device, a household appliance, a machine, a robot, an embedded controller, a personal computer (PC), a computer server, a cable set-top box, a satellite receiver, a television set, a printer, a fax machine, home entertainment equipment, a camera controller, a video game console, a critical infrastructure controller, and/or any type of home or office computing equipment that includes a computing core. An embodiment of the various servers is discussed in greater detail with reference toFIG. 2. An embodiment of the various devices is discussed in greater detail with reference toFIG. 3.
Each of the content sources16-1 through16-N includes any source of content, where the content includes one or more of data files, a data stream, a tech stream, a text file, an audio stream, an audio file, a video stream, a video file, etc. Examples of the content sources include a weather service, a multi-language online dictionary, a fact server, a big data storage system, the Internet, social media systems, an email server, a news server, a schedule server, a traffic monitor, a security camera system, audio monitoring equipment, an information server, a service provider, a data aggregator, and airline traffic server, a shipping and logistics server, a banking server, a financial transaction server, etc. Alternatively, or in addition to, one or more of the various user devices may provide content. For example, a wireless user device may provide content (e.g., issued as a content message) when the wireless user device is able to capture data (e.g., text input, sensor input, etc.).
Generally, an embodiment of this invention presents solutions where thecomputing system10 supports the generation and utilization of knowledge extracted from content. For example, the AI servers20-1 through20-N ingest content from the content sources16-1 through16-N by receiving, via thecore network24 content messages28-1 through28-N as AI messages32-1 through32-N, extract the knowledge from the ingested content, and interact with the various user devices to utilize the extracted knowledge by facilitating the issuing, via thecore network24, user messages22-1 through22-N to the user devices12-1 through12-N and wireless signals26-1 through26-N to the wireless user devices14-1 through14-N.
Each content message28-1 through28-N includes a content request (e.g., requesting content related to a topic, content type, content timing, one or more domains, etc.) or a content response, where the content response includes real-time or static content such as one or more of dictionary information, facts, non-facts, weather information, sensor data, news information, blog information, social media content, user daily activity schedules, traffic conditions, community event schedules, school schedules, user schedules airline records, shipping records, logistics records, banking records, census information, global financial history information, etc. Each AI message32-1 through32-N includes one or more of content messages, user messages (e.g., a query request, a query response that includes an answer to a query request), and transaction messages (e.g., transaction information, requests and responses related to transactions). Each user message22-1 through22-N includes one or more of a query request, a query response, a trigger request, a trigger response, a content collection, control information, software information, configuration information, security information, routing information, addressing information, presence information, analytics information, protocol information, all types of media, sensor data, statistical data, user data, error messages, etc.
When utilizing a wireless signal capability of thecore network24, each of the wireless user devices14-1 through14-N encodes/decodes data and/or information messages (e.g., user messages such as user messages22-1 through22-N) in accordance with one or more wireless standards for local wireless data signals (e.g., Wi-Fi, Bluetooth, ZigBee) and/or for wide area wireless data signals (e.g., 2G, 3G, 4G, 5G, satellite, point-to-point, etc.) to produce wireless signals26-1 through26-N. Having encoded/decoded the data and/or information messages, the wireless user devices14-1 through14-N and/receive the wireless signals to/from the wireless capability of thecore network24.
As another example of the generation and utilization of knowledge, the transactional servers18-1 through18-N communicate, via thecore network24, transaction messages30-1 through30-N as further AI messages32-1 through32-N to facilitate ingesting of transactional type content (e.g., real-time crypto currency transaction information) and to facilitate handling of utilization of the knowledge by one or more of the transactional servers (e.g., for a transactional function) in addition to the utilization of the knowledge by the various user devices. Each transaction message30-1 through30-N includes one or more of a query request, a query response, a trigger request, a trigger response, a content message, and transactional information, where the transactional information may include one or more of consumer purchasing history, crypto currency ledgers, stock market trade information, other investment transaction information, etc.
In another specific example of operation of the generation and utilization of knowledge extracted from the content, the user device12-1 issues a user message22-1 to the AI server20-1, where the user message22-1 includes a query request and where the query request includes a question related to a first domain of knowledge. The issuing includes generating the user message22-1 based on the query request (e.g., the question), selecting the AI server20-1 based on the first domain of knowledge, and sending, via thecore network24, the user message22-1 as a further AI message32-1 to the AI server20-1. Having received the AI message32-1, the AI server20-1 analyzes the question within the first domain, generates further knowledge, generates a preliminary answer, generates a quality level indicator of the preliminary answer, and determines to gather further content when the quality level indicator is below a minimum quality threshold level.
When gathering the further content, the AI server20-1 issues, via thecore network24, a still further AI message32-1 as a further content message28-1 to the content source16-1, where the content message28-1 includes a content request for more content associated with the first domain of knowledge and in particular the question. Alternatively, or in addition to, the AI server20-1 issues the content request to another AI server to facilitate a response within a domain associated with the other AI server. Further alternatively, or in addition to, the AI server20-1 issues the content request to one or more of the various user devices to facilitate a response from a subject matter expert.
Having received the content message28-1, the contents or16-1 issues, via thecore network24, a still further content message28-1 to the AI server20-1 as a yet further AI message32-1, where the still further content message28-1 includes requested content. The AI server20-1 processes the received content to generate further knowledge. Having generated the further knowledge, the AI server20-1 re-analyzes the question, generates still further knowledge, generates another preliminary answer, generates another quality level indicator of the other preliminary answer, and determines to issue a query response to the user device12-1 when the quality level indicator is above the minimum quality threshold level. When issuing the query response, the AI server20-1 generates an AI message32-1 that includes another user message22-1, where the other user message22-1 includes the other preliminary answer as a query response including the answer to the question. Having generated the AI message32-1, the AI server20-1 sends, via thecore network24, the AI message32-1 as the user message22-1 to the user device12-1 thus providing the answer to the original question of the query request.
FIG. 2 is a schematic block diagram of an embodiment of the AI servers20-1 through20-N and the transactional servers18-1 through18-N of thecomputing system10 ofFIG. 1. The servers include acomputing core52, one or more visual output devices74 (e.g., video graphics display, touchscreen, LED, etc.), one or more user input devices76 (e.g., keypad, keyboard, touchscreen, voice to text, a push button, a microphone, a card reader, a door position switch, a biometric input device, etc.), one or more audio output devices78 (e.g., speaker(s), headphone jack, a motor, etc.), and one or more visual input devices80 (e.g., a still image camera, a video camera, photocell, etc.).
The servers further include one or more universal serial bus (USB) devices (USB devices1-U), one or more peripheral devices (e.g., peripheral devices1-P), one or more memory devices (e.g., one or moreflash memory devices92, one or more hard drive (HD)memories94, and one or more solid state (SS)memory devices96, and/or cloud memory98). The servers further include one or more wireless location modems84 (e.g., global positioning satellite (GPS), Wi-Fi, angle of arrival, time difference of arrival, signal strength, dedicated wireless location, etc.), one or more wireless communication modems86-1 through86-N (e.g., a cellular network transceiver, a wireless data network transceiver, a Wi-Fi transceiver, a Bluetooth transceiver, a 315 MHz transceiver, a zig bee transceiver, a 60 GHz transceiver, etc.), a telco interface102 (e.g., to interface to a public switched telephone network), and a wired local area network (LAN)88 (e.g., optical, electrical), and a wired wide area network (WAN)90 (e.g., optical, electrical).
Thecomputing core52 includes a video graphics module54, one or more processing modules50-1 through50-N (e.g., which may include one or more secure co-processors), amemory controller56 and one or more main memories58-1 through58-N (e.g., RAM serving as local memory). Thecomputing core52 further includes one or more input/output (I/O) device interfaces62, an input/output (I/O)controller60, aperipheral interface64, one or more USB interfaces66, one or more network interfaces72, one or more memory interfaces70, and/or one or more peripheral device interfaces68.
The processing modules may be a single processing device or a plurality of processing devices where the processing device may further be referred to as one or more of a “processing circuit”, a “processor”, and/or a “processing unit”. Such a processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on hard coding of the circuitry and/or operational instructions.
The processing module, module, processing circuit, and/or processing unit may be, or further include, memory and/or an integrated memory element, which may be a single memory device, a plurality of memory devices, and/or embedded circuitry of another processing module, module, processing circuit, and/or processing unit. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information. Note that if the processing module, module, processing circuit, and/or processing unit includes more than one processing device, the processing devices may be centrally located (e.g., directly coupled together via a wired and/or wireless bus structure) or may be distributedly located (e.g., cloud computing via indirect coupling via a local area network and/or a wide area network).
Further note that if the processing module, module, processing circuit, and/or processing unit implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory and/or memory element storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry. Still further note that, the memory element may store, and the processing module, module, processing circuit, and/or processing unit executes, hard coded and/or operational instructions corresponding to at least some of the steps and/or functions illustrated in one or more of the Figures. Such a memory device or memory element can be included in an article of manufacture.
Each of theinterfaces62,66,68,70, and72 includes a combination of hardware (e.g., connectors, wiring, etc.) and may further include operational instructions stored on memory (e.g., driver software) that are executed by one or more of the processing modules50-1 through50-N and/or a processing circuit within the interface. Each of the interfaces couples to one or more components of the servers. For example, one of the IO device interfaces62 couples to anaudio output device78. As another example, one of the memory interfaces70 couples toflash memory92 and another one of the memory interfaces70 couples to cloud memory98 (e.g., an on-line storage system and/or on-line backup system). In other embodiments, the servers may include more or less devices and modules than shown in this example embodiment of the servers.
FIG. 3 is a schematic block diagram of an embodiment of the various devices of thecomputing system10 ofFIG. 1, including the user devices12-1 through12-N and the wireless user devices14-1 through14-N. The various devices include thevisual output device74 ofFIG. 2, theuser input device76 ofFIG. 2, theaudio output device78 ofFIG. 2, thevisual input device80 ofFIG. 2, and one ormore sensors82.
The sensor may implemented internally and/or externally to the device. Example sensors includes a still camera, a video camera, servo motors associated with a camera, a position detector, a smoke detector, a gas detector, a motion sensor, an accelerometer, velocity detector, a compass, a gyro, a temperature sensor, a pressure sensor, an altitude sensor, a humidity detector, a moisture detector, an imaging sensor, and a biometric sensor. Further examples of the sensor include an infrared sensor, an audio sensor, an ultrasonic sensor, a proximity detector, a magnetic field detector, a biomaterial detector, a radiation detector, a weight detector, a density detector, a chemical analysis detector, a fluid flow volume sensor, a DNA reader, a wind speed sensor, a wind direction sensor, and an object detection sensor.
Further examples of the sensor include an object identifier sensor, a motion recognition detector, a battery level detector, a room temperature sensor, a sound detector, a smoke detector, an intrusion detector, a motion detector, a door position sensor, a window position sensor, and a sunlight detector. Still further sensor examples include medical category sensors including: a pulse rate monitor, a heart rhythm monitor, a breathing detector, a blood pressure monitor, a blood glucose level detector, blood type, an electrocardiogram sensor, a body mass detector, an imaging sensor, a microphone, body temperature, etc.
The various devices further include thecomputing core52 ofFIG. 2, the one or more universal serial bus (USB) devices (USB devices1-U) ofFIG. 2, the one or more peripheral devices (e.g., peripheral devices1-P) ofFIG. 2, and the one or more memories ofFIG. 2 (e.g.,flash memories92,HD memories94,SS memories96, and/or cloud memories98). The various devices further include the one or morewireless location modems84 ofFIG. 2, the one or more wireless communication modems86-1 through86-N ofFIG. 2, thetelco interface102 ofFIG. 2, the wired local area network (LAN)88 ofFIG. 2, and the wired wide area network (WAN)90 ofFIG. 2. In other embodiments, the various devices may include more or less internal devices and modules than shown in this example embodiment of the various devices.
FIGS. 4A and 4B are schematic block diagrams of another embodiment of a computing system that includes one or more of the user device12-1 ofFIG. 1, the wireless user device14-1 ofFIG. 1, the content source16-1 ofFIG. 1, the transactional server18-1 ofFIG. 1, the user device12-2 ofFIG. 1, and the AI server20-1 ofFIG. 1. The AI server20-1 includes the processing module50-1 (e.g., associated with the servers) ofFIG. 2, where the processing module50-1 includes acollections module120, an identigen entigen intelligence (IEI)module122, and aquery module124. Alternatively, thecollections module120, theIEI module122, and thequery module124 may be implemented by the processing module50-1 (e.g., associated with the various user devices) ofFIG. 3. The computing system functions to interpret content to produce a response to a query.
FIG. 4A illustrates an example of the interpreting of the content to produce the response to the query where thecollections module120 interprets (e.g., based on an interpretation approach such as rules) at least one of acollections request132 from thequery module124 and a collections request withincollections information130 from theIEI module122 to produce content request information (e.g., potential sources, content descriptors of desired content). Alternatively, or in addition to, thecollections module120 may facilitate gathering further content based on a plurality of collection requests from a plurality of devices of thecomputing system10 ofFIG. 1.
The collections request132 is utilized to facilitate collection of content, where the content may be received in a real-time fashion once or at desired intervals, or in a static fashion from previous discrete time frames. For instance, thequery module124 issues the collections request132 to facilitate collection of content as a background activity to support a long-term query (e.g., how many domestic airline flights over the next seven days include travelers between the age of 18 and 35 years old). The collections request132 may include one or more of a requester identifier (ID), a content type (e.g., language, dialect, media type, topic, etc.), a content source indicator, security credentials (e.g., an authorization level, a password, a user ID, parameters utilized for encryption, etc.), a desired content quality level, trigger information (e.g., parameters under which to collect content based on a pre-event, an event (i.e., content quality level reaches a threshold to cause the trigger, trueness), or a timeframe), a desired format, and a desired timing associated with the content.
Having interpreted thecollections request132, thecollections module120 selects a source of content based on the content request information. The selecting includes one or more of identifying one or more potential sources based on the content request information, selecting the source of content from the potential sources utilizing a selection approach (e.g., favorable history, a favorable security level, favorable accessibility, favorable cost, favorable performance, etc.). For example, thecollections module120 selects the content source16-1 when the content source16-1 is known to provide a favorable content quality level for a domain associated with thecollections request132.
Having selected the source of content, thecollections module120 issues acontent request126 to the selected source of content. The issuing includes generating thecontent request126 based on the content request information for the selected source of content and sending thecontent request126 to the selected source of content. Thecontent request126 may include one or more of a content type indicator, a requester ID, security credentials for content access, and any other information associated with thecollections request132. For example, thecollections module120 sends thecontent request126, via thecore network24 ofFIG. 1, to the content source16-1. Alternatively, or in addition to, thecollections module120 may send asimilar content request126 to one or more of the user device12-1, the wireless user device14-1, and the transactional server18-1 to facilitate collecting of further content.
In response to thecontent request126, thecollections module120 receives one ormore content responses128. Thecontent response128 includes one or more of content associated with the content source, a content source identifier, security credential processing information, and any other information pertaining to the desired content. Having received thecontent response128, thecollections module120 interprets the receivedcontent response128 to producecollections information130, where thecollections information130 further includes a collections response from thecollections module120 to theIEI module122.
The collections response includes one or more of transformed content (e.g., completed sentences and paragraphs), timing information associated with the content, a content source ID, and a content quality level. Having generated the collections response of thecollections information130, thecollections module120 sends thecollections information130 to theIEI module122. Having received thecollections information130 from thecollections module120, theIEI module122 interprets the further content of the content response to generate further knowledge, where the further knowledge is stored in a memory associated with theIEI module122 to facilitate subsequent answering of questions posed in received queries.
FIG. 4B further illustrates the example of the interpreting of the content to produce the response to the query where, thequery module124 interprets a receivedquery request136 from a requester to produce an interpretation of the query request. For example, thequery module124 receives thequery request136 from the user device12-2, and/or from one or more of the wireless user device14-2 and the transactional server18-2. Thequery request136 includes one or more of an identifier (ID) associated with the request (e.g., requester ID, ID of an entity to send a response to), a question, question constraints (e.g., within a timeframe, within a geographic area, within a domain of knowledge, etc.), and content associated with the question (e.g., which may be analyzed for new knowledge itself).
The interpreting of thequery request136 includes determining whether to issue a request to the IEI module122 (e.g., a question, perhaps with content) and/or to issue a request to the collections module120 (e.g., for further background content). For example, thequery module124 produces the interpretation of the query request to indicate to send the request directly to theIEI module122 when the question is associated with a simple non-time varying function answer (e.g., question: “how many hydrogen atoms does a molecule of water have?”).
Having interpreted thequery request136, thequery module124 issues at least one of an IEI request asquery information138 to the IEI module122 (e.g., when receiving a simple new query request) and acollections request132 to the collections module120 (e.g., based on two or more query requests136 requiring more substantive content gathering). The IEI request of thequery information138 includes one or more of an identifier (ID) of thequery module124, an ID of the requester (e.g., the user device12-2), a question (e.g., with regards to content for analysis, with regards to knowledge minded by the AI server from general content), one or more constraints (e.g., assumptions, restrictions, etc.) associated with the question, content for analysis of the question, and timing information (e.g., a date range for relevance of the question).
Having received thequery information138 that includes the IEI request from thequery module124, theIEI module122 determines whether a satisfactory response can be generated based on currently available knowledge, including that of thequery request136. The determining includes indicating that the satisfactory response cannot be generated when an estimated quality level of an answer falls below a minimum quality threshold level. When the satisfactory response cannot be generated, theIEI module122 facilitates collecting more content. The facilitating includes issuing a collections request to thecollections module120 of the AI server20-1 and/or to another server or user device, and interpreting asubsequent collections response134 ofcollections information130 that includes further content to produce further knowledge to enable a more favorable answer.
When theIEI module122 indicates that the satisfactory response can be generated, theIEI module122 issues an IEI response asquery information138 to thequery module124. The IEI response includes one or more of one or more answers, timing relevance of the one or more answers, an estimated quality level of each answer, and one or more assumptions associated with the answer. The issuing includes generating the IEI response based on thecollections response134 of thecollections information130 and the IEI request, and sending the IEI response as thequery information138 to thequery module124. Alternatively, or in addition to, at least some of the further content collected by thecollections module120 is utilized to generate acollections response134 issued by thecollections module120 to thequery module124. Thecollections response134 includes one or more of further content, a content availability indicator (e.g., when, where, required credentials, etc.), a content freshness indicator (e.g., timestamps, predicted time availability), content source identifiers, and a content quality level.
Having received thequery information138 from theIEI module122, thequery module124 issues aquery response140 to the requester based on the IEI response and/or thecollections response134 directly from thecollections module120, where thecollection module120 generates thecollections response134 based on collected content and thecollections request132. Thequery response140 includes one or more of an answer, answer timing, an answer quality level, and answer assumptions.
FIG. 4C is a logic diagram of an embodiment of a method for interpreting content to produce a response to a query within a computing system. In particular, a method is presented for use in conjunction with one or more functions and features described in conjunction withFIGS. 1-3, 4A-4B, and alsoFIG. 4C. The method includesstep150 where a collections module of a processing module of one or more computing devices (e.g., of one or more servers) interprets a collections request to produce content request information. The interpreting may include one or more of identifying a desired content source, identifying a content type, identifying a content domain, and identifying content timing requirements.
The method continues atstep152 where the collections module selects a source of content based on the content request information. For example, the collections module identifies one or more potential sources based on the content request information and selects the source of content from the potential sources utilizing a selection approach (e.g., based on one or more of favorable history, a favorable security level, favorable accessibility, favorable cost, favorable performance, etc.). The method continues atstep154 where the collections module issues a content request to the selected source of content. The issuing includes generating a content request based on the content request information for the selected source of content and sending the content request to the selected source of content.
The method continues atstep156 where the collections module issues collections information to an identigen entigen intelligence (IEI) module based on a received content response, where the IEI module extracts further knowledge from newly obtained content from the one or more received content responses. For example, the collections module generates the collections information based on newly obtained content from the one or more received content responses of the selected source of content.
The method continues atstep158 where a query module interprets a received query request from a requester to produce an interpretation of the query request. The interpreting may include determining whether to issue a request to the IEI module (e.g., a question) or to issue a request to the collections module to gather further background content. The method continues atstep160 where the query module issues a further collections request. For example, when receiving a new query request, the query module generates a request for the IEI module. As another example, when receiving a plurality of query requests for similar questions, the query module generates a request for the collections module to gather further background content.
The method continues atstep162 where the IEI module determines whether a satisfactory query response can be generated when receiving the request from the query module. For example, the IEI module indicates that the satisfactory query response cannot be generated when an estimated quality level of an answer is below a minimum answer quality threshold level. The method branches to step166 when the IEI module determines that the satisfactory query response can be generated. The method continues to step164 when the IEI module determines that the satisfactory query response cannot be generated. When the satisfactory query response cannot be generated, the method continues atstep164 where the IEI module facilitates collecting more content. The method loops back tostep150.
When the satisfactory query response can be generated, the method continues atstep166 where the IEI module issues an IEI response to the query module. The issuing includes generating the IEI response based on the collections response and the IEI request, and sending the IEI response to the query module. The method continues atstep168 where the query module issues a query response to the requester. For example, the query module generates the query response based on the IEI response and/or a collections response from the collections module and sends the query response to the requester, where the collections module generates the collections response based on collected content and the collections request.
The method described above in conjunction with the processing module can alternatively be performed by other modules of thecomputing system10 ofFIG. 1 or by other devices. In addition, at least one memory section (e.g., a computer readable memory, a non-transitory computer readable storage medium, a non-transitory computer readable memory organized into a first memory element, a second memory element, a third memory element, a fourth element section, a fifth memory element etc.) that stores operational instructions can, when executed by one or more processing modules of one or more computing devices (e.g., one or more servers, one or more user devices) of thecomputing system10, cause the one or more computing devices to perform any or all of the method steps described above.
FIG. 5A is a schematic block diagram of an embodiment of thecollections module120 ofFIG. 4A that includes acontent acquisition module180, acontent selection module182, asource selection module184, acontent security module186, anacquisition timing module188, acontent transformation module190, and acontent quality module192. Generally, an embodiment of this invention presents solutions where thecollections module120 supports collecting content.
In an example of operation of the collecting of the content, thecontent acquisition module180 receives acollections request132 from a requester. Thecontent acquisition module180 obtainscontent selection information194 based on thecollections request132. Thecontent selection information194 includes one or more of content requirements, a desired content type indicator, a desired content source identifier, a content type indicator, a candidate source identifier (ID), and a content profile (e.g., a template of typical parameters of the content). For example, thecontent acquisition module180 receives thecontent selection information194 from thecontent selection module182, where thecontent selection module182 generates thecontent selection information194 based on a content selection information request from thecontent acquisition module180 and where thecontent acquisition module180 generates the content selection information request based on thecollections request132.
Thecontent acquisition module180 obtainssource selection information196 based on thecollections request132. Thesource selection information196 includes one or more of candidate source identifiers, a content profile, selected sources, source priority levels, and recommended source access timing. For example, thecontent acquisition module180 receives thesource selection information196 from thesource selection module184, where thesource selection module184 generates thesource selection information196 based on a source selection information request from thecontent acquisition module180 and where thecontent acquisition module180 generates the source selection information request based on thecollections request132.
Thecontent acquisition module180 obtainsacquisition timing information200 based on thecollections request132. Theacquisition timing information200 includes one or more of recommended source access timing, confirmed source access timing, source access testing results, estimated velocity of content update's, content precious, timestamps, predicted time availability, required content acquisition triggers, content acquisition trigger detection indicators, and a duplicative indicator with a pending content request. For example, thecontent acquisition module180 receives theacquisition timing information200 from theacquisition timing module188, where theacquisition timing module188 generates theacquisition timing information200 based on an acquisition timing information request from thecontent acquisition module180 and where thecontent acquisition module180 generates the acquisition timing information request based on thecollections request132.
Having obtained thecontent selection information194, thesource selection information196, and theacquisition timing information200, thecontent acquisition module180 issues acontent request126 to a content source utilizingsecurity information198 from thecontent security module186, where thecontent acquisition module180 generates thecontent request126 in accordance with thecontent selection information194, thesource selection information196, and theacquisition timing information200. Thesecurity information198 includes one or more of source priority requirements, requester security information, available security procedures, and security credentials for trust and/or encryption. For example, thecontent acquisition module180 generates thecontent request126 to request a particular content type in accordance with thecontent selection information194 and to include security parameters of thesecurity information198, initiates sending of thecontent request126 in accordance with theacquisition timing information200, and sends thecontent request126 to a particular targeted content source in accordance with thesource selection information196.
In response to receiving acontent response128, thecontent acquisition module180 determines the quality level of received content extracted from thecontent response128. For example, thecontent acquisition module180 receivescontent quality information204 from thecontent quality module192, where thecontent quality module192 generates the quality level of the received content based on receiving a content quality request from thecontent acquisition module180 and where thecontent acquisition module180 generates the content quality request based on content extracted from thecontent response128. The content quality information includes one or more of a content reliability threshold range, a content accuracy threshold range, a desired content quality level, a predicted content quality level, and a predicted level of trust.
When the quality level is below a minimum desired quality threshold level, thecontent acquisition module180 facilitates acquisition of further content. The facilitating includes issuing anothercontent request126 to a same content source and/or to another content source to receive and interpret further received content. When the quality level is above the minimum desired quality threshold level, thecontent acquisition module180 issues acollections response134 to the requester. The issuing includes processing the content in accordance with a transformation approach to produce transformed content, generating thecollections response134 to include the transformed content, and sending thecollections response134 to the requester. The processing of the content to produce the transformed content includes receivingcontent transformation information202 from thecontent transformation module190, where thecontent transformation module190 transforms the content in accordance with the transformation approach to produce the transformed content. The content transformation information includes a desired format, available formats, recommended formatting, the received content, transformation instructions, and the transformed content.
FIG. 5B is a logic diagram of an embodiment of a method for obtaining content within a computing system. In particular, a method is presented for use in conjunction with one or more functions and features described in conjunction withFIGS. 1-3, 4A-4C, 5A, and alsoFIG. 5B. The method includesstep210 where a processing module of one or more processing modules of one or more computing devices of the computing system receives a collections request from the requester. The method continues atstep212 where the processing module determines content selection information. The determining includes interpreting the collections request to identify requirements of the content.
The method continues atstep214 where the processing module determines source selection information. The determining includes interpreting the collections request to identify and select one or more sources for the content to be collected. The method continues atstep216 where the processing module determines acquisition timing information. The determining includes interpreting the collections request to identify timing requirements for the acquisition of the content from the one or more sources. The method continues atstep218 where the processing module issues a content request utilizing security information and in accordance with one or more of the content selection information, the source selection information, and the acquisition timing information. For example, the processing module issues the content request to the one or more sources for the content in accordance with the content requirements, where the sending of the request is in accordance with the acquisition timing information.
The method continues atstep220 where the processing module determines a content quality level for received content area the determining includes receiving the content from the one or more sources, obtaining content quality information for the received content based on a quality analysis of the received content. The method branches to step224 when the content quality level is favorable and the method continues to step222 when the quality level is unfavorable. For example, the processing module determines that the content quality level is favorable when the content quality level is equal to or above a minimum quality threshold level and determines that the content quality level is unfavorable when the content quality level is less than the minimum quality threshold level.
When the content quality level is unfavorable, the method continues atstep222 where the processing module facilitates acquisition and further content. For example, the processing module issues further content requests and receives further content for analysis. When the content quality level is favorable, the method continues atstep224 where the processing module issues a collections response to the requester. The issuing includes generating the collections response and sending the collections response to the requester. The generating of the collections response may include transforming the received content into transformed content in accordance with a transformation approach (e.g., reformatting, interpreting absolute meaning and translating into another language in accordance with the absolute meaning, etc.).
The method described above in conjunction with the processing module can alternatively be performed by other modules of thecomputing system10 ofFIG. 1 or by other devices. In addition, at least one memory section (e.g., a computer readable memory, a non-transitory computer readable storage medium, a non-transitory computer readable memory organized into a first memory element, a second memory element, a third memory element, a fourth element section, a fifth memory element etc.) that stores operational instructions can, when executed by one or more processing modules of one or more computing devices (e.g., one or more servers, one or more user devices) of thecomputing system10, cause the one or more computing devices to perform any or all of the method steps described above.
FIG. 5C is a schematic block diagram of an embodiment of thequery module124 ofFIG. 4A that includes ananswer acquisition module230, a content requirements module232 a source requirements module234, acontent security module236, ananswer timing module238, ananswer transformation module240, and ananswer quality module242. Generally, an embodiment of this invention presents solutions where thequery module124 supports responding to a query.
In an example of operation of the responding to the query, theanswer acquisition module230 receives aquery request136 from a requester. Theanswer acquisition module230 obtainscontent requirements information248 based on thequery request136. Thecontent requirements information248 includes one or more of content parameters, a desired content type, a desired content source if any, a content type if any, candidate source identifiers, a content profile, and a question of thequery request136. For example, theanswer acquisition module230 receives thecontent requirements information248 from thecontent requirements module232, where thecontent requirements module232 generates thecontent requirements information248 based on a content requirements information request from theanswer acquisition module230 and where theanswer acquisition module230 generates the content requirements information request based on thequery request136.
Theanswer acquisition module230 obtainssource requirements information250 based on thequery request136. Thesource requirements information250 includes one or more of candidate source identifiers, a content profile, a desired source parameter, recommended source parameters, source priority levels, and recommended source access timing. For example, theanswer acquisition module230 receives thesource requirements information250 from the source requirements module234, where the source requirements module234 generates thesource requirements information250 based on a source requirements information request from theanswer acquisition module230 and where theanswer acquisition module230 generates the source requirements information request based on thequery request136.
Theanswer acquisition module230 obtainsanswer timing information254 based on thequery request136. Theanswer timing information254 includes one or more of requested answer timing, confirmed answer timing, source access testing results, estimated velocity of content updates, content freshness, timestamps, predicted time available, requested content acquisition trigger, and a content acquisition trigger detected indicator. For example, theanswer acquisition module230 receives theanswer timing information254 from theanswer timing module238, where theanswer timing module238 generates theanswer timing information254 based on an answer timing information request from theanswer acquisition module230 and where theanswer acquisition module230 generates the answer timing information request based on thequery request136.
Having obtained thecontent requirements information248, thesource requirements information250, and theanswer timing information254, theanswer acquisition module230 determines whether to issue anIEI request244 and/or acollections request132 based on one or more of thecontent requirements information248, thesource requirements information250, and theanswer timing information254. For example, theanswer acquisition module230 selects theIEI request244 when an immediate answer to asimple query request136 is required and is expected to have a favorable quality level. As another example, theanswer acquisition module230 selects thecollections request132 when a longer-term answer is required as indicated by the answer timing information to before and/or when thequery request136 has an unfavorable quality level.
When issuing theLEI request244, theanswer acquisition module230 generates theIEI request244 in accordance withsecurity information252 received from thecontent security module236 and based on one or more of thecontent requirements information248, thesource requirements information250, and theanswer timing information254. Having generated theIEI request244, theanswer acquisition module230 sends theIEI request244 to at least one IEI module.
When issuing thecollections request132, theanswer acquisition module230 generates the collections request132 in accordance with thesecurity information252 received from thecontent security module236 and based on one or more of thecontent requirements information248, thesource requirements information250, and theanswer timing information254. Having generated thecollections request132, theanswer acquisition module230 sends the collections request132 to at least one collections module. Alternatively, theanswer acquisition module230 facilitate sending of the collections request132 to one or more various user devices (e.g., to access a subject matter expert).
Theanswer acquisition module230 determines a quality level of a received answer extracted from acollections response134 and/or anIEI response246. For example, theanswer acquisition module230 extracts the quality level of the received answer fromanswer quality information258 received from theanswer quality module242 in response to an answer quality request from theanswer acquisition module230. When the quality level is unfavorable, theanswer acquisition module230 facilitates obtaining a further answer. The facilitation includes issuing at least one of afurther IEI request244 and a further collections request132 to generate a further answer for further quality testing. When the quality level is favorable, theanswer acquisition module230 issues aquery response140 to the requester. The issuing includes generating thequery response140 based onanswer transformation information256 received from theanswer transformation module240, where theanswer transformation module240 generates theanswer transformation information256 to include a transformed answer based on receiving the answer from theanswer acquisition module230. Theanswer transformation information2506A further include the question, a desired format of the answer, available formats, recommended formatting, received IEI responses, transformation instructions, and transformed IEI responses into an answer.
FIG. 5D is a logic diagram of an embodiment of a method for providing a response to a query within a computing system. In particular, a method is presented for use in conjunction with one or more functions and features described in conjunction withFIGS. 1-3, 4A-4C, 5C, and alsoFIG. 5D. The method includesstep270 where a processing module of one or more processing modules of one or more computing devices of the computing system receives a query request (e.g., a question) from a requester. The method continues atstep272 where the processing module determines content requirements information. The determining includes interpreting the query request to produce the content requirements. The method continues atstep274 where the processing module determines source requirements information. The determining includes interpreting the query request to produce the source requirements. The method continues atstep276 where the processing module determines answer timing information. The determining includes interpreting the query request to produce the answer timing information.
The method continues atstep278 the processing module determines whether to issue an IEI request and/or a collections request. For example, the determining includes selecting the IEI request when the answer timing information indicates that a simple one-time answer is appropriate. As another example, the processing module selects the collections request when the answer timing information indicates that the answer is associated with a series of events over an event time frame.
When issuing the IEI request, the method continues atstep280 where the processing module issues the LEI request to an LEI module. The issuing includes generating the IEI request in accordance with security information and based on one or more of the content requirements information, the source requirements information, and the answer timing information.
When issuing the collections request, the method continues atstep282 where the processing module issues the collections request to a collections module. The issuing includes generating the collections request in accordance with the security information and based on one or more of the content requirements information, the source requirements information, and the answer timing information. Alternatively, the processing module issues both the LEI request and the collections request when a satisfactory partial answer may be provided based on a corresponding LEI response and a further more generalized and specific answer may be provided based on a corresponding collections response and associated further LEI response.
The method continues atstep284 where the processing module determines a quality level of a received answer. The determining includes extracting the answer from the collections response and/or the LEI response and interpreting the answer in accordance with one or more of the content requirements information, the source requirements information, the answer timing information, and the query request to produce the quality level. The method branches to step288 when the quality level is favorable and the method continues to step286 when the quality level is unfavorable. For example, the processing module indicates that the quality level is favorable when the quality level is equal to or greater than a minimum answer quality threshold level. As another example, the processing module indicates that the quality level is unfavorable when the quality level is less than the minimum answer quality threshold level.
When the quality level is unfavorable, the method continues atstep286 where the processing module obtains a further answer. The obtaining includes at least one of issuing a further LEI request and a further collections request to facilitate obtaining of a further answer for further answer quality level testing as the method loops back tostep270. When the quality level is favorable, the method continues atstep288 where the processing module issues a query response to the requester. The issuing includes transforming the answer into a transformed answer in accordance with an answer transformation approach (e.g., formatting, further interpretations of the virtual question in light of the answer and further knowledge) and sending the transformed answer to the requester as the query response.
The method described above in conjunction with the processing module can alternatively be performed by other modules of thecomputing system10 ofFIG. 1 or by other devices. In addition, at least one memory section (e.g., a computer readable memory, a non-transitory computer readable storage medium, a non-transitory computer readable memory organized into a first memory element, a second memory element, a third memory element, a fourth element section, a fifth memory element etc.) that stores operational instructions can, when executed by one or more processing modules of one or more computing devices (e.g., one or more servers, one or more user devices) of thecomputing system10, cause the one or more computing devices to perform any or all of the method steps described above.
FIG. 5E is a schematic block diagram of an embodiment of the identigen entigen intelligence (IEI)module122 ofFIG. 4A that includes acontent ingestion module300, anelement identification module302, andinterpretation module304, and answerresolution module306, and anIEI control module308. Generally, an embodiment of this invention presents solutions where theIEI module122 supports interpreting content to produce knowledge that may be utilized to answer questions.
In an example of operation of the producing and utilizing of the knowledge, thecontent ingestion module300 generates formattedcontent314 based onquestion content312 and/orsource content310, where theIEI module122 receives anIEI request244 that includes thequestion content312 and theIEI module122 receives acollections response134 that includes thesource content310. Thesource content310 includes content from a source extracted from thecollections response134. Thequestion content312 includes content extracted from the IEI request244 (e.g., content paired with a question). Thecontent ingestion module300 generates the formattedcontent314 in accordance with a formatting approach (e.g., creating proper sentences from words of the content). The formattedcontent314 includes modified content that is compatible with subsequent element identification (e.g., complete sentences, combinations of words and interpreted sounds and/or inflection cues with temporal associations of words).
Theelement identification module302 processes the formattedcontent314 based onelement rules318 and anelement list332 to produce identifiedelement information340.Rules316 includes the element rules318 (e.g., match, partial match, language translation, etc.).Lists330 includes the element list332 (e.g., element ID, element context ID, element usage ID, words, characters, symbols etc.). TheIEI control module308 may provide therules316 and thelists330 by accessing storeddata360 from a memory associated with theIEI module122. Generally, an embodiment of this invention presents solutions where the storeddata360 may further include one or more of a descriptive dictionary, categories, representations of element sets, element list, sequence data, pending questions, pending request, recognized elements, unrecognized elements, errors, etc.
The identifiedelement information340 includes one or more of identifiers of elements identified in the formattedcontent314, may include ordering and/or sequencing and grouping information. For example, theelement identification module302 compares elements of the formattedcontent314 to known elements of theelement list332 to produce identifiers of the known elements as the identifiedelement information340 in accordance with the element rules318. Alternatively, theelement identification module302 outputsun-identified element information342 to theIEI control module308, where theun-identified element information342 includes temporary identifiers for elements not identifiable from the formattedcontent314 when compared to theelement list332.
Theinterpretation module304 processes the identifiedelement information340 in accordance with interpretation rules320 (e.g., potentially valid permutations of various combinations of identified elements), question information346 (e.g., a question extracted from theIEI request244 which may be paired with content associated with the question), and a groupings list334 (e.g., representations of associated groups of representations of things, a set of element identifiers, valid element usage IDs in accordance with similar, an element context, permutations of sets of identifiers for possible interpretations of a sentence or other) to produce interpretedinformation344. The interpretedinformation344 includes potentially valid interpretations of combinations of identified elements. Generally, an embodiment of this invention presents solutions where theinterpretation module304 supports producing the interpretedinformation344 by considering permutations of the identifiedelement information340 in accordance with the interpretation rules320 and thegroupings list334.
Theanswer resolution module306 processes the interpretedinformation344 based on answer rules322 (e.g., guidance to extract a desired answer), thequestion information346, and inferred question information352 (e.g., posed by the IEI control module or analysis of general collections of content or refinement of a stated question from a request) to producepreliminary answers354 and ananswer quality level356. The answer generally lies in the interpretedinformation344 as both new content received and knowledge based ongroupings list334 generated based on previously received content. Thepreliminary answers354 includes an answer to a stated or inferred question that subject further refinement. Theanswer quality level356 includes a determination of a quality level of thepreliminary answers354 based on the answer rules322. Theinferred question information352 may further be associated withtime information348, where the time information includes one or more of current real-time, a time reference associated with entity submitting a request, and a time reference of a collections response.
When theIEI control module308 determines that theanswer quality level356 is below an answer quality threshold level, theIEI control module308 facilitates collecting of further content (e.g., by issuing acollections request132 and receivingcorresponding collections responses134 for analysis). When theanswer quality level356 compares favorably to the answer quality threshold level, theIEI control module308 issues anIEI response246 based on thepreliminary answers354. When receivingtraining information358, theIEI control module308 facilitates updating of one or more of thelists330 and therules316 and stores the updatedlist330 and the updatedrules316 in the memories as updated storeddata360.
FIG. 5F is a logic diagram of an embodiment of a method for analyzing content within a computing system. In particular, a method is presented for use in conjunction with one or more functions and features described in conjunction withFIGS. 1-3, 4A-4C, 5E, and alsoFIG. 5F. The method includesstep370 where a processing module of one or more processing modules of one or more computing devices of the computing system facilitates updating of one or more rules and lists based on one or more of received training information and received content. For example, the processing module updates rules with received rules to produce updated rules and updates element lists with received elements to produce updated element lists. As another example, the processing module interprets the received content to identify a new word for at least temporary inclusion in the updated element list.
The method continues atstep372 where the processing module transforms at least some of the received content into formatted content. For example, the processing module processes the received content in accordance with a transformation approach to produce the formatted content, where the formatted content supports compatibility with subsequent element identification (e.g., typical sentence structures of groups of words).
The method continues atstep374 where the processing module processes the formatted content based on the rules and the lists to produce identified element information and/or an identified element information. For example, the processing module compares the formatted content to element lists to identify a match producing identifiers for identified elements or new identifiers for unidentified elements when there is no match.
The method continues atstep376 with a processing module processes the identified element information based on rules, the lists, and question information to produce interpreted information. For example, the processing module compares the identified element information to associated groups of representations of things to generate potentially valid interpretations of combinations of identified elements.
The method continues atstep378 where the processing module processes the interpreted information based on the rules, the question information, and inferred question information to produce preliminary answers. For example, the processing module matches the interpreted information to one or more answers (e.g., embedded knowledge based on a fact base built from previously received content) with highest correctness likelihood levels that is subject to further refinement.
The method continues atstep380 where the processing module generates an answer quality level based on the preliminary answers, the rules, and the inferred question information. For example, the processing module predicts the answer correctness likelihood level based on the rules, the inferred question information, and the question information. The method branches to step384 when the answer quality level is favorable and the method continues to step382 when the answer quality level is unfavorable. For example, the generating of the answer quality level further includes the processing module indicating that the answer quality level is favorable when the answer quality level is greater than or equal to a minimum answer quality threshold level. As another example, the generating of the answer quality level further includes the processing module indicating that the answer quality level is unfavorable when the answer quality level is less than the minimum answer quality threshold level.
When the answer quality level is unfavorable, the method continues atstep382 where the processing module facilitates gathering clarifying information. For example, the processing module issues a collections request to facilitate receiving further content and or request question clarification from a question requester. When the answer quality level is favorable, the method continues atstep384 where the processing module issues a response that includes one or more answers based on the preliminary answers and/or further updated preliminary answers based on gathering further content. For example, the processing module generates a response that includes one or more answers and the answer quality level and issues the response to the requester.
The method described above in conjunction with the processing module can alternatively be performed by other modules of thecomputing system10 ofFIG. 1 or by other devices. In addition, at least one memory section (e.g., a computer readable memory, a non-transitory computer readable storage medium, a non-transitory computer readable memory organized into a first memory element, a second memory element, a third memory element, a fourth element section, a fifth memory element etc.) that stores operational instructions can, when executed by one or more processing modules of one or more computing devices (e.g., one or more servers, one or more user devices) of thecomputing system10, cause the one or more computing devices to perform any or all of the method steps described above.
FIG. 6A is a schematic block diagram of an embodiment of theelement identification module302 ofFIG. 5A and theinterpretation module304 ofFIG. 5A. Theelement identification module302 includes anelement matching module400 and anelement grouping module402. Theinterpretation module304 includes agrouping matching module404 and agrouping interpretation module406. Generally, an embodiment of this invention presents solutions where theelement identification module302 supports identifying potentially valid permutations of groupings of elements while theinterpretation module304 interprets the potentially valid permutations of groupings of elements to produce interpreted information that includes the most likely of groupings based on a question.
In an example of operation of the identifying of the potentially valid permutations of groupings of elements, when matching elements of the formattedcontent314, theelement matching module400 generates matched elements412 (e.g., identifiers of elements contained in the formatted content314) based on theelement list332. For example, theelement matching module400 matches a received element to an element of theelement list332 and outputs the matchedelements412 to include an identifier of the matched element. When finding elements that are unidentified, theelement matching module400 outputs un-recognized words information408 (e.g., words not in theelement list332, may temporarily add) as part ofun-identified element information342. For example, theelement matching module400 indicates that a match cannot be made between a received element of the formattedcontent314, generates theunrecognized words info408 to include the received element and/or a temporary identifier, and issues and updatedelement list414 that includes the temporary identifier and the corresponding unidentified received element.
Theelement grouping module402 analyzes the matchedelements412 in accordance withelement rules318 to produce grouping error information410 (e.g., incorrect sentence structure indicators) when a structural error is detected. Theelement grouping module402 produces identifiedelement information340 when favorable structure is associated with the matched elements in accordance with the element rules318. The identifiedelement information340 may further include grouping information of the plurality of permutations of groups of elements (e.g., several possible interpretations), where the grouping information includes one or more groups of words forming an associated set and/or super-group set of two or more subsets when subsets share a common core element.
In an example of operation of the interpreting of the potentially valid permutations of groupings of elements to produce the interpreted information, thegrouping matching module404 analyzes the identifiedelement information340 in accordance with agroupings list334 to produce validatedgroupings information416. For example, thegrouping matching module404 compares a grouping aspect of the identified element information340 (e.g., for each permutation of groups of elements of possible interpretations), generates the validatedgroupings information416 to include identification of valid permutations aligned with thegroupings list334. Alternatively, or in addition to, thegrouping matching module404 generates an updated groupings list418 when determining a new valid grouping (e.g., has favorable structure and interpreted meaning) that is to be added to thegroupings list334.
Thegrouping interpretation module406 interprets the validatedgroupings information416 based on thequestion information346 and in accordance with the interpretation rules320 to produce interpreted information344 (e.g., most likely interpretations, next most likely interpretations, etc.). For example, thegrouping interpretation module406 obtains context, obtains favorable historical interpretations, processes the validated groupings based oninterpretation rules320, where each interpretation is associated with a correctness likelihood level.
FIG. 6B is a logic diagram of an embodiment of a method for interpreting information within a computing system. In particular, a method is presented for use in conjunction with one or more functions and features described in conjunction withFIGS. 1-3, 4A-4C, 5E-5F, 6A, and alsoFIG. 6B. The method includesstep430 where a processing module of one or more processing modules of one or more computing devices of the computing system analyzes formatted content. For example, the processing module attempt to match a received element of the formatted content to one or more elements of an elements list. When there is no match, the method branches to step434 and when there is a match, the method continues to step432. When there is a match, the method continues atstep432 where the processing module outputs matched elements (e.g., to include the matched element and/or an identifier of the matched element). When there is no match, the method continues atstep434 where the processing module outputs unrecognized words (e.g., elements and/or a temporary identifier for the unmatched element).
The method continues atstep436 where the processing module analyzes matched elements. For example, the processing module attempt to match a detected structure of the matched elements (e.g., chained elements as in a received sequence) to favorable structures in accordance with element rules. The method branches to step440 when the analysis is unfavorable and the method continues to step438 when the analysis is favorable. When the analysis is favorable matching a detected structure to the favorable structure of the element rules, the method continues atstep438 where the processing module outputs identified element information (e.g., an identifier of the favorable structure, identifiers of each of the detected elements). When the analysis is unfavorable matching a detected structure to the favorable structure of the element rules, the method continues atstep440 where the processing module outputs grouping error information (e.g., a representation of the incorrect structure, identifiers of the elements of the incorrect structure, a temporary new identifier of the incorrect structure).
The method continues atstep442 where the processing module analyzes the identified element information to produce validated groupings information. For example, the processing module compares a grouping aspect of the identified element information and generates the validated groupings information to include identification of valid permutations that align with the groupings list. Alternatively, or in addition to, the processing module generates an updated groupings list when determining a new valid grouping.
The method continues atstep444 where the processing module interprets the validated groupings information to produce interpreted information. For example, the processing module obtains one or more of context and historical interpretations and processes the validated groupings based on interpretation rules to generate the interpreted information, where each interpretation is associated with a correctness likelihood level (e.g., a quality level).
The method described above in conjunction with the processing module can alternatively be performed by other modules of thecomputing system10 ofFIG. 1 or by other devices. In addition, at least one memory section (e.g., a computer readable memory, a non-transitory computer readable storage medium, a non-transitory computer readable memory organized into a first memory element, a second memory element, a third memory element, a fourth element section, a fifth memory element etc.) that stores operational instructions can, when executed by one or more processing modules of one or more computing devices (e.g., one or more servers, one or more user devices) of thecomputing system10, cause the one or more computing devices to perform any or all of the method steps described above.
FIG. 6C is a schematic block diagram of an embodiment of theanswer resolution module306 ofFIG. 5A that includes aninterim answer module460, and answer prioritization module462, and a preliminary answer quality module464. Generally, an embodiment of this invention presents solutions where theanswer resolution module306 supports producing an answer for interpretedinformation344.
In an example of operation of the providing of the answer, theinterim answer module460 analyzes the interpretedinformation344 based onquestion information346 andinferred question information352 to produce interim answers466 (e.g., answers to stated and/or inferred questions without regard to rules that is subject to further refinement). The answer prioritization module462 analyzes theinterim answers466 based onanswer rules322 to producepreliminary answer354. For example, the answer prioritization module462 identifies all possible answers from theinterim answers466 that conform to the answer rules322.
The preliminary answer quality module464 analyzes thepreliminary answers354 in accordance with thequestion information346, theinferred question information352, and the answer rules322 to produce ananswer quality level356. For example, for each of thepreliminary answers354, the preliminary answer quality module464 may compare a fit of thepreliminary answer354 to a corresponding previous answer and question quality level, calculate theanswer quality level356 based on a level of conformance to the answer rules322, calculate theanswer quality level356 based on alignment with theinferred question information352, and determine theanswer quality level356 based on an interpreted correlation with thequestion information346.
FIG. 6D is a logic diagram of an embodiment of a method for producing an answer within a computing system. In particular, a method is presented for use in conjunction with one or more functions and features described in conjunction withFIGS. 1-3, 4A-4C, 5E-5F, 6C, and alsoFIG. 6D. The method includesstep480 where a processing module of one or more processing modules of one or more computing devices of the computing system analyzes received interpreted information based on question information and inferred question information to produce one or more interim answers. For example, the processing module generates potential answers based on patterns consistent with previously produced knowledge and likelihood of correctness.
The method continues atstep482 where the processing module analyzes the one or more interim answers based on answer rules to produce preliminary answers. For example, the processing module identifies all possible answers from the interim answers that conform to the answer rules. The method continues atstep484 where the processing module analyzes the preliminary answers in accordance with the question information, the inferred question information, and the answer rules to produce an answer quality level. For example, for each of the elementary answers, the processing module may compare a fit of the preliminary answer to a corresponding previous answer-and-answer quality level, calculate the answer quality level based on performance to the answer rules, calculate answer quality level based on alignment with the inferred question information, and determine the answer quality level based on interpreted correlation with the question information.
The method described above in conjunction with the processing module can alternatively be performed by other modules of thecomputing system10 ofFIG. 1 or by other devices. In addition, at least one memory section (e.g., a computer readable memory, a non-transitory computer readable storage medium, a non-transitory computer readable memory organized into a first memory element, a second memory element, a third memory element, a fourth element section, a fifth memory element etc.) that stores operational instructions can, when executed by one or more processing modules of one or more computing devices (e.g., one or more servers, one or more user devices) of thecomputing system10, cause the one or more computing devices to perform any or all of the method steps described above.
FIG. 7A is an information flow diagram for interpreting information within a computing system, where sets ofentigens504 are interpreted from sets ofidentigens502 which are interpreted from sentences ofwords500. Such identigen entigen intelligence (IEI) processing of the words (e.g., to IEI process) includes producing one or more of interim knowledge, a preliminary answer, and an answer quality level. For example, the IEI processing includes identifying permutations of identigens of a phrase of a sentence (e.g., interpreting human expressions to produce identigen groupings for each word of ingested content), reducing the permutations of identigens (e.g., utilizing rules to eliminate unfavorable permutations), mapping the reduced permutations of identigens to at least one set of entigens (e.g., most likely identigens become the entigens) to produce the interim knowledge, processing the knowledge in accordance with a knowledge database (e.g., comparing the set of entigens to the knowledge database) to produce a preliminary answer, and generating the answer quality level based on the preliminary answer for a corresponding domain.
Human expressions are utilized to portray facts and fiction about the real world. The real-world includes items, actions, and attributes. The human expressions include textual words, textual symbols, images, and other sensorial information (e.g., sounds). It is known that many words, within a given language, can mean different things based on groupings and orderings of the words. For example, the sentences ofwords500 can include many different forms of sentences that mean vastly different things even when the words are very similar.
The present invention presents solutions where thecomputing system10 supports producing a computer-based representation of a truest meaning possible of the human expressions given the way that multitudes of human expressions relate to these meanings. As a first step of the flow diagram to transition from human representations of things to a most precise computer representation of the things, the computer identifies the words, phrases, sentences, etc. from the human expressions to produce the sets ofidentigens502. Each identigen includes an identifier of their meaning and an identifier of an instance for each possible language, culture, etc. For example, the words car and automobile share a common meaning identifier but have different instance identifiers since they are different words and are spelled differently. As another example, the word duck is associated both with a bird and an action to elude even though they are spelled the same. In this example the bird duck has a different meaning than the elude duck and as such each has a different meaning identifier of the corresponding identigens.
As a second step of the flow diagram to transition from human representations of things to the most precise computer representation of the things, the computer extracts meaning from groupings of the identified words, phrases, sentences, etc. to produce the sets ofentigens504. Each entigen includes an identifier of a single conceivable and perceivable thing in space and time (e.g., independent of language and other aspects of the human expressions). For example, the words car and automobile are different instances of the same meaning and point to a common shared entigen. As another example, the word duck for the bird meaning has an associated unique entigen that is different than the entigen for the word duck for the elude meaning.
As a third step of the flow diagram to transition from human expressions of things to the most precise computer representation of the things, the computer reasons facts from the extracted meanings. For example, the computer maintains a fact-based of the valid meanings from the valid groupings or sets of entigens so as to support subsequent inferences, deductions, rationalizations of posed questions to produce answers that are aligned with a most factual view. As time goes on, and as an entigen has been identified, it can encounter an experience transformations in time, space, attributes, actions, and words which are used to identify it without creating contradictions or ever losing its identity.
FIG. 7B is a relationship block diagram illustrating an embodiment of relationships betweenthings510 and representations ofthings512 within a computing system. Thethings510 includes conceivable and perceivablethings including actions522,items524, and attributes526. The representation ofthings512 includes representations of things used by humans514 and representation of things used by of computing devices516 of embodiments of the present invention. Thethings510 relates to the representations of things used by humans514 where the invention presents solutions where thecomputing system10 supports mapping the representations of things used by humans514 to the representations of things used by computing devices516, where the representations of things used by computing devices516 map back to thethings510.
The representations of things used by humans514 includestextual words528,textual symbols530, images (e.g., non-textual)532, and other sensorial information534 (e.g., sounds, sensor data, electrical fields, voice inflections, emotion representations, facial expressions, whistles, etc.). The representations of things used by computing devices516 includes identigens518 andentigens520. The representations of things used by humans514 maps to theidentigens518 and theidentigens518 map to theentigens520. Theentigens520 uniquely maps back to thethings510 in space and time, a truest meaning the computer is looking for to create knowledge and answer questions based on the knowledge.
To accommodate the mapping of the representations of things used by humans514 to theidentigens518, theidentigens518 is partitioned into actenyms544 (e.g., actions), itenyms546 (e.g., items), attrenyms548 (e.g., attributes), and functionals550 (e.g., that join and/or describe). Each of theactenyms544, itenyms546, and attrenyms548 may be further classified into singulatums552 (e.g., identify one unique entigen) and pluratums554 (e.g., identify a plurality of entigens that have similarities).
Eachidentigen518 is associated with an identigens identifier (IDN)536. TheIDN536 includes a meaning identifier (ID)538 portion, aninstance ID540 portion, and atype ID542 portion. Themeaning ID538 includes an identifier of common meaning. Theinstance ID540 includes an identifier of a particular word and language. Thetype ID542 includes one or more identifiers for actenyms, itenyms, attrenyms, singulatums, pluratums, a time reference, and any other reference to describe theIDN536. The mapping of the representations of things used by humans514 to theidentigens518 by the computing system of the present invention includes determining theidentigens518 in accordance with logic and instructions for forming groupings of words.
Generally, an embodiment of this invention presents solutions where theidentigens518 map to theentigens520. Multiple identigens may map to a common unique entigen. The mapping of theidentigens518 to theentigens520 by the computing system of the present invention includes determining entigens in accordance with logic and instructions for forming groupings of identigens.
FIG. 7C is a diagram of an embodiment of a synonym words table570 within a computing system, where the synonym words table570 includes multiple fields includingtextual words572,identigens518, andentigens520. Theidentigens518 includes fields for the meaning identifier (ID)538 and theinstance ID540. The computing system of the present invention may utilize the synonym words table570 to maptextual words572 to identigens518 and map theidentigens518 to entigens520. For example, the words car, automobile, auto, bil (Swedish), carro (Spanish), and bil (Danish) all share a common meaning but are different instances (e.g., different words and languages). The words map to a common meaning ID but to individual unique instant identifiers. Each of the different identigens map to a common entigen since they describe the same thing.
FIG. 7D is a diagram of an embodiment of a polysemous words table576 within a computing system, where the polysemous words table576 includes multiple fields includingtextual words572,identigens518, andentigens520. Theidentigens518 includes fields for the meaning identifier (ID)538 and theinstance ID540. The computing system of the present invention may utilize the polysemous words table576 to maptextual words572 to identigens518 and map theidentigens518 to entigens520. For example, the word duck maps to four different identigens since the word duck has four associated different meanings (e.g., bird, fabric, to submerge, to elude) and instances. Each of the identigens represent different things and hence map to four different entigens.
FIG. 7E is a diagram of an embodiment of transforming words into groupings within a computing system that includes a words table580, a groupings of words section to validate permutations of groupings, and a groupings table584 to capture the valid groupings. The words table580 includes multiple fields includingtextual words572,identigens518, andentigens520. Theidentigens518 includes fields for the meaning identifier (ID)538, theinstance ID540, and thetype ID542. The computing system of the present invention may utilize the words table580 to maptextual words572 to identigens518 and map theidentigens518 to entigens520. For example, the word pilot may refer to a flyer and the action to fly. Each meaning has a different identigen and different entigen.
The computing system the present invention may apply rules to the fields of the words table580 to validate various groupings of words. Those that are invalid are denoted with a “X” while those that are valid are associated with a check mark. For example, the grouping “pilot Tom” is invalid when the word pilot refers to flying and Tom refers to a person. The identigen combinations for the flying pilot and the person Tom are denoted as invalid by the rules. As another example, the grouping “pilot Tom” is valid when the word pilot refers to a flyer and Tom refers to the person. The identigen combinations for the flyer pilot and the person Tom are denoted as valid by the rules.
The groupings table584 includes multiple fields includinggrouping ID586, word strings588,identigens518, andentigens520. The computing system of the present invention may produce the groupings table584 as a stored fact base for valid and/or invalid groupings of words identified by their corresponding identigens. For example, the valid grouping “pilot Tom” referring to flyer Tom the person is represented with a grouping identifier of 3001 and identity and identifiers 150.001 and 457.001. Theentigen field520 may indicate associated entigens that correspond to the identigens. For example, entigen e717 corresponds to the flyer pilot meaning and entigen e61 corresponds to the time the person meaning. Alternatively, or in addition to, theentigen field520 may be populated with a single entigen identifier (ENI).
The word stringsfield588 may include any number of words in a string. Different ordering of the same words can produce multiple different strings and even different meanings and hence entigens. More broadly, each entry (e.g., role) of the groupings table584 may refer to groupings of words, two or more word strings, an idiom, just identigens, just entigens, and/or any combination of the preceding elements. Each entry has a unique grouping identifier. An idiom may have a unique grouping ID and include identifiers of original word identigens and replacing identigens associated with the meaning of the idiom not just the meaning of the original words. Valid groupings may still have ambiguity on their own and may need more strings and/or context to select a best fit when interpreting a truest meaning of the grouping.
FIG. 8A is a data flow diagram for accumulating knowledge within a computing system, where a computing device, at a time=t0, ingests and processesfacts598 at astep590 based onrules316 andfact base information600 to producegroupings602 for storage in a fact base592 (e.g., words, phrases, word groupings, identigens, entigens, quality levels). Thefacts598 may include information from books, archive data, Central intelligence agency (CIA) world fact book, trusted content, etc. The ingesting may include filtering to organize and promote better valid groupings detection (e.g., considering similar domains together). Thegroupings602 includes one or more of groupings identifiers, identigen identifiers, entigen identifiers, and estimated fit quality levels. Theprocessing step590 may include identifying identigens from words of thefacts598 in accordance with therules316 and thefact base info600 and identifying groupings utilizing identigens in accordance withrules316 andfact base info600.
Subsequent to ingestion and processing of thefacts598 to establish thefact base592, at a time=t1+, the computing device ingests and processesnew content604 at astep594 in accordance with therules316 and thefact base information600 to producepreliminary grouping606. The new content may include updated content (e.g., timewise) from periodicals, newsfeeds, social media, etc. Thepreliminary grouping606 includes one or more of preliminary groupings identifiers, preliminary identigen identifiers, preliminary entigen identifiers, estimated fit quality levels, and representations of unidentified words.
The computing device validates thepreliminary groupings606 at astep596 based on therules316 and thefact base info600 to produce updatedfact base info608 for storage in thefact base592. The validating includes one or more of reasoning a fit of existingfact base info600 with the newpreliminary grouping606, discarding preliminary groupings, updating just time frame information associated with an entry of the existing fact base info600 (e.g., to validate knowledge for the present), creating new entigens, and creating a median entigen to summarize portions of knowledge within a median indicator as a quality level indicator (e.g., suggestive not certain).
Storage of the updatedfact base information608 captures patterns that develop by themselves instead of searching for patterns as in prior art artificial intelligence systems. Growth of thefact base592 enables subsequent reasoning to create new knowledge including deduction, induction, inference, and inferential sentiment (e.g., a chain of sentiment sentences). Examples of sentiments includes emotion, beliefs, convictions, feelings, judgments, notions, opinions, and views.
FIG. 8B is a diagram of an embodiment of a groupings table620 within a computing system. The groupings table620 includes multiple fields includinggrouping ID586, word strings588, an IFstring622 and aTHEN string624. Each of the fields for theIF string622 and theTHEN string624 includes fields for an identigen (IDN)string626, and an entigen (ENI)string628. The computing system of the present invention may produce the groupings table620 as a stored fact base to enable IF THEN based inference to generate anew knowledge inference630.
As a specific example,grouping5493 points out the logic of IF someone has a tumor, THEN someone is sick and thegrouping5494 points of the logic that IF someone is sick, THEN someone is sad. As a result of utilizing inference, thenew knowledge inference630 may produce grouping5495 where IF someone has a tumor, THEN someone is possibly sad (e.g., or is sad).
FIG. 8C is a data flow diagram for answering questions utilizing accumulated knowledge within a computing system, where a computing device ingests and processes questioninformation346 at astep640 based onrules316 andfact base info600 from afact base592 to producepreliminary grouping606. The ingesting and processing questions step640 includes identifying identigens from words of a question in accordance with therules316 and thefact base information600 and may also include identifying groupings from the identified identigens in accordance with therules316 and thefact base information600.
The computing device validates thepreliminary grouping606 at astep596 based on therules316 and thefact base information600 to produce identifiedelement information340. For example, the computing device reasons fit of existing fact base information with newpreliminary groupings606 to produce the identifiedelement information340 associated with highest quality levels. The computing device interprets a question of the identifiedelement information340 at astep642 based on therules316 and thefact base information600. The interpreting of the question may include separating new content from the question and reducing the question based on thefact base information600 and the new content.
The computing device producespreliminary answers354 from the interpretedinformation344 at aresolve answer step644 based on therules316 and thefact base information600. For example, the computing device compares the interpretedinformation344 two thefact base information600 to produce thepreliminary answers354 with highest quality levels utilizing one or more of deduction, induction, inferencing, and applying inferential sentiments logic. Alternatively, or in addition to, the computing device may save new knowledge identified from thequestion information346 to update thefact base592.
FIG. 8D is a data flow diagram for answering questions utilizing interference within a computing system that includes a groupings table648 and theresolve answer step644 ofFIG. 8C. The groupings table648 includes multiple fields including fields for a grouping (GRP) identifier (ID)586, word strings588, an identigen (IDN)string626, and an entigen (ENI)628. The groupings table648 may be utilized to build a fact base to enable resolving a future question into an answer. For example, thegrouping8356 notes knowledge that Michael sleeps eight hours andgrouping8357 notes that Michael usually starts to sleep at 11 PM.
In a first question example that includes a question “Michael sleeping?”, theresolve answer step644 analyzes the question from the interpretedinformation344 in accordance with thefact base information600, therules316, and a real-time indicator that the current time is 1 AM to produce a preliminary answer of “possibly YES” when inferring that Michael is probably sleeping at 1 AM when Michael usually starts sleeping at 11 PM and Michael usually sleeps for a duration of eight hours.
In a second question example that includes the question “Michael sleeping?”, theresolve answer step644 analyzes the question from the interpretedinformation344 in accordance with thefact base information600, therules316, and a real-time indicator that the current time is now 11 AM to produce a preliminary answer of “possibly NO” when inferring that Michael is probably not sleeping at 11 AM when Michael usually starts sleeping at 11 PM and Michael usually sleeps for a duration of eight hours.
FIG. 8E is a relationship block diagram illustrating another embodiment of relationships between things and representations of things within a computing system. While things in the real world are described with words, it is often the case that a particular word has multiple meanings in isolation. Interpreting the meaning of the particular word may hinge on analyzing how the word is utilized in a phrase, a sentence, multiple sentences, paragraphs, and even whole documents or more. Describing and stratifying the use of words, word types, and possible meanings help in interpreting a true meaning.
Humans utilizetextual words528 to represent things in the real world. Quite often a particular word has multiple instances of different grammatical use when part of a phrase of one or more sentences. The grammatical use 649 of words includes the nouns and the verbs, and also includes adverbs, adjectives, pronouns, conjunctions, prepositions, determiners, exclamations, etc.
As an example of multiple grammatical use, the word “bat” in the English language can be utilized as a noun or a verb. For instance, when utilized as a noun, the word “bat” may apply to a baseball bat or may apply to a flying “bat.” As another instance, when utilized as a verb, the word “bat” may apply to the action of hitting or batting an object, i.e., “bat the ball.”
To stratify word types by use, the words are associated with a word type (e.g., type identifier542). The word types include objects (e.g., items524), characteristics (e.g., attributes526),actions522, and thefunctionals550 for joining other words and describing words. For example, when the word “bat” is utilized as a noun, the word is describing the object of either the baseball bat or the flying bat. As another example, when the word “bat” is utilized as a verb, the word is describing the action of hitting.
To determine possible meanings, the words, by word type, are mapped to associative meanings (e.g., identigens518). For each possible associative meaning, the word type is documented with the meaning and further with an identifier (ID) of the instance (e.g., an identigen identifier).
For the example of the word “bat” when utilized as a noun for the baseball bat, a first identigen identifier536-1 includes a type ID542-1 associated with theobject524, an instance ID540-1 associated with the first identigen identifier (e.g., unique for the baseball bat), and a meaning ID538-1 associated with the baseball bat. For the example of the word “bat” when utilized as a noun for the flying bat, a second identigen identifier536-2 includes a type ID542-1 associated with theobject524, an instance ID540-2 associated with the second identigen identifier (e.g., unique for the flying bat), and a meaning ID538-2 associated with the flying bat. For the example of the word “bat” when utilized as a verb for the bat that hits, a third identigen identifier536-2 includes a type ID542-2 associated with theactions522, an instance ID540-3 associated with the third identigen identifier (e.g., unique for the bat that hits), and a meaning ID538-3 associated with the bat that hits.
With the word described by a type and possible associative meanings, a combination of full grammatical use of the word within the phrase etc., application of rules, and utilization of an ever-growing knowledge database that represents knowledge by linked entigens, the absolute meaning (e.g., entigen520) of the word is represented as a unique entigen. For example, a first entigen e1 represents the absolute meaning of a baseball bat (e.g., a generic baseball bat not a particular baseball bat that belongs to anyone), a second entigen e2 represents the absolute meaning of the flying bat (e.g., a generic flying bat not a particular flying bat), and a third entigen e3 represents the absolute meaning of the verb bat (e.g., to hit).
An embodiment of methods to ingest text to produce absolute meanings for storage in a knowledge database are discussed in greater detail with reference toFIGS. 8F-H. Those embodiments further discuss the discerning of the grammatical use, the use of the rules, and the utilization of the knowledge database to definitively interpret the absolute meaning of a string of words.
Another embodiment of methods to respond to a query to produce an answer based on knowledge stored in the knowledge database are discussed in greater detail with reference toFIGS. 8J-L. Those embodiments further discuss the discerning of the grammatical use, the use of the rules, and the utilization of the knowledge database to interpret the query. The query interpretation is utilized to extract the answer from the knowledge database to facilitate forming the query response.
FIGS. 8F and 8G are schematic block diagrams of another embodiment of a computing system that includes thecontent ingestion module300 ofFIG. 5E, theelement identification module302 ofFIG. 5E, theinterpretation module304 ofFIG. 5E, theIEI control module308 ofFIG. 5E, and theSS memory96 ofFIG. 2. Generally, an embodiment of this invention provides presents solutions where thecomputing system10 supports processing content to produce knowledge for storage in a knowledge database.
The processing of the content to produce the knowledge includes a series of steps. For example, a first step includes identifying words of an ingested phrase to produce tokenized words. As depicted inFIG. 8F, a specific example of the first step includes thecontent ingestion module300 comparing words ofsource content310 to dictionary entries to produce formattedcontent314 that includes identifiers of known words. Alternatively, when a comparison is unfavorable, the temporary identifier may be assigned to an unknown word. For instance, thecontent ingestion module300 produces identifiers associated with the words “the”, “black”, “bat”, “eats”, and “fruit” when the ingested phrase includes “The black bat eats fruit”, and generates the formattedcontent314 to include the identifiers of the words.
A second step of the processing of the content to produce the knowledge includes, for each tokenized word, identifying one or more identigens that correspond the tokenized word, where each identigen describes one of an object, a characteristic, and an action. As depicted inFIG. 8F, a specific example of the second step includes theelement identification module302 performing a look up of identigen identifiers, utilizing anelement list332 and in accordance withelement rules318, of the one or more identigens associated with each tokenized word of the formattedcontent314 to produce identifiedelement information340.
A unique identifier is associated with each of the potential object, the characteristic, and the action (OCA) associated with the tokenized word (e.g. sequential identigens). For instance, theelement identification module302 identifies a functional symbol for “the”, identifies a single identigen for “black”, identifies two identigens for “bat” (e.g., baseball bat and flying bat), identifies a single identigen for “eats”, and identifies a single identigen for “fruit.” When at least one tokenized word is associated with multiple identigens, two or more permutations of sequential combinations of identigens for each tokenized word result. For example, when “bat” is associated with two identigens, two permutations of sequential combinations of identigens result for the ingested phrase.
A third step of the processing of the content to produce the knowledge includes, for each permutation of sequential combinations of identigens, generating a corresponding equation package (i.e., candidate interpretation), where the equation package includes a sequential linking of pairs of identigens (e.g., relationships), where each sequential linking pairs a preceding identigen to a next identigen, and where an equation element describes a relationship between paired identigens (OCAs) such as describes, acts on, is a, belongs to, did, did to, etc. Multiple OCAs occur for a common word when the word has multiple potential meanings (e.g., a baseball bat, a flying bat).
As depicted inFIG. 8F, a specific example of the third step includes theinterpretation module304, for each permutation of identigens of each tokenized word of the identifiedelement information340, theinterpretation module304 generates, in accordance withinterpretation rules320 and agroupings list334, an equation package to include one or more of the identifiers of the tokenized words, a list of identifiers of the identigens of the equation package, a list of pairing identifiers for sequential pairs of identigens, and a quality metric associated with each sequential pair of identigens (e.g., likelihood of a proper interpretation). For instance, theinterpretation module304 produces a first equation package that includes a first identigen pairing of a black bat (e.g., flying bat with a higher quality metric level), the second pairing of bat eats (e.g., the flying bat eats, with a higher quality metric level), and a third pairing of eats fruit, and theinterpretation module304 produces a second equation package that includes a first pairing of a black bat (e.g., baseball bat, with a neutral quality metric level), the second pairing of bat eats (e.g., the baseball bat eats, with a lower quality metric level), and a third pairing of eats fruit.
A fourth step of the processing of the content to produce the knowledge includes selecting a surviving equation package associated with a most favorable confidence level. As depicted inFIG. 8F, a specific example of the fourth step includes theinterpretation module304 applying interpretation rules320 (i.e., inference, pragmatic engine, utilizing the identifiers of the identigens to match against known valid combinations of identifiers of entigens) to reduce a number of permutations of the sequential combinations of identigens to produce interpretedinformation344 that includes identification of at least one equation package as a surviving interpretation SI (e.g., higher quality metric level).
Non-surviving equation packages are eliminated that compare unfavorably to pairing rules and/or are associated with an unfavorable quality metric levels to produce a non-surviving interpretation NSI2 (e.g., lower quality metric level), where an overall quality metric level may be assigned to each equation package based on quality metric levels of each pairing, such that a higher quality metric level of an equation package indicates a higher probability of a most favorable interpretation. For instance, theinterpretation module304 eliminates the equation package that includes the second pairing indicating that the “baseball bat eats” which is inconsistent with a desired quality metric level of one or more of thegroupings list334 and the interpretation rules320 and selects the equation package associated with the “flying bat eats” which is favorably consistent with the one or more of the quality metric levels of thegroupings list334 and the interpretation rules320.
A fifth step of the processing of the content to produce the knowledge utilizing the confidence level includes integrating knowledge of the surviving equation package into a knowledge database. For example, integrating at least a portion of the reduced OCA combinations into a graphical database to produce updated knowledge. As another example, the portion of the reduced OCA combinations may be translated into rows and columns entries when utilizing a rows and columns database rather than a graphical database. When utilizing the rows and columns approach for the knowledge database, subsequent access to the knowledge database may utilize structured query language (SQL) queries.
As depicted inFIG. 8G, a specific example of the fifth step includes theIEI control module308 recoveringfact base information600 fromSS memory96 to identify a portion of the knowledge database for potential modification utilizing the OCAs of the surviving interpretation SI1 (i.e., compare a pattern of relationships between the OCAs of the survivinginterpretation SI1 from the interpretedinformation344 to relationships of OCAs of the portion of the knowledge database including potentially new quality metric levels).
The fifth step further includes determining modifications (e.g., additions, subtractions, further clarifications required when information is complex, etc.) to the portion of the knowledge database based on the new quality metric levels. For instance, theIEI control module308 causes adding the element “black” as a “describes” relationship of an existing bat OCA and adding the element “fruit” as an eats “does to” relationship to implement the modifications to the portion of thefact base information600 to produce updatedfact base information608 for storage in theSS memory96.
FIG. 8H is a logic diagram of an embodiment of a method for processing content to produce knowledge for storage within a computing system. In particular, a method is presented for use in conjunction with one or more functions and features described in conjunction withFIGS. 1-8E, 8F, and alsoFIG. 8G. The method includesstep650 where a processing module of one or more processing modules of one or more computing devices of the computing system identifies words of an ingested phrase to produce tokenized words. The identified includes comparing words to known words of dictionary entries to produce identifiers of known words.
For each tokenized word, the method continues atstep651 where the processing module identifies one or more identigens that corresponds to the tokenized word, where each identigen describes one of an object, a characteristic, and an action (e.g., OCA). The identifying includes performing a lookup of identifiers of the one or more identigens associated with each tokenized word, where the different identifiers associated with each of the potential object, the characteristic, and the action associated with the tokenized word.
The method continues atstep652 where the processing module, for each permutation of sequential combinations of identigens, generates a plurality of equation elements to form a corresponding equation package, where each equation element describes a relationship between sequentially linked pairs of identigens, where each sequential linking pairs a preceding identigen to a next identigen. For example, for each permutation of identigens of each tokenized word, the processing module generates the equation package to include a plurality of equation elements, where each equation element describes the relationship (e.g., describes, acts on, is a, belongs to, did, did too, etc.) between sequentially adjacent identigens of a plurality of sequential combinations of identigens. Each equation element may be further associated with a quality metric to evaluate a favorability level of an interpretation in light of the sequence of identigens of the equation package.
The method continues atstep653 where the processing module selects a surviving equation package associated with most favorable interpretation. For example, the processing module applies rules (i.e., inference, pragmatic engine, utilizing the identifiers of the identigens to match against known valid combinations of identifiers of entigens), to reduce the number of permutations of the sequential combinations of identigens to identify at least one equation package, where non-surviving equation packages are eliminated the compare unfavorably to pairing rules and/or are associated with an unfavorable quality metric levels to produce a non-surviving interpretation, where an overall quality metric level is assigned to each equation package based on quality metric levels of each pairing, such that a higher quality metric level indicates an equation package with a higher probability of favorability of correctness.
The method continues atstep654 where the processing module integrates knowledge of the surviving equation package into a knowledge database. For example, the processing module integrates at least a portion of the reduced OCA combinations into a graphical database to produce updated knowledge. The integrating may include recovering fact base information from storage of the knowledge database to identify a portion of the knowledge database for potential modifications utilizing the OCAs of the surviving equation package (i.e., compare a pattern of relationships between the OCAs of the surviving equation package to relationships of the OCAs of the portion of the knowledge database including potentially new quality metric levels). The integrating further includes determining modifications (e.g., additions, subtractions, further clarifications required when complex information is presented, etc.) to produce the updated knowledge database that is based on fit of acceptable quality metric levels, and implementing the modifications to the portion of the fact base information to produce the updated fact base information for storage in the portion of the knowledge database.
The method described above in conjunction with the processing module can alternatively be performed by other modules of thecomputing system10 ofFIG. 1 or by other devices. In addition, at least one memory section (e.g., a computer readable memory, a non-transitory computer readable storage medium, a non-transitory computer readable memory organized into a first memory element, a second memory element, a third memory element, a fourth element section, a fifth memory element etc.) that stores operational instructions can, when executed by one or more processing modules of one or more computing devices (e.g., one or more servers, one or more user devices) of thecomputing system10, cause the one or more computing devices to perform any or all of the method steps described above.
FIGS. 8J and 8K are schematic block diagrams of another embodiment of a computing system that includes thecontent ingestion module300 ofFIG. 5E, theelement identification module302 ofFIG. 5E, theinterpretation module304 ofFIG. 5E, theanswer resolution module306 ofFIG. 5E, and theSS memory96 ofFIG. 2. Generally, an embodiment of this invention provides solutions where thecomputing system10 supports for generating a query response to a query utilizing a knowledge database.
The generating of the query response to the query includes a series of steps. For example, a first step includes identifying words of an ingested query to produce tokenized words. As depicted inFIG. 8J, a specific example of the first step includes thecontent ingestion module300 comparing words ofquery info138 to dictionary entries to produce formattedcontent314 that includes identifiers of known words. For instance, thecontent ingestion module300 produces identifiers for each word of the query “what black animal flies and eats fruit and insects?”
A second step of the generating of the query response to the query includes, for each tokenized word, identifying one or more identigens that correspond the tokenized word, where each identigen describes one of an object, a characteristic, and an action (OCA). As depicted inFIG. 8J, a specific example of the second step includes theelement identification module302 performing a look up of identifiers, utilizing anelement list332 and in accordance withelement rules318, of the one or more identigens associated with each tokenized word of the formattedcontent314 to produce identifiedelement information340. A unique identifier is associated with each of the potential object, the characteristic, and the action associated with a particular tokenized word. For instance, theelement identification module302 produces a single identigen identifier for each of the black color, an animal, flies, eats, fruit, and insects.
A third step of the generating of the query response to the query includes, for each permutation of sequential combinations of identigens, generating a corresponding equation package (i.e., candidate interpretation). The equation package includes a sequential linking of pairs of identigens, where each sequential linking pairs a preceding identigen to a next identigen. An equation element describes a relationship between paired identigens (OCAs) such as describes, acts on, is a, belongs to, did, did to, etc.
As depicted inFIG. 8J, a specific example of the third step includes theinterpretation module304, for each permutation of identigens of each tokenized word of the identifiedelement information340, generating the equation packages in accordance withinterpretation rules320 and agroupings list334 to produce a series of equation elements that include pairings of identigens. For instance, theinterpretation module304 generates a first pairing to describe a black animal, a second pairing to describe an animal that flies, a third pairing to describe flies and eats, a fourth pairing to describe eats fruit, and a fifth pairing to describe eats fruit and insects.
A fourth step of the generating the query response to the query includes selecting a surviving equation package associated with a most favorable interpretation. As depicted in FIG.8J, a specific example of the fourth step includes theinterpretation module304 applying the interpretation rules320 (i.e., inference, pragmatic engine, utilizing the identifiers of the identigens to match against known valid combinations of identifiers of entigens) to reduce the number of permutations of the sequential combinations of identigens to produce interpretedinformation344. The interpretedinformation344 includes identification of at least one equation package as a survivinginterpretation SI10, where non-surviving equation packages, if any, are eliminated that compare unfavorably to pairing rules to produce a non-surviving interpretation.
A fifth step of the generating the query response to the query includes utilizing a knowledge database, generating a query response to the surviving equation package of the query, where the surviving equation package of the query is transformed to produce query knowledge for comparison to a portion of the knowledge database. An answer is extracted from the portion of the knowledge database to produce the query response.
As depicted inFIG. 8K, a specific example of the fifth step includes theanswer resolution module306 interpreting the survivinginterpretation SI10 of the interpretedinformation344 in accordance withanswer rules322 to produce query knowledge QK10 (i.e., a graphical representation of knowledge when the knowledge database utilizes a graphical database). For example, theanswer resolution module306 accessesfact base information600 from theSS memory96 to identify the portion of the knowledge database associated with a favorable comparison of the query knowledge QK10 (e.g., by comparing attributes of thequery knowledge QK10 to attributes of the fact base information600), and generatespreliminary answers354 that includes the answer to the query. For instance, the answer is “bat” when the associated OCAs of bat, such as black, eats fruit, eats insects, is an animal, and flies, aligns with OCAs of the query knowledge.
FIG. 8L is a logic diagram of an embodiment of a method for generating a query response to a query utilizing knowledge within a knowledge database within a computing system. In particular, a method is presented for use in conjunction with one or more functions and features described in conjunction withFIGS. 1-8D, 8J, and alsoFIG. 8K. The method includesstep655 where a processing module of one or more processing modules of one or more computing devices of the computing system identifies words of an ingested query to produce tokenized words. For example, the processing module compares words to known words of dictionary entries to produce identifiers of known words.
For each tokenized word, the method continues atstep656 where the processing module identifies one or more identigens that correspond to the tokenized word, where each identigen describes one of an object, a characteristic, and an action. For example, the processing module performs a lookup of identifiers of the one or more identigens associated with each tokenized word, where different identifiers associated with each permutation of a potential object, characteristic, and action associated with the tokenized word.
For each permutation of sequential combinations of identigens, the method continues atstep657 where the processing module generates a plurality of equation elements to form a corresponding equation package, where each equation element describes a relationship between sequentially linked pairs of identigens. Each sequential linking pairs a preceding identigen to a next identigen. For example, for each permutation of identigens of each tokenized word, the processing module includes all other permutations of all other tokenized words to generate the equation packages. Each equation package includes a plurality of equation elements describing the relationships between sequentially adjacent identigens of a plurality of sequential combinations of identigens.
The method continues atstep658 where the processing module selects a surviving equation package associated with a most favorable interpretation. For example, the processing module applies rules (i.e., inference, pragmatic engine, utilizing the identifiers of the identigens to match against known valid combinations of identifiers of entigens) to reduce the number of permutations of the sequential combinations of identigens to identify at least one equation package. Non-surviving equation packages are eliminated the compare unfavorably to pairing rules.
The method continues atstep659 where the processing module generates a query response to the surviving equation package, where the surviving equation package is transformed to produce query knowledge for locating the portion of a knowledge database that includes an answer to the query. As an example of generating the query response, the processing module interprets the surviving the equation package in accordance with answer rules to produce the query knowledge (e.g., a graphical representation of knowledge when the knowledge database utilizes a graphical database format).
The processing module accesses fact base information from the knowledge database to identify the portion of the knowledge database associated with a favorable comparison of the query knowledge (e.g., favorable comparison of attributes of the query knowledge to the portion of the knowledge database, aligning favorably comparing entigens without conflicting entigens). The processing module extracts an answer from the portion of the knowledge database to produce the query response.
The method described above in conjunction with the processing module can alternatively be performed by other modules of thecomputing system10 ofFIG. 1 or by other devices. In addition, at least one memory section (e.g., a computer readable memory, a non-transitory computer readable storage medium, a non-transitory computer readable memory organized into a first memory element, a second memory element, a third memory element, a fourth element section, a fifth memory element etc.) that stores operational instructions can, when executed by one or more processing modules of one or more computing devices (e.g., one or more servers, one or more user devices) of thecomputing system10, cause the one or more computing devices to perform any or all of the method steps described above.
FIGS. 9A, 9B, and 9C are schematic block diagrams of another embodiment of a computing system illustrating an embodiment of a method for generating a query response within the computing system. The computing system includes thecontent ingestion module300 ofFIG. 5E, theelement identification module302 ofFIG. 5E, theinterpretation module304 ofFIG. 5E, theanswer resolution module306 ofFIG. 5E, and aknowledge database700. Theknowledge database700 may be implemented utilizing one or more of the memories ofFIG. 2.
FIG. 9A illustrates an example of operation of the method for generating the query response where thecontent ingestion module300 parses a string of words of aquery702 to producequery words704. For example, thecontent ingestion module300 produces thequery words704 to include the words who, unhappy, Bob, and departed when thequery702 includes “who was unhappy that Bob departed?”
Theelement identification module302 identifies a first set of sentiment identigens of a plurality of sets of identigens for thequery702 that includes the string of words. The first set of sentiment identigens represents different meanings of a first sentiment word of the string of words. Sentiment identigens provide digital representations of a human reaction. For example, the first sentiment word includes unhappy as a human reaction to Bob departing.
The identifying the first set of sentiment identigens of the plurality of sets of identigens for thequery702 includes a series of steps. A first step includes retrieving, for each query word, a corresponding set of identigens from theknowledge database700 to produce the plurality of sets ofidentigens708. For instance, theelement identification module302 accesses theknowledge database700 to retrieveidentigen information706 that includes anidentigen set #1 that includes anidentigen number1 for person, and anidentigen number2 for people for the query word who.
A second step includes identifying the first sentiment word of the string of words utilizing theknowledge database700. For instance, theelement identification module302 interprets furtheridentigen information706 to identify the first sentiment word as unhappy. A third step includes identifying the first set of sentiment identigens of the plurality of sets of identigens based on the first sentiment word. For instance, theelement identification module302 identifies sentiment identigen setnumber #2 that includes anidentigen number4 for unfortunate, anidentigen number5 for dissatisfied, and anidentigen number6 for sad for the first sentiment word unhappy.
Theelement identification module302 further accesses theknowledge database700 utilizingfurther query words704 to produce remaining sets of identigens of the plurality of sets of identigens. For example, theelement identification module300 and to generates anidentigen set #3 to include anidentigen number7 for the query word Bob and generates anidentigen set #4 to include anidentigen number10 for left and anidentigen number11 for deviated for the query word departed.
In an embodiment, theelement identification module302 outputs the plurality of sets of identigens as sets ofidentigens708. The sets ofidentigens708 further includes permutations of each identigen of each set of identigens with adjacent identigens of adjacent identigens sets. For example, a first permutation includes Bob left while a second permutation includes Bob deviated, etc. In another embodiment, theinterpretation module304 arranges the sets ofidentigens708 into the permutations.
FIG. 9B further illustrates the example of operation of the method for generating the query response where theinterpretation module304 identifies an alternative set of sentiment identigens for an entigen of an immature entigen group. For example, theinterpretation module304 interpretsentigen information710 and furtheridentigen information706 retrieved from theknowledge database700 to determine that the entigen cried or cry of entigen groups712-1 and712-2 (e.g., immature when prior to assigning the sad and joy entigens) is associated with a word of an alternative set ofsentiment identigens714. For instance, the alternative set ofsentiment identigens714 includes different meanings of cry including anidentigen number21 for joy, anidentigen number22 for pain, and anidentigen number64 sad.
Having identified the alternative set ofsentiment identigens714, theinterpretation module304 selects one sentiment identigen of the alternative set of sentiment identigens to produce the first sentiment entigen. The selecting is based on the entigens and/or further related entigens to deduce selection of an appropriate sentiment identigen. For instance, theinterpretation module304 selects thesentiment identigen number6 for sad when Mary is a lover of Bob and Bob departed. In another instance, theinterpretation module304 selects thesentiment identigen number21 for joy when Linda is unfriendly with Bob and Bob departed.
Having selected the one sentiment identigen, theinterpretation module304 links the first sentiment entigen with the immature entigen group to produce the entigen group. For example, theinterpretation module304 facilitates updating theknowledge database700 such that the entigen group712-1 includes theentigen number6 for sad by linking it to the entigen for Mary. As another example, theinterpretation module304 facilitates the updating of theknowledge database700 such that the entigen group712-2 includes theentigen number21 for joy by linking it to the entigen for Linda.
Having matured the entigen groups of theknowledge database700 to include entigens, theinterpretation module304 selects an entigen group from theknowledge database700 based on the plurality of sets ofidentigens708. A first sentiment entigen of the entigen group corresponds to the first set of sentiment identigens. As a first step of the selecting, theinterpretation module304 interprets furtherentigen information710 to initiate a search of theknowledge database700 utilizing a plurality of identigen permutations to access one or more candidate entigen groups. A first identigen permutation of the plurality of identigen permutations includes a unique combination of one identigen of each set of identigens of the plurality of sets of identigens.
A favorable number of identigens of the first permutation of identigens compares favorably to entigens of a first candidate entigen group of the one or more candidate entigen groups. For example, theinterpretation module304 matches the sad entigen of the entigen group712-1 to the sad identigen of the fourth identigen set of the sets ofidentigens708. As another example, theinterpretation module304 matches the favorable number of identigens for Bob, left, and sad to the entigens for Bob, left, and sad of the entigen group712-1. The favorable number includes various scenarios including more than others and above a minimum threshold. For instance theinterpretation module304 matches the permutations of identigens to more of the entigens of the entigen group712-1 as compared to the entigen group712-2.
Theinterpretation module304 selects the first candidate entigen group as the entigen group when a first entigen of the first candidate entigen group corresponds to the first set of sentiment identigens. For example, theinterpretation module304 selects entigen group712-1 as the entigen group when the sad entigen corresponds to the sentiment identigen set #2 (e.g., that includes the identigen for sad).
FIG. 9C further illustrates the example of operation of the method for generating the query response where theinterpretation module304 outputs identigenpermutations716 that includes the plurality of sets of identigens and identifies the entigen group (e.g., entigen group712-1). Theanswer resolution module306 generates aresponse entigen group718 based on the entigen group712-1 recovered fromentigen information710 retrieved from theknowledge database700.
A response entigen of theresponse entigen group718 corresponds to a selected identigen from a set of identigens of the plurality of sets of identigens regarding a word of the string of words. The corresponding includes an exact identigen match and by association.
When the correspondence is the exact match, theanswer resolution module306 selects the response entigen from the entigen group when the response entigen matches the selected identigen from the set of identigens of the plurality of sets of identigens. For example, theanswer resolution module306 selects entigens for Bob, left, and sad as they exactly match identigens of the plurality of sets of identigens.
When the correspondence is by association, the answer resolution module selects the response entigen from the entigen group when the response entigen links to at least the selected identigen from the set of identigens of the plurality of sets of identigens. For example, theanswer resolution module306 selects the entigen for Mary when that entigen links to the left entigen, the sad entigen, and the person entigen all of which have corresponding identigens of the plurality of sets of identigens.
Having selected response entigens, theanswer resolution module306 aggregates the selected response entigens to produce theresponse entigen group718. For example, theanswer resolution module306 aggregates the entigens for Bob, left, Mary, and sad to produce theresponse entigen group718.
Having produced theresponse entigen group718, in an embodiment, theanswer resolution module306 generates a query response utilizing theresponse entigen group718. The generating includes determining a word for each response entigen of theresponse entigen group718 to form a response sentence as the query response. For example, theanswer resolution module306 utilizes one or more of thequery702, the entigen group712-1, theresponse entigen group718, and dictionary information (e.g., linking words to entigens) of theknowledge database700 to produce the response sentence to include “Mary was unhappy that Bob departed.”
Having generated the query response, in an embodiment, theanswer resolution module306 outputs the query response. For example, theanswer resolution module306 outputs at least one of theresponse entigen group718 and the query response to a requesting entity. As another example, theanswer resolution module306 facilitates storage of theresponse entigen group718 in theknowledge database700.
The method described above can alternatively be performed by other modules of thecomputing system10 ofFIG. 1 or by other devices. In addition, at least one memory section (e.g., a computer readable memory, a non-transitory computer readable storage medium, a non-transitory computer readable memory organized into a first memory element, a second memory element, a third memory element, a fourth element section, a fifth memory element etc.) that stores operational instructions can, when executed by one or more processing modules of one or more computing devices (e.g., one or more servers, one or more user devices) of thecomputing system10, cause the one or more computing devices to perform any or all of the method steps described above.
FIG. 10A is a schematic block diagram of another embodiment of a computing system that includessecure content sources750, the AI server20-1 ofFIG. 1, and the user device12-1 ofFIG. 1. Thesecure content sources750 includes the content sources16-1 through16-N ofFIG. 1. The AI server20-1 includes the processing module50-1 ofFIG. 2 and theSS memory96 ofFIG. 2. The processing module50-1 includes theIEI module122 ofFIG. 4A. The user device12-1 includes the processing module50-1 ofFIG. 3. The processing module50-1 includes theIEI module122 ofFIG. 4A and theSS memory96 ofFIG. 2. Generally, an embodiment of this invention presents solutions where the computing system functions to securely store a portion of a knowledge database.
In an example of operation of the secure storing of the portion of the knowledge database, the user device12-1 obtains a portion (e.g., a portion that describes a predetermined topic, by domain, a randomly selected portion, etc.) of the knowledge database, where the knowledge database represents a plurality of entigens and relationships between the entigens, where the relationships includes identification of entigen linkages (e.g., acts on, is a, belongs to, did to, did too, etc.).
As an example of the obtaining, theIEI module122 of the AI server20-1 ingests data fromsecure content responses754 received from thesecure content sources750 in response to securecontent request752. The data is IEI processed to produce incremental knowledge for storage asfact base information600 and theSS memory96. The user device12-1 issues asecure knowledge request756 to the AI server20-1 to generate asecure knowledge response758, where the processing module50-1 extracts the portion of the knowledge database from thesecure knowledge response758.
The processing module50-1 of theuser device12 of the1 generates a security transformation enabler (e.g., encryption key, a hash value, a nonce, etc.) based on the portion of the received knowledge database utilizing a security transformation enabler generation approach. The generation approaches include performing a lookup to produce an intermediate value, IEI processing a predetermined query to generate a query response as the intermediate value utilizing the portion of the received knowledge database, and hashing the intermediate value with a fixed value associated with the computing device, i.e., a serial number, a user entered code, etc.
Having generated the security transformation enabler, the processing module50-1 of the user device12-1 obfuscates the portion of the knowledge database utilizing a security transformation based on the security transformation enabler to produce an obfuscated portion of the knowledge database (e.g., secure fact base information800). The obfuscation is performed on one or more aspects of the portion of the knowledge database including entigens, linkages between entigens, and by domain. For instance, the processing module50-1 encrypts a first sub-portion of the knowledge database utilizing a first encryption key generated from hashing a query response to a predetermined query associated with a second sub-portion of the knowledge database.
When subsequently accessing the securefact base information800 from theSS memory96 of the user device12-1, the processing module50-1 to the user device12-1 regenerates the security transformation enabler to facilitate de-obfuscation of the secured portion of the knowledge database and applies the security transformation enabler to the obfuscated portion of the knowledge database to reproduce the portion of the knowledge database. The regenerating and de-obfuscating may be accomplished in a single step or in multiple steps. An example of utilizing multiple steps is discussed in greater detail with reference toFIG. 10B.
FIG. 10B is a data flow diagram of an embodiment for securely storing a portion of a knowledge database within a computing system. In the example, when securing the portion of the knowledge database, the portion is subdivided into three sub-portions. Apredetermined query2 is IEI processed utilizing the second sub-portion to produce aquery response2 that includes an encryption key. The first sub-portion is encrypted utilizing the encryption key to produce a first obfuscated sub-portion for storage. Anotherpredetermined query3 is IEI processed utilizing the third sub-portion to produce aquery response3 that includes another encryption key. The second sub-portion is encrypted utilizing the other encryption key to produce a second obfuscated sub-portion for storage. Alternatively, any number of some portions may be produced for encryption in a similar manner.
In an example, when accessing the secure portion of the knowledge database, and when an answer is not available from the third sub-portion, thequery3 is IEI processed utilizing the third sub-portion to produce thequery3 response that includes the other encryption key. The second obfuscated sub-portion is decrypted utilizing the other encryption key to reproduce the second sub-portion. When the answer is not available from the second sub-portion, thequery2 is IEI processed utilizing the reproduced second sub-portion to reproduce thequery3 response that includes the encryption key. The first obfuscated sub-portion is decrypted utilizing the encryption key to reproduce the first portion. Alternatively, or in addition to, the three portions are re-aggregated to reproduce the portion of the knowledge database for full accessing of knowledge stored therein.
FIG. 10C is a logic diagram of an embodiment of a method for securely storing a portion of a knowledge database within a computing system. In particular, a method is presented for use in conjunction with one or more functions and features described in conjunction withFIGS. 1-8L, and alsoFIGS. 10A-10B. The method includesstep780 where a processing module of one or more processing modules of one or more computing devices of the computing system obtains a portion of a knowledge database, where the knowledge database represents a plurality of entigens and relationships between entigens. The obtaining includes identifying the portion based on one or more of a domain, a topic, a request, a theme, etc. The obtaining includes facilitation of transfer of the portion from a knowledge database to a remote computing device.
The method continues atstep782 where the processing module generates a security transformation enabler based on the portion of the knowledge database. For example, the processing module determines a query (e.g., predetermined list, extract, generate based on an algorithm) and associated sub-portion (e.g., an ordering list), generates a query response using the associated sub-portion, and hashes the query response to generate an encryption key.
The method continues atstep784 where the processing module obfuscates at least some of the portion of the knowledge database utilizing the security transformation enabler to produce an obfuscated portion of the knowledge database. For example, the processing module encrypts the sub-portion using the encryption key to produce the obfuscated sub-portion. The processing module repeats the process for further sub-portions.
When subsequently accessing the portion of the knowledge database, the method continues atstep786 where the processing module regenerates the security transformation enabler to facilitate de-obfuscation of one or more sub-portions of the obfuscated portion of the knowledge database. For example, the processing module re-determines the query, regenerates the query response using the associated sub-portion (e.g., not encrypted), hashes the query response to regenerate the encryption key, decrypts the encrypted sub-portion utilizing the regenerated encryption key, and repeats the process until finding the portion that supports a query associated with the accessing.
The method described above in conjunction with the processing module can alternatively be performed by other modules of thecomputing system10 ofFIG. 1 or by other devices. In addition, at least one memory section (e.g., a computer readable memory, a non-transitory computer readable storage medium, a non-transitory computer readable memory organized into a first memory element, a second memory element, a third memory element, a fourth element section, a fifth memory element etc.) that stores operational instructions can, when executed by one or more processing modules of one or more computing devices (e.g., one or more servers, one or more user devices) of thecomputing system10, cause the one or more computing devices to perform any or all of the method steps described above.
FIG. 11A is a schematic block diagram of another embodiment of a computing system that includes layeredcontent sources800, the AI server20-1 ofFIG. 1, and the user device12-1 ofFIG. 1. Thelayered content sources800 includes the content sources16-1 through16-N ofFIG. 1. The AI server20-1 includes the processing module50-1 ofFIG. 2 and theSS memory96 ofFIG. 2. The processing module50-1 includes theIEI module122 ofFIG. 4A. Generally, an embodiment of this invention presents solutions where the computing system functions to search a knowledge database.
In an example of operation of the searching of the knowledge database, when integrating new incremental knowledge into the knowledge database (e.g., asfact base information600 stored in the SS memory96), theIEI module122 assigns a detailed level to associated newly added entigens, where the knowledge database is expressed as a plurality of entigens and a plurality of relationships between the entigens, and where the relationships include identifiers of the entigens and descriptions of the relationships between the entigens (e.g., acts on, is a, belongs to, did, did too, etc.). The detail level includes multiple aspects such as a broad view to a micro view, a person view to a place view to a thing view, etc. The detail level can be by topic or by granularity to assist in subsequent searching of knowledge in the knowledge database.
The signing of the detail level includes determining the detail level based on one or more of previously assigned detail levels, the detail level assignment approach, an explicit level associated with the new incremental knowledge (i.e., part of a request). For example, a person's name is associated with an entigen at a broad-view level, a place associated with the person is associated with an entigen at a middle-level view, and a thing at the place is associated with an entigen at a micro-level view.
In an instance, theIEI module122 issues layeredcontent request802 to the layeredcontent sources800 and receives layeredcontent responses804 in response, where the layeredcontent responses804 includes content that is IEI processed to produce the new incremental knowledge. TheIEI module122 assigns the detail level to the new incremental knowledge and stores the detail level and the new incremental knowledge asfact base information600 in theSS memory96.
When subsequently utilizing the knowledge database to generate a query response, theIEI module122 determines appropriate detail level for generation of the query response. The appropriate detail level may be based on one or more of an explicit request, a historical level to produce desired results, and an interpretation of the query. For example, theIEI module122 receives aquery request136 from the user device12-1, and determines the appropriate detail level as a mid-level when the query pertains to places associated with people and places are generally assigned to mid-level detail.
Having produced the appropriate detail level for the query response, theIEI module122 generates the query response by accessing entigens associated with each other and the detail level for the query response. For example, theIEI module122 accessesfact base information600 from theSS memory96 that includes entigens associated with the appropriate detail level of the query response and associated with thequery request136. Having accessed the entigens, theIEI module122 utilizes logic to interpret the recovered entigens based on a query entigen group developed from thequery request136 to identify one or more entigens that fill in the answer for the query response. The method may further include processing related for the query to explore the query response by shifting the detail level, for example, drilling down to a deeper detail level such as to include things that places of the query.
FIGS. 11B-11C are data flow diagrams of embodiments for searching a knowledge database within a computing system, where appropriate detail levels have been established.FIG. 11B illustrates an example where alevel 0 is associated with people, alevel 1 is associated places, and alevel 2 is associated with things. A black dot represents an entigen, a straight line represents a connector between entigens of an entigen group, and curved lines represent level connectors between entigen clusters at different levels. The connectors represent relationships between objects, actions, and characteristics such as describes, acts on, is a, belongs to, did, did too, etc. The level connectors represent relationships similar to the connectors and in addition represent general associations between entigen groups.
Within each level, one or more entigen groups (e.g., clusters of connected meaning entigens with connectors between them) describe knowledge associated with that level. For example, an entigen group atlevel 0 describes one or more people. For instance, an entigen group atlevel 0 represents a group of friends, a level connector from the entigen group atlevel 0 to another entigen group atlevel 1 represents places associated with the group of friends, and another level connector from the entigen group atlevel 1 to yet another entigen group atlevel 2 represents things associated with the places. A specific example is discussed in greater detail with reference toFIG. 11C.
FIG. 11C illustrates the example for the group of friends where the entigen group atlevel 0 identifies Bob, Mary, Joe, and Beth as the friends. The places atlevel 1 identify places associated with these friends and in particular states that have been visited or states that have been traversed for vacation. The things that level 2 identify things associated with those states, and in particular forms of transportation and forms of housing.
The straight lines identify relationships between entigens and a common level and the curved lines identify the level connectors between the levels. For instance, Bob has visited Illinois where she utilized a bicycle for transportation and utilized the apartment for housing. In another instance, Joe visited Iowa and Wisconsin and vacationed in Washington. While in Washington, Joe stayed in a home and used a bicycle for transportation. While in Wisconsin, Joe utilized a bicycle for transportation and stayed in a home.
When utilizing the overall level connector structure and assignment of levels to respond to a query, the connectors between entigens and the level connectors between entigen groups at different levels may be utilized to quickly search for entigens to provide knowledge to generate the query response. As an example, a query is processed that includes a question: “Of the friends Bob, Beth, Joe, and someone else, which person has been in both Washington and Wisconsin where a home was used for domicile and a bicycle for transportation?”
Traversing the structure from the top, only Joe has been in both Wisconsin and Washington and utilized a home and bicycle while in both. The query response is generated to provide an answer: “of the friends Bob, Beth, Joe, and Mary, Joe is the only one who has been in both Washington and Wisconsin and utilized a home for domicile and utilized a bicycle for transportation.”
FIG. 11D is a logic diagram of an embodiment of a method for searching a knowledge database within a computing system. In particular, a method is presented for use in conjunction with one or more functions and features described in conjunction withFIGS. 1-8L, and alsoFIGS. 11A-11C. The method includesstep830 where a processing module of one or more processing modules of one or more computing devices of the computing system, when integrating new incremental knowledge into a knowledge database, assigns a detail level, where the knowledge database represents a plurality of entigens and relationships between the entigens. The assigning includes determining the detail level based on one or more of previously signed detail levels, a detail level assignment approach, an explicit level associated with the new incremental knowledge, etc.
The method continues atstep832 where the processing module, in response to a query, determines a search detail level to facilitate searching the knowledge database for one or more entigen groups that align with the search detail level and provide required knowledge for a query response. The determining may be based on one or more of an explicit request, a historical level to produce desired results, and on interpretation of the query.
The method continues atstep834 with a processing module generates the query response based on the one or more entigen groups. For example, the processing module identifies an aspect of one or more of the entigen groups that completes the query response (i.e., an answer via induction, deduction, or inference).
When the query response is unfavorable, the method continues atstep834 where the processing module updates the search detail level to facilitate further searching of the knowledge database for the one or more entigen groups. For example, the processing module determines to traverse to another detail level. As another example, the processing module determines to traverse28 wider scope of entigen groups at a current detail level. As yet another example, the processing module determines to search between levels utilizing linkages, i.e., level connector, between entigen groups.
The method described above in conjunction with the processing module can alternatively be performed by other modules of thecomputing system10 ofFIG. 1 or by other devices. In addition, at least one memory section (e.g., a computer readable memory, a non-transitory computer readable storage medium, a non-transitory computer readable memory organized into a first memory element, a second memory element, a third memory element, a fourth element section, a fifth memory element etc.) that stores operational instructions can, when executed by one or more processing modules of one or more computing devices (e.g., one or more servers, one or more user devices) of thecomputing system10, cause the one or more computing devices to perform any or all of the method steps described above.
FIG. 12A is a schematic block diagram of another embodiment of a computing system that includes analysis content sources850, the AI server20-1 ofFIG. 1, and the user device12-1 ofFIG. 1. The analysis content sources850 includes the content sources16-1 through16-N ofFIG. 1. The AI server20-1 includes the processing module50-1 ofFIG. 2 and theSS memory96 ofFIG. 2. The processing module50-1 includes theIEI module122 ofFIG. 4A. Generally, an embodiment of this invention presents solutions where the computing system functions to modify a representation of knowledge.
In an example of operation of the modifying of the representation of the knowledge, theIEI module122 IEI processes subject content to produce subject knowledge. The subject content includes at least one of content extracted from one or moreanalysis content responses856 in response to issuinganalysis content request854 to the analysis content sources850 and content extracted from acontent analysis request852 received from the user device12-1. For example, for each word of a phrase of the subject content, a set of identigens are identified, rules are applied (i.e., identigen pairing rules, valid groups of identigen rules, etc.) to eliminate combinations of identigens for each of the words, and one identigen per set of identigens is selected to produce an entigen group as at least a portion of the subject knowledge.
Having produced the subject knowledge, theID module122 compares the subject knowledge to guidance knowledge. The guidance knowledge includes one or more of unacceptable behaviors, improper disclosure, misrepresentations, unacceptable descriptions, etc. The guidance knowledge may be represented as a plurality of guidance knowledge entigen groups. The comparing includes obtaining the guidance knowledge from thefact base information600 stored in theSS memory96 based on attributes of the subject knowledge. For instance, factual history guidance knowledge is accessed when the subject knowledge is associated with what may be hard facts. As another instance, descriptors and representations guidance knowledge is accessed when the subject knowledge is associated with subjective descriptions. As yet another instance, behaviors guidance knowledge is accessed when the subject knowledge is associated with describing human behavior.
Having performed the comparison, theIEI module122, when the analysis comparison is unfavorable, indicates that the subject content is unacceptable. For example, theIEI module122 indicates that the subject content is unacceptable when usage of undesired attributes is detected at an unfavorable level. For instance, too many points are not factual. As another instance, too many derogatory representations. As yet another instance, too many unacceptable behaviors are part of the subject knowledge.
When unacceptable, theIEI module122 modifies the subject knowledge to produce modified subject knowledge that compares favorably to the guidance knowledge, where the modified subject knowledge may be utilized to generate modified subject content (e.g., word changes, content strikes, additional verified facts, etc.). The modifying includes eliminating one or more of unacceptable behaviors, improper disclosure, misrepresentations, and unacceptable descriptions. The modifying further includes injecting related facts and utilizing appropriate descriptions.
TheIEI module122 issues acontent analysis response858 to the user device12-1 in response to thecontent analysis request852, when thecontent analysis request852 includes a second content. Thecontent analysis response858 includes the modified subject content.
FIG. 12B is a data flow diagram of an embodiment for modifying a representation of knowledge within a computing system wheresubject content870 is transformed intosubject knowledge872. In an example, the subject content includes a sentence: “Bob is one of those north-of-the tracks people and yet volunteers to help the local bums.” Thesubject knowledge872 includes an entigen group representing the subject content (i.e., including entigens and linkages between the entigens representing the true meaning of the subject content.
Guidance knowledge874 is selected based on thesubject knowledge872. Theguidance knowledge874 includes a plurality of entigen groups representing knowledge that is desirable and undesirable by topic area. The topic areas includefactual history876, descriptions &representations878, andbehaviors880.
Having selected theguidance knowledge874, thesubject knowledge872 is transformed into modifiedsubject knowledge882 utilizing theguidance knowledge874. For example, some entigens of thesubject knowledge872 are eliminated while other entigens are added to produce the modifiedsubject knowledge882 in accordance with theguidance knowledge874.
The modifiedsubject knowledge882 is utilized to generate modifiedsubject content884, where the modifiedsubject content884 includes one or more phrases built on the subject content but aligned with the guidance knowledge to include favorable ways to describe something and to exclude unfavorable ways to describe something. For example, the modifiedsubject content884 is generated to include a modified sentence: “Bob lives in an affluent neighborhood today after growing up in an economically distressed neighborhood. Understanding the challenges of being poor, Bob gives back by volunteering his time to help the needy.”
In this example, thefactual history876 reveals that Bob grew up in the economically distressed neighborhood. The descriptors andrepresentations878 provided guidance to eliminate the north of the tracks comment and replace it with the affluent neighborhood as well as connecting the fact of growing up in the economically distressed neighborhood giving him the understanding of the challenges of being poor. The descriptors andrepresentations878 further provides guidance to substitute local bums with the needy. Thebehaviors880 reveals that reciprocation is a positive attribute such that Bob gives back to volunteer rather than just volunteers (i.e., not out of guilt).
FIG. 12C is a logic diagram of an embodiment of a method for modifying a representation of knowledge within a computing system. In particular, a method is presented for use in conjunction with one or more functions and features described in conjunction withFIGS. 1-8L, and alsoFIGS. 12A-12B. The method includesstep900 where a processing module of one or more processing modules of one or more computing devices of the computing system IEI processes subject content to produce subject knowledge. The IEI processing includes identifying permutations of identigens for words of the subject content and selecting identigens based on rules and the knowledge database to produce an entigen group as the subject knowledge.
The method continues atstep902 where the processing module compares the subject knowledge to guidance knowledge to produce an analysis comparison. For example, the processing module accesses the knowledge database to identify one or more entigen groups of guidance knowledge that is associated with the subject knowledge and performs the comparison to produce the analysis comparison.
When the analysis comparison is unfavorable, the method continues atstep904 where the processing module indicates that the subject content is acceptable. For example, the processing module determines that too many attributes of the analysis comparison our unfavorable (e.g., via a weighting method by topic of the guidance knowledge, etc.). The processing module indicates the unacceptable level.
When the subject content is unacceptable, the method continues atstep906 where the processing module modifies the subject knowledge to produce a modified subject knowledge that compares favorably to the guidance knowledge. The modifying includes one or more of changing, editing, replacing, adding additional approved knowledge to produce an updated favorable comparison.
The method continues atstep908 where the processing module generates modified subject content based on the modified subject knowledge and the subject content. For example, the processing module selects identigens with comparable meanings to entigens of the modified subject knowledge and maps the selected identigens to words of the subject content.
The method described above in conjunction with the processing module can alternatively be performed by other modules of thecomputing system10 ofFIG. 1 or by other devices. In addition, at least one memory section (e.g., a computer readable memory, a non-transitory computer readable storage medium, a non-transitory computer readable memory organized into a first memory element, a second memory element, a third memory element, a fourth element section, a fifth memory element etc.) that stores operational instructions can, when executed by one or more processing modules of one or more computing devices (e.g., one or more servers, one or more user devices) of thecomputing system10, cause the one or more computing devices to perform any or all of the method steps described above.
FIG. 13A is a schematic block diagram of another embodiment of a computing system that includes characteristicrich content sources930, the AI server20-1 ofFIG. 1, and the user device12-1 ofFIG. 1. The characteristicrich content sources930 includes the content sources16-1 through16-N ofFIG. 1. The AI server20-1 includes the processing module50-1 ofFIG. 2 and theSS memory96 ofFIG. 2. The processing module50-1 includes theIEI module122 ofFIG. 4A. Generally, an embodiment of this invention presents solutions where the computing system functions to generate a query response.
In an example of operation of the generating of the query response, theIEI module122 IEI processes a query (e.g., i.e., acontent analysis request852 from the user device12-1) to produce a query entigen group. For example, the IEI module processes a query: “will Bob and Mary work well together?” To generate the query entigen group that includes primer entigens, i.e., for Bob and for Mary (objects).
TheIEI module122 identifies a subjective aspect of the query entigen group. The subjective aspect includes a characteristic associated with a value rather than facts. The identifying includes IEI processing the query to produce an entigen group and identifying known and/or missing characteristic entigens that relate the primary entigens (e.g., generally objects). For example, the action of working together and a characteristic of one or more values placed on outcomes of the working together.
Having identified the subjective aspect, theIEI module122 identifies a plurality of characteristic entigens associated with the subjective aspect. The identifying includes accessing the knowledge database (e.g., obtainingfact base information600 from the SS memory96) to find characteristics associated with values placed on the outcomes of working together, i.e., submit a query request and receive a query response. The identifying further includes eliminating other characteristics that don't matter such as time. As a more general example, “what characteristics are important to work well together?”.
Having identified the plurality of characteristic entigens, theIEI module122 accesses knowledge associated with the plurality characteristic entigens with regards to the query entigen group. The accessing includes locating a portion of the knowledge database from thefact base information600 from theSS memory96. The accessing further includes issuing characteristicrich content request934 to the characteristicrich content sources930 and receiving characteristicrich content responses936. The accessing further includes associating the primary entigens in accordance with the plurality of characteristic entigens.
Having access the knowledge, theIEI module122 generates a query response to the query based on the knowledge associated with the plurality of characteristic entigens. For example, the generating includes, for each of the characteristic entigens, developing a score for a linkage between the primary entigens to produce a plurality of preliminary scores, multiplying each pulmonary score by an associated weighting factor to produce a plurality of intermediate scores by characteristic, adding up the intermediate scores to produce a final score, and producing the query response based on one or more of the pulmonary scores, the intermediate scores, and the final scores. For example, indicate that Bob and Mary are expected to work well together when most of the characteristics of historical knowledge indicate favorable outcomes and issues the query response as acontent analysis response858 to the user device12-1.
FIG. 13B is a data flow diagram of another embodiment for generating a query response within a computing system where a query is IEI processed to produce aquery entigen group950. For example, the entigen group identifies an action entigen of co-working between entigens Bob and Mary when the query includes “will Bob and Mary work well together?”. The entigen group further identifies a plurality of work characteristics1-C tied to the co-working as the subjective aspects of the query entigen group.
Thefact base information600 is accessed utilizing thequery entigen group950 to identify characteristic entigens associated with those subjective aspects of the query entigen group and the knowledge associated with the identified characteristic entigens. For example, when the co-working action is co-writing, the characteristic is writing clearly (versus unclearly). As another example, when the co-working action is co-planning, the characteristic is effectively planning (versus ineffective). As yet another example, when the co-working action is co-testing, the characteristic is completely (versus incompletely). As a still further example, when the co-working is co-reviewing, the characteristic is sporadically (versus routinely). As yet he still further example, when the co-working is communicating, the characteristics include infrequently (versus frequently) and loudly (versus moderately).
Having identified the plurality of characteristic entigens and gathered knowledge associated with the plurality of characteristic entigens, a query response is generated utilizing a weighting scoring approach. Contributing to a favorable assessment of Bob and Mary working well together, includes clearly co-writing, effectively co-planning, and completely co-testing. Distracting from the favorable assessment of Bob and Mary working together, includes sporadically co-reviewing and communicating infrequently and loudly. Such distracting characteristics are subsequently interpreted to provide a portion of the query response.
When the characteristics of writing, planning, and testing are more important than the characteristics of reviewing and communicating, the query response includes an indication of Bob and Mary working well together. For instance, the query response is generated to include: “Bob and Mary will likely work well together, but may need coaching associated with document review and communication skills”.
FIG. 13C is a logic diagram of another embodiment of a method for generating a query response within a computing system. In particular, a method is presented for use in conjunction with one or more functions and features described in conjunction withFIGS. 1-8L, and alsoFIGS. 13A-13B. The method includesstep970 where a processing module of one or more processing modules of one or more computing devices of the computing system IEI processes a subjective query to produce a query entigen group. For example, words of the query are mapped to a variety of permutations of identigens, rules are applied to the permutations of identigens to select entigens to produce the query entigen group.
The method continues atstep972 where the processing module identifies a subjective aspect of the query entigen group. For example, the processing module identifies unknown and/or missing characteristics that relate to the primary entigens.
The method continues atstep974 where the processing module identifies a plurality of characteristic entigens associated with the subjective aspect. The identifying includes accessing the knowledge database to identify those characteristics associated with values placed on the relationships between the primary entigens.
The method continues atstep976 where the processing module accesses knowledge associated with the plurality of characteristic entigens with regards to the query entigen group. For example, the processing module locates a portion of the knowledge database and identifies characteristic entigens that describe relationships between the primary entigens in accordance with characteristics of the plurality of characteristic entigens.
The method continues atstep978 where the processing module generates a query response to the query based on the knowledge associated with the plurality of characteristic entigens. For example, the processing module applies a weighting function to groups of discovered characteristics to produce a score and generates a portion of the query response based on alignment of characteristics in accordance with the weighting function.
The method described above in conjunction with the processing module can alternatively be performed by other modules of thecomputing system10 ofFIG. 1 or by other devices. In addition, at least one memory section (e.g., a computer readable memory, a non-transitory computer readable storage medium, a non-transitory computer readable memory organized into a first memory element, a second memory element, a third memory element, a fourth element section, a fifth memory element etc.) that stores operational instructions can, when executed by one or more processing modules of one or more computing devices (e.g., one or more servers, one or more user devices) of thecomputing system10, cause the one or more computing devices to perform any or all of the method steps described above.
It is noted that terminologies as may be used herein such as bit stream, stream, signal sequence, etc. (or their equivalents) have been used interchangeably to describe digital information whose content corresponds to any of a number of desired types (e.g., data, video, speech, audio, etc. any of which may generally be referred to as ‘data’).
As may be used herein, the terms “substantially” and “approximately” provides an industry-accepted tolerance for its corresponding term and/or relativity between items. Such an industry-accepted tolerance ranges from less than one percent to fifty percent and corresponds to, but is not limited to, component values, integrated circuit process variations, temperature variations, rise and fall times, and/or thermal noise. Such relativity between items ranges from a difference of a few percent to magnitude differences. As may also be used herein, the term(s) “configured to”, “operably coupled to”, “coupled to”, and/or “coupling” includes direct coupling between items and/or indirect coupling between items via an intervening item (e.g., an item includes, but is not limited to, a component, an element, a circuit, and/or a module) where, for an example of indirect coupling, the intervening item does not modify the information of a signal but may adjust its current level, voltage level, and/or power level. As may further be used herein, inferred coupling (i.e., where one element is coupled to another element by inference) includes direct and indirect coupling between two items in the same manner as “coupled to”. As may even further be used herein, the term “configured to”, “operable to”, “coupled to”, or “operably coupled to” indicates that an item includes one or more of power connections, input(s), output(s), etc., to perform, when activated, one or more its corresponding functions and may further include inferred coupling to one or more other items. As may still further be used herein, the term “associated with”, includes direct and/or indirect coupling of separate items and/or one item being embedded within another item.
As may be used herein, the term “compares favorably”, indicates that a comparison between two or more items, signals, etc., provides a desired relationship. For example, when the desired relationship is thatsignal1 has a greater magnitude thansignal2, a favorable comparison may be achieved when the magnitude ofsignal1 is greater than that ofsignal2 or when the magnitude ofsignal2 is less than that ofsignal1. As may be used herein, the term “compares unfavorably”, indicates that a comparison between two or more items, signals, etc., fails to provide the desired relationship.
As may also be used herein, the terms “processing module”, “processing circuit”, “processor”, and/or “processing unit” may be a single processing device or a plurality of processing devices. Such a processing device may be a microprocessor, micro-controller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on hard coding of the circuitry and/or operational instructions. The processing module, module, processing circuit, and/or processing unit may be, or further include, memory and/or an integrated memory element, which may be a single memory device, a plurality of memory devices, and/or embedded circuitry of another processing module, module, processing circuit, and/or processing unit. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, cache memory, and/or any device that stores digital information. Note that if the processing module, module, processing circuit, and/or processing unit includes more than one processing device, the processing devices may be centrally located (e.g., directly coupled together via a wired and/or wireless bus structure) or may be distributedly located (e.g., cloud computing via indirect coupling via a local area network and/or a wide area network). Further note that if the processing module, module, processing circuit, and/or processing unit implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory and/or memory element storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry. Still further note that, the memory element may store, and the processing module, module, processing circuit, and/or processing unit executes, hard coded and/or operational instructions corresponding to at least some of the steps and/or functions illustrated in one or more of the Figures. Such a memory device or memory element can be included in an article of manufacture.
One or more embodiments have been described above with the aid of method steps illustrating the performance of specified functions and relationships thereof. The boundaries and sequence of these functional building blocks and method steps have been arbitrarily defined herein for convenience of description. Alternate boundaries and sequences can be defined so long as the specified functions and relationships are appropriately performed. Any such alternate boundaries or sequences are thus within the scope and spirit of the claims. Further, the boundaries of these functional building blocks have been arbitrarily defined for convenience of description. Alternate boundaries could be defined as long as the certain significant functions are appropriately performed. Similarly, flow diagram blocks may also have been arbitrarily defined herein to illustrate certain significant functionality.
To the extent used, the flow diagram block boundaries and sequence could have been defined otherwise and still perform the certain significant functionality. Such alternate definitions of both functional building blocks and flow diagram blocks and sequences are thus within the scope and spirit of the claims. One of average skill in the art will also recognize that the functional building blocks, and other illustrative blocks, modules and components herein, can be implemented as illustrated or by discrete components, application specific integrated circuits, processors executing appropriate software and the like or any combination thereof.
In addition, a flow diagram may include a “start” and/or “continue” indication. The “start” and “continue” indications reflect that the steps presented can optionally be incorporated in or otherwise used in conjunction with other routines. In this context, “start” indicates the beginning of the first step presented and may be preceded by other activities not specifically shown. Further, the “continue” indication reflects that the steps presented may be performed multiple times and/or may be succeeded by other activities not specifically shown. Further, while a flow diagram indicates a particular ordering of steps, other orderings are likewise possible provided that the principles of causality are maintained.
The one or more embodiments are used herein to illustrate one or more aspects, one or more features, one or more concepts, and/or one or more examples. A physical embodiment of an apparatus, an article of manufacture, a machine, and/or of a process may include one or more of the aspects, features, concepts, examples, etc. described with reference to one or more of the embodiments discussed herein. Further, from figure to figure, the embodiments may incorporate the same or similarly named functions, steps, modules, etc. that may use the same or different reference numbers and, as such, the functions, steps, modules, etc. may be the same or similar functions, steps, modules, etc. or different ones.
Unless specifically stated to the contra, signals to, from, and/or between elements in a figure of any of the figures presented herein may be analog or digital, continuous time or discrete time, and single-ended or differential. For instance, if a signal path is shown as a single-ended path, it also represents a differential signal path. Similarly, if a signal path is shown as a differential path, it also represents a single-ended signal path. While one or more particular architectures are described herein, other architectures can likewise be implemented that use one or more data buses not expressly shown, direct connectivity between elements, and/or indirect coupling between other elements as recognized by one of average skill in the art.
The term “module” is used in the description of one or more of the embodiments. A module implements one or more functions via a device such as a processor or other processing device or other hardware that may include or operate in association with a memory that stores operational instructions. A module may operate independently and/or in conjunction with software and/or firmware. As also used herein, a module may contain one or more sub-modules, each of which may be one or more modules.
While particular combinations of various functions and features of the one or more embodiments have been expressly described herein, other combinations of these features and functions are likewise possible. The present disclosure is not limited by the particular examples disclosed herein and expressly incorporates these other combinations.