CROSS-REFERENCE TO RELATED APPLICATIONS 
     The present invention relates to and claims the benefit of the filing date of commonly-owned, co-pending Japanese Patent Application No. JP 2012-239077, filed on Oct. 30, 2012, the entire contents and disclosure of which is incorporated by reference as if fully set forth herein. 
     TECHNICAL FIELD 
     The present invention relates to an information processing technology and, in particular, to a technique to estimate a location related to a user in social media such as a microblog. 
     BACKGROUND ART 
     Social media has become widely used and along this widespread use has arisen a request to know locations related to users (for example residences or work places). For example, if a user sends disaster information, the location of the user can be quickly estimated and necessary measures can be taken. Furthermore, if the locations of users can be estimated, sales promotions targeted at each individual region will be possible. On the other hand, social media typically includes fields for users to fill in their profiles and make the user profiles public. However, only a small minority of users fill in their exact locations in the profile fields. For example, it has been reported that a little more than 20% of the users of a social media filled in their exact locations in the profile fields. Various approaches to circumventing the problem have been attempted. For example, an approach has been attempted in which latitude/longitude information called a geotag is added to information to be sent by users by using a GPS (Global Positioning System) function of a mobile device (see Non-patent Literature 3). Another technique has been proposed that analyzes a text in sent information to estimate a location from a geographical name contained in the text (see Patent Literatures 1 and 2). 
     A technique has been proposed that estimates the location of a user from regionality of words (words specific to a particular region and dialect) used in a posted text to estimate the location of the user (see Non-patent Literature 1). Another technique has been proposed that takes into consideration the relationship between users (follow/followed relationship) that is implemented in social media to estimate the location of a user on the assumption that regionality is reflected in the relationship (Non-patent Literature 2). 
     CITATION LIST 
     Patent Literature 
     
         
         [Non-patent Literature 1] Cheng, et al. “You are where you tweet: A content-based approach to geo-locating Twitter users”. In proceedings of CIKM, 2010. 
         [Non-patent Literature 2] Clodoveu, et al. “Evaluation of the quality of an online geocoding resource in the context of a large Brazilian city”, Transactions in GIS, Volume 15, Issue 6, pp. 851-868, December 2011. 
         [Non-patent Literature 3] T. Sakamaki, et al. “User behavior pattern analysis using geo-tag of microblog”, IEICE Technical Report, NLC 2010-37. 
         [Patent Literature 1] JP2010-517147A 
         [Patent Literature 2] JP2008-158564A 
       
    
     SUMMARY OF INVENTION 
     Technical Problems 
     However, these approaches have the following problems and the effects of the approaches are limited. First, in reality, text in information with a geotag and information sent rarely contains geographical names. Estimation of based on regionality of words and regionality of relationship between users cannot be precise enough. 
     The present invention has been made in light of these problems and is based on the idea of identifying a “local event” that attracts attention in a regionally localized area and estimating that residence-unidentified users who have made a mention of that event is likely to be a resident of that area. One object of the present invention is to provide a technique to estimate a location relating to a user who has not filled in information about the location in a profile field in social media such as a microblog. 
     Solution to Problems 
     The present invention provides a method for estimating association between a user in social media and a location. The method includes the steps of acquiring a first content posted to the social media by a first user associated with a first location, determining regional localization of the first content on the basis of the first location, acquiring a second content posted to the social media by a second user not associated with a location, determining the degree of a relationship between the first content and the second content and associating the first location with the second user on the basis of the localization and the degree of the relationship. 
     The step of determining the localization may include the steps of computing a base distribution indicating a regional distribution of the first content randomly extracted, computing an event distribution indicating a regional distribution of the first content relating to a particular event, and determining regional localization of the first content on the basis of a difference between the base distribution and the event distribution. 
     The social media may include a profile associated with each user and the profile includes a location field and the step of computing the base distribution may include the steps of acquiring a placename filled in the location field associated with a user who posted the first content randomly extracted, referring to a placename dictionary indicating association between a placename and a pair of latitude and longitude to obtain a pair of latitude and longitude corresponding to the acquired placename on the basis of the acquired placename and identifying a single cell corresponding to the acquired pair of latitude and longitude among a plurality of cells into which an area of interest is divided in advance. The identified single cell may be the first location and the precision with which the area of interest is divided may be changeable. 
     The first content relating to the particular event may be the first content including a particular keyword. The particular keyword may be a keyword that has occurred a number of times that is greater than a predetermined threshold. 
     The social media may include a profile associated with each user, the profile includes a location field and the step of computing the event distribution may include the steps of acquiring a placename filled in the location field associated with a user who posted the first content relating to a particular event, referring to a placename dictionary indicating association between a placename and a pair of latitude and longitude to obtain a pair of latitude and longitude corresponding to the acquired placename on the basis of the acquired placename and identifying a single cell corresponding to the obtained pair of latitude and longitude among a plurality of cells into which an area of interest is divided in advance. 
     Here, the regional localization of the first content can be computed using a KL-divergence between the base distribution and the event distribution. The step of determining the degree of relationship may determine whether or not the first content and the second content are related to the same particular event and may determine whether or not the first content and the second content include the same particular keyword. 
     The step of associating may associate the first location with the second user if the degree of the localization is greater than a predetermined threshold. The step of associating may associate more strongly the first location with the second user in response to the degree of the localization being greater. Furthermore, the step of associating may associate the first location with the second location if the degree of the relationship is greater than a predetermined threshold. The step of associating may associate more strongly the first location with the second user in response to the degree of the relationship being greater. 
     The method may further include the step of, in response to a plurality of the first locations being associated with one single second user, estimating that the first location most often associated with the second user is a second location associated with the second user. The step of associating may further include the step of associating more strongly the first location with the second user in response to the degree of the relationship being greater and the degree of the localization being greater, and, in response to a plurality of the first locations being associated with one single second user, estimating that the first location most often associated with the second user is a second location associated with the second user. 
     The probability P(l|u) that the second user u is associated with the first location l can be given by Formula 1, the probability P(l|e) that a particular event e attracts attention of the first user u associated with the first location l can be given by Formula 2, and the probability P(e|u) that the second user u has made a mention of the event e can be given by Formula 3. 
     [Formula 1] 
     Estimation of the probability that the user u is a resident of the location l: 
               P   ⁡     (     l   |   u     )       =       ∑   e     ⁢       P   ⁡     (     l   |   e     )       ·     P   ⁡     (     e   |   u     )                 
