U.S. patent application number 16/231753 was filed with the patent office on 2019-07-18 for identifying sentiment for a portion of a knowledge base.
This patent application is currently assigned to entigenlogic LLC. The applicant listed for this patent is entigenlogic LLC. Invention is credited to Stephen Chen, Andrew Chu, David Michael Corns, II, Gary W. Grube, Karl Olaf Knutson, David Ralph Lazzara, Stephen Emerson Sundberg, Jessy Thomas, Frank John Williams.
Application Number | 20190220756 16/231753 |
Document ID | / |
Family ID | 67213318 |
Filed Date | 2019-07-18 |
![](/patent/app/20190220756/US20190220756A1-20190718-D00000.png)
![](/patent/app/20190220756/US20190220756A1-20190718-D00001.png)
![](/patent/app/20190220756/US20190220756A1-20190718-D00002.png)
![](/patent/app/20190220756/US20190220756A1-20190718-D00003.png)
![](/patent/app/20190220756/US20190220756A1-20190718-D00004.png)
![](/patent/app/20190220756/US20190220756A1-20190718-D00005.png)
![](/patent/app/20190220756/US20190220756A1-20190718-D00006.png)
![](/patent/app/20190220756/US20190220756A1-20190718-D00007.png)
![](/patent/app/20190220756/US20190220756A1-20190718-D00008.png)
![](/patent/app/20190220756/US20190220756A1-20190718-D00009.png)
![](/patent/app/20190220756/US20190220756A1-20190718-D00010.png)
View All Diagrams
United States Patent
Application |
20190220756 |
Kind Code |
A1 |
Williams; Frank John ; et
al. |
July 18, 2019 |
IDENTIFYING SENTIMENT FOR A PORTION OF A KNOWLEDGE BASE
Abstract
A method includes selecting an entigen group from a knowledge
database. The entigen group is a most likely meaning of a phrase of
a string of words. An entigen of the entigen group corresponds to a
selected identigen from a set of identigens regarding a word of the
string of words. The set of identigens represent different meanings
of the word. The method further includes identifying other entigen
groups of alternate phrases having the most likely meaning from the
knowledge database. The alternate phrases are different
permutations of the string of words. The method further includes
determining a dominant digital representation of a human reaction
of the other entigen groups and generating a digital representation
of a human reaction for the entigen group based on the dominant
digital representation of a human reaction.
Inventors: |
Williams; Frank John;
(Rossmoor, CA) ; Lazzara; David Ralph; (Huntington
Beach, CA) ; Chen; Stephen; (Wheaton, IL) ;
Knutson; Karl Olaf; (Palatine, IL) ; Thomas;
Jessy; (Palatine, IL) ; Corns, II; David Michael;
(Elgin, IL) ; Chu; Andrew; (St. Charles, IL)
; Grube; Gary W.; (Barrington Hills, IL) ;
Sundberg; Stephen Emerson; (Chicago, IL) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
entigenlogic LLC |
Schaumburg |
IL |
US |
|
|
Assignee: |
entigenlogic LLC
Schaumburg
IL
|
Family ID: |
67213318 |
Appl. No.: |
16/231753 |
Filed: |
December 24, 2018 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
62617818 |
Jan 16, 2018 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06F 16/353 20190101;
G06F 16/3338 20190101; G06F 40/30 20200101; G06F 16/3325 20190101;
G06F 16/3344 20190101; G06F 16/338 20190101; G06N 5/04
20130101 |
International
Class: |
G06N 5/04 20060101
G06N005/04; G06F 16/33 20060101 G06F016/33; G06F 16/35 20060101
G06F016/35; G06F 17/27 20060101 G06F017/27 |
Claims
1. A method for execution by a computing device, the method
comprises: selecting an entigen group from a knowledge database,
wherein the entigen group is a most likely meaning of a phrase of a
string of words, wherein an entigen of the entigen group
corresponds to a selected identigen from a set of identigens
regarding a word of the string of words, wherein the set of
identigens represent different meanings of the word; identifying
other entigen groups of alternate phrases having the most likely
meaning from the knowledge database, wherein the alternate phrases
are different permutations of the string of words; determining a
dominant digital representation of a human reaction of the other
entigen groups; and generating a digital representation of a human
reaction for the entigen group based on the dominant digital
representation of a human reaction.
2. The method of claim 1 further comprises at least one of:
outputting the digital representation of a human reaction to a
requesting entity; and updating the entigen group using the digital
representation of a human reaction to produce an updated entigen
group for storage in the knowledge database.
3. The method of claim 1, wherein the selecting the entigen group
from the knowledge database comprises at least one of: initiating a
search of the knowledge database to identify the entigen group when
a search timeframe has expired; receiving a digital representation
of a human reaction identification request from a requesting
entity; detecting that the entigen group does not include the
digital representation of a human reaction; and detecting that the
entigen group includes an incorrect digital representation of a
human reaction.
4. The method of claim 1, wherein the identifying the other entigen
groups of alternate phrases having the most likely meaning from the
knowledge database comprises at least one of: matching the entigen
group to a first entigen group of the other entigen groups when at
least some words of the string of words of the phrase are included
in words of a first permutation of the string of words of a first
permutation of the phrase of the first entigen group; detecting
that the first entigen group is associated with a first digital
representation of a human reaction; matching the entigen group to a
second entigen group of the other entigen groups when at least some
entigens of the entigen group are included in the second entigen
group; and detecting that the second entigen group is associated
with a second digital representation of a human reaction.
5. The method of claim 1, wherein the determining the dominant
digital representation of a human reaction of the other entigen
groups comprises: determining a corresponding digital
representation of a human reaction of at least some of the other
entigen groups to produce a plurality of digital representations of
human reactions; and determining the dominant digital
representation of a human reaction based on a majority of the
plurality of digital representations of human reactions.
6. The method of claim 1, wherein the generating the digital
representation of a human reaction for the entigen group based on
the dominant digital representation of a human reaction comprises
at least one of: establishing the digital representation of a human
reaction to include the dominant digital representation of a human
reaction; and establishing the digital representation of a human
reaction to include the dominant digital representation of a human
reaction and at least one other digital representation of a human
reaction of a plurality of digital representations of human
reactions associated with the other entigen groups.
7. A computing device of a computing system, the computing device
comprises: an interface; a local memory; and a processing module
operably coupled to the interface and the local memory, wherein the
processing module functions to: select an entigen group from a
knowledge database, wherein the entigen group is a most likely
meaning of a phrase of a string of words, wherein an entigen of the
entigen group corresponds to a selected identigen from a set of
identigens regarding a word of the string of words, wherein the set
of identigens represent different meanings of the word; identify
other entigen groups of alternate phrases having the most likely
meaning from the knowledge database, wherein the alternate phrases
are different permutations of the string of words; determine a
dominant digital representation of a human reaction of the other
entigen groups; and generate a digital representation of a human
reaction for the entigen group based on the dominant digital
representation of a human reaction.
8. The computing device of claim 7, where the processing module
further functions to: output, via the interface, the digital
representation of a human reaction to a requesting entity; and
update the entigen group using the digital representation of a
human reaction to produce an updated entigen group for storage, via
the interface, in the knowledge database.
9. The computing device of claim 7, where the processing module
functions to select the entigen group from the knowledge database
by at least one of: initiating, via the interface, a search of the
knowledge database to identify the entigen group when a search
timeframe has expired; receiving, via the interface, a digital
representation of a human reaction identification request from a
requesting entity; detecting that the entigen group does not
include the digital representation of a human reaction; and
detecting that the entigen group includes an incorrect digital
representation of a human reaction.
10. The computing device of claim 7, where the processing module
functions to identify the other entigen groups of alternate phrases
having the most likely meaning from the knowledge database by at
least one of: matching the entigen group to a first entigen group
of the other entigen groups when at least some words of the string
of words of the phrase are included in words of a first permutation
of the string of words of a first permutation of the phrase of the
first entigen group; detecting that the first entigen group is
associated with a first digital representation of a human reaction;
matching the entigen group to a second entigen group of the other
entigen groups when at least some entigens of the entigen group are
included in the second entigen group; and detecting that the second
entigen group is associated with a second digital representation of
a human reaction.
11. The computing device of claim 7, where the processing module
functions to determine the dominant digital representation of a
human reaction of the other entigen groups by: determining a
corresponding digital representation of a human reaction of at
least some of the other entigen groups to produce a plurality of
digital representations of human reactions; and determining the
dominant digital representation of a human reaction based on a
majority of the plurality of digital representations of human
reactions.
12. The computing device of claim 7, where the processing module
functions to generate the digital representation of a human
reaction for the entigen group based on the dominant digital
representation of a human reaction by at least one of: establishing
the digital representation of a human reaction to include the
dominant digital representation of a human reaction; and
establishing the digital representation of a human reaction to
include the dominant digital representation of a human reaction and
at least one other digital representation of a human reaction of a
plurality of digital representations of human reactions associated
with the other entigen groups.
13. A computer readable memory comprises: a first memory element
that stores operational instructions that, when executed by a
processing module, causes the processing module to: select an
entigen group from a knowledge database, wherein the entigen group
is a most likely meaning of a phrase of a string of words, wherein
an entigen of the entigen group corresponds to a selected identigen
from a set of identigens regarding a word of the string of words,
wherein the set of identigens represent different meanings of the
word; a second memory element that stores operational instructions
that, when executed by the processing module, causes the processing
module to: identify other entigen groups of alternate phrases
having the most likely meaning from the knowledge database, wherein
the alternate phrases are different permutations of the string of
words; a third memory element that stores operational instructions
that, when executed by the processing module, causes the processing
module to: determine a dominant digital representation of a human
reaction of the other entigen groups; and a fourth memory element
that stores operational instructions that, when executed by the
processing module, causes the processing module to: generate a
digital representation of a human reaction for the entigen group
based on the dominant digital representation of a human
reaction.
14. The computer readable memory of claim 13 further comprises: a
fifth memory element stores operational instructions that, when
executed by the processing module, causes the processing module to:
output the digital representation of a human reaction to a
requesting entity; and update the entigen group using the digital
representation of a human reaction to produce an updated entigen
group for storage in the knowledge database.
15. The computer readable memory of claim 13, wherein the
processing module functions to execute the operational instructions
stored by the first memory element to cause the processing module
to select the entigen group from the knowledge database by one or
more of: initiating a search of the knowledge database to identify
the entigen group when a search timeframe has expired; receiving a
digital representation of a human reaction identification request
from a requesting entity; detecting that the entigen group does not
include the digital representation of a human reaction; and
detecting that the entigen group includes an incorrect digital
representation of a human reaction.
16. The computer readable memory of claim 13, wherein the
processing module functions to execute the operational instructions
stored by the second memory element to cause the processing module
to identify the other entigen groups of alternate phrases having
the most likely meaning from the knowledge database by one or more
of: matching the entigen group to a first entigen group of the
other entigen groups when at least some words of the string of
words of the phrase are included in words of a first permutation of
the string of words of a first permutation of the phrase of the
first entigen group; detecting that the first entigen group is
associated with a first digital representation of a human reaction;
matching the entigen group to a second entigen group of the other
entigen groups when at least some entigens of the entigen group are
included in the second entigen group; and detecting that the second
entigen group is associated with a second digital representation of
a human reaction.
17. The computer readable memory of claim 13, wherein the
processing module functions to execute the operational instructions
stored by the third memory element to cause the processing module
to determine the dominant digital representation of a human
reaction of the other entigen groups by: determining a
corresponding digital representation of a human reaction of at
least some of the other entigen groups to produce a plurality of
digital representations of human reactions; and determining the
dominant digital representation of a human reaction based on a
majority of the plurality of digital representations of human
reactions.
18. The computer readable memory of claim 13, wherein the
processing module functions to execute the operational instructions
stored by the fourth memory element to cause the processing module
to generate the digital representation of a human reaction for the
entigen group based on the dominant digital representation of a
human reaction by one or more of: establishing the digital
representation of a human reaction to include the dominant digital
representation of a human reaction; and establishing the digital
representation of a human reaction to include the dominant digital
representation of a human reaction and at least one other digital
representation of a human reaction of a plurality of digital
representations of human reactions associated with the other
entigen groups.
Description
CROSS REFERENCE TO RELATED PATENTS
[0001] The present U.S. Utility patent application claims priority
pursuant to 35 U.S.C. .sctn. 119(e) to U.S. Provisional Application
No. 62/617,818, entitled "GENERATING AND UTILIZING A KNOWLEDGE
BASE," filed Jan. 16, 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 DEVELOPMENT
[0002] NOT APPLICABLE
INCORPORATION-BY-REFERENCE OF MATERIAL SUBMITTED ON A COMPACT
DISC
[0003] NOT APPLICABLE
BACKGROUND OF THE INVENTION
Technical Field of the Invention
[0004] This 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 Art
[0005] It is well known that a massive amount of data is stored in
information systems, such as files containing text. It is often
difficult to extract useful information from this stored data.
There is simply too much data for humans to analyze. While
computers may be able to process data faster than humans, computers
are challenged when it comes to comprehending concepts or even
identifying context that is often helpful to understand the content
of the data. Humans understand concepts and context, but cannot
process the data like a computer.
[0006] It is well known that data is archived in computing systems
as a more desirable alternative to pre-computer methods such as
paper-document storage. Regardless of the reason why the data is
found in the computing systems, the files created to communicate
and store the data were created for human understanding, not
necessarily for computer understanding. The information of the data
can be even more useful if a truest possible meaning of the data
can be identified in such a way as to enable sophisticated
analysis. Computer systems struggle to understand the data since
identifying the truest meaning has not been possible.
[0007] Understanding the content of data requires an ability to
comprehend words people use to convey their thoughts. If the
processing power of computers is to be relevant in the effort to
mine massive data files, then a computerized approach must be able
to comprehend text, not merely recognize patterns and apply
statistical reasoning solutions. The promise of "Big Data"
analytics has been difficult since the truest possible meaning of
the data cannot be easily determined from massive storage
repositories.
[0008] Relevant information is masked in an overwhelming volume of
words due to ambiguities inherent in words. Increasing processor
speed may reduce the challenge presented by data volume, but
computer processing to produce the truest possible meaning of the
words of the data words is an unmet need. Whether simply searching
data files for specific elements of data or extracting specific
elements from data for complex analysis, current technology is
limited to search-and-retrieve operations driven by word-based
pattern matching and statistical modeling. Therefore, even with
increased computer processing power, the problem of understanding
data still exists.
[0009] It is known that one such approach to determine truest
meaning is to apply sophisticated pattern matching algorithms to
identify similar word patterns in a user's query with those in the
data. These algorithms have become quite pervasive, but the basic
approach remains that of probabilistic scoring of queries and data
indexes to establish the best match between query and data--i.e.,
statistical reasoning solutions. If a specific answer resides in
the database, such as "George Washington was the first President of
the United States", then current software can return that answer in
response to the query, "Who was the first President of the United
States?" The answer was explicit in the database. If the answer is
not explicit in the data, then the matching algorithm will return a
list of possible files where the answer might be found. It is then
incumbent on a requester to read through the list of potentially
relevant documents and find the answer implicit in the data.
[0010] A good example of the problem that such a lack of meaning
understanding creates is demonstrated in the following; "Who died
today?" In this simple three-word query, the requester wants to
know the names of the people who died on this day. But a computer
is challenged to comprehend this simple question. Instead, the
computer algorithm focuses on the key words "died" and "today".
Most algorithms are sufficiently sophisticated to deal with words
similar to "died" or its general meaning, such as "death",
"killed", "passed away", etc. But more challenging is dealing with
the temporal nature of the word "today." Consequently, if one were
to do an internet search with a "search engine", one would get
about over 500,000 responses or hits--a list of links to over
500,000 uniform resource locators (URLs) to sift through. Even if a
requester could open, read, and extract useful information from
these URLs at the rate of one per second (which is not likely), it
would take 150 person-hours (3.75 standard work weeks at
40-hours/week) to get through the entire list. But worse than that,
because the computer algorithm did not understand the question,
none of the results answer the question. Instead, the word-pattern
matching returns a list of URLs that link to deaths: reported in
media records with the word "today" in the title (e.g., "New York
Today News"), that occurred today in history, or that were reported
today, etc. When answering a query requires understanding both the
query and the text files, word-based pattern matching is
inadequate.
[0011] It is further well known that answering queries with current
technology relies on the answer being explicit in the text. In
order to increase the likelihood that an answer to a potential
query will be explicit in the data, one known approach is to seed
the data with answers to likely questions. For example, a super
computer downloads large data base files and then sets an army of
human experts to work reading though the files and preparing a list
of question/answer pairs which are loaded into the super computer.
When asked a question by a requester, the super computer
statistically searches for the highest correlation between the word
pattern in the query and the word pattern in the pre-loaded
answers. This approach is known as statistical reasoning. Not only
is this process of generating question and answer pairs exceedingly
expensive and time consuming, it also limits the information that
can be extracted from the data to those questions that have been
previously created and stored. What is advertised to a layperson as
"thinking", but it is actually no more than retrieving preselected
answers from large data files. While such an approach may be
adequate for static data sources, such as voluminous government
regulations, historical fact tables, or medical diagnostic decision
trees, it cannot provide insights into dynamic data (e.g., real
time), nor can it leverage the inexhaustible power of a computer's
ability to find all relevant, co-related data in huge data
files.
[0012] It is also well known that many industry leaders are
attempting to use deep neural networks to identify objects in
photos and recognize the individual words we speak into digital
assistants (e.g., consumer voice recognition computer assistance
systems). The hope is that this type of artificial intelligence can
dramatically improve a machine's ability to grasp the significance
of those words by understanding how those words interact to form
meaningful sentences. These industry leaders have recognized the
importance of comprehending words as an enabler for a wide range of
computer functions. But, the neural-net approach still relies on
pattern matching and probabilistic scoring and requires some level
of supervised learning.
[0013] Currently, available technology simply cannot provide
insightful knowledge. It can only provide a list of potentially
relevant sources to serve as leads for humans to process manually
who then generate insightful knowledge, or it can search a database
of pre-loaded knowledge generated by experts. But it cannot provide
insightful knowledge, or extract all the relevant data for
additional analysis from data files because it cannot comprehend
the meaning(s) in data, such as text.
[0014] As an interesting comparison, humans can read and comprehend
text files, but cannot process data fast enough to sort through
massive files quickly. Computers can process data quickly, but
cannot comprehend the concepts and context conveyed by text as
humans do. Either humans need to process at computer speeds or
computers need to comprehend at human levels. The technology
required to achieve the former is not on the horizon. The
technology to achieve the latter has not yet been demonstrated by
known approaches.
[0015] Therefore, there is useful information that resides in
massive data stored in information systems that cannot currently be
understood by computers for analysis. The promise of "Big Data"
analytics cannot be met if the relevant data cannot be understood
and extracted from its massive storage repositories. This current
lack of understanding effectively buries relevant information in
overwhelming volume and masks it with the ambiguities inherent in
words. Increasing processor speed will reduce the challenge
presented by data volume, but no currently available software will
overcome the challenge presented by words.
[0016] Currently, the generalized approach employed by all the
technologies and methodologies mentioned above is that the
fundamental understanding of natural languages is based on grammar.
Specifically, grammar classifies words into five major grammatical
types such as functional words, nouns, adjectives, verbs and
adverbs. Grammar then uses these grammatical types to study how
words should be distributed within a string of words to form a
properly constructed grammatical sentence. However, understanding
natural languages from a grammatical stance encourages the
desertion of two major and crucial points. The first point is that
grammar does not reflect the mind's natural ability to learn,
create and achieve language and speech. People from all ages and
cultures can communicate using natural languages without any formal
grammatical training or expertise. The second point is that grammar
is not concerned with the words' descriptive purpose or with the
things that words are actually trying to describe or identify, but
rather with the words' own grammatical operations and purpose (how
the word is used within sentences).
[0017] This later point forces grammar to divide words that
describe single ideas into separate grammatical identifications.
For example, grammatically speaking, the word "human" is divided
into a noun and an adjective based on how the word "human" is being
used within a given sentence. In the sentence "the feelings of a
human are profound" the word "human" is a noun, because "human"
operates as a noun. But in the sentence "human feelings are
profound" the word "human" is now an adjective, because
grammatically speaking "human" in this example is operating as an
adjective. Another example is what happens to the word "talking",
which grammatically speaking is divided into three different
elements such as a noun, an adjective or a verb. In "the talking of
the president" the word "talking" is a noun; in "the talking
president left the building" the word "talking" is an adjective;
and in "the president is talking" the word "talking" is a verb. As
a result, grammar not only divided "human" in two diverging terms
and "talking" into three completely different terms, but in
addition, grammar added complexity, because the grammatical
classifications of "human" and "talking" were based on usage of
each word within each sentence, not meaning.
[0018] But more importantly, grammar ignored the most important
aspect behind each word, and that is what every word (human and
talking) is actually trying to describe. Descriptively speaking
(not grammatically speaking), the word "human" always describes a
living being and the word "talking" always describes the same type
of action on all sentences above. Another serious limitation that
grammar endows is that most colloquial and conversational
communications between people are informal and therefore do not
follow the rigidness or sophistication demanded by the rules of
grammar. This limits grammatical-based technologies from processing
this type of data. Consequentially, grammar, aside from adding
complexity and unnecessary partitioning of words, also reduces the
capacity of computers and software to be flexible to process and
understand what people are naturally saying, writing or implying.
In view of the foregoing, there is an ongoing need for providing
systems and methods of identifying words differently for processing
natural languages including creating and maintaining searchable
databases that when queried by a user produce results that are
precisely and accurately responsive to the user's query. Moreover,
because the purpose of ontological categories is to distinguish the
elements it studies, failing to properly differentiate such
elements from each other leads to serious inconsistencies. Indeed,
if we select the wrong parameters to distinguish and study the
elements of a given system, the resulting categories could be
obtrusive and contradictory. For example, if "motion" is selected
as the parameter to study the pieces of a train; then the engine,
the passenger cars and the caboose can be confused, because all
these pieces experience the same type of motion when the train
moves. This is similar to what grammar has done by defining how
words are used instead of what words describe. Stating how a word
is used in a sentence does not identify what the word is actually
trying to describe. This has led grammatical approaches to create
obtrusive categories, confusion and contradictions in semantic and
meaning-based analysis. For example, in many dictionaries the word
"elected" is divided as an adjective and a verb (this is obtrusive
within that dictionary); while in other dictionaries, "elected" is
only an adjective or only a verb (this is contradictory among
dictionaries).
[0019] In addition, current technology is focused on identifying
the part of speech a word represents as opposed to what the word is
describing or intending to describe. To date, this approach or
methodology precludes current technology from recognizing the
single unique individuals, unique items, or unique things that
words represent or are trying to describe in time and space. Nor
can current technology assign or associate actions and/or
attributes to a unique single individual, item or thing and vice
versa. Therefore, there is need in the art for methods and
approaches that can analysis big data and address the limitations
identified above.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)
[0020] FIG. 1 is a schematic block diagram of an embodiment of a
computing system in accordance with the present invention;
[0021] FIG. 2 is a schematic block diagram of an embodiment of
various servers of a computing system in accordance with the
present invention;
[0022] FIG. 3 is a schematic block diagram of an embodiment of
various devices of a computing system in accordance with the
present invention;
[0023] FIGS. 4A and 4B are schematic block diagrams of another
embodiment of a computing system in accordance with the present
invention;
[0024] 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;
[0025] FIG. 5A is a schematic block diagram of an embodiment of a
collections module of a computing system in accordance with the
present invention;
[0026] 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;
[0027] FIG. 5C is a schematic block diagram of an embodiment of a
query module of a computing system in accordance with the present
invention;
[0028] 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;
[0029] 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;
[0030] 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;
[0031] 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;
[0032] 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;
[0033] 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;
[0034] 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;
[0035] FIG. 7A is an information flow diagram for interpreting
information within a computing system in accordance with the
present invention;
[0036] 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;
[0037] FIG. 7C is a diagram of an embodiment of a synonym words
table within a computing system in accordance with the present
invention;
[0038] FIG. 7D is a diagram of an embodiment of a polysemous words
table within a computing system in accordance with the present
invention;
[0039] FIG. 7E is a diagram of an embodiment of transforming words
into groupings within a computing system in accordance with the
present invention;
[0040] FIG. 8A is a data flow diagram for accumulating knowledge
within a computing system in accordance with the present
invention;
[0041] FIG. 8B is a diagram of an embodiment of a groupings table
within a computing system in accordance with the present
invention;
[0042] FIG. 8C is a data flow diagram for answering questions
utilizing accumulated knowledge within a computing system in
accordance with the present invention;
[0043] FIG. 8D is a data flow diagram for answering questions
utilizing interference within a computing system in accordance with
the present invention;
[0044] 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;
[0045] FIGS. 8F and 8G are schematic block diagrams of another
embodiment of a computing system in accordance with the present
invention;
[0046] 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;
[0047] FIGS. 8J and 8K are schematic block diagrams another
embodiment of a computing system in accordance with the present
invention;
[0048] 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;
[0049] FIG. 9A is a schematic block diagram of another embodiment
of a computing system in accordance with the present invention;
[0050] FIG. 9B is a data flow diagram for answering questions
utilizing accumulated knowledge within a computing system in
accordance with the present invention;
[0051] FIG. 9C is a logic diagram of an embodiment of a method for
producing a response to a query within a computing system in
accordance with the present invention;
[0052] FIG. 10A is a schematic block diagram of another embodiment
of a computing system in accordance with the present invention;
[0053] FIG. 10B is a data flow diagram for predicting an occurrence
utilizing pre-occurrence sequence detection within a computing
system in accordance with the present invention;
[0054] FIG. 10C is a logic diagram of an embodiment of a method for
predicting an occurrence within a computing system in accordance
with the present invention;
[0055] FIG. 11A is a schematic block diagram of another embodiment
of a computing system in accordance with the present invention;
[0056] FIG. 11B is a data flow diagram for providing an answer to a
question within a computing system in accordance with the present
invention;
[0057] FIG. 11C is a logic diagram of an embodiment of a method for
providing an answer to a question within a computing system in
accordance with the present invention;
[0058] FIG. 12A is a schematic block diagram of another embodiment
of a computing system in accordance with the present invention;
[0059] FIG. 12B is a logic diagram of an embodiment of a method for
utilizing multiple knowledge bases to produce a query response
within a computing system in accordance with the present
invention;
[0060] FIG. 13A is a data flow diagram for optimizing
identification of permutations of element groupings within a
computing system in accordance with the present invention;
[0061] FIG. 13B is a logic diagram of an embodiment of a method for
generating an optimized set of permutations of identified elements
within a computing system in accordance with the present
invention;
[0062] FIG. 14A is a schematic block diagram of another embodiment
of a computing system in accordance with the present invention;
[0063] FIG. 14B is a data flow diagram for identifying sentiment
within a computing system in accordance with the present
invention;
[0064] FIGS. 14C-E are entigen group diagrams of an embodiment of a
knowledge database to illustrate examples of identifying sentiment
in accordance with the present invention; and
[0065] FIG. 14F is a logic diagram of an embodiment of a method for
identifying a digital representation of a human reaction within a
computing system in accordance with the present invention.
DETAILED DESCRIPTION OF THE INVENTION
[0066] FIG. 1 is a schematic block diagram of an embodiment of a
computing system 10 that includes a plurality of user devices 12-1
through 12-N, a plurality of wireless user devices 14-1 through
14-N, a plurality of content sources 16-1 through 16-N, a plurality
of transactional servers 18-1 through 18-N, a plurality of
artificial intelligence (AI) servers 20-1 through 20-N, and a core
network 24. The core network 24 includes at least one of the
Internet, a public radio access network (RAN), and any private
network. Hereafter, the computing system 10 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.
[0067] 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.
[0068] 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, a spacecraft 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 to FIG. 2. An embodiment of the various devices is
discussed in greater detail with reference to FIG. 3.
[0069] Each of the content sources 16-1 through 16-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.).
[0070] Generally, an embodiment of this invention presents
solutions where the computing system 10 supports the generation and
utilization of knowledge extracted from content. For example, the
AI servers 20-1 through 20-N ingest content from the content
sources 16-1 through 16-N by receiving, via the core network 24
content messages 28-1 through 28-N as AI messages 32-1 through
32-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 the core network 24, user messages
22-1 through 22-N to the user devices 12-1 through 12-N and
wireless signals 26-1 through 26-N to the wireless user devices
14-1 through 14-N.
[0071] Each content message 28-1 through 28-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 message 32-1 through 32-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 message
22-1 through 22-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.
[0072] When utilizing a wireless signal capability of the core
network 24, each of the wireless user devices 14-1 through 14-N
encodes/decodes data and/or information messages (e.g., user
messages such as user messages 22-1 through 22-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 signals 26-1 through 26-N. Having encoded/decoded
the data and/or information messages, the wireless user devices
14-1 through 14-N and/receive the wireless signals to/from the
wireless capability of the core network 24.
[0073] As another example of the generation and utilization of
knowledge, the transactional servers 18-1 through 18-N communicate,
via the core network 24, transaction messages 30-1 through 30-N as
further AI messages 32-1 through 32-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 message
30-1 through 30-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.
[0074] In another specific example of operation of the generation
and utilization of knowledge extracted from the content, the user
device 12-1 issues a user message 22-1 to the AI server 20-1, where
the user message 22-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 message 22-1 based on the
query request (e.g., the question), selecting the AI server 20-1
based on the first domain of knowledge, and sending, via the core
network 24, the user message 22-1 as a further AI message 32-1 to
the AI server 20-1. Having received the AI message 32-1, the AI
server 20-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.
[0075] When gathering the further content, the AI server 20-1
issues, via the core network 24, a still further AI message 32-1 as
a further content message 28-1 to the content source 16-1, where
the content message 28-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
server 20-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 server
20-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 message 28-1, the contents or 16-1
issues, via the core network 24, a still further content message
28-1 to the AI server 20-1 as a yet further AI message 32-1, where
the still further content message 28-1 includes requested content.
The AI server 20-1 processes the received content to generate
further knowledge. Having generated the further knowledge, the AI
server 20-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 device 12-1 when
the quality level indicator is above the minimum quality threshold
level. When issuing the query response, the AI server 20-1
generates an AI message 32-1 that includes another user message
22-1, where the other user message 22-1 includes the other
preliminary answer as a query response including the answer to the
question. Having generated the AI message 32-1, the AI server 20-1
sends, via the core network 24, the AI message 32-1 as the user
message 22-1 to the user device 12-1 thus providing the answer to
the original question of the query request.
[0076] FIG. 2 is a schematic block diagram of an embodiment of the
AI servers 20-1 through 20-N and the transactional servers 18-1
through 18-N of the computing system 10 of FIG. 1. The servers may
include a computing core 52, one or more visual output devices 74
(e.g., video graphics display, touchscreen, LED, etc.), one or more
user input devices 76 (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 devices 78 (e.g., speaker(s), headphone jack, a motor,
etc.), one or more visual input devices 80 (e.g., a still image
camera, a video camera, photocell, etc.), one or more universal
serial bus (USB) devices (USB devices 1-U), one or more peripheral
devices (e.g., peripheral devices 1-P), one or more memory devices
(e.g., one or more flash memory devices 92, one or more hard drive
(HD) memories 94, one or more solid state (SS) memory devices 96,
and/or cloud memory 98), one or more wireless location modems 84
(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 modems 86-1
through 86-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 interface 102 (e.g., to interface to a public
switched telephone network), a wired local area network (LAN) 88
(e.g., optical, electrical), a wired wide area network (WAN) 90
(e.g., optical, electrical), and an energy source 100 (e.g., a
battery, a solar power source, a fuel cell, a capacitor, a
generator, mains power, backup power, etc.).
[0077] The computing core 52 includes a video graphics module 54,
one or more processing modules 50-1 through 50-N (e.g., which may
include one or more secure co-processors), a memory controller 56,
one or more main memories 58-1 through 58-N (e.g., RAM), one or
more input/output (I/O) device interfaces 62, an input/output (I/O)
controller 60, a peripheral interface 64, one or more USB
interfaces 66, one or more network interfaces 72, one or more
memory interfaces 70, and/or one or more peripheral device
interfaces 68.
[0078] 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.
[0079] Each of the interfaces 62, 66, 68, 70, and 72 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
modules 50-1 through 50-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 interfaces 62
couples to an audio output device 78. As another example, one of
the memory interfaces 70 couples to flash memory 92 and another one
of the memory interfaces 70 couples to cloud memory 98 (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.
[0080] FIG. 3 is a schematic block diagram of an embodiment of the
various devices of the computing system 10 of FIG. 1, including the
user devices 12-1 through 12-N and the wireless user devices 14-1
through 14-N. The various devices include the visual output device
74 of FIG. 2, the user input device 76 of FIG. 2, the audio output
device 78 of FIG. 2, the visual input device 80 of FIG. 2, and one
or more sensors 82 implemented internally and/or externally to the
device (e.g., 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, a biometric sensor, 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, an object detection sensor, 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, a sunlight detector, and 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.).
[0081] The various devices further include the computing core 52 of
FIG. 2, the one or more universal serial bus (USB) devices (USB
devices 1-U) of FIG. 2, the one or more peripheral devices (e.g.,
peripheral devices 1-P) of FIG. 2, the one or more memories of FIG.
2 (e.g., flash memories 92, HD memories 94, SS memories 96, and/or
cloud memories 98), the one or more wireless location modems 84 of
FIG. 2, the one or more wireless communication modems 86-1 through
86-N of FIG. 2, the telco interface 102 of FIG. 2, the wired local
area network (LAN) 88 of FIG. 2, the wired wide area network (WAN)
90 of FIG. 2, and the energy source 100 of FIG. 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.
[0082] FIGS. 4A and 4B are schematic block diagrams of another
embodiment of a computing system that includes one or more of the
user device 12-1 of FIG. 1, the wireless user device 14-1 of FIG.
1, the content source 16-1 of FIG. 1, the transactional server 18-1
of FIG. 1, the user device 12-2 of FIG. 1, and the AI server 20-1
of FIG. 1. The AI server 20-1 includes the processing module 50-1
(e.g., associated with the servers) of FIG. 2, where the processing
module 50-1 includes a collections module 120, an identigen entigen
intelligence (IEI) module 122, and a query module 124.
Alternatively, the collections module 120, the IEI module 122, and
the query module 124 may be implemented by the processing module
50-1 (e.g., associated with the various user devices) of FIG. 3.
The computing system functions to interpret content to produce a
response to a query.
[0083] FIG. 4A illustrates an example of the interpreting of the
content to produce the response to the query where the collections
module 120 interprets (e.g., based on an interpretation approach
such as rules) at least one of a collections request 132 from the
query module 124 and a collections request within collections
information 130 from the IEI module 122 to produce content request
information (e.g., potential sources, content descriptors of
desired content). Alternatively, or in addition to, the collections
module 120 may facilitate gathering further content based on a
plurality of collection requests from a plurality of devices of the
computing system 10 of FIG. 1.
[0084] The collections request 132 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, the query
module 124 issues the collections request 132 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 request 132 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.
[0085] Having interpreted the collections request 132, the
collections module 120 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, the
collections module 120 selects the content source 16-1 when the
content source 16-1 is known to provide a favorable content quality
level for a domain associated with the collections request 132.
[0086] Having selected the source of content, the collections
module 120 issues a content request 126 to the selected source of
content. The issuing includes generating the content request 126
based on the content request information for the selected source of
content and sending the content request 126 to the selected source
of content. The content request 126 may include one or more of a
content type indicator, a requester ID, security credentials for
content access, and any other information associated with the
collections request 132. For example, the collections module 120
sends the content request 126, via the core network 24 of FIG. 1,
to the content source 16-1. Alternatively, or in addition to, the
collections module 120 may send a similar content request 126 to
one or more of the user device 12-1, the wireless user device 14-1,
and the transactional server 18-1 to facilitate collecting of
further content.
[0087] In response to the content request 126, the collections
module 120 receives one or more content responses 128. The content
response 128 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 the content response 128, the
collections module 120 interprets the received content response 128
to produce collections information 130, where the collections
information 130 further includes a collections response from the
collections module 120 to the IEI module 122. 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 the collections
information 130, the collections module 120 sends the collections
information 130 to the IEI module 122. Having received the
collections information 130 from the collections module 120, the
IEI module 122 interprets the further content of the content
response to generate further knowledge, where the further knowledge
is stored in a memory associated with the IEI module 122 to
facilitate subsequent answering of questions posed in received
queries.
[0088] FIG. 4B further illustrates the example of the interpreting
of the content to produce the response to the query where, the
query module 124 interprets a received query request 136 from a
requester to produce an interpretation of the query request. For
example, the query module 124 receives the query request 136 from
the user device 12-2, and/or from one or more of the wireless user
device 14-2 and the transactional server 18-2. The query request
136 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).
[0089] The interpreting of the query request 136 includes
determining whether to issue a request to the IEI module 122 (e.g.,
a question, perhaps with content) and/or to issue a request to the
collections module 120 (e.g., for further background content). For
example, the query module 124 produces the interpretation of the
query request to indicate to send the request directly to the IEI
module 122 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?").
[0090] Having interpreted the query request 136, the query module
124 issues at least one of an IEI request as query information 138
to the IEI module 122 (e.g., when receiving a simple new query
request) and a collections request 132 to the collections module
120 (e.g., based on two or more query requests 136 requiring more
substantive content gathering). The IEI request of the query
information 138 includes one or more of an identifier (ID) of the
query module 124, an ID of the requester (e.g., the user device
12-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).
[0091] Having received the query information 138 that includes the
IEI request from the query module 124, the IEI module 122
determines whether a satisfactory response can be generated based
on currently available knowledge, including that of the query
request 136. 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, the IEI module
122 facilitates collecting more content. The facilitating includes
issuing a collections request to the collections module 120 of the
AI server 20-1 and/or to another server or user device, and
interpreting a subsequent collections response 134 of collections
information 130 that includes further content to produce further
knowledge to enable a more favorable answer.
[0092] When the IEI module 122 indicates that the satisfactory
response can be generated, the IEI module 122 issues an IEI
response as query information 138 to the query module 124. 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
the collections response 134 of the collections information 130 and
the IEI request, and sending the IEI response as the query
information 138 to the query module 124. Alternatively, or in
addition to, at least some of the further content collected by the
collections module 120 is utilized to generate a collections
response 134 issued by the collections module 120 to the query
module 124. The collections response 134 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.
[0093] Having received the query information 138 from the IEI
module 122, the query module 124 issues a query response 140 to the
requester based on the IEI response and/or the collections response
134 directly from the collections module 120, where the collection
module 120 generates the collections response 134 based on
collected content and the collections request 132. The query
response 140 includes one or more of an answer, answer timing, an
answer quality level, and answer assumptions.
[0094] 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 with FIGS. 1-3, 4A-4B, and also FIG. 4C. The method
includes step 150 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.
[0095] The method continues at step 152 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
at step 154 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.
[0096] The method continues at step 156 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.
[0097] The method continues at step 158 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 at step 160 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.
[0098] The method continues at step 162 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 step
166 when the IEI module determines that the satisfactory query
response can be generated. The method continues to step 164 when
the IEI module determines that the satisfactory query response
cannot be generated. When the satisfactory query response cannot be
generated, the method continues at step 164 where the IEI module
facilitates collecting more content. The method loops back to step
150.
[0099] When the satisfactory query response can be generated, the
method continues at step 166 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 at step 168 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.
[0100] The method described above in conjunction with the
processing module can alternatively be performed by other modules
of the computing system 10 of FIG. 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 the computing system 10,
cause the one or more computing devices to perform any or all of
the method steps described above.
[0101] FIG. 5A is a schematic block diagram of an embodiment of the
collections module 120 of FIG. 4A that includes a content
acquisition module 180, a content selection module 182, a source
selection module 184, a content security module 186, an acquisition
timing module 188, a content transformation module 190, and a
content quality module 192. Generally, an embodiment of this
invention presents solutions where the collections module 120
supports collecting content.
[0102] In an example of operation of the collecting of the content,
the content acquisition module 180 receives a collections request
132 from a requester. The content acquisition module 180 obtains
content selection information 194 based on the collections request
132. The content selection information 194 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, the content
acquisition module 180 receives the content selection information
194 from the content selection module 182, where the content
selection module 182 generates the content selection information
194 based on a content selection information request from the
content acquisition module 180 and where the content acquisition
module 180 generates the content selection information request
based on the collections request 132.
[0103] The content acquisition module 180 obtains source selection
information 196 based on the collections request 132. The source
selection information 196 includes one or more of candidate source
identifiers, a content profile, selected sources, source priority
levels, and recommended source access timing. For example, the
content acquisition module 180 receives the source selection
information 196 from the source selection module 184, where the
source selection module 184 generates the source selection
information 196 based on a source selection information request
from the content acquisition module 180 and where the content
acquisition module 180 generates the source selection information
request based on the collections request 132.
[0104] The content acquisition module 180 obtains acquisition
timing information 200 based on the collections request 132. The
acquisition timing information 200 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, the content
acquisition module 180 receives the acquisition timing information
200 from the acquisition timing module 188, where the acquisition
timing module 188 generates the acquisition timing information 200
based on an acquisition timing information request from the content
acquisition module 180 and where the content acquisition module 180
generates the acquisition timing information request based on the
collections request 132.
[0105] Having obtained the content selection information 194, the
source selection information 196, and the acquisition timing
information 200, the content acquisition module 180 issues a
content request 126 to a content source utilizing security
information 198 from the content security module 186, where the
content acquisition module 180 generates the content request 126 in
accordance with the content selection information 194, the source
selection information 196, and the acquisition timing information
200. The security information 198 includes one or more of source
priority requirements, requester security information, available
security procedures, and security credentials for trust and/or
encryption. For example, the content acquisition module 180
generates the content request 126 to request a particular content
type in accordance with the content selection information 194 and
to include security parameters of the security information 198,
initiates sending of the content request 126 in accordance with the
acquisition timing information 200, and sends the content request
126 to a particular targeted content source in accordance with the
source selection information 196.
[0106] In response to receiving a content response 128, the content
acquisition module 180 determines the quality level of received
content extracted from the content response 128. For example, the
content acquisition module 180 receives content quality information
204 from the content quality module 192, where the content quality
module 192 generates the quality level of the received content
based on receiving a content quality request from the content
acquisition module 180 and where the content acquisition module 180
generates the content quality request based on content extracted
from the content response 128. 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.
[0107] When the quality level is below a minimum desired quality
threshold level, the content acquisition module 180 facilitates
acquisition of further content. The facilitating includes issuing
another content request 126 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, the content acquisition module 180 issues
a collections response 134 to the requester. The issuing includes
processing the content in accordance with a transformation approach
to produce transformed content, generating the collections response
134 to include the transformed content, and sending the collections
response 134 to the requester. The processing of the content to
produce the transformed content includes receiving content
transformation information 202 from the content transformation
module 190, where the content transformation module 190 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.
[0108] 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 with FIGS. 1-3,
4A-4C, 5A, and also FIG. 5B. The method includes step 210 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 at step 212 where
the processing module determines content selection information. The
determining includes interpreting the collections request to
identify requirements of the content.
[0109] The method continues at step 214 for 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
at step 216 for 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 at step
218 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.
[0110] The method continues at step 220 for 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 step 224 when the content quality level is
favorable and the method continues to step 222 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.
[0111] When the content quality level is unfavorable, the method
continues at step 222 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 at step 224 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.).
[0112] The method described above in conjunction with the
processing module can alternatively be performed by other modules
of the computing system 10 of FIG. 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 the computing system 10,
cause the one or more computing devices to perform any or all of
the method steps described above.
[0113] FIG. 5C is a schematic block diagram of an embodiment of the
query module 124 of FIG. 4A that includes an answer acquisition
module 230, a content requirements module 232 a source requirements
module 234, a content security module 236, an answer timing module
238, an answer transformation module 240, and an answer quality
module 242. Generally, an embodiment of this invention presents
solutions where the query module 124 supports responding to a
query.
[0114] In an example of operation of the responding to the query,
the answer acquisition module 230 receives a query request 136 from
a requester. The answer acquisition module 230 obtains content
requirements information 248 based on the query request 136. The
content requirements information 248 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 the query request 136. For
example, the answer acquisition module 230 receives the content
requirements information 248 from the content requirements module
232, where the content requirements module 232 generates the
content requirements information 248 based on a content
requirements information request from the answer acquisition module
230 and where the answer acquisition module 230 generates the
content requirements information request based on the query request
136.
[0115] The answer acquisition module 230 obtains source
requirements information 250 based on the query request 136. The
source requirements information 250 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, the answer
acquisition module 230 receives the source requirements information
250 from the source requirements module 234, where the source
requirements module 234 generates the source requirements
information 250 based on a source requirements information request
from the answer acquisition module 230 and where the answer
acquisition module 230 generates the source requirements
information request based on the query request 136.
[0116] The answer acquisition module 230 obtains answer timing
information 254 based on the query request 136. The answer timing
information 254 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,
the answer acquisition module 230 receives the answer timing
information 254 from the answer timing module 238, where the answer
timing module 238 generates the answer timing information 254 based
on an answer timing information request from the answer acquisition
module 230 and where the answer acquisition module 230 generates
the answer timing information request based on the query request
136.
[0117] Having obtained the content requirements information 248,
the source requirements information 250, and the answer timing
information 254, the answer acquisition module 230 determines
whether to issue an IEI request 244 and/or a collections request
132 based on one or more of the content requirements information
248, the source requirements information 250, and the answer timing
information 254. For example, the answer acquisition module 230
selects the IEI request 244 when an immediate answer to a simple
query request 136 is required and is expected to have a favorable
quality level. As another example, the answer acquisition module
230 selects the collections request 132 when a longer-term answer
is required as indicated by the answer timing information to before
and/or when the query request 136 has an unfavorable quality
level.
[0118] When issuing the IEI request 244, the answer acquisition
module 230 generates the IEI request 244 in accordance with
security information 252 received from the content security module
236 and based on one or more of the content requirements
information 248, the source requirements information 250, and the
answer timing information 254. Having generated the IEI request
244, the answer acquisition module 230 sends the IEI request 244 to
at least one IEI module.
[0119] When issuing the collections request 132, the answer
acquisition module 230 generates the collections request 132 in
accordance with the security information 252 received from the
content security module 236 and based on one or more of the content
requirements information 248, the source requirements information
250, and the answer timing information 254. Having generated the
collections request 132, the answer acquisition module 230 sends
the collections request 132 to at least one collections module.
Alternatively, the answer acquisition module 230 facilitate sending
of the collections request 132 to one or more various user devices
(e.g., to access a subject matter expert).
[0120] The answer acquisition module 230 determines a quality level
of a received answer extracted from a collections response 134
and/or an IEI response 246. For example, the answer acquisition
module 230 extracts the quality level of the received answer from
answer quality information 258 received from the answer quality
module 242 in response to an answer quality request from the answer
acquisition module 230. When the quality level is unfavorable, the
answer acquisition module 230 facilitates obtaining a further
answer. The facilitation includes issuing at least one of a further
IEI request 244 and a further collections request 132 to generate a
further answer for further quality testing. When the quality level
is favorable, the answer acquisition module 230 issues a query
response 140 to the requester. The issuing includes generating the
query response 140 based on answer transformation information 256
received from the answer transformation module 240, where the
answer transformation module 240 generates the answer
transformation information 256 to include a transformed answer
based on receiving the answer from the answer acquisition module
230. The answer transformation information 250 6A 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.
[0121] 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 with FIGS.
1-3, 4A-4C, 5C, and also FIG. 5D. The method includes step 270
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
at step 272 where the processing module determines content
requirements information. The determining includes interpreting the
query request to produce the content requirements. The method
continues at step 274 where the processing module determines source
requirements information. The determining includes interpreting the
query request to produce the source requirements. The method
continues at step 276 where the processing module determines answer
timing information. The determining includes interpreting the query
request to produce the answer timing information.
[0122] The method continues at step 278 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.
[0123] When issuing the IEI request, the method continues at step
280 where the processing module issues the IEI request to an IEI
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.
[0124] When issuing the collections request, the method continues
at step 282 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
IEI request and the collections request when a satisfactory partial
answer may be provided based on a corresponding IEI response and a
further more generalized and specific answer may be provided based
on a corresponding collections response and associated further IEI
response.
[0125] The method continues at step 284 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 IEI 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
step 288 when the quality level is favorable and the method
continues to step 286 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.
[0126] When the quality level is unfavorable, the method continues
at step 286 where the processing module obtains a further answer.
The obtaining includes at least one of issuing a further IEI
request and a further collections request to facilitate obtaining
of a further answer for further answer quality level testing as the
method loops back to step 270. When the quality level is favorable,
the method continues at step 288 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.
[0127] The method described above in conjunction with the
processing module can alternatively be performed by other modules
of the computing system 10 of FIG. 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 the computing system 10,
cause the one or more computing devices to perform any or all of
the method steps described above.
[0128] FIG. 5E is a schematic block diagram of an embodiment of the
identigen entigen intelligence (IEI) module 122 of FIG. 4A that
includes a content ingestion module 300, an element identification
module 302, and interpretation module 304, and answer resolution
module 306, and an IEI control module 308. Generally, an embodiment
of this invention presents solutions where the IEI module 122
supports interpreting content to produce knowledge that may be
utilized to answer questions.
[0129] In an example of operation of the producing and utilizing of
the knowledge, the content ingestion module 300 generates formatted
content 314 based on question content 312 and/or source content
310, where the IEI module 122 receives an IEI request 244 that
includes the question content 312 and the IEI module 122 receives a
collections response 134 that includes the source content 310. The
source content 310 includes content from a source extracted from
the collections response 134. The question content 312 includes
content extracted from the IEI request 244 (e.g., content paired
with a question). The content ingestion module 300 generates the
formatted content 314 in accordance with a formatting approach
(e.g., creating proper sentences from words of the content). The
formatted content 314 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).
[0130] The element identification module 302 processes the
formatted content 314 based on element rules 318 and an element
list 332 to produce identified element information 340. Rules 316
includes the element rules 318 (e.g., match, partial match,
language translation, etc.). Lists 330 includes the element list
332 (e.g., element ID, element context ID, element usage ID, words,
characters, symbols etc.). The IEI control module 308 may provide
the rules 316 and the lists 330 by accessing stored data 360 from a
memory associated with the IEI module 122. Generally, an embodiment
of this invention presents solutions where the stored data 360 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.
[0131] The identified element information 340 includes one or more
of identifiers of elements identified in the formatted content 314,
may include ordering and/or sequencing and grouping information.
For example, the element identification module 302 compares
elements of the formatted content 314 to known elements of the
element list 332 to produce identifiers of the known elements as
the identified element information 340 in accordance with the
element rules 318. Alternatively, the element identification module
302 outputs un-identified element information 342 to the IEI
control module 308, where the un-identified element information 342
includes temporary identifiers for elements not identifiable from
the formatted content 314 when compared to the element list
332.
[0132] The interpretation module 304 processes the identified
element information 340 in accordance with interpretation rules 320
(e.g., potentially valid permutations of various combinations of
identified elements), question information 346 (e.g., a question
extracted from the IEI request to hundred 44 which may be paired
with content associated with the question), and a groupings list
334 (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 interpreted information 344. The interpreted information
344 includes potentially valid interpretations of combinations of
identified elements. Generally, an embodiment of this invention
presents solutions where the interpretation module 304 supports
producing the interpreted information 344 by considering
permutations of the identified element information 340 in
accordance with the interpretation rules 320 and the groupings list
334.
[0133] The answer resolution module 306 processes the interpreted
information 344 based on answer rules 322 (e.g., guidance to
extract a desired answer), the question information 346, and
inferred question information 352 (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 produce preliminary answers
354 and an answer quality level 356. The answer generally lies in
the interpreted information 344 as both new content received and
knowledge based on groupings list 334 generated based on previously
received content. The preliminary answers 354 includes an answer to
a stated or inferred question that subject further refinement. The
answer quality level 356 includes a determination of a quality
level of the preliminary answers 354 based on the answer rules 322.
The inferred question information 352 may further be associated
with time information 348, 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.
[0134] When the IEI control module 308 determines that the answer
quality level 356 is below an answer quality threshold level, the
IEI control module 308 facilitates collecting of further content
(e.g., by issuing a collections request 132 and receiving
corresponding collections responses 134 for analysis). When the
answer quality level 356 compares favorably to the answer quality
threshold level, the IEI control module 308 issues an IEI response
246 based on the preliminary answers 354. When receiving training
information 358, the IEI control module 308 facilitates updating of
one or more of the lists 330 and the rules 316 and stores the
updated list 330 and the updated rules 316 in the memories as
updated stored data 360.
[0135] 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 with FIGS. 1-3,
4A-4C, 5E, and also FIG. 5F. The method includes step 370 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.
[0136] The method continues at step 372 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).
[0137] The method continues at step 374 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.
[0138] The method continues at step 376 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.
[0139] The method continues at step 378 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.
[0140] The method continues at step 380 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 step 384 when the
answer quality level is favorable and the method continues to step
382 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.
[0141] When the answer quality level is unfavorable, the method
continues at step 382 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 at step 384 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.
[0142] The method described above in conjunction with the
processing module can alternatively be performed by other modules
of the computing system 10 of FIG. 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 the computing system 10,
cause the one or more computing devices to perform any or all of
the method steps described above.
[0143] FIG. 6A is a schematic block diagram of an embodiment of the
element identification module 302 of FIG. 5A and the interpretation
module 304 of FIG. 5A. The element identification module 302
includes an element matching module 400 and an element grouping
module 402. The interpretation module 304 includes a grouping
matching module 404 and a grouping interpretation module 406.
Generally, an embodiment of this invention presents solutions where
the element identification module 302 supports identifying
potentially valid permutations of groupings of elements while the
interpretation module 304 interprets the potentially valid
permutations of groupings of elements to produce interpreted
information that includes the most likely of groupings based on a
question.
[0144] In an example of operation of the identifying of the
potentially valid permutations of groupings of elements, when
matching elements of the formatted content 314, the element
matching module 400 generates matched elements 412 (e.g.,
identifiers of elements contained in the formatted content 314)
based on the element list 332. For example, the element matching
module 400 matches a received element to an element of the element
list 332 and outputs the matched elements 412 to include an
identifier of the matched element. When finding elements that are
unidentified, the element matching module 400 outputs un-recognized
words information 408 (e.g., words not in the element list 332, may
temporarily add) as part of un-identified element information 342.
For example, the element matching module 400 indicates that a match
cannot be made between a received element of the formatted content
314, generates the unrecognized words info 408 to include the
received element and/or a temporary identifier, and issues and
updated element list 414 that includes the temporary identifier and
the corresponding unidentified received element.
[0145] The element grouping module 402 analyzes the matched
elements 412 in accordance with element rules 318 to produce
grouping error information 410 (e.g., incorrect sentence structure
indicators) when a structural error is detected. The element
grouping module 402 produces identified element information 340
when favorable structure is associated with the matched elements in
accordance with the element rules 318. The identified element
information 340 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.
[0146] In an example of operation of the interpreting of the
potentially valid permutations of groupings of elements to produce
the interpreted information, the grouping matching module 404
analyzes the identified element information 340 in accordance with
a groupings list 334 to produce validated groupings information
416. For example, the grouping matching module 404 compares a
grouping aspect of the identified element information 340 (e.g.,
for each permutation of groups of elements of possible
interpretations), generates the validated groupings information 416
to include identification of valid permutations aligned with the
groupings list 334. Alternatively, or in addition to, the grouping
matching module 404 generates an updated groupings list 418 when
determining a new valid grouping (e.g., has favorable structure and
interpreted meaning) that is to be added to the groupings list
334.
[0147] The grouping interpretation module 406 interprets the
validated groupings information 416 based on the question
information 346 and in accordance with the interpretation rules 320
to produce interpreted information 344 (e.g., most likely
interpretations, next most likely interpretations, etc.). For
example, the grouping interpretation module 406 obtains context,
obtains favorable historical interpretations, processes the
validated groupings based on interpretation rules 320, where each
interpretation is associated with a correctness likelihood
level.
[0148] 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 with FIGS. 1-3,
4A-4C, 5E-5F, 6A, and also FIG. 6B. The method includes step 430
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 step 434 and when there is a match, the method
continues to step 432. When there is a match, the method continues
at step 432 for 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 at
step 434 where the processing module outputs unrecognized words
(e.g., elements and/or a temporary identifier for the unmatched
element).
[0149] The method continues at step 436 for 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
step 440 when the analysis is unfavorable and the method continues
to step 438 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 at step 438 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 at step 440 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).
[0150] The method continues at step 442 for 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.
[0151] The method continues at step 444 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).
[0152] The method described above in conjunction with the
processing module can alternatively be performed by other modules
of the computing system 10 of FIG. 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 the computing system 10,
cause the one or more computing devices to perform any or all of
the method steps described above.
[0153] FIG. 6C is a schematic block diagram of an embodiment of the
answer resolution module 306 of FIG. 5A that includes an interim
answer module 460, and answer prioritization module 462, and a
preliminary answer quality module 464. Generally, an embodiment of
this invention presents solutions where the answer resolution
module 306 supports producing an answer for interpreted information
344.
[0154] In an example of operation of the providing of the answer,
the interim answer module 460 analyzes the interpreted information
344 based on question information 346 and inferred question
information 352 to produce interim answers 466 (e.g., answers to
stated and/or inferred questions without regard to rules that is
subject to further refinement). The answer prioritization module
462 analyzes the interim answers 466 based on answer rules 322 to
produce preliminary answer 354. For example, the answer
prioritization module 462 identifies all possible answers from the
interim answers 466 that conform to the answer rules 322.
[0155] The preliminary answer quality module 464 analyzes the
preliminary answers 354 in accordance with the question information
346, the inferred question information 352, and the answer rules
322 to produce an answer quality level 356. For example, for each
of the preliminary answers 354, the preliminary answer quality
module 464 may compare a fit of the preliminary answer 354 to a
corresponding previous answer and question quality level, calculate
the answer quality level 356 based on a level of conformance to the
answer rules 322, calculate the answer quality level 356 based on
alignment with the inferred question information 352, and determine
the answer quality level 356 based on an interpreted correlation
with the question information 346.
[0156] 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 with FIGS. 1-3,
4A-4C, 5E-5F, 6C, and also FIG. 6D. The method includes step 480
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.
[0157] The method continues at step 482 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 at step 484 for
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.
[0158] The method described above in conjunction with the
processing module can alternatively be performed by other modules
of the computing system 10 of FIG. 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 the computing system 10,
cause the one or more computing devices to perform any or all of
the method steps described above.
[0159] FIG. 7A is an information flow diagram for interpreting
information within a computing system, where sets of entigens 504
are interpreted from sets of identigens 502 which are interpreted
from sentences of words 500. 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 base (e.g.,
comparing the set of entigens to the knowledge base) to produce a
preliminary answer, and generating the answer quality level based
on the preliminary answer for a corresponding domain.
[0160] 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 of words 500 can include many different
forms of sentences that mean vastly different things even when the
words are very similar.
[0161] The present invention presents solutions where the computing
system 10 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 of
identigens 502. 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.
[0162] 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 of entigens 504. 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.
[0163] 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.
[0164] FIG. 7B is a relationship block diagram illustrating an
embodiment of relationships between things 510 and representations
of things 512 within a computing system. The things 510 includes
conceivable and perceivable things including actions 522, items
524, and attributes 526. The representation of things 512 includes
representations of things used by humans 514 and representation of
things used by of computing devices 516 of embodiments of the
present invention. The things 510 relates to the representations of
things used by humans 514 where the invention presents solutions
where the computing system 10 supports mapping the representations
of things used by humans 514 to the representations of things used
by computing devices 516, where the representations of things used
by computing devices 516 map back to the things 510.
[0165] The representations of things used by humans 514 includes
textual words 528, textual symbols 530, images (e.g., non-textual)
532, and other sensorial information 534 (e.g., sounds, sensor
data, electrical fields, voice inflections, emotion
representations, facial expressions, whistles, etc.). The
representations of things used by computing devices 516 includes
identigens 518 and entigens 520. The representations of things used
by humans 514 maps to the identigens 518 and the identigens 518 map
to the entigens 520. The entigens 520 uniquely maps back to the
things 510 in space and time, a truest meaning the computer is
looking for to create knowledge and answer questions based on the
knowledge.
[0166] To accommodate the mapping of the representations of things
used by humans 514 to the identigens 518, the identigens 518 is
partitioned into actenyms 544 (e.g., actions), itenyms 546 (e.g.,
items), attrenyms 548 (e.g., attributes), and functionals 550
(e.g., that join and/or describe). Each of the actenyms 544,
itenyms 546, and attrenyms 548 may be further classified into
singulatums 552 (e.g., identify one unique entigen) and pluratums
554 (e.g., identify a plurality of entigens that have
similarities).
[0167] Each identigen 518 is associated with an identigens
identifier (IDN) 536. The IDN 536 includes a meaning identifier
(ID) 538 portion, an instance ID 540 portion, and a type ID 542
portion. The meaning ID 538 includes an identifier of common
meaning. The instance ID 540 includes an identifier of a particular
word and language. The type ID 542 includes one or more identifiers
for actenyms, itenyms, attrenyms, singulatums, pluratums, a time
reference, and any other reference to describe the IDN 536. The
mapping of the representations of things used by humans 514 to the
identigens 518 by the computing system of the present invention
includes determining the identigens 518 in accordance with logic
and instructions for forming groupings of words.
[0168] Generally, an embodiment of this invention presents
solutions where the identigens 518 map to the entigens 520.
Multiple identigens may map to a common unique entigen. The mapping
of the identigens 518 to the entigens 520 by the computing system
of the present invention includes determining entigens in
accordance with logic and instructions for forming groupings of
identigens.
[0169] FIG. 7C is a diagram of an embodiment of a synonym words
table 570 within a computing system, where the synonym words table
570 includes multiple fields including textual words 572,
identigens 518, and entigens 520. The identigens 518 includes
fields for the meaning identifier (ID) 538 and the instance ID 540.
The computing system of the present invention may utilize the
synonym words table 570 to map textual words 572 to identigens 518
and map the identigens 518 to entigens 520. 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.
[0170] FIG. 7D is a diagram of an embodiment of a polysemous words
table 576 within a computing system, where the polysemous words
table 576 includes multiple fields including textual words 572,
identigens 518, and entigens 520. The identigens 518 includes
fields for the meaning identifier (ID) 538 and the instance ID 540.
The computing system of the present invention may utilize the
polysemous words table 576 to map textual words 572 to identigens
518 and map the identigens 518 to entigens 520. 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.
[0171] FIG. 7E is a diagram of an embodiment of transforming words
into groupings within a computing system that includes a words
table 580, a groupings of words section to validate permutations of
groupings, and a groupings table 584 to capture the valid
groupings. The words table 580 includes multiple fields including
textual words 572, identigens 518, and entigens 520. The identigens
518 includes fields for the meaning identifier (ID) 538, the
instance ID 540, and the type ID 542. The computing system of the
present invention may utilize the words table 580 to map textual
words 572 to identigens 518 and map the identigens 518 to entigens
520. For example, the word pilot may refer to a flyer and the
action to fly. Each meaning has a different identigen and different
entigen.
[0172] The computing system the present invention may apply rules
to the fields of the words table 580 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.
[0173] The groupings table 584 includes multiple fields including
grouping ID 586, word strings 588, identigens 518, and entigens
520. The computing system of the present invention may produce the
groupings table 584 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. The entigen field 520
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, the entigen field 520 may be
populated with a single entigen identifier (ENI).
[0174] The word strings field 588 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
table 584 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.
[0175] FIG. 8A is a data flow diagram for accumulating knowledge
within a computing system, where a computing device, at a time=t0,
ingests and processes facts 598 at a step 590 based on rules 316
and fact base information 600 to produce groupings 602 for storage
in a fact base 592 (e.g., words, phrases, word groupings,
identigens, entigens, quality levels). The facts 598 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). The
groupings 602 includes one or more of groupings identifiers,
identigen identifiers, entigen identifiers, and estimated fit
quality levels. The processing step 590 may include identifying
identigens from words of the facts 598 in accordance with the rules
316 and the fact base info 600 and identifying groupings utilizing
identigens in accordance with rules 316 and fact base info 600.
[0176] Subsequent to ingestion and processing of the facts 598 to
establish the fact base 592, at a time=t1+, the computing device
ingests and processes new content 604 at a step 594 in accordance
with the rules 316 and the fact base information 600 to produce
preliminary grouping 606. The new content may include updated
content (e.g., timewise) from periodicals, newsfeeds, social media,
etc. The preliminary grouping 606 includes one or more of
preliminary groupings identifiers, preliminary identigen
identifiers, preliminary entigen identifiers, estimated fit quality
levels, and representations of unidentified words.
[0177] The computing device validates the preliminary groupings 606
at a step 596 based on the rules 316 and the fact base info 600 to
produce updated fact base info 608 for storage in the fact base
592. The validating includes one or more of reasoning a fit of
existing fact base info 600 with the new preliminary grouping 606,
discarding preliminary groupings, updating just time frame
information associated with an entry of the existing fact base info
600 (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).
[0178] Storage of the updated fact base information 608 captures
patterns that develop by themselves instead of searching for
patterns as in prior art artificial intelligence systems. Growth of
the fact base 592 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.
[0179] FIG. 8B is a diagram of an embodiment of a groupings table
620 within a computing system. The groupings table 620 includes
multiple fields including grouping ID 586, word strings 588, an IF
string 622 and a THEN string 624. Each of the fields for the IF
string 622 and the THEN string 624 includes fields for an identigen
(IDN) string 626, and an entigen (ENI) string 628. The computing
system of the present invention may produce the groupings table 620
as a stored fact base to enable IF THEN based inference to generate
a new knowledge inference 630.
[0180] As a specific example, grouping 5493 points out the logic of
IF someone has a tumor, THEN someone is sick and the grouping 5494
points of the logic that IF someone is sick, THEN someone is sad.
As a result of utilizing inference, the new knowledge inference 630
may produce grouping 5495 where IF someone has a tumor, THEN
someone is possibly sad (e.g., or is sad).
[0181] FIG. 8C is a data flow diagram for answering questions
utilizing accumulated knowledge within a computing system, where a
computing device ingests and processes question information 346 at
a step 640 based on rules 316 and fact base info 600 from a fact
base 592 to produce preliminary grouping 606. The ingesting and
processing questions step 640 includes identifying identigens from
words of a question in accordance with the rules 316 and the fact
base information 600 and may also include identifying groupings
from the identified identigens in accordance with the rules 316 and
the fact base information 600.
[0182] The computing device validates the preliminary grouping 606
at a step 596 based on the rules 316 and the fact base information
600 to produce identified element information 340. For example, the
computing device reasons fit of existing fact base information with
new preliminary groupings 606 to produce the identified element
information 340 associated with highest quality levels. The
computing device interprets a question of the identified element
information 340 at a step 642 based on the rules 316 and the fact
base information 600. The interpreting of the question may include
separating new content from the question and reducing the question
based on the fact base information 600 and the new content.
[0183] The computing device produces preliminary answers 354 from
the interpreted information 344 at a resolve answer step 644 based
on the rules 316 and the fact base information 600. For example,
the computing device compares the interpreted information 344 two
the fact base information 600 to produce the preliminary answers
354 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 the question information 346 to update
the fact base 592.
[0184] FIG. 8D is a data flow diagram for answering questions
utilizing interference within a computing system that includes a
groupings table 648 and the resolve answer step 644 of FIG. 8C. The
groupings table 648 includes multiple fields including fields for a
grouping (GRP) identifier (ID) 586, word strings 588, an identigen
(IDN) string 626, and an entigen (ENI) 628. The groupings table 648
may be utilized to build a fact base to enable resolving a future
question into an answer. For example, the grouping 8356 notes
knowledge that Michael sleeps eight hours and grouping 8357 notes
that Michael usually starts to sleep at 11 PM.
[0185] In a first question example that includes a question
"Michael sleeping?", the resolve answer step 644 analyzes the
question from the interpreted information 344 in accordance with
the fact base information 600, the rules 316, 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.
[0186] In a second question example that includes the question
"Michael sleeping?", the resolve answer step 644 analyzes the
question from the interpreted information 344 in accordance with
the fact base information 600, the rules 316, 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.
[0187] 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.
[0188] Humans utilize textual words 528 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.
[0189] 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."
[0190] To stratify word types by use, the words are associated with
a word type (e.g., type identifier 542). The word types include
objects (e.g., items 524), characteristics (e.g., attributes 526),
actions 522, and the functionals 550 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.
[0191] To determine possible meanings, the words, by word type, are
mapped to associative meanings (e.g., identigens 718). 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).
[0192] For the example of the word "bat" when utilized as a noun
for the baseball bat, a first identigen identifier 536-1 includes a
type ID 542-1 associated with the object 524, an instance ID 540-1
associated with the first identigen identifier (e.g., unique for
the baseball bat), and a meaning ID 538-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 identifier 536-2
includes a type ID 542-1 associated with the object 524, an
instance ID 540-2 associated with the second identigen identifier
(e.g., unique for the flying bat), and a meaning ID 538-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
identifier 536-2 includes a type ID 542-2 associated with the
actions 522, an instance ID 540-3 associated with the third
identigen identifier (e.g., unique for the bat that hits), and a
meaning ID 538-3 associated with the bat that hits.
[0193] 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 base that represents knowledge by linked
entigens, the absolute meaning (e.g., entigen 520) 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).
[0194] An embodiment of methods to ingest text to produce absolute
meanings for storage in a knowledge base are discussed in greater
detail with reference to FIGS. 8F-H. Those embodiments further
discuss the discerning of the grammatical use, the use of the
rules, and the utilization of the knowledge base to definitively
interpret the absolute meaning of a string of words.
[0195] Another embodiment of methods to respond to a query to
produce an answer based on knowledge stored in the knowledge base
are discussed in greater detail with reference to FIGS. 8J-L. Those
embodiments further discuss the discerning of the grammatical use,
the use of the rules, and the utilization of the knowledge base to
interpret the query. The query interpretation is utilized to
extract the answer from the knowledge base to facilitate forming
the query response.
[0196] FIGS. 8F and 8G are schematic block diagrams of another
embodiment of a computing system that includes the content
ingestion module 300 of FIG. 5E, the element identification module
302 of FIG. 5E, the interpretation module 304 of FIG. 5E, the IEI
control module 308 of FIG. 5E, and the SS memory 96 of FIG. 2.
Generally, an embodiment of this invention provides presents
solutions where the computing system 10 supports processing content
to produce knowledge for storage in a knowledge base.
[0197] 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 in FIG. 8F, a specific example of the first step
includes the content ingestion module 300 comparing words of source
content 310 to dictionary entries to produce formatted content 314
that includes identifiers of known words. Alternatively, when a
comparison is unfavorable, the temporary identifier may be assigned
to an unknown word. For instance, the content ingestion module 300
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 formatted content 314 to
include the identifiers of the words.
[0198] 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 in FIG. 8F, a specific example of the second
step includes the element identification module 302 performing a
look up of identigen identifiers, utilizing an element list 332 and
in accordance with element rules 318, of the one or more identigens
associated with each tokenized word of the formatted content 314 to
produce identified element information 340.
[0199] 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, the
element identification module 302 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.
[0200] 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).
[0201] As depicted in FIG. 8F, a specific example of the third step
includes the interpretation module 304, for each permutation of
identigens of each tokenized word of the identified element
information 340, the interpretation module 304 generates, in
accordance with interpretation rules 320 and a groupings list 334,
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, the interpretation module 304
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 the interpretation module 304 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.
[0202] 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 in
FIG. 8F, a specific example of the fourth step includes the
interpretation module 304 applying interpretation rules 320 (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 interpreted information 344
that includes identification of at least one equation package as a
surviving interpretation SI (e.g., higher quality metric
level).
[0203] 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 NSI 2 (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, the interpretation module 304 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 the groupings list 334 and the
interpretation rules 320 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 the groupings
list 334 and the interpretation rules 320.
[0204] 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 base.
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 base, subsequent access to the knowledge base may utilize
structured query language (SQL) queries.
[0205] As depicted in FIG. 8G, a specific example of the fifth step
includes the IEI control module 308 recovering fact base
information 600 from SS memory 96 to identify a portion of the
knowledge base for potential modification utilizing the OCAs of the
surviving interpretation SI 1 (i.e., compare a pattern of
relationships between the OCAs of the surviving interpretation SI 1
from the interpreted information 344 to relationships of OCAs of
the portion of the knowledge base including potentially new quality
metric levels).
[0206] 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
base based on the new quality metric levels. For instance, the IEI
control module 308 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 the fact base information 600 to
produce updated fact base information 608 for storage in the SS
memory 96.
[0207] 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 with FIGS. 1-8E, 8F, and also FIG. 8G. The method
includes step 650 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.
[0208] For each tokenized word, the method continues at step 651
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 he
different identifiers associated with each of the potential object,
the characteristic, and the action associated with the tokenized
word.
[0209] The method continues at step 652 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.
[0210] The method continues at step 653 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.
[0211] The method continues at step 654 where the processing module
integrates knowledge of the surviving equation package into a
knowledge base. 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 base
to identify a portion of the knowledge base 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 base 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 base 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 base.
[0212] The method described above in conjunction with the
processing module can alternatively be performed by other modules
of the computing system 10 of FIG. 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 the computing system 10,
cause the one or more computing devices to perform any or all of
the method steps described above.
[0213] FIGS. 8J and 8K are schematic block diagrams of another
embodiment of a computing system that includes the content
ingestion module 300 of FIG. 5E, the element identification module
302 of FIG. 5E, the interpretation module 304 of FIG. 5E, the
answer resolution module 306 of FIG. 5E, and the SS memory 96 of
FIG. 2. Generally, an embodiment of this invention provides
solutions where the computing system 10 supports for generating a
query response to a query utilizing a knowledge base.
[0214] 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
in FIG. 8J, a specific example of the first step includes the
content ingestion module 300 comparing words of query info 138 to
dictionary entries to produce formatted content 314 that includes
identifiers of known words. For instance, the content ingestion
module 300 produces identifiers for each word of the query "what
black animal flies and eats fruit and insects?"
[0215] 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 in FIG. 8J, a specific example of the second step
includes the element identification module 302 performing a look up
of identifiers, utilizing an element list 332 and in accordance
with element rules 318, of the one or more identigens associated
with each tokenized word of the formatted content 314 to produce
identified element information 340. A unique identifier is
associated with each of the potential object, the characteristic,
and the action associated with a particular tokenized word. For
instance, the element identification module 302 produces a single
identigen identifier for each of the black color, an animal, flies,
eats, fruit, and insects.
[0216] 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.
[0217] As depicted in FIG. 8J, a specific example of the third step
includes the interpretation module 304, for each permutation of
identigens of each tokenized word of the identified element
information 340, generating the equation packages in accordance
with interpretation rules 320 and a groupings list 334 to produce a
series of equation elements that include pairings of identigens.
For instance, the interpretation module 304 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.
[0218] 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 the interpretation
module 304 applying the interpretation rules 320 (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 interpreted information 344. The
interpreted information 344 includes identification of at least one
equation package as a surviving interpretation SI 10, where
non-surviving equation packages, if any, are eliminated that
compare unfavorably to pairing rules to produce a non-surviving
interpretation.
[0219] A fifth step of the generating the query response to the
query includes utilizing a knowledge base, 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 base.
An answer is extracted from the portion of the knowledge base to
produce the query response.
[0220] As depicted in FIG. 8K, a specific example of the fifth step
includes the answer resolution module 306 interpreting the
surviving interpretation SI 10 of the interpreted information 344
in accordance with answer rules 322 to produce query knowledge QK
10 (i.e., a graphical representation of knowledge when the
knowledge base utilizes a graphical database). For example, the
answer resolution module 306 accesses fact base information 600
from the SS memory 96 to identify the portion of the knowledge base
associated with a favorable comparison of the query knowledge QK 10
(e.g., by comparing attributes of the query knowledge QK 10 to
attributes of the fact base information 600), and generates
preliminary answers 354 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.
[0221] 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 base within a computing system. In particular, a method
is presented for use in conjunction with one or more functions and
features described in conjunction with FIGS. 1-8D, 8J, and also
FIG. 8K. The method includes step 655 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.
[0222] For each tokenized word, the method continues at step 656
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.
[0223] For each permutation of sequential combinations of
identigens, the method continues at step 657 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.
[0224] The method continues at step 658 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.
[0225] The method continues at step 659 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 base 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 base utilizes a graphical database format).
[0226] The processing module accesses fact base information from
the knowledge base to identify the portion of the knowledge base
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 base, aligning favorably comparing
entigens without conflicting entigens). The processing module
extracts an answer from the portion of the knowledge base to
produce the query response.
[0227] The method described above in conjunction with the
processing module can alternatively be performed by other modules
of the computing system 10 of FIG. 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 the computing system 10,
cause the one or more computing devices to perform any or all of
the method steps described above.
[0228] FIG. 9A is a schematic block diagram of another embodiment
of a computing system that includes media sources 660, the
artificial intelligence (AI) server 20-1 of FIG. 1, and the user
device 12-1 of FIG. 1. The media sources 660 includes the content
sources 16-1 through 16-N of FIG. 1. In particular, content sources
associated with media including one or more of newsfeeds, social
media, press releases, blogs, periodicals, etc. The AI server 20-1
includes the processing module 50-1 of FIG. 2 and the solid state
(SS) memory 96 of FIG. 2. The processing module 50-1 includes the
collections module 120 of FIG. 4A, the identigen entigen
intelligence (IEI) module 122 of FIG. 4A, and the query module 124
of FIG. 4A. Generally, an embodiment of this invention provides a
solution to produce a response to a query.
[0229] In an example of operation of the responding to the query,
the query module 124 interprets a received query request 136 to
produce query requirements. The interpreting includes one or more
of determining content requirements, determining source
requirements, determining answer timing requirements, and
identifying at least one domain associated with the query request
136. For example, the query module 124 determines the content
requirements to include facts around the Senate tax bill,
determines the source requirements to include the media sources
660, determines the answer timing requirements to include a two
hour time frame, and identifies politics as the domain when
receiving the query request 136 that includes a question "for the
next two hours, which media sources are most associated with fake
news pertaining to the Senate tax bill?"\
[0230] Having produced the query requirements, the query module 124
issues at least one of an IEI request 244 and a collections request
132 based on the query request 136. For example, the query module
124 generates the IEI request 244 and sends the IEI request 244 to
the IEI module 122 when the source requirements suggest that the
IEI module 122 is able to provide an immediate response. As another
example, the query module 124 generates the collections request 132
and sends the collections request 132 to the collections module 120
when the source requirements suggest that a future time frame is
associated with the query request 136 and more content is required.
For instance, the query module 124 issues the collections request
132 to the collections module 122 facilitate collecting content
over the next two hours and subsequently issues the IEI request 244
to the IEI module 122 to generate the response to the query.
[0231] When receiving the IEI request 244, the IEI module 122
formats the IEI request 244 to produce human expressions that
include question content and question information. The formatting
includes analyzing the IEI request 244 for recognizable human
expressions of question content and question information in
accordance with rules and fact base information 600 (e.g., facts
pertaining to the Senate tax bill) obtained from the SS memory
96.
[0232] Having produced the human expressions, the IEI module 122
applies "IEI processing" to the human expressions to produce one or
more of new knowledge, a preliminary answer, and an answer quality
level associated with the preliminary answer. The IEI processing
includes identifying permutations of identigens, reducing the
permutations in accordance with the rules, mapping the reduced
permutations of identigens to entigens to generate knowledge,
processing the knowledge in accordance with the fact base (e.g.,
fact base info 600) to produce the preliminary answer, and
generating the answer quality level based on the preliminary answer
and the request (e.g., the IEI request 244, the query request
136).
[0233] When the answer quality level is unfavorable, the IEI module
122 issues a collections request 132 to the collections module 120
to gather more content to produce knowledge to enable a desired
favorable quality level of the answer. The issuing includes
generating the collections request 132 based on one or more of the
IEI requests 244, the preliminary answer, elements of the fact base
information 600 (e.g., the present knowledge base), and the answer
quality level.
[0234] The collections module 120 interprets one or more
collections requests 132 to produce content requirements. The
interpreting includes one or more of determining content selection
requirements, determining source selection requirements, and
determining content acquisition timing requirements. For example,
the collections module 120 determines the source selection
requirements to include selecting the content sources 16-1 through
16-N of the media sources 660, determines the content selection
requirements to include content associated with the Senate tax
bill, and determines the content acquisition timing requirements to
include a two hour time span.
[0235] Having produced the content requirements, the collections
module 120 issues a plurality of content requests 126 to a
plurality of content sources identified by the content requirements
(e.g., to the content sources 16-1 through 16-N). For example, the
collections module 120 identifies the plurality of content sources,
generates the content requests based on the content requirements,
and sends the plurality of content requests to the identified
plurality of content sources.
[0236] Having issued the plurality of content requests 126, the
collections module 120 interprets a plurality of content responses
128 to determine whether a response quality level is favorable. The
interpreting includes analyzing the plurality of content responses
128 to produce an estimated response quality level, and indicating
a favorable response quality level when the estimated response
quality level compares favorably to a minimum response quality
threshold level (e.g., greater than). When the response quality
level is favorable, the collections module 120 issues a collections
response 134 to the IEI module 122, where the collections response
134 includes further content. For example, the collections module
120 generates the collections response 134 to include the further
content and the estimated response quality level, and sends the
collections response 134 to the IEI module 122.
[0237] The IEI module 122 analyzes the further content based on one
or more of the IEI request 244 and the fact base information 600 to
produce one or more of updated fact base information (e.g., new
knowledge for storage in the SS memory 96) and a preliminary answer
with an associated preliminary answer quality level. For example,
the IEI module 122 reasons the further content with the fact base
information 600 to produce the preliminary answer which identifies
which sources are trusted and those that are not trusted (e.g.,
fake news). When the answer quality level is favorable, the IEI
module 122 issues an IEI response 246 to the query module 124 where
the IEI response 246 includes the preliminary answer associated
with a favorable answer quality level. The query module 124
interprets the received answer to produce a quality level of the
received answer. For example, the query module 124 analyzes the
preliminary answer in accordance with the query requirements and
the rules to generate the quality level of the received answer.
When the quality level of the received answer is favorable, the
query module 124 issues a query response 140 to the user device
12-1, where the query response 140 includes the answer associated
with the favorable quality level of the answer.
[0238] FIG. 9B is a data flow diagram for answering questions
utilizing accumulated knowledge within a computing system. The data
flow diagram includes the IEI module 122 of FIG. 9A and fact base
information 600 in the form of trusted sources 670 and un-trusted
sources 672. The trusted sources 670 includes a plurality of source
T1-TN groupings table 674 and the trusted sources 672 includes a
plurality of source U1-UN groupings table 676. Each groupings table
674 and 676 includes multiple fields including fields for a group
(GRP) identifier (ID) 586, word strings 588, identigen (IDN) string
626, and an entigen (ENI) 628. For instance, the groupings tables
674 of the trusted sources 670 includes word strings and
identifiers associated with trusted facts, such as the Senate tax
bill has five tax brackets and Senator Smith supports the Senate
tax bill. As another instance, the groupings tables 676 of the
un-trusted sources 672 includes conflicting data such as 4 to 6 tax
brackets and Senator Smith does not support or may not support the
Senate tax bill.
[0239] As an example of operation of providing an answer to a
query, the IEI module 122 interprets the IEI request 244,
facilitates obtaining the fact base information 600, and generates
the preliminary answer based on the rules 316 and associated time
frames relevant to the question of the IEI request 244. For
example, the IEI module 122 generates the preliminary answer to
indicate that "fake is most likely from sources U1-UN", when the
sources U1-UN are affiliated with the un-trusted sources 672. For
instance, the IEI module 122 affiliates the sources U1-UN with the
un-trusted sources 672 when one or more triggers occurs including
source content does not align (e.g., even one instance of
discrepancy) with the fact base info 600 of the trusted sources
670, inaccuracies from each source is above a maximum inaccuracy
threshold level (e.g., too many inaccuracies), when content
elements align with a minority of other sources (e.g., sources have
same misinformation), and when content quality level falls below a
desired content quality threshold level.
[0240] FIG. 9C is a logic diagram of an embodiment of a method for
producing 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 with FIGS.
1-8D, 9A-9B, and also FIG. 9C. The method includes step 680 where a
processing module of one or more processing modules of one or more
computing devices of the computing system interprets a received
query request from a requester to produce query requirements. The
interpreting includes one or more of determining content
requirements, (e.g., to identify and trusted sources), determining
source requirements, determining answer timing requirements, and
identifying a domain associated with the query request.
[0241] The method continues at step 682 where the processing module
IEI processes human expressions of the received query request based
on a fact base generated from previous content to produce a
preliminary answer. The processing may include formatting portions
of the query request in accordance with formatting rules to produce
recognizable human expressions of content and question information.
For example, the processing module produces the question
information to include a request to identify un-trusted sources for
a particular domain (e.g., identifying fake news outlets). The
processing may further include identifying permutations of
identigens within the human expressions, reducing the permutations,
mapping the reduce permutations to entigens to produce knowledge,
processing the knowledge in accordance with a fact base to produce
the preliminary answer, and generating an answer quality level
associated with the preliminary answer. For instance, the
processing module generates a relatively low answer quality level
when the question relates to gathering information over a
subsequent two hours such that more content must be gathered to
produce an answer associated with a higher and more favorable
answer quality level.
[0242] When the answer quality level is unfavorable, the method
continues at step 684 where the processing module generates content
requirements. The generating of the content requirements includes
determining, based on one or more of the query requirements,
preliminary answer, and the answer quality level, one or more of
content selection requirements, source selection requirements, and
acquisition timing requirements.
[0243] The method continues at step 686 for the processing module
obtains further content from a plurality of sources based on the
content requirements. For example, the processing module identifies
the plurality of content sources, generates content requests based
on the content requirements, and sends the plurality of content
requests to the plurality of identified content sources, analyzes a
plurality of content responses to produce an estimated quality
level, indicates favorable quality level when the estimated quality
level compares favorably to a minimum quality threshold level, and
indicates unfavorable quality level to facilitate collective more
content when the estimated quality level compares unfavorably to
the minimum quality threshold level.
[0244] The method continues at step 688 where the processing module
IEI processes human expressions of the further content based on the
fact base to produce an updated preliminary answer that identifies
at least one of trusted and un-trusted sources. For example, the
processing module analyzes, based on one or more of the query
request, the fact base info associated with the identified domain,
and the further content to produce one or more of updated fact base
info (e.g., new knowledge), the updated preliminary answer (e.g.,
updated list of trusted and on trusted sources), and an associated
answer quality level. The analyzing may include reasoning the
further content with the fact base to produce the updated fact base
info and the preliminary answer to include which sources are
trusted and which sources are un-trusted.
[0245] When the updated answer quality level is favorable, the
method continues at step 690 where the processing module issues a
query response to the request are that identifies at least one of
the un-trusted and trusted sources. The issuing includes one or
more of analyzing the preliminary answers in accordance with the
query requirements and the rules to generate the updated quality
level, generating the query response to include the answer
associated with favorable quality level, and sending the query
response to the requester
[0246] The method described above in conjunction with the
processing module can alternatively be performed by other modules
of the computing system 10 of FIG. 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 the computing system 10,
cause the one or more computing devices to perform any or all of
the method steps described above.
[0247] FIG. 10A is a schematic block diagram of another embodiment
of a computing system that includes event content sources 700, the
artificial intelligence (AI) server 20-1 of FIG. 1, and the user
device 12-1 of FIG. 1. The event content sources 700 includes the
content sources 16-1 through 16-N of FIG. 1. In particular, content
sources associated with events including one or more of physical
world data (environmental, structural, machine, etc.), community
beliefs (e.g., social media), and news outlet sources (e.g., press
releases, periodicals, radio broadcast, television news, financial
market news, etc.), etc. The AI server 20-1 includes the processing
module 50-1 of FIG. 2 and the solid state (SS) memory 96 of FIG. 2.
The processing module 50-1 includes the collections module 120 of
FIG. 4A, the identigen entigen intelligence (IEI) module 122 of
FIG. 4A, and the query module 124 of FIG. 4A. Generally, an
embodiment of this invention provides a solution to produce a
response to a query regarding predicting an occurrence (e.g., of a
physical event, storm damage, broken machine damage, a cyber
attack, a physical attack, a political attack, of a thought
transition, etc.).
[0248] In an example of operation of the responding to the query,
the query module 124 interprets a received query request 136 to
produce query requirements. The interpreting includes one or more
of determining content requirements, determining source
requirements, determining answer timing requirements, and
identifying at least one domain associated with the query request
136. For example, the query module 124 determines the content
requirements to include facts that can lead to prediction of the
occurrence, determines the source requirements to include the event
content sources 700, determines the answer timing requirements to
include a timeframe associated with the predicted occurrence, and
identifies a particular type of occurrence as the domain when
receiving the query request 136 that includes a question "provide a
temporal view of likelihood of an [event, condition, state . . . ]
occurring."
[0249] Having produced the query requirements, the query module 124
issues at least one of an IEI request 244 and a collections request
132 based on the query request 136. For example, the query module
124 generates the IEI request 244 and sends the IEI request 244 to
the IEI module 122 when the source requirements suggest that the
IEI module 122 is able to provide an immediate response. As another
example, the query module 124 generates the collections request 132
and sends the collections request 132 to the collections module 120
when the source requirements suggest that a future time frame is
associated with the query request 136 and more content is required.
For instance, the query module 124 issues the collections request
132 to the collections module 122 facilitate collecting content
over the next 20 minutes associated with a typical occurrence of
the query request 136 and subsequently issues the IEI request 244
to the IEI module 122 to generate the response to the query.
[0250] When receiving the IEI request 244, the IEI module 122
formats the IEI request 244 to produce human expressions that
include question content and question information. The formatting
includes analyzing the IEI request 244 for recognizable human
expressions of question content and question information in
accordance with rules and fact base information 600 (e.g., facts
pertaining to the occurrence) obtained from the SS memory 96.
[0251] Having produced the human expressions, the IEI module 122
applies "IEI processing" to the human expressions to produce one or
more of new knowledge, a preliminary answer, and an answer quality
level associated with the preliminary answer. The IEI processing
includes identifying permutations of identigens, reducing the
permutations in accordance with the rules, mapping the reduced
permutations of identigens to entigens to generate knowledge,
processing the knowledge in accordance with the fact base (e.g.,
fact base info 600) to produce the preliminary answer, and
generating the answer quality level based on the preliminary answer
and the request (e.g., the IEI request 244, the query request
136).
[0252] When the answer quality level is unfavorable, the IEI module
122 issues a collections request 132 to the collections module 120
to gather more content to produce knowledge to enable a desired
favorable quality level of the answer. The issuing includes
generating the collections request 132 based on one or more of the
IEI requests 244, the preliminary answer, elements of the fact base
information 600 (e.g., the present knowledge base), and the answer
quality level.
[0253] The collections module 120 interprets one or more
collections requests 132 to produce content requirements. The
interpreting includes one or more of determining content selection
requirements, determining source selection requirements, and
determining content acquisition timing requirements. For example,
the collections module 120 determines the source selection
requirements to include selecting the content sources 16-1 through
16-N of the event content sources 700, determines the content
selection requirements to include content associated with the
occurrence (e.g., scenarios that are affiliated with the
occurrence), and determines the content acquisition timing
requirements to include a time span for collection if any.
[0254] Having produced the content requirements, the collections
module 120 issues a plurality of content requests 126 to a
plurality of content sources identified by the content requirements
(e.g., to the content sources 16-1 through 16-N). For example, the
collections module 120 identifies the plurality of content sources,
generates the content requests based on the content requirements,
and sends the plurality of content requests to the identified
plurality of content sources.
[0255] Having issued the plurality of content requests 126, the
collections module 120 interprets a plurality of content responses
128 to determine whether a response quality level is favorable. The
interpreting includes analyzing the plurality of content responses
128 to produce an estimated response quality level, and indicating
a favorable response quality level when the estimated response
quality level compares favorably to a minimum response quality
threshold level (e.g., greater than). When the response quality
level is favorable, the collections module 120 issues a collections
response 134 to the IEI module 122, where the collections response
134 includes further content. For example, the collections module
120 generates the collections response 134 to include the further
content and the estimated response quality level, and sends the
collections response 134 to the IEI module 122.
[0256] The IEI module 122 analyzes the further content based on one
or more of the IEI request 244 and the fact base information 600 to
produce one or more of updated fact base information (e.g., new
knowledge for storage in the SS memory 96) and a preliminary answer
with an associated preliminary answer quality level. For example,
the IEI module 122 reasons the further content with the fact base
information 600 to produce the preliminary answer which predicts
the likelihood of the occurrence. When the answer quality level is
favorable, the IEI module 122 issues an IEI response 246 to the
query module 124 where the IEI response 246 includes the
preliminary answer associated with a favorable answer quality
level. The query module 124 interprets the received answer to
produce a quality level of the received answer. For example, the
query module 124 analyzes the preliminary answer in accordance with
the query requirements and the rules to generate the quality level
of the received answer. When the quality level of the received
answer is favorable, the query module 124 issues a query response
140 to the user device 12-1, where the query response 140 includes
the answer associated with the favorable quality level of the
answer.
[0257] FIG. 10B is a data flow diagram for predicting an occurrence
utilizing pre-occurrence sequence detection within a computing
system, where a computing device of the computing system performs
the resolve answer step 644, based on rules 316, time 702, and fact
base info 600, on content that includes an estimated value and
desired range for each of n conditions for each N sequences to
produce preliminary answers 354. Each condition of the content
describes status of an outside force that can be determined based
on fact base info 600 (e.g., physical, beliefs, statements, etc.).
The computing device compares the estimated value of the condition
to a desired range (e.g., minimum/maximum of a metric) associated
with the condition to produce the status (e.g., probability of a
factual element based on the comparison. Each sequence includes an
ordered series of conditions that are estimated to have values that
compare favorably to an associated desired value range to complete
the sequence (e.g., ordering may be strict or flexible). The
plurality of sequences may include any number of sequences to link
to the occurrence.
[0258] In an example of operation, one sequence is utilized with
two conditions to provide an estimated factory machine failure
occurrence, where the first condition is a text stream from an
input power monitor indicating that proper power (e.g., within a
desired range associated with the input power, and the second
condition is a data stream from a revolutions per minute (RPM)
monitor of the machine output. The computing device obtains the
content for the first and second conditions, and generates a
preliminary answer 354 that indicates that the factory machine is
expected to fail, when the input power is within the desired range
and that the machine output is associated with a lower than
expected rpm value, and the fact base info 600 includes a grouping
that states that the factory machine fails when the input power is
proper but the rpm output is too low.
[0259] FIG. 10C is a logic diagram of an embodiment of a method for
predicting an occurrence within a computing system. In particular,
a method is presented for use in conjunction with one or more
functions and features described in conjunction with FIGS. 1-8D,
10A-10B, and also FIG. 10C. The method includes step 720 where a
processing module of one or more processing modules of one or more
computing devices of the computing system interprets a received
query request from a requester to produce query requirements with
regards to an occurrence. The interpreting includes one or more of
determining content requirements, (e.g., to gather conditions of
sequences), determining source requirements, determining answer
timing requirements, and identifying a domain associated with the
query request.
[0260] The method continues at step 722 where the processing module
IEI processes human expressions of the received query request based
on a fact base generated from previous content to produce a
preliminary occurrence answer. The processing may include
formatting portions of the query request in accordance with
formatting rules to produce recognizable human expressions of
content and question information. For example, the processing
module produces the question information to include a request to
determine likelihood of an occurrence (e.g., identifying conditions
and scenarios that lead to the occurrence). The processing may
further include identifying permutations of identigens within the
human expressions, reducing the permutations, mapping the reduce
permutations to entigens to produce knowledge, processing the
knowledge in accordance with a fact base to produce the preliminary
answer, and generating an answer quality level associated with the
preliminary answer. For instance, the processing module generates a
relatively low answer quality level when the question relates to
gathering information over a subsequent time frame such that more
content must be gathered to produce an answer associated with a
higher and more favorable answer quality level (e.g., start looking
for values of conditions associated with scenarios to support
answering the likelihood of occurrence question).
[0261] When the answer quality level is unfavorable, the method
continues at step 724 where the processing module generates content
requirements. The generating of the content requirements includes
determining, based on one or more of the query requirements,
preliminary answer, and the answer quality level, one or more of
content selection requirements, source selection requirements, and
acquisition timing requirements.
[0262] The method continues at step 726 where the processing module
obtains further content from a plurality of sources based on the
content requirements. For example, the processing module identifies
the plurality of content sources, generates content requests based
on the content requirements, and sends the plurality of content
requests to the plurality of identified content sources, analyzes a
plurality of content responses to produce an estimated quality
level, indicates favorable quality level when the estimated quality
level compares favorably to a minimum quality threshold level, and
indicates unfavorable quality level to facilitate collective more
content when the estimated quality level compares unfavorably to
the minimum quality threshold level.
[0263] The method continues at step 728 where the processing module
IEI processes human expressions of the further content based on the
fact base to produce an updated preliminary occurrence answer that
identifies the likelihood of the occurrence. For example, the
processing module analyzes, based on one or more of the query
request, the fact base info associated with the identified domain,
and the further content to produce one or more of updated fact base
info (e.g., new knowledge), the updated preliminary occurrence
answer (e.g., likelihood of occurrence), and an associated answer
quality level. The analyzing may include reasoning the further
content with the fact base to produce the updated fact base info
and the preliminary answer to include the likelihood of the
occurrence.
[0264] When the updated answer quality level is favorable, the
method continues at step 730 where the processing module issues a
query response to the request are that predicts the likelihood of
the occurrence. The issuing includes one or more of analyzing the
preliminary answers in accordance with the query requirements and
the rules to generate the updated quality level, generating the
query response to include the answer associated with favorable
quality level, and sending the query response to the requester
[0265] The method described above in conjunction with the
processing module can alternatively be performed by other modules
of the computing system 10 of FIG. 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 the computing system 10,
cause the one or more computing devices to perform any or all of
the method steps described above.
[0266] FIG. 11A is a schematic block diagram of another embodiment
of a computing system that includes medical content sources 740,
the artificial intelligence (AI) server 20-1 of FIG. 1, and the
user device 12-1 of FIG. 1. The medical content sources 740
includes the content sources 16-1 through 16-N of FIG. 1. In
particular, content sources associated with medical information
including one or more of anonymous medical records, family medical
records, individual medical records, dated with regards to emerging
medical scenarios globally and/or by region, DNA-based illness
propensity data, anatomy data, symptoms and illnesses data, social
media data (e.g., illnesses people are talking about by region),
etc. The AI server 20-1 includes the processing module 50-1 of FIG.
2 and the solid state (SS) memory 96 of FIG. 2. The processing
module 50-1 includes the collections module 120 of FIG. 4A, the
identigen entigen intelligence (IEI) module 122 of FIG. 4A, and the
query module 124 of FIG. 4A. Generally, an embodiment of this
invention provides a solution to produce a response to a query
regarding diagnosing an illness.
[0267] In an example of operation of the responding to the query,
the query module 124 interprets a received query request 136 to
produce query requirements. The interpreting includes one or more
of determining content requirements, determining source
requirements, determining answer timing requirements, and
identifying at least one domain associated with the query request
136. For example, the query module 124 determines the content
requirements to include facts that can lead to the diagnosis of the
illness, determines the source requirements to include the medical
content sources 740, determines the answer timing requirements to
include a timeframe associated with the diagnosed illness, and
identifies medical diagnosis as the domain when receiving the query
request 136 that includes a question "what illness could patient X
have with these [symptoms]?"
[0268] Having produced the query requirements, the query module 124
issues at least one of an IEI request 244 and a collections request
132 based on the query request 136. For example, the query module
124 generates the IEI request 244 and sends the IEI request 244 to
the IEI module 122 when the source requirements suggest that the
IEI module 122 is able to provide an immediate response. As another
example, the query module 124 generates the collections request 132
and sends the collections request 132 to the collections module 120
when the source requirements suggest that a future time frame is
associated with the query request 136 and more content is required.
For instance, the query module 124 issues the collections request
132 to the collections module 122 facilitate collecting content
over the next few minutes associated with a typical illness of the
query request 136 and subsequently issues the IEI request 244 to
the IEI module 122 to generate the response to the query.
[0269] When receiving the IEI request 244, the IEI module 122
formats the IEI request 244 to produce human expressions that
include question content and question information. The formatting
includes analyzing the IEI request 244 for recognizable human
expressions of question content and question information in
accordance with rules and fact base information 600 (e.g., facts
pertaining to medical symptoms and associated illnesses) obtained
from the SS memory 96.
[0270] Having produced the human expressions, the IEI module 122
applies "IEI processing" to the human expressions to produce one or
more of new knowledge, a preliminary answer, and an answer quality
level associated with the preliminary answer. The IEI processing
includes identifying permutations of identigens, reducing the
permutations in accordance with the rules, mapping the reduced
permutations of identigens to entigens to generate knowledge,
processing the knowledge in accordance with the fact base (e.g.,
fact base info 600) to produce the preliminary answer, and
generating the answer quality level based on the preliminary answer
and the request (e.g., the IEI request 244, the query request
136).
[0271] When the answer quality level is unfavorable, the IEI module
122 issues a collections request 132 to the collections module 120
to gather more content to produce knowledge to enable a desired
favorable quality level of the answer. The issuing includes
generating the collections request 132 based on one or more of the
IEI requests 244, the preliminary answer, elements of the fact base
information 600 (e.g., the present knowledge base), and the answer
quality level.
[0272] The collections module 120 interprets one or more
collections requests 132 to produce content requirements. The
interpreting includes one or more of determining content selection
requirements, determining source selection requirements, and
determining content acquisition timing requirements. For example,
the collections module 120 determines the source selection
requirements to include selecting the content sources 16-1 through
16-N of the medical content sources 740, determines the content
selection requirements to include content associated with the
symptoms (e.g., symptoms and related illnesses), and determines the
content acquisition timing requirements to include a time span for
collection if any (e.g., immediately within the next few minutes
for medical records since a satisfactory number of medical records
should be available to support the present diagnosis query).
[0273] Having produced the content requirements, the collections
module 120 issues a plurality of content requests 126 to a
plurality of content sources identified by the content requirements
(e.g., to the content sources 16-1 through 16-N). For example, the
collections module 120 identifies the plurality of content sources,
generates the content requests based on the content requirements,
and sends the plurality of content requests to the identified
plurality of content sources.
[0274] Having issued the plurality of content requests 126, the
collections module 120 interprets a plurality of content responses
128 to determine whether a response quality level is favorable. The
interpreting includes analyzing the plurality of content responses
128 to produce an estimated response quality level, and indicating
a favorable response quality level when the estimated response
quality level compares favorably to a minimum response quality
threshold level (e.g., greater than). When the response quality
level is favorable, the collections module 120 issues a collections
response 134 to the IEI module 122, where the collections response
134 includes further content. For example, the collections module
120 generates the collections response 134 to include the further
content and the estimated response quality level, and sends the
collections response 134 to the IEI module 122.
[0275] The IEI module 122 analyzes the further content based on one
or more of the IEI request 244 and the fact base information 600 to
produce one or more of updated fact base information (e.g., new
knowledge for storage in the SS memory 96) and a preliminary answer
with an associated preliminary answer quality level. For example,
the IEI module 122 reasons the further content with the fact base
information 600 to produce the preliminary answer which predicts
the illness for the symptoms. When the answer quality level is
favorable, the IEI module 122 issues an IEI response 246 to the
query module 124 where the IEI response 246 includes the
preliminary answer associated with a favorable answer quality
level. The query module 124 interprets the received answer to
produce a quality level of the received answer. For example, the
query module 124 analyzes the preliminary answer in accordance with
the query requirements and the rules to generate the quality level
of the received answer. When the quality level of the received
answer is favorable, the query module 124 issues a query response
140 to the user device 12-1, where the query response 140 includes
the answer associated with the favorable quality level of the
answer.
[0276] FIG. 11B is a data flow diagram for providing an answer to a
question within a computing system. The data flow diagram includes
the IEI module 122 of FIG. 11A and fact base information 600. The
fact base info 600 includes a plurality of domain D2-DN groupings
tables 750. Each groupings table 750 includes multiple fields
including fields for a group (GRP) identifier (ID) 586, word
strings 588, identigen (IDN) string 626, and an entigen (ENI) 628.
For instance, the groupings tables 750 includes word strings and
identifiers associated with symptoms tied to illnesses.
[0277] As an example of operation of providing an answer to a
query, the IEI module 122 interprets the IEI request 244,
facilitates obtaining the fact base information 600, and generates
the preliminary answer 246 based on the rules 316. For example, the
IEI module 122 generates the preliminary answer to indicate that
"most likely illness for patient X with these [symptoms] is
[illness], next most likely illness for patient X with these
[symptoms] is [illness], etc.", when the domain D1-DN groupings
tables are affiliated with relevant symptoms and associated
illnesses. For instance, the IEI module 122 diagnoses the symptoms
A3, A4, B3 to be associated with illness X1 first and illness Z1
second and illness Y1 third based inference of fact-based 600
considering a sheer number of common symptoms tied to associated
illnesses. Alternatively, the IEI module 122 may predict
misdiagnosis based on previous symptoms tied to incorrect root
cause illnesses of previous diagnosis.
[0278] FIG. 11C is a logic diagram of an embodiment of a method for
providing an answer to a question within a computing system. In
particular, a method is presented for use in conjunction with one
or more functions and features described in conjunction with FIGS.
1-8D, 11A-11B, and also FIG. 11C. The method includes step 760
where a processing module of one or more processing modules of one
or more computing devices of the computing system interprets a
received query request from a requester to produce query
requirements with regards to illness diagnosis. The interpreting
includes one or more of determining content requirements, (e.g., to
gather symptoms related to illnesses), determining source
requirements, determining answer timing requirements, and
identifying a domain associated with the query request.
[0279] The method continues at step 762 where the processing module
IEI processes human expressions of the received query request based
on a fact base generated from previous content to produce a
preliminary illness diagnosis answer. The processing may include
formatting portions of the query request in accordance with
formatting rules to produce recognizable human expressions of
content and question information. For example, the processing
module produces the question information to include a request to
determine the illness diagnosis (e.g., identifying symptoms
associated with illnesses). The processing may further include
identifying permutations of identigens within the human
expressions, reducing the permutations, mapping the reduced
permutations to entigens to produce knowledge, processing the
knowledge in accordance with a fact base to produce the preliminary
answer, and generating an answer quality level associated with the
preliminary answer. For instance, the processing module generates a
relatively low answer quality level when the question relates to
gathering information over a subsequent time frame such that more
content must be gathered to produce an answer associated with a
higher and more favorable answer quality level (e.g., look for
recent medical cases with similar symptoms that have been
successfully diagnosed as particular illnesses).
[0280] When the answer quality level is unfavorable, the method
continues at step 764 where the processing module generates content
requirements. The generating of the content requirements includes
determining, based on one or more of the query requirements,
preliminary answer, and the answer quality level, one or more of
content selection requirements, source selection requirements, and
acquisition timing requirements.
[0281] The method continues at step 768 where the processing module
obtains further content from a plurality of medical content sources
based on the content requirements. For example, the processing
module identifies the plurality of medical content sources,
generates content requests based on the content requirements, and
sends the plurality of content requests to the plurality of
identified medical content sources, analyzes a plurality of content
responses to produce an estimated quality level, indicates
favorable quality level when the estimated quality level compares
favorably to a minimum quality threshold level, and indicates
unfavorable quality level to facilitate collecting more content
when the estimated quality level compares unfavorably to the
minimum quality threshold level.
[0282] The method continues at step 770 where the processing module
IEI processes human expressions of the further content based on the
fact base to produce an updated preliminary illness diagnosis
answer that identifies the likely illness for the symptoms. For
example, the processing module analyzes, based on one or more of
the query request, the fact base info associated with the
identified domain, and the further content to produce one or more
of updated fact base info (e.g., new knowledge), the updated
preliminary illness diagnosis answer (e.g., likelihood of an
illness), and an associated answer quality level. The analyzing may
include reasoning the further content with the fact base to produce
the updated fact base info and the preliminary illness diagnosis
answer to include the likelihood of the illness.
[0283] When the updated answer quality level is favorable, the
method continues at step 772 where the processing module issues a
query response to the request are that predicts the likelihood of
the illness. The issuing includes one or more of analyzing the
preliminary illness diagnosis answers in accordance with the query
requirements and the rules to generate the updated quality level,
generating the query response to include the illness diagnosis
answer associated with favorable quality level, and sending the
query response to the requester
[0284] The method described above in conjunction with the
processing module can alternatively be performed by other modules
of the computing system 10 of FIG. 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 the computing system 10,
cause the one or more computing devices to perform any or all of
the method steps described above.
[0285] FIG. 12A is a schematic block diagram of another embodiment
of a computing system that includes a plurality of domain 1 (D1)
through domain N (DN) content sources 790, a corresponding
plurality of the artificial intelligence (AI) servers 20-1 through
20-N of FIG. 1, and the user device 12-1 of FIG. 1. Each of the
domain 1-N content sources 790 includes content sources 16-1
through 16-N of FIG. 1. In particular, each of the AI servers 20-1
through 20-N is associated with a corresponding domain D1-DN of
content sources 790. Each of the AI servers 20-1 through 20-N
includes the processing module 50-1 of FIG. 2 and the solid state
(SS) memory 96 of FIG. 2, where each SS memory 96 is utilized to
store associated domain knowledge. For instance, the SS memory 96
of the AI server 20-1 is utilized to store domain 1 fact base
information 792, the AI server 20-2 is utilized to store domain 2
fact base information 792, etc. Each processing module 50-1
includes the collections module 120 of FIG. 4A, the identigen
entigen intelligence (IEI) module 122 of FIG. 4A, and the query
module 124 of FIG. 4A. Generally, an embodiment of this invention
provides a solution to obtain alternate domain knowledge to produce
a query response.
[0286] In a first example of operation of the computing system
include obtaining of the alternate domain knowledge to produce the
query response, the query module 124 interprets a received query
request 136 to produce query requirements. The interpreting
includes one or more of determining content requirements,
determining source requirements, determining answer timing
requirements, and identifying an alternate domain when the
alternate domain is associated with the query request 136 and
disassociated with a domain of the query module 124 (e.g., of the
particular AI server). For example, the query module 124 of the AI
server 20-1 identifies the alternate domain when the domain of the
query request 136 is not the first domain.
[0287] Having produced the query requirements, the query module 124
issues an IEI request 244 to the IEI module 122 of the AI server
20-1 based on the query request 136. The IEI module 122 formats the
IEI request 244 to produce human expressions that include question
content and question information. The formatting includes analyzing
the IEI request 244 for recognizable human expressions of question
content and question information in accordance with rules and D1
fact base information 792 (e.g., facts pertaining to at least the
first domain) obtained from the SS memory 96 of the AI server
20-1.
[0288] Having produced the human expressions, the IEI module 122
applies "IEI processing" to the human expressions to produce one or
more of new knowledge, a preliminary answer, and an answer quality
level associated with the preliminary answer. The IEI processing
includes identifying permutations of identigens, reducing the
permutations in accordance with the rules, mapping the reduced
permutations of identigens to entigens to generate knowledge,
processing the knowledge in accordance with the D1 fact base info
792 to produce the preliminary answer, and generating the answer
quality level based on the preliminary answer and the request
(e.g., the IEI request 244, the query request 136).
[0289] When the answer quality level is unfavorable, the IEI module
122 issues an alternate IEI request 794 to two one or more other
IEI modules 122 of other AI servers together gather more content
and/or to produce knowledge to enable a desired favorable quality
level of the answer. The issuing includes generating the alternate
IEI request 794 based on one or more of the IEI request 244, the
preliminary answer, elements of the D1 fact base information 792
(e.g., the present knowledge base of the first domain), and the
answer quality level. The issuing further includes selecting the
one or more other IEI modules 122, where the selecting may be based
on one or more of a predetermination, a list of domains versus
identifiers of the IEI modules 122, the identified alternate domain
associated with the query request 136, the IEI request 244, the
preliminary answer, and the answer quality level.
[0290] At least one of the one or more other IEI modules 122 issues
an alternate IEI response 796 to the IEI module 122, where the
alternate IEI response 796 includes one or more of further content,
further knowledge, and an alternate answer. For example, the IEI
module 122 of the AI server 20-2 generates the alternate IEI
response 796 to include knowledge extracted from the D2 fact base
information 792.
[0291] The IEI module 122 interprets the alternate IEI response 796
and applies IEI processing to one or more of the further content,
further knowledge, and alternate answer in light of the preliminary
answer to produce one or more of updated fact-based information
(e.g., new knowledge of the alternate domain) and an updated
preliminary answer with an updated answer quality level. When the
updated answer quality level is favorable, the IEI module 122
issues an IEI response 246 to the query module 124 where the IEI
response 246 includes the updated answer associated with a
favorable updated answer quality level. The query module 124
interprets the received updated answer to produce a quality level
of the received answer. For example, the query module 124 analyzes
the updated answer in accordance with the query requirements and
the rules to generate the quality level of the received answer.
When the quality level of the received answer is favorable, the
query module 124 issues a query response 140 to the user device
12-1, where the query response 140 includes the answer associated
with the favorable quality level of the answer for the alternate
domain.
[0292] Alternatively, or in addition to, the IEI module 122 of each
of the AI servers 20-1 through 20-N may determine to update
knowledge related to a multitude of other domains not typically
associated with the particular AI server of the IEI module 122. The
determining may be based on one or more of a predetermined
schedule, in response to a request to update, upon realizing that
the alternate domain exists, after receiving a given number of
queries related to the other domain, and after producing a
threshold number of preliminary answer is associated with
unfavorable quality levels. When determining to update the
knowledge, the IEI module 122 exchanges alternate IEI requests 794
and alternate IEI responses 796 with a multitude of other IEI
modules 122 corresponding to the multitude of other domains. When
receiving each IEI response 796, the IEI module 122 applies IEI
processing to generate the updated knowledge for storage in an
associated SS memory 96.
[0293] In a second example of operation of the computing system,
the query includes a question: "how many races did Mario Andretti
win in his career"? The plurality of AI servers 20-1 through 20-N
include a knowledge database associated with Mario Andretti, a
general sports knowledge database, an auto racing database, a
database of sports statistics, a database of media articles, a
database of Mario Andretti interview content, etc.
[0294] The second example of operation includes the IEI module 122
receiving the query via the IEI request 244 from the query module
124 and the query request 136 from the user device 12-1. Having
received the query, the IEI module 122 utilizes at least two of the
knowledge databases to produce two preliminary answers and compares
the two preliminary answers to determine whether they match.
Generally, when the preliminary answers match, the IEI module 122
utilizes either preliminary answer as a final answer. However, when
they don't match, the IEI module 122 indicates that the two
preliminary answers are divergent (e.g., unfavorably different) and
identifies inconsistencies between the two preliminary answers to
resolve the inconsistencies in a way to provide an acceptable final
answer for issuing, utilizing the IEI response 246 via the query
module 124 as the query response 140, to the user device 12-1.
[0295] The inconsistencies include a first type where information
present in one knowledge database and not present in another
knowledge database. As an instance of the first type, a first
knowledge database indicates that Mario Andretti won three races at
the Watkins Glen track and a second knowledge database does not
include information for Watkins Glen.
[0296] A second type of inconsistency includes information from one
knowledge database that conflicts with information in another
knowledge database. As an instance of the second type, the first
knowledge database indicates that Mario Andretti won three races at
the Watkins Glen track and the second knowledge database indicates
that Mario Andretti won 2 races at Watkins Glen.
[0297] A third type of inconsistency includes information present
in one knowledge database and not present in the majority of the
other knowledge databases. As an instance of the third type, the
first knowledge database indicates that Mario Andretti won three
races at the Watkins Glen track and ten other knowledge databases
of a total of 15 knowledge databases do not include information for
Watkins Glen.
[0298] A fourth type of inconsistency includes information in one
knowledge database that conflicts with information in a majority of
other knowledge databases. As an instance of the fourth type, the
first knowledge database indicates that Mario Andretti won three
races at the Watkins Glen track and ten other knowledge databases
of a total of 15 knowledge databases indicate that Mario Andretti
won 2 races at Watkins Glen.
[0299] The IEI module 122 resolves the inconsistencies between the
first and second preliminary answers by a variety of approaches. A
first approach includes updating a first knowledge database with
knowledge from a second knowledge database to facilitate
regenerating a better first preliminary answer. For instance, when
the identified inconsistency includes the first type (e.g.,
non-conflicting but different data in the different knowledge
databases), the IEI module 122 receives the alternate IEI response
796 that includes knowledge of the second knowledge database,
integrates the knowledge with the first knowledge database, and
re-processes the question to produce the better first preliminary
answer as the final answer (e.g., combining nonconflicting race
statistics from the second knowledge database with race statistics
of the first knowledge database).
[0300] A second approach includes selecting a preliminary answer
disassociated from inconsistencies. For instance, when the
identified inconsistency includes the second type (e.g., the
preliminary answer conflicts with at least one other preliminary
answer), the IEI module 122 selects a portion of a preliminary
answer that does not conflict with corresponding portions of other
preliminary answers to produce the final answer (e.g., selecting
race statistics of a knowledge database that does not conflict with
race statistics of other knowledge databases).
[0301] A third approach includes selecting a preliminary answer
that is disassociated from knowledge available from the majority of
the knowledge databases. For instance, when the identified its
consistency includes the third type (e.g., only one knowledge
database provides desired statistics and the majority of knowledge
bases do not), the IEI module 122 selects the preliminary answer
associated with one knowledge database and not in the majority of
the other knowledge databases to produce the final answer (e.g.,
selecting race statistics of a knowledge database but is not
included with the majority of the other knowledge databases).
[0302] A fourth approach includes selecting knowledge from any
knowledge database of a majority of the knowledge databases that
have a consistent preliminary answer unlike at least one knowledge
database associated with a conflicting preliminary answer. For
instance, when the inconsistency type includes the fourth type
(e.g., one conflicting knowledge database conflicts with the
majority of the other knowledge databases), the IEI module 122
selects a preliminary answer associated with the majority of the
knowledge databases to produce the final answer (e.g., selecting
race statistics that agree amongst the majority of the knowledge
databases but conflicts with at least one knowledge database).
[0303] FIG. 12B is a logic diagram of an embodiment of a method for
utilizing multiple knowledge bases to produce 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 with FIGS. 1-8D, 12A, and also FIG. 12B.
The method includes step 800 where a processing module of one or
more processing modules of one or more computing devices of the
computing system determines a set of identigens for each word of at
least some words of a string of words of the query to produce a
plurality of sets of identigens. Each identigen of the set of
identigens is a different meaning of a corresponding word.
[0304] The determining the set of identigens for each word of the
at least some words of the string of words of the query to produce
the plurality of sets of identigens includes mapping a word of the
at least some words of the string of words of the query to a set of
entries of an identigen dictionary (e.g., listing of words and
identigens) to identify the set of identigens. Each set of
identigens includes one or more identigens.
[0305] As an example of the determining the set of identigens, when
the string of words includes "how many races did Mario Andretti win
in his career"? The processing module produces, for the words "how
many", a first set of identigens that includes one characteristic
identigen associated with a numeric characteristic query. The
processing module produces, for the word "races", a second set of
action identigens to include numerous types of races (e.g., an
object identigen associated with the word "race" as a thing, an
action identigen associated with the word "race" as in "to
race").
[0306] The processing module produces, for the words "Mario
Andretti", a third set of object identigens that includes one
identigen for the one and only Mario Andretti and another identigen
for another Mario Andretti that lives in Rome. The processing
module produces, for the word "win", a fourth set of identigens
that includes an action identigen (e.g., to win a race) and an
object identigen (e.g., a won race).
[0307] The method continues at step 802 where the processing module
interprets, based on a first knowledge database, the plurality of
sets of identigens to produce a first entigen group. Each entigen
of the first entigen group corresponds to a selected identigen of
one of the plurality of sets of identigens that represents a first
most likely meaning (e.g., a truest interpretation of the word is
used) of a corresponding word of the at least some of the words of
the string of words. The first entigen group is a first most likely
meaning of the string of words and the first knowledge database
includes a first plurality of records that link words (e.g., via
entigens) having a first connected meaning.
[0308] The records link entigens, where each entigen represents one
of an object, an action, or a characteristic (OCA). The records
further link multiple entigens together to facilitate a
representation of the connected meaning. The connected meaning
includes at least one of describes, acts on, is a, belongs to, did,
did too, etc. For instance, an entigen representing the meaning of
"eats" is linked to indicate connected meaning with another entigen
representing "fruit."
[0309] Each entigen is independent of language since it represents
the OCA (meaning). The connected meaning further represents a
relationship between multiple words in different languages that
mean the same thing and multiple identigens (one per language), but
they all have connected meaning to link to common entigens
representing that meaning.
[0310] The interpreting the plurality of sets of identigens to
produce the first entigen group includes a series of steps. A first
step includes identifying alternative sequences of identigens for
the plurality of sets of identigens (e.g., permutations of one
identigen per set of identigens). An alternative sequence of
identigens includes one identigen of each set of identigens of the
plurality of sets of identigens such that each alternative sequence
of identigens includes a unique combination of identigens.
[0311] A second step includes ranking the alternative sequences of
identigens based on the first knowledge database (e.g., more
favorable ranking when favorably linked entigens of the first
knowledge database correspond to the alternative sequence of
identigens) to identify a first alternative sequence of identigens
that corresponds to a first most favorable identigen sequence
ranking (e.g., the first alternative sequence of identigens having
a most favorable ranking). An identigen of the first alternative
sequence of identigens corresponds to the selected identigen of one
of the plurality of sets of identigens that represents the first
most likely meaning of the corresponding word of the at least some
of the words of the string of words.
[0312] A third step includes establishing the first entigen group
based on the first alternative sequence of identigens. For example,
the identifiers of the first alternative sequence of identigens are
copied to produce the first entigen group.
[0313] As an example of the producing of the first entigen group,
the processing module includes the characteristic identigen
associated with the numeric characteristic query (e.g., words: "how
many"), the object identigen associated with the "thing" called
races, the object identigen associated with the one and only Mario
Andretti, and the action identigen associated with winning a
race.
[0314] The method continues at step 804 where the processing module
generates a first preliminary query response (e.g., a set of
preliminary answers to a question of the query, a request for
clarifying information when the query is ambiguous, etc.) based on
the first entigen group. As an example of the generating of the
first preliminary query response, the processing module produces
the first preliminary query response to include a list of races
that Mario Andretti has known to win from records of the first
knowledge database.
[0315] The generating of the first preliminary query response
includes a series of steps. A first step includes locating a
portion of the first knowledge database associated with the query
based on the ranking of the alternative sequences of identigens.
For instance, the processing module accesses the first knowledge
database to recover records and matches the portion of the first
knowledge base to at least some entigens of the first entigen
group.
[0316] The second step includes applying query response logic
(e.g., inferences, deductions, rationalizations) to the first
entigen group and to entigens of the portion of the first knowledge
database utilizing relationships between the entigens of the
portion of the first knowledge database to produce the first
preliminary query response. For instance, the processing module
generates the first preliminary query response utilizing inference
to include an entigen of the portion of the first knowledge base
that is missing from but related to the entigens of the first
entigen group.
[0317] The method continues at step 806 where the processing module
interprets, based on a second knowledge database, the plurality of
sets of identigens to produce a second entigen group. For example,
the processing module accesses the second knowledge database to
recover records that include one or more of a portion of the second
knowledge database and the second entigen group (e.g., when the
processing module requests that another processing module produce
the second entigen group). For instance, the processing module
utilizes the recovered records from the second knowledge database
that includes an entigen associated with the meaning of "races"
that further pinpoints auto races and in particular, auto races
that were associated with events that Mario Andretti participated
in as a driver.
[0318] Each entigen of the second entigen group corresponds to a
selected identigen of one of the plurality of sets of identigens
that represents a second most likely meaning of a corresponding
word of the at least some of the words of the string of words. The
second entigen group is a second most likely meaning of the string
of words (e.g., from the perspective of the second knowledge
database). The second knowledge database includes a second
plurality of records that link words having a second connected
meaning.
[0319] The method continues at step 808 where the processing module
generates a second preliminary query response based on the second
entigen group. For example, the processing module generates the
second preliminary query response utilizing deduction to include
two entigens of the portion of the second knowledge base are
related to the entigens of the first entigen group. As another
example of the generating of the second preliminary query response,
the processing module produces the second preliminary query
response to include a list of races that Mario Andretti has known
to win from records of the second knowledge database.
[0320] The method continues at step 810 where the processing module
compares the first and second preliminary query responses. The
comparing includes one or more of finding non-conflicting
information, finding conflicting information, and determining a
quality level. For example, the processing module determines a
first quality level of the first preliminary query response
utilizing a likelihood assessment based on previous accuracy of
query responses to associate queries. For instance, a more
favorable quality level indicates that, more often than not,
similar queries and query responses were found to have a more
favorable level of correctness.
[0321] The comparing of the first and second preliminary query
responses further includes determining a second quality level of
the second preliminary query response in a similar fashion as
described above. Having compared the first and second preliminary
query responses, the processing module indicates that the first and
second preliminary query responses are divergent (e.g., unfavorably
different) by one or more of a variety of further approaches.
[0322] A first approach includes detecting that the first quality
level of the first preliminary query response is less than a
minimum quality threshold level (e.g., set by previous quality
results) and that a second quality level of the second preliminary
query response is greater than the minimum quality threshold level.
For example, the first preliminary query response is unacceptable
and the second preliminary query response is acceptable. For
instance, the first preliminary query response has an acceptable
list of races won while the second preliminary response includes
conflicting race information.
[0323] A second approach includes detecting that the first quality
level of the first preliminary query response is greater than the
minimum quality threshold level (e.g., set by previous quality
results) and that the second quality level of the second
preliminary query response is less than the minimum quality
threshold level. For example, the first preliminary query response
is acceptable and the second preliminary query response is
unacceptable. For instance, the first preliminary query response
includes conflicting race information while the second preliminary
response includes an acceptable list of races won.
[0324] A third approach includes detecting that the first quality
level of the first preliminary query response is less than the
minimum quality threshold level and that the second quality level
of the second preliminary query response is less than the minimum
quality threshold level. For example, both the first and the second
preliminary query responses are unacceptable by themselves. For
example, both preliminary query responses include conflicting race
information.
[0325] A fourth approach includes detecting that the first and
second preliminary query responses are different. For example, at
least one aspect (e.g., part of an answer) of one of the first or
second preliminary query responses is not substantially the same as
a corresponding aspect of the other preliminary query response. For
instance, the first preliminary query response includes race
results for Watkins Glen but not for Long Beach while the second
preliminary query response does not include the results for Watkins
Glen but does include the results for Long Beach.
[0326] When the first preliminary query response and the second
preliminary query response are divergent, the method continues at
step 812 where the processing module resolves inconsistencies
(e.g., differences in content, differences in quality levels, other
differences) between the first and second preliminary query
responses to produce a final query response. Having produced the
final query response, the processing module facilitates
distribution of the final query response to a final query response
recipient.
[0327] The resolving of the inconsistencies between the first and
second preliminary query responses to produce the final query
response includes one of a variety of approaches. When the first
quality level of the first preliminary query response is less than
the minimum quality threshold level and the second quality level of
the second preliminary query response is less than the minimum
quality threshold level, a first approach includes a series of
steps.
[0328] A first step includes accessing the second knowledge
database to obtain a portion of the second knowledge database. For
instance, the processing module receives the portion of the second
knowledge database (e.g., from a storage facility not associated
with the processing module).
[0329] A second step includes combining the portion of the second
knowledge database with the first knowledge database to produce an
updated first knowledge database. For instance, the processing
module extracts incremental entigens of the portion of the second
knowledge base and integrates the incremental entigens with the
first entigen group to produce the updated first knowledge
base.
[0330] A third step include processing the query using the updated
first knowledge database to produce the final query response. For
example, the processing module generates the final query response
utilizing deduction to include three entigens of the portion of the
updated knowledge base that are related (e.g., including, link to)
to the incremental entigens. For instance, the processing module
generates the final query response to include a composite of likely
races that Mario Andretti won as indicated by knowledge of the
first knowledge base and the second knowledge base.
[0331] When the first quality level of the first preliminary query
response is less than the minimum quality threshold level and the
second quality level of the second preliminary query response is
greater than the minimum quality threshold level, a second approach
includes selecting the second preliminary query response as the
final query response. For example, the processing module generates
the final query response to include words that are associated with
the second preliminary query response. For instance, the processing
module generates the final query response to only include races won
by Mario Andretti as indicated in the second knowledge base.
[0332] When detecting that the first and second preliminary query
responses are different, a third approach includes one sub-approach
of a variety of sub-approaches. A first sub-approach includes
selecting one of the first preliminary query response and the
second preliminary query response as the final query response based
on the first and second quality levels. For example, the processing
module selects a preliminary query response associated with a
quality level that is more favorable than the other preliminary
query response to generate the final query response. For instance,
the processing module selects races won by Mario Andretti as
indicated by the first knowledge database when those races won are
more consistent with majority of the other knowledge databases
(e.g., higher quality level than the quality level associated with
the second knowledge database).
[0333] A second sub-approach include combining a first portion of
the first preliminary query response and a second portion of the
second preliminary query response as the final query response when
a quality level of the final query response is more favorable than
both of the first and second quality levels. For example, the
processing module identifies the first portion of the first
preliminary query response that has a favorable quality level,
identifies the second portion of the second preliminary query
response that has a favorable quality level, and generates the
final query response utilizing the two favorable portions of the
preliminary query responses. For instance, the processing module
utilizes a first sub-list of races won by Mario Andretti from the
first knowledge base and a second sub-list of races won by Mario
Andretti from the second knowledge base to produce the final query
response.
[0334] The method described above in conjunction with the
processing module can alternatively be performed by other modules
of the computing system 10 of FIG. 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 the computing system 10,
cause the one or more computing devices to perform any or all of
the method steps described above.
[0335] FIG. 13A is a data flow diagram for optimizing
identification of permutations of element groupings within a
computing system that includes another embodiment of the element
identification module 302 of FIG. 5E and another embodiment of the
IEI control module 308 of FIG. 5E. The element identification
module 302 includes another embodiment of the element matching
module 400 of FIG. 6A and another embodiment of the element
grouping module 402 of FIG. 6A. The other embodiment of the element
identification module 300 and to generally functions to generate an
optimized set of permutations of identified elements.
[0336] In an example of operation of the generating of the
optimized set of permutations of identified elements, when matching
elements of the formatted content 314, the element matching module
400 generates matched elements 412 based on the element list 332.
For example, the element matching module 400 matches a received
element of the formatted content 314 to an element of the element
list 332 and outputs the matched elements 412 to includes an
identifier of the matched element. To facilitate reduction of the
necessary processing, the element matching module 400 further
issues optimization triggers 820 to the IEI control module 308
based on the matched elements 412 and the formatted content 314.
The optimization triggers 820 includes a hypothesis token that may
include one or more of patterns of word types including verbs,
adjectives, nouns, adverbs, etc., language indicators, dialect
indicators, domain indicators, and matched elements 412.
[0337] The element grouping module 402 analyzes the matched
elements 412 in accordance with the element rules 318 and
optimization guidance 822 received from the IEI control module 308
to reduce unnecessary processing when outputting the identified
element information 340. The optimization guidance 822 includes one
or more of element rule modifiers, word text skip when generating
permutations of groupings of words (e.g., skip adjectives), and one
or more domain indicators. The outputting may include comparing a
groupings aspect of the identified element information 340 (e.g.,
for each fermentation of groups of elements of possible
interpretations), and generating validated groupings information to
include identification of valid permutations that align with the
groupings list.
[0338] FIG. 13B is a logic diagram of an embodiment of a method for
generating an optimized set of permutations of identified elements
within a computing system. In particular, a method is presented for
use in conjunction with one or more functions and features
described in conjunction with FIGS. 1-8D, 13A, and also FIG. 13B.
The method includes step 830 where, when matching elements of
formatted content, a processing module of one or more processing
modules of one or more computing devices of the computing system
generates matched elements. The generating includes matching a
received element to an element of an element list and outputting
the matched elements to include an identifier of the matched
element.
[0339] The method continues at step 832 where the processing module
generates optimization triggers based on the matched elements. For
example, the processing module analyzes patterns (e.g., word types,
ordering, frequency) of the matched elements to generate a
hypothesis token to include the optimization triggers. The method
continues at step 834 where the processing module generates
optimization guidance based on the optimization triggers and an
optimization approach. For example, the processing module selects
the optimization approach (e.g., predetermined, lookup, received,
determined based on a domain) and analyzes the optimization
triggers using the optimization approach to produce the
optimization guidance.
[0340] The method continues at step 836 the processing module
generates an optimized set of permutations of identified elements
from the matched elements in accordance with the optimization
guidance. The generating includes one or more of comparing a
groupings aspect of the matched elements (e.g., for each
fermentation of groups of elements of possible interpretations) and
generating validated groupings information (e.g., reduced
permutations) to include identifications of valid permutations that
align with a groupings list and element rules.
[0341] The method described above in conjunction with the
processing module can alternatively be performed by other modules
of the computing system 10 of FIG. 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 the computing system 10,
cause the one or more computing devices to perform any or all of
the method steps described above.
[0342] FIG. 14A is a schematic block diagram of another embodiment
of a computing system that includes sentiment content sources 840,
the artificial intelligence (AI) server 20-1 of FIG. 1, and the
user device 12-1 of FIG. 1. The sentiment content sources 840
includes the content sources 16-1 through 16-N of FIG. 1. In
particular, content sources associated with sentiment information
including one or more of chained statements that infer sentiments,
related facts that infer sentiments, sentiments expressed by
individuals, sentiments expressed by groups, sentiments associated
with demographics, sentiments associated with various domains, etc.
The AI server 20-1 includes the processing module 50-1 of FIG. 2
and the solid state (SS) memory 96 of FIG. 2. The processing module
50-1 includes the collections module 120 of FIG. 4A, the identigen
entigen intelligence (IEI) module 122 of FIG. 4A, and the query
module 124 of FIG. 4A.
[0343] Generally, an embodiment of this invention provides a
solution to identify a digital representation of a human reaction.
The digital representation of a human reaction includes digital
representations of responses to one or more environmental factors
(e.g., physical surroundings, physical being status, communication
with other entities, interfacing with a computing system, internal
thoughts, etc.). The human reactions include physical reactions
(e.g., crying, laughing, frowning, etc.) and mental reactions
(e.g., sentiment, modified thoughts, new thoughts, emotional
thoughts, etc.).
[0344] First and second embodiments of this invention are discussed
in greater detail with reference to FIGS. 14A-14B, where sentiments
are used as examples of the digital representations of a human
reaction. A third embodiment of this invention is discussed in
greater detail with reference to FIGS. 14C-F, where sentiments are
used as examples of the digital representations of a human
reaction.
[0345] In an example of the first embodiment of the identifying of
the digital representation of a human reaction, the query module
124 interprets a received query request 136 to produce query
requirements. The interpreting includes one or more of determining
content requirements, determining source requirements, determining
answer timing requirements, and identifying at least one domain
associated with the query request 136. For example, the query
module 124 determines the content requirements to include facts
that can lead to the identification of the digital representation
of a human reaction (e.g., a sentiment in this example), determines
the source requirements to include the sentiment content sources
840, determines the answer timing requirements to include a
timeframe associated with the expression or evolution of the
sentiment, and identifies sentiment as the domain when receiving
the query request 136 that includes a question "what sentiments are
inferred by this [passage] by John Smith?"
[0346] Having produced the query requirements, the query module 124
issues at least one of an IEI request 244 and a collections request
132 based on the query request 136. For example, the query module
124 generates the IEI request 244 and sends the IEI request 244 to
the IEI module 122 when the source requirements suggest that the
IEI module 122 is able to provide an immediate response (e.g.,
identifying sentiments within a passage included with the query
request 136). As another example, the query module 124 generates
the collections request 132 and sends the collections request 132
to the collections module 120 when the source requirements suggest
that a shift in sentiment over time may be is associated with the
query request 136 and more content is required. For instance, the
query module 124 issues the collections request 132 to the
collections module 122 facilitate collecting content over the next
week associated with public sentiment related to a topic of
discussion in the public of the query request 136 and subsequently
issues the IEI request 244 to the IEI module 122 to generate the
response to the query.
[0347] When receiving the IEI request 244, the IEI module 122
formats the IEI request 244 to produce human expressions that
include question content and question information. The formatting
includes analyzing the IEI request 244 for recognizable human
expressions of question content and question information in
accordance with rules and fact base information 600 (e.g., facts
pertaining to expressions of sentiment) obtained from the SS memory
96.
[0348] Having produced the human expressions, the IEI module 122
applies "IEI processing" to the human expressions to produce one or
more of new knowledge, a preliminary answer, and an answer quality
level associated with the preliminary answer. The IEI processing
includes identifying permutations of identigens, reducing the
permutations in accordance with the rules, mapping the reduced
permutations of identigens to entigens to generate knowledge,
processing the knowledge in accordance with the fact base (e.g.,
fact base info 600) to produce the preliminary answer, and
generating the answer quality level based on the preliminary answer
and the request (e.g., the IEI request 244, the query request
136).
[0349] When the answer quality level is unfavorable, the IEI module
122 issues a collections request 132 to the collections module 120
to gather more content to produce knowledge to enable a desired
favorable quality level of the answer. The issuing includes
generating the collections request 132 based on one or more of the
IEI requests 244, the preliminary answer, elements of the fact base
information 600 (e.g., the present knowledge base), and the answer
quality level.
[0350] The collections module 120 interprets one or more
collections requests 132 to produce content requirements. The
interpreting includes one or more of determining content selection
requirements, determining source selection requirements, and
determining content acquisition timing requirements. For example,
the collections module 120 determines the source selection
requirements to include selecting the content sources 16-1 through
16-N of the sentiment content sources 840, determines the content
selection requirements to include content associated with the
sentiment (e.g., similar expressions of the passage affiliated with
sentiments), and determines the content acquisition timing
requirements to include a time span for collection if any (e.g.,
over the next week to detect shifts in sentiment by the
public).
[0351] Having produced the content requirements, the collections
module 120 issues a plurality of content requests 126 to a
plurality of content sources identified by the content requirements
(e.g., to the content sources 16-1 through 16-N). For example, the
collections module 120 identifies the plurality of content sources,
generates the content requests based on the content requirements,
and sends the plurality of content requests to the identified
plurality of content sources.
[0352] Having issued the plurality of content requests 126, the
collections module 120 interprets a plurality of content responses
128 to determine whether a response quality level is favorable. The
interpreting includes analyzing the plurality of content responses
128 to produce an estimated response quality level, and indicating
a favorable response quality level when the estimated response
quality level compares favorably to a minimum response quality
threshold level (e.g., greater than). When the response quality
level is favorable, the collections module 120 issues a collections
response 134 to the IEI module 122, where the collections response
134 includes further content. For example, the collections module
120 generates the collections response 134 to include the further
content and the estimated response quality level, and sends the
collections response 134 to the IEI module 122.
[0353] The IEI module 122 analyzes the further content based on one
or more of the IEI request 244 and the fact base information 600 to
produce one or more of updated fact base information (e.g., new
knowledge for storage in the SS memory 96) and a preliminary answer
with an associated preliminary answer quality level. For example,
the IEI module 122 reasons the further content with the fact base
information 600 to produce the preliminary answer which identifies
the sentiments associated with the passage. When the answer quality
level is favorable, the IEI module 122 issues an IEI response 246
to the query module 124 where the IEI response 246 includes the
preliminary answer associated with a favorable answer quality
level. The query module 124 interprets the received answer to
produce a quality level of the received answer. For example, the
query module 124 analyzes the preliminary answer in accordance with
the query requirements and the rules to generate the quality level
of the received answer. When the quality level of the received
answer is favorable, the query module 124 issues a query response
140 to the user device 12-1, where the query response 140 includes
the answer associated with the favorable quality level of the
answer.
[0354] In an example of the second embodiment of the identifying of
the sentiment of the digital representation of a human reaction,
and in particular, the storage of content as incremental knowledge
to include sentiment information with regards to the incremental
knowledge, the IEI module 122 issues a collections request 130 to
the collections module 120, where the collections module 120 issues
content requests 126 to the sentiment content sources 840. In
response, the collections module 120 receives content responses 128
and issues a collections response 134 to the IEI module 122, where
the collections response 134 includes a string of words for
ingestion to create the incremental knowledge for storage with the
associated sentiment information.
[0355] Having received the string of words, the IEI module 122
determines a set of identigens for each word of at least some words
of the string of words (e.g., the new content) to produce a
plurality of sets of identigens. Each identigen of the set of
identigens is a different meaning of a corresponding word. For
instance, the IEI module 122 maps each word to an identigen
dictionary to identify a corresponding identigen. Each set of
identigens includes one or more identigen.
[0356] Having produced the plurality of sets of identigens, the IEI
module 122 interprets, based on the knowledge database (e.g., fact
base information 600 from the SS memory 96) the plurality of sets
of identigens to produce an entigen group. Each entigen of the
entigen group corresponds to a selected identigen of one of the
plurality of sets of identigens that represents a most likely
meaning of a corresponding word of the at least some of the words
of the string of words. The entigen group is a most likely meaning
of the string of words. The knowledge database includes a plurality
of records that link words (e.g., via entigens) having a connected
meaning.
[0357] The interpreting of the plurality of sets of identigens to
produce the entigen group includes a series of steps. A first step
includes identifying alternative sequences of identigens of the
plurality of sets of identigens. Each alternative sequence is
associated with one identigen of the set identigens for each word
of the string of words. A second step includes ranking the
alternative sequences of identigens based on the knowledge database
to identify a most likely alternative sequence of identigens
associated with the most likely meaning of string of words to
produce the entigen group. For instance, the IEI module 122 applies
knowledge database aligned entigen sequencing rules to the
alternative sequences of identigens to reveal a particular
alternative sequence of identigens that uniquely aligns with a
favorable meaning of the string of words.
[0358] Having produced the entigen group, the IEI module 122
integrates the entigen group into a portion of the knowledge
database. The integrating of the entigen grouping to the portion of
the knowledge database includes a series of steps. A first step
includes locating the portion of the knowledge database based on
the entigen group. For example, the IEI module 122 accesses fact
base information 600 from the SS memory 96 to identify entigens of
the portion of the knowledge database that compare favorably to at
least some entigens of the entigen group.
[0359] A second step includes linking at least some entigens of the
entigen group with existing entigens of the portion of the
knowledge database. For example, the IEI module 122 identifies
entigens to add, updates linking between entigens, adds new links
for additional entigens, and stores the changes as updated fact
base information 600 in the SS memory 96.
[0360] Having integrated the entigen grouping to the portion of the
knowledge database, the IEI module 122 determines whether a subset
of entigens of the portion of the knowledge database includes
sentiment information. The sentiment information includes one or
more sentiment characteristic entigens. The determining whether the
subset of entigens of the portion of the knowledge database
includes the sentiment information includes a series of steps.
[0361] A first step includes locating the subset of entigens of the
portion of the knowledge database based on the entigen group. The
subset of entigens includes existing entigens of the portion of the
knowledge database and at least some entigens of the entigen group.
For example, the IEI module 122 accesses the fact base information
600 of the SS memory 96 to locate entigens of the portion of the
knowledge database that compare favorably to at least some entigens
of the entigen grouping.
[0362] A second step includes indicating that the subset of
entigens does not include the sentiment information based on one or
more sub-steps. A first sub-step includes detecting that the subset
of entigens does not include the one or more sentiment
characteristic entigens. A second sub-step includes detecting that
the subset of entigens are not linked to the one or more sentiment
characteristic entigens.
[0363] When subset of entigens of the portion of the knowledge
database does not include the sentiment information, the IEI module
122 determines the sentiment information for the subset of entigens
of the portion of the knowledge database. The determining the
sentiment information for the subset of entigens of the portion of
the knowledge database includes a series of steps.
[0364] A first step includes locating another subset of entigens of
the portion of the knowledge database that has a meaning that is
associated with the entigen group. For example, the IEI module 122
accesses the fact base information 600 from the SS memory 96 to
identify related chained identigens that are associated with words
that infer sentiments.
[0365] A second step includes extracting the one or more sentiment
characteristic entigens from the other subset of entigens to
produce the sentiment information. The IEI module 122 extracts the
one or more sentiment characteristic entigens based on one or more
of identifying related facts that infer sentiments, extracting
sentiments expressed by individuals, extracting sentiments
expressed by groups, finding sentiments associated with
demographics, and locating sentiments associated with various
domains. Once located, the IEI module 122 chooses the same
sentiment when meanings are similar across a favorable number of
the at least one other entigen group or chooses the same sentiment
when relationships between entigens of each entigen group are
similar across a favorable number of the at least one other entigen
group.
[0366] Having determined the sentiment information for the subset
of entigens, the IEI module 122 modifies the portion of the
knowledge database to include the sentiment information for the
subset of entigens. The modifying of the portion of the knowledge
database to include the sentiment information for the subset of
entigens includes a series of steps.
[0367] A first step includes generating an incremental sentiment
characteristic entigen for each of the one or more sentiment
characteristic entigens of the sentiment information. For example,
the IEI module 122 extracts sentiment identifiers from each of the
one or more sentiment characteristic entigens to produce each
incremental sentiment characteristic entigen.
[0368] A second step includes linking each incremental sentiment
characteristic entigen to at least one entigen of the subset of
entigens of the portion of the knowledge database. For example, the
IEI module 122 accesses the SS memory 96 with updated fact base
information 600 that includes one or more of linking between
entigens and new linking for the additional sentiment
characteristic entigens for storage in the SS memory 96.)
[0369] Having converted the content of the string of words into the
incremental knowledge for storage in the knowledge base with the
sentiment information, the updated knowledge base may be utilized
for subsequent identification of sentiment for a subject new string
of words of a sentiment query. An example of identifying sentiment
for the subject new string of words of the sentiment query is
discussed in further detail with regards to FIG. 14B.
[0370] FIG. 14B is a data flow diagram for identifying sentiment
within a computing system. The data flow diagram includes the IEI
module 122 of FIG. 14A and fact base information 600. The fact base
info 600 includes a plurality of sentiment class S1-SN groupings
tables 846. Each groupings table 846 includes multiple fields
including fields for a group (GRP) identifier (ID) 586, word
strings 588, identigen (IDN) string 626, and an entigen (ENI) 628.
For instance, the groupings tables 846 includes word strings and
identifiers associated with phrases that tie to sentiments
[0371] In another example of the first embodiment of the
identifying of the sentiment of the digital representation of a
human reaction, (e.g., providing an answer to a query), the IEI
module 122 interprets the IEI request 244, facilitates obtaining
the fact base information 600, and generates the preliminary answer
246 based on the rules 316. For example, the IEI module 122
generates the preliminary answer to include "most likely sentiments
inferred by this [passage . . . ] by John Smith are [sentiments]"
in response to the IEI request 244 of "what sentiments are inferred
by this [passage] by John Smith?" when the sentiment class
groupings tables are affiliated with relevant phrases tied to
sentiments (e.g., for John Smith and for others). For instance, the
IEI module 122 identifies the phrases A1 and A2 to be associated
with sentiment X1 first and phrase A1 to be associated with
sentiment X7 second based inference of fact-based 600.
[0372] FIGS. 14C-E are entigen group diagrams of an embodiment of a
knowledge database to illustrate an example of the second
embodiment of the identifying of the sentiment of the digital
representation of a human reaction. The FIGS. 14C-E represent a
portion of the knowledge database to include one or more entigen
groups when the knowledge database utilizes a graphical database
format. For example, the entigen groups belong to the fact base
information 600 stored in the SS memory 96 of FIG. 14A. An entigen
group includes entigens associated with a most likely meaning of a
phrase of a string of words. Each entigen is stored in the
knowledge database utilizing an entigen identifier. When utilizing
the graphical database format, an entigen is illustrated as a
circle with lines and arrows to indicate connections one or more
other entigens.
[0373] A sentiment associated with one or more entigens may also be
stored in the knowledge base utilizing a variety of approaches. A
first approach includes tagging the knowledge database record of
the entigen with an associated sentiment (e.g., include an
identifier of the sentiment along with the identifier of the
entigen). A second approach includes adding a sentiment
characteristic entigen (e.g., happy, sad, etc.) to represent a
particular sentiment and linking the sentiment characteristic
entigen to the one or more entigens.
[0374] FIG. 14C illustrates a first step of the example of the
second embodiment of the invention, where the processing module
50-1 of FIG. 14A selects an entigen group that is a most likely
meaning of a phrase from a knowledge database. The selecting
includes identifying an entigen group from the knowledge database
that does not have a sentiment. For example, the processing module
50-1 identifies entigen grouping 850-1 that does not have an
assigned sentiment, where the associated string of words includes
"Jack and Jill are lovers. Jack departed and Jill cried." While no
sentiment has been assigned, potential sentiments include sad or
happy. The entigen group includes entigens for a specific Jack
(e.g., the one and only on the planet), a specific Jill, an action
of departing, a characteristic of lovers, and an action of cried.
The graphical database representation identifies via the lines and
arrows the linkage between the entigens in accordance with the
sequencing of the string of words of the phrase.
[0375] As another example, the processing module 50-1 identifies
entigen grouping 850-2 that does not have an assigned sentiment,
where the associated string of words includes "Jack and Jill are
lovers. Jack arrived and Jill cried." As in the other example,
while no sentiment has been assigned, potential sentiments include
sad or happy. The method of identifying the entigen group is
discussed in greater detail with reference to FIG. 14F.
[0376] FIG. 14D illustrates further steps of the example of the
second embodiment of the invention, where the processing module
50-1 of FIG. 14A identifies other entigen groups of alternate
phrases having the most likely meaning from the knowledge database.
The alternate phrases have a similarity to the phrase that has no
sentiment assigned and will be helpful to identify sentiment to
assign to the entigen group.
[0377] For example, the processing module 50-1 identifies entigen
group 854-1, where an alternate phrase includes "Bob and Mary are
lovers. Bob departed and Mary cried." The processing module 50-1
also identifies entigen group 854-2, where another alternate phrase
includes "Linda and Joe are lovers. Linda departed and Joe was
unhappy."
[0378] Having identified the other entigen groups of the alternate
phrases, a further step of the example of the second embodiment
includes the processing module 50-1 determining a dominant
sentiment of the other entigen groups. The determining of the
dominant sentiment may be accomplished by a variety of approaches.
For instance, the processing module 50-1 selects the sentiment
"sad" associated with the majority of the other entigen groups as a
dominant sentiment 856-1. Other approaches are discussed in greater
detail with reference to FIG. 14F.
[0379] Having determined the dominant sentiment, another further
step of the example of the second embodiment includes the
processing module 50-1 generating a sentiment for the entigen group
based on the dominant sentiment. The generating of the sentiment
for the entigen group may be accomplished by a variety of
approaches. For instance, the processing module 50-1 equates the
dominant sentiment 856-1 (e.g., sad) to the sentiment 860-1 (e.g.,
sad) of the entigen group when a simple majority is desired. Other
approaches and more details of the second embodiment of the
invention are discussed in greater detail with reference to FIG. 14
F.
[0380] FIG. 14E illustrates further steps after the first step of
the example of the second embodiment of the invention from FIG.
14C, where the processing module 50-1 of FIG. 14A identifies the
other entigen groups of alternate phrases having the most likely
meaning from the knowledge database. For example, the processing
module 50-1 identifies entigen group 854-11, where an alternate
phrase includes "Bob and Mary are lovers. Bob arrived and Mary
cried." The processing module 50-1 also identifies entigen group
854-12, where another alternate phrase includes "Linda and Joe are
lovers. Linda arrived and Joe was pleased."
[0381] Having identified the other entigen groups of the alternate
phrases, a further step includes the processing module 50-1
determining a dominant sentiment of the other entigen groups. For
instance, the processing module 50-1 selects the sentiment "happy"
associated with the majority of the other entigen groups as a
dominant sentiment 856-11.
[0382] Having determined the dominant sentiment, another further
step includes the processing module 50-1 generating a sentiment for
the entigen group based on the dominant sentiment. For instance,
the processing module 50-1 equates the dominant sentiment 856-11
(e.g., happy) to the sentiment 860-11 (e.g., happy) of the entigen
group when a simple majority is desired.
[0383] FIG. 14F is a logic diagram of the second embodiment of a
method for identifying a digital representation of a human reaction
within a computing system. In particular, a method is presented for
use in conjunction with one or more functions and features
described in conjunction with FIGS. 1-8D, and also 14C-14E. The
method includes step 870 where a processing module of one or more
processing modules of one or more computing devices of the
computing system selects an entigen group from a knowledge
database. The entigen group is a most likely meaning of a phrase of
a string of words and an entigen of the entigen group corresponds
to a selected identigen from a set of identigens regarding a word
of the string of words. The set of identigens represent different
meanings of the word.
[0384] The selecting the entigen group from the knowledge database
includes a variety of selecting approaches. A first selecting
approach includes initiating a search of the knowledge database to
identify the entigen group when a search timeframe has expired. For
instance, the shading the search when a timer expires to trigger
the new search.
[0385] A second selecting approach includes receiving a digital
representation of a human reaction identification request from a
requesting entity. For instance, the processing module interprets a
query that includes the digital representation of a human reaction
identification request.
[0386] A third selecting approach includes detecting that the
entigen group does not include the digital representation of a
human reaction. For example, a search of the knowledge database
locates the entigen group that does not have a digital
representation of a human reaction included in an entigen record
nor does it have a digital representation of a human reaction
characteristic attached to any of the entigens of the entigen
group. For instance, the search of the knowledge database locates
the entigen group associated with the phrase "Bob and Mary are
lovers. Bob departed and Mary cried."
[0387] A fourth selecting approach includes detecting that the
entigen group includes an incorrect digital representation of a
human reaction. For example, the processing module compares the
incorrect digital representation of a human reaction to another
dominant digital representation of a human reaction associated with
alternate entigen groups that have a similar meaning to the entigen
group. For instance, nine out often of the other alternate entigen
groups indicate that when Bob departs Mary cries because she is
sad.
[0388] The method continues at step 872 where the processing module
identifies other entigen groups of alternate phrases having the
most likely meaning from the knowledge database. The alternate
phrases are different permutations of the string of words. The
identifying the other entigen groups includes a variety of
identification approaches.
[0389] A first identification approach includes matching the
entigen group to a first entigen group of the other entigen groups
when at least some words of the string of words of the phrase are
included in words of a first permutation of the string of words of
a first permutation of the phrase of the first entigen group. For
example, the processing module identifies a substantial match when
substituting pronouns of the phrase with pronouns of the first
permutation of the phrase, i.e., substituting specific with generic
names. As another example, the processing module identifies another
substantial match when matching sequential verbs of the first
permutation of the phrase i.e., "departed and cried", "departed and
was unhappy". As yet another example, the processing module
identifies the substantial match when matching object entigens of
the phrase to those of the first permutation of the phrase i.e. the
key person, a key place, etc.).
[0390] A second identification approach includes detecting that the
first entigen group is associated with a first digital
representation of a human reaction. For example, the processing
module indicates the first digital representation of a human
reaction when detecting that the first entigen group has the first
digital representation of a human reaction to subsequently help
establish the digital representation of a human reaction, i.e.
sad).
[0391] A third identification approach includes matching the
entigen group to a second entigen group of the other entigen groups
when at least some entigens of the entigen group are included in
the second entigen group. For example, the processing module finds
that the same entigens matchup even though different identigens may
have been selected for the most likely meaning, i.e., different
languages have different words/identigens but share a common global
meaning.
[0392] The fourth identification approach includes detecting that
the second entigen group is associated with a second digital
representation of a human reaction. For example, the processing
module indicates that the second entigen group has the second
digital representation of a human reaction to also subsequently
help establish the digital representation of a human reaction, i.e.
sad.
[0393] The method continues at step 874 where the processing module
determines a dominant digital representation of a human reaction of
the other entigen groups. The determining the dominant digital
representation of a human reaction of the other entigen includes a
variety of determination approaches.
[0394] A first determination approach includes determining the
corresponding digital representation of a human reaction of at
least some of the other entigen groups to produce a plurality of
digital representations of human reaction(s). For example, the
processing module extracts a corresponding digital representation
of a human reaction from an entigen record of an entigen of another
entigen group. As another example, the processing module identifies
the digital representation of a human reaction of a digital
representation of a human reaction characteristic entigen that is
linked to an entigen of the other entigen group. As yet another
example, the processing module detects another corresponding
digital representation of a human reaction (e.g., utilizing
inference) of additional entigens associated with another entigen
group, i.e., Mary was unhappy for days after Bob departed, Mary was
sad for days after Bob departed.
[0395] A second determination approach includes determining the
dominant digital representation of a human reaction based on the
majority of the plurality of digital representations of human
reaction(s). For example, the processing module identifies a common
digital representation of a human reaction of a simple majority of
the plurality of digital representations of human reaction(s). For
instance, the processing module identifies the sad digital
representation of a human reaction when most of the plurality of
digital representations of human reaction(s) indicate sad. As
another example, the processing module determines the dominant
digital representation of a human reaction based on digital
representations of human reaction(s) of the plurality of the
digital representations of human reaction(s), that have been
generated within a recent common time frame, i.e., freshest the
digital representation of a human reaction interpretations. As yet
another example, the processing module generates the dominant
digital representation of a human reaction by applying a weighting
factor to each digital representation of a human reaction of the
plurality of digital representations of human reaction(s) based on
a number of entigens of the corresponding other entigen group that
match entigens of the entigen group.
[0396] The method continues at step 876 where the processing module
generates a digital representation of a human reaction for the
entigen group based on the dominant digital representation of a
human reaction. The generating of the digital representation of a
human reaction for the entigen group based on the dominant digital
representation of a human reaction includes a variety of generating
approaches.
[0397] A first generating approach includes establishing the
digital representation of a human reaction to include the dominant
digital representation of a human reaction. For example, the
processing module makes the digital representation of a human
reaction the same as the dominant digital representation of a human
reaction based on one of the default setting, the quality level
associated with the dominant digital representation of a human
reaction, a desired digital representation of a human reaction
establishment approach, a historical record, etc.
[0398] A second generating approach includes establishing the
digital representation of a human reaction to include the dominant
digital representation of a human reaction and at least one other
digital representation of a human reaction of a plurality of
digital representations of human reaction(s) associated with the
other entigen groups. For example, the processing module combines
digital representations of human reactions to produce the digital
representation of a human reaction. As another example, the
processing module aggregates digital representations of a human
reactions to establish the dominant digital representation of a
human reaction as a list of aggregated digital representations of
human reaction(s). For instance, the dominant digital
representation of a human reaction includes a plurality of digital
representations of human reactions, i.e., sad and unhappy, or happy
and thrilled.
[0399] The method continues at step 878 where the processing module
updates the entigen group using the digital representation of a
human reaction to produce an updated entigen group for storage in
the knowledge database. For example, the processing module modifies
the entigen group to include a digital representation of a human
reaction characteristic entigen that is linked to at least some of
the entigens of the entigen group. For instance, a sad
characteristic entigen is linked to the entigens of the entigen
group. As another example, the processing module updates at least
some of the entigens of the entigen group to indicate the digital
representation of a human reaction. For instance, the sad
characteristic is attached to each entigen record of the entigen
group within the knowledge database.
[0400] Alternatively, or in addition to, the processing module
outputs the digital representation of a human reaction to a
requesting entity. For example, the processing module sends the
digital representation of a human reaction to the requesting entity
in response to a query from the requesting entity.
[0401] The method described above in conjunction with the
processing module can alternatively be performed by other modules
of the computing system 10 of FIG. 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 the computing system 10,
cause the one or more computing devices to perform any or all of
the method steps described above.
[0402] 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, text, graphics, audio, etc. any of
which may generally be referred to as `data`).
[0403] As may be used herein, the terms "substantially" and
"approximately" provides an industry-accepted tolerance for its
corresponding term and/or relativity between items. For some
industries, an industry-accepted tolerance is less than one percent
and, for other industries, the industry-accepted tolerance is 10
percent or more. Other examples of industry-accepted tolerance
range from less than one percent to fifty percent.
Industry-accepted tolerances correspond to, but are not limited to,
component values, integrated circuit process variations,
temperature variations, rise and fall times, thermal noise,
dimensions, signaling errors, dropped packets, temperatures,
pressures, material compositions, and/or performance metrics.
Within an industry, tolerance variances of accepted tolerances may
be more or less than a percentage level (e.g., dimension tolerance
of less than +/-1%). Some relativity between items may range from a
difference of less than a percentage level to a few percent. Other
relativity between items may range from a difference of a few
percent to magnitude of differences.
[0404] 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".
[0405] 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.
[0406] 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 that signal 1 has a greater magnitude than
signal 2, a favorable comparison may be achieved when the magnitude
of signal 1 is greater than that of signal 2 or when the magnitude
of signal 2 is less than that of signal 1. 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.
[0407] As may be used herein, one or more claims may include, in a
specific form of this generic form, the phrase "at least one of a,
b, and c" or of this generic form "at least one of a, b, or c",
with more or less elements than "a", "b", and "c". In either
phrasing, the phrases are to be interpreted identically. In
particular, "at least one of a, b, and c" is equivalent to "at
least one of a, b, or c" and shall mean a, b, and/or c. As an
example, it means: "a" only, "b" only, "c" only, "a" and "b", "a"
and "c", "b" and "c", and/or "a", "b", and "c".
[0408] As may also be used herein, the terms "processing module",
"processing circuit", "processor", "processing circuitry", 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, processing circuitry, 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, processing
circuitry, 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,
processing circuitry, 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, processing circuitry 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,
processing circuitry 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.
[0409] 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.
[0410] 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.
[0411] 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 one or more other routines.
In addition, a flow diagram may include an "end" and/or "continue"
indication. The "end" and/or "continue" indications reflect that
the steps presented can end as described and shown or optionally be
incorporated in or otherwise used in conjunction with one or more
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.
[0412] 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.
[0413] 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.
[0414] 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.
[0415] As may further be used herein, a computer readable memory
includes one or more memory elements. A memory element may be a
separate memory device, multiple memory devices, or a set of memory
locations within a memory device. 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.
The memory device may be in a form a solid-state memory, a hard
drive memory, cloud memory, thumb drive, server memory, computing
device memory, and/or other physical medium for storing digital
information.
[0416] 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.
* * * * *