## 4 The N-closest Photos (NCP) Model  
Perhaps the simplest tag recommendation model is to suggest tags that frequently co-occur with the existing tags of an image. In our work, we refer to this model as the Statistical Co-Occurrence model or simply the SCO model. Obviously the biggest disadvantage of this approach is that it always suggests the most frequent co-occurring tags regardless of the actual content of the photo. In addition, recommendations may be dominated by noise tags, like _fantastic_, _abigfave_ or _flickrdiamond_, as the common denominator of a group of photos, further reducing the usefulness of the method. In this paper we propose extending this model by taking into account content-based image similarity in addition to tag co-occurrence. The approach proposed in this paper can be thought of as a localized version of the SCO model: first similar photos are found and then the most frequently occurring tags within this  
Figure 5: Overall process of the proposed system. The dashed line indicates the possibility that after a user has selected a suggested tag the system can recommend further tags based on the selection of the user.  
group are used to find and rank tag suggestions. This method, referred to in our work as the N-Closest Photos or NCP model, consists of the following steps:  
1. _Access a large collection of tagged photos._ An existing collection of existing tagged photos is a prerequisite for the algorithm. Large online photo sharing sites, such as _Flickr_, are a source of such images as they can be accessed free of charge and provide an immense amount of user annotated images.
2. _Locate photos with the current start tag._ The user is required to enter at least one start tag to describe the target photo. Based on this start tag, a group of photos is retrieved. This set of photos tagged with the user specified start tag is called \(G\), consisting of the \(|G|\) most relevant photos for the start tag. \(G\) is restricted to the most relevant images as the set of all images tagged with the current start tag can easily grow to a size of millions of images.
3. _Find similar photos._ A subset of similar photos should be extracted from \(G\) using a content based distance function to compare photos with the target photo. A group of photos \(N\subseteq G\) of the \(|N|\) images most similar to the input image is selected.
4. _Synthesize tags._ Finally, the tags used within \(N\) are combined to select and rank a number of \(C\) tags for the target photo. We employ tag frequency weighted by the rank of the photos tagged.  
The following example illustrates how the NCP model works in practice. Consider the photo in Figure 7 and assume the photo was submitted with the start tag _beach_ to the NCP model. The actual application of the model (using real data) is shown in Figure 8.  
Step 1 in Figure 8 indicates that the photo is submitted with the start tag _beach_. In step 2 a large amount of photos tagged with _beach_ is retrieved (set \(G\)), which are ranked in step 3 according to their visual similarity to the initial image. Based on this ranking, the set \(N\), being the most similar photos, is created. Tags assigned to photos in \(N\) are ranked according to their frequency within \(N\). In step 5 the \(C\) tags ranked highest (shown with \(C=8\)) are presented as recommendations to the user.  
Figure 7: A sample image of a beach to be tagged (Coogee Beach by Flickr user [PERSON]. Tags: _australia_, _nsw_, _2004_, _coogee beach, beach, sunrise_ and _favorites_).