+

WO2018161306A1 - Recommandation d'application - Google Patents

Recommandation d'application Download PDF

Info

Publication number
WO2018161306A1
WO2018161306A1 PCT/CN2017/076133 CN2017076133W WO2018161306A1 WO 2018161306 A1 WO2018161306 A1 WO 2018161306A1 CN 2017076133 W CN2017076133 W CN 2017076133W WO 2018161306 A1 WO2018161306 A1 WO 2018161306A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
user
query
data
clusters
Prior art date
Application number
PCT/CN2017/076133
Other languages
English (en)
Inventor
Xianchao WU
Keizo Fujiwara
Original Assignee
Microsoft Technology Licensing, Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing, Llc filed Critical Microsoft Technology Licensing, Llc
Priority to PCT/CN2017/076133 priority Critical patent/WO2018161306A1/fr
Priority to CN201780031432.0A priority patent/CN109313638B/zh
Publication of WO2018161306A1 publication Critical patent/WO2018161306A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0282Rating or review of business operators or products

Definitions

  • AI conversational chat programs are becoming more and more popular. These conversational chat programs, also referred to as “chatbots” , allow users to carry on conversations with a virtual entity.
  • an application such as a game application, a topic-related application, or the like may be activated during the conversation between a user and a chatbot. As more and more applications are released in the circumstance of the intelligent automated chatting, there may be a large number of applications appended to a chatbot.
  • Embodiments of the present disclosure provide a method for application recommendation through intelligent automated chatting.
  • a query is received in a conversation. Matching rates between the query and applications are scored.
  • the query is identified as being matched with a first application of the applications based on the matching rates.
  • the first application is recommended in the conversation.
  • Embodiments of the present disclosure provide a method for collecting information.
  • a plurality of user clusters are generated based on user data associated with a service, wherein a user cluster comprises a set of users and a set of key words, and a key word in the user cluster is appended with one or more sentence-level descriptions.
  • the plurality of user clusters are stored in a database.
  • Figure 1 illustrates an exemplary environment where the described techniques can be implemented according to an embodiment.
  • Figure 2 illustrates an exemplary system applying a chatbot according to an embodiment.
  • Figure 3 illustrates an exemplary user interface (UI) according to an embodiment.
  • Figure 4 illustrates an exemplary conversation between a chatbot and a user according to an embodiment.
  • Figure 5 illustrates a flowchart of an exemplary process for application recommendation according to an embodiment.
  • Figure 6 illustrates an exemplary user-application usage database according to an embodiment.
  • Figure 8 illustrates an exemplary collection of information from web data according to an embodiment.
  • Figure 9 illustrates an exemplary link of user data and web data according to an embodiment.
  • Figure 11 illustrates a flowchart of an exemplary process for updating key words of an application according to an embodiment.
  • Figure 15 illustrates an exemplary apparatus for information collection according to an embodiment.
  • Figure 1 illustrates an exemplary environment where the described techniques can be implemented according to an embodiment.
  • the network 110 may be any type of networks capable of interconnecting network entities.
  • the network 110 may be a single network or a combination of various networks.
  • the network 110 may be a Local Area Network (LAN) , a Wide Area Network (WAN) , etc.
  • the network 110 may be a wireline network, a wireless network, etc.
  • the network 110 may be a circuit switching network, a packet switching network, etc.
  • the terminal device 120 may be any type of computing device capable of connecting to the network 110, assessing servers or websites over the network 110, processing data or signals, etc.
  • the terminal device 120 may be a desktop computer, a laptop, a tablet, a smart phone, etc. Although only one terminal device 120 is shown in Figure 1, it should be appreciated that a different number of terminal devices may connect to the network 110.
  • the terminal device 120 may include a chatbot client 122 which may provide a chat service for a user.
  • the chatbot client 122 at the terminal device 120 may be an independent client application corresponding to the chatbot service provided by the chatbot server 140.
  • the chatbot client 122 at the terminal device 120 may be implemented in a third party application such as a third party instant messaging (IM) application. Examples of the third party IM message comprise MSN TM , ICQ TM , SKYPE TM , QQ TM , WeChat TM and so on.
  • IM instant messaging
  • the chatbot client 122 communicates with the chatbot server 140.
  • the chatbot client 122 may transmit messages inputted by a user to the chatbot server 140, and receive responses associated with the messages from the chatbot server 140.
  • the chatbot client 122 and the chatbot server 140 may be collectively referred to as a chatbot.
  • the chatbot client 122 and the chatbot server 140 may be collectively referred to as a chatbot.
  • the chatbot client 122 and the chatbot server 140 may be collectively referred to as a chatbot.
  • queries the messages inputted by the user
  • responses outputted by the chatbot
  • the query-response pairs may be recorded as user log data.
  • the chatbot client 122 may also locally generate responses to queries inputted by the player.
  • the application 124 may be implemented at an application server 130, which may be a third part application server. For example, while the application 124 is active during the conversation, a query from a user is sent to the application server 130 via the chatbot, and a response from the application server 130 is sent to the user via the chatbot.
  • the application 124 may be implemented at the chatbot server 140, and in this case an application module 142 may be implemented at the chatbot server 140.
  • Applications provided by the chatbot service provider and/or applications provided by third party application providers may be implemented at the application module 142.
  • the chatbot may call an application at the application module 142 in order to activate the application during the conversation.
  • Figure 2 illustrates an exemplary chatbot system according to an embodiment.
  • the system 200 may comprise a user interface (UI) 210.
  • the UI 210 may be implemented at the chatbot client 122, and provide a chat window for interacting between a user and the chatbot.
  • FIG. 3 illustrates an example of the UI 210.
  • a chat window 320 is displayed on a computing device 300.
  • the chat window 320 comprises a presentation area 322, a control area 324 and an input area 326.
  • the presentation area 322 presents queries and responses in a conversation between a user and a chatbot, which is represented by the icon 310.
  • the control area 324 includes a plurality of virtual buttons for the user to perform message input settings. For example, the user may make a voice input, attach image file, select emoji symbols, and make a short-cut of current screen, and so on through the control area 324.
  • the input area 326 is used for the user to input messages. For example, the user may type text through the input area 326.
  • the control area 324 and the input area 326 may be collectively referred to as input unit. The user may also make a voice call or video conversation with the AI chatbot though the input unit.
  • Rinna is the name of the AI chatbot, which may also be referred to as AI chat system.
  • the queries from the user are transferred to the query queue 232, which temporarily stores users’ queries.
  • the users’ queries may be in various forms including text, sound, image, video, and so on.
  • the core processing module 220 may take the messages or queries in the query queue 232 as its input. In some implements, queries in the queue 232 may be served or responded in first-in-first-out manner.
  • the core processing module 220 may invoke processing units in an application program interface (API) module 250 for processing various forms of messages.
  • the API module 250 may comprise a text processing unit 252, a speech processing unit 254, an image processing unit 256, etc.
  • the text processing unit 252 may perform text understanding on the text message, and the core processing module 220 may further determine a text response.
  • the speech processing unit 254 may perform a speech-to-text conversion on the speech message to obtain text, the text processing unit 252 may perform text understanding on the obtained text, and the core processing module 220 may further determine a text response. If it is determined to provide a response in speech, the speech processing unit 254 may perform a text-to-speech conversion on the text response to generate a corresponding speech response.
  • the API module 250 may comprise any other processing units.
  • the API module 250 may comprise a video processing unit for cooperating with the core processing module 220 to process a video message and determine a response.
  • the API module 250 may comprise a location-based processing unit for supporting location-based services.
  • An application recommendation module 280 in the system 200 may determine whether or not to recommend an application to a user in response to a query from the user. Taking the query “Rinna, how old are you” as an example, the application recommendation module 280 may determine that the user does not have an intention to activate an application, and only wants to have a small talk with the chatbot.
  • the core processing module 220 may determine a response through an index database 260.
  • the index database 260 may comprise a plurality of index items that can be retrieved by the core processing module 220 as responses.
  • the index items in the index database 260 may be classified into a question-answer pair index set 262 and a pure chat index set 264.
  • Index items in the question-answer pair index set 262 are in a form of question-answer pairs, and the question-answer pair index set 262 may comprise question-answer pairs associated with an application such as application 124.
  • Index items in the pure chat index set 264 are prepared for free chatting between the user and the chatbot, and may or may not be in a form of question-answer pairs.
  • question-answer pair may also be referred to as query-response pair or any other suitable terms.
  • the core processing module 220 may determine a response “second year of primary high school” through the pure chat index set.
  • the responses determined by the core processing module 220 may be provided to a response queue or response cache 234.
  • the responses in the response queue or response cache 234 may be further transferred to the user interface 210 such that the responses can be presented to the user in an proper order.
  • a user database 270 in the system 200 is used to record user data occurred in conversations between users and the chatbot.
  • the user database 270 may comprise a user log database 272 and a user-application usage database 274.
  • the user log database 272 may be used to record messages occurred in conversations between users and the chatbot.
  • the user log database 272 may be used to record user log data of pure chat.
  • the user log database 272 may be used to record not only the user log data of pure chat but also user log data occurred while an application is active.
  • the user log data may be in a query-response pair form, or may be in any other suitable form.
  • Figure 4 illustrates an exemplary chatting flow between a user and a chatbot according to an embodiment.
  • a query “Shiritori” is received by the chatbot from a user.
  • the chatbot specifically the application recommendation module 280, identifies that the query is matched with an application, and additionally identifies that there is no active application in the conversation currently.
  • the Shiritori application is activated, and the chatbot outputs a response to ask the user to choose a normal mode or hard mode for the Shiritori application.
  • the chatbot may output a message asking whether the user wants to activate the Shiritori application even when there is no current active application in the conversation. Either the direct activating of the application or the outputting of the asking message is an example of recommending the application performed by the chatbot.
  • the application recommendation module 280 sends the query to the current active Shiritori application and the conversation proceeds.
  • the user and the chatbot/Shiritori application input “like” , “keep” , “episode” , “decoder” , “error” , “orange” in turn during the shiritori game.
  • a query “I meet a lot with the girl living nearby” is received by the chatbot from the user.
  • the chatbot specifically the application recommendation module 280, identifies that the query is matched with an application, and identifies that there is an active application in the conversation currently.
  • the chatbot outputs a response for recommending the matched application, that is, “Oh, do you want to do “love diagnosis” ? ” .
  • the chatbot switches the current active application “Shiritori” to the recommended application “love diagnosis” .
  • a sentiment analysis module may be used to make a positive, negative or neutral judgement of user’s query based on user’s natural language style inputs.
  • the chatbot ends the current active application, that is, “We played 3 rounds of Shiritori. See you next time! ” , and activates the matched application, as shown in the Figure 4.
  • the chatbot may suspend the current active application while the newly matched application is active, and may resume the suspended application when the newly matched application is ended.
  • Figure 5 illustrates an exemplary process for recommending an application according to an embodiment.
  • the process 500 starts from 502, at which a chatbot receives a query from a user.
  • the query may also be received from an entity such as an intelligent system or an intelligent bot.
  • the query may be “Shiritori” or any message inputted from the user such as “normal” , “like” , “I meet a lot with the girl living nearby” , or the like, as shown in Figure 4.
  • the application recommendation module 280 is implemented as a machine learning module, which is trained by using user queries, trigger data of applications, user usage data of the applications, and optionally other suitable data.
  • each application has a set of keywords which are examples of trigger data.
  • the application recommendation module 280 computes the similarity scores based on the query, the trigger data of the applications and the user-application usage data stored in the user-application usage database 274.
  • the application recommendation module 280 identifies whether the query is matched with one of the applications based on the scores.
  • a threshold may be set for an application, and a matching decision may be made when the similarity score of the application is above the threshold. On the other hand, a not-matching decision may be made when the similarity score of the application is under the threshold.
  • the application recommendation module 280 may choose the application having the highest score to recommend.
  • the threshold of an application may be updated dynamically. Initially, the threshold may be set to be a relatively small value to obtain a better trigger rate of an application. During the usage of the application recommendation, the threshold may be improved to balance the precision and the trigger rate of application recommendation.
  • An exemplary process of updating a threshold of an application is shown as the following:
  • i. threshold threshold + alpha (e.g., alpha is set to be a float in the range of (0, 0.1))
  • threshold threshold –beta (e.g., beta is set to be a float in the range of (0, 0.1)) .
  • the expected precision value and the expected trigger rate value may be a predefined threshold. It should be appreciated the updating algorithm is for sake of illustration without any intention to limit the scope of the disclosure.
  • the process goes to 516 at which a recommendation for the matched application is outputted.
  • the recommendation may be presented as a question to ask whether the user wants to switch to the matched application.
  • the process goes to 520 at which the matched application is activated to become the current active application.
  • the user’s usage data of the current active application is recorded in the active data 620 of the user-application data base.
  • the active data 620 may be stored as the history data 610.
  • the schema of the history data and the active data are identical as shown in 630 and 640, the difference is that some information in the active data is in updating since the active application is still working. For example, the timestamp end information in the active data unit is not available until the current active application is ended.
  • the exemplary schema includes user ID, application ID, timestamp start, timestamp end, user query list, application statistics, application session data, is third-party application, application owner. It should be appreciated that more or less information elements may be applicable, and the disclosure is not limited to the specific schema 630.
  • the timestamp start and timestamp end indicate the start time and end time of the application (identified by application ID) used by the user (identified by user ID) .
  • the user query list includes the user’s inputted queries for this usage of the application. For example, for a cooking application, the user queries may be “how to cook spring roll” , “I want to make sushi” and so on inputted in this usage of the cooking application.
  • the application statistics include statistical information about this usage of the application, such as the number of rounds that the user played with “Shirotori” application.
  • Examples of the application session data include how many times this application was ended in a normal way, how many times this application was ended in an interrupted way (for example, the application is interrupted by another application) .
  • the application session data may be computed with respect to a single user and a single application in some implementations, and may also be computed with respect to a single application and all users in some other implementations.
  • the application session data may be updated periodically.
  • the element of is third part application indicates whether the application identified by the application ID is provided by a third party application provider.
  • the application owner indicates the application provider’s information, such as the third-party developer’s name or ID.
  • Maximum usage time (e.g., in seconds) of one application for current user or all users.
  • Averaged query length of user s queries for one application. For example, the longer the query is, the more the user is engaged in the current application.
  • the application a third-party application or not.
  • the weight of a third-party application may be enhanced if the third-party application developer pays money for that.
  • the third-party application developer may bid for special trigger words to help triggering their applications.
  • the similarity computing model may be implemented with machine learning algorithm.
  • An example of the machine learning algorithm may be a gradient boosting decision tree algorithm used to compute the similarity scores.
  • the statistical information of all the existing users may be used as features for computing the similarity scores for application recommendation.
  • the most popular applications which are used by most users or have relatively long usage time are likely to be recommended to the current user.
  • Each keyword in each cluster is appended with a list of one or more events.
  • An exemplary keyword “My Neighbor Totoro” in cluster 1 is shown at 710, the keyword “My Neighbor Totoro” is appended with two exemplary events “Rinna, I want to see the movie of “My Neighbor Totoro” ” and “Rinna, can you find the movie “My Neighbor Totoro” for me” shown at 712 and 714. It should be appreciated that there may be more or less events appended to a keyword.
  • user queries from the user data 702, which match a keyword of a cluster may be appended to the keyword of the cluster as the events, and users that sent the queries may be linked to the cluster.
  • a query “Rinna, I want to see the movie of My Neighbor Totoro” contains the keyword “My Neighbor Totoro”
  • the query is appended to the keyword as the event and accordingly the query as well as users that sent the query is linked with the cluster 1.
  • All the users that send queries containing the keyword of “My Neighbor Totoro” may be included in the cluster 1.
  • all the users that send queries containing the keyword of “One Piece” may be included in the cluster 1.
  • all the users that send queries containing any keyword of cluster 1 may be included in the cluster 1.
  • the user clustering model is designed to better understand the frequently used words and frequently attended events by large-scale users. And the information collected by the user clustering is helpful for application developers to develop new applications that fit for the habits of each group of users, so as to improve the engagement rate of the new developed applications.
  • Figure 8 illustrates an exemplary collection of information from web data according to an embodiment.
  • a LDA clustering model may be used at 804 to automatically cluster web data 802 into a plurality of clusters such as cluster 1 806, cluster 2 808 and so on.
  • the web data 802 may be from various web resources, examples of which may include social networks, knowledge-related website and so on.
  • Each cluster include a list of keywords, such as Star War, My Neighbor Totoro, ..., shown at 806 and Spring roll, sushi, ..., shown at 808. It should be appreciated that although two clusters are shown in the Figure, there may be a certain number of clusters, as discussed above.
  • Each keyword in each cluster is appended with a list of one or more events.
  • An exemplary keyword “My Neighbor Totoro” in cluster 1 is shown at 810, the keyword “My Neighbor Totoro” is appended with two exemplary events “ “My Neighbor Totoro” is a long animation movie produced by Studio Ghibli. ” and “ “My Neighbor Totoro” is directed by Hayao Miyazaki. ” shown at 812 and 814.
  • sentence level descriptions (such as sentences 812, 814 or sentences 818, 820) from the web data 802, which match a keyword of a cluster, may be appended to the keyword of the cluster as the events. As illustrated, the sentences 812 and 814 are appended to the keyword 810 in the cluster 1, and the sentences 818 and 820 are appended to the keyword 816 in the cluster 2.
  • Figure 9 illustrates an exemplary link of user clusters and web cluster according to an embodiment.
  • the same label numbers shown in Figures 7-9 denote same elements.
  • Similar clusters in these two lists of clusters may be unified. For example, as shown in Figure 9, if a keyword (e.g., “My Neighbor Totoro” 710) is shared by a cluster in the user cluster list (e.g., cluster 1 in the user cluster list) and a cluster in the web cluster list (e.g., cluster 1 in the web cluster list) , then the events (e.g., events 812, 814) appended to the keyword in the web cluster may be linked to the events appended to the keyword in the user cluster.
  • a keyword e.g., “My Neighbor Totoro” 710
  • the events e.g., events 812, 814
  • the disclosure builds new query-answer pairs by making use of the link of the user data and web data, where a query is from users and an answer is from the web.
  • a query-answer similarity score computing model is used to find high confidence answers from web data for queries from user data.
  • An exemplary algorithm of the model is as follows.
  • sim max (Qu, Sw) sim (Qu, Sw) ;
  • the sim (Qu, Sw) denotes the similarity score between Qu and Sw
  • sim max (Qu, Sw) denotes the maximum similarity score
  • a machine learning module for example, a gradient boosting decision tree, may be trained for computing the similarity score sim (Qu, Sw) , which indicates how good the answer sentence responds to a query.
  • the query Qu is an event in the user cluster Cu
  • the sentence Sw is an event in the web cluster Cw.
  • the threshold is a predefined value, an example of the threshold may be 0.5, where the sim (Qu, Sw) ranges from 0 to 1.
  • one best sentence Sw from the web cluster may be found for one query from the user cluster by using the above algorithm, however as a variation of the algorithm, the maximum similarity score sim max (Qu, Sw) is not considered, and all sentences from the web cluster having scores larger than the threshold may be taken as candidate answers for the query, therefore it’s possible that multiple sentences may be found from the web cluster as candidate answers for one query from the user cluster. It should be appreciated that the finding of candidate query-answer pairs may be performed periodically based on user data and web data.
  • the number of clusters may be in hundreds level, thousands level, tens of thousands level, or even millions level, therefore rich candidate query-answer candidate pairs may be found through the above process by using the link of the user data and web data.
  • the candidate query-answer pairs may be used to update applications.
  • Figure 10 illustrates an exemplary process for updating an application according to an embodiment.
  • the chatbot identifies a user query is matched with an application, similarly as the YES decision made at 506 of Figure 5.
  • the chatbot identifies whether there are sufficient available responses for the application.
  • a decision of insufficient available responses may be made if the number of the available responses for the application is smaller than a threshold. For example, for a movie topic related application, it may identify that the available responses are insufficient when the number of the available responses is smaller than the threshold, and it may further determine that the application may be updated by complementing movie data from web.
  • the query may be linked to a web cluster.
  • the link of the query and the web cluster may be implemented based on the keywords or events of the clusters. Taking the query “Rinna, can you find the movie “My Neighbor Totoro” for me” as an example, this query may be used to trigger a movie-related application at 1020, and may be linked to a web cluster related to movie topics.
  • the data obtained from the web cluster are appended to the application.
  • the user clusters and web clusters may also be used to drive idea collection about applications.
  • the web cluster list may be used to collect novel ideas for constructing new applications for the chatbot. For example, for one web cluster, there are quite a few keywords appearing in users’ log data and/or there is not a corresponding cluster from user cluster list, then the event sentences from the web may be used as materials or data resources for preparing new applications.
  • the type of an application may comprise a time-sensitive application, game-style application, functional application such as weather report application, image-based application, and other suitable types of application.
  • Figure 11 illustrate an exemplary process for updating key words of an application according to an embodiment.
  • the chatbot identifies a user query is matched with an application.
  • the chatbot recommends the application to the user.
  • the recommendation may be implemented as the process at 516 of Figure 5 when there is a current active application.
  • the recommendation may also be performed whenever the matching decision at 1110 is made, irrespective whether there is a current active application or not.
  • the chatbot receives user’s feedback in response to the recommendation of the application.
  • the chatbot may identify whether the user’s feedback is positive or negative, for example, by using a sentiment analysis module.
  • the chatbot may identify whether the application is ended normally.
  • the application is identified to be ended normally when the application is finished without interruption and/or the usage time of the application is above average usage time.
  • the average usage time may be average usage time of the application among multiple users, and may also be average usage time of the application by the current user.
  • the user query is added to the keyword list of the application as a new keyword of the application. Accordingly the keywords of the application may self-grow along with the usage of the application.
  • keywords of an application are not limited to a word-level keyword, actually the keywords of an application may be phase-level keywords, sentence-level keywords, or pattern-level keywords, which may be collectively referred to as trigger data of the application.
  • the user query may be added to the keyword list of the application at 1170 when determining a positive feedback to the recommendation is received at 1150, without considering whether the application is ended normally at 1160.
  • Figure 12 illustrates an exemplary process for application recommendation through intelligent automated chatting according to an embodiment.
  • a query is received in a conversation.
  • matching rates between the query and applications are scored.
  • the query is identified to be matched with a first application of the applications based on the scores.
  • the first application is recommended in the conversation.
  • the query may be added into trigger data of the first application in response to a positive answer to the recommendation. In some other implementations, the query may be added into the trigger data of the first application if the first application is finished without interruption and/or the usage time of the first application is above an average usage time.
  • the recommending the first application may be implemented by outputting a question about whether to activate the first application. In some implementations, the recommending the first application may be implemented by activating the first application.
  • the recommending the first application may be implemented by outputting a question about whether to switch from the second application to the first application.
  • a switch from the second application to the first application may be performed in response to a positive answer to the question.
  • the second application may be continued in response to a negative answer to the question.
  • usage data of the first application and/or the second application associated with the user may be recorded in a user-application usage database.
  • a second query is received while the first application is active.
  • a second response to the second query may be obtained from web data and presented to the user.
  • the second query and the second response may be appended to the first application, so as to update the first application’s query-response pairs.
  • it identifies that available query-response pairs for the first application are insufficient.
  • Candidate query-response pairs are appended to the first application, so as to update the first application’s query-response pairs. Queries of the candidate query-response pairs are from user data and responses of the pairs are from a web data.
  • the query is determined to be matched with the first application based on a matching rate between the query and the first application and a threshold of the first application.
  • the threshold of the first application may be updated based on the number of successful usages of the first application and the number of unsuccessful usages of the first application.
  • the matching rates between the query and the applications are scored based on the query, trigger data of the applications, and at least one of user-application usage data of the applications, user profile, monetary bid information of the applications, types of the applications, latent semantic scores between the query and the trigger data.
  • the user profile comprises user cluster information indicating which of a plurality of clusters the user belongs to, wherein each cluster includes a list of users and a list of keywords.
  • the user data may be clustered into a plurality of user clusters. For a key word in a user cluster, one or more sentence-level descriptions from one or more users in the user data are appended to the key word of the user cluster, and the one or more users are included in the user cluster.
  • the sentence-level descriptions of the key word of the web cluster are appended to the key word of the user cluster.
  • query-response pairs are obtained based on the plurality of user clusters and the plurality of web clusters. Queries of the pairs are from the user clusters and responses of the pairs are from the web clusters. Applications associated with the service may be updated by using the query-response pairs.
  • the user data may comprise at least one of user chatting log data and user-application usage data.
  • Information indicating recommendation of application development may be generated based on at least one of the user data (i.e., the historical user chatting log data and user-application usage data) and web data. For example, one or more web clusters which contain a number of keywords appearing in the user clusters are identified. One or more web clusters which do not correspond to any of the user clusters are identified. Therefore the information collection from at least one of the user data and the web data facilitates the application recommendation in one aspect and provides information for application development in another aspect.
  • Figure 14 illustrates an exemplary apparatus for application recommendation through intelligent automated chatting according to an embodiment.
  • the recommending module 1420 may recommend the first application by outputting a question about whether to activate the first application. In some implementations, the recommending module 1420 may recommend the first application by activating the first application.
  • the recommending module 1420 may identify a second application is active after identifying the query is matched with the first application.
  • the recommending module 1420 may recommend the first application by outputting a question about whether to switch from the second application to the first application.
  • the recommending module1420 may switch from the second application to the first application in response to a positive answer to the recommendation.
  • the recommending module 1420 may continue the second application in response to a negative answer to the recommendation.
  • the recommending module 1420 may perform any operations related to application recommendation according to the various embodiments as mentioned above in connection with Figures 1-13. It should be appreciated that the apparatus 1400 may also comprise any other modules configured for performing any operations of the methods for application recommendation according to the various embodiments as mentioned above in connection with Figures 1-13.
  • the apparatus 1500 comprises a generating module 1510 and a storing module 1520.
  • the generating module 1510 may generating a plurality of user clusters based on user data associated with a service.
  • a user cluster comprises a set of users and a set of key words, and a key word in the user cluster is appended with one or more sentence-level descriptions.
  • the storing module 1520 may store the plurality of user clusters in a database.
  • the system 1600 may comprise one or more processors 1610.
  • the system 1600 may further comprise a memory 1620 that is connected with the one or more processors 1610.
  • the memory 1620 may store computer-executable instructions that, when executed, cause the one or more processors 1610 to receive a query in a conversation, score matching rates between the query and applications, identify that the query is matched with a first application of the applications based on the matching rates, and recommend the first application in the conversation.
  • the memory 1620 may store computer-executable instructions that, when executed, cause the one or more processors 1610 to generate a plurality of user clusters based on user data associated with a service and store the plurality of user clusters in a database, wherein a user cluster comprises a set of users and a set of key words, and a key word in the user cluster is appended with one or more sentence-level descriptions.
  • the embodiments of the present disclosure may be embodied in a non-transitory computer-readable medium.
  • the non-transitory computer-readable medium may comprise instructions that, when executed, cause one or more processors to perform any operations of the processes according to the embodiments as mentioned above.
  • modules in the apparatuses described above may be implemented in various approaches. These modules may be implemented as hardware, software, or a combination thereof. Moreover, any of these modules may be further functionally divided into sub-modules or combined together.
  • processors have been described in connection with various apparatuses and methods. These processors may be implemented using electronic hardware, computer software, or any combination thereof. Whether such processors are implemented as hardware or software will depend upon the particular application and overall design constraints imposed on the system.
  • a processor, any portion of a processor, or any combination of processors presented in the present disclosure may be implemented with a microprocessor, microcontroller, digital signal processor (DSP) , a field-programmable gate array (FPGA) , a programmable logic device (PLD) , a state machine, gated logic, discrete hardware circuits, and other suitable processing components configured to perform the various functions described throughout the disclosure.
  • DSP digital signal processor
  • FPGA field-programmable gate array
  • PLD programmable logic device
  • a state machine gated logic, discrete hardware circuits, and other suitable processing components configured to perform the various functions described throughout the disclosure.
  • the functionality of a processor, any portion of a processor, or any combination of processors presented in the present disclosure may be implemented with
  • a computer-readable medium may include, by way of example, memory such as a magnetic storage device (e.g., hard disk, floppy disk, magnetic strip) , an optical disk, a smart card, a flash memory device, random access memory (RAM) , read only memory (ROM) , programmable ROM (PROM) , erasable PROM (EPROM) , electrically erasable PROM (EEPROM) , a register, or a removable disk.
  • RAM random access memory
  • ROM read only memory
  • PROM programmable ROM
  • EPROM erasable PROM
  • EEPROM electrically erasable PROM

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Mathematical Physics (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Artificial Intelligence (AREA)
  • Game Theory and Decision Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

La présente invention concerne un procédé de recommandation d'application basé sur des taux de correspondance entre une interrogation et des applications associées à un robot conversationnel. La présente invention concerne également un procédé de collecte d'informations à partir de données web et de données utilisateur comprenant notamment des données de journal de conversation en ligne et des données d'utilisation d'application de l'utilisateur. La collecte d'informations facilite la recommandation d'application selon un premier aspect et fournit des informations pour le développement d'application selon un second aspect.
PCT/CN2017/076133 2017-03-09 2017-03-09 Recommandation d'application WO2018161306A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2017/076133 WO2018161306A1 (fr) 2017-03-09 2017-03-09 Recommandation d'application
CN201780031432.0A CN109313638B (zh) 2017-03-09 2017-03-09 应用推荐

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/076133 WO2018161306A1 (fr) 2017-03-09 2017-03-09 Recommandation d'application

Publications (1)

Publication Number Publication Date
WO2018161306A1 true WO2018161306A1 (fr) 2018-09-13

Family

ID=63447070

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/076133 WO2018161306A1 (fr) 2017-03-09 2017-03-09 Recommandation d'application

Country Status (2)

Country Link
CN (1) CN109313638B (fr)
WO (1) WO2018161306A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3916733A1 (fr) * 2020-05-28 2021-12-01 Stichting IMEC Nederland Procédé, système et produit programme informatique pour adapter un logiciel d'application de gestion du stress aux besoins d'un utilisateur

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114374660B (zh) * 2020-10-15 2023-09-19 中国移动通信集团浙江有限公司 5g消息聊天机器人的推荐方法、装置、设备及存储介质
WO2024235001A1 (fr) * 2023-05-15 2024-11-21 广东美的厨房电器制造有限公司 Procédé et appareil de traitement d'informations de session, dispositif électronique et support de stockage lisible

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140278343A1 (en) * 2013-03-15 2014-09-18 Bao Tran Assistive agent
CN104836720A (zh) * 2014-02-12 2015-08-12 北京三星通信技术研究有限公司 交互式通信中进行信息推荐的方法及装置
US20150286709A1 (en) * 2014-04-02 2015-10-08 Samsung Electronics Co., Ltd. Method and system for retrieving information from knowledge-based assistive network to assist users intent
CN105446994A (zh) * 2014-07-11 2016-03-30 华为技术有限公司 业务推荐方法和具有智能助手的装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9821969D0 (en) * 1998-10-08 1998-12-02 Canon Kk Apparatus and method for processing natural language
EP1109119A3 (fr) * 1999-12-08 2005-09-28 Genesys Telecommunications Laboratories, Inc. Méthode et Appareil pour la réponse des requêtes
CN100530185C (zh) * 2006-10-27 2009-08-19 北京搜神网络技术有限责任公司 基于网络行为的个性化推荐方法和系统
CN101320375B (zh) * 2008-07-04 2010-09-22 浙江大学 基于用户点击行为的数字图书搜索方法
CN102083245A (zh) * 2009-11-30 2011-06-01 中国移动通信集团四川有限公司 一种智能终端,以及针对智能终端的协同服务方法和系统
US8812033B2 (en) * 2010-04-28 2014-08-19 Cellco Partnership Systems and method for recommending an application from a mobile station
CN102760128A (zh) * 2011-04-26 2012-10-31 华东师范大学 一种基于智能客服机器人交互的电信领域套餐推荐方法
CN102421062B (zh) * 2011-12-01 2014-05-07 中国联合网络通信集团有限公司 应用信息推送方法和系统
CN105474246A (zh) * 2013-07-31 2016-04-06 索尼公司 信息处理设备、信息处理方法和程序
CN103412757B (zh) * 2013-08-19 2017-08-01 南京大学 移动应用个性化集成框架的实现方法
CN103914548B (zh) * 2014-04-10 2018-01-09 北京百度网讯科技有限公司 信息搜索方法和装置
KR20160089152A (ko) * 2015-01-19 2016-07-27 주식회사 엔씨소프트 화행 분석을 통한 스티커 추천 방법 및 시스템
CN104951570A (zh) * 2015-07-27 2015-09-30 广州九尾信息科技有限公司 基于数据挖掘及lbs的兼职智能推荐系统
CN105631590A (zh) * 2015-12-25 2016-06-01 苏州贝多环保技术有限公司 一种基于智能终端的应聘系统
CN105677822A (zh) * 2016-01-05 2016-06-15 首都师范大学 一种基于对话机器人的招生自动问答方法及系统
CN105701182A (zh) * 2016-01-07 2016-06-22 百度在线网络技术(北京)有限公司 信息推送方法和装置
CN106294618A (zh) * 2016-08-01 2017-01-04 北京百度网讯科技有限公司 搜索方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140278343A1 (en) * 2013-03-15 2014-09-18 Bao Tran Assistive agent
CN104836720A (zh) * 2014-02-12 2015-08-12 北京三星通信技术研究有限公司 交互式通信中进行信息推荐的方法及装置
US20150286709A1 (en) * 2014-04-02 2015-10-08 Samsung Electronics Co., Ltd. Method and system for retrieving information from knowledge-based assistive network to assist users intent
CN105446994A (zh) * 2014-07-11 2016-03-30 华为技术有限公司 业务推荐方法和具有智能助手的装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3916733A1 (fr) * 2020-05-28 2021-12-01 Stichting IMEC Nederland Procédé, système et produit programme informatique pour adapter un logiciel d'application de gestion du stress aux besoins d'un utilisateur

Also Published As

Publication number Publication date
CN109313638B (zh) 2023-09-01
CN109313638A (zh) 2019-02-05

Similar Documents

Publication Publication Date Title
US11418471B2 (en) Automatic suggestions for message exchange threads
CN114503115B (zh) 生成丰富的动作项目
US11599729B2 (en) Method and apparatus for intelligent automated chatting
EP3809643B1 (fr) Fourniture proactive d'un nouveau contenu à des participants à une discussion de groupe
CN107391523B (zh) 多用户消息交互话题中提供用于与自动化助理交互的建议
US11792141B2 (en) Automated messaging reply-to
CA2886421C (fr) Systeme informatique et methodes de detection d'evenements pour un environnement de centre d'appels automatises
CN110892395A (zh) 提供增强的通信会话服务的虚拟助手
US20160307131A1 (en) Method, apparatus, and system for controlling delivery task in social networking platform
CN112463104A (zh) 具有会议功能的自动助理
US11341174B2 (en) Voice-based knowledge sharing application for chatbots
CN117219080A (zh) 用于在通信会话内生成个性化响应的虚拟助手
US12118576B2 (en) Distributing electronic surveys through a messenger platform
US9854098B2 (en) Electronic communication routing based data accuracy
WO2013177280A1 (fr) Système et procédé d'analyse et de réponse à un contenu généré par un utilisateur
GB2479825A (en) Customisation of consumer service level at a contact centre according to influence credentials on a social networking site, e.g. facebook
US11374894B2 (en) Confusion reduction in an online social network
JP6530573B1 (ja) メッセージ交換スレッドの拡張
JP2016015162A (ja) レコメンド装置、レコメンド方法及びレコメンドプログラム
WO2018161306A1 (fr) Recommandation d'application
JP2015005058A (ja) レコメンド装置、レコメンド方法及びレコメンドプログラム
CN112769673A (zh) 沟通记录的生成、推荐和展示方法及装置
Williams Modeling crowd feedback in the mobile app market
US10671618B2 (en) Curriculum creation using cognitive computing
CN113987374A (zh) 词云展示方法、装置、电子设备、介质及产品

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17899653

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17899653

Country of ref document: EP

Kind code of ref document: A1

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载