Abstract: The present invention provides a method [200] and system [100] for recommending stickers in a social networking application. The system [100] includes a memory [102], at least one processor [104] connected to the memory [102], a clustering unit [106] and a sticker recommendation unit [108]. The clustering unit [106] is configured to receive at least one conversation history and extract at least one message set from the conversation history. The clustering unit [106] is further configured to train at least one model configured to compute a representation for a message in the message set and generate at least one message cluster based on the representation created by the trained model. The sticker recommendation unit [108] is configured to recommend one or more stickers based on a predicted cluster, wherein a classification model is used to predict the cluster.
FIELD OF THE INVENTION
The present invention generally relates to the field of social networking
applications, and more particularly, to methods and systems that facilitate
recommendation of a sticker in a social networking application.
5 BACKGROUND OF THE INVENTION
This section is intended to provide information relating to the field of the
invention and thus any approach or functionality described below should not be
assumed to be qualified as prior art merely by its inclusion in this section.
The popularity and convenience of digital devices as well as the widespread use
10 of Internet communications have caused communications between user devices
to become ubiquitous. The increasing reach of smartphones has led to the
increasing use of social networking applications. The popularity of these social
networking applications has increased immensely as they provide for a more
effective way of communication at cheaper costs. For example, users commonly
15 use smartphones to send electronic messages to other users as text messages,
chat messages, email, etc. While the text is a convenient form of communication,
however, it has its own limitations and disadvantages. Text is not a very
expressive form of communication since it is sometimes not possible to convey
the intention, feelings or sentiment of the sender behind the text. Therefore,
20 text is often used in conjunction with other forms of visual expressions such as
emoji, emoticons, stickers, etc. Even when text is used in conjunction with other
visual forms of expression, it usually takes a lot of time for the user to convey the
message.
Stickers are popularly used in chat messages to visually express a nuanced range
25 of thoughts and utterances and convey exaggerated emotions. However,
discovering the right sticker at the right time in a chat from a large and everexpanding pool of stickers can be cumbersome. Usually, the user is not able to
manually select the most appropriate sticker from the available options because
it’s not too straightforward to think of a sticker that can best substitute the
3
user’s next utterance. Even if the user does re-call a sticker, browsing a palette to
find that sticker can be a time-taking process which may create an inconvenience
to the user. Conventionally, sticker recommendations have been implemented
by deriving stickers based on matching user inputs to tags that are manually
5 assigned to each sticker in the system. Tags of a sticker are supposed to contain
phrases that the sticker can possibly substitute. Since there are so many ways of
expressing the same thing in chat, it’s hard for any user to capture all variants of
an utterance as tags. Thus, a sticker ends up not being recommended in many
contexts due to inexhaustive tagging.
10 In view of these problems, there exists an imperative need in the art to provide a
system and method that enables recommendation of stickers based on the
context of chat messages being exchanged by a user during a chat.
SUMMARY
This section is provided to introduce certain objects and aspects of the present
15 disclosure in a simplified form that are further described below in the detailed
description. This summary is not intended to identify the key features or the
scope of the claimed subject matter. In view of the inherent limitation of the
existing social networking applications, there exists an imperative need to
provide a system and method for recommending stickers based on the context of
20 chat messages being exchanged by a user during a chat. It is also an object of the
present invention to provide a system and method for recommending stickers
based on the content of the chat messages and language used by the user in the
chat messages.
A first aspect of the present disclosure relates to a system for recommending
25 stickers in a social networking application. The system includes a memory, at
least one processor connected to the memory and a clustering unit coupled to
the memory and the processor. The clustering unit is configured to receive at
least one conversation history between at least two users on the social
networking application. The clustering unit is further configured to extract at
4
least one message set from the conversation history, wherein the message set
includes a message and a next message. The next message appears next to the
message in the conversation history. The clustering unit is further configured to
train at least one model configured to compute a representation for the message
5 in the message set based on a text of the message and the next message. The
clustering unit is further configured to generate at least one message cluster
based on the representation created by the trained model. Each of the message
cluster includes a group of semantically similar messages. The system includes a
sticker recommendation unit coupled to the memory, the processor and the
10 clustering unit. The sticker recommendation unit is configured to receive a new
message from a current conversation, predict the cluster of a new next message
for the new message using a classification model. The classification model is
based on a context of the current conversation and one or more additional
features. The sticker recommendation unit is further configured to dynamically
15 update the predicted cluster based on a real-time typed input received from the
current conversation and the one or more additional features. The sticker
recommendation unit is further configured to recommend one or more stickers
based on the predicted cluster.
Another aspect of the present disclosure relates to a method for recommending
20 stickers in a social networking application. The method includes receiving of at
least one conversation history between at least two users on the social
networking platform. Next, the method includes extracting of at least one
message set comprising of a message and a next message from the conversation
history, wherein the next message appears next to the message in the
25 conversation history. Next, the method includes training at least one model
configured to compute a representation for the message in the message set
based on a text of the message and the next message. Next, the method includes
generating at least one message cluster based on the representations created by
the trained model, wherein each of the message cluster includes of a group of
5
semantically similar messages. Next, the method includes receiving a new
message from a current conversation. Next, the method includes predicting a
cluster of a new message for the new message, using a classification model,
wherein the classification model is based on a context of the current
5 conversation and one or more additional features. Next, the method includes
dynamically updating the predicted cluster based on a real-time typed input
received from the current conversation and the one or more additional features.
Thereafter, the method includes recommending one or more stickers based on
the predicted cluster.
10 BRIEF DESCRIPTION OF DRAWINGS
The accompanying drawings, which are incorporated herein, and constitute a
part of this disclosure, illustrate exemplary embodiments of the disclosed
methods and systems in which like reference numerals refer to the same parts
throughout the different drawings. Some drawings may indicate the components
15 using block diagrams and may not represent the internal circuitry of each
component. It will be appreciated by those skilled in the art that disclosure of
such drawings includes disclosure of electrical components or circuitry
commonly used to implement such components. The connections between the
sub-components of a component have not been shown in the drawings for the
20 sake of clarity, therefore, all sub-components shall be assumed to be connected
to each other unless explicitly otherwise stated in the disclosure herein.
FIG. 1 illustrates an architecture of a system for recommending stickers in a
social networking application, in accordance with exemplary embodiments of the
present disclosure.
25 FIG. 2 illustrates an exemplary method flow diagram depicting a method for
recommending stickers in the social networking application, in accordance with
exemplary embodiments of the present disclosure.
FIG. 3 illustrates an example of sticker recommendation to a user, in accordance
with an embodiment of the present invention.
6
FIG. 4 illustrates a hybrid architecture for message cluster prediction, utilized by
the system of the present invention.
Referring to FIG. 5, an architecture of message embedding model which is
utilized by the system of the present invention, during message clustering, is
5 disclosed.
DESCRIPTION OF THE INVENTION
In the following description, for the purposes of explanation, numerous
examples have been set forth in order to provide a brief description of the
invention. It will be apparent however, that the invention may be practiced
10 without these specific details, features and examples; and the scope of the
present invention is not limited to the examples provided herein below.
The present invention facilitates recommendation of stickers in a social
networking application, wherein the social networking application is typically
installed on or resides on a personal electronic device. The personal electronic
15 device may include but is not limited to a smart phone, a mobile phone, a tablet,
personal computer, etc.; and the social networking application may include a
messaging application or any other social networking application.
As used herein, a sticker may denote a graphic image or illustration which is
available to be placed on or added to a chat, on a social networking application,
20 for expressing emotion, sentiment, thought or an action through among other
actions via cartoons, animations, elaborate emoticons, and emoji.
As used herein, “connect”, “configure”, “couple” and its cognate terms, such as
“connects”, “connected”, “configured” and “coupled” may include a physical
connection (such as a wired/wireless connection), a logical connection (such as
25 through logical gates of semiconducting device), other suitable connections, or a
combination of such connections, as may be obvious to a skilled person.
As used herein, “send”, “transfer”, “transmit”, and their cognate terms like
“sending”, “sent”, “transferring”, “transmitting”, “transferred”, “transmitted”,
etc. include sending or transporting data or information from one unit or
7
component to another unit or component, wherein the content may or may not
be modified before or after sending, transferring, transmitting.
Referring to FIG. 1, an architecture of a System [100] for recommending stickers
in a social networking application is disclosed in accordance with exemplary
5 embodiments of the present invention. The system [100] includes a memory
[102], at least one processor [104], a Clustering Unit [106], and a Sticker
Recommendation Unit [108]. The Memory [102] is a collection of storage cells
together with associated circuits needed to transfer information in and out of
storage. The memory may include any non-transitory computer readable
10 medium or computer program product known in the art including, for example,
volatile memory, such as Static Random-Access Memory (SRAM) and Dynamic
Random-Access Memory (DRAM), and/or non-volatile memory, such as Read
Only Memory (ROM), erasable programmable ROM, flash memories, hard disks,
optical disks, and magnetic tapes. The Memory [102] is configured to store
15 instructions which are executed by the at least one Processor [104] for the
recommendation of stickers.
The System [100] includes the at least one Processor [104] connected to the
Memory [102]. The at least one Processor [104] is configured to receive,
interpret, process and communicate a data or instructions stored in the Memory
20 [102]. The at least one Processor [104] may include, but is not limited to, a
central processor, an application processor, and a microprocessor. The at least
one Processor [104] is coupled to the Memory [102].
The system [100] includes a Clustering Unit [106] coupled to the Processor [104]
and the Memory [102]. The Clustering Unit [106] is configured to generate at
25 least one message cluster required for the recommendation of the stickers. In
general, clustering is a task to divide or arrange the objects into one or more
groups based on the similarity of the objects.
The Clustering Unit [106] is configured to receive at least one conversation
history between at least two users on the social networking application. The
8
conversation history as used herein may refer to the past conversation between
the at least two users. In an example, User A and User B chat with each other
using social networking application installed in their electronic device. In
continuation with the example, the Clustering Unit [106] is configured to receive
5 the conversation history or chat history of the User A and the User B.
The Clustering Unit [106] is further configured to extract at least one message set
from the conversation history. The message set includes a message and a next
message. The next message appears next to the message in the conversation
history.
10 In first embodiment, the at least one message set may correspond to the
messages sent by the same user. Thus, the message and the next message may
correspond to the messages sent by the same user on the social networking
application. In this case, the next message is referred as a follow-up message to
the message sent by the same user. In an example, User A sends a first message
15 say “Hi” to User B and then user A sends a second message “How are you” to the
User B in a social networking application. The message “Hi” and the next
message “How are you” forms a message set. The first message “Hi” represent
the message and the second message “How are you” represents the follow-up
message to the first message (“Hi”) sent by the same User i.e User A.
20 In second embodiment, the at least one message set may correspond to the
messages sent by two users. Thus, the message and the next message may
correspond to the messages sent by two different users on social networking
application. In this case, the next message is referred as the reply message to the
message. In an example, User C sends a first message say “How are you” to the
25 User D. Based on the first message, the User D sends a second message say “I am
good” to the User C. Thus, the second message sent by the User D referred as
Reply to the first message sent by the User C. Thus, the message belongs to a
first user and the next message belongs to a second user in the message set.
9
The Clustering Unit [106] is further configured to train at least one model
configured to compute a representation for the message in the message set. The
at least one model computes the representation for the message in the message
set based on a text of the message and the next message. The representation for
5 the message in the message set may correspond to the extraction of the possible
meanings of the message in the message set.
The at least one model may be trained using machine learning algorithms, word
embedding techniques, neural network techniques, natural language processing
techniques and the like. The at least one model is configured to compute the
10 representation of the message in the message set based on the analysis of the
text of the message and the next message. In an example, the reply message and
the follow-up message may be analyzed to compute the representation of the
messages in the message set.
The Clustering Unit [106] is further configured to train one or more predictor
15 models. Each of the one or more predictor models is trained to predict at least
one message cluster based on the representation created by the trained model.
The Clustering Unit [106] predicts the at least one message cluster based on the
location of the user of the social networking application.
Further, each of the one or more predictor models are trained based on a unique
20 geography. The geography may be defined as the places, environment of the
places and the relationship of people and their environment. Generally, the
language distribution is largely common across all regions within a geography.
Thus, the clustering unit train separate models for different geographies for
recommendation of relevant stickers to a particular user. Further, based on the
25 geography, the clustering unit may determine the way of chatting, preferred
language at particular geography and then can predict the at least one message
accordingly to the user.
The Clustering Unit [106] is further configured to generate at least one message
cluster based on the representation created by the trained model. Each of the
10
cluster includes a group of semantically similar messages. In an example, when
the message in the message set is “Hi”, the Clustering Unit [106] after computing
the representation of the message “Hi” may form the cluster comprising of “‘Hi’,
‘hie’, ‘hey’, ‘hiee’, ‘hello’ and the like”.
5 The System [100] also includes a Sticker Recommendation Unit [108]. The Sticker
Recommendation Unit [108] facilitates recommendation of one or more stickers
in the social networking application. The Sticker Recommendation Unit [108] is
configured to receive a new message from a current conversation. As used
herein, the term ‘Current Conversation’ refers to a real-time conversation
10 between at least two users. The new message may be received from one of the
at least two users. The new message in the current conversation is one of a text
message and a sticker message.
The Sticker Recommendation Unit [108] is further configured to predict the
cluster of new next message for the new message using a classification model.
15 The new next message corresponds to the follow up or reply of the new
message. Based on the trained model, the sticker recommendation unit predicts
the cluster of the new next message. Further, prediction of the cluster of new
next message for the new message is done by using the classification model. The
classification model is further based on a context of the current conversation and
20 the one or more additional features. The one or more additional features include
at least one of a user demographics, a linguistic preference, a sticker style
preference, day of conversation, time of conversation, mood of conversation.
The user demographics include but may not be limited to age, gender,
geographical location, education level, marital status, household income,
25 occupation hobbies, weather, active local/global events in progress (Elections,
IPL etc..) and other personalization parameters. The linguistic preference
corresponds to the preference of the user in language. The sticker style
preference corresponds to the design of the stickers mostly preferred by the
user, i.e. animation stickers, Bollywood stickers, etc. Thus, the Sticker
11
Recommendation Unit [108] predicts the cluster of the new next message based
on the context of the current conversation, user demographics, linguistic
preference, sticker style preference, day and time of conversation, mood of
conversation, mood of the users and the like.
5 In an example, the user sends “Hi” as a new message to another user on the day
of Christmas. The sticker recommendation unit may predict the cluster of the
new next message to be send by the same user. The cluster of the new next
message may include “Happy Christmas day”, “Wish you a Merry Christmas” and
the like.
10 In another example, the user may receive “Hello” as a new message from
another user on the birthday of the User. Based on the demographic information
of the user, the sticker recommendation unit may predict the cluster of the new
next message to be send by another user. The cluster of the new next message
may include messages such as “Happy Birthday”, “Wish you a very happy
15 birthday”, “Janamdin Mubarak ho” and the like.
The Sticker Recommendation Unit [108] is further configured to dynamically
update the predicted cluster based on a real-time typed input received from the
current conversation and the one or more additional features. The Sticker
Recommendation Unit [108] first predicts the cluster of the new next message
20 based on the new message or last message and then update the cluster in realtime based on the real-time typed input. The Sticker Recommendation Unit [108]
dynamically updates the predicted cluster by using a holistic hybrid approach. In
an embodiment, the sticker recommendation unit combines the score
corresponding to the predicted message and the real-time typed text input to
25 update the predicted cluster in real-time.
In an example, the user sends “Okay Bye” as a new message to another user. The
Sticker Recommendation Unit [108] predicts the cluster of new next message to
be sent by the user comprising of “Take care”, “Have a Good Day”, “Good Night”
and the like. Then the user type “Goo” in real-time as the follow-up message of
12
the new message. The clustering unit determines the time of the current
conversation as 10 pm. Thus, based on the time of current conversation and the
context of the new message and the typed input, the clustering unit updates the
predicted cluster on a real-time dynamic basis. The updated predicted cluster
5 may comprise of “Good Night”, “Good Nyt”, “Good ni8”, “Good nght”, and the
like.
The Sticker Recommendation Unit [108] is further configured to map stickers to
the generated at least one message clusters. The stickers map to the generated
at least one message clusters facilitates in recommending stickers to the user
10 based on the predicted cluster. In an example, the predicted cluster of new next
message comprises “Good Night”, “Good Nyt”, “Good Ni8” then the sticker
recommendation unit [108] maps the predicted cluster to the generated at least
one message cluster for the recommendation of the “Good Night” related
stickers.
15 The Sticker Recommendation Unit [108] is further configured to recommend
one or more stickers based on the predicted cluster. In particular, the one or
more stickers are recommended based on the updated mapping of stickers with
the updated predicted clusters. Also, the one or more stickers are recommended
to the user based on the sticker style preference of the user. In an example, the
20 user may prefer simple style stickers, decent style stickers, colored stickers,
funny character type stickers and the like.
In an embodiment, the Sticker Recommendation System [108] is configured to
recommend the one or more stickers by creating a separate view in a chat
window, or as a pop-up message on the social networking application or as any
25 other input icon in the input area of the graphical user interface of the social
networking application. The one or more recommended stickers can be inserted
in any chat by the user or in any other form of input in the social networking
system. The invention further encompasses automatically displaying the
recommended one or more stickers in the input text box of the social networking
13
application even when no input has been provided or inputted by the user of the
social networking application.
The units, interfaces, modules, and/or components depicted in the figures and
described herein may be present in the form of a hardware, a software and a
5 combination thereof. Connection/s shown between these
units/components/modules/interfaces in the exemplary system architecture may
interact with each other through various wired links, wireless links, logical links
and/or physical links. Further, the units/components/modules/interfaces may be
connected in other possible ways.
10 FIG.2 illustrates an exemplary method flow diagram [200] depicting a method for
recommending stickers in a social networking application, in accordance with
exemplary embodiments of the present disclosure. The method begins when the
user has conversation with another user in social networking application. The
conversation as used herein refers to an interactive communication between
15 two or more people.
Next, at step 202, the method via clustering unit receives at least one
conversation history between at least two users on the social networking
application. The at least one conversation history is the past conversation of the
at least two users. The conversation between the at least two users may be a
20 formal conversation or an informal conversation. Further, the at least one
conversation history received via the clustering unit may include any number of
messages from the at least two users.
Next, at step 204, the method extracts via the clustering unit at least one
message set comprising of a message and a next message from the conversation
25 history. The next message appears next to the message in the conversation
history. The message is a first message and the next message is a second
message. In an example, the first message and the second message are sent by
the same user. In another example, the first message and the second message
may be sent by different users. The at least one message set may comprise of at
14
least two messages. The messages may correspond to a reply message or a
follow up message of the first message.
Next, at step 206, the method via the clustering unit train at least one model
configured to compute a representation for the message in the at least one
5 message set based on a text of the message and the next message. The at least
one model is trained through machine learning algorithms, word embedding
techniques, natural language processing techniques or algorithms to compute
the representation for the message in the at least one message set based on the
context of chat, text of message and the next message.
10 In an embodiment, the method via the clustering unit may also train one or more
predictor models to predict the at least one message cluster based on the
representation of the message. Further, the predictor model may predict the at
least one message cluster based on the location of the user of the social
networking application. Furthermore, each of the one or more predictor models
15 is based on a unique geography. In an example, the method may train the model
to predict location specific message clusters.
Next, at step 208, the method via clustering unit generates at least one message
cluster based on the representations created by the trained model. The at least
one message cluster is generated by grouping the messages similar to the
20 message for which the clustering unit computes representation. The at least one
message cluster is generated only after computing the representation of the
message in the at least one message set and then identifying the corresponding
semantically similar messages. Thus, the at least one message cluster includes of
a group of semantically similar messages.
25 In first step, the system predicts a message which a user is likely to send. In an
embodiment, the system restricts to pre-determined number of frequent
response messages selected from millions of messages. In one embodiment, the
predetermined number may correspond to top 50k messages. The system of the
present invention deals with informal chats and transliterated text, wherein
15
many reply messages are semantically similar with varying spelling. Therefore,
the system of the present invention is capable of learning message embedding
using which the system encodes the sequentially occurring words of chat
messages into vector representation. By using the message embedding, message
5 clusters of frequent responses are created by the system.
Next, at step 210, the method via sticker recommendation unit receives a new
message from a current conversation. The new message in the current
conversation is one of a text message and a sticker message. The current
conversation corresponds to the real-time conversation in between the at least
10 two users. The current conversation represents the real-time conversation in
between the at least two users in the social networking application while the
conversation history corresponds to the past conversation of the at least two
users in the social networking application. Further, the new message may refer
to the first message of the current conversation. The new message may be sent
15 from first user to second user or vice-versa.
Next, at step 212, the method via sticker recommendation unit predicts a cluster
of a new message for the new message, using a classification model. The
classification model is based on a context of the current conversation and one or
more additional features. The classification model classifies the cluster based on
20 the context of the current conversation and one or more additional features. The
one or more additional features include user demographics, a linguistic
preference, a sticker style preference, day and time of conversation, mood of
conversation, mood of the users and the like. Thus, the prediction of the cluster
of the new message is done in real time using the classification model which is
25 based on the one or more additional features and context of the current
conversation.
The invention encompasses that in step 212, the system firstly predicts a
message which a user is likely to send. In an embodiment, the system restricts to
pre-determined number of frequent response messages selected from millions
16
of messages. In one embodiment, the predetermined number may correspond to
top 50k messages.
Next, at step 214, the method via sticker recommendation unit dynamically
updates the predicted cluster based on a real-time typed input received from the
5 current conversation and the one or more additional features. The predicted
cluster is updated on real-time dynamic basis based on the real-time typed
inputs of the user. The predicted cluster gets updated in real time with the type
of characters of the words by the user.
Thereafter, at step 216, the method via sticker recommendation unit
10 recommends one or more stickers based on the predicted cluster. The
recommendation of the one or more stickers is done on real-time dynamic basis.
Further, the mapping of the stickers with the generated at least one message
cluster facilitates in recommending the one or more stickers for the new next
message after predicting the cluster for the new next message. The one or more
15 stickers recommended to the user for the new next message is further based on
the sticker style preference of the user. After recommending the sticker, the
exemplary method 200 terminates.
The method is performed at least partially at a server level and partially at a
device level. The server level is a social networking server and the device is the
20 user device.
The invention encompasses a reply model that is a neural network for predicting
message clusters based on the last message. It accepts the last message as a
sequence of word tokens. This sequence input is fed to a Long short-term
memory (LSTM) layer or to an averaging layer to produce message embedding
25 from which the reply output could be produced by a single hidden layer followed
by sigmoid activations. The system generates good predictions by using the
average of word embedding. The model may be trained with pairs from historical conversation data. In an
embodiment, the model may be deployed on a server, wherein the replies can
17
be pre-computed and cached on the server. Since, the model is queried only
once per a message, and that too before a user starts typing, its latency within a
reasonable limit does not affect user experience.
The invention also encompasses a typed model wherein, the system retrieves
5 relevant message clusters by passing typed text as query to the model. In order
to reduce false positive results, the system assigned a minimum prefix length for
each phrase in the model, so that a matching record is retrieved only if the typed
text meets this minimum prefix length or its message cluster is present in
recommendation available from the reply model. For example, phrase “hi” has a
10 min prefix length set to 2, then a typed text “h” will not retrieve record
corresponding to “hi”, though it is matching to the typed prefix. But if message
cluster of “hi” is present in the scores coming from the reply model, then “hi” is
retrieved even if length of the prefix is below the required minimum length. To
score retrieved message clusters, the system adds frequency of the phrases in
15 corpus, as additional information along with message clusters in values. The
score of a message cluster retrieved is the ratio of frequency of the retrieved
records aggregated per that message cluster, to the sum of frequencies of all
entries that were matching (irrespective whether these records are retrieved or
not after the min prefix filter) in the typed model with the given prefix.
20 For example: the typed text is string “go”, and sum of frequency of all phrases
starting with “go” is 10000, and there were three different phrases of message
cluster “good morning” which were starting with “go” (“good morning”, “good
mrng”, “good mong”) having combined frequency of 1500, then score of “good
morning” is 0:15. After receiving relevant message clusters and corresponding
25 scores from the reply model and the typed model, a final score is computed as a
weighted sum of scores from the typed model, length of string typed and
including interaction terms between them. A threshold is applied on the final
score to filter out low confident recommendations.
The invention also encompasses that during creation of stickers, the stickers are
18
also tagged using phrases which can be used in place of a corresponding sticker
and with high-level emotions classes (e.g. “emotion_lol“). The system uses this
information for mapping of message group to stickers. The system uses the
aforementioned trained phrase embedding model to get the representation of
5 tag phrases and used its similarity with the phrases of cluster to assign the tag
phrases to each message group. One of the advantage of having message group
is that even if one phrase of cluster has high similarity with the tag phrase vis-àvis sticker, complete group will be mapped to corresponding stickers. If a user
starts typing a misspelled phrase then also a relevant sticker can be suggested or
10 recommended.
One of problem with mapping based on tag phrase is many stickers get
unexplored because there is no general phrase attached to it but they are
aesthetically pleasing (e.g. animated stickers). To improve the exploration of
such stickers, the system uses the high-level classes tagged. The system
15 generates the representation of tag type by replacing every sticker with its
corresponding tag type during training of phrase representation as described
above in the disclosure. Similar to tag phrase, each tag type also gets assigned to
each message group. During recommendation, the system mixes the sticker
extracted via tag phrase (exploitation) and via tag type (exploration).
20 FIG. 3 illustrates an example of recommendation of stickers to a user, in
accordance with an embodiment of the present invention. With reference to the
FIG. 3, the user has sent “Hi” to another user in the current conversation. In
accordance with the present invention, the message “Hi” represent new
message in the current conversation. After sending the new message “Hi”, the
25 user again sends a follow-up message of the new message. The user types “was”
in the text box of the social networking application. Using, the trained model and
predictor model, the system recommends a plurality of stickers based on the
context of the chat, text of the new message, and the real-time typed text input
of the user. The plurality of stickers (as shown in the FIG. 3) recommended to the
19
user are related to user typed input and the last message.
As evident from the above disclosure, the two-step flow adopted by the system
of the present invention has several advantages. For example, the
interpretability of the system increases significantly. In an event, some
5 recommendations are problematic, then each step’s output may be inspected by
the system to improve a particular task. Further, outputs of various components
may be further used by the system in downstream applications, such as the
learned phrase embedding and clusters may be used by the system for language
prediction task.
10 The two-step flow of the system improves the recommendation of stickers and
makes updating the individual component of system faster which is an essential
requirement for an efficient operation of the system. Further, formation of chat
message clusters by the system of the present invention tackles the problem of
spelling variations, chat abbreviations, and the like, present in multilingual
15 transliterated messages. The system of the present invention runs the prediction
model in real time with low latency.
The model on the server generates segment level personalization along with
global recommendation per language (language combination). The segment level
model and the global model per language (language combination) utilize the click
20 feedback from the users in specific segment and per language respectively, to
tune the recommendation output, and make it more relevant to those set of
users. These models also take personalization parameters as inputs including:
time of day, day of week, weather, nature of relationship, gender, discussion
context, active local/global events in progress and more. Using Redis based
25 distributed caching on elastic compute resources at the server side, the response
latencies are kept to few 10s ms and maximal throughput is attained.
The invention also encompasses recommending newly added sticker to the
users. The freshness of stickers is also considered as an additional objective by
having a percentage of recommendations allocated for newly generated but
20
relevant stickers. This percentage value can be adjusted dynamically based on
user context and personalization parameters.
Referring to FIG. 5, an architecture of message embedding model which is
utilized by the system of the present invention, during message clustering, is
5 disclosed. As illustrated in the FIG. 5, an input to an encoder is a triplet, (mi-1; mi;
mi+1), extracted from a conversation between two users such that if mi
is a
message sent by a user, then mi-1 and mi+1 are the messages received by that
user before and after sending mi
, respectively. Given a message, consisting of
sequence of n words, mi = {wi,j, wi,j+1, … Wi,n}, the encoder encodes the message
10 into a continuous vector ed. The system creates a Bag of Words (BoW)
representation for surrounding (i.e., previous and next) messages from the
encoded message embedding, ed. The system computes a multi-label sigmoid
loss with respect to words in the previous and next messages that are backpropagated to train the model.
15 If a single message embedding model is trained for all users, it would have a
strong bias for phrases coming from languages spoken by majority of the users.
Many languages would be severely under-represented. In order to counter this,
the system trains separate models for different geographies, wherein the
geographies are chosen such that the language distribution is largely common
20 across all regions within a geography.
The system clusters the top frequent messages, such as 50k messages with the
aforementioned embedding being learned. The system of the present invention
learns similar representations for different orthographical variations and
acronyms of a message, because of which the system is able to cluster them
25 together.
In general, stickers comprise text or characters specific to a particular
demography or a language. Recommending such stickers to all user is not
prudent due to lack of knowledge of regional context of a user. In such cases, the
system of the present invention segregates data based on a location of the user
21
and generates location specific clusters. In an embodiment, after clustering, good
quality message clusters for native language of a region may be obtained, but
global language (e.g. English) cluster quality gets diminished. Since phrase
embedding are learned on different corpus and lies in a different space, the
5 system is not able to perform joint clustering of phrases to improve the global
language cluster. The system of the present invention aligns the individual
location specific space such that phrase embedding become comparable in a
single aligned space. For alignment, the system of the present invention
performs a transformation that minimizes the distances between some seed
10 equivalence words. The system treats common words across geography as
equivalence words which are used to learn the transformation. The system
transforms different geographically learned embedding to same target global
space.
Though, phrase embedding are comparable and nearest neighbours are
15 substantially similar but the scaling of semantically similar phrases are still
different (for example, similarity of ‘hey’ and ‘hi’ is 0.98 while similarity of ‘hey’
from source language to ‘hi’ is 0.8). Due to this, the system does not perform
joint clustering in the transform space, thereby developing a merge cluster
algorithm to combine all the cluster of different demographics. Thus, for each
20 demographic cluster, the system checks the nearest cluster in target global
clusters. If the similarity is greater than threshold, the system merges the two
cluster (threshold is tuned for each demographic differently). The system of the
present invention is able to generate good consolidated clusters with reduced
redundant words across all languages and good quality cluster for both native
25 and global language.
Although the present invention has been discussed with reference to
recommendation of stickers to at least two users based on the text of the
message, it shall be appreciated by those skilled in the art that the invention
encompasses recommendation of stickers to the at least two users even when
22
the message is in the form of sticker, and media in accordance with the
invention.
While the present invention has been described with reference to certain
preferred embodiments and examples thereof, other embodiments, equivalents
5 and modifications are possible and are also encompassed by the scope of the
present disclosure.
We claim:
1. A System [100] for recommending stickers in a social networking
application, the system comprising:
a Memory [102];
5 at least one Processor [104] connected to said Memory [102];
a Clustering Unit [106] coupled to said Memory [102] and said Processor
[104], said Clustering Unit [106] configured to
- receive at least one conversation history between at least two users
on the social networking application;
10 - extract at least one message set from said conversation history, the
message set comprising a message and a next message, wherein said
next message appears next to said message in the conversation
history.
- train at least one model configured to compute a representation for
15 said message in the message set, based on a text of said message and
the next message,
- generate at least one message cluster based on the representation
created by said trained model, wherein each of said cluster comprises
of a group of semantically similar messages,
20 a Sticker Recommendation Unit [108] coupled to said Memory [102], said
Processor [104] and said Clustering Unit [106], wherein the Sticker
Recommendation Unit [108] is configured to
- receive a new message from a current conversation, predict the
cluster of a new next message for said new message using a
25 classification model, wherein said classification model is based on a
context of said current conversation and one or more additional
features,
- dynamically update said predicted cluster based on a real-time typed
input received from said current conversation and said one or more
24
additional features, and
- recommend one or more stickers based on said predicted cluster.
2. The System [100] as claimed in claim 1 wherein the Clustering Unit [106]
is further configured to train one or more predictor models, wherein each
5 predictor model is based on a unique geography.
3. The System [100] as claimed in claim 1 wherein said one or more
additional features comprises at least one of a user demographics, a
linguistic preference and a sticker style preference.
4. The system as claimed in claim 1, wherein said new message new
10 message in the current conversation is one of a text message and a
sticker message.
5. A Method [200] of recommending stickers in a social networking
application, the method comprising:
- receiving at least one conversation history between at least two users
15 on the social networking platform;
- extracting at least one message set comprising a message and a next
message from said conversation history, wherein said next message
appears next to said message in the conversation history;
- training at least one model configured to compute a representation
20 for said message in the message set based on a text of said message
and the next message;
- generating at least one message cluster based on the representations
created by said trained model, wherein each of said cluster comprises
of a group of semantically similar messages;
25 - receiving a new message from a current conversation;
- predicting a cluster of a new next message for said new message,
using a classification model, wherein said classification model is based
on a context of said current conversation and one or more additional
features;
25
- dynamically updating said predicted cluster based on a real-time
typed input received from said current conversation and said one or
more additional features; and
- recommending one or more stickers based on said predicted cluster.
5 6. The Method [200] as claimed in claim 5 wherein predicting said at least
one message clusters is further based on the location of the user of said
social networking application.
7. The Method [200] as claimed in claim 5 wherein the one or more
additional information includes at least one of a user demographics, a
10 linguistic-preferences and a sticker style preference.
8. The method [200] as claimed in claim 5 wherein said recommending of
the one or more stickers is based on mapping of the stickers to the said
predicted cluster.
9. The method as claimed in claim 5 wherein the new message in the
15 current conversation is one of a text message and a sticker message.
10. The method as claimed in claim 5 wherein the method is performed at
least partially at a server level and partially at a device level.
| # | Name | Date |
|---|---|---|
| 1 | 201911001912-FER_SER_REPLY [19-07-2023(online)].pdf | 2023-07-19 |
| 1 | 201911001912-STATEMENT OF UNDERTAKING (FORM 3) [16-01-2019(online)].pdf | 2019-01-16 |
| 2 | 201911001912-FER.pdf | 2023-01-19 |
| 2 | 201911001912-PROVISIONAL SPECIFICATION [16-01-2019(online)].pdf | 2019-01-16 |
| 3 | 201911001912-FORM 18 [20-12-2022(online)].pdf | 2022-12-20 |
| 3 | 201911001912-FORM 1 [16-01-2019(online)].pdf | 2019-01-16 |
| 4 | 201911001912-FORM 3 [19-01-2021(online)].pdf | 2021-01-19 |
| 4 | 201911001912-DRAWINGS [16-01-2019(online)].pdf | 2019-01-16 |
| 5 | abstract.jpg | 2019-02-28 |
| 5 | 201911001912-FORM 3 [07-02-2020(online)].pdf | 2020-02-07 |
| 6 | 201911001912-REQUEST FOR CERTIFIED COPY [24-01-2020(online)].pdf | 2020-01-24 |
| 6 | 201911001912-FORM-26 [09-04-2019(online)].pdf | 2019-04-09 |
| 7 | 201911001912-Power of Attorney-120419.pdf | 2019-04-23 |
| 7 | 201911001912-COMPLETE SPECIFICATION [16-01-2020(online)].pdf | 2020-01-16 |
| 8 | 201911001912-DRAWING [16-01-2020(online)].pdf | 2020-01-16 |
| 8 | 201911001912-Correspondence-120419.pdf | 2019-04-23 |
| 9 | 201911001912-ENDORSEMENT BY INVENTORS [16-01-2020(online)].pdf | 2020-01-16 |
| 9 | 201911001912-Proof of Right (MANDATORY) [15-07-2019(online)].pdf | 2019-07-15 |
| 10 | 201911001912-Correspondence-180719.pdf | 2019-07-26 |
| 10 | 201911001912-OTHERS-180719.pdf | 2019-07-26 |
| 11 | 201911001912-Correspondence-180719.pdf | 2019-07-26 |
| 11 | 201911001912-OTHERS-180719.pdf | 2019-07-26 |
| 12 | 201911001912-ENDORSEMENT BY INVENTORS [16-01-2020(online)].pdf | 2020-01-16 |
| 12 | 201911001912-Proof of Right (MANDATORY) [15-07-2019(online)].pdf | 2019-07-15 |
| 13 | 201911001912-Correspondence-120419.pdf | 2019-04-23 |
| 13 | 201911001912-DRAWING [16-01-2020(online)].pdf | 2020-01-16 |
| 14 | 201911001912-COMPLETE SPECIFICATION [16-01-2020(online)].pdf | 2020-01-16 |
| 14 | 201911001912-Power of Attorney-120419.pdf | 2019-04-23 |
| 15 | 201911001912-FORM-26 [09-04-2019(online)].pdf | 2019-04-09 |
| 15 | 201911001912-REQUEST FOR CERTIFIED COPY [24-01-2020(online)].pdf | 2020-01-24 |
| 16 | 201911001912-FORM 3 [07-02-2020(online)].pdf | 2020-02-07 |
| 16 | abstract.jpg | 2019-02-28 |
| 17 | 201911001912-DRAWINGS [16-01-2019(online)].pdf | 2019-01-16 |
| 17 | 201911001912-FORM 3 [19-01-2021(online)].pdf | 2021-01-19 |
| 18 | 201911001912-FORM 18 [20-12-2022(online)].pdf | 2022-12-20 |
| 18 | 201911001912-FORM 1 [16-01-2019(online)].pdf | 2019-01-16 |
| 19 | 201911001912-PROVISIONAL SPECIFICATION [16-01-2019(online)].pdf | 2019-01-16 |
| 19 | 201911001912-FER.pdf | 2023-01-19 |
| 20 | 201911001912-STATEMENT OF UNDERTAKING (FORM 3) [16-01-2019(online)].pdf | 2019-01-16 |
| 20 | 201911001912-FER_SER_REPLY [19-07-2023(online)].pdf | 2023-07-19 |
| 1 | SearchE_18-01-2023.pdf |