the present invention describes a process that takes unstructured data feeds and automatically constructs an interactive and dynamic presentation of the content in the unstructured data feeds . in fig1 , a system 10 creates and edits a dynamically interactive publication for display to viewers 12 1 , 12 n at terminals ( not shown ). a process controller 14 receives articles or files from information sources 16 1 , 16 n for processing into the interactive publication as will be described hereinafter . the controller is coupled to a memory 17 and through a bus 19 to a storage disk 23 and i / o 25 including a keyboard , modem or lan , display , etc . ( all not shown ). the i / o couples the system 10 to the viewers 12 1 , 12 n . the memory 17 includes stored program instructions for a standard operating system 30 ; an extensible markup language ( xml ) enabler 32 ; a text - processing module 34 , and an image database 36 a description of xml may be found on the world wide web ( web ) at http :// www . w3org / xml . the storage disk 23 includes data files interacting with the stored program instructions in the memory 17 . stored in the disk 23 are extensible stylesheet language ( xsl ) files 40 ; xml files 42 ; image files 44 ; java class files 46 ; and hypertext markup language ( html ) files 48 . xsl combines with xml to produce html web documents . hypertext markup language ( html ) is a language with which web pages are designed . a description of html may be found on the web at http :// www w3 . org / markup . a description of xsl may be found on the web at “ http :// www . w3 . org / style / xsl ”. the java class files 46 are used to generate java applets , which are small computer programs that run inside a java - compatible browser such as netscape navigator . a description of java may be found on the web at “ http :// java . sun . com ”. it should be understood that other object oriented , interpretive run - time programs , may be substituted for java including dhtml or other proprietary implementations , which take parameterized input . fig2 illustrates a process 50 referred to as “ activenews ” which is executed on system 10 under the control of process controller 14 including stored programming instructions for executing a series of steps 1 - 7 shown in fig2 which will be described in conjunction with fig1 . in process 50 clear boxes indicate processing steps within a designated algorithm . dark boxes indicate modules and resources upon which the process step relies . process 50 begins in step 1 in which the processor receives an article from an information source 16 with a title and article body . the article is a plain text or an html document and does not contain any other structure or markup . typically the article is received as a zip collection of files via file transfer protocol ( ftp ), step 1 extracts the articles , and writes them into a file system . articles are then read one at a time into step 2 of the process . in step 2 , the controller passes the article to the text - processing module 34 and stores the results with the article into a document object held in memory 17 . the text processing module provides the offset and length of each occurrence of any proper name found as well as its canonical form ( the base form of the name ) and the category ( person , place , organization , and product ). this information is translated into an xml text buffer with proper names converted to tagged elements in the article . a document object is then created in memory from the text buffer . these intermediate results are not written to disk but are passed in memory 17 from step 2 to step 3 . the document object created includes the article , with each paragraph containing 0 or more proper names . with these proper names are attributes to describe its canonical form and category . one text - processing module 34 used in the process is “ talent ” containing an internal module called “ nominator ”. talent is described on the web at “ http :// www . research . ibm . com / irgroup / talent ”. nominator is described in a paper entitled “ disambiguation of proper names in text ” which is available on the web at “ http :// www . research . ibm . com / people / r / ravin / anlp97 . ps ”. nominator analyzes the text and finds occurrence of proper names . for the name found , nominator determines if a single canonical form can represent more than one proper name expression in the same document . nominator also returns the category of each name . by default , nominator determines the categories — person , place or organization based on an algorithm that combines dictionaries and rules . in addition , nominator can find names listed in a user provided dictionary . for the activenews process 50 , a product dictionary with canonical forms of product names and their possible variations was used . the product dictionary allows nominator to find names that belong to the additional category product . in step 3 , images corresponding to proper names are found by queries in the image database module 36 . a query is made to the image database 36 for images corresponding to proper names and the results are added to the document object held in memory 17 . document objects containing articles and marked up proper names with added attributes for corresponding images are provided to step 4 . continuing in step 3 , the image database 36 receives a url query string containing a proper name . the database generates a list of all elements matching the query . the list can contain zero , one or more elements . each element contains a pointer , a url to the image file stored in the file system . in one embodiment , a lightwight directory access protocol ( ldap ) database contains description of elements of ibm executives , ibm products and company logos . a description of these elements consists of a series of attributes - value pairs , including the name of the person , product or company , as well as variations of the name ( e . g ., “ lou gerstner ” or “ louis gerstner ”) for more accurate searching on names . one attribute of these elements is a pointer ( url ) to an image in the file system 44 . the input to the ldap database is a url query string that specifies which category name to search ( e . g ., http :// database_directory_name / media / who / name = lou % 20gerstner ). the output result list of the database is formatted in xml , which allows a client to use standard xml parsing tools to extract the location of the image in the file system . a representative database query result is shown in appendix i . in step 4 , the process determines the images to display in the final dynamic presentation and adds the information to the document object to contain all element and attribute tags needed by the xsl style sheets in step 6 to generate the final , savable html file in step 7 . the document object representing the article with proper name tags and corresponding image attributes are received at step 4 and the output is a final document object consisting of articles with all elements and attribute tags necessary for xsl style sheets . step 4 depends on two parameters , the minimum number of images to create activenews article and the maximum number of images to display in the activenews article . a separate , temporary data structure is used to store intermediate results needed in image selection of step 4 . at the beginning of step 4 , the document object in memory represents the paragraphs of the article , and each paragraph contains zero or more proper names . proper names may contain a url to an image if it was found in the image database module . at the end of step 4 , paragraphs are combined into sections , where each section defines a state in the final dynamic presentation . each section contains one or more paragraphs and only one image corresponding to a proper name . the first section of the article represents the initial state when the article is first displayed . 1 . the number of unique proper names with associated images , or valid names , in the article are counted . if the number is less than the minimum number of images necessary , the article is not transformed into an active news article . the process exits and goes back to step 1 to process the next article in the feed . otherwise , the number of occurrences of each valid name is counted and stored in a temporary structure . all valid names are ranked by frequency . 2 . the paragraphs are processed one - by - one , starting with the paragraph with the most occurrences of the most frequently occurring name in the entire article . 3 . for each paragraph : ( i ) if the paragraph has only one valid name an indication is made in the document object that the corresponding image will be displayed in the final presentation by setting the “ active ” attribute of the proper name element to “ true ”. this name and image cannot be reused in any other paragraph . ( ii ) if a paragraph has more than one valid name , “ active ” tag is set to “ true ” for the name with the highest frequency in the paragraph . in the case of a tie , the first name is selected . the “ active ” tag remains unset for all other names in the paragraph . once a paragraph has one “ active ” tag of one proper name set to “ true ”, the paragraph is not processed for other proper names . after all paragraphs are processed , all paragraphs have been assigned either one image or no image to be displayed in the final presentation . ( iii ) all paragraphs are grouped into section tags . two consecutive paragraphs are grouped together into a section as long as only one paragraph has a valid name and image link . each section , except for the first section which may not have an image , should have only one valid name and image to display . the process then transitions to step 5 . in step 5 , the process transforms articles into the text representation of an xml object and saves it to an xml file on disk 42 . the xml file includes all of the appropriate elements and attributes that are needed by the xsl style sheets to construct html for a java applet . in step 6 the xsl style sheets are created . the xsl style sheets created are combined with the xml files to produce the final html to be delivered to the viewer browsers step 6 represents the manual creation of one or more xsl style sheets . the creation of the style sheet is a one - time task . each xsl style sheet represents different activearticle layouts , or other types of layouts possible . the output of running these style sheets with an xml file created in step 4 produces html . the html generated includes the appropriate parameters for an activearticle applet . a screen shot of a running active news article is shown in fig3 a and b . an activearticle module 37 provides the specification of how to create a java applet for a running activearticle . the active article is a java applet whose display is divided into three sections as illustrated in fig3 b . in the center , a few lines of the main text of the article are in focus and enlarged type . the type size of other lines of the article is proportional to their distance from the text in focus , thus creating a “ fish eye lens ” effect . on the left side of the display is a scaled down version of the complete article . a scroll bar tracks the viewer &# 39 ; s progress through the article by highlighting the lines of the article in focus one way for the viewer to control focus is by manipulating the scroll bar . the viewer can also scroll the article by clicking and dragging on the main text . located on the right - hand side of the display are images linked to sections of the text through stylesheet - defined elastic relationships . each successive section is represented by a different graphical layout that specifies how images scale and position themselves . as the viewer passes into a new section , activearticle triggers a smooth animated transition of the image layouts , visually representing a shift in context . the viewer can also select an image to bring it into focus and display its caption . since activearticle is a java applet , the parameters to activearticle are passed in as the parameters of the java applet . different sections within an activearticle are delineated within the “ text ” parameter by the character “|” ( vertical bar ). if there are five sections , the input must contain four vertical bars . the parameter “ numofstates ” as composed , identifies how many sections exist in the activearticle . in addition , attributes for each image must be specified . the name of the image is listed in the “ pictures ” parameter . additional parameters for each picture are specified in the parameter “ infoforpicturen ” where n is the position starting with zero ( 0 ) in the “ pictures ” parameter . the values in the “ infoforpicturen ” parameter are the caption , the scale factor for each section , the x value for each section , and the y value for each section . the relevant activearticle applet parameters for atypical html file are shown in appendix ii . in step 7 , the final html file is created ready for input into a dynamic presentation . the xml and xsl files are received as an input . the html file can be generated in a number of ways . viewer - side generation of html is possible in the new generation of browsers such as microsoft &# 39 ; s internet explorer 5 . 0 . however , the html file can be produced and served to browsers that are not xml / xsl aware . the html file can be generated on the server side with technology such as xml enabler , code freely available from ibm &# 39 ; s alphaworks site . xml enabler is a server side technology that combines xml files with xsl style sheets and creates and serves the html for the browsers to view a description of the xml enabler is available on the web at : “ http :// www . alphaworks . ibm . com / tech / xmlenabler ”. the image file system module 44 stores image files associated with entries in the image database module . in one embodiment , a distributed file system stores the image of files associated with entries in a directory . the images are stored in a directory accessible by an apache web server by their “ http ” address in the final html that is generated while the invention has been shown and described in preferred embodiment , various changes may be made without departing from the spirit and scope of the invention as defined in the appended claims , in which .