4.13.2 Example: an ‘intelligent’ email system
Let us work through an email example of making a system ‘smarter’. We are all familiar with the standardised fields in an email system: From, To, Subject. The computer needs the To/From information, expressed in a standard format, to direct the message to its addressees and allow them to reply. It has no concept of who the sender and recipient are, or what the Subject field means. We can imagine simple knowledge-level email categories which add status information to these messages which is meaningful to a human, such as needs action by end of today, or highly reliable source. These could be menu items or checkboxes that the senders could select on their message. Again, while the sending/receiving computers have no model of what these mean, if they are recognised as ‘official’ categories then some automatic action can be taken at the receiver's end (for example, highlight in red, copy to group manager, print immediately). More advanced email systems in fact allow users to create filters that can take such actions if the content of messages matches user-defined criteria.
What would be required to give the computer more ‘understanding’ of the message's Subject, or about the To/From fields? Suppose we wanted a computer system to automatically update its internal model of the world if Sue sent a message saying that she had just passed a course. It might even infer that IF Sue has completed Course X, THEN she must know about A, B and C. It might then initiate some consequent action: for example, since Sue now knows about B, inform Fred who manages B-knowledgeable staff. We need to provide the computer with a model (a representation) of important concepts, and rules about what to do given certain states in that model. Three approaches are outlined next.
Users structure more information
One approach to building such a knowledge-based email system would be to allow users to move beyond the standard information fields in an email message, and add additional information fields: for example, in a staff development context, notification of new qualification might be a significant event worth formalising. The computer would also need a model of courses (for example, Course X has modules A, B and C) and staff (for example, staff study courses; Sue has studied Course X; Fred manages B-knowledgeable staff; Fred's email address is firstname.lastname@example.org). Now, when Sue sends this message, the computer system can detect this significant event, update its own model, and perhaps take consequent action.
Computer infers information from unstructured information
A more advanced system might not require a predefined field to detect notification of new qualification, but might directly analyse the unstructured text of Sue's message. It might use natural language processing, the field of computer interpretation of spoken and written human language. Related techniques do not seek full natural language processing, but try in a more limited manner to extract key concepts and relationships from unstructured text (sometimes called ‘text mining’ or ‘information extraction’). A computer with such abilities might be able to analyse the text in the Subject or body of an email, build a model of key concepts and relationships, and take some action on this basis. In addition to the requirements in the first example above, it would need a model of how the written language is constructed (for example, English grammar, or a subset of it specific to the field's subject matter) in order to isolate key concepts and relations.
Computer helps users structure information
A third approach falls in between the above two in terms of how much responsibility for interpretation is assigned to people or computers. The approach of incremental formalisation (Shipman and McCall, 1994) can help address the situation in which a knowledge base already exists within an organisation, but documents have not been encoded using this scheme. The system can search documents and messages for keywords that match important concepts that it ‘knows about’ (for example, Course X), and try to ‘fill in the form’ that would submit a new entry to that repository (for example, a form for updating Sue's professional qualifications). Sue would be presented with this form, completed as far as the system had managed (for example, inserting the name of the staff member and the course), she would check its accuracy, and have less work to do to complete the remaining fields that the system had not managed to infer (for example, her grade).
Incremental formalisation can also assist in building the ontology itself (the scheme underpinning the knowledge base) by suggesting new classes and structures. We examine more closely the concept of ontologies for modelling knowledge after briefly reviewing ‘metadata’ below.
Box 4.13 So, what can a computer ‘know’?
Although a computer can represent a relationship such as staff study courses, it has no notion of what this really means in the real world. It simply knows about an entity labelled staff, which has instances such as Sue and Fred who have email addresses, and that study is a legitimate labelled relationship between staff and courses.
We could replace staff study courses with nonsense expressions such as frogs like fudge, or bloot murve doinkies, but to the computer these terms are just as legitimate and ‘meaningful’ if they are substituted consistently throughout its model!
The power of the computer derives from its ability to store and track large networks of interdependences that would be taxing for humans to do – perhaps impossible cognitively – thus inferring new states in the model, taking action where rules have been defined, helping maintain the repository, perhaps suggesting relevant material of interest based on inferences about conceptual relationships, and communicating with other computers that also know about these concepts.