[Formula 2]
 
The probability that the event e particularly attracts attention of users living in the location l:
 
               P   ⁡     (     l   |   e     )       =       ∑     u   ∈     U   known         ⁢         P   0     ⁡     (     l   |   u     )       ·     P   ⁡     (     u   |   e     )                 
where U known  is a set of users whose residence has been identified and
 
                 P   0     ⁡     (     l   |   u     )       =     {         1         iff   ⁢           ⁢     u   ′     ⁢   s   ⁢           ⁢   location   ⁢           ⁢   profile   ⁢           ⁢   is   ⁢           ⁢   l             c         iff   ⁢           ⁢     u   ′     ⁢   s   ⁢           ⁢   location   ⁢           ⁢   profile   ⁢           ⁢   is   ⁢           ⁢   unknown             0         iff   ⁢           ⁢     u   ′     ⁢   s   ⁢           ⁢   location   ⁢           ⁢   profile   ⁢           ⁢   is   ⁢           ⁢   not   ⁢           ⁢   l                   
[Formula 3]
 
The probability that the user u has made a mention of the event e:
 
               P   ⁡     (     e   |   u     )       =     {           1          E   u                  iff   ⁢           ⁢     ∃     t   ∈         T   e     .   t     ⁢           ⁢   is   ⁢           ⁢   posted   ⁢           ⁢   by   ⁢           ⁢   u                   0       otherwise                 
where T e  is a message concerning the event e and E u  is an event sent by the user u.
 
     The content may be message that is sampled from messages posted to the social media on predetermined criteria. The message may be a message sampled on criteria including a given keyword from messages posted to the social media in a given time period. The social media may be a microblog. 
     The present invention when viewed as a computer program or a computer system can also include practically the same technical features as the technical features of the present invention when viewed as the method described above. 
     Advantageous Effects of Invention 
     The present invention enables the location of a user in social media such as a microblog to be estimated with an improved degree of accuracy. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1  is a conceptual diagram illustrating a microblog system; 
         FIG. 2  is a diagram illustrating a smartphone functioning as a user terminal and its display screen; 
         FIG. 3  is a diagram illustrating a data structure of data stored in a hard disk device in a microblog server; 
         FIG. 4  is a block diagram illustrating a hardware configuration of a computer; 
         FIG. 5  is a block diagram illustrating functions of the computer; 
         FIG. 6  is a basic flowchart illustrating a process performed by the computer; 
         FIG. 7  is a flowchart illustrating a process for generating a base distribution; 
         FIG. 8  is a flowchart illustrating a process for generating geographical distribution data; 
         FIG. 9  is a flowchart illustrating a process for detecting a local event; 
         FIG. 10  is a flowchart illustrating a process for detecting an event; 
         FIG. 11  is a flowchart illustrating a process for estimating a residence; and 
         FIG. 12  is a schematic diagram illustrating a process of generating distribution data. 
     
    
    
     DESCRIPTION OF EMBODIMENTS 
     Embodiments 
     The best mode for carrying out the present invention will be described below in detail with reference to drawings. However, the embodiments described below are not intended to limit the present invention which is defined in the claims and not all combinations of features described in the embodiments are essential to the inventive solution. The present invention can be carried out in many different modes and should not be interpreted as being limited to the specifics in the descriptions of the embodiments. It should be noted that not all of the combinations of features described in the embodiments are essential to the inventive solution. Throughout the description of the embodiments, like elements are given like reference numerals (unless otherwise stated). 
       FIG. 1  is a conceptual diagram illustrating a microblog system, which is an example of social media. The system includes a microblog server  2  and user terminals, which are interconnected through the Internet  4  so that they can communicate with each other. The user terminals may be computers of any types including a communication capability. For example, the user terminals may be mobile devices, such as a smartphone  31 , a tablet  32 , a (laptop) personal computer  33  depicted as well as a personal data assistant (PDA, personal digital assistant), an in-vehicle computer, and a netbook, which are not depicted. 
       FIG. 2  illustrates, as one example, a smartphone  31 , which is a user terminal, and its display screen. A microblog application screen is displayed on the touch screen of the smartphone  31 . The application screen is split into three sections: a home section  311 , a timeline section  312  and an operation section  313 , from top to bottom. Displayed in the menu section are a menu button and an indication that the timeline section  312  is the timeline of user AAA. Displayed in the timeline section  312  are message fields  312   a  and  312   b  of user AAA and a message field  312   c  of user BBB (who is following user AAA), from top to bottom. The message fields  312   a  to  312   c  are displayed in chronological order. That is, the message field  312   a  at the top corresponds to the latest message. 
       FIG. 3  illustrates a data structure of data stored in hard disk devices  20  and  22  in the microblog server  2 . A message table ( FIG. 3( a ) ) stored in the hard disk device  20  includes a transmission time and date (created_at) indicating the time and date at which each message was sent, a message ID (id) identifying each message, a user ID (user_id) identifying a user who sent the message, and a text (text) which is the body of the message. Note that the number of characters in a text can be limited (for example up to 140 characters). A profile table ( FIG. 3( b ) ) stored in the hard disk device  22 , on the other hand, includes a user ID (user_id) identifying each user, a user name (name), a location of the user, such as a residence address or a business address of the user (location), profile information representing a profile of the user (profile), and URL information (url) which is the address of a webpage relating to the user. While the hard disk devices  20  and  22  are depicted as being separate devices, they may be configured as one integral device or may be distributed over a plurality of devices. 
       FIG. 4  is a block diagram illustrating a hardware configuration of a personal computer  1 . The hardware configuration of the computer  1  includes a (low-speed and high-speed) bus  10  and a CPU (central processing unit)  11 , a RAM (random access memory: storage device)  12 , a ROM (read only memory: storage device)  13 , an HDD (hard disk drive: storage device)  14 , a communication interface  15 , and an input and output interface  16 , which are connected to the bus  10 . The hardware configuration further includes a mouse  17 , a flat-panel display (display device)  18  and a keyboard  19 , which are connected to the input and output interface  16 . While the computer  1  has been described as employing a typical personal computer architecture, the computer  1  can include multiple CPUs  11  and HDDs  14  in order to provide a higher data throughput and a higher availability, for example. Any of various other types of computer systems as well as a desktop computer can be used. 
     A software configuration of the computer  1  includes an operating system (OS) which provides basic functions, application software which uses the functions of the OS, and driver software for input and output devices. These pieces of software are loaded onto the RAM  12  along with various kinds of data and executed by the CPU  11 , so that the computer  1  in its entirety functions as functional modules illustrated in  FIG. 5  and performs processes illustrated in  FIGS. 6 to 11 . 
       FIG. 5  is a block diagram illustrating functional modules of a computer  1  relating to an embodiment. The computer  1  functions as a base distribution computation module  101 , an event distribution computation module  102 , a localization determination module  103 , and a residence estimation module  104 . 
       FIG. 6  is a flowchart illustrating a process performed by the computer  1  relating to the embodiment. The process includes broadly a base distribution generation step (S 1 ), a local event detection step (S 2 ), and a residence estimation step (S 3 ). 
       FIGS. 7 and 8  are flowcharts illustrating the base distribution generation step (S 1 ) in further detail. The base distribution computation module  101  uses an API to randomly acquire messages sent from users for whom some information has been input in a residence field in profile information (residence-identified users) from the microblog server  2  (S 11 ). The base distribution computation module  101  then generates geographical distribution data based on the acquired messages (S 12 ). 
       FIG. 8  is a flowchart illustrating a procedure for generating geographical distribution data.  FIG. 12  is a conceptual diagram illustrating a process of generating geographical distribution data. The geographical distribution data is constructed by dividing an area of interest into a mesh. For example, an area (see  FIG. 12( a ) ) from 30 degrees north latitude to 45 degrees north latitude and from 130 degrees east longitude to 145 degrees east longitude can be evenly divided into a mesh of 100×100 cells (see  FIG. 12( b ) , where the number of cells does not agree with the number of cells given above). Here, a value can be assigned to each of the cells into which the area is divided. The size of a cell (the number of cells into which the area is evenly divided) can be set arbitrarily. First, the value of each cell is initialized to 0 (zero) (S 121 ). Then, the process from steps S 123  through S 125  are performed to each of the messages in a message set of interest (here, a set of messages randomly selected from messages sent from residence-identified users (S 11 )) (S 122 , S 126 ). 
     Specifically, a text filled in a residence field in the profile information of each sender is acquired (S 123 ). Then, a placename-latitude/longitude dictionary is used to obtain the latitude/longitude corresponding to the acquired text (placename) (S 124 ). Then, 1 is added to a value of a cell corresponding to the acquired latitude/longitude (S 125 ). 
     Here, the level of detail of the texts (placenames) filled in the residence field in the profile information by the senders may vary. Differences in level of detail can be addressed as follows, for example. First, an appropriate level of administrative unit is determined in advance with respect to the size of each cell. Here, assume that city/ward is the appropriate level of administrative unit. Then, if a user has filled in a placename that is more specific (street name) than city/ward, a placename that is more general, namely a city/ward name, is used (the street name, which is a more specific placename, is discarded). If a user filled in only a placename that is more general (prefecture name) than city/ward, a more specific, representative city/ward name (for example a prefectural capital city/ward) is used. These manipulations can be reflected in an organization of a placename-latitude/longitude dictionary, which will be described below, in advance. 
     The placename-latitude/longitude dictionary, not depicted, is stored in the HDD  14  and is accessible to the base distribution computation module  101 . It is assumed here that placenames and pairs of latitude/longitude are in a one-to-one relationship, like one placename corresponds to the latitude/longitude of the location of its city or ward government office, for example. However, they may be in a 1-to-N (a natural number) relationship. Furthermore, it is assumed here that pairs of latitude/longitude and cells to which addition is performed are in a one-to-one relationship, like one pair of latitude/longitude corresponds to one cell containing that pair of latitude/longitude. However, a value weighted according to the distance between an obtained pair of latitude/longitude and the latitude/longitude of the center of each cell may be assigned to one cell containing the obtained pair of latitude/longitude and a plurality of cells adjacent to that cell. Furthermore, while the placename-latitude/longitude dictionary is used here, a placename-cell dictionary, for example, may be provided in advance. 
     By repeating the process (from S 123  through S 125 ) on a set of randomly selected messages, a base distribution indicating a regional distribution of the area (see  FIG. 12( c ) ) can be obtained. Specifically, as illustrated in  FIG. 12( c ) , gray regions of the mesh represent that users relating to the regions (uses living or working there) have sent messages. Darker grays indicate that more messages have been sent. 
       FIGS. 9 and 10  are flowcharts illustrating the local event detection step (S 2 ) in further detail. The event distribution computation module  102  first performs event detection (S 21 ). Specifically, the event distribution computation module  102  uses an API to acquire messages sent from residence-identified users and divided into message sets in regular time intervals (for example 30 minutes) based on time of message transmission from residence-identified users from the microblog server  2  (S 211 ). Then, the event distribution computation module  102  performs the following process (S 212  and S 215 ) on the message set acquired in each time interval. The event distribution computation module  102  extracts keywords from the bodies of the messages in each message set and counts occurrences of each of the keywords (S 213 ). The event distribution computation module  102  identifies a set of messages including a keyword that occurred a number of times that is greater than a predetermined threshold as an “event” (for example 30) (S 214 ). 
     Then, the event distribution computation module  102  and the localization determination module  103  perform the following process (S 22  and S 27 ) to the set of messages identified as an event. 
     First, the event distribution computation module  102  generates geographical distribution data based on the set of messages identified as an event (S 23 ). As in the process illustrated in  FIG. 8 , the event distribution computation module  102  acquires a text filled in a residence field in the sender profile information in each of the messages in a message set of interest (here, the set of messages identified as an event) (see S 123 ), uses the placename-latitude/longitude dictionary to obtain the latitude/longitude corresponding to the text (placename) acquired (see S 124 ), and adds 1 to the cell corresponding to the obtained latitude/longitude (see S 125 ). By repeating the process (S 123  through S 125 ) for the set of the messages identified as the event, a base distribution indicating a regional distribution of the messages can be obtained (see  FIG. 12( d ) ). As a result, as illustrated in  FIG. 12( d ) , the gray regions of the mesh represent that users relating to the regions (users living or working there) have sent messages identified as the event and darker grays indicates that more messages have been sent. 
     Then, the localization determination module  103  compares the event distribution thus computed (see  FIG. 12( d ) ) with the base distribution described above (see  FIG. 12( c ) ) and computes the KL-divergence between the two distributions (S 24 ). Note that KL-divergence is a measure of the difference between two probability distributions. Details of a method for computing the KL-divergence is well known and therefore description of the KL-divergence will be omitted here. The localization determination module  103  then determines whether or not the value of the KL-divergence is greater than or equal to a predetermined threshold (for example 1.5) (S 25 ) and, if the value is less than the threshold, applies the same process to a next set of messages identified as an event (S 22 ). If the value is greater than or equal to the threshold, the localization determination module  103  identifies the set of messages as a local event (S 26 ). Note that a weight can be assigned to each local event on the basis of the value of KL-divergence. 
       FIG. 11  is a flowchart illustrating the residence estimation step (S 3 ) in further detail. The residence estimation module  104  repeats the following process for each local event (S 31  and S 33 ). Specifically, the residence estimation module  104  uses an API to acquire messages sent by users whose residence field in profile information does not contain information (residence-unidentified users) from the microblog server  2 , computes P(l|e) of Formula 5 and P(e|u) of Formula 6 for each of users who sent a message in which a mention is made of a local event (a message that includes a keyword of a local event), and adds P(l|e) and P(e|u) to P(l|u) in Formula 4 (S 32 ). While whether or not a message relates to a local event is determined on the basis of whether or not the message contains a keyword of the local event here, a weight may be assigned to relation between a message and a local event on the basis of the number of keywords of the local event that appear in the message. 
     [Formula 4] 
     Estimation of the probability that the user u is a resident of the location l: 
               P   ⁡     (     l   |   u     )       =       ∑   e     ⁢       P   ⁡     (     l   |   e     )       ·     P   ⁡     (     e   |   u     )                 
[Formula 5]
 
The probability that the event e particularly attracts attention of users living in the location l:
 
     
       
         
           
             
               P 
               ⁡ 
               
                 ( 
                 
                   l 
                   | 
                   e 
                 
                 ) 
               
             
             = 
             
               
                 ∑ 
                 
                   u 
                   ∈ 
                   
                     U 
                     known 
                   
                 
               
               ⁢ 
               
                 
                   
                     P 
                     0 
                   
                   ⁡ 
                   
                     ( 
                     
                       l 
                       | 
                       u 
                     
                     ) 
                   
                 
                 · 
                 
                   P 
                   ⁡ 
                   
                     ( 
                     
                       u 
                       | 
                       e 
                     
                     ) 
                   
                 
               
             
           
         
       
         
         
           
             where U known  is a set of users whose residence has been identified and 
           
         
       
    
                 P   0     ⁡     (     l   |   u     )       =     {         1         iff   ⁢           ⁢     u   ′     ⁢   s   ⁢           ⁢   location   ⁢           ⁢   profile   ⁢           ⁢   is   ⁢           ⁢   l             c         iff   ⁢           ⁢     u   ′     ⁢   s   ⁢           ⁢   location   ⁢           ⁢   profile   ⁢           ⁢   is   ⁢           ⁢   unknown             0         iff   ⁢           ⁢     u   ′     ⁢   s   ⁢           ⁢   location   ⁢           ⁢   profile   ⁢           ⁢   is   ⁢           ⁢   not   ⁢           ⁢   l                   
[Formula 6]
 
The probability that the user u has made a mention of the event e:
 
     
       
         
           
             
               P 
               ⁡ 
               
                 ( 
                 
                   e 
                   | 
                   u 
                 
                 ) 
               
             
             = 
             
               { 
               
                 
                   
                     
                       1 
                       
                          
                         
                           E 
                           u 
                         
                          
                       
                     
                   
                   
                     
                       iff 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       
                         ∃ 
                         
                           t 
                           ∈ 
                           
                             
                               
                                 T 
                                 e 
                               
                               . 
                               t 
                             
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             is 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             posted 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             by 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             u 
                           
                         
                       
                     
                   
                 
                 
                   
                     0 
                   
                   
                     otherwise 
                   
                 
               
             
           
         
       
         
         
           
             where T e  is a message concerning the event e and E u  is an event sent by the user u. 
           
         
       
    
     The residence estimation module  104  estimates that the location with the highest probability in P(l|u) of a user is the residence of the user (S 34 ). Furthermore, the residence estimation module  104  can display the result on the display  18  or the like. 
     The present embodiment identifies a local event that attracts attention of users in a regionally localized area and estimates that a residence-unidentified user who has made a mention of that event is likely to be a resident of that region. Here, the term “event” means a set of message containing a keyword that has radically increased (burst) in occurrence in a time period and a local event is an event that is attracting attention of users in a particular region. A plurality of such local events are identified. That is, the embodiment uses residence-identified users who have made a mention of events to identify an event that is localized in a region, and estimates that a residence-unidentified user who has made a mention of a local event is likely to be a resident of that region. A user who has made a mention of a plurality of local events in a region is more likely to be a resident of that region. 
     The present invention can be implemented as a hardware embodiment in its entirety, a software embodiment as its entirety, or an embodiment embracing elements of both hardware and software. In a preferable embodiment, the present invention is implemented in software, including, but not limited to, firmware, resident software, microcode, and parser picocode. 
     Furthermore, the present invention can be implemented as a computer or any instruction executing system or a computer program including a program code or a computer-readable medium that is to be used in association with the computer or the instruction executing system. For purposes of illustration of the present invention, the computer-readable medium may be any device that is capable of containing, storing, communicating, bearing or transmitting a computer program to be used by any instruction executing system, apparatus or device or to be used in association with any instruction executing system, apparatus or device. Specifically, the parsing control module descried above constitutes an instruction executing system in that sense or a “computer”. 
     The medium may be an electric, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or bearing medium. Examples of the computer-readable medium includes a semiconductor or solid-state memory, a magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a hard magnetic disk, and an optical disk. Examples of the optical disk at the time of writing include a compact disk read only memory (CD-ROM), a compact disk read/write (CD-RW) memory, and a DVD. 
     A data processing system suitable for storing and/or executing program codes may include at least one processor directly or indirectly connected to a memory element through a system bus. The memory element may include a cache memory that provides a temporary storage for at least some of the program codes in order to reduce the number of times of read operations required for reading a local memory and a bulk storage device used in the process of actual execution of the program codes and for reading the bulk storage device during execution. 
     REFERENCE SIGNS LIST 
     
         
           1  . . . Personal computer 
           11  . . . CPU (central processing unit) 
           12  . . . RAM (random access memory: storage device) 
           13  . . . ROM (read only memory: storage device) 
           14  . . . HDD (hard disk drive: storage device) 
           15  . . . Communication interface 
           16  . . . Input and output interface 
           17  . . . Mouse 
           18  . . . Flat-panel display (display device) 
           101  . . . Base distribution computation module 
           102  . . . Event distribution computation module 
           103  . . . Localization determination module 
           104  . . . Residence estimation module 
           2  . . . Microblog server 
           20 ,  22  . . . Hard disk drive 
           31  . . . Smartphone 
           32  . . . Tablet 
           33  . . . (Laptop) personal computer
To provide a technique to estimate a location relating to a user who has not filled in information about the location in a profile field in social media such as a microblog. A method for estimating association between a user in social media and a location includes the steps of acquiring a first content posted to the social media by a first user associated with a first location, determining regional localization of the first content on the basis of the first location, acquiring a second content posted to the social media by a second user not associated with a location, determining the degree of a relationship between the first content and the second content, and associating the first location with the second user on the basis of the localization and the degree of the relationship.