WO2010051591A1 - Context layered object engine - Google Patents

Context layered object engine Download PDF

Info

Publication number
WO2010051591A1
WO2010051591A1 PCT/AU2009/001445 AU2009001445W WO2010051591A1 WO 2010051591 A1 WO2010051591 A1 WO 2010051591A1 AU 2009001445 W AU2009001445 W AU 2009001445W WO 2010051591 A1 WO2010051591 A1 WO 2010051591A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
context
cloe
information
user
Prior art date
Application number
PCT/AU2009/001445
Other languages
French (fr)
Inventor
Gus Gusius
Paul Teague
Original Assignee
Digital Intermediary Pty Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2008905732A external-priority patent/AU2008905732A0/en
Application filed by Digital Intermediary Pty Limited filed Critical Digital Intermediary Pty Limited
Publication of WO2010051591A1 publication Critical patent/WO2010051591A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying

Definitions

  • the present invention relates to the field of artificial intelligence, and to human-computer interfaces.
  • the present invention provides methods and systems for processing information.
  • An ideal simulation would include complex emotions, with the use of layered levels of human processing that may include an emotional level, a philosophical level, and the ability to respond to suggestions/ideas.
  • This ideal machine may also have the ability to intelligently do discrete background searching of knowledge bases for updated or new information, responding to say new research showing and evaluating the improvements or layers of existing human knowledge that may be empirical, understanding and simulating the subtleties of the human brain.
  • WO 2007/087682 describes a system that provides fluent linguistic ability, involving complete sentence construction built from independent disparate segments to create real-time sentence construction - in other words, the system can describe events as they occur while constructing sentences. Although this system is unable to deconstruct language, it is able to construct basic and linguistically correct sentences from disparate events, full sentences that were linguistically correct. It is a simple and working example of linguistically constructed speech construction. It creates real linguistically constructed sentences in context with the environment using what may be a state machine for context in conjunction with closed speech domains.
  • a method of processing information comprising: obtaining one or more data items; for each data item, determining a context associated with the data item; for each data item, storing the data item in a context data element associated with the context; interacting with an other party; and if the interaction relates to the context, using the data item for further interaction with the other party.
  • the other party will be a human, although it could (for example) be a software program adapted for a specific purpose or adapted to simulate a human.
  • the method may allow for interactions with multiple other parties.
  • the method may obtain data items by various means, such as by receiving direct input from humans, obtaining the information through human-computer interactions (such as conversations) or by searching the Internet.
  • the data items may take various forms, including such as news items or facts retrieved from the Internet.
  • These data items may be associated with a previous context of interaction with the other party. For example, a previous interaction may have involved a particular research topic. Data items relating to this topic can subsequently be retrieved from the Internet. If an appropriate time occurs during future interactions with the same other party, these data items could be retrieved from the context data element and presented to the other party.
  • the interaction with the other party may be performed using language.
  • the interaction may be accomplished through written or spoken language.
  • the system may enter a useful phase at an epoch.
  • there may be two phases to the present invention as follows:
  • Pre-epoch establishing contexts establishing information stacks for the contexts prepopulating certain information stacks with acquired generic data items
  • Post-epoch interaction with a party extraction of one or more data items; for each data item, determining the context for the data item; for each data item, determining the priority of the data item within the context for each data item, storing the data item in a the context's information stack; interacting with another party or the same party; and if the interaction relates to the context, using the data item for further interaction with the other party.
  • a computer system for interface with an other party comprising: one or more context data elements, each context data element for storing data items relating to a context; and an interface element to interact with a other party, adapted to determine the current context of the interaction with the other party, wherein the interface element is further adapted to retrieve data items relating from the context data element for the current context, for use in interaction with the other party.
  • the present invention provides computer readable media encoded with data representing computer programs that can be used to direct a programmable device to perform the above methods.
  • computer program elements comprising computer program code means to make a programmable device execute the above methods.
  • FIGURE 1 is a conceptual diagram of a computer system according to an embodiment of the present invention.
  • FIGURE 2 is a flow diagram of an example of machine-human interaction
  • FIGURE 3 is a system design diagram of a computer system according to an embodiment of the present invention.
  • FIGURE 4 is a flow diagram of the processing of information according to one embodiment of the present invention.
  • FIGURE 5 depicts a personality for a software program for human simulation
  • FIGURE 6 is a system diagram showing the use of relational databases to demonstrate CLOE' s datastore
  • FIGURE 7 is a system diagram for an alternate embodiment of the present invention.
  • Semantics refers to the meaning or concept behind human language.
  • Semantics in order to provide context there is a need to understand the meaning of a linguistic sentence. There is no clear boundary when understanding happens consciously or discretely; therefore the identification of subtleties can be related to a number of key words or actions.
  • CLOE closed layer object engine
  • a closed layer object engine uses contextual, semantic or other related data stored in an archival architecture that gives the appearance of a synthetic form of contextual comprehension. Decisions are made based on assigned priorities and veracity of data elements.
  • Data is collected by the CLOE system and stored in the machine contextual matrix for use in the machine engine.
  • the system maintains a number of context stacks (or "infostacks") for a variety of different subjects or contexts. As data is collected, it is processed to determine a context associated with the data item. Each data item may relate to more than one topic. The data item (or a reference to the data item) is then stored on the corresponding stack.
  • the data item is then retrieved from the relevant context stack and used in further interaction with the user.
  • This interaction may occur in a number of different ways, for instance offering to assist the user with their finances, advising the user of other bank balances, or simply asking more questions regarding the state of the user finances.
  • CLOE can be visualised as the encompassing model, MOE is the "doer" part of the system. CLOE requires MOEs to achieve outcomes and self assess its efforts in achieving goals based on human assessment of helpfulness. MOEs can be visualised as helper bots with (matrix defined) behaviours. CLOE has 4 basic parts:
  • Inventory (a register of your possessions [assets, expendibles, perishables]) eg, number of dvds you own eg, amount of toilet rolls left in the house
  • a Time Context can have more than one infostack populated with collected dates of importance, dates that you cannot change (eg public holidays), dates that are important socially to others (eg best friend's birthday)
  • the prime objective overrides all other objectives by being the highest of priorities.
  • MOE is engaged to deliver towels to you (MOE's matrix maps maid's roster to maid's location), an ETA is generated.
  • CLOE issues a request to MOE to reindex the maid's roster to reduce any inefficiencies that may have developed through hysteresis.
  • This asynchronous process undergoes the same level of objective contemplation (make sure prime objective is met, and subsequent objective priorities are observed)
  • MOE has 2 basic parts:
  • CLOE directs MOE to turn off the light in a room you just left, however, MOE must make sure that no one else is in that room.
  • MOEs are worker bees or bots in the system and work in a replicable manner similar to existing systems like SHlELA [WO 2007/087682 (Teague)].
  • CLOE is a 3 dimensional balance of contexts, objectives and self assessment. Unlike other contemporary systems, CLOE comes very close to emulating the human mind in the form of Subservient ⁇ and hence ObjectivistJ behaviours.
  • CLOE uses context AND objectives WITH self-assessment to interact in objective phenomena with parties. This system could well be the world's first "Digital Realist”.
  • CLOE is designed to have the following contexts:
  • RFID detectors are placed in strategic locations within the hotel which allows precise movement and hence proximity detection relative to mapped objects
  • CLOE has full access to the hotel's reservation system, the booking systems of services, the meal times and rules associated. The rosters of the staff.
  • CLOE has the infostacks for the contexts above filled using regular methods of using datastores, persistent archives, RSS feeds, messaging models like eg XMMS.
  • CLOE has the following MOEs (more will be added as identified in a given situation):
  • CLOE has patron records for food preferences (vegetarian, kosher, allergies etc). Based on that can narrow down the options you can have. If you have used this service previously,
  • CLOE assembles an instruction for a MOE to schedule a lunch order for the room youre in, checks the roster of the staff and relative locations to estimate how long it will take.
  • CLOE receives an event from MOE that the food might be delayed 5 mins.
  • CLOE assembles a response based on the MOE's feedback.
  • Cloe The maid responsible for bringing you your lunch has been delayed in another task.
  • CLOE instructs MOE to re-route another job to put a maid onto the task immediately.
  • the hotel is on fire. Prime Objective is to be met. Hotel is about to the evacuated however the order has not been issued.
  • Cloe I can't organise that right now as there is a chance you may be evacuated due to a circumstance that may affect your safety.
  • Cloe A maid will be along shortly with a towel.
  • Cloe maintains the priorities by scheduling them within the prime objective's actions.
  • Data may be collected in a variety of ways. It may be extracted from user input (e.g. from conversations with a user, or observation of the user), or it may be retrieved from an Internet database.
  • a proprietary database may be provided for the present invention, with data items pre-categorised according to their relevance to specific subjects or contexts.
  • data may also be categorized according to its veracity - for instance, the data item "Paris is located in France” may be allocated as being 100% factual, whereas the data item "Bin Laden is hiding in Afghanistan may be allocated a rating of 10% factual). These values may be updated by user input, or by further information received by the system.
  • the collection of data is generally conducted according to subjects that a specific user has indicated interest in. For example, if a user has indicated interest in issues relating to terrorism (for instance, by having previous conversations with the user on this topic), the location of a terrorist suspect will be relevant to this subject; therefore, a data item relating to this may be retrieved by the system from the Internet and stored on a context stack relating to the subject terrorism. If the subject reoccurs in further interactions with the user, the user may be informed of the possible location of a terrorist.
  • the system may assign each item a priority - e.g. items placed higher on a stack are of a higher priority than lower placed items.
  • Priority may be determined by a variety of factors, such as the data items relevance to that particular context, a measure of importance, or its veracity.
  • higher priority items can be taken from the stack first and used for interaction with the user. For instance, a $2 bank over-draft may be assigned a lower priority value than a large outstanding gas bill - if a user is attending to some financial matters, the system may bring the outstanding gas bill to the user's attention first.
  • Parsing of user linguistic input is typically done through algorithms.
  • the CLOE assists this process by the embedding of Actions and Processing.
  • Actions and Processing that are typically behaviour sets that are objectised sets of information that have context and layered data associated with them that are queued in the relational data stacks for contextual access where this deeper sub-level information is detected along with Comprehension data that seeks incoming meaning that cannot typically be detected by algorithms.
  • Figure 4 depicts the receipt and parsing of an instruction - "Pay my Electricity Account”.
  • Payment and “account” are words linked to a specific action of paying a bill.
  • Electricality is associated with a type of bill, and it is processed in the context of bill payment to identify the specific bill to be paid.
  • the Actions and Processing data can associate higher level mental processes or data to out put as well as input when de-constructing comprehension data or constructing language to typically a TTS engine.
  • the CLOE provides for multiple instructions in continuous language that can be humanly authored to parse input or output to produce both with subtle aspects of language or communication.
  • the authoring process is not disconnected from the learning process, however, it is kept secure through user identification and rights management.
  • a factor enabling this is the use of context when receiving user input. Input material is processed contextually - input words are expected to have a context value of some sort.
  • the system uses contextual generic positive and negatives, by interpreting the positive and negative to the related subject.
  • a simple Yes in a question becomes a positive that may simply mean Yes or a deeper level where the question is more complex and may result in a further question for clarification to ascertain a series of questions, or find or use references related to the specific context, that may give a greater in depth understanding;
  • the embedded values are part of the Ethical Bias matrix/algorithm.
  • the purpose of this matrix is to provide weights to enable CLOE to "come to conclusions" about topics that een the user is either undecided on, or has no ability to articulate.
  • all infostack data in this matrix is up for challenge.
  • the system is designed to identify and recreate and mange discrete human characteristics such as emotions, integrity, values, attitudes such as paternal, friendly, antagonism, sarcasm, skepticism, helpfulness and so on. Each of these characteristics may also provide a context to interaction with a user - for example, if the system is operating as a teacher, it may respond to the user in accordance with that operational context. Responses or information for use as a teacher may be stored in a specific context stack.
  • the operational context is used for the collection of information then managing it for later retrieval for relating to the parent or teacher or the work of the student.
  • the collection of information in say a student management system will be different to the collection data in a PA office situation where staff phone calls being received (known employees) will be very different to unknown callers who may call the system who need to be identified as say salesmen, contractors, clients or prospects for the business.
  • Collected information (e.g. a data item) is recalled and used in various circumstances.
  • the collection of recalled information is stored in initial categories, three in this example.
  • Recalled when in context ie a $2 over draft may only be recalled when the Banking context indicates a problem has occurred, or it may categorise the amount for a context related event.
  • User input may in some cases comprise instructions for the system. In these circumstances, the present invention will still identify and use data items associated with the context of the user instructions.
  • an instruction may be "Ring my grandmother.”
  • the keyword "grandmother” may be recognized, and may have a variety of data items associated with it. For instance, if the system has previously been advised that the grandmother is in hospital, it would have stored that data item; that data item is then retrieved and used to determine the number on which the grandmother can be reached - i.e. by ringing a specific hospital, rather than the grandmother's home phone.
  • Contextual slot the moment of Machine State where the waiting context is used.
  • Subject based stacks with priority and contextual information are typically divided into context stacks that contain objectised data that interacts with subject categories creating multiple contextual interacting groups with recallable priority levels.
  • Objectised Relational Trail Stacks 9 interacts with relational or other data stored as variable dependencies and logic and math processing.
  • the objectised data typically will use persistent CLOE managed archives. It also collects information which is typically processed and collected externally or from the user.
  • External and embedded information sources 10 applicable to a wide variety of academic disciplines, including social sciences to the humanities, commerce and may use global grids to manage this data for each users or category of user in areas such as government and business.
  • the stored information is used to create a machine state of comprehension using contextual and Weighted data - Operational Contexts will use greater or lesser levels Human Verified Data and Non Human Verified Data depending on the degree of learning the system is expected to perform in its role.
  • the Recallable data and Priority Levels supplies a flow of contextual recollection functionality, context queues manage context and in pending priority order.
  • the new information results in CLOE writing into her own memory categories and sub categories of verification if it is known, if not know it will proceed to find out from the user, at the appropriate time, more information.
  • the system multitasks while it is talking, creating its own libraries while collecting new information and processing incoming instructions and related data.
  • CLOE may include a large evolving persistent archive that archives every microsecond of the machines state that may occur.
  • the system potentially can be taught to manage this data in a way that we can instruct the machine to handle or manipulate this data in an event, work out its own structures for collection. It is envisaged that the data will be graphically managed and manipulated uniquely for each user of say a government department or business profile such as insurance, finance, brokering and banking.
  • the system uses a voice graphic system that is essentially voice assisted neural engineering using a graphically assisted interface. The interface can essentially replace all our existing approaches to interfaces providing a truly simulated intelligent voice graphic system.
  • Persistent archives and management of the persistent data is important in CLOE technology This must be distinguished from the primary novelty-conferring features of the system, but do provide engineering approaches which may be a natural consequence of managing the process in manipulating data in such a volatile and complex manner..
  • the Matrix is comprised of objectised multiple groups uses and created by the system within the Contextual Matrix. This evolving, rewriting and creating of new Objectised multiple interacting groups and fluid floating groups for context stacks of many type of data, will include data we have not yet identified.
  • the contained information will reference information applicable to a wide variety of academic disciplines, including social sciences to the humanities, commerce and may use a global grid to manage this data for each users or category of user in areas such as government and business. There are potentially many methods that could be employed to simply manage the data, or new methods may need to be developed to manage the existing technology that we expect to prove inadequate.
  • a persistent archive provides the mechanisms needed to manage technology evolution while preserving records and their context. During the lifetime of the persistent archive, each software and hardware component may be upgraded multiple times. The challenge is creating an architecture that maintains the authenticity of the archived documents while minimizing the effort needed to incorporate new technology.
  • Context Slot - is a moment where the current state of the machine takes the next Context Slot.
  • An item of prioritized information that is held and used when the context is appropriate; eg, a news item that may be relevant in the context, ie checking the share market; if a data item was stored in a context slot relating to shares, then the mention of the keyword 'Shares' (or even a simple "what's happening?" if the user was known to have an interest in shares would result in a response mentioning the data item (e.g. a 5% drop on Wall Street).
  • Recallable Priority Levels the pending context queues that are uses in context and in priority order. They provide contextual recollection functionality.
  • Categories or Sub categories stores data for recall in a context stack or appropriate archive in an appropriate category.
  • CLOE Listens and write files new category files herself or uses sub categories that can be moved later if required, ie what is the subject?, she writes her own new category of libraries and stores for recall in temporary persistent archives or create sub stacks of contextual data. She can then use the new category or sub categories to start accumulating related information for the user and her own use finding associations.
  • Sub categories or Categories can include positive aspects of semantics or other data or parts of related projects or Subject based priority stacks.
  • Operational Contexts - or operational state possibly limited to a few operational contexts (OC) to avoid confusion more for the administrator/user than the system. Potentially there is no limited to the users but humans are only able to operate in few operational contexts, ie how many tasks/action can be performed at one time. One operational state or context would be expected to be used at one time. One Operational Context is still able to perform numerous tasks.
  • OC operational contexts
  • CLOE - Closed Layered Objectised Engine that manages objectised data in the form of groups that hold grammar rules for used in sentence construction, contextual data, related data and associations, contextualized related layers of pending queues that may be collected form the user or external sources, ie a an item of news information that finds a Context Slot.
  • Human Verified Data and Non Human Verified Data - the system is assigned values that are changeable with administrator access or updatable by updates or new information.
  • Objectised data refers to the reverse of traditional approach to Objects where data and behavior can be separated.
  • the CLOE system uses objectised language, data and behaviors to deconstruct the incoming language and assist output. Therefore the Objectised data in a CLOE contains layers of information including expressions, human actions, logic and grammatical rules, context stacks with attached CLOE processed data such as Context Stacks and Slot data.
  • Objectised Relational Trail Stacks (RTS) - of context and meaning and identify commands, action required by the system, and sequences that are input into the system. Comparisons before finalising deconstruction and then construct contextual language in human discourses. Weighted data - weighting is part of the building up of contextual data into the system. Contextual information is Monitored and further contextualized with comprehension information for importance as is all information.
  • CLOE State The CLOE state is achieved in the layered persistent data, evolving and fluid floating groups of many type of interacting data, including data we may not yet have (CLOE) identified. This is the fluid state that is brought together in the Contextual Matrix to create a State of machine understanding that is demonstrated by the immediate Context Slot.
  • a CLOE in this state may also be relating it an expert system embodiment for expert knowledge, ie air traffic control.
  • the human action and knowledge is contextual and could be compared to an expert system that is expert in relating to human discourses or simply managing other systems or devices like Air Traffic Control. This could be in a particular field or simply compared to age related measurement that Alan Turing reefers in relation to teaching a system that could be brought up to the age of a child.
  • Actions and Processing typically stored behaviour sets that are objectised sets of information that have context and layered data associated with them that are queued in the relational data stacks for contextual access.
  • Actions and processing may be Verified or not Verified.
  • Actions typically refer to commands, that is action required by the system or multiple instructions.
  • Verify Data 3 Is able to interpret the trustworthiness or factualness of statements and information by the Verify Data process. 4 Verified Human Data, numeric's, words and meaningful words have a value placed upon then during a dialogue with a human. After a human verification interaction either in the development for the systems, or by the user, the data is stored as verified true or false and a value of accuracy would typically be a percentage of factualness; eg:
  • the embedded information or Human Verified Data in the system is assigned values that are changeable with administrator access (user) or updatable by updates for new information. Levels of access will affect the ability to change the system.
  • numeric and semantic processing components process the data coming form the TTS engine for keywords and grammatical conjunctions and potentially a large range that are identified in the Situational Matrix.
  • Data used by the system can be updated and monitored from disparate sources or global databases of information by proprietary or third party sources.
  • Operational Conduct that is operational machine understanding and is at the centre of the system.
  • Operational context provides the task that the machine is performing, for example if a student is being monitored for homework, and reporting to a teacher or parent then the task becomes the operational context or OC.
  • the system could be said to have an educational or teacher/tutor training or conduct, ie, Pilot,Tutor, banker, receptionist or factory robot.
  • Operational Contexts can be many and layered to provide a system that while may be operating in one context can layer many contexts. This is processed through the Recall function of relational trail stacks.
  • the operational context may still be limited to a few operational contexts (OC) to avoid confusion more for the administrator/user than the system.
  • OC operational contexts
  • the system may be operating as a teacher but will also be performing a second OC on time management for the student, using the organiser and altering to appointment and managing phone calls or class times and so on. This is an example of objectizing related data.
  • Objectised data resides in a RTS stacks to provide later meaning or an appropriate context when found. This can add further contextual data to existing stored information creating objectised blocks of data for later verification or use.
  • Virtual osmoses is achieved as the system collects data that it identifies as significant or unimportant and is held in the Relational Trail Stacks that provide stacks of data that can be collected and new topics relating to any form of data mean that the functionality could be expanded to collect any type of data that may be thought of as significant.
  • the functionality is expected to be used to manage simple items of information that needs to be address with the user but the operation potential is to expand self learning where data is more complex.
  • the server consists of 4 major parts:
  • This part of the system uses information gathered from search engines.
  • the algorithm involves
  • CLOE assigning a priority or ciriticality to each website relative to an age group.
  • the internals of this algorithm are a trade secret of DI. The reason for this is so that anti-Intellie systems cannot be easily developed.
  • the source of information that CLOE uses comes from:
  • the Intellie Trail are the matrices of information about sites that allows CLOE to keep track of sites that are changing their URLs to avoid being blacklisted.
  • the web information is stored in a manner that allows CLOE to gauge % of likelyhood that the "new" site is just a rehashed old site. It will then use the IP addresses to build a record of the "offenders"
  • the Guardian Register contains special keys that allows guardians to override certain websites based on their own judgment. However, CLOE will require a reason for the release.
  • This information is stored against a site's records to affect the priority/criticality factor.
  • the client software consists of 3 major components all maintained from the Intellie Control Panel.
  • the Control Panel is locked down with a password / root account.
  • This gate functions very simply as a URL/IP based pattern match against a blacklist obtained from the Intellie Server. It also monitors the computers ports for abuse in the form of P2P traffic that is not suitable for children.
  • the effect on the PC will be minimal in terms of load and speed of usage.
  • the end effect to the child can be configured as follows:
  • the screen can be frozen to alert the guardian as to the child's activity.
  • This option when turned on will send a link to the Intellie server for live analysis. Pattern matching, skin tone analysis of images and video content is done and a percentage of risk is calculated. The advice is then generated from the Intellie Trail as to what age group is suitable.
  • the Guardian Register on the server will contain a registered guardian key which is intelligent in the way it which it processes requests. It looks at patterns of overriding that match a scenario in which the child has obtained the guardian's key without their knowledge.
  • the Resident Intellie Gate is kept up to date of its IPs from the server. Updates can occur as often as possible.
  • the present invention may have a variety of applications. It may be used to assist a blind person by processing a request (e.g. "making a cup of coffee") and providing instructions to the person based on further information received from a nearby camera (e.g. "move two metres forward to the kitchen bench", “turn on the kettle near your right hand.” Alternatively, it could be used to assist hearing-impaired people by processing speech and relaying the contents to that person, when the person may be unable to properly hear the speech themselves. Similarly, the system could assist in translation of speech in a foreign language. The present invention could also be used in office situations, for instance where the system is to be used as an office assistant or telephone receptionist.
  • the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, or a computer readable medium such as a computer readable storage medium or a computer network wherein program instructions are sent over optical or electronic communication links. It should be noted that the order of the steps of disclosed processes may be altered within the scope of the invention.

Abstract

The present invention provides a method and system for processing information, in one embodiment by an artificially intelligent program. The method comprises: obtaining one or more data items, and for each data item, determining a context associated with the data item; for each data item, storing the data item in a context data element associated with the context; interacting with an other party; and if the interaction relates to the context, using the data item for further interaction with the other party.

Description

CONTEXT LAYERED OBJECT ENGINE
FIELD OF THE INVENTION
The present invention relates to the field of artificial intelligence, and to human-computer interfaces. The present invention provides methods and systems for processing information.
BACKGROUND OF THE INVENTION
It has long been hoped that a machine may one day theoretically process or simulate all human thinking and characteristics exhaustively. An ideal simulation would include complex emotions, with the use of layered levels of human processing that may include an emotional level, a philosophical level, and the ability to respond to suggestions/ideas. This ideal machine may also have the ability to intelligently do discrete background searching of knowledge bases for updated or new information, responding to say new research showing and evaluating the improvements or layers of existing human knowledge that may be empirical, understanding and simulating the subtleties of the human brain.
However, current systems are unable to meet this ideal standard. For instance, current systems are unable to examine input data streams and provide accurate human responses; indeed, they may be unable to prepare or select from credible possible alternative responses.
While it is now commonplace for computers to preconstructed word sequences to create human sounding speech, linguistically constructed language has been harder to achieve.
Furthermore, it is difficult to anticipate every input combination during the programming process. Knowledge contained within the expert system is also generally only accessible to the programmer, and it is usually not easy to extract (or modify) this knowledge in a format which is accessible to a conventional reader (or user).
However, WO 2007/087682 describes a system that provides fluent linguistic ability, involving complete sentence construction built from independent disparate segments to create real-time sentence construction - in other words, the system can describe events as they occur while constructing sentences. Although this system is unable to deconstruct language, it is able to construct basic and linguistically correct sentences from disparate events, full sentences that were linguistically correct. It is a simple and working example of linguistically constructed speech construction. It creates real linguistically constructed sentences in context with the environment using what may be a state machine for context in conjunction with closed speech domains.
However, in this system, construction of sentences was dependent on simple segments and adding conjunctions manually. Learning was not in real time and the use of anomalies queues (for un-accountable inputs) meant that processing was slow and not immediate, as it required an operator to add the new logic to the system to handle the "unknown" information.
Current systems still have significant difficulties in interpreting disparate information from spoken sentences, receiving and processing multiple linguistic instructions (especially in the same sentence) and in meaningfully discussing and interpreting information from retrieval systems such as the internet.
It is an object of the present invention to reduce or eliminate some or all of the above described limitations of current systems, or at least to provide an alternative to current systems.
SUMMARY OF THE INVENTION
Accordingly, in a first aspect of the present invention, there is provided a method of processing information comprising: obtaining one or more data items; for each data item, determining a context associated with the data item; for each data item, storing the data item in a context data element associated with the context; interacting with an other party; and if the interaction relates to the context, using the data item for further interaction with the other party.
Typically, the other party will be a human, although it could (for example) be a software program adapted for a specific purpose or adapted to simulate a human. The method may allow for interactions with multiple other parties.
The method may obtain data items by various means, such as by receiving direct input from humans, obtaining the information through human-computer interactions (such as conversations) or by searching the Internet. The data items may take various forms, including such as news items or facts retrieved from the Internet. These data items may be associated with a previous context of interaction with the other party. For example, a previous interaction may have involved a particular research topic. Data items relating to this topic can subsequently be retrieved from the Internet. If an appropriate time occurs during future interactions with the same other party, these data items could be retrieved from the context data element and presented to the other party.
The interaction with the other party may be performed using language. In different embodiments, the interaction may be accomplished through written or spoken language.
The system may enter a useful phase at an epoch. In this case, there may be two phases to the present invention, as follows:
Pre-epoch: establishing contexts establishing information stacks for the contexts prepopulating certain information stacks with acquired generic data items
Post-epoch: interaction with a party extraction of one or more data items; for each data item, determining the context for the data item; for each data item, determining the priority of the data item within the context for each data item, storing the data item in a the context's information stack; interacting with another party or the same party; and if the interaction relates to the context, using the data item for further interaction with the other party.
In a second aspect of the present invention, there is provided a computer system for interface with an other party, comprising: one or more context data elements, each context data element for storing data items relating to a context; and an interface element to interact with a other party, adapted to determine the current context of the interaction with the other party, wherein the interface element is further adapted to retrieve data items relating from the context data element for the current context, for use in interaction with the other party. In further aspects, the present invention provides computer readable media encoded with data representing computer programs that can be used to direct a programmable device to perform the above methods.
In yet further aspects of the present invention, computer program elements are provided comprising computer program code means to make a programmable device execute the above methods.
A detailed description of one or more preferred embodiments of the invention is provided below along with accompanying figures that illustrate by way of example the principles of the invention. While the invention is described in connection with such embodiments, it should be understood that the invention is not limited to any embodiment.
For the purpose of example, numerous specific details are set forth in the following description in order to provide a thorough understanding of the present invention. However, the present invention may be practiced without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the present invention is not unnecessarily obscured.
BRIEF DESCRIPTION OF THE DRAWINGS
An illustrative embodiment of the present invention will be discussed with reference to the accompanying drawings wherein:
FIGURE 1 is a conceptual diagram of a computer system according to an embodiment of the present invention;
FIGURE 2 is a flow diagram of an example of machine-human interaction;
FIGURE 3 is a system design diagram of a computer system according to an embodiment of the present invention;
FIGURE 4 is a flow diagram of the processing of information according to one embodiment of the present invention;
FIGURE 5 depicts a personality for a software program for human simulation; FIGURE 6 is a system diagram showing the use of relational databases to demonstrate CLOE' s datastore; and
FIGURE 7 is a system diagram for an alternate embodiment of the present invention.
DETAILED DESCRIPTION
The present invention will now be described with particular reference to the processing of language. Semantics refers to the meaning or concept behind human language. For the present invention, when processing language, in order to provide context there is a need to understand the meaning of a linguistic sentence. There is no clear boundary when understanding happens consciously or discretely; therefore the identification of subtleties can be related to a number of key words or actions.
The system according to an embodiment of the present invention (referred to as a closed layer object engine in this specification, or "CLOE") uses contextual, semantic or other related data stored in an archival architecture that gives the appearance of a synthetic form of contextual comprehension. Decisions are made based on assigned priorities and veracity of data elements.
Data is collected by the CLOE system and stored in the machine contextual matrix for use in the machine engine. The system maintains a number of context stacks (or "infostacks") for a variety of different subjects or contexts. As data is collected, it is processed to determine a context associated with the data item. Each data item may relate to more than one topic. The data item (or a reference to the data item) is then stored on the corresponding stack.
When interaction with the user relates to a specific subject (e.g. user finance), the data item is then retrieved from the relevant context stack and used in further interaction with the user. This interaction may occur in a number of different ways, for instance offering to assist the user with their finances, advising the user of other bank balances, or simply asking more questions regarding the state of the user finances.
CLOE can be visualised as the encompassing model, MOE is the "doer" part of the system. CLOE requires MOEs to achieve outcomes and self assess its efforts in achieving goals based on human assessment of helpfulness. MOEs can be visualised as helper bots with (matrix defined) behaviours. CLOE has 4 basic parts:
1) Established Contexts
These contexts are the foundation of the knowledge CLOE accumulates and acts upon.
Examples of Contexts:
1. Spatial Relative Location (GPS,RFID)
1. Where you are relative to others & inanimate objects and vice versa
2. Time (Calendars, personal, local and global events),
3. Factual Personal Information (FPI),
4. Relationships
1. Level 1 Relationships (eg who my father and mother are),
2. Level 2 Relationships (eg Facebook or Myspace friends),
3. Level 3 Relationships (Work / Business based),
4. Level 4 Relationships (eg Incidental contacts like the Corner deli Counter girl)
5. Inventory (a register of your possessions [assets, expendibles, perishables]) eg, number of dvds you own eg, amount of toilet rolls left in the house
Note that these are simple contexts and more can be added as they are identified or required.
2) Established Information Stacks (Infostacks) for the contexts [Note that a context may have more than one infostack]
Example: A Time Context can have more than one infostack populated with collected dates of importance, dates that you cannot change (eg public holidays), dates that are important socially to others (eg best friend's birthday)
3) Established Objectives with relative priorities There are two types of objectives in CLOE.
1. Prime Objective
The prime objective overrides all other objectives by being the highest of priorities.
2. Subsequent Objectives
These objectives are prioritised in a manner by the designer such that CLOE can self assess its performance without hysteresis. Examples of Objectives: PRIME OBJECTIVE - Preservation of life SUBSEQUENT OBJECTIVES: 1. Pleasure of existence (eg Fahrvergnϋgen, comfort levels based on room temperature)
2. Efficiency of the system (energy usage, expenditure, waste)
3. Pursuit of Contextual Knowledge (filling the infostacks)
4) Self Assessment
This part of CLOE uses human assessment to gauge its usefulness of its instructions [to MOE(s)] which comprised of actionable requests that were initiated from one or more contexts coupled to objective logic.
Example:
You are in a hotel and you ask CLOE for 2 towels. CLOE reduces the request to actionable tasks:
1. Check if Prime Objective is met
2. Check if there are 2 towels to give you (The highest priority subsequent objective)
3. Check, based on prior requests from other guests if there are going to be enough towels left at this rate of request. (A Subsequent Objective of making sure the system stays balanced and functioning)
4. MOE is engaged to deliver towels to you (MOE's matrix maps maid's roster to maid's location), an ETA is generated.
5. Towels arrive at door.
6. CLOE asks: Are you satisfied with your towels?
7. Response 1 : You say, "Yes very much so".
CLOE will use this in self-assessment and create an indexed task completion percentage equivalent to a description of "This task was completed with 100% efficiency"
Response 2: You say, "That took forever to do! Not happy!".
CLOE will use this to flag a MOE as inefficient which will require review and issue an apology to you.
Asynchronously, CLOE issues a request to MOE to reindex the maid's roster to reduce any inefficiencies that may have developed through hysteresis. This asynchronous process undergoes the same level of objective contemplation (make sure prime objective is met, and subsequent objective priorities are observed)
MOE has 2 basic parts:
1) 2D Matrix comprising of actionable requests. 2) The two axes are demonstrated by example:
CLOE directs MOE to turn off the light in a room you just left, however, MOE must make sure that no one else is in that room.
MOEs are worker bees or bots in the system and work in a replicable manner similar to existing systems like SHlELA [WO 2007/087682 (Teague)].
The CLOE system is a 3 dimensional balance of contexts, objectives and self assessment. Unlike other contemporary systems, CLOE comes very close to emulating the human mind in the form of Subservient^ and hence ObjectivistJ behaviours.
Unlike other systems CLOE uses context AND objectives WITH self-assessment to interact in objective phenomena with parties. This system could well be the world's first "Digital Realist".
By way of example, the operation of a CLOE-enabled hotel is described below. In order for this example to demonstrate CLOE's operation in details certain assumptions are made about the physical (hardware, equipment and networking of information).
CLOE is designed to have the following contexts:
- Spatial Relative Location context is achieved using RFID tags on all hotel staff, patrons and visitors. RFID detectors are placed in strategic locations within the hotel which allows precise movement and hence proximity detection relative to mapped objects
- The Time context. CLOE has full access to the hotel's reservation system, the booking systems of services, the meal times and rules associated. The rosters of the staff.
- Relationship context. What the responsibilities of staff are according to the organisational hierarchy
- Inventory context. Infostacks that store assets, expendible and other items that are contained within the hotel. The re-ordering of these items can only be initiated by appropriate staff permissions - Service Level context. The concierge is the only true human link in this assessment process. CLOE may self assess however positive or negative feedback from the concierge is placed at highest prority within self-assessment.
CLOE has the infostacks for the contexts above filled using regular methods of using datastores, persistent archives, RSS feeds, messaging models like eg XMMS.
CLOE has the following MOEs (more will be added as identified in a given situation):
- Grammar engine
- Speech engine
- Collision detection engine (physical & time based)
- Plausible request verification (eg If I ask for 100 towels, do I get them?)
CLOE's Objectives:
PRIME Objective: Preservation of patron's lives, staff lives SUBSEQUENT Objectives:
1. Pleasure of the patron's time in the hotel
2. Efficiency of the hotel
3. Pursuit of Knowledge (filling in infostacks & general reindexing of MOE matrices)
Scenario 1 :
You are in your hotel room and you require room service. Conversation ensues. Live conversation is in black, Cloe's (and Moe's) tasks are in red.
You: Can I have room service?
Cloe: What would you like?
You: Some lunch would be nice.
CLOE has patron records for food preferences (vegetarian, kosher, allergies etc). Based on that can narrow down the options you can have. If you have used this service previously,
CLOE will not make the same offering of items unless you request it.
Cloe: Would you like the Tuna salad or the Caesar salad?
You: Nah, I want a pie with sauce. Cloe: The pie we serve contains gluten and so I didnt offer it. Are you sure you still want it?
You: 1 suppose 1 shouldnt have gluten.
Cloe: How about a salad roll with gluten free bread?
You: That would be great!
CLOE assembles an instruction for a MOE to schedule a lunch order for the room youre in, checks the roster of the staff and relative locations to estimate how long it will take.
Cloe: It should be around 15 minutes. Is that OK?
You: No problems.
Cloe: Is there anything else you would like? We have a nice white wine that would suit your meal.
You: OK just a glass.
10 minutes later:
CLOE receives an event from MOE that the food might be delayed 5 mins.
Cloe: Im sorry but it might take another 10 minutes for your meal to arrive.
You: Why is that?
CLOE assembles a response based on the MOE's feedback.
Cloe: The maid responsible for bringing you your lunch has been delayed in another task.
You: Well I want it now!
CLOE instructs MOE to re-route another job to put a maid onto the task immediately.
This simple scenario demonstrates how when the Prime Objective is met, the subsequent objectives receive attention. What appears to be an intelligent system is actually an objectivist operating in subservience with self-improvement via feedback and a calculated assessment value.
Scenario 2:
The hotel is on fire. Prime Objective is to be met. Hotel is about to the evacuated however the order has not been issued.
You: I need some towels now.
Cloe: I can't organise that right now as there is a chance you may be evacuated due to a circumstance that may affect your safety.
You: But Ive just gotten out of the shower and I cant get dressed. CLOE instructs MOE to find the closest maid to bring a towel upon preparation for evacuation.
Cloe: A maid will be along shortly with a towel.
This scenario demonstrates that where other systems would have overridden the subsequent objectives, Cloe maintains the priorities by scheduling them within the prime objective's actions.
A more detailed description of aspects of the CLOE system is now set out below.
Data Collection
Data may be collected in a variety of ways. It may be extracted from user input (e.g. from conversations with a user, or observation of the user), or it may be retrieved from an Internet database. A proprietary database may be provided for the present invention, with data items pre-categorised according to their relevance to specific subjects or contexts.
Furthermore, data may also be categorized according to its veracity - for instance, the data item "Paris is located in France" may be allocated as being 100% factual, whereas the data item "Bin Laden is hiding in Afghanistan may be allocated a rating of 10% factual). These values may be updated by user input, or by further information received by the system.
The collection of data is generally conducted according to subjects that a specific user has indicated interest in. For example, if a user has indicated interest in issues relating to terrorism (for instance, by having previous conversations with the user on this topic), the location of a terrorist suspect will be relevant to this subject; therefore, a data item relating to this may be retrieved by the system from the Internet and stored on a context stack relating to the subject terrorism. If the subject reoccurs in further interactions with the user, the user may be informed of the possible location of a terrorist.
When storing data items in context stacks, the system may assign each item a priority - e.g. items placed higher on a stack are of a higher priority than lower placed items. Priority may be determined by a variety of factors, such as the data items relevance to that particular context, a measure of importance, or its veracity. When a particular context occurs during interaction with a user, higher priority items can be taken from the stack first and used for interaction with the user. For instance, a $2 bank over-draft may be assigned a lower priority value than a large outstanding gas bill - if a user is attending to some financial matters, the system may bring the outstanding gas bill to the user's attention first.
Interaction with a User Processing User Input
Parsing of user linguistic input is typically done through algorithms. The CLOE assists this process by the embedding of Actions and Processing. Actions and Processing that are typically behaviour sets that are objectised sets of information that have context and layered data associated with them that are queued in the relational data stacks for contextual access where this deeper sub-level information is detected along with Comprehension data that seeks incoming meaning that cannot typically be detected by algorithms.
Figure 4 depicts the receipt and parsing of an instruction - "Pay my Electricity Account". "Pay" and "account" are words linked to a specific action of paying a bill. "Electricity" is associated with a type of bill, and it is processed in the context of bill payment to identify the specific bill to be paid.
The conjunction "and" at the end of the sentence indicates that the system should keep listening for further instructions. The instruction "Pay my Electricity Account" is queued for processing until the end of the user sentence.
Existing systems have no mechanism to comprehend multiple inputs or instructions that relate to concepts we associate with comprehension and deeper meaning or semantics in continuous language or direction to a machine. This input can also be addressed for making words like conjunctions separators or tokenising of data that could typically have been processed by a STT software. The human processing of the data occurs in the Syntax and Semantic processing components of the Situational Comprehension Matrix.
Therefore, the Actions and Processing data can associate higher level mental processes or data to out put as well as input when de-constructing comprehension data or constructing language to typically a TTS engine.
The CLOE provides for multiple instructions in continuous language that can be humanly authored to parse input or output to produce both with subtle aspects of language or communication. The authoring process is not disconnected from the learning process, however, it is kept secure through user identification and rights management. A factor enabling this is the use of context when receiving user input. Input material is processed contextually - input words are expected to have a context value of some sort.
For example, the system uses contextual generic positive and negatives, by interpreting the positive and negative to the related subject.
Positive (relevant) - contextually relevant to the context Negative - contextual negative related to the context Zero response - contextual unknown related to the context
Therefore, a simple Yes in a question becomes a positive that may simply mean Yes or a deeper level where the question is more complex and may result in a further question for clarification to ascertain a series of questions, or find or use references related to the specific context, that may give a greater in depth understanding;
For example, on the subject of ethics and violence:
Machine: is it the right thing to fight? User: No
Machine: What if you were being attacked? User: That would be different.
The question leads to the need to underpin the requirement for integrity files and fundamental principals that computers must use and such questions require and need a fundamental system of integrity and embedded values.
The embedded values are part of the Ethical Bias matrix/algorithm. The purpose of this matrix is to provide weights to enable CLOE to "come to conclusions" about topics that een the user is either undecided on, or has no ability to articulate. However, all infostack data in this matrix is up for challenge.
Machine Responses
The system is designed to identify and recreate and mange discrete human characteristics such as emotions, integrity, values, attitudes such as paternal, friendly, antagonism, sarcasm, skepticism, helpfulness and so on. Each of these characteristics may also provide a context to interaction with a user - for example, if the system is operating as a teacher, it may respond to the user in accordance with that operational context. Responses or information for use as a teacher may be stored in a specific context stack.
The operational context (OC) is used for the collection of information then managing it for later retrieval for relating to the parent or teacher or the work of the student. The collection of information in say a student management system will be different to the collection data in a PA office situation where staff phone calls being received (known employees) will be very different to unknown callers who may call the system who need to be identified as say salesmen, contractors, clients or prospects for the business.
Collected information (e.g. a data item) is recalled and used in various circumstances. The collection of recalled information is stored in initial categories, three in this example.
Recalled when in context, ie a $2 over draft may only be recalled when the Banking context indicates a problem has occurred, or it may categorise the amount for a context related event.
Recall of immediate alerts that manage phone calls and urgent messages that could involve an immediate response or altering a user via mobile phone eg your account is overdrawn $1000; or an urgent family business message.
Recall in discrete situations where such responses may include a request by the user to ask the system if it has any questions regarding learning about its new role in a similar fashion to traditional training.
Performing tasks
User input may in some cases comprise instructions for the system. In these circumstances, the present invention will still identify and use data items associated with the context of the user instructions.
For instance, an instruction may be "Ring my grandmother." The keyword "grandmother" may be recognized, and may have a variety of data items associated with it. For instance, if the system has previously been advised that the grandmother is in hospital, it would have stored that data item; that data item is then retrieved and used to determine the number on which the grandmother can be reached - i.e. by ringing a specific hospital, rather than the grandmother's home phone.
System Diagram Referring now to Figure 3, data items can be stored and objectised data can be managed in a number of ways by having the key components interact and output to the real time, as depicted by the structures signified by the following reference numerals:
1. Weighed data comprising of Human Verified Data and Non Human Verified Data.
2. Embedded or propriety systems queued prioritized stacks of data
3. Recallable data stored in context queues
4. Operational contexts that will include home users and expert system information such as business or aviation etcetera.
5. Context Stack data that is prioritized for an opportune Context Slot
6. Contextual slot, the moment of Machine State where the waiting context is used.
7. Auto Join grammatical joiner of objectised grammatical data or sentences.
8. processing of input keywords
Subject based stacks with priority and contextual information are typically divided into context stacks that contain objectised data that interacts with subject categories creating multiple contextual interacting groups with recallable priority levels.
Objectised Relational Trail Stacks 9 interacts with relational or other data stored as variable dependencies and logic and math processing. The objectised data typically will use persistent CLOE managed archives. It also collects information which is typically processed and collected externally or from the user.
External and embedded information sources 10 applicable to a wide variety of academic disciplines, including social sciences to the humanities, commerce and may use global grids to manage this data for each users or category of user in areas such as government and business.
The stored information is used to create a machine state of comprehension using contextual and Weighted data - Operational Contexts will use greater or lesser levels Human Verified Data and Non Human Verified Data depending on the degree of learning the system is expected to perform in its role.
The Recallable data and Priority Levels supplies a flow of contextual recollection functionality, context queues manage context and in pending priority order. The new information results in CLOE writing into her own memory categories and sub categories of verification if it is known, if not know it will proceed to find out from the user, at the appropriate time, more information. The system multitasks while it is talking, creating its own libraries while collecting new information and processing incoming instructions and related data.
These fluid contextual data groups use interacting data acquired from the user or external sources appear in context or at the moment when the data is most relevant based on its priority. The system is creating its own new subject data or categories when in use and then is able to manage and explore its own collected data while learning and storing in the subject based priority stacks.
Storage Mechanisms
In one embodiment, CLOE may include a large evolving persistent archive that archives every microsecond of the machines state that may occur. The system potentially can be taught to manage this data in a way that we can instruct the machine to handle or manipulate this data in an event, work out its own structures for collection. It is envisaged that the data will be graphically managed and manipulated uniquely for each user of say a government department or business profile such as insurance, finance, brokering and banking. The system uses a voice graphic system that is essentially voice assisted neural engineering using a graphically assisted interface. The interface can essentially replace all our existing approaches to interfaces providing a truly simulated intelligent voice graphic system.
Persistent archives and management of the persistent data is important in CLOE technology This must be distinguished from the primary novelty-conferring features of the system, but do provide engineering approaches which may be a natural consequence of managing the process in manipulating data in such a volatile and complex manner..
The Matrix is comprised of objectised multiple groups uses and created by the system within the Contextual Matrix. This evolving, rewriting and creating of new Objectised multiple interacting groups and fluid floating groups for context stacks of many type of data, will include data we have not yet identified.
The contained information will reference information applicable to a wide variety of academic disciplines, including social sciences to the humanities, commerce and may use a global grid to manage this data for each users or category of user in areas such as government and business. There are potentially many methods that could be employed to simply manage the data, or new methods may need to be developed to manage the existing technology that we expect to prove inadequate.
Therefore to achieve evolving and fluid floating groups of many types of data new methods may need to be created to process the objectised data with surrounding layers of information that include the in-depth meaning or comprehension data for both deconstruction and construction of syntax and semantic analysis. These engineering questions and implementation questions should not be confused with the invention that requires the functionality of the full Context Matrix with ability to process information in a way not yet seen.
A persistent archive provides the mechanisms needed to manage technology evolution while preserving records and their context. During the lifetime of the persistent archive, each software and hardware component may be upgraded multiple times. The challenge is creating an architecture that maintains the authenticity of the archived documents while minimizing the effort needed to incorporate new technology.
This is indeed the challenge with such a technology; however what is embedded and the relationship connecting to the real world are what makes the embodiment of the CLOE file where persistent archives are held within the comprehension matrix.
When discussing entries we are referring directly to virtual personalities that are using specific databases for their roles that are simply selected by a user as an association with knowledge, ie June could be the default Personal Assistant in the CLOE system.
This is different to present technology and present concepts where containers are described as the digital equivalent of a cardboard box, used to physically aggregate data entities, an analogy to mange the Contextual matrix is we are manipulating now will need to be contextually managed to cope with amount of data in use, limiting significantly resources needed by the system.
The processing or managing of such data is simply the engineering of data in the below methods, but not limited to such simple processing approaches.
For example data grids for interoperability across data management could assist provide parts of the required infrastructure. Basic components of data grid technology that can be used to implement a persistent archive (Moore, 2002).
These data management approaches are well documented. I am not sure that we need anything more than a background introduction which I have tried to provide. The point is that we could use any system managing persistent data or semantic data, or a number of them together for context, that uses persistent archives or could manage the immediate capture of persistent data for the recall of previous events, a key part of the CLOE technology. Though I prefer to avoid the terminology and references to present engineering approaches as they do not currently perform the functionality required by the CLOE system, but may however assist in the development of the implementation of the comprehension matrix and it many layers.
Further Explanation of terms used within this Specification:
Subject based priority stack - internally created stacks of data for storing and building on known or unknown dependencies.
Context Stack - at subject based stack of prioritized data for use at an appropriate moment in conversation or a discourse where the context item can be used.
Context Slot - is a moment where the current state of the machine takes the next Context Slot. An item of prioritized information that is held and used when the context is appropriate; eg, a news item that may be relevant in the context, ie checking the share market; if a data item was stored in a context slot relating to shares, then the mention of the keyword 'Shares' (or even a simple "what's happening?" if the user was known to have an interest in shares would result in a response mentioning the data item (e.g. a 5% drop on Wall Street).
Objectised multiple interacting groups - This evolving, rewriting and creating of new groups and fluid floating groups of many types of data, including data we have not yet identified.
Recallable Priority Levels - the pending context queues that are uses in context and in priority order. They provide contextual recollection functionality.
Categories or Sub categories - stores data for recall in a context stack or appropriate archive in an appropriate category. CLOE Listens and write files new category files herself or uses sub categories that can be moved later if required, ie what is the subject?, she writes her own new category of libraries and stores for recall in temporary persistent archives or create sub stacks of contextual data. She can then use the new category or sub categories to start accumulating related information for the user and her own use finding associations.
Sub categories or Categories can include positive aspects of semantics or other data or parts of related projects or Subject based priority stacks.
Operational Contexts - or operational state, possibly limited to a few operational contexts (OC) to avoid confusion more for the administrator/user than the system. Potentially there is no limited to the users but humans are only able to operate in few operational contexts, ie how many tasks/action can be performed at one time. One operational state or context would be expected to be used at one time. One Operational Context is still able to perform numerous tasks.
CLOE - Closed Layered Objectised Engine that manages objectised data in the form of groups that hold grammar rules for used in sentence construction, contextual data, related data and associations, contextualized related layers of pending queues that may be collected form the user or external sources, ie a an item of news information that finds a Context Slot.
Human Verified Data and Non Human Verified Data - the system is assigned values that are changeable with administrator access or updatable by updates or new information.
Objectised data - the term refers to the reverse of traditional approach to Objects where data and behavior can be separated. The CLOE system uses objectised language, data and behaviors to deconstruct the incoming language and assist output. Therefore the Objectised data in a CLOE contains layers of information including expressions, human actions, logic and grammatical rules, context stacks with attached CLOE processed data such as Context Stacks and Slot data.
Objectised Relational Trail Stacks (RTS) - of context and meaning and identify commands, action required by the system, and sequences that are input into the system. Comparisons before finalising deconstruction and then construct contextual language in human discourses. Weighted data - weighting is part of the building up of contextual data into the system. Contextual information is Monitored and further contextualized with comprehension information for importance as is all information.
CLOE State - The CLOE state is achieved in the layered persistent data, evolving and fluid floating groups of many type of interacting data, including data we may not yet have (CLOE) identified. This is the fluid state that is brought together in the Contextual Matrix to create a State of machine understanding that is demonstrated by the immediate Context Slot.
The recall of data and relevance of it is built into an underlying embedded human view of everything. A CLOE in this state may also be relating it an expert system embodiment for expert knowledge, ie air traffic control. The human action and knowledge is contextual and could be compared to an expert system that is expert in relating to human discourses or simply managing other systems or devices like Air Traffic Control. This could be in a particular field or simply compared to age related measurement that Alan Turing reefers in relation to teaching a system that could be brought up to the age of a child.
Auto Join - a terms that embodies the grammatology, typology for joining of words or sentences or parts of sentences together, typically buy placing conjunctions between words and sentences that may be stored in the Contextual Matrix.
General (Non-exclusive) summary of additional functionality provided by present invention:
1 The ability to break down language and provide a layer of comprehension data or understanding to incoming semantic, syntactical, phonetic and numeric data that makes up language.
2 The system uses the processes of using Actions and Processing, typically stored behaviour sets that are objectised sets of information that have context and layered data associated with them that are queued in the relational data stacks for contextual access. Actions and processing may be Verified or not Verified. Actions typically refer to commands, that is action required by the system or multiple instructions.
3 Is able to interpret the trustworthiness or factualness of statements and information by the Verify Data process. 4 Verified Human Data, numeric's, words and meaningful words have a value placed upon then during a dialogue with a human. After a human verification interaction either in the development for the systems, or by the user, the data is stored as verified true or false and a value of accuracy would typically be a percentage of factualness; eg:
Paris is in France 100% true.
Bin Laden is hiding in Pakistan. 10% True
5 The embedded information or Human Verified Data in the system is assigned values that are changeable with administrator access (user) or updatable by updates for new information. Levels of access will affect the ability to change the system.
6 Syntax, numeric and semantic processing components process the data coming form the TTS engine for keywords and grammatical conjunctions and potentially a large range that are identified in the Situational Matrix.
7 Data used by the system can be updated and monitored from disparate sources or global databases of information by proprietary or third party sources.
8 The ability to receive continuous instruction, to deconstruct and interpret meaning from language. This enables the system to be potentially aware of patterns of stimuli that it may be interpreting into TTS or STT.
9 Contextually stored information that is held and processed by the Situational Comprehension Matrix for contextual prioritising and relevance.
10 Operational Conduct that is operational machine understanding and is at the centre of the system. Operational context provides the task that the machine is performing, for example if a student is being monitored for homework, and reporting to a teacher or parent then the task becomes the operational context or OC. The system could be said to have an educational or teacher/tutor training or conduct, ie, Pilot,Tutor, banker, receptionist or factory robot.
1 1 Operational Contexts can be many and layered to provide a system that while may be operating in one context can layer many contexts. This is processed through the Recall function of relational trail stacks.
12 The operational context however may still be limited to a few operational contexts (OC) to avoid confusion more for the administrator/user than the system. For example see Video iix, the system may be operating as a teacher but will also be performing a second OC on time management for the student, using the organiser and altering to appointment and managing phone calls or class times and so on. This is an example of objectizing related data.
13 A state of machine understanding, not a machine consciousness, but possibly as close as we can achieve to a state of understanding or presence of mind, ie: where am I, what am I doing and what do I need to do within the Situational Comprehension Matrix.
14 Grammatical construction using grammar rules using conjunctions correctly becomes possible with and understanding of the context and meaning of language in the Matrix. This is referred to as Auto Joining.
15 Collecting of contextual data; While the Syntax and Semantic Processor deconstructs a continuous flow of user instructions, and identifies meaningful elements for Collection, identification and storage of meaningful contextual data is used for later recall by storing and recalling contextual data through the relevant Relational Trail Stacks (RTS) for storage and retrieval in the machine state of context and understanding that characterises the system.
16 Recall functionality is provided by the Situational Comprehension Matrix, and is received from the Relational Trail Stacks and objectised queued data.
Objectised data resides in a RTS stacks to provide later meaning or an appropriate context when found. This can add further contextual data to existing stored information creating objectised blocks of data for later verification or use.
17 Virtual osmoses is achieved as the system collects data that it identifies as significant or unimportant and is held in the Relational Trail Stacks that provide stacks of data that can be collected and new topics relating to any form of data mean that the functionality could be expanded to collect any type of data that may be thought of as significant.
18 Self learning is potential is realized with the use of the relational data information when put into context, context can be added at a later point and simple logistical deductions will be possible and potentially more sophisticated self learning is expected, eg, the system knows there is a 10% chance Bin Laden is hiding in Pakistan. Monitoring known information, If Bin Laden is found, Bin Laden is not hiding in Pakistan or if Bin Laden is Dead, he is not hiding in Pakistan. The point is is this relevant information to the user, if so and alert will be required, the question then is what is the importance of this information. If Bin Laden is a character of interest then an alter is required. Monitored contextual information is weighted for importance as is all information. If it were a low priority it might be retrieved when a request for news is made or it could simply be addressed as;
Cloe: Did you know they caught Bin Laden?
User: No.
Cloe: Well, they caught him yesterday in Afghanistan.
The functionality is expected to be used to manage simple items of information that needs to be address with the user but the operation potential is to expand self learning where data is more complex.
In relation to Figure 7, a CLOE enabled Intellie Server is shown. The server consists of 4 major parts:
Intelligent Website Tracker
This part of the systemuses information gathered from search engines. The algorithm involves
CLOE assigning a priority or ciriticality to each website relative to an age group. The internals of this algorithm are a trade secret of DI. The reason for this is so that anti-Intellie systems cannot be easily developed. The source of information that CLOE uses comes from:
- User submission
- Search Engine keyword searches
- The Intellie Trail Intellie Trail
The Intellie Trail are the matrices of information about sites that allows CLOE to keep track of sites that are changing their URLs to avoid being blacklisted. The web information is stored in a manner that allows CLOE to gauge % of likelyhood that the "new" site is just a rehashed old site. It will then use the IP addresses to build a record of the "offenders"
Automatic Updater
The list as you can imagine needs to be dynamically updated at the client's end. So the automatic updater is used to keep the Client Intellie Resident Gate up to date.
Guardian Register
The Guardian Register contains special keys that allows guardians to override certain websites based on their own judgment. However, CLOE will require a reason for the release.
This information is stored against a site's records to affect the priority/criticality factor.
Note that even if a guardian decides to override a site for a child, the system is able to warn the guardian as to why they shouldn't override it.
Intellie Client Software - the client software consists of 3 major components all maintained from the Intellie Control Panel. The Control Panel is locked down with a password / root account.
Resident Intellie Gate
This gate functions very simply as a URL/IP based pattern match against a blacklist obtained from the Intellie Server. It also monitors the computers ports for abuse in the form of P2P traffic that is not suitable for children.
This means:
- Any browser will be protected
- Most P2P programs will be monitored (either not runable at all or the filenames it generates are monitored)
- The effect on the PC will be minimal in terms of load and speed of usage. The end effect to the child can be configured as follows:
- Child sees a warning message (with/without audible warning tone)
- Child gets a 404 / 502 HTTP error message as though the site does not even exist
- The screen can be frozen to alert the guardian as to the child's activity.
Note that 90% of surfed content is keyword driven. The only exception is emails and instant messaging links.
Link Scanner
This option when turned on will send a link to the Intellie server for live analysis. Pattern matching, skin tone analysis of images and video content is done and a percentage of risk is calculated. The advice is then generated from the Intellie Trail as to what age group is suitable.
Guardian Override Key
The Guardian Register on the server will contain a registered guardian key which is intelligent in the way it which it processes requests. It looks at patterns of overriding that match a scenario in which the child has obtained the guardian's key without their knowledge.
Automatic Updates
The Resident Intellie Gate is kept up to date of its IPs from the server. Updates can occur as often as possible.
Although a number of embodiments of the present invention have been described in the foregoing detailed description, it will be understood that the invention is not limited to the embodiments disclosed, but is capable of numerous rearrangements, modifications and substitutions without departing from the scope of the invention. Modifications and variations such as would be apparent to a skilled addressee are deemed within the scope of the present invention.
The present invention may have a variety of applications. It may be used to assist a blind person by processing a request (e.g. "making a cup of coffee") and providing instructions to the person based on further information received from a nearby camera (e.g. "move two metres forward to the kitchen bench", "turn on the kettle near your right hand." Alternatively, it could be used to assist hearing-impaired people by processing speech and relaying the contents to that person, when the person may be unable to properly hear the speech themselves. Similarly, the system could assist in translation of speech in a foreign language. The present invention could also be used in office situations, for instance where the system is to be used as an office assistant or telephone receptionist.
These examples are not intended as an exhaustive list, and are only intended to be indicative of other embodiments still in accordance with the present invention.
It should be also appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, or a computer readable medium such as a computer readable storage medium or a computer network wherein program instructions are sent over optical or electronic communication links. It should be noted that the order of the steps of disclosed processes may be altered within the scope of the invention.
Throughout this specification and the claims that follow unless the context requires otherwise, the words 'comprise' and 'include' and variations such as 'comprising' and 'including' will be understood to imply the inclusion of a stated integer or group of integers but not the exclusion of any other integer or group of integers.
The reference to any prior art in this specification is not, and should not be taken as, an acknowledgement or any form of suggestion that such prior art forms part of the common general knowledge.

Claims

THE CLAIMS:
1. A method of processing information comprising: obtaining one or more data items; for each data item, determining a context associated with the data item; for each data item, storing the data item in a context data element associated with the context; interacting with an other party; and if the interaction relates to the context, retrieving the data item and using it for further interaction with the other party.
2. A computer system for interface to another party, comprising: one or more context data elements, each context data element for storing data items relating to a context; and an interface element to interact with an other party, adapted to determine the current context of the interaction with the other party, wherein the interface element is further adapted to retrieve data items relating from the context data element for the current context, for use in interaction with the other party.
3. A method substantially as herein described with reference to the accompanying drawings.
4. A system substantially as herein described with reference to the accompanying drawings.
PCT/AU2009/001445 2008-11-06 2009-11-06 Context layered object engine WO2010051591A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AU2008905732 2008-11-06
AU2008905732A AU2008905732A0 (en) 2008-11-06 Closed layer object engine

Publications (1)

Publication Number Publication Date
WO2010051591A1 true WO2010051591A1 (en) 2010-05-14

Family

ID=42152396

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU2009/001445 WO2010051591A1 (en) 2008-11-06 2009-11-06 Context layered object engine

Country Status (1)

Country Link
WO (1) WO2010051591A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11220641B2 (en) 2010-08-16 2022-01-11 Nikhil Manubhai Patel Sandwich gasification process for high-efficiency conversion of carbonaceous fuels to clean syngas with zero residual carbon discharge

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000014728A1 (en) * 1998-09-09 2000-03-16 One Voice Technologies, Inc. Network interactive user interface using speech recognition and natural language processing
US20020052747A1 (en) * 2000-08-21 2002-05-02 Sarukkai Ramesh R. Method and system of interpreting and presenting web content using a voice browser

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000014728A1 (en) * 1998-09-09 2000-03-16 One Voice Technologies, Inc. Network interactive user interface using speech recognition and natural language processing
US20020052747A1 (en) * 2000-08-21 2002-05-02 Sarukkai Ramesh R. Method and system of interpreting and presenting web content using a voice browser

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11220641B2 (en) 2010-08-16 2022-01-11 Nikhil Manubhai Patel Sandwich gasification process for high-efficiency conversion of carbonaceous fuels to clean syngas with zero residual carbon discharge

Similar Documents

Publication Publication Date Title
Russell et al. Risk in the making: Narrative, problematic integration, and the social construction of risk
Chandler Securing the Anthropocene? International policy experiments in digital hacktivism: A case study of Jakarta
Iliadis et al. The seer and the seen: Surveying Palantir’s surveillance platform
Inan et al. Agent-based knowledge analysis framework in disaster management
US11900933B2 (en) User-customizable and domain-specific responses for a virtual assistant for multi-dwelling units
RU2671048C2 (en) System and method for identifying relevant information for enterprise
Iturriza et al. Modelling methodologies for analysing critical infrastructures
Nanetti et al. Computational history: from big data to big simulations
Lee-Geiller et al. How does digital governance contribute to effective crisis management? A case study of Korea’s response to COVID-19
Liu et al. Danger from a distance: Executives' social distance and multinationals' responses to host‐country terrorist attacks
Ludvigsen The ‘troika of security’: merging retrospective and futuristic ‘risk’and ‘security’assessments before Euro 2020
Beynon‐Davies Declarations of significance: Exploring the pragmatic nature of information models
Tatiana et al. Organizational-information technology for providing and decisions making in situational management
Wawrzynski Artificial intelligence and cyberculture
Dietz Enterprise ontology-understanding the essence of organizational operation
WO2010051591A1 (en) Context layered object engine
Bastide IRS Working Paper n 12
Bonaretti Effective use of information systems for emergency management: a representation theory perspective
Piana Legal Services and Digital Infrastructures: A New Compass for Better Governance
Kerr et al. The end of vagueness: Technological Epistemicism, Surveillance capitalism, and explainable Artificial Intelligence
Zhu et al. Issues in adaptive collaboration
Linder Intelligence-captivated policing: Real-time operations centres and real-time situational awareness in Canadian police services
Liu et al. An extending description logic for action formalism in event ontology
Krishnamoorthy et al. Contextual information integration platform for humanitarian relief
Scholl et al. Disaster management and information technology: professional response and recovery management in the age of disasters

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09824277

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09824277

Country of ref document: EP

Kind code of ref document: A1