A Framework for Building News Filtering Agents \layout Standard This chapter describes the model for the system. The implementation prototype which shows an example of how the model functions will be explained in chapter \begin_inset LatexCommand \ref{NFACT} \end_inset . \layout Standard \begin_inset Figure size 561 280 file proj3.eps flags 9 \end_inset \layout Standard \align left \begin_float fig \layout Caption \begin_inset LatexCommand \label{Project_diagram} \end_inset A Framework for Agent Based News Filtering Agents \end_float Figure \begin_inset LatexCommand \ref{Project_diagram} \end_inset shows four agents retrieving and placing sorted matching articles from the database using the \emph on Agent Coordinator. \emph toggle This component is used to retrieve and write articles to the database. For more details see section \begin_inset LatexCommand \ref{agent_to_database_man} \end_inset . Arrows indicate the flow of messages from and to each component. Other user's agents can comunicate to an agent by using the \emph on Agent Coordinator \emph toggle to \layout Standard \align left Articles which have been recently found are given to the user using the dialog based feedback mechanism. This process can be activated at the time that the user invokes the retrieve matching articles menu item or sets the agent to bring back any retrieved articles by a certain time. \layout Standard \align left The agent's NNTP client is simply the retrieval system which retrieves news articles using a search engine or links to the NNTP server directly to retrieve articles. The user's NNTP client is the front end to the system. This componant Different sections of this diagram are explained as follows: \layout Section Agent's NNTP Client \layout Standard Agents can retrieve articles by either using a search engine (such as Deja News \latex latex \backslash cite{deja_news} \latex default ) or by connecting to a newsserver that the client connects. The agent can then retrieve articles by issuing commands to the server. Details of these commands can be found in appendix \begin_inset LatexCommand \ref{Internet_news_appendix} \end_inset or in the Request For Comment (RFC) 977 document \latex latex \backslash cite{rfc977} \latex default , which describes the NNTP news. \layout Standard It is important that agents do not keep entire articles but only references to them, which will save space, if two or more agents refer to the same article. Their unique Message_Id should refer to these articles. This is important because agents from other user's systems will also be asking for articles and checking by Message_Id, which articles have been stored already. \layout Standard Retrieving information for the user is one of the delegated tasks that the user would be able to do them but trust the agent to be able to do it for them effectively. \layout Section Client Interface \layout Standard The client interface should enable the user to have access to all the abilities of a standard Usenet news client and have a menu, which sets up the agent's initial profile and is able to read and alter topic profiles. The system should also have the ability to search for other users agents and connect to them. An example client interface can be found in the prototype system for this agent framework. \layout Section User's NNTP Client \layout Standard The NNTP users client connects a newsserver and performs all the commands necessary to read and post news articles. This will be achieved by using all the commands specified in the RFC 977 \latex latex \backslash cite{rfc977} \latex default document. \layout Section Dialog Based Feedback \layout Standard The dialog feedback mechanism. This feature sets up the starting rules based on the limitations or initial search settings that the user enters into the system. These rules are based on author, subject, author's email address or of the content of the article itself. \layout Standard The basic rules for the system should be set up as a template, with the specific information needed to filter the articles being provided by the feedback of the dialog box. This compnant is the part of the user interface, which brings up a list of articles that the agent has found for the user. When an article is selected, the main text of the article is shown up in a listbox. Clicking on other articles will add them to the listbox. De-selecting each article deletes the main text from the listbox. \layout Standard When the user has finished selecting the articles which they consider the most relevant the system then analyses the articles and tries to induct a pattern which can be searched for when selecting other articles for the user's selection. Information about this is given in more detail in section \begin_inset LatexCommand \ref{agent_learning} \end_inset . \layout Standard Useful feedback to the user provides a method of dialog with the agent, which is one of the attributes that make up an agent. \layout Section Expert System Filtering for an Agent \layout Standard Experts Systems have been discussed earlier in section \begin_inset LatexCommand \ref{expert_systems} \end_inset . The agent uses an expert system to enable it to classify articles. The system also provides a mechanism for introspection. This involves outputting text to a listbox. This text contains information about what decisions the agent made in regard to classifying and choosing articles. \layout Standard This is important because allows the user to make their own decision as to whether the agent has correctly classified an article or not and can decide then what to do with the article. \layout Standard Using an expert system provides a framework of rules of which new ones can add and old ones deleted or modified. \layout Section Agent Learning and Updating the Rulebase \begin_inset LatexCommand \label{agent_learning} \end_inset \layout Standard Because of the limited time allowed to complete this research project a particular method of pattern matching has been included into this design framework. This method by \latex latex \backslash cite{learning_alg} \latex default finds patterns in pieces of text by looking for the distance between words. This method compares pairs of words in each of the article chosen and the ones rejected and look for pairs of words from each article, which are similar. \layout Section Database of Matching Articles \begin_inset LatexCommand \label{database} \end_inset \layout Standard This database is accessed via the Agent Coordinator. This component stores the references that the agent has. These references are stored in a hastable, which is shown in table \begin_inset LatexCommand \ref{hashtable_of_articles} \end_inset . Each article processed by the system can be stored in a news object, which contains the following attributes: \layout Enumerate The System Id (used to keep track of where the article is in the database) \layout Enumerate The Header \layout Enumerate The Author and the Authors Email Address \layout Enumerate The Subject \layout Enumerate The Main Text of the Article \layout Enumerate The Newsgroups \layout Standard This object then becomes a record in the database. The attributes stored in each record provide the system with a mechanism to access different parts of the article. \protected_separator This provides the flexibility to examine parts of the article without having to search the article for them, allowing the program to be more efficient. For example if the system needed to check for a particular author's name, the system could retrieve the author's name directly without having to search the entire record. This speeds up access to the database.