TimeMachine: Entity-Centric News Analysis
- TimeMachine is a web-based system for entity-centric search that transforms large news archives into temporally indexed entity profiles.
- It automatically extracts and aggregates entity names, quotations, and co-occurrence patterns to create interactive network visualizations.
- The system integrates NLP, text mining, and IR techniques to support computational journalism and enable longitudinal media analysis.
TimeMachine is a web-based system for entity-centric search and visualization of large news archives. Rather than treating an archive solely as a document collection, it organizes news around entities—mainly public people or personalities—and their temporal footprints. Queries expressed as stories, events, or topics are mapped to ranked entities through automatically extracted and indexed entity profiles, while temporal and network views expose how prominence, quotations, and co-occurrence patterns change through time. In the paper’s framing, this combination of Natural Language Processing, Text Mining, and Information Retrieval serves computational journalism by supporting longitudinal exploration of media coverage (Saleiro et al., 2016).
1. Conceptual orientation and objectives
TimeMachine is defined by an entity-centric view of news. A user does not need to know the target entity name in advance; instead, a keyword phrase such as “eurozone crisis” or “ballon d’or nominees” can be used to retrieve the entities most associated with that story. This reframes archive access from article retrieval to entity retrieval, with entities functioning as the primary exploration units (Saleiro et al., 2016).
The system’s stated goals are fourfold. First, it performs entity-centric retrieval from news archives, returning entities rather than only documents. Second, it supports temporal exploration of media content, allowing inspection of how entity prominence, associated stories, quotations, and relationships change over time. Third, it automatically extracts entity knowledge, including entity names, professions or jobs, quotations, related entities, and co-occurrence networks. Fourth, it provides interactive visual exploration through network views that expose clusters of related public figures.
This design responds to a practical archival problem: continuous large-scale publication makes it difficult to perceive the development of a story, its broader context, and the set of important people involved. TimeMachine addresses that difficulty by converting the archive into a temporally indexed entity layer. A plausible implication is that journalistic sensemaking becomes less dependent on exhaustive article reading and more dependent on structured navigation across actors, periods, and connections.
2. Processing pipeline and entity profile construction
The system is organized as a news processing pipeline that starts with raw news files and ends with indexed entity profiles and interaction-ready visualizations. The stages described in the paper are summarized below (Saleiro et al., 2016).
| Stage | Main operation | Output |
|---|---|---|
| News cleaning | Remove boilerplate from raw HTML/XML files | Article content |
| NERD | Recognize entity mentions and disambiguate them | Resolved entity mentions |
| Snippet/profile construction | Concatenate sentences mentioning an entity | Entity document |
| Indexing and extraction | Build entity index, quotations, and co-occurrence tuples | Searchable profiles and graph |
The first stage is a news cleaning module that removes boilerplate from raw HTML/XML files. Its function is to isolate article content from webpage templates, navigation, and other irrelevant markup. After cleaning, content is processed by a NERD module that recognizes entity mentions and disambiguates each mention to an entity. The disambiguation strategy is explicitly described as heuristic and news-specific, relying on job descriptors and linguistic patterns characteristic of journalistic writing. The example given is “Barack Obama, president of USA,” where the job descriptor helps both identification and characterization.
The underlying NER system is trained with a bootstrap approach. The process starts from a dataset of 50,000 news items in which person names are annotated with a simple dictionary-based approach. This weakly annotated corpus is used to train a Conditional Random Fields classifier; the inferred classifier is then applied to produce additional annotations on the initial seed corpus; a new model is trained on the expanded annotations; and the cycle is repeated until the NER model stabilizes. This reduces manual labeling effort while adapting the recognizer to the news domain.
Once entities are recognized, TimeMachine collects all sentences containing mentions of a given entity. These entity snippets are concatenated into an entity document, which is stored in the entity index. This aggregation step is central to the system: entities are represented by the textual contexts in which they appear across the archive, rather than by isolated article instances.
The same pipeline also extracts quotations and co-occurrence tuples. Quotations are automatically extracted through linguistic patterns and may be direct or indirect. Co-occurrence tuples are extracted at article level: the occurrence count of each entity node is incremented, and the edge count between any two entities mentioned in the same article is created or incremented. The resulting graph is therefore a weighted entity co-occurrence graph in which nodes represent entities, node weights reflect mention frequency, and edges reflect co-occurrence frequency.
3. Retrieval model and temporal indexing
TimeMachine’s retrieval model is based on the entity index built from aggregated snippets. For each entity, the index stores the frequency of co-occurrence between that entity and each term occurring with it in the news. Because news coverage is linguistically redundant, repeated association between an entity and a story accumulates terms and phrases in that entity’s profile, making keyword-to-entity retrieval feasible (Saleiro et al., 2016).
At query time, the process is conceptually straightforward. A textual profile is built for each entity from all snippets mentioning that entity. Each profile is indexed by the terms co-occurring with the entity across the archive. A user query is matched against this entity index. The output is a ranked list of entities most associated with the query terms. This means that the retrieval units are entity documents rather than article documents.
Temporal indexing is integral to this design. The system indexes the datetime of snippets, which makes it possible to restrict retrieval to a chosen time span. As a result, the same query may produce different ranked entity lists in different periods; the paper gives “corruption” as an example. Time-aware retrieval is therefore not an auxiliary filter layered on a static ranking, but part of the index structure itself.
A common misconception is that the paper specifies a formal ranking model. It does not. The paper does not provide an explicit scoring formula, ranking function, or probabilistic retrieval model. It specifies the retrieval principle—aggregated snippet documents, term frequencies associated with entities, and query matching against those profiles—but not the exact scoring function. This suggests conventional IR ranking over entity documents, but that implication is not formalized in the paper.
4. Interface, interaction model, and visualization
TimeMachine exposes two main entry points for exploration: a search box and date selection. The search box is available on the homepage and top bar throughout the site. It supports both direct entity-name lookup, as in “Cristiano Ronaldo,” and story- or event-level keyword queries. The second mode is presented as the more powerful one because it allows discovery of relevant entities without prior knowledge of their names (Saleiro et al., 2016).
Date selection provides a second exploration mode. A user can choose a specific date or date interval directly from the homepage. In this mode, TimeMachine presents a global interactive network of mentions and co-occurrences for the most frequent entities in that period. The homepage also includes recommended stories intended for first-time visitors.
When a ranked result is selected, the interface moves to an entity profile page. The profile contains automatically extracted entity-specific data, including name, profession, news articles, quotations, and related entities. Each entity also has an entity timeline through which users can inspect period-specific articles, quotations, and related entities. This page acts as the central hub for longitudinal exploration of a person’s role in the archive.
The profile page includes a “view network” option that opens an egocentric network centered on the selected entity during the selected time span. The visualization uses Sigma JS, and the layout and clustering mechanism is Force Atlas. Graph semantics are explicit: nodes are entities, and edges denote co-occurrence in the same news article. Node size is proportional to the number of mentions, edge width is proportional to the number of co-occurrences, and node colors represent specific news topics in which entities were mentioned. The paper emphasizes that the force-directed layout supports interactive and real-time clustering of entities.
An important clarification concerns “relations.” In the implemented system, relations are co-occurrence-based relations, not semantically typed relations such as “works for” or “married to.” The authors explicitly frame semantic extraction and retrieval of relations between mentioned entities as future work. The network views therefore visualize media association structure, not a fully typed knowledge graph.
5. Archive coverage and illustrative use cases
The demonstration uses a Portuguese news archive composed of two sources: a repository from the main Portuguese news agency covering 1990–2010, and a stream of online articles provided by SAPO, which aggregates content from 50 online newspapers. By the time the paper was written, the archive contained over 12 million news articles, and the system was operating daily, processing articles continuously as they were collected from the news stream (Saleiro et al., 2016).
This scale shapes the intended use cases. One use case is story-driven discovery: a journalist or analyst queries “eurozone crisis” or “ballon d’or nominees” and receives the entities most associated with that story in the archive. Another is direct entity exploration, as with “Cristiano Ronaldo,” leading to a profile page with articles, quotations, professions, and network context. A third use case is temporal comparison, where a query such as “corruption” is examined across different time windows to observe changing actors. A fourth is date-driven exploration of the broader media landscape through the global network view of the most frequent entities in a selected interval.
The system’s extracted information types support these workflows in distinct ways. Entity names support indexing, graph construction, and direct surface-form search. Professions and jobs aid both disambiguation and profile characterization. Quotations provide short, informative statements attributable to entities and can be filtered by time. Co-occurrence networks expose central actors and clusters in coverage. Taken together, these representations make the archive navigable at the level of people, periods, and media associations rather than only at the level of document lists.
6. Evaluation, limitations, and significance
TimeMachine is presented as a system and demo paper rather than as a benchmark-driven evaluation paper. It does not report a formal evaluation in terms of precision or recall for NER, retrieval effectiveness metrics, user studies, graph quality measures, or computational performance benchmarks. The emphasis is instead on system goals, architecture, processing pipeline, interface, and demonstration setup (Saleiro et al., 2016).
Several limitations are explicit. The relation model is primarily co-occurrence, not richer semantics. Extraction and disambiguation rely heavily on heuristics tailored for news. The paper does not specify advanced entity linking to an external knowledge base. The ranking method is not formally described. No formal user or retrieval evaluation is reported. These limitations are methodological rather than incidental: they mark the boundary between an integrated exploratory platform and a fully evaluated retrieval or information extraction framework.
At the same time, the system’s contribution is clearly articulated. TimeMachine joins NLP, IR, information extraction, and graph visualization into a practical environment for entity-centric understanding of news through time. It builds profiles from entity snippets, indexes them by term co-occurrence and timestamp, enriches them with professions and quotations, and exposes them through temporal filtering and interactive network exploration. In that sense, its main contribution is not a single novel algorithm, but an integrated workflow for computational journalism centered on entities, temporal footprints, and co-occurrence structure.