The present disclosure relates to emojis and it relates specifically to a computer-implemented method for emoji modification.
According to an example embodiment of the present disclosure, there is provided a computer-implemented method comprising establishing, by a sender analysis module, an intended meaning associated with an emoji which has been selected by a sender for transmission to a receiver. The method may comprise predicting, by a receiver analysis module, an interpretation of the emoji by the receiver. The method may comprise comparing, by a comparison module, the established intended meaning with the predicted interpretation. The comparison between the established intended meaning and the predicted interpretation may be used to determine whether emoji modification is required. The method may further comprise modifying, by an emoji modification module, at least one aspect of the emoji, in response to a determination that emoji modification is required.
Example embodiments of the present disclosure extend to a corresponding system and to a corresponding a computer program product.
Emojis (sometimes also called emoticons) have become an important part of electronic communication for many people. Emojis may be small icons, pictures or pictograms used in messaging and other forms of communication. Emojis may be used to express an idea or emotion. It has been found that different people have different reactions to and/or interpretations of some emojis. For instance, it has been found that a certain emoji depicting a face with tears may be interpreted either positively, e.g., as “tears of joy”, or negatively, e.g., as “tears of sorrow”.
Emojis may be rendered differently by different devices, messaging and/or operating platforms, resulting in differences in interpretation and/or reaction. Referring to the screenshot 100 in
A person's interpretation of an emoji may be influenced by various factors, such as his or her culture, history, age, location, religion, etc. The profile and/or context of the sender or receiver may play a significant role in what an emoji means and how it is interpreted. For instance, consider how different emojis may be used to signify greetings around the world, e.g., a waving hand, folded hands, a face with a tongue sticking out, and clapping hands. Also consider the following examples:
Embodiments of the disclosure provide an emoji modification method and/or an associated system. The method may be used to modify an emoji selected by a sender, in order to ensure, or attempt to ensure, that the intended meaning of the emoji selected by the sender is properly conveyed when the emoji is rendered at the receiver. The method may ensure, or attempt to ensure to a degree, that the essence of the sender's intention is preserved while facilitating understanding on the part of the receiver. Emoji modification according to embodiments of the disclosure may be carried out in various ways, as will be described in greater detail in what follows.
The topology 200 of
In this embodiment, the sender analysis module 112 is configured to establish an intended meaning associated with an emoji which has been selected by a sender 120 for transmission to a receiver 130. The receiver analysis module 114 is, in this embodiment, configured to predict an interpretation of the emoji by the receiver 130.
The comparison module 116 may be configured to compare the established intended meaning with the predicted interpretation and to determine whether emoji modification is required based on this comparison. The emoji modification module 118 may be configured to modify at least one aspect of the emoji in response to a determination that emoji modification or predicted emoji modification is required.
The sender 120 may be in possession of a sender device 122 by which it can communicate with a receiver device 132 associated with the receiver 130. The sender device 122 and receiver device 132 may be any suitable type of communication device(s). In the example embodiment of
The sender device 122 and receiver device 132 may each have a mobile software application installed thereon, providing each device 122, 132 with the ability to participate in an emoji modification service as described herein. The software application may provide a functional module in the form of a metadata module 124, 134. The metadata module 124 of the sender device 122 may be configured to obtain and/or store contextual and/or profile information associated with the sender 120 which may be used to interpret the (predicted) intended meaning of a message and/or emoji transmitted by the sender 120. Likewise, the metadata module 134 of the receiver device 132 may be configured to obtain and/or store contextual and/or profile information associated with the receiver 130 which may be used to predict the receiver's interpretation of a message and/or emoji transmitted to the receiver 130, e.g., by the sender 120.
In the example embodiment of
Referring now to
At a first stage 302, the computer system 110 may receive, via the network 140, an electronic message sent by the sender 120 from the sender device 122. The computer system 110 may be configured to analyze the message to determine whether emoji modification is required prior to transmitting the message onward to the receiver device 132. The electronic message in the screenshot 400 in
The sender analysis module 112 may be used to establish the intended meaning of one or each emoji in the electronic message (stage 304). In this context, “intended meaning” refers to the meaning, sentiment or message the sender 120 wishes to convey with a particular emoji. Data from the metadata module 124 and/or the database 150 may be used in establishing this intended meaning.
The receiver analysis module 114 may be used to predict the receiver's interpretation of one or each emoji in the electronic message 400 (stage 306). In this context, the “receiver's interpretation” refers to the manner in which the receiver 130 is likely to interpret a particular emoji and/or the sentiment or meaning which is likely to be attached to the emoji by the receiver 130. Data from the metadata module 134 and/or the database 150 may be used for the purpose of predicting this interpretation.
Stages 304 and 306 of the flow diagram 300 need not necessarily be conducted in a particular sequence and in some embodiments they may be conducted substantially simultaneously.
At a next stage 308, the comparison module 116 may then be used to compare the established intended meaning (e.g., the sender's probable intention with each emoji) with the predicted interpretation (e.g., the receiver's probable interpretation of each emoji).
If, at stage 310, it is determined that there is a difference (e.g., a significant or predefined difference) between the established intended meaning and the predicted interpretation, at least one aspect of the emoji may be modified (stage 312). On the other hand, if the comparison returns a match or indicates that there is no significant or predefined difference between the intended meaning and the predicted interpretation, the emoji may be left unchanged (stage 314).
The above stages may be conducted simultaneously or successively for each emoji in the electronic message in question.
The diagram 500 of
The metadata module 124 may include a context and/or profile store component 502 and a context and/or profile inference component 504. The context and/or profile store component 502 may be configured to store profile information and contextual information concerning the sender 120 that may be used by the computer system 110 for modifying emojis. In other words, the metadata module 124 may store data relating to a sender profile and/or data relating to a sender context. The sender profile may include personal data concerning the sender 120 and the sender context may include contextual data relevant to the sender 120.
As an example, the sender profile and/or sender context may include, but are not limited to:
Some profile and/or context data may be provided directly by the sender 120, e.g., name or age may be provided by way of user input. Data or information may also be inferred by the context and/or profile inference component 504, if the sender 120 has not entered this information already. This may be done by machine learning and/or statistical analysis of the sent and received message history 506 for the sender 120. As an example, continued use of abbreviated text, e.g., “18, c u b4 7” which translates as “I am late, see you before seven”, may possibly be an indication of an age range between 10 and 20. Multiple received messages starting with “Hi Mary” may allow the context and/or profile inference component 504 to infer the sender's name as “Mary”. If recent sent messages contained words like “argh” or emojis of angry faces, the context and/or profile inference component 504 may mark the mood as “Angry”. Aspects of the sender profile and/or sender context may be dynamic.
Context data and profile data of the sender 120 and the receiver 130 may be obtained in a number of different ways by the metadata modules 124, 134 and/or the analysis modules 112, 114. Examples of data sources which may be analyzed or obtained include, but are not limited to:
The above data may be learned by the system 110 or may be obtained from another source.
The sender profile and context, the receiver profile and context, and/or other data associated therewith, may be stored locally (e.g., on the device 122, 132) or on remotely hosted databases, e.g., the database 150 or an associated cloud storage system.
The metadata modules 124, 134 may therefore be used to establish, and in some cases to update, the context and profile of both the sender 120 and the receiver 130. This may include any attributes that may have an influence on how either party intends and perceives message content and how emojis are interpreted.
The diagram 600 of
The input message may include text and one or more emojis. In some cases, however, the input may be an emoji only. The sender analysis module 112 may analyze text in order to extract the sentiment and intended meaning from the text (606), e.g., by parsing the text. In this example, this may be done by way of machine learning, artificial intelligence, natural language processing (NLP), or the like. The sender analysis module 112 may further analyze the emoji or emojis in the message (608) to determine the meaning the sender 120 links to the emoji or emojis.
It will be appreciated that establishing the intended meaning of the sender may refer to establishing the intended meaning with a certain degree of certainty and not necessarily definitively.
The text and/or emoji(s) may be analyzed and interpreted based on the sender profile and/or the sender context. The sender analysis module 112 may use profile data and context data obtained from the metadata module 124 in this regard. The sender analysis module 112 may also use additional data, e.g., a lookup table that provides the typical meaning attributed to a particular emoji by a person of a certain age group.
The sender analysis module 112 may further be configured to analyze a conversation context, and in particular a current conversation context. Alternatively, conversation context data may be obtained from an external module or component. For instance, the module 112 may apply a custom trained NLP model to determine the sentiment of the emoji in a message (e.g., positive, negative or neutral) and/or may analyze the current conversation between the sender 120 and the receiver 130 in order to determine characteristics of the current conversation (e.g., stressful, intense or relaxed). In some embodiments, the sentiment of the emoji in the message together with the characteristics of the conversation may form the current conversation context.
In some embodiments, audio and/or video input may be used to determine the emotional state of the sender 120. For example, if the sender 120 is feeling happy, and perhaps smiling, then this may be recorded as part of the sender profile or sender context for the purposes of determining the intended meaning of an emoji.
The analysis of the text and emoji(s) may be combined (610) in order to arrive at an intended meaning (612).
As an example of the functioning of the module 112, consider the following sentence from the message 400 in
The diagram 700 of
The receiver analysis module 114 may aim to determine how the receiver 130 may interpret the use of an emoji. In this example, the receiver analysis module 114 does not analyze the text in the message and analyses only the emoji(s) (706). In other embodiments, the receiver analysis module 114 may also analyze text in a manner similar to the manner described with reference to
The receiver analysis module 114 analyses each emoji based on the receiver profile and/or the receiver context (708). The module 114 may use profile data and context data obtained from the metadata module 134 in this regard. The receiver analysis module 112 may also use additional data, e.g., a lookup table that provides the typical interpretation of a particular emoji by a person of a certain age group.
The receiver analysis module 114 may further be configured to analyze the conversation context and/or obtain conversation context data from an external module or component. Based on the analysis of the current context of the emoji, the module 114 may determine, predict or measure the difficulty in interpreting the intended meaning and/or the degree of sentiment and emotional level of the receiver 130. The receiver analysis module 114 may also, or alternatively, determine or predict a degree of sentiment in response to the emoji in question by the receiver 130, and/or determine a degree of emotional level in response to the emoji in question by the receiver 130.
The result (710) of the emoji analysis conducted by the module 114 yields a predicted interpretation (output, 712). Consider the “facepalm” example used with reference to
The diagram 800 of
The module 116 compares these inputs (802) and if there is no significant difference between the two, i.e. if they substantially match, no modification is made (804). On the other hand, if there is a mismatch or difference, e.g., as is the case with the outputs described with reference to the example of
The comparison module 116 may thus aim to flag possible conflicting meanings and interpretations, based on the profiles and/or contexts of a sender and receiver, to avoid possible misinterpretations.
Consider again, as an example, the message 400 of
The diagram 900 of
Emoji modification or adjustment may be carried out in a number of different ways, including, but not limited to:
Hints may be cognitive in that the modules 116 and/or 118 may determine whether the receiver 130 has shown different expressions or reactions (e.g., gesture or gaze detection) in response to past similar emojis.
Essentially, the emoji adjustment module 118 may thus determine or obtain emoji adjustment factors or adjustment suggestions, based on the result of the earlier comparison, and proceed to carry out or suggest a modification accordingly.
In this specific example, the module 118 may check a modification setting (902) associated with the sender 120 to determine whether modification may be carried out automatically or whether modification should be suggested to the sender 120 first. If an “AUTO” setting is selected, the emoji adjustment module 118 may generate a modified electronic message (904), e.g., replace the problematic emojis with more appropriate ones, and may output the modified message which is then received by the receiver 130 on the receiver device 132 (906). Alternatively, if a “SUGGEST” (e.g., not automatic) setting is selected, the emoji adjustment module 118 may first generate one or more suggested modifications (908), and provide the sender 120 with suggestions for approval or possible selection (910).
In some embodiments, if “auto-modification” is not enabled, the adjustment module 118 may simply highlight an emoji that may be problematic to the sender 120 on the sender device 122, with one or more options to guide an auto-correction process. If “auto-modification” is enabled, a potentially problematic emoji may be highlighted, allowing the sender 120 to select or tap the emoji. Tapping the emoji may bring up a correction notification, popup or prompt, explaining why the emoji may be problematic, e.g., it is prone to misinterpretation because the receiver device 132 renders the emoji differently, or it is not appropriate for the receiver's age-group, or it is a known ambiguous emoji, etc. The sender 120 may then select a more appropriate emoji, e.g., from a list, or opt to leave the emoji unchanged. This approach may be beneficial in that it may ensure that the sender 120 remains in control of the sent messages. Thus, even if the inference of the “intended meaning” fails, the sender 120 may be able to take corrective action. Similarly, if the system is running on the receiver device 132, the receiver device 132 may be configured to highlight an incoming emoji as potentially problematic and allow a similar process to unfold in order to clear up potential misunderstandings.
As mentioned above, in some embodiments, the computer system 110 may determine that an emoji will be rendered differently on the receiver device 132, because the receiver device 132 is has a different device type or uses a different messaging or operating platform. Accordingly, the comparison module 116 may determine that the receiver 120 may interpret the emoji differently from the intended meaning which the sender 120 had in mind when selecting the emoji, as a result of such a difference. The emoji modification module may then make a suitable modification to the emoji to ensure that the original meaning or message is preserved.
Due to the large variety of platforms and software packages available in the market, and the resulting variation in the manner in which emojis are rendered, it may be impractical to have a database of various emoji renderings by device or platform. To overcome this, in embodiments of the disclosure, the receiver device 132 may be requested by the computer system 110 to transmit a rendering of the emoji being entered by the sender 120. The emoji may then be replaced in the sender device 122 with the actual rendering of the emoji from the receiver device 132, allowing the sender 120 to preview exactly how the message will look on the receiver device 132, before sending it. If this process is slow, the local emoji of the sender device 122 may display immediately while showing a “loading” animation beside it, and once the receiver device's rendering is received, the local emoji may be replaced with the remotely rendered emoji. This data may be cached for future use. This may also apply to the manner in which the emoji is displayed in the correction notification, popup or prompt as described above, which may make the explanation (such as “ambiguous”) easier to understand.
The diagrams 1000 of
In the message 400 sent by the sender 120, Adam, he uses a “fist” emoji for a fist-bump (which he often uses when messaging his friends) as an informal way of greeting (similar to a high-five). He goes ahead to tell the receiver 130, his grandmother, Gwen, that he doesn't like this year's summer camp, using the “poop” emoji as teenagers often do, without thinking how she would interpret this emoji. He uses the “facepalm” emoji to convey his frustration about what happened with all of the food going bad. Finally, using the “man gesturing OK” emoji, he says that everything will be fine, since he will be back home in a few days.
Adam used these emojis as he usually does when chatting with his friends, without thinking about the possible conflicting interpretations of these emojis that might arise as a result of the difference in the sender and receiver profile and sender and receiver context, specifically, their ages and the fact that his grandmother might not be up to date with the popular use of emojis among teenagers of his age.
In this example, using the techniques described above, flagged emojis in the original text are replaced with more appropriate and/or relevant replacement emojis. The message 1002 is now less likely to contain emojis that might cause Gwen to misinterpret what Adam originally intended to say.
Embodiments of the disclosure may include an additional reference module whereby records of the modifications made to emojis are stored over time, e.g., according to their context. The reference module may also store reasons for emoji modifications. The reference module may be provided, for instance, by the database 150 of the system 110 of
The reference module may store a list of the modifications used, together with the reasoning factors for the specific alterations that occurred. Referring to the example screenshot 1100 of
In the example above, the smiling emoji may be translated to a hugging emoji to express that the mother means well by comforting her daughter. The smiling face could be interpreted as though the mother was laughing at the daughter's misfortune.
Subsequently, where a friend may express that they are sad or disappointed about an ordeal they have experienced, the mother may use the reference module to determine which emoji to use based on communication history. This is illustrated by the example screenshot 1200 of
Embodiments of the disclosure may provide an option to send the modified emoji together with a sound clip. Furthermore, the modified emoji maybe converted to a word or words that have the same meaning in a language that matches the receiver's language.
Referring to the example in
In some embodiments, the intended meaning of the sender emoji may be queried by a receiver using an interactive emoji query interface. The computer system 110 may be configured to receive a receiver query from the sender device 122 and/or to receive a sender query from the receiver device 132. The computer system 110 may include a receiving module 160 configured for this purpose, as shown in dotted lines in
In response to a sender query, the receiver 130 may receive a response with context and/or profile information about the sender, and/or the intended meaning as inferred by the system. Similarly, the predicted interpretation of the receiver may be queried by the sender 120 using an interactive emoji query interface. The system may respond with context and/or profile information about the receiver, and/or the interpretation as predicted by the system. The interface may make use of NLP. A query may conveniently be transmitted by the sender prior to actually sending a message, thereby avoiding misinterpretation.
The diagram 1300 of
The computer system 1302 may be in the form of a “message preserving emoji modulating system”, functioning in a manner similar to some of the components of the system 110 of
The emoji contextualizing manager 1304 may store a plurality of user profiles 1314 and may include an emoji feature generator 1316 and/or an emoji content data store 1318.
The emoji modification system 1306 may function in a manner similar to the emoji modification module 118 of
The system 1302, manager 1304 and system 1306 may provide a so-called trans-vendor service, which may run across messaging applications (e.g., WhatsApp™, Facebook Messenger™, WeChat™, Skype™, Viber™, Telegram™, Snapchat™, SMS, etc), social media applications (e.g., Facebook™, LinkedIn™), email systems, computing devices and/or communication devices. The service may be automatically triggered and run “in the background” when an electronic text-based conversation between parties on respective devices starts, or may triggered if the insertion of an emoji is detected or based on user-specified rules. Conversations may be monitored in real-time to analyze, detect and/or predict various aspects of the sender/receiver as described herein, detect or predict sentiment, emotional level or difficulty of interpreting the intended meaning of emojis.
In the examples given above, the method is carried out between one human sender and one human receiver. However, in other embodiments, a sender may send a message to a plurality of receivers, in which case each receiver's message may be handled separately in the manner described herein.
One application of embodiments of the disclosure may be direct messenger systems (e.g., WhatsApp™, Facebook Messenger™, SMS, email, etc.), wherein communication often involves one sender and one receiver. However, in some embodiments the techniques described herein may be applied where the message is broadcast to many receivers. For example, consider a website which may be viewed by millions of people, across many different locations, cultures, age groups, and the like. In such a scenario, the emoji selected by one sender may need to be rendered differently for each receiver.
The sender and/or receiver may also be non-human, e.g., an Artificial Intelligence (AI) agent or robot. The sender may be a multi-agent team. Furthermore, embodiments of the disclosure may allow for a class of “emoji senders” taking the form of AI agents or robots to send or post emojis for a human user(s). Such an AI agent may be configured with social networking applications to send or post messages that may contain one or more emojis. The AI agent may learn a user's activity (e.g., message, posts or task completion) and send or post emojis in response to the user activity or as part of providing feedback or appreciation on task completion. Emoji modification as described herein may be carried out in a similar manner in cases where the emoji is sent by a sender AI-agent, based on predicted message interpretation.
In embodiments of the disclosure, a replacement or suggested emoji is not simply looked up in a database. Instead, the intended meaning of the sender may be inferred and the interpretation of the receiver may be predicted. If the intended meaning and the inferred interpretation differ, the emoji is replaced or otherwise modified. In this way, the meaning which the sender associates with an electronic message and emoji may be preserved and correctly conveyed by rendering it differently at the receiver, or by suggesting a different rendering or additional information.
Embodiments of the disclosure consider the sentiment of a message in determining the intended meaning of a sender. For instance, in the message, “That is the funniest thing I have ever heard *face with tears emoji*”, the positive sentiment of the message may be inferred from the words used, resulting in the intended meaning being deemed to be joyous. On the other hand, in the message, “My cat just died *face with tears emoji*”, the negative sentiment of the message may be inferred from the words used, resulting in the intended meaning being deemed to be extreme sadness. As described above, not only may a current message be analysed, a conversation context may be analysed by checking a sequence of messages to facilitate the prediction of the sender's meaning and the receiver's probable interpretation.
In addition, previous user activity may form part of the sender profile/context or receiver profile/context. For instance, if the sender transmits a “sleeping face” emoji during working hours, the meaning may be established as boredom and not as sleeping, based on the sender's typical activities during that time of day and/or day of the week.
In some embodiments, the disclosure may provide for the detection and correction of biases or stereotypes. For instance, if the sender is referring to a “nurse”, they may select the emoji for “female health care worker”. However, this may be seen as potentially problematic and the emoji may be replaced with a gender neutral “face with medical mask” emoji.
In some embodiments, the disclosure may provide for censorship. For instance, if the sender transmits an emoji for a gun and the receiver is a child, the emoji may be replaced with a “censored” emoji or may be changed to a water pistol.
The present disclosure may be a system, a method, and/or a computer program product at any possible technical detail level of integration. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present disclosure.
The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.
Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.
Computer readable program instructions for carrying out operations of the present disclosure may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, configuration data for integrated circuitry, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C++, or the like, and procedural programming languages, such as the “C” programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present disclosure.
Aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and/or computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.
These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowcharts and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the Figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.
In one embodiment, a computer program product for emoji modification may be provided. The computer program product may comprise a computer readable storage medium having stored thereon first, second, third and fourth program instructions. The first program instructions may be executable by a computer processor to cause the computer processor to establish an intended meaning associated with an emoji which has been selected by a sender for transmission to a receiver. The second program instructions may be executable by the computer processor to cause the computer processor to predict an interpretation of the emoji by the receiver. The third program instructions may be executable by the computer processor to cause the computer processor to compare the established intended meaning with the predicted interpretation, wherein the comparison between the established intended meaning and the predicted interpretation is used to determine whether emoji modification is required. The fourth program instructions may be executable by the computer processor to cause the computer processor to modify at least one aspect of the emoji in response to a determination that emoji modification is required, thereby better to align the intended meaning of the sender with the predicted interpretation of the emoji by the receiver.
The descriptions of the various embodiments of the present disclosure have been presented for purposes of illustration, but are not intended to be exhaustive or limited to the embodiments disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein was chosen to best explain the principles of the embodiments, the practical application or technical improvement over technologies found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.