Abstract:
An input method editor (IME) is associated with a local user. Memory stores local data and a processor, coupled to the memory, is configured to receive input from a local, first user, obtain shared data associated with at least a remote, second user from a remote server and generate prediction candidates and conversion candidates based on the input provided by the local, first user and correlation of the input and the obtained shared data.

Description:
FIELD OF THE INVENTION 
     This disclosure relates in general to a method for providing a shared vocabulary for social communication, and more particularly to a system, method and computer-readable storage device for providing cloud-based shared vocabulary/typing history for efficient social communication. 
     BACKGROUND 
     Social network services (SNS) continue to become more and more popular in people&#39;s daily communication. People share ideas, activities, events, and interests using social communication tools such as MESSENGER, FACEBOOK, TWITTER, microblog, forum, etc. For East Asian languages, people use an IME (input method editor) to type text into the social network services. An input method editor is an operating system component or program that allows users to enter characters and symbols not found on their input device. An IME is a tool which converts the phonetic of a word, typed on a standard keyboard, into East Asian characters. For example, the most common method of typing Chinese is to enter pinyin directly, which the IME will then convert to characters. Pinyin is a system transcribing Chinese into English, wherein the sounds of Mandarin are represented using the western (Roman) alphabet. Thus, once the phonetic pinyin spelling is entered, the IME uses at least one dictionary and statistical language models to select a conversion results given the user&#39;s phonetic input. The dictionary and statistical language model is based on a collection of language text pieces representing the whole range of the target language in statistically unbiased manner, and which is selected according to external criteria to represent, as far as possible, the desired language to thereby cover the commonly used words and text. Unfortunately, IME does not adapt to the vocabulary that people often use in the SNS such as film or book names, domain terms, product names, and people names. Many of these words may be completely new. Thus, users may not get the expected words in their top IME candidate list. This presents a problem especially in social communication tools such as IM because users want to type fast and efficiently. In addition, users want suggestions about the words their community uses when they type part of the phonetic. 
     Currently to compensate, the IME learns the words frequently used by each user of the system and builds a personalized dictionary. However, as social communication becomes more and more popular, it is tedious for users to constantly add new terms to their own personal vocabulary. For example, when two users communicate, they each have their own personal IME dictionary. Thus, when a first user enters a new term, their personal vocabulary is updated so the IME will recognize the new term from then on. Yet, when the second person uses the same term in the communication thread, their IME converts the term incorrectly, thereby requiring correction of the conversion and updating their personal vocabulary. 
     Accordingly, there is a need for a system, method and computer-readable storage device for providing cloud-based shared vocabulary/typing history for efficient social communication. 
     SUMMARY OF THE INVENTION 
     To overcome the limitations described above, and to overcome other limitations that will become apparent upon reading and understanding the present specification; embodiments for a system, method and computer-readable storage device for providing cloud-based shared vocabulary/typing history for efficient social communication are disclosed. 
     The above-described problems are solved by leveraging the cloud service to get users shared vocabulary/typing history, and utilizing suggested web dictionaries for accurate prediction/conversion resources for IME. In the past, the IME of the first user only learns from the typing history of the first user, and the IME of the second user only learns from the typing history of the second user. In contrast, according to an embodiment, the first user and the second user share the same typing history and IME resources including dictionaries. 
     In one embodiment, a communication device is disclosed. The communication device includes memory for storing data associated with users and a processor, coupled to the memory, the processor configured for receiving input data from at least a first user, processing at least one dictionary updated by information provided to a server by at least a second user related to the first user for updating the at least one dictionary and generating prediction candidates for converting the received input data to language characters by correlating the received input from the first user to entries in the dictionary updated by information from the at least second user related to the first user. 
     In another embodiment, a system for sharing between friends a dictionary used to generate prediction candidates for converting user input data to language characters is disclosed. The system includes a first user device for receiving input data from a first user, a second user device for receiving input data from a second user, a dictionary shared by at least the first user and the second user and a server, for hosting the dictionary shared by at least the first user and the second user, wherein the first user device updates the dictionary shared by at least the first user and the second user based on input by the first user and uploads the updated dictionary to the server for access by the second user. 
     In another embodiment, a system for predicting candidates associated with a microblog is disclosed. The system includes a microblog content server receiving posting input from a plurality of microblog users, a hot topics extractor, coupled to the microblog content server, for extracting hot topics from the posting input receives from the plurality of microblog users and a communication device, coupled to the hot topics extractor, for retrieving the hot topics extracted by the hot topics extractor and generating a hot topics dictionary from the retrieved hot topics, wherein the communication device receives input from a user and generates prediction candidates for converting the received input data to language characters by correlating the received input from to entries in the hot topics dictionary. 
     In another embodiment, a system for sharing language dictionaries among friends is discloses. This system includes a first user communication device for updating a first dictionary for use in generating prediction candidates in response to input from a first user operating the first user communication device, a dictionary service system, coupled to user communication devices including the first user communication device, for receiving at least the first dictionary and for authorizing the at least first dictionary for sharing, a social update service interface, coupled to the dictionary service system, for receiving the at least one dictionary after the first user is authorized by the dictionary service system for sharing the first dictionary and for providing a link associated with the at least one dictionary to a second user related to the first user through the dictionary service system and a second user communication device, coupled to the social update service interface, the second user communication device receiving input data from the second user, receiving the link associated with the at least one dictionary and downloading the at least one dictionary associated with the link, the second user communication device further generating prediction candidates for converting the received input data from the second user to language characters by correlating the received input from the second user to entries in the at least one dictionary associated with the link downloaded from the social update service interface upon activation of the link. 
     In another embodiment, a computer-readable storage medium, including executable instructions which, when executed by a processor, provides cloud-based shared data for efficient social communication is disclosed. The processor provides cloud-based shared data by receiving input data from at least a first user, processing at least one dictionary updated by information provided to a server by at least a second user related to the first user for updating the at least one dictionary and generating prediction candidates for converting the received input data to language characters by correlating the received input from the first user to entries in the dictionary updated by information from the at least second user related to the first user. 
     In another embodiment, a method for providing cloud-based shared data for efficient social communication is disclosed. The method includes receiving input data from at least a first user, processing at least one dictionary updated by information provided to a server by at least a second user related to the first user for updating the at least one dictionary and generating prediction candidates for converting the received input data to language characters by correlating the received input from the first user to entries in the dictionary updated by information from the at least second user related to the first user. 
     These and various other advantages and features of novelty are pointed out with particularity in the claims annexed hereto and form a part hereof. However, for understanding the disclosed embodiments, the advantages, and the objects obtained, reference may be made to the drawings which form a further part hereof, and to accompanying descriptive matter, in which there are illustrated and described specific examples of the disclosed embodiments. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Referring now to the drawings in which like reference numbers represent corresponding parts throughout: 
         FIG. 1  provides a high level architecture of cloud based shared vocabulary/typing history for users according to one embodiment; 
         FIG. 2  provides a flowchart of the one-to-one sharing process according to one embodiment; 
         FIG. 3  illustrates the inability to correctly enter a desired word for lack of the word being in the user&#39;s dictionary according to one embodiment; 
         FIG. 4  illustrates correctly entering a desired word because of shared typing history according to one embodiment; 
         FIG. 5  provides a flowchart of the many-to-many sharing process according to one embodiment; 
         FIG. 6  illustrates typing in a hot topic without the shared hot topic dictionary according to one embodiment; 
         FIG. 7  illustrates typing in a hot topic with a shared hot topic dictionary according to one embodiment; 
         FIG. 8  provides a flowchart of the one-to-many sharing process according to one embodiment; 
         FIG. 9  illustrates the IME Web dictionary download homepage according to one embodiment; 
         FIG. 10  shows a social update posting the link to the web dictionary and IME homepage according to one embodiment; and 
         FIG. 11  illustrates a suitable computing environment for implementing a system as described above in  FIGS. 1-10  according to an embodiment. 
     
    
    
     DETAILED DESCRIPTION 
     Embodiments are directed to cloud-based shared vocabulary/typing history for providing efficient social communication. By leveraging the cloud service to get users shared vocabulary/typing history, and utilizing suggested web dictionaries for accurate prediction/conversion resources for IME, more efficient social communication may be provided. In the past, the IME of the first user only learns from the typing history of the first user, and the IME of the second user only learns from the typing history of the second user. In contrast, according to an embodiment, the first user and the second user share the same typing history and IME resources including dictionaries. 
       FIG. 1  provides a high level architecture of cloud based shared vocabulary/typing history for users  100  according to one embodiment. By leveraging the cloud service  110  to get other users shared vocabulary/typing history, a user can use this as suggestion/conversion resources for IME when typing in SNS in a communication session. For illustration purposes only, three sharing scenarios are addressed to provide insight for providing shared vocabulary/typing history for efficient social communication. 
     One-to-one sharing enables an IME to learn the aggregated typing history or vocabulary from another user. Afterwards, the two vocabularies are shared and synchronized in the messaging thread. This allows the IME to provide efficient communication even when new terms are used by one of the users. 
     MANY-TO-MANY sharing involve the IME learning vocabulary from shared typing history in the community, and then sharing the vocabulary with all community users. In a microblog, for example, many people share ideas and there may be common intricate terms or topics. Through sharing, the vocabulary grows quickly to include the ‘hot topics’ used during the thread. These terms may also be shared so that each IME can utilize the previous learning of the other IMEs. 
     In ONE-TO-MANY sharing, domain terms are shared with friends by providing a download link of their Web dictionary. The web dictionary is provided as part of the IME and may be thought of as a marketplace that people can build dictionaries since it is a dictionary format that is open to the public. Users and others, such as interested companies, may create more dictionaries after the release of an IME, and upload that web dictionary to a home page maintained at an accessible server. Interested users can download the new web dictionaries to make a richer dictionary vocabulary based on their local typing experience. 
     Using a hardware or virtual input device, when users  120  type only a partial pronunciation, the IME will provide a candidate list which includes the new term as a suggestion. Then, when the full pronunciation is entered, the IME now knows the correct conversion for the term based on the previous use of the partial pronunciation. This enables a user&#39;s typing to be accurate and fast because IME uses shared typing history and shared vocabulary among friends to offer candidates of prediction and conversion. Users&#39; input devices may include, but not limited to, desktop computers, laptops, mobile devices, handheld tablets, etc. 
       FIG. 2  provides a flowchart of the ONE-TO-ONE sharing process  200  according to one embodiment. This process  200  enables an IME to learn the vocabulary from another user through sharing the same typing history. East Asian Languages contain thousands of characters, obviously much more than a standard keyboard can contain. Since several characters may have the same pronunciation, the correct character is chosen from a list of possibilities, known as a candidate list. Often, the IME will choose a character automatically, based on context or on the user&#39;s previous choices. By learning from active aggregated typing history  240  and sharing vocabularies enhance this process. With instant messaging, for example, when a first user types the new term while chatting with the second user, the correct conversion is learned by the IME and shared with the second user. As a result, the second user may type the new term and the IME will recognize the new term and provide the correct conversion result. Thus, the second user does not have to go through the learning and error correction process again. 
     Accordingly, when two users are chatting in a messenger service, IME may retrieve the active chatting history of both users. Initially, the messenger service gets messages from friends  210  so others can see who is online, get social updates from friends, and start chatting. An IME retrieves chatting history via API  220 , and inputs the raw chatting  225  to be processed  230  to provide aggregated typing history  240 . When a user starts typing  250 , IME supplies both prediction candidates  255  and conversion candidates  260  that are based on the aggregated typing history  240  on the candidate list. When the user confirms the conversion candidate from the candidate list  270 , the new words will be entered in the user&#39;s learning data  280 . Thus, both users can get the efficient input based on the learning processed based on the typing history  240 . 
       FIG. 3  illustrates the inability to correctly enter a desired word  300  according to one embodiment. In  FIG. 3 , the user cannot enter the desired word because that word is not in the user&#39;s dictionary.  FIG. 3  shows that the user Qian is making reference to the US president  310 . The president&#39;s name is not in the built-in IME dictionary or personal dictionary of the friend. It is however in Qian&#39;s personal dictionary. The friend cannot type this word without error correction; therefore, it is not in the candidate list  320 . 
       FIG. 4  illustrates correctly entering a desired word  400  because of shared typing history according to one embodiment. Now, when Qian is making reference to the US president  410 , the friend IME may learn the word by sharing aggregated typing history. The friend can input the word correctly even for the first time as it displayed at the beginning of the candidate list  420 . 
       FIG. 5  provides a flowchart of the MANY-TO-MANY sharing process  500  according to one embodiment. The MANY-TO-MANY sharing scenario uses hot topics of interest on a Chinese microblog website as an example. Microblogs are typically small elements of content such as short sentences, individual images, or video links about various topics. There are numerous users  510  posting microblog entries every day, every minute. After bloggers post their input to the service  520 , processing is performed on the blog content  530 . The real-time service then extracts the hot topics  540  from what users have entered, e.g., periodically, every hour, every day or every week. IME will retrieve these shared hot topics  550  from the microblog cloud service via an open application programming interface (API)  560  used by the microblog. The IME will then provide the conversion candidate selections in the IME candidate list  572  from the hot topic dictionary  570  when users contribute to a blog using IME. 
     Thus, when a user starts typing  565 , the IME will know which hot topics other users  510  are using. Then, the IME can convert these hot topics collaterally  580 . In addition to hot topics dictionary  570 , the IME may also predict the user&#39;s friend names in the candidate list  572 . Many other dictionaries  575  may also be utilized in the local IME for prediction candidates. For example, there may be different domain dictionaries  575 , many personal dictionaries  575 , as well as the hot topic dictionary  570 . IME will use all these dictionaries to generate the prediction and the conversion candidate results. If the candidate is from a hot topic  580 , a mark, e.g., “#,” can be automatically added to improve interaction  585  before IME shows the candidate  590 . 
       FIG. 6  illustrates typing in a hot topic without the shared hot topic dictionary  600  according to one embodiment. When many users comment about the same event, person, or place for example, it becomes a hot topic  610 . IME does not recognize these words, therefore when other users try to type the word for the first time, there is no prediction in the candidate list  620 . 
       FIG. 7  illustrates typing in a hot topic with a shared hot topic dictionary  700  according to one embodiment. Users can easily input hot topics with prediction support  710  the first time it is typed. The candidate is tagged with ‘#’  720  to label it as a hot topic. 
       FIG. 8  provides a flowchart of the ONE-TO-MANY sharing process  800  according to one embodiment. This third example involves the sharing of web dictionaries with friends. The web dictionary is provided as part of the IME and may be thought of as a marketplace that people can build dictionaries since it is a dictionary format that is open to the public. Users and others, such as interested companies, may create more dictionaries after the release of an IME, and upload that web dictionary to a home page maintained at an accessible server. Interested users can download the new web dictionaries to make a richer dictionary vocabulary based on their local typing experience. 
     IME Web Dictionary Service  810  may provide a web dictionary homepage  815  on a web site. When User A  860  downloads and installs  825  a web dictionary (terms)  870 , then User A may share this action and web dictionary link with friends in WINDOWS LIVE social update service  840 . Friends see the web dictionary link in WINDOWS LIVE service  845 , and then may activate the web dictionary link to install the web dictionary  850  on their machines. The friends may also share the same terms among other friends. A share button may be provided on the web site that allows users to share  820  the web dictionary link with their friends, e.g., through WINDOWS LIVE social update service  840 . The user signs-in  830  in order to post a social update on their WINDOWS LIVE social update service  840 . Once the user selects to share with friends  835 , the friends will see that there are new updates in WINDOWS LIVE service  845 . For example, the link may indicate that the user recommends or likes a dictionary. Then, if the friends are interested, they can click that link and install this web dictionary  850 . Thus, the WINDOWS LIVE network is used to help build more web dictionaries created either by users or others, which in turn leads to a broader audience. 
       FIG. 9  illustrates the IME web dictionary download homepage  900  according to one embodiment. On the Web dictionary download page, the user can click the box  910  to share the dictionary to WINDOWS LIVE friends. 
       FIG. 10  shows a social update posting the link to the web dictionary and IME homepage  1000  according to one embodiment. A friend can click on the links  1010  from one of the social update postings  1020  to download the dictionary. 
       FIG. 11  illustrates a suitable computing environment  1100  for implementing a system as described above in  FIGS. 1-10  according to an embodiment. In  FIG. 11 , a system for providing shared vocabulary/typing history  1110  includes a processor  1120  and memory  1130 . Those skilled in the art will recognize that the system for providing shared vocabulary/typing history  1110  may be implemented in a central module, a resource manager, and other data or content devices. Embodiments may also be implemented in combination with other types of computer systems and program modules. Generally, program modules include applications, routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. By way of example, computer readable media  1190  can include computer storage media or other tangible media. Computer storage media  1190  includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information  1192 , such as computer readable instructions, data structures, program modules or other data. Moreover, those skilled in the art will appreciate that other computer system configurations may be implemented, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. Embodiments may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. 
     Embodiments implemented on computer-readable media  1190  may refer to a mass storage device, such as a hard disk or CD-ROM drive. However, those skilled in the art will recognize that tangible computer-readable media can be any available media that can be accessed or utilized by a processing device, e.g., server or communications network provider infrastructure. 
     By way of example, and not limitation, computer-readable media  1190  may include, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, digital versatile disks (“DVD”), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other tangible medium which can be used to store the desired information and which can be accessed by a processing device. 
     As mentioned briefly above, a number of program modules and data files may be stored and arranged for controlling the operation of processing devices. Thus, one or more processors  1120  may be configured to execute instructions that perform the operations of embodiments. It should also be appreciated that various embodiments can be implemented (1) as a sequence of computer implemented acts or program modules running on a processing device and/or (2) as interconnected machine logic circuits or circuit modules within the processing devices. The implementation is a matter of choice dependent on the performance requirements. Accordingly, logical operations including related algorithms can be referred to variously as operations, structural devices, acts or modules. It will be recognized by one skilled in the art that these operations, structural devices, acts and modules may be implemented in software, firmware, special purpose digital logic, and any combination thereof without deviating from the spirit and scope of embodiments as recited within the claims set forth herein. 
     Memory  1130  thus may store the computer-executable instructions that, when executed by processor  1120 , cause the processor  1120  to implement shared vocabulary/typing history everywhere for efficient social communication according to an embodiment as described above with reference to  FIGS. 1-10 . Memory  1130  may also be used to store input history, user profiles and learned data for users. 
     The foregoing description of the embodiments has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the embodiments to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the embodiments be limited not with this detailed description, but rather by the claims appended hereto.