Patent Publication Number: US-2017371506-A1

Title: Method, device, and computer-readable medium for message generation

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application is based upon and claims priority to Chinese Patent Application No. 201610466510.7, filed on Jun. 23, 2016, the entire contents of which are incorporated herein by reference. 
     FIELD 
     The present disclosure generally relates to Internet technologies, and more particularly, to methods, devices and computer-readable medium for generating a message. 
     BACKGROUND 
     With the development of Internet technologies, people are communicating and exchange messages with a social network application (App), which may be installed on a terminal. This social network application may be used to facilitate a communication between a user of the terminal and an object existed within a contact list of this user. In order to realize such a communication, the user may be required to firstly add this object into the contact list. When adding a contact object, the terminal may generate a recommendation message to recommend to the user one or more objects that are available for adding into the contact list. 
     SUMMARY 
     Methods, devices and computer-readable medium for generating a message are provided in the present disclosure. 
     According to a first aspect of the present disclosure, a method for generating a message is provided. The method may include: receiving a target image transmitted from a terminal, the target image including an image of person; acquiring a similar image of the target image from a plurality of images stored in a library, where the plurality of images may be images having corresponding contact information; transmitting the similar image and the contact information corresponding to the similar image to the terminal, such that the terminal is enabled to generate the message including a recommendation message based on the similar image and the contact information. 
     According to a second aspect of the present disclosure, a device for generating a message is provided. The device may include: a processor; and a memory for storing instructions executable by the processor. In one embodiment, the processor may be configured to: receive a target image transmitted from a terminal, the target image including an image of person; acquire a similar image of the target image from a plurality of images stored in a library, where the plurality of images may be images having corresponding contact information; and transmit the similar image and the contact information corresponding to the similar image to the terminal, such that the terminal is enabled to generate the message including a recommendation message based on the similar image and the contact information. 
     According to a third aspect of the present disclosure, a non-transitory computer readable storage medium having stored instructions is provided. When the instructions are executed by a processor of a terminal device, the instructions may enable the terminal device to perform: receiving a target image transmitted from a terminal, the target image including an image of person; acquiring a similar image of the target image from a plurality of images stored in a library, where the plurality of images may be images having corresponding contact information; transmitting the similar image and the contact information corresponding to the similar image to the terminal, such that the terminal is enabled to generate a recommendation message based on the similar image and the contact information. 
     It is to be understood that both the forgoing general description and the following detailed description are exemplary only, and are not restrictive of the present disclosure. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention. 
         FIG. 1  is a schematic diagram of an implementing environment relevant to a method for message generation according to an exemplary embodiment; 
         FIG. 2  is a flow chart of a method for message generation according to an exemplary embodiment; 
         FIG. 3  is a flow chart of another method for message generation according to an exemplary embodiment; 
         FIG. 4A  is a flow chart of yet another method for message generation according to an exemplary embodiment; 
         FIG. 4B  is a schematic diagram of a shot frame according to an exemplary embodiment; 
         FIG. 4C  is a schematic diagram of a recommendation message according to an exemplary embodiment; 
         FIG. 5A  is a block diagram of a device for message generation according to an exemplary embodiment; 
         FIG. 5B  is a block diagram of an acquisition module according to an exemplary embodiment; 
         FIG. 5C  is a block diagram of a first determination unit according to an exemplary embodiment; 
         FIG. 5D  is a block diagram of another first determination unit according to an exemplary embodiment; 
         FIG. 5E  is a block diagram of another device for message generation according to an exemplary embodiment; 
         FIG. 5F  is a block diagram of another device for message generation according to an exemplary embodiment; 
         FIG. 6A  is a block diagram of another device for message generation according to an exemplary embodiment; 
         FIG. 6B  is a block diagram of another device for message generation according to an exemplary embodiment; 
         FIG. 7  is a block diagram of another device for message generation according to an exemplary embodiment; 
         FIG. 8  is a block diagram of another device for message generation according to an exemplary embodiment. 
     
    
    
     Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions and/or relative positioning of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of various examples of the present disclosure. Also, common but well-understood elements that are useful or necessary in a commercially feasible example are often not depicted in order to facilitate a less obstructed view of these various examples. It will further be appreciated that certain actions and/or steps may be described or depicted in a particular order of occurrence while those skilled in the art will understand that such specificity with respect to sequence is not actually required. It will also be understood that the terms and expressions used herein have the ordinary technical meaning as is accorded to such terms and expressions by persons skilled in the technical field as set forth above, except where different specific meanings have otherwise been set forth herein. 
     DETAILED DESCRIPTION 
     Reference will now be made in detail to exemplary embodiments, examples of which are illustrated in the accompanying drawings. The following description refers to the accompanying drawings in which same numbers in different drawings represent same or similar elements unless otherwise described. The implementations set forth in the following description of exemplary embodiments do not represent all implementations consistent with the invention. Instead, they are merely examples of devices and methods consistent with aspects related to the invention as recited in the appended claims. 
     The terminology used in the present disclosure is for the purpose of describing exemplary examples only and is not intended to limit the present disclosure. As used in the present disclosure and the appended claims, the singular forms “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It shall also be understood that the terms “or” and “and/or” used herein are intended to signify and include any or all possible combinations of one or more of the associated listed items, unless the context clearly indicates otherwise. 
     It shall be understood that, although the terms “first,” “second,” “third,” etc. may be used herein to describe various information, the information should not be limited by these terms. These terms are only used to distinguish one category of information from another. For example, without departing from the scope of the present disclosure, first information may be termed as second information; and similarly, second information may also be termed as first information. As used herein, the term “if” may be understood to mean “when” or “upon” or “in response to” depending on the context. 
     Reference throughout this specification to “one embodiment,” “an embodiment,” “exemplary embodiment,” or the like in the singular or plural means that one or more particular features, structures, or characteristics described in connection with an example is included in at least one embodiment of the present disclosure. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment,” “in an exemplary embodiment,” or the like in the singular or plural in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics in one or more embodiments may be combined in any suitable manner. 
     Before the detailed description of embodiments of the present disclosure, the application scenario of the embodiments of the present disclosure will be introduced firstly. With the development of Internet technologies, a user frequently communicates with an object existed within a contact list of this user with the use of a social network application (App), which may be installed on a terminal. A server may analyze potential associations among users based on social relation chains between users (i.e., contact relation chains). 
     A message generation method may be presented as: a server acquires a contact relation map through social relation chains among users (i.e., contact relation chains); after that, the server analyzes potential associations among the users according to the structure of this contact relation map; for a particular user, the server may send account information of another user which has a potential association with this particular user to a terminal of this user, such that the terminal may generate a recommendation message based on that account information. 
     The recommendation message may be generated merely based on those account information of other users which have potential associations with this particular user, and this approach of the generation may be simple and may lack flexibility. Thus, a message generation method may be needed to improve a terminal&#39;s flexibility for generating a recommendation message. 
       FIG. 1  is a schematic diagram of an implementing environment relevant to a method for message generation according to an exemplary embodiment. As shown in  FIG. 1 , the implementing environment may include a terminal  101  and a server  102 . Specifically, the terminal  101  may be a mobile phone, a computer, a tablet device, etc., the server  102  may be a single server, or a server cluster combined of a plurality of servers, and the terminal  101  and the server  102  may be communicated via a wired or wireless connection. 
     The terminal  101  may acquire a target image and transmit the target image to the server  102 . Upon receiving this target image, the server  102  may acquire a similar image of the target image and transmit the similar image and contact information corresponding to the similar image to the terminal  101 . When the similar image and contact information corresponding to the similar image are received, the terminal  101  may generate a recommendation message based on the similar image and the contact information corresponding to the similar image. 
       FIG. 2  is a flow chart of a method for message generation according to an exemplary embodiment. This method for message generation may be applied in a server. As shown in  FIG. 2 , the method may include following steps. 
     In step  201 , a target image transmitted from a terminal is received, and the target image may include an image of one or more persons. 
     In step  202 , a similar image of the target image is acquired from a plurality of images stored in a library, where the plurality of images are images that have corresponding contact information. 
     In step  203 , the similar image and the contact information corresponding to the similar image are transmitted to the terminal, such that the terminal is enabled to generate a recommendation message based on the similar image and the contact information. 
     In this embodiment of the present disclosure, a server receives a target image transmitted from a terminal and acquires a similar image of the target image from a plurality of images stored in a library. After that, the server transmits the similar image and the contact information corresponding to the similar image to the terminal, such that the terminal is enabled to generate a recommendation message based on the similar image and the contact information. Since the target image can be flexibly acquired by the terminal and the similar image may be obtained based on the target image and may also be flexibly obtained, the flexibility of the similar image can be achieved. Meanwhile, the recommendation message is generated based on this similar image, therefore the terminal&#39;s flexibility for generating a recommendation message can be improved accordingly. 
     Alternatively or additionally, the step  202  may further include: for each image within the plurality of images, determining a person similarity between the image and the target image, and determining the image as the similar image of the target image when the person similarity is larger than or equal to a predefined similarity. 
     Alternatively or additionally, the step of determining a person similarity between the image and the target image may include: determining a face similarity between the image and the target image; and determining the face similarity as the person similarity. 
     Alternatively or additionally, the step of determining a person similarity between the image and the target image may include: determining at least one similarity based on the image and the target image, where the at least one similarity may include a face similarity, a posture similarity, and a clothing similarity. A weighted average for the at least one similarity may be taken based on a weight of each similarity included in the at least one similarity, so as to obtain the person similarity between the image and the target image. 
     Alternatively or additionally, before step  202  of acquiring a similar image of the target image from a plurality of images stored in a library, the method may further include: deciding whether an image has corresponding contact information upon receipt of the image; and storing the image and the contact information corresponding to the image into the library when the image has corresponding contact information. 
     Alternatively or additionally, after deciding whether an image has corresponding contact information upon receipt of the image, the method may further include: for each of a plurality of contact images, matching the image with each contact image when the image does not have corresponding contact information where the plurality of contact images are contact images in a stored address book; determining contact information corresponding to an contact image as the contact information of the image when the image successfully matches the contact image; and storing the image and the contact information corresponding to the image into the library. 
     All the alternative or additional technical solutions may be combined arbitrarily to form optional embodiments of the present disclosure. 
       FIG. 3  is a flow chart of a method for message generation according to an exemplary embodiment. The method shown in  FIG. 3  may be applied in a terminal. As shown in  FIG. 3 , the method may include the following steps. 
     In step  301 , a target image that may include an image of person is acquired. 
     In step  302 , the target image is transmitted to a server, such that the server is enabled to return a similar image of the target image and contact information corresponding to the similar image based on the target image. 
     In step  303 , a recommendation message is generated based on the similar image of the target image and the contact information corresponding to the similar image upon receipt of the similar image and the contact information transmitted by the server. 
     In this embodiment of the present disclosure, a terminal may acquire a target image and may transmit the target image to a server, such that the server is enabled to return a similar image of the target image and contact information corresponding to the similar image based on the target image. 
     Upon receipt of the similar image and the contact information transmitted by the server, the terminal may generate a recommendation message based on the similar image of the target image and the contact information corresponding to the similar image. Since the target image can be flexibly acquired by the terminal and the similar image is obtained based on the target image, the flexibility of the similar image can be achieved. Meanwhile, the recommendation message is generated based on this similar image. Therefore the terminal&#39;s flexibility for generating a recommendation message can be improved accordingly. 
     Sometimes, the server may generate the recommendation message after receiving the target image from the terminal. For example, the server may receive the target image from the terminal, and search an image library to find and determine one or more similar images that are similar to the received target image, and the server may further find and determine the contact information for the one or more similar images and generate one or more recommendation messages based on the one or more similar images and associated contact information. The server may send the one or more recommendation messages and associated contact information to the terminal. 
     Alternatively or additionally, the step of  301  may include: screen-capturing a region within a shot frame where the image of person is located, upon detection of the image of person within the shot frame during a shooting process, the target image is captured and obtained. 
     In an alternative embodiment, the step of  301  may include: screen-capturing a region within a shot frame where the image of person is located, upon detection of the image of person within the shot frame and detection of a selection instruction for the image of person during a shooting process, the target image is captured and obtained. 
     Alternatively or additionally, after the step of  303 , the method may further include: in case that the contact information corresponding to the similar image may include a target account, transmitting a contact adding request to the target account, where the target account is an account belonging to a same account system as a user account that is currently logged on in the terminal. 
     All the alternative or additional technical solutions may be combined arbitrarily to form optional embodiments of the present disclosure. 
       FIG. 4A  is a flow chart of a method for message generation according to an exemplary embodiment. As shown in  FIG. 4A , the method may include the following steps. 
     In step  401 , a terminal may acquire a target image that may include an image of person. 
     Since the target image may include the image of person, when acquiring the target image, the terminal may screen-capture a region within a shot frame where the image of person is located, upon detection of the image of person within the shot frame during a shooting process, obtaining the target image. At this time, the terminal may only be required to detect whether an image of person appears in the shot frame without any necessary to perform other tests. Accordingly, the efficiency for acquiring the target image can be improved. 
     Alternatively, during the shooting process, the terminal may screen-capture a region within a shot frame where the image of person is located, when the image of person within the shot frame is detected and also a selection instruction for the image of person is detected, obtaining the target image. Usually the selection instruction may be triggered by a user of the terminal, thus the captured target image may actually be determined through operations of the user, and accordingly it can ensure that the acquired target image can satisfy the user needs. In detailed scenarios, the terminal may also acquire the target image by other approaches, and the present disclosure will not be elaborate on that. 
     It is to be noted that the operations about detecting whether an image of person appears in the shot frame by the terminal during the shooting process may be implemented by reference to relevant techniques. The embodiments of the present disclosure will not elaborate in detail regarding this aspect. 
     Moreover, the selection instruction may be used to select the image of person in the shot frame and may be triggered by the user. The user may trigger the selection instruction with a specified operation. For example, the specified operation may be a single slick, a double click, a voice operation, and etc., which will not be elaborated in the present disclosure. 
     Besides, during the shooting process to obtain the target image, the terminal may shoot with a social network application that is currently running. Alternatively, the shooting may be implemented with a camera module within the terminal. 
     In the alternative embodiment, when the terminal shoots with the camera module, the camera module may transfer the acquired target image to the social network application, such that the terminal may subsequently transmit the target image by the use of the social network application. 
     In an example embodiment, when the terminal screen-captures a region within a shot frame where the image of person is located, a minimum region where the image of person is located can be screen-captured. In detailed scenarios, the terminal may also screen-captures other regions where the image of person is located. For example, as shown in  FIG. 4B , the shot frame is shown as a, and the image of person is shown as b. Therefore, the terminal may screen-capture a minimum region c where the image of person is located. Alternatively, the terminal may screen-capture another region d where the image of person is located. 
     In step  402 , the terminal may transmit the target image to a server. 
     It is to be noted that the terminal may transmit to the server the target image via a wired or wireless network. The embodiments of the present disclosure will not elaborate in this regard. 
     Additionally, the server may be a server associated with the currently running social network application in the terminal. 
     In step  403 , the server may acquire a similar image of the target image from a plurality of images stored in a library when the server receives the target image. In an embodiment, the plurality of images are images having corresponding contact information. 
     It is to be noted that the library is used to store images having corresponding contact information. In an embodiment, the contact information may include an Instant Messaging (IM) account, a telephone number, and etc. Other contact information may also be included. 
     Additionally, an image of person included in the similar image may have a relatively high similarity with the image of person included in the target image. 
     In an embodiment, when the server acquires the similar image of the target image from the plurality of images stored in the library, the server may determine, for each image within the plurality of images, a person similarity between the image and the target image. If the person similarity is larger than or equal to a predefined similarity, the image may be determined as the similar image of the target image. 
     In an alternative embodiment, the server may determine, for each image within the plurality of images, a person similarity between the image and the target image; select an image that has a person similarity (between it and the target image) larger than or equal to a predefined similarity. Accordingly, when a number of the selected images is larger than a predefined number, those selected images will be ranked in order of their person similarities. Then, the predefined number of images that have largest similarities may be chosen from the selected images and determined as similar images of the target image. Alternatively, when the number of the selected images is smaller than or equal to the predefined number, the selected images may be determined as similar images of the target image. 
     It is to be noted that, the person similarity between the image and the target image may be a similarity between an image of person included in the image and the image of person included in the target image. 
     Additionally, the predefined similarity may be defined in advance, for example, as 0.8, 0.9, etc. Other predefined similarities may also be defined and are not elaborated herein. 
     Moreover, the predefined number for the selected images may also be defined in advance, for example, 4, 5, etc. Other predefined numbers may also be defined and are not elaborated herein. 
     In an exemplary embodiment, the predefined similarity may be 0.8. For a certain image within the plurality of images, it is assumed that the person similarity between the image and the target image is 0.85. Since 0.85 is larger than 0.8, the server then determines the image as the similar image of the target image. 
     In another exemplary embodiment, the predefined similarity may be 0.8, the predefined number may be set as 4, and the plurality of images may be called as Image  1 , Image  2 , Image  3 , Image  4 , Image  5 , Image  6 , Image  7  and Image  8 . It is assumed that the server has determined that the person similarities between these images  1 - 8  and the target image respectively are 0.85, 0.82, 0.75, 0.8, 0.81, 0.83, 0.7, and 0.6, then the server may select images that have the person similarity (between it and the target image) larger than or equal to the predefined similarity of 0.8. Accordingly, the selected images are Image  1 , Image  2 , Image  4 , Image  5  and Image  6 , and the total number of the selected images is 5, which is larger than the predefined number of 4. Therefore, the server may choose 4 images that have largest similarities from the selected images ranked in order of their person similarities. As a result, the acquired images are Image  1 , Image  6 , Image  2 , and Image  5 . Accordingly, the server may determine Image  1 , Image  6 , Image  2 , and Image  5  are the similar images of the target image. 
     Generally, the operations performed by the server for determining the person similarity between an image and the target image may be implemented through two approaches. 
     First approach: the server determines a face similarity between the image and the target image and determines the face similarity as the person similarity. 
     As the facial feature is one of main identifiable features of the image of person, the server may only determine the face similarity between the image and the target image when determining the person similarity between the image and the target image, and then determine the face similarity as the person similarity, thus the efficiency of determining the person similarity can be improved. For example, the server may determine the face similarity between the image and the target image as 0.85, and then the server may determine the face similarity of 0.85 as the person similarity between the image and the target image. 
     It is to be noted that the operations about determining a face similarity between the image and the target image by the server may be implemented by reference to other relevant techniques. The embodiments of the present disclosure are not elaborate in detail regarding this aspect. 
     Second approach: the server determines at least one similarity based on the image and the target image, where the at least one similarity may include a face similarity, a posture similarity, and a clothing similarity; and a weighted average for the at least one similarity is taken based on a weight of each similarity within the at least one similarity, so as to obtain the person similarity between the image and the target image. 
     The image of person may include not only a facial feature, but also a posture feature, a clothing feature, and etc. Therefore, those features may be combined together to determine the person similarity between the image and the target image. The person similarity between the image and the target image can be determined based on various features such as a face similarity, a posture similarity, and a clothing similarity, etc., in order to improve accuracy of determining the person similarity. 
     Sometimes, the similarity may be determined, either by server or by terminal. For example, the library may be stored on the terminal, and thus, the terminal may not need to send the target image to the server, and the terminal may compare the target image with the images stored in the library in the terminal and determine one or more images that are similar to the target image. 
     Sometimes, the similarity may be determined by one or more user defined criteria. For example, a user interface may be provided for the user to enter the one or more criteria, and the user may enter the same hair color, and as such, the images in the library that have the same hair color are identified and may be determined to be the similar images as the target image obtained. In this case, the identified similar images may be many images that satisfy the criteria entered by the user and the recommended contact information may be contact information for multiple persons in the multiple identified similar images. The criteria may also be pre-defined and may be stored in the server or in the terminal. Also, the criteria may be merely a subset of the facial features, such as the eyes, or the combination of eyes and the nose. 
     Sometimes, additional characteristics may be added to identify the similar images besides facial features. Such additional characteristics may include a frequently used language for the person in the obtained target image. For example, the frequently used language for person in the target image may be obtained and received in addition to the image for the person, the server or terminal may search the library for the person with similar facial features and similar frequently used language. The person in the identified image from the library may not only have similar facial features but also have the frequently used language as the person in the target image. Those additional characteristics for the person such as the frequently used language may also be used as one or more standalone criteria for identifying contact information for the person or persons that are similar as the person in the target image received. The present disclosure does not elaborate in detail on this regard. 
     It is to be noted that the operations about determining at least one similarity based on the image and the target image by the server may be implemented by reference to other relevant techniques. The embodiments of the present disclosure are not elaborate in detail regarding this aspect. 
     Sometimes, for each similarity within the at least one similarity, the corresponding weight value may be defined depending on its importance value on determining the person similarity between the image and the target image and may be defined in advance. 
     As an example to illustrate this approach, the at least one similarity may include a face similarity, a posture similarity, and a clothing similarity, and their weight values may be 0.7, 0.2, and 0.1 respectively. It is assumed that based on the image and the target image, the server determines the face similarity as 0.8, the posture similarity as 0.7, and the clothing similarity as 0.6, then the server may take a weighted average for the at least one similarity according to the following equation: 0.8×0.7+0.7×0.2+0.6×0.1=0.76. Accordingly, the person similarity between the image and the target image may be 0.76. 
     In a further embodiment, before the server acquires a similar image of the target image from a plurality of images stored in a library, the server may also decide whether an image has corresponding contact information upon receipt of the image; and stores the image and the contact information corresponding to the image into the library when the image has corresponding contact information. 
     It is to be noted that the library may be used to store images having corresponding contact information. Thus, when an image has corresponding contact information, the image meets the requirement for storage in the library. Thus, the server may store the image and the contact information corresponding to the image into the library, in order that it is available to subsequently acquire similar image of the target image from images stored in the library. 
     In another embodiment, after deciding whether an image has corresponding contact information, for each of a plurality of contact images, the server may match the image with each contact image when the image does not have corresponding contact information where the plurality of contact images are contact images in a stored address book. The server may determine contact information corresponding to an contact image as the contact information of the image when the image successfully matches the contact image. The server may store the image and the contact information corresponding to the image into the library. 
     All the contact images stored in the address book may have corresponding contact information. Therefore, when the image does not have corresponding contact information, the image may be utilized to try to match with the contact images. It there is a successful match, then the contact information corresponding to the matched contact image may be determined as the contact information of the image, such that the image meets the requirement for storage in the library. After that, the server may store the image and the contact information corresponding to the image into the library, in order that it is available to subsequently acquire similar image of the target image from images stored in the library. 
     For example, the plurality of contact images as stored in the address book may be called as Contact image  1 , Contact image  2 , Contact image  3  and Contact image  4 . When the image does not have corresponding contact information, the server may match the image with each contact image within the plurality of contact images. When the image is successfully matched with Contact image  1  and the contact information of Contact image  1  is “Telephone Number: 15263984567”, the server may determine this contact information as the contact information of the image and may store the image and the contact information into the library. 
     In an embodiment, when matching the image with a contact image, the server may determine a person similarity between the image and the contact image, determine that the image is successfully matched with the contact image when the determined person similarity is larger than or equal to a predefined similarity, and determine that the image fails to be matched with the contact image when the determined person similarity is smaller than the predefined similarity. In detailed scenarios, the server may match the image with the contact image in another manner. The embodiments of the present disclosure do not elaborate in details herein. 
     It is to be noted that the operations about determining by the server a person similarity between the image and a contact image are similar to the operations regarding determining by the server a person similarity between the image and the similar image as stated in step  403 . The embodiments of the present disclosure do not elaborate in detail regarding this aspect. 
     In step  404 , the server may transmit the similar image and the contact information corresponding to the similar image to the terminal. 
     It is to be noted that the server may transmit the similar image and the contact information corresponding to the similar image to the terminal via a wired or wireless network. 
     In step  405 , the terminal may generate a recommendation message based on the similar image and the contact information corresponding to the similar image upon receipt of the similar image and the contact information transmitted by the server. 
     It is to be noted that the recommendation message is used to recommend an object that is available to contact for the user, and the recommendation message may include the similar image and the contact information corresponding to the similar image. 
     Also, the operations about generating, by the server, a recommendation message based on the similar image and the contact information corresponding to the similar image are similar to operation such as a terminal generating a certain message based on some information. 
     As an illustrative example, the similar image is Image  1 , and the contact information corresponding to the similar image is “Telephone Number: 15263984567”. Accordingly, the server may generate a recommendation message as shown in  FIG. 4C  based on the similar image and the contact information corresponding to the similar image. 
     It is to be noted that in the embodiments of the present disclosure, the terminal may acquire a similar image of the target image and contact information corresponding to the similar image from the server, and generate a recommendation message based on the similar image of the target image and the contact information corresponding to the similar image. 
     Since the target image can be flexibly acquired by the terminal and the similar image is obtained based on the target image, the flexibility of the similar image can be achieved. Meanwhile, the recommendation message may be generated based on this similar image, therefore the terminal&#39;s flexibility for generating a recommendation message can be improved accordingly. Furthermore, the diversity of the recommended objects can be improved since the recommendation message may be used to recommend an object that is available to contact for the user. 
     Moreover, the contact information in the embodiments of the present disclosure may include not only an Instant Messaging (IM) account, but also a telephone number and the like. Thereby, it solves a technical problem existed that the recommendation message only include one single content such as account information, and thus may increase the recommended contents in the recommendation message. 
     In another embodiment, after generating the recommendation message based on the similar image and the contact information corresponding to the similar image, the terminal may also transmit a contact adding request to the target account when the contact information corresponding to the similar image may include a target account. For instance, the target account is an account belonging to a same account system as a user account that is currently logged on in the terminal. 
     It is to be noted that the contact adding request is to request an object represented by the target account to be added into the user&#39;s contact list. 
     Moreover, the user account may be acquired through a registration in the server, and the user account may be combined of alphabets, numbers and etc. 
     Since the target account belongs to a same account system as the user account that is currently logged on in the terminal, i.e., the target account and the user account are both registered within a same server, the terminal may directly transmit the contact adding request to the target account, so as to add the object represented by the target account into the user&#39;s contact list without requiring any user intervention. As a result, it saves the user&#39;s time and improves the efficiency of adding a contact, since tedious operations for manually adding a contact by the user are avoided. 
     In the embodiments of the present disclosure, the terminal may acquire a target image and may transmit the target image to a server; the server may acquire a similar image of the target image from a plurality of images stored in a library when it receives the target image; after that, the server may transmit the similar image and the contact information corresponding to the similar image to the terminal; and the terminal may generate a recommendation message based on the similar image and the contact information corresponding to the similar image upon receipt of the similar image and the contact information transmitted by the server. 
     Since the target image can be flexibly acquired by the terminal and the similar image is obtained based on the target image, the flexibility of the similar image can be achieved. Meanwhile, the recommendation message is generated based on this similar image, therefore the terminal&#39;s flexibility for generating a recommendation message can be improved accordingly. Furthermore, the diversity of the recommended objects can be improved since the recommendation message may be used to recommend an object that is available to contact for the user. Moreover, the contact information in the embodiments of the present disclosure may include not only an Instant Messaging (IM) account, but also a telephone number and the like. Thereby, it solves a technical problem existed that the recommendation message only include one single content such as account information, and thus may increase the recommended contents in the recommendation message. 
     Sometimes, it is possible that no similar image can be identified in the library using the target image. When no similar image can be identified, the terminal or the server may generate an alert to be display to the user in a user interface to show a similar image for a received target image can&#39;t be successfully identified and/or located. When the alert is displayed in the user interface, and one or more further options may be generated and provided in the user interface to allow the user to identify the contact information for one or more persons that are similar to the person in the target image. The one or more options may include searching additional libraries located in different servers or terminals, manually enter additional contact information. The present disclosure does not elaborate in this regard. 
       FIG. 5A  is a block diagram of a device for message generation according to an exemplary embodiment. As can be seen from  FIG. 5A , the device may include a reception module  501 , an acquisition module  502 , and a transmission module  503 . 
     The reception module  501  may be configured to receive a target image transmitted from a terminal, the target image including an image of person. 
     The acquisition module  502  may be configured to acquire a similar image of the target image from a plurality of images stored in a library, and the plurality of images are images having corresponding contact information. 
     The transmission module  503  may be configured to transmit the similar image and the contact information corresponding to the similar image to the terminal, such that the terminal is enabled to a recommendation message based on the similar image and the contact information. 
     Alternatively or additionally, by reference to  FIG. 5B , the acquisition module  502  may include a first determination unit  5021  and a second determination unit  5022 . 
     The first determination unit  5021  may be configured to, for each image within the plurality of images, determine a person similarity between the image and the target image. 
     The second determination unit  5022  may be configured to determine, for each image within the plurality of images, the image as the similar image of the target image, in case that the person similarity is larger than or equal to a predefined similarity. 
     Alternatively or additionally, by reference to  FIG. 5C , the first determination unit  5021  may include a first determination sub-unit  50211  and a second determination sub-unit  50212 . 
     The first determination sub-unit  50211  may be configured to, for each image within the plurality of images, determine a face similarity between the image and the target image. 
     The second determination sub-unit  50212  may be configured to determine the face similarity as the person similarity. 
     Alternatively or additionally, by reference to  FIG. 5D , the first determination unit  5021  may include a third determination sub-unit  50213  and a weighted average sub-unit  50214 . 
     The third determination sub-unit  50213  may be configured to, for each image within the plurality of images, determine at least one similarity based on the image and the target image. In an embodiment, the at least one similarity may include a face similarity, a posture similarity, and a clothing similarity. 
     The weighted average sub-unit  50214  may be configured to take a weighted average for the at least one similarity based on a weight of each similarity within the at least one similarity, so as to obtain the person similarity between the image and the target image. 
     Alternatively or additionally, by reference to  FIG. 5E , the device may also include a decision module  504  and a first storage module  505 . 
     The decision module  504  may be configured to decide whether an image has corresponding contact information, upon receipt of the image. 
     The first storage module  505  may be configured to store the image and the contact information corresponding to the image into the library in case that the image has corresponding contact information. 
     Alternatively or additionally, by reference to  FIG. 5F , the device may also include a matching module  506 , a determination module  507  and a second storage module  508 . 
     The matching module  506  may be configured to, for each of a plurality of contact images, match the image with each contact image in case that the image does not have corresponding contact information, where the plurality of contact images may be contact images in a stored address book. 
     The determination module  507  may be configured to determine contact information corresponding to a contact image as the contact information of the image when image successfully matches the contact image. 
     The second storage module  508  may be configured to store the image and the contact information corresponding to the image into the library. 
     In the embodiments of the present disclosure, a server receives a target image transmitted from a terminal and acquires a similar image of the target image from a plurality of images stored in a library. After that, the server transmitting the similar image and the contact information corresponding to the similar image to the terminal, such that the terminal is enabled to a recommendation message based on the similar image and the contact information. Since the target image can be flexibly acquired by the terminal and the similar image is obtained based on the target image, the flexibility of the similar image can be achieved. Meanwhile, the recommendation message is generated based on this similar image, therefore the terminal&#39;s flexibility for generating a recommendation message can be improved accordingly. 
     The detailed approaches for performing operations by each module within the device discussed in the above embodiments have been illustrated in the embodiments of relevant method. The embodiments of the present disclosure does not elaborate in detail regarding this aspect. 
       FIG. 6A  is a block diagram of a device for message generation according to an exemplary embodiment. As can be seen from  FIG. 6A , the device may include an acquisition module  601 , a first transmission module  602  and a generation module  603 . 
     The acquisition module  601  may be configured to acquire a target image that may include an image of person 
     The first transmission module  602  may be configured to transmit the target image to a server, such that the server is enabled to return a similar image of the target image and contact information corresponding to the similar image based on the target image. 
     The generation module  603  may be configured to generate a recommendation message based on the similar image of the target image and the contact information corresponding to the similar image upon receipt of the similar image and the contact information transmitted by the server. 
     Alternatively or additionally, the acquisition module  601  may include a first screen-capturing unit. 
     The first screen-capturing unit may be configured to screen-capture a region within a shot frame where the image of person is located, upon detection of the image of person within the shot frame during a shooting process, so as to obtain the target image. 
     Alternatively or additionally, the acquisition module  601  may include a second screen-capturing unit. 
     The second screen-capturing unit may be configured to screen-capture a region within a shot frame where the image of person is located, upon detection of the image of person within the shot frame and detection of a selection instruction for the image of person during a shooting process, so as to obtain the target image. 
     Alternatively or additionally, by reference to  FIG. 6B , the device may further include a second transmission module  604 . 
     The second transmission module  604  may be configured to, in case that the contact information corresponding to the similar image may include a target account, transmitting a contact adding request to the target account. For example, the target account may be an account belonging to a same account system as a user account that is currently logged on in the terminal. 
     In the embodiments of the present disclosure, a terminal may acquire a target image and transmits the target image to a server, such that the server is enabled to return a similar image of the target image and contact information corresponding to the similar image based on the target image. 
     Upon receipt of the similar image and the contact information transmitted by the server, the terminal may generate a recommendation message based on the similar image of the target image and the contact information corresponding to the similar image. Since the target image can be flexibly acquired by the terminal and the similar image is obtained based on the target image, the flexibility of the similar image can be achieved. Meanwhile, the recommendation message is generated based on this similar image. Therefore the terminal&#39;s flexibility for generating a recommendation message can be improved accordingly. 
       FIG. 7  is a block diagram of a device  700  for message generation according to an exemplary embodiment. For example, the device  700  may be a server. As can be seen from  FIG. 7 , the device  700  may include a processing component  722  (may further include one or more processors), and a memory  732  representative of memory resources, for storing instructions executable by the processing component  722  (e.g., an application program). Application programs stored in the memory  732  may include one or more modules, each of which corresponds to a set of instructions. 
     The device  700  may also include a power component  726  configured to perform power supply management of the device  700 , a wired or wireless network interfaces  750  configured to connect the device  700  to the network, and an input/output interfaces  758 . The device  700  may operate operating systems (such as Windows Server™, Mac OS X™, Unix™, Linux™, FreeBSD™, or the like) stored in the memory  732 . 
     Further, the processing component  722  may be configured to execute the sets of instructions to perform a message generation method, and the method may include: receiving a target image transmitted from a terminal, the target image including an image of person; acquiring a similar image of the target image from a plurality of images stored in a library, wherein the plurality of images are images having corresponding contact information; transmitting the similar image and the contact information corresponding to the similar image to the terminal, such that the terminal is enabled to a recommendation message based on the similar image and the contact information. 
     Alternatively or additionally, the acquiring step may further include: for each image within the plurality of images, determining a person similarity between the image and the target image, and determining the image as the similar image of the target image, in case that the person similarity is larger than or equal to a predefined similarity. 
     Alternatively or additionally, the step of determining a person similarity between the image and the target image may include: determining a face similarity between the image and the target image; and determining the face similarity as the person similarity. 
     Alternatively or additionally, the step of determining a person similarity between the image and the target image may include: determining at least one similarity based on the image and the target image, wherein the at least one similarity may include a face similarity, a posture similarity, and a clothing similarity; and taking a weighted average for the at least one similarity based on a weight of each similarity within the at least one similarity, so as to obtain the person similarity between the image and the target image. 
     Alternatively or additionally, before acquiring a similar image of the target image from a plurality of images stored in a library, the method may further include: deciding whether an image has corresponding contact information, upon receipt of the image; and storing the image and the contact information corresponding to the image into the library, in case that the image has corresponding contact information. 
     Alternatively or additionally, after deciding whether an image has corresponding contact information upon receipt of the image, the method may further include: for each of a plurality of contact images, matching the image with each contact image, in case that the image does not have corresponding contact information, wherein the plurality of contact images are contact images in a stored address book; determining contact information corresponding to an contact image as the contact information of the image, in case that the image successfully matches the contact image; and storing the image and the contact information corresponding to the image into the library. 
     In the embodiments of the present disclosure, a server receives a target image transmitted from a terminal and acquires a similar image of the target image from a plurality of images stored in a library. After that, the server transmitting the similar image and the contact information corresponding to the similar image to the terminal, such that the terminal is enabled to a recommendation message based on the similar image and the contact information. Since the target image can be flexibly acquired by the terminal and the similar image is obtained based on the target image, the flexibility of the similar image can be achieved. Meanwhile, the recommendation message is generated based on this similar image, therefore the terminal&#39;s flexibility for generating a recommendation message can be improved accordingly. 
       FIG. 8  is a block diagram of a device  800  for message generation according to an exemplary embodiment. For example, the device  800  may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a gaming console, a tablet, a medical device, exercise equipment, a personal digital assistant, and the like. 
     Referring to  FIG. 8 , the device  800  may include one or more of the following components: a processing component  802 , a memory  804 , a power component  806 , a multimedia component  808 , an audio component  810 , an input/output (I/O) interface  812 , a sensor component  814 , and a communication component  816 . 
     The processing component  802  typically controls overall operations of the device  800 , such as the operations associated with display, telephone calls, data communications, camera operations, and recording operations. The processing component  802  may include one or more processors  820  to execute instructions to perform all or part of the steps in the above described methods. Moreover, the processing component  802  may include one or more modules which facilitate the interaction between the processing component  802  and other components. For instance, the processing component  802  may include a multimedia module to facilitate the interaction between the multimedia component  808  and the processing component  802 . 
     The memory  804  may be configured to store various types of data to support the operation of the device  800 . Examples of such data include instructions for any applications or methods operated on the device  800 , contact data, phonebook data, messages, pictures, video, etc. The memory  804  may be implemented using any type of volatile or non-volatile memory devices, or a combination thereof, such as a static random access memory (SRAM), an electrically erasable programmable read-only memory (EEPROM), an erasable programmable read-only memory (EPROM), a programmable read-only memory (PROM), a read-only memory (ROM), a magnetic memory, a flash memory, a magnetic or optical disk. 
     The power component  806  provides power to various components of the device  800 . The power component  806  may include a power management system, one or more power sources, and any other components associated with the generation, management, and distribution of power in the device  800 . 
     The multimedia component  808  may include a screen providing an output interface between the device  800  and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen may include the touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel may include one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors may not only sense a boundary of a touch or swipe action, but also sense a period of time and a pressure associated with the touch or swipe action. In some embodiments, the multimedia component  808  may include a front camera and/or a rear camera. The front camera and the rear camera may receive an external multimedia datum while the device  800  is in an operation mode, such as a photographing mode or a video mode. Each of the front camera and the rear camera may be a fixed optical lens system or have focus and optical zoom capability. 
     The audio component  810  may be configured to output and/or input audio signals. For example, the audio component  810  may include a microphone (“MIC”) configured to receive an external audio signal when the device  800  is in an operation mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signal may be further stored in the memory  804  or transmitted via the communication component  816 . In some embodiments, the audio component  810  further may include a speaker to output audio signals. 
     The I/O interface  812  provides an interface between the processing component  802  and peripheral interface modules, such as a keyboard, a click wheel, buttons, and the like. The buttons may include, but are not limited to, a home button, a volume button, a starting button, and a locking button. 
     The sensor component  814  may include one or more sensors to provide status assessments of various aspects of the device  800 . For instance, the sensor component  814  may detect an open/closed status of the device  800 , relative positioning of components, e.g., the display and the keypad, of the device  800 , a change in position of the device  800  or a component of the device  800 , a presence or absence of user contact with the device  800 , an orientation or an acceleration/deceleration of the device  800 , and a change in temperature of the device  800 . The sensor component  814  may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor component  814  may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor component  814  may also include an accelerometer sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor. 
     The communication component  816  may be configured to facilitate communication, wired or wirelessly, between the device  800  and other devices. The device  800  can access a wireless network based on a communication standard, such as WiFi, 2G, or 3G, or a combination thereof. In one exemplary embodiment, the communication component  816  receives a broadcast signal or broadcast associated information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, the communication component  816  further may include a near field communication (NFC) module to facilitate short-range communications. For example, the NFC module may be implemented based on a radio frequency identification (RFID) technology, an infrared data association (IrDA) technology, an ultra-wideband (UWB) technology, a Bluetooth (BT) technology, and other technologies. 
     In exemplary embodiments, the device  800  may be implemented with one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, micro-controllers, microprocessors, or other electronic components, for performing the above described methods. 
     In exemplary embodiments, there is also provided a non-transitory computer-readable storage medium including instructions, such as included in the memory  804 , executable by the processor  820  in the terminal device  800 , for performing the above-described methods. For example, the non-transitory computer-readable storage medium may be a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disc, an optical data storage device, and the like. 
     There is provided a non-transitory computer-readable storage medium including instructions that, when executed by a processor of a mobile terminal, cause the mobile terminal to perform a method for message generation, the method including: acquiring a target image that may include an image of person; transmitting the target image to a server, such that the server is enabled to return a similar image of the target image and contact information corresponding to the similar image based on the target image; and generating a recommendation message based on the similar image and the contact information corresponding to the similar image, upon receipt of the similar image and the contact information transmitted by the server. 
     Alternatively or additionally, the step of acquiring the target image may include: screen-capturing a region within a shot frame where the image of person is located, upon detection of the image of person within the shot frame during a shooting process, so as to obtain the target image. 
     In an alternative embodiment, the step of acquiring the target image may include: screen-capturing a region within a shot frame where the image of person is located, upon detection of the image of person within the shot frame and detection of a selection instruction for the image of person during a shooting process, so as to obtain the target image. 
     Alternatively or additionally, after the step of generating a recommendation message based on the similar image and the contact information corresponding to the similar image, the method may further include: in case that the contact information corresponding to the similar image may include a target account, transmitting a contact adding request to the target account, wherein the target account is an account belonging to a same account system as a user account that is currently logged on in the terminal. 
     In this embodiment of the present disclosure, a terminal acquires a target image and transmits the target image to a server, such that the server is enabled to return a similar image of the target image and contact information corresponding to the similar image based on the target image. Upon receipt of the similar image and the contact information transmitted by the server, the terminal may generate a recommendation message based on the similar image of the target image and the contact information corresponding to the similar image. Since the target image can be flexibly acquired by the terminal and the similar image is obtained based on the target image, the flexibility of the similar image can be ensured. Meanwhile, the recommendation message is generated based on this similar image. Therefore the terminal&#39;s flexibility for generating a recommendation message can be improved accordingly. 
     The present disclosure may include dedicated hardware implementations such as application specific integrated circuits, programmable logic arrays and other hardware devices. The hardware implementations can be constructed to implement one or more of the methods described herein. Applications that may include the apparatus and systems of various examples can broadly include a variety of electronic and computing systems. One or more examples described herein may implement functions using two or more specific interconnected hardware modules or devices with related control and data signals that can be communicated between and through the modules, or as portions of an application-specific integrated circuit. Accordingly, the computing system disclosed may encompass software, firmware, and hardware implementations. The terms “module,” “sub-module,” “unit,” or “sub-unit” may include memory (shared, dedicated, or group) that stores code or instructions that can be executed by one or more processors. 
     Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed here. This application is intended to cover any variations, uses, or adaptations of the invention following the general principles thereof and including such departures from the present disclosure as come within known or customary practice in the art. The specification and embodiments are merely considered to be exemplary and the substantive scope and spirit of the disclosure is limited only by the appended claims. 
     It will be appreciated that the inventive concept is not limited to the exact construction that has been described above and illustrated in the accompanying drawings, and that various modifications and changes can be made without departing from the scope thereof. It is intended that the scope of the invention only be limited by the appended claims.