WO2019212729A1 - Generating response based on user's profile and reasoning on contexts - Google Patents

Generating response based on user's profile and reasoning on contexts Download PDF

Info

Publication number
WO2019212729A1
WO2019212729A1 PCT/US2019/027405 US2019027405W WO2019212729A1 WO 2019212729 A1 WO2019212729 A1 WO 2019212729A1 US 2019027405 W US2019027405 W US 2019027405W WO 2019212729 A1 WO2019212729 A1 WO 2019212729A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
vector
internal state
state vector
information
Prior art date
Application number
PCT/US2019/027405
Other languages
French (fr)
Inventor
Xianchao WU
Min Zeng
Li Zhou
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
Publication of WO2019212729A1 publication Critical patent/WO2019212729A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation
    • G06F40/56Natural language generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages

Definitions

  • a chatbot may be used as an interactive entrance for various kinds of products/applications through voice and/or text chat.
  • groups such as groups established based on QQ, Facebook, Linkedln, Wechat, Line, Slack, in a social network.
  • groups may be interest groups (e.g., film groups, food groups, travel groups, music groups, etc.), working groups (e.g., a team belonging to a department of some company, or some people from different companies), friend groups, classmate groups or even family groups with family relationships.
  • a chatbot may be introduced into such "group chatting"
  • the chatbot may play a positive role, may summarize topics and viewpoints of chatting and promote the progress of the chatting, and may provide real-time online information services actively.
  • the present disclosure discloses a technique of generating response based on user’s profile and reasoning on contexts to create a chatbot for group chatting, and provide a solution for the diversity of topics in group chatting and the unpredictability of user’s queries and replies.
  • FIG. 1 is an exemplary block diagram showing an AI chatting system
  • FIG. 2 is a schematic block diagram of an exemplary group chatting interface
  • FIG. 3 is an exemplary block diagram of a profile of user wiki of an exemplary celebrity of "George Washington";
  • FIG. 4 is an exemplary block diagram of a user’s wiki profile used for "Bill Gates" in Linkedln;
  • FIG. 5 is a schematic flowchart showing an exemplary extracting process for a profile of user wiki
  • Fig. 6 is an exemplary block diagram of a user’s tweet
  • Fig. 7 is a schematic block diagram of an exemplary implementation of a key -value pair profile classifier
  • FIG. 8 is a schematic view showing a structure of an exemplary neural network device for processing a lifecycle state of a topic
  • Fig. 9 schematically describes a schematic block diagram of a classification model implemented with a four-layer neural network
  • Fig. 10 is an exemplary block diagram of a concept-based knowledge graph
  • FIG. 11 is an exemplary structural block diagram of a reasoning-based reply generating model
  • Fig. 12 is a schematic structural diagram showing an exemplary reasoning-based reply generating device
  • Fig. 13 is a structural block diagram of an exemplary mobile electronic apparatus.
  • Fig. 14 is a structural block diagram of an exemplary computing apparatus.
  • the term "technique”, as cited herein, for instance, may refer to system(s), method(s), computer-readable instructions, module(s), algorithms, hardware logic (e.g., Field-programmable Gate Arrays (FPGAs), Application-specific Integrated Circuits (ASICs), Application-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs)), and/or other technique(s) as permitted by the context above and throughout the document.
  • FPGAs Field-programmable Gate Arrays
  • ASICs Application-specific Integrated Circuits
  • ASSPs Application-specific Standard Products
  • SOCs System-on-a-chip systems
  • CPLDs Complex Programmable Logic Devices
  • Group chatting for example, chatting in interest groups, friend groups, family groups, and any kind of short-term or long-term activity groups
  • SNS social networking service
  • QQ social networking service
  • Facebook For example, in a social networking service application of QQ, there are millions of groups created by users of QQ, and the number of monthly active users is about 860 millions.
  • chatbots are being designed for group chatting so as to provide the following functions including (1) providing emotional messages so as to facilitate people in a group in communicating with one another in a smoother way; and (2) providing required information in real time through unpredictable requests.
  • the first function is focused on "just chatting”
  • the second function is focused on providing online services (for example, bookings for travelling, recommendation on commodities and the like).
  • topics may be diverse and often parallel with one another. Each topic may be of interest to different user groups in this group chatting, and each topic may be related to other topics. If one-to-one chatting is regarded as a " single-thread chatting", i.e., only one user’s query and one topic exist at the same time, a group chatting may be more like a "multi-thread chatting", i.e., a plurality of active topics, a plurality of active users and possible relationships among them (among the topics, among the users, and between the topics and the users) exist at the same time.
  • chatbot used for a group chatting may have to deal with in the following.
  • Non-consecutive user’s queries from each user ID also referred as user’s statements or user’s questions.
  • user’s queries from other users may be sent to the group chatting in an unpredictable way before the relevant replies with respect to the user’s query prepared by the chatbot are ready.
  • the user’ query from one user may be a "reply" to the user’s query as question from another user.
  • the user’ queries under such topic may play different “roles", such as beginning of the topic, extension of the topic, positive/negative comments on the topic, execution of the topic, ending of the topic and comments of the topic. These "roles” may show different states of the topic. It may be very important to recognize/distinguish the "role” played by the user’s query under one topic.
  • a "question-answer” relationship in the current group chatting may be used to facilitate the collection on training data of a machine learning model for the group chatting.
  • the machine learning model may be used to automatically detect user’s queries for questioning and replies with respect to the queries for questioning based on the conversation in the current group chatting.
  • chatbot may store related information of the topics, and access the stored information on another topic to retrieve the correlation between the another topic and the topic currently handled by the chatbot upon dealing with this topic so as to generate a reply more suitable for the conversation in the current group chatting.
  • Perceptible information of chatbot may include a timestamp, a user ID/chatbot ID, a user query, etc. It may be necessary for the chatbot to recognize the above information, i.e., to recognize the timing for providing the corresponding replies, the users to which the corresponding replies are made, and the topic under which the corresponding replies are made.
  • the embodiments of the present disclosure provides an exemplary block diagram 100 of the AI chatting system shown in Fig. 1.
  • a user interface 101 of a partner may be used to receive user queries, and the user interface 101 cited herein may be the user interfaces provided by the partner (e.g., an existing social network, Facebook, Wechat, Line, Linkedln, and Slack), or a self-developed user interface, e.g., a user interface based on a mobile terminal or a PC terminal).
  • the partner e.g., an existing social network, Facebook, Wechat, Line, Linkedln, and Slack
  • a self-developed user interface e.g., a user interface based on a mobile terminal or a PC terminal.
  • Fig. 2 which is a schematic block diagram 200 of an exemplary group chatting interface.
  • the speaker on the left is not limited to one user or one chatbot, but may be a plurality of users and one chatbot, or a plurality of users and a plurality of chatbots.
  • a chatbot for example, with the name of "Xiaolce”
  • the user (or “Me) on the right may be a user participating in the group chatting, and the user interface is shown in a view of "Me”.
  • the chatbot of "Xiaolce” may make replies to the user query of each user in an active way.
  • the chatbot of "Xiaolce” may use different names in different countries.
  • Xiaolce or “ ⁇ zK” may be used as a name of the chatbot in China
  • Ro or "ig 3 ⁇ 4" may be used as a name of the chatbot in Japan and Indonesia
  • Zo may be used as a name of the chatbot in the United States
  • Ruuh may be used as a name of the chatbot in India, etc.
  • the user may input texts, send pictures, select emoticon symbols and make screenshots of the current screen, and so on.
  • the user may initiate a voice call or a video call with the AI chatting system.
  • the user inputs a sentence of "Xiaolce, how old are you", which may be transmitted to a user query queue 118 as a user query.
  • the user query queue 118 may store user queries in a format of multimedia (which may include formats of text, voice, image, video, etc.).
  • the AI chatting system may be different in processing different multimedia inputs.
  • a chatting text processing worker 121, a voice processing worker 122 and an image processing worker 123 may be provided for texts, voices and images in chatting, respectively, and the three processing units may call a text
  • the above-mentioned workers may be implemented as program modules, routines, threads, processes and the like as needed.
  • the core worker 119 shown in Fig. 1 may use the user query queue 118 as the input thereof, and perform processing on user queries in the user query queue 118 in a first-in-first-out manner to generate replies.
  • the core worker 119 may call the workers one by one to perform processing related to the user queries.
  • the core worker 119 may call the chatting text processing worker 121 to perform processing on user queries in the form of texts.
  • the core worker 119 may call the text understanding API 124 to perform processing on chatting context information.
  • the chatting text processing worker 121 may include a plurality of service units other than a chatting text processing function, such as a time service unit, which may generate an alarm reminder for user queries such as "Please remind me to go to an HR meeting at six o'clock", and a weather service unit, which may be configured to provide replies on weather information for user queHries such as "Will it rain tomorrow?" and "Do I need an umbrella if I fly to Beijing tomorrow? "
  • a time service unit which may generate an alarm reminder for user queries such as "Please remind me to go to an HR meeting at six o'clock”
  • a weather service unit which may be configured to provide replies on weather information for user queHries such as "Will it rain tomorrow?" and "Do I need an umbrella if I fly to Beijing tomorrow?
  • the voice recognizing API 125 may be configured to perform speech-to-text conversion tasks.
  • the voice processing worker 122 may request the chatting text
  • the processing worker 121 may perform processing such as language understanding, request analyzing and reply generating. After the chatting text processing worker 12 generates a reply text and returns the reply text to the voice processing worker 122, the voice processing worker 122 may perform text-to-voice conversion and generate a voice output hearable to users.
  • the image recognizing API 126 may roughly recognize the kind/color of a dog, and output the recognized information in the form of text, and then, the image processing worker 123 may generate a reply according to these image recognizing information in the form of text.
  • corresponding replies may be generated directly from images without calling the image processing worker 123 to perform processing of reply generating.
  • workers other than the basic workers described above may be further inserted so that the structure is extensible.
  • a location processing worker may be inserted so that the location processing worker may easily support services based on locations. For example, if there are user queries such as "Order a pizza to my office” and "Remind me if I approach the supermarket when I am near home", location information may be introduced into processing of generating replies so as to provide more flexible replies.
  • the core worker 119 may transmit the reply to a reply queue 120 and/or place the reply in a buffer 127.
  • the buffer 127 and a proactive worker 128 may be configured to prepare a sequence of replies in advance, so as to be able to present the sequence of replies to the user in a predetermined time stream. For a user query, if there are no more than two replies generated by the core worker 119, it may be necessary to perform settings on latency for these replies.
  • the AI chatting system may generate two replies, in which the first one is "Yes, I have had bread", and the second one is "And you? Are you still hungry?", it may be necessary to present the first reply to the user immediately, and the latency may be to 2 seconds for the second reply, and the timing for putting the second reply into the reply queue 120 may be controlled by the proactive worker 128. Therefore, the second reply may be presented to the user in 2 seconds since the first reply is presented to the user.
  • the buffer 127 and the proactive worker 128 may manage these replies to be sent, the identity of user and the latency of each reply all together.
  • a responder worker 103 may select an optimal reply from the reply queue 120, and then, call a reply API 102 of a partner to present the generated reply to the user by providing the generated reply to a user interface 101 of the partner.
  • FIG. 1 the following core processing modules of embodiments of the present disclosure may be shown in Fig. 1.
  • a user wiki generating module 109 may be configured to extract a user wiki 112 from an existing chatting log database 106 by using a user wiki constructing algorithm.
  • the user wiki generating module 109 may further extract the user wiki 112 from public information related to the user on a social network.
  • a topic lifecycle state classifying module 108 may be configured to detect a topic lifecycle state 111 from a current conversation 105 by adopting a topic lifecycle state classifying algorithm.
  • a knowledge graph extracting module 107 may be configured to obtain a common field knowledge graph 110 from knowledge on internet 104 by using a knowledge graph extracting algorithm.
  • a reasoning-based reply information generating module 114 may be configured to combine the user wiki 112, the topic lifecycle state 111 and the common field knowledge graph 110, and apply the same in the processing of reply generating so as to generate an optimal reply for the current group chatting.
  • the present disclosure may further provide a direct deep question-answer (QA) function based on the user wiki 112 and the common field knowledge graph.
  • QA direct deep question-answer
  • a direct question may be "Xiaolce, do you know the name of my pet?”
  • the reply may be "Joy, you told me last week", which is a deep question-answer function based on the user wiki.
  • another question may be "Xiaolce, who was the first president of the United States?”, and the reply is "George Washington”, which is a direct deep question-answer function based on the common field knowledge graph.
  • the user wiki extracting is to construct a user profile in the form of wiki based on the following information sources:
  • Fig. 3 is an exemplary block diagram 300 of a profile of user wiki of an exemplary celebrity of "George Washington”
  • the wiki profile shown in Fig. 3 is provided in the form of key -value pair information.
  • keys in the key -value pair information may correspond to some entities involved in user attributes, such as birth information, residence place, and owned honors.
  • Values in the key-value pair information may correspond to related information, such as "February 22, 1732"
  • Fig. 4 is an exemplary block diagram 400 of a profile of user wiki used for "Bill Gates" in Linkedln.
  • FIG. 5 shows a schematic flowchart 500 showing an exemplary extracting process for a profile of user wiki.
  • the embodiments of the present disclosure provides a data collecting method and a machine learning model (the key-value pair profile classifier 505 in Fig. 5).
  • the data collecting method is shown in Fig. 5.
  • the processing S501 to S505 is shown on the left. More particularly, the processing of S501 to S503 is configured to collect training data for training the key-value pair profile classifier 505, and the collected data of S504 may be used as input data of the key-value pair profile classifier 505 together with the chatting log of the user.
  • two kinds of information in the social network are mainly used.
  • One kind of such information is profile information which may be knowledge information (e.g., Wikipedia) or public information of user accounts (such as a profile information illustrated in Fig. 3 or Fig. 4 ) provided by the social network and may be regarded to be authentic so as to be used as a fact basis.
  • the other kind of such information may be content information, i.e., information which the users post on the social network, such as posts on tweets and Facebook.
  • S501 acquiring key-value pair information from profile information of the social network.
  • some key -value pair information may be acquired from profiles of user wiki of Google+, Linkedln, Facebook and other social networks, and such key -value pair information may be used as a basic fact.
  • S502 acquiring content information of the social network containing values in the key -value pair information obtained in the processing procedure 501. For example, in this step of S502, tweets of Bill Gates containing "Harvard University" may be acquired. These tweets may be used as positive examples.
  • S503 parsing a syntactic dependency of the content information of the social network acquired in the processing of S 502 and extracting structural features (such as an n-gram dependency arc) to generate feature training data for training the key -value pair profile classifier.
  • S504 training the machine learning classifier by using the training data generated in the processing of S503 to generate a key-value pair profile classifier.
  • the machine learning classifier may be trained to generate the key -value pair file classifier.
  • the key-value pair profile classifier may be continuously trained according to the results acquired by online processing, so that the processing on data by the key -value pair profile classifier may be more accurate.
  • the above-mentioned processing of S501 to S503 may complete a training process for the key-value pair profile classifier 506, and may further acquire some sets of keys,
  • S505 acquiring key -value pair information related to a user from content information of the social network of the user.
  • the key-value pair information may be acquired from the content information posted on, for example, tweets, Facebook and Linkedln by the user according to a determined set of keys and entity transition rule.
  • the entity transition rule cited in the embodiments of the present disclosure is to apply a correspondence rule or structural features or the like between the determined key-value pair information of the user (e.g., the wiki profile information of the celebrity mentioned above) and the content information of the social network of the user (e.g., tweets posted by the celebrity) to the social network, and perform extension based on a seed user, so as to extract more key -value pair information.
  • S506 inputting the key-value pair information acquired in the processing of S505 and chatting logs of the user into the key-value pair profile classifier, and outputting an accuracy rate of assigning the key -value pair information to the user as a profile of user wiki.
  • Fig. 6 which is an exemplary block diagram 600 of a user’s tweet according to embodiments of the present disclosure, with the analyzing on a tweet with the name of Steven, who uses an expression "I want to go to USC, too” in the tweet, and USC is recognized as a name of a university.
  • An expression of "go to USC" similarly with a tweet of some known user may be used in the tweet with the name of Steven, and the wiki profile information of the known user may contain a key -value pair such as
  • the key-value pair information of "university-USC” may be assigned to the user, Steven, on the basis of an "entity transition rule".
  • the user wiki profile based on the entity transition rule cannot be trusted for 100%, and thus it is necessary to use the trained key -value pair profile classifier to train the accuracy rate of the profile of user wiki for assigning the key -value pair information of "university-USC” to the user, Steven, and finally it may be confirmed whether or not the key-value pair information is accepted according to the accuracy rate.
  • the input data of the key -value pair profile classifier 701 may be key-value pair information 702 and a chatting log 703 of the user, and the key-value pair profile classifier may output the accuracy rate 704 for assigning the key-value pair information 702 to the user (the key-value pair information may be used as the accuracy rate of the profile of user wiki), and extended training data 705, which may further train the key -value pair profile classifier 701 to improve the accuracy of the key -value pair profile classifier 701.
  • feature extraction may be performed to generate feature vectors, and then the feature vectors are input into the key-value pair profile classifier 701.
  • the input data of the key -value pair profile classifier 701 may be, for example, ⁇ user (user information), key (a key in the key -value pair information), value (a value in the key -value pair information), user log (a conversation log acquired from individual or group chatting), and user social networks (social network information of a user)>.
  • the accuracy rate for assigning the key -value pair information ⁇ key, value> to a current user as a wiki profile is output. For example, if the accuracy rate is greater than 0.5, it may be considered that the wiki profile may be used as the wiki profile of the user.
  • the feature templates may include the following sets of features, and various feature items in the set of features may be arbitrarily combined. That is to say, one of or a combination of the feature items may be selected to form a feature template.
  • a multilayer recurrent neural network is trained to classify lifecycle states of a topic.
  • the lifecycle of a topic may be classified into a plurality of potential time-sensitive states, such as "start, grow or degenerate, finish or canceled, post-discussion".
  • the lifecycle of the topic may be changed from one state to a next state. For example, the following two examples are used to show these states.
  • Chatbot OK, booked and here is a brief introduction in video of the movie.
  • topic detection and the lifecycle state of the topic may facilitate to guide the chatbot to make the subsequent replies and summarize headlines of the long period of chatting which may be shown to the user if required.
  • the range of available topics may be obtained by some knowledge graphs.
  • the number of lifecycle states of topics may be set as needed, and analyzing on positive/negative comments may be performed by using fine-grained sentiment analysis system.
  • a hierarchical recurrent neural network may be used to encode conversation information and the encoded embedded vectors obtained by encoding conversation may be projected to a list of a candidate state by a Softmax function.
  • Fig. 8 is a schematic view showing a structure of an exemplary neural network device for processing a lifecycle state of a topic
  • the neural network device may include an input layer processing module 801, an intra-sentence RNN layer processing module 802, an inter-sentence RNN layer processing module 803, and a Softmax function processing module 804.
  • the input layer processing module 801 may be configured to vectorize each word in a plurality of sentences in a conversation to generate word vector representations of the sentences.
  • the intra-sentence RNN layer processing module 802 may be configured to perform processing on the word vector representations of a plurality of sentences to generate sentence vector representations of the whole sentences.
  • the inter-sentence RNN layer processing module 803 may be configured to perform processing on a plurality of sentence vector representations output by an intra-sentence RNN layer to output a conversation vector representation of the
  • the Softmax function processing module 804 may be configured to determine a state probability corresponding to each title in a given list of lifecycle states according to the conversation vector representation.
  • FIG. 9 which schematically describes a schematic block diagram 900 of a classification model implemented with a four-layer neural network
  • each rectangle represents a vector
  • the arrow represents functions such as matrix vector multiplication.
  • Vectors of each layer as shown in Fig. 9 may be generated by various modules as shown in Fig. 8.
  • an input layer 901 the processing on the data of this layer may be performed by the input layer processing module 801 in Fig. 8.
  • each word in a plurality of sentences (shown by sentence 1 to sentence m in the figure) in a conversation is vectorized to generate a word vector representation of the sentence.
  • the input layer may be represented as a set of vectors, Input X:
  • xl to xm are word vector representations corresponding to sentence 1 to sentence m
  • tl to tm refer to topics corresponding to each sentence
  • the word vector representations corresponding to each sentence may include a plurality of vectors (or a matrix composed of a plurality of vectors).
  • the word vectors corresponding to sentence 1 may include vectors W 1, 1 to Wl,nl
  • the word vectors corresponding to a sentence 2 may include vectors W2,l to W2,n2
  • the word vectors corresponding to a sentence m may include vectors Wm,l to Wm,nm.
  • the processing may be performed by the intra-sentence RNN layer processing module 802 shown in Fig. 8.
  • the intra-sentence RNN layer is configured to embed the whole sentence into vectors.
  • Bi-directional recurrent RNN processing may be adopted for each sentence in the intra-sentence RNN layer, and the formula may be represented as follows:
  • Whh, Wxh and bh are the transformation parameters for the transformation from the input layer 901 to the intra- sentence RNN layer 902, and the vector Ht may be regarded as a context vector representation generated in calculation of each round, and the vector Xt corresponds to a word vector in the sentence used in calculation of each round.
  • “t” may be set to be a number of steps used to expand loop rounds, and the vector Ht is a final vector generated by the processing of the intra-sentence RNN layer 902. It should be noted that loop operations are performed in two directions, i.e., from left to right and from right to left. Therefore, the vector HT is a result formed by concatenation of the vectors in two directions:
  • an inter-sentence RNN layer 903 the processing may be performed by the inter-sentence RNN layer processing module 803 shown in Fig. 8.
  • This layer may be configured to obtain a dense vector representation of the whole conversation.
  • a vector Ht is still obtained from the former layer as input, and bi-directional recurrent RNN processing may be used to generate vector representations Gl to Gm corresponding to each sentence, and then the vectors Gl to Gm are jointed to generate a vector J corresponding to the whole
  • the vector J generated by the inter-sentence RNN layer 903 is input into a Softmax function to generate a list of state probabilities (with m topics in total) of topic Tl to topic Tm.
  • each topic T may correspond to k states, and each state may correspond to a probability value pi. Therefore, “i” may be from (1, 1) to (m, k), and the list of state probabilities output by the Softmax function may be a probability value matrix of mxk.
  • the knowledge map used herein is mainly a
  • Fig. 10 is an exemplary block diagram 1000 of a concept-based knowledge graph according to embodiments of the present disclosure.
  • a plurality of images are used to intuitively show concepts, such as train, dog, cat, mouse, window, IE.
  • a node in Fig. 10 may be a "concept" corresponding to an object in a real-world, which is visible or only in mind. For example, “dog” is such a visible concept while “economy” is not in a directly visible form, but a concept that may only be inferred in mind.
  • one edge in Fig. 10 may be the description on the relationship of a "predicate form” or an “attribute form” between two nodes in the figure.
  • Fig. 11 is an exemplary structural block diagram 1100 of a reasoning-based reply generating model according to embodiments of the present disclosure
  • the reasoning-based reply generating model may use an attention function fl to perform iterative processing on a storage vector M (a vector generated based on an external storage source) for multiple rounds, so as to generate an optimal reply.
  • a storage vector M a vector generated based on an external storage source
  • An external storage may be represented as a storage vector M upon being vectorized.
  • mi is a vector representation of each word or knowledge.
  • These vector representations are derived from vectorization encoding on external knowledge, context and the like by a bidirectional RNN encoder.
  • the storage vector M may come from four storage sources, and each storage source may specifically be a list of word vectors representing related word sequences or dependency relationship arcs.
  • the external storage sources may include: a user wiki profile storage 1105, a conversation storage 1106, a topic lifecycle state storage 1107, and an open field knowledge graph 1108, and description has been made on these storage sources in the previous part of the present disclosure.
  • the attention vector Xt may be generated by an attention function fl based on a current internal state vector St and a storage vector M, and the functional relationship may be represented as follows:
  • the initial state Sl may be the last word vector representation of a user query input by a user, and the tth time step of the internal state vector may be represented as St.
  • the sequence of internal state vectors may be modeled with RNN, and the functional relationship may be expressed as follows:
  • Xt may be the attention vector described above.
  • Reply information generating module 1104 may start its operations upon a termination gate variable is true, and generate sentence as a reply word by word by using a RNN decoder.
  • the functional relationship of the reply information generating module 1104 may be expressed as follows:
  • “at” may represent the tth word in the reply
  • function f3 is an RNN decoder
  • function p may represent a Softmax function configured to output the probability distribution of each candidate word in the reply.
  • two sigmoid functions may be used in the present disclosure to calculate the two states including intention state 1102 and reply state 1103.
  • the reply state 1103 is“yes” for a reply, and is“no” for no reply.
  • f5 sigmoid(W5*f4+b5)
  • W5 and b5 are parameters of a linear combination model
  • W5 is a mapping matrix parameter
  • b5 is an offset parameter.
  • the above-mentioned reasoning-based reply generation model may be implemented as a reply generating device.
  • the reasoning-based reply generating device may include an attention model processing module 1201, an internal state vector generating module 1202, and a logistic regression discriminating module 1203, the attention model processing module and the internal state vector generating module may perform iterative processing on internal state vectors for multiple rounds under the control of the logistic regression discriminating module.
  • the attention model processing module 1201 may be configured to generate an attention vector of a current round according to an internal state vector of the current round and an external storage vector.
  • the internal state vector generating module 1202 may be configured to generate an initial internal state vector at least according to a user query vector, and generate the internal state vector of the current round at least according to an internal state vector of the former round and the attention vector of the current round. More particularly, the processing of the internal state vector generating module may further include: generating an initial internal state vector according to a user query vector, an initial intention state vector generated based on the user query vector and an initial reply state vector, and generating an internal state vector of the current round according to an internal state vector of the former round and an attention vector of the current round generated based on the internal state vector of the former round.
  • the intention state vector may include information about emotional concern and/or task orientation. Loop iterative processing may be performed between the attention model processing module 1201 and the internal state vector generating module 1202 for a plurality of rounds until the logistic regression discriminating module 1203 determines that a termination condition is met.
  • the logistic regression discriminating module 1203 may be configured to discriminate the internal state vector of the current round to determine whether or not to terminate the iterative processing.
  • the reasoning-based reply generating device may further include a reply information generating module 1204 configured to generate reply information according to the internal state vector of the final round when the iterative processing is terminated.
  • the reasoning-based reply generating device may further include a storage vector generating module 1205 configured to generate the external storage vector according to one of or a combination of a plurality of user wiki storage data, conversation content storage data, conversation topic storage data and open field knowledge storage data.
  • a storage vector generating module 1205 configured to generate the external storage vector according to one of or a combination of a plurality of user wiki storage data, conversation content storage data, conversation topic storage data and open field knowledge storage data.
  • the electronic apparatus may be a mobile electronic apparatus, or an electronic apparatus with less mobility or a stationary computing apparatus.
  • the electronic apparatus according to embodiments of the present disclosure may at least include a processor and a memory.
  • the memory may store instructions thereon and the processor may obtain instructions from the memory and execute the instructions to cause the electronic apparatus to perform operations.
  • one or more components or modules and one or more steps as shown in Fig. 1 to Fig. 12 may be implemented by software, hardware, or in combination of software and hardware.
  • the above component or module and one or more steps may be implemented in system on chip (SoC).
  • Soc may include: integrated circuit chip, including one or more of processing unit (such as center processing unit (CPU), micro controller, micro processing unit, digital signal processing unit (DSP) or the like), memory, one or more communication interface, and/or other circuit for performing its function and alternative embedded firmware.
  • processing unit such as center processing unit (CPU), micro controller, micro processing unit, digital signal processing unit (DSP) or the like
  • memory such as center processing unit (CPU), micro controller, micro processing unit, digital signal processing unit (DSP) or the like
  • DSP digital signal processing unit
  • the electronic apparatus 133 may be a small portable (or mobile) electronic apparatus.
  • the small portable (or mobile) electronic apparatus may be e.g., a cell phone, a personal digital assistant (PDA), a personal media player device, a wireless network player device, personal headset device, an IoT (internet of things) intelligent device, a dedicate device or combined device containing any of functions described above.
  • the electronic apparatus 1300 may at least include a memory 1301 and a processor 1302.
  • the memory 1301 may be configured to store programs. In addition to the above programs, the memory 1301 may be configured to store other data to support operations on the electronic apparatus 1300.
  • the examples of these data may include instructions of any applications or methods operated on the electronic apparatus 1300, contact data, phone book data, messages, pictures, videos, and the like.
  • the memory 1301 may be implemented by any kind of volatile or nonvolatile storage device or their combinations, such as static random access memory (SRAM), electronically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, disk memory, or optical disk.
  • SRAM static random access memory
  • EEPROM electronically erasable programmable read-only memory
  • EPROM erasable programmable read-only memory
  • PROM programmable read-only memory
  • ROM read-only memory
  • magnetic memory magnetic memory
  • flash memory disk memory
  • disk memory or optical disk.
  • the memory 1301 may be coupled to the processor 1302 and contain instructions stored thereon.
  • the instructions may cause the electronic apparatus 1300 to perform operations upon being executed by the processor 1302, the operations may include:
  • the electronic apparatus 1300 may perform corresponding functional logics as a host and/or a switch in a distributed system.
  • the electronic apparatus 1300 may further include: a communication unit 1303, a power supply unit 1304, an audio unit 1305, a display unit 1306, chipset 1307, and other units. Only part of units are exemplarily shown in Fig. 13 and it is obvious to one skilled in the art that the electronic apparatus 1300 only includes the units shown in Fig. 13.
  • the communication unit 1303 may be configured to facilitate wireless or wired communication between the electronic apparatus 1300 and other apparatuses.
  • the electronic apparatus may be connected to wireless network based on communication standard, such as WiFi, 2G, 3G, or their combination.
  • the communication unit 1303 may receive radio signal or radio related information from external radio management system via radio channel.
  • the communication unit 1303 may further include near field communication (NFC) module for facilitating short-range communication.
  • NFC near field communication
  • the NFC module may be implemented with radio frequency identification (RFID) technology, Infrared data association (IrDA) technology, ultra wideband (UWB) technology, Bluetooth (BT) technology and other technologies.
  • RFID radio frequency identification
  • IrDA Infrared data association
  • UWB ultra wideband
  • Bluetooth Bluetooth
  • the power supply unit 1304 may be configured to supply power to various units of the electronic device.
  • the power supply unit 1304 may include a power supply management system, one or more power supplies, and other units related to power generation, management, and allocation.
  • the audio unit 1305 may be configured to output and/or input audio signals.
  • the audio unit 1305 may include a microphone (MIC).
  • the MIC When the electronic apparatus in an operation mode, such as calling mode, recording mode, and voice recognition mode, the MIC may be configured to receive external audio signals.
  • the received audio signals may be further stored in the memory 1301 or sent via the communication unit 1303.
  • the audio unit 1305 may further include a speaker configured to output audio signals.
  • the display unit 1306 may include a screen, which may include liquid crystal display (LCD) and touch panel (TP). If the screen includes a touch panel, the screen may be implemented as touch screen so as to receive input signal from users.
  • the touch panel may include a plurality of touch sensors to sense touching, sliding, and gestures on the touch panel. The touch sensor may not only sense edges of touching or sliding actions, but also sense period and pressure related to the touching or sliding operations.
  • the above memory 1301, processor 1302, communication unit 1303, power supply unit 1304, audio unit 1305 and display unit 1306 may be connected with the chipset 1307.
  • the chipset 1307 may provide interface between the processor 1302 and other units of the electronic apparatus 1300. Furthermore, the chipset 1307 may provide interface for each unit of the electronic apparatus 1300 to access the memory 1301 and communication interface for accessing among units.
  • one or more modules, one or more steps, or one or more processing procedures involved in Figs. 1 to 12 may be implemented by a computing device with an operating system and hardware configuration.
  • Fig. 14 is a structural block diagram of an exemplary computing apparatus 1400.
  • switches and hosts may be implemented in one or more computing apparatuses similar to computing apparatus 1400 in stationary computer embodiments, including one or more features of computing apparatus 1400 and/or alternative features.
  • the description of computing apparatus 1400 provided herein is provided for purposes of illustration, and is not intended to be limiting. Embodiments may be implemented in further types of computer systems, as would be known to persons skilled in the relevant art(s).
  • the computing apparatus 1400 includes one or more processors 1402, a system memory 1404, and a bus 1406 that couples various system components including system memory 1404 to processor 1402.
  • Bus 1406 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures.
  • System memory 1404 includes read only memory (ROM) 1408, and random access memory (RAM) 1410.
  • ROM read only memory
  • RAM random access memory
  • a basic input/output system 1412 (BIOS) is stored in ROM 1408.
  • the computing apparatus 1400 also has one or more of the following drives: a hard disk drive 1414 for reading from and writing to a hard disk, a magnetic disk drive 1416 for reading from or writing to a removable magnetic disk 1418, and an optical disk drive 1420 for reading from or writing to a removable optical disk 1422 such as a CD ROM, DVD ROM, or other optical media.
  • Hard disk drive 1414, magnetic disk drive 1416, and optical disk drive 1420 are connected to bus 1406 by a hard disk drive interface 1424, a magnetic disk drive interface 1426, and an optical drive interface 1428, respectively.
  • the drives and their associated computer-readable media provide nonvolatile storage of computer-readable instructions, data structures, program modules and other data for the computer. Although a hard disk, a removable magnetic disk and a removable optical disk are described, other types of computer-readable storage media can be used to store data, such as flash memory cards, digital video disks, RAMs, ROMs, and the like.
  • a number of program modules may be stored on the hard disk, magnetic disk, optical disk, ROM, or RAM. These programs include an operating system 1430, one or more application programs 1432, other program modules 1434, and program data 1436. These programs may include, for example, computer program logic (e.g., computer program code or instructions) for implementing processing procedures, processing logics, and program modules performed in the examples shown in Fig. 1 to Fig. 12.
  • computer program logic e.g., computer program code or instructions
  • a user may enter commands and information into computing apparatus 1400 through input devices such as a keyboard 1438 and a pointing device 1440.
  • Other input devices may include a microphone, joystick, game pad, satellite dish, scanner, a touch screen and/or touch pad, a voice recognition system to receive voice input, a gesture recognition system to receive gesture input, or the like.
  • processor 1402 may be connected to processor 1402 through a serial port interface 1442 that is coupled to bus 1406, but may be connected by other interfaces, such as a parallel port, game port, or a universal serial bus (USB).
  • serial port interface 1442 that is coupled to bus 1406, but may be connected by other interfaces, such as a parallel port, game port, or a universal serial bus (USB).
  • a display screen 1444 is also connected to bus 1406 via an interface, such as a video adapter 1446.
  • Display screen 1444 may be external to, or incorporated in computing apparatus 1400.
  • Display screen 1444 may display information, as well as being a user interface for receiving user commands and/or other information (e.g., by touch, finger gestures, virtual keyboard, etc.).
  • the computing apparatus 1400 may include other peripheral output devices (not shown) such as speakers and printers.
  • the computing apparatus 1400 is connected to a network 1448 (e.g., the Internet) through an adaptor or network interface 1450, a modem 1452, or other means for establishing communications over the network.
  • Modem 1452 which may be internal or external, may be connected to bus 1406 via serial port interface 1442, as shown in FIG. 14, or may be connected to bus 1406 using another interface type, including a parallel interface.
  • the terms "computer program medium,” “computer-readable medium,” and “computer-readable storage medium” are used to generally refer to media such as the hard disk associated with hard disk drive 1414, removable magnetic disk 1418, removable optical disk 1422, system memory 1404, flash memory cards, digital video disks, RAMs, ROMs, and further types of physical/tangible storage media.
  • Such computer-readable storage media are distinguished from and non-overlapping with communication media (do not include communication media).
  • Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave.
  • modulated data signal means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal.
  • communication media includes wireless media such as acoustic, RF, infrared and other wireless media, as well as wired media. Embodiments are also directed to such
  • computer programs and modules may be stored on the hard disk, magnetic disk, optical disk, ROM, or RAM. Such computer programs may also be received via network interface 1450, serial port interface 1442, or any other interface type. Such computer programs, when executed or loaded by an application, enable computing apparatus 1400 to implement features of embodiments discussed herein. Accordingly, such computer programs represent controllers of the computing apparatus 1400.
  • embodiments are also directed to computer program products including computer instructions/code stored on any computer useable storage medium.
  • code/instructions when executed in one or more data processing devices, causes a data processing device(s) to operate as described herein.
  • Examples of computer-readable storage devices that may include computer readable storage media include storage devices such as RAM, hard drives, floppy disk drives, CD ROM drives, DVD ROM drives, zip disk drives, tape drives, magnetic storage device drives, optical storage device drives, MEMs devices, nanotechnology -based storage devices, and further types of
  • a device including an attention model processing module, an internal state vector generating module, and a logistic regression discriminating module, wherein the attention model processing module and the internal state vector generating module perform iterative processing on internal state vectors for a plurality of rounds under the control of the logistic regression discriminating module;
  • the attention model processing module is configured to generate an attention vector of a current round according to an internal state vector of the current round and an external storage vector;
  • the internal state vector generating module is configured to generate an initial internal state vector at least according to a user query vector, and generate the internal state vector of the current round at least according to an internal state vector of a former round and the attention vector of the current round;
  • the logistic regression discriminating module is configured to discriminate the internal state vector of the current round to determine whether or not to terminate the iterative processing.
  • the internal state vector generating module is further configured to generate an initial internal state vector according to a user query vector, an initial intention state vector generated based on the user query vector and an initial reply state vector, and generate an internal state vector of the current round according to an internal state vector of a former round and an attention vector of the current round generated based on the internal state vector of the former round.
  • the device further including: an external storage vector generating module configured to generate the external storage vector according to one of user wiki storage data, conversation content storage data, conversation topic storage data and open field knowledge storage data or combination thereof.
  • a reply information generating module configured to generate reply information according to the internal state vector of a final round when the iterative processing is terminated.
  • a method including:
  • the feature template includes one of the following feature items or combination thereof:
  • An electronic apparatus including:
  • a memory coupled to the processing unit and containing instructions stored thereon, the instructions cause the electronic apparatus to perform operations upon being executed by the processing unit, the operations including:
  • An electronic apparatus including: [00231] a processing unit; and
  • a memory coupled to the processing unit and containing instructions stored thereon, the instructions cause the electronic apparatus to perform operations upon being executed by the processing unit, the operations include:
  • [00233] generating an attention model processing module, an internal state vector generating module, and a logistic regression discriminating module, wherein the attention model processing module and the internal state vector generating module perform iterative processing on internal state vectors for a plurality of rounds under the control of the logistic regression discriminating module;
  • the attention model processing module is configured to generate an attention vector of a current round according to an internal state vector of the current round and an external storage vector;
  • the internal state vector generating module is configured to generate an initial internal state vector at least according to a user query vector, and generate the internal state vector of the current round at least according to an internal state vector of a former round and the attention vector of the current round;
  • the logistic regression discriminating module is configured to discriminate the internal state vector of the current round to determine whether or not to terminate the iterative processing.
  • the internal state vector generating module is further configured to generate an initial internal state vector according to a user query vector, an initial intention state vector generated based on the user query vector and an initial reply state vector, and generate an internal state vector of the current round according to an internal state vector of a former round and an attention vector of the current round generated based on the internal state vector of the former round.
  • generating a reply information generating module configured to generate reply information according to the internal state vector of a final round when the iterative processing is terminated.
  • a device including:
  • an input layer processing module configured to vectorize each word in a plurality of sentences in a conversation to generate word vector representations of the sentences
  • an intra-sentence RNN layer processing module configured to perform processing on the word vector representations of a plurality of sentences to generate sentence vector representations of the whole sentences;
  • an inter-sentence RNN layer processing module configured to perform processing on a plurality of sentence vector representations output by the intra-sentence RNN layer to output a conversation vector representation of the conversation;
  • a Softmax function processing module configured to determine a state probability corresponding to each title in a given list of lifecycle states according to the conversation vector representation.
  • An electronic apparatus including:
  • a memory coupled to the processing unit and containing instructions stored thereon, the instructions cause the electronic apparatus to perform operations upon being executed by the processing unit, the operations include generating an input layer processing module, an intra-sentence RNN layer, an inter-sentence RNN layer processing module, and a Softmax function processing module, wherein
  • the input layer processing module is configured to vectorize each word in a plurality of sentences in a conversation to generate word vector representations of the sentences;
  • the intra- sentence RNN layer processing module is configured to perform processing on the word vector representations of a plurality of sentences to generate sentence vector representations of the whole sentences;
  • the inter- sentence RNN layer processing module is configured to perform processing on a plurality of sentence vector representations output by the intra-sentence RNN layer to output a conversation vector representation of the conversation;
  • the Softmax function processing module is configured to determine a state probability corresponding to each title in a given list of lifecycle states according to the conversation vector representation.
  • the implementer may opt for a mainly hardware and/or firmware vehicle; if flexibility is paramount, the implementer may opt for a mainly software implementation; or, yet again alternatively, the implementer may opt for some combination of hardware, software, and/or firmware.
  • Examples of a signal bearing medium include, but are not limited to, the following: a recordable type medium such as a floppy disk, a hard disk drive, a Compact Disc (CD), a Digital Versatile Disk (DVD), a digital tape, a computer memory, etc.; and a transmission type medium such as a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.).
  • a typical data processing system generally includes one or more of a system unit housing, a video display device, a memory such as volatile and non-volatile memory, processors such as microprocessors and digital signal processors, computational entities such as operating systems, drivers, graphical user interfaces, and applications programs, one or more interaction devices, such as a touch pad or screen, and/or control systems including feedback loops and control motors (e.g., feedback for sensing position and/or velocity; control motors for moving and/or adjusting components and/or quantities).
  • a typical data processing system may be implemented utilizing any suitable commercially available components, such as those typically found in data computing/communication and/or network computing/communication systems.
  • any two components so associated can also be viewed as being “operably connected”, or “operably coupled”, to each other to achieve the desired functionality, and any two components capable of being so associated can also be viewed as being “operably couplable”, to each other to achieve the desired functionality.
  • operably couplable include but are not limited to physically mateable and/or physically interacting components and/or wirelessly interactable and/or wirelessly interacting components and/or logically interacting and/or logically interactable components.
  • references in the specification to“an implementation”,“one implementation”, “some implementations”, or“other implementations” may mean that a particular feature, structure, or characteristic described in connection with one or more implementations may be included in at least some implementations, but not necessarily in all implementations.
  • the various appearances of“an implementation”,“one implementation”, or“some implementations” in the preceding description are not necessarily all referring to the same implementations.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present disclosure discloses a chatbot with a stance taking. Opinions may be extracted from candidate replies during a processing of conversation, and the extracted opinions may be compared with the stance taken by the chatbot so as to perform selection on the candidate replies and remove the candidate replies which have conflicts with the stance taken by the chatbot. With such technical solutions, the stance taken by the chatbot may be exhibited.

Description

GENERATING RESPONSE BASED ON USER’S PROFILE AND REASONING
ON CONTEXTS
BACKGROUND
[001] An emotional artificial intelligence (AI) chatting system has gradually become one of the most important directions in the AI field in recent years. A chatbot may be used as an interactive entrance for various kinds of products/applications through voice and/or text chat.
[002] In addition to a scene in which a single user chats with a chatbot, it should be noted that there may often be a plurality of groups, such as groups established based on QQ, Facebook, Linkedln, Wechat, Line, Slack, in a social network. Such groups may be interest groups (e.g., film groups, food groups, travel groups, music groups, etc.), working groups (e.g., a team belonging to a department of some company, or some people from different companies), friend groups, classmate groups or even family groups with family relationships. If a chatbot may be introduced into such "group chatting", the chatbot may play a positive role, may summarize topics and viewpoints of chatting and promote the progress of the chatting, and may provide real-time online information services actively.
BRIEF SUMMARY
[003] The embodiments of the present disclosure are provided to give a brief introduction to some concepts, which would be further explained in the following description. This Summary is not intended to identify essential technical features or important features of the subject as claimed nor to limit the scope of the subject as claimed.
[004] The present disclosure discloses a technique of generating response based on user’s profile and reasoning on contexts to create a chatbot for group chatting, and provide a solution for the diversity of topics in group chatting and the unpredictability of user’s queries and replies.
[005] The above description is merely a brief introduction of the technical solutions of the present disclosure, so that the technical means of the present disclosure may be clearly understood, and implemented according to the description of the specification, and the above and other technical objects, features and advantages of the present disclosure may be more obvious based on the embodiments of the present disclosure as follows.
BRIEF DESCRIPTION OF THE DRAWINGS
[006] Fig. 1 is an exemplary block diagram showing an AI chatting system;
[007] Fig. 2 is a schematic block diagram of an exemplary group chatting interface;
[008] Fig. 3 is an exemplary block diagram of a profile of user wiki of an exemplary celebrity of "George Washington";
[009] Fig. 4 is an exemplary block diagram of a user’s wiki profile used for "Bill Gates" in Linkedln;
[0010] Fig. 5 is a schematic flowchart showing an exemplary extracting process for a profile of user wiki;
[0011] Fig. 6 is an exemplary block diagram of a user’s tweet;
[0012] Fig. 7 is a schematic block diagram of an exemplary implementation of a key -value pair profile classifier;
[0013] Fig. 8 is a schematic view showing a structure of an exemplary neural network device for processing a lifecycle state of a topic;
[0014] Fig. 9 schematically describes a schematic block diagram of a classification model implemented with a four-layer neural network;
[0015] Fig. 10 is an exemplary block diagram of a concept-based knowledge graph;
[0016] Fig. 11 is an exemplary structural block diagram of a reasoning-based reply generating model;
[0017] Fig. 12 is a schematic structural diagram showing an exemplary reasoning-based reply generating device;
[0018] Fig. 13 is a structural block diagram of an exemplary mobile electronic apparatus; and
[0019] Fig. 14 is a structural block diagram of an exemplary computing apparatus.
DETAILED DESCRIPTION
[0020] In the following, description will be given in detail on the exemplary
embodiments of the present disclosure, in connection with the accompanying drawing. Although drawings show the exemplary embodiments of the present disclosure, it should be appreciated that the present disclosure may be implemented in various ways without being limited by the embodiments set forth herein. On the contrary, these embodiments are provided for thorough understanding of the present disclosure, and completely conveying the scope of the present disclosure to the skills in the art.
[0021] The following description sets forth various examples along with specific details to provide a thorough understanding of claimed subject matter. It will be understood by those skilled in the art, however, the claimed subject matter may be practiced without some or more of the specific details disclosed herein. Further, in some circumstances, well-known methods, procedures, systems, components and/or circuits have not been described in detail in order to avoid unnecessarily obscuring claimed subject matter.
[0022] In the following detailed description, reference is made to the accompanying drawings, which form a part hereof.
[0023] In the drawings, similar symbols typically identify similar components, unless context dictates otherwise. The illustrative embodiments described in the detailed description, drawings, and claims are not meant to be limiting. Other embodiments may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented here.
[0024] It will be readily understood that the aspects of the present disclosure, as generally described herein, and illustrated in the figures, can be arranged, substituted, combined, and designed in a wide variety of different configurations, all of which are explicitly contemplated and make part of this disclosure.
[0025] The term "technique", as cited herein, for instance, may refer to system(s), method(s), computer-readable instructions, module(s), algorithms, hardware logic (e.g., Field-programmable Gate Arrays (FPGAs), Application-specific Integrated Circuits (ASICs), Application-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs)), and/or other technique(s) as permitted by the context above and throughout the document.
[0026] Overview based on implementation scenes
[0027] Considering implementation scenes related to group chatting, the present disclosure provides a solution for creating a chatbot for group chatting. [0028] Group chatting (for example, chatting in interest groups, friend groups, family groups, and any kind of short-term or long-term activity groups) is becoming more and more popular in social networking service (SNS) applications, such as Wechat, QQ, Facebook. For example, in a social networking service application of QQ, there are millions of groups created by users of QQ, and the number of monthly active users is about 860 millions.
[0029] Moreover, more and more chatbots are being designed for group chatting so as to provide the following functions including (1) providing emotional messages so as to facilitate people in a group in communicating with one another in a smoother way; and (2) providing required information in real time through unpredictable requests.
[0030] More particularly, the first function is focused on "just chatting", and the second function is focused on providing online services (for example, bookings for travelling, recommendation on commodities and the like).
[0031] Although these two functions may be also used in one-to-one communication between a user and a chatbot, there are still some challenges due to the following reasons.
[0032] Compared with one-to-one chatting scenes, in group chatting, topics may be diverse and often parallel with one another. Each topic may be of interest to different user groups in this group chatting, and each topic may be related to other topics. If one-to-one chatting is regarded as a " single-thread chatting", i.e., only one user’s query and one topic exist at the same time, a group chatting may be more like a "multi-thread chatting", i.e., a plurality of active topics, a plurality of active users and possible relationships among them (among the topics, among the users, and between the topics and the users) exist at the same time.
[0033] In addition, we may further need to manage: (1) the relationship among topics, for example, from "party" to "hotel booking", and further to a "food menu", a "wine menu", or a "route" on how to go to the party site or a nearby subway station, or even the next activity after the "party", such as singing in KTV; (2) the relationship among users; and (3) the "connecting rate" between the users and the topics, such as attitudes and correlation of the users on the topics, etc.
[0034] More particularly, description may be made on the situations or tasks that a chatbot used for a group chatting may have to deal with in the following.
[0035] 1. Non-consecutive user’s queries from each user ID (also referred as user’s statements or user’s questions). After a user in a group chatting sends a user’s query, user’s queries from other users may be sent to the group chatting in an unpredictable way before the relevant replies with respect to the user’s query prepared by the chatbot are ready. Considering this situation, it may be necessary for the chatbot to manage messages according to users and topics respectively so as to form two kinds of "storage" resources, one of which is a“storage” resource dedicated to users and the other is a "storage" resource dedicated to topics. In addition, it should be noted that the user’ query from one user may be a "reply" to the user’s query as question from another user. Even in the chatting under one topic, the user’ queries under such topic may play different "roles", such as beginning of the topic, extension of the topic, positive/negative comments on the topic, execution of the topic, ending of the topic and comments of the topic. These "roles" may show different states of the topic. It may be very important to recognize/distinguish the "role" played by the user’s query under one topic. If one query from user is a "reply" to another query from user in a group chatting, a "question-answer" relationship in the current group chatting may be used to facilitate the collection on training data of a machine learning model for the group chatting. The machine learning model may be used to automatically detect user’s queries for questioning and replies with respect to the queries for questioning based on the conversation in the current group chatting.
[0036] 2. Continuous messages from a group chatting. Different topics may appear in unpredictable ways. There may be "potential connections" among“active” topics.
[0037] Considering such topics which are parallel with each other but there may be possibly correlations therebetween, it may be necessary for the chatbot to store related information of the topics, and access the stored information on another topic to retrieve the correlation between the another topic and the topic currently handled by the chatbot upon dealing with this topic so as to generate a reply more suitable for the conversation in the current group chatting.
[0038] 3. Perceptible information of chatbot. For example, the perceptible information may include a timestamp, a user ID/chatbot ID, a user query, etc. It may be necessary for the chatbot to recognize the above information, i.e., to recognize the timing for providing the corresponding replies, the users to which the corresponding replies are made, and the topic under which the corresponding replies are made.
[0039] Considering the above requirements, the embodiments of the present disclosure provides an exemplary block diagram 100 of the AI chatting system shown in Fig. 1.
[0040] In the scene shown in Fig. 1, a user interface 101 of a partner may be used to receive user queries, and the user interface 101 cited herein may be the user interfaces provided by the partner (e.g., an existing social network, Facebook, Wechat, Line, Linkedln, and Slack), or a self-developed user interface, e.g., a user interface based on a mobile terminal or a PC terminal). As shown in Fig. 2, which is a schematic block diagram 200 of an exemplary group chatting interface. The speaker on the left is not limited to one user or one chatbot, but may be a plurality of users and one chatbot, or a plurality of users and a plurality of chatbots.
[0041] In the user interface for group chatting shown in Fig. 2, there are three users from real world ("Keizo", "Mike" and "Me") and a chatbot (for example, with the name of "Xiaolce"). The user (or "Me") on the right may be a user participating in the group chatting, and the user interface is shown in a view of "Me". In such example, the chatbot of "Xiaolce" may make replies to the user query of each user in an active way. The chatbot of "Xiaolce" may use different names in different countries. For example, "Xiaolce" or "ΉzK" may be used as a name of the chatbot in China, "Rinna" or "ig ¾" may be used as a name of the chatbot in Japan and Indonesia, "Zo" may be used as a name of the chatbot in the United States, and "Ruuh" may be used as a name of the chatbot in India, etc.
[0042] In an area for user’s inputting, the user may input texts, send pictures, select emoticon symbols and make screenshots of the current screen, and so on. In addition, the user may initiate a voice call or a video call with the AI chatting system. For example, in the user interface, the user inputs a sentence of "Xiaolce, how old are you", which may be transmitted to a user query queue 118 as a user query. More particularly, the user query queue 118 may store user queries in a format of multimedia (which may include formats of text, voice, image, video, etc.). The AI chatting system may be different in processing different multimedia inputs. For example, when dealing with real-time voices and videos, it may be necessary for the AI chatting system to have more copies of workers to ensure that a list of user queries in the user query queue 118 is not too long. If the list of user queries in the user query queue 118 is too long, the users may feel a relatively long latency of reply. For example, in Fig. 1, a chatting text processing worker 121, a voice processing worker 122 and an image processing worker 123 may be provided for texts, voices and images in chatting, respectively, and the three processing units may call a text
understanding API (application program interface) 124, a voice recognizing API 125 and an image recognizing API 126 corresponding thereto to perform processing of programs, and the three workers may follow scheduling and coordinating by a core worker 119. The above-mentioned workers may be implemented as program modules, routines, threads, processes and the like as needed.
[0043] The core worker 119 shown in Fig. 1 may use the user query queue 118 as the input thereof, and perform processing on user queries in the user query queue 118 in a first-in-first-out manner to generate replies.
[0044] More particularly, the core worker 119 may call the workers one by one to perform processing related to the user queries. For example, the core worker 119 may call the chatting text processing worker 121 to perform processing on user queries in the form of texts. Furthermore, the core worker 119 may call the text understanding API 124 to perform processing on chatting context information. In addition, the chatting text processing worker 121 may include a plurality of service units other than a chatting text processing function, such as a time service unit, which may generate an alarm reminder for user queries such as "Please remind me to go to an HR meeting at six o'clock", and a weather service unit, which may be configured to provide replies on weather information for user queHries such as "Will it rain tomorrow?" and "Do I need an umbrella if I fly to Beijing tomorrow? "
[0045] It may be necessary for the user queries in the form of voices to be recognized and decoded to be in the form of texts so as to proceed to subsequent processing. The voice recognizing API 125 may be configured to perform speech-to-text conversion tasks. In addition, after the user queries in the form of voices are decoded into the user queries in the form of texts, the voice processing worker 122 may request the chatting text
processing worker 121 to perform processing such as language understanding, request analyzing and reply generating. After the chatting text processing worker 12 generates a reply text and returns the reply text to the voice processing worker 122, the voice processing worker 122 may perform text-to-voice conversion and generate a voice output hearable to users.
[0046] Similar with voice processing, it may be necessary for images to be "read" and "understood" by the image recognizing API 126. That is, the images need to be decoded into texts. For example, when it is seen that a dog image is input by a user, the image recognizing API 126 may roughly recognize the kind/color of a dog, and output the recognized information in the form of text, and then, the image processing worker 123 may generate a reply according to these image recognizing information in the form of text. In some embodiments, since the image-to-text machine learning model is relatively mature in the field, corresponding replies may be generated directly from images without calling the image processing worker 123 to perform processing of reply generating. That is to way, some comments or suggestions may be generated as replies directly from input images through the image recognizing API 126, such as "What a lovely German shepherd! You must love it." Since an image-to-text model may be directly trained/used, the access to the image processing worker 123 may be optional.
[0047] In the block diagram shown in Fig. 1, workers other than the basic workers described above may be further inserted so that the structure is extensible. For example, a location processing worker may be inserted so that the location processing worker may easily support services based on locations. For example, if there are user queries such as "Order a pizza to my office” and "Remind me if I approach the supermarket when I am near home", location information may be introduced into processing of generating replies so as to provide more flexible replies.
[0048] After generating a reply, the core worker 119 may transmit the reply to a reply queue 120 and/or place the reply in a buffer 127.
[0049] The buffer 127 and a proactive worker 128 may be configured to prepare a sequence of replies in advance, so as to be able to present the sequence of replies to the user in a predetermined time stream. For a user query, if there are no more than two replies generated by the core worker 119, it may be necessary to perform settings on latency for these replies.
[0050] For example, if a user says "Have you had breakfast, Xiaolce" and the AI chatting system may generate two replies, in which the first one is "Yes, I have had bread", and the second one is "And you? Are you still hungry?", it may be necessary to present the first reply to the user immediately, and the latency may be to 2 seconds for the second reply, and the timing for putting the second reply into the reply queue 120 may be controlled by the proactive worker 128. Therefore, the second reply may be presented to the user in 2 seconds since the first reply is presented to the user. The buffer 127 and the proactive worker 128 may manage these replies to be sent, the identity of user and the latency of each reply all together.
[0051] A responder worker 103 may select an optimal reply from the reply queue 120, and then, call a reply API 102 of a partner to present the generated reply to the user by providing the generated reply to a user interface 101 of the partner.
[0052] More particular, the following core processing modules of embodiments of the present disclosure may be shown in Fig. 1.
[0053] A user wiki generating module 109 may be configured to extract a user wiki 112 from an existing chatting log database 106 by using a user wiki constructing algorithm. In addition, the user wiki generating module 109 may further extract the user wiki 112 from public information related to the user on a social network.
[0054] A topic lifecycle state classifying module 108 may be configured to detect a topic lifecycle state 111 from a current conversation 105 by adopting a topic lifecycle state classifying algorithm.
[0055] A knowledge graph extracting module 107 may be configured to obtain a common field knowledge graph 110 from knowledge on internet 104 by using a knowledge graph extracting algorithm.
[0056] A reasoning-based reply information generating module 114 may be configured to combine the user wiki 112, the topic lifecycle state 111 and the common field knowledge graph 110, and apply the same in the processing of reply generating so as to generate an optimal reply for the current group chatting.
[0057] It should be noted that the present disclosure may further provide a direct deep question-answer (QA) function based on the user wiki 112 and the common field knowledge graph. For example, a direct question may be "Xiaolce, do you know the name of my pet?”, and the reply may be "Joy, you told me last week", which is a deep question-answer function based on the user wiki. For another example, another question may be "Xiaolce, who was the first president of the United States?”, and the reply is "George Washington", which is a direct deep question-answer function based on the common field knowledge graph.
[0058] Detailed description may be made on the processing mechanisms of user wiki generating, topic lifecycle state classifying, knowledge graph extracting and
reasoning-based reply generating.
[0059] User wiki generating
[0060] The user wiki extracting is to construct a user profile in the form of wiki based on the following information sources:
[0061] 1. Chatting logs of a one-to-one individual chatting between a user and a chatbot.
[0062] 2. Chatting logs of a group chatting which the user joins.
[0063] 3. Social network information of a user acquired in an explicit/implicit way.
[0064] 3 -1. Social network information of a user acquired in an implicit way. For example, "We are from the same university" is an implicit clue used to assign a known university of user A to user B. The following may be assumed to be known including (1) "we" may refer to user A and user B, and (2) the university of user A has been already known. Such implicit way may be referred as "entity transition rule" which may be used to extend the source for obtaining information from a seed user with a relatively complete profile of user wiki to a related user with a less complete profile of user wiki.
[0065] 3 -2. Social network information of a user acquired in an explicit way. As another example, in some social network applications such as Linkedln, the information on university of a user may be explicitly disclosed in a resume made by Linkedln, so that a profile information of user wiki may be acquired in an explicit way.
[0066] As shown in Fig. 3, which is an exemplary block diagram 300 of a profile of user wiki of an exemplary celebrity of "George Washington", the wiki profile shown in Fig. 3 is provided in the form of key -value pair information. More particularly, keys in the key -value pair information may correspond to some entities involved in user attributes, such as birth information, residence place, and owned honors. Values in the key-value pair information may correspond to related information, such as "February 22, 1732",
"Washington ..." and "Congressional Gold Medal".
[0067] The information providing method in the form of key -value pairs is also adopted by several social network applications, such as Linkedln. As shown in Fig. 4, which is an exemplary block diagram 400 of a profile of user wiki used for "Bill Gates" in Linkedln.
[0068] Description may be made on a processing procedure of extracting the profile of user wiki. Fig. 5 shows a schematic flowchart 500 showing an exemplary extracting process for a profile of user wiki.
[0069] In order to obtain information on user wiki from chatting logs of a user and a social network, the embodiments of the present disclosure provides a data collecting method and a machine learning model (the key-value pair profile classifier 505 in Fig. 5).
[0070] The data collecting method is shown in Fig. 5. The processing S501 to S505 is shown on the left. More particularly, the processing of S501 to S503 is configured to collect training data for training the key-value pair profile classifier 505, and the collected data of S504 may be used as input data of the key-value pair profile classifier 505 together with the chatting log of the user. In the embodiments of the present disclosure, two kinds of information in the social network are mainly used. One kind of such information is profile information which may be knowledge information (e.g., Wikipedia) or public information of user accounts (such as a profile information illustrated in Fig. 3 or Fig. 4 ) provided by the social network and may be regarded to be authentic so as to be used as a fact basis. The other kind of such information may be content information, i.e., information which the users post on the social network, such as posts on tweets and Facebook.
[0071] Detailed description would be made on processing of extracting profile of user wiki.
[0072] S501 : acquiring key-value pair information from profile information of the social network. For example, some key -value pair information may be acquired from profiles of user wiki of Google+, Linkedln, Facebook and other social networks, and such key -value pair information may be used as a basic fact.
[0073] S502: acquiring content information of the social network containing values in the key -value pair information obtained in the processing procedure 501. For example, in this step of S502, tweets of Bill Gates containing "Harvard University" may be acquired. These tweets may be used as positive examples.
[0074] S503 : parsing a syntactic dependency of the content information of the social network acquired in the processing of S 502 and extracting structural features (such as an n-gram dependency arc) to generate feature training data for training the key -value pair profile classifier.
[0075] S504: training the machine learning classifier by using the training data generated in the processing of S503 to generate a key-value pair profile classifier. With the feature training data generated in processing of S503 and the key-value pair information which may be used as the basic fact acquired in processing of S501, the machine learning classifier may be trained to generate the key -value pair file classifier. During the subsequent online processing with the key-value pair profile classifier, the key-value pair profile classifier may be continuously trained according to the results acquired by online processing, so that the processing on data by the key -value pair profile classifier may be more accurate.
[0076] The above-mentioned processing of S501 to S503 may complete a training process for the key-value pair profile classifier 506, and may further acquire some sets of keys,
[0077] S505: acquiring key -value pair information related to a user from content information of the social network of the user. In the processing of the step, the key-value pair information may be acquired from the content information posted on, for example, tweets, Facebook and Linkedln by the user according to a determined set of keys and entity transition rule. The entity transition rule cited in the embodiments of the present disclosure is to apply a correspondence rule or structural features or the like between the determined key-value pair information of the user (e.g., the wiki profile information of the celebrity mentioned above) and the content information of the social network of the user (e.g., tweets posted by the celebrity) to the social network, and perform extension based on a seed user, so as to extract more key -value pair information.
[0078] S506: inputting the key-value pair information acquired in the processing of S505 and chatting logs of the user into the key-value pair profile classifier, and outputting an accuracy rate of assigning the key -value pair information to the user as a profile of user wiki.
[0079] As shown in Fig. 6, which is an exemplary block diagram 600 of a user’s tweet according to embodiments of the present disclosure, with the analyzing on a tweet with the name of Steven, who uses an expression "I want to go to USC, too" in the tweet, and USC is recognized as a name of a university. An expression of "go to USC" similarly with a tweet of some known user may be used in the tweet with the name of Steven, and the wiki profile information of the known user may contain a key -value pair such as
"university-USC" as confirmation information. Therefore, the key-value pair information of "university-USC" may be assigned to the user, Steven, on the basis of an "entity transition rule". However, the user wiki profile based on the entity transition rule cannot be trusted for 100%, and thus it is necessary to use the trained key -value pair profile classifier to train the accuracy rate of the profile of user wiki for assigning the key -value pair information of "university-USC" to the user, Steven, and finally it may be confirmed whether or not the key-value pair information is accepted according to the accuracy rate.
[0080] As shown in Fig. 7, which is a schematic block diagram 700 of an exemplary implementation of a key -value pair profile classifier according to embodiments of the present disclosure, the input data of the key -value pair profile classifier 701 may be key-value pair information 702 and a chatting log 703 of the user, and the key-value pair profile classifier may output the accuracy rate 704 for assigning the key-value pair information 702 to the user (the key-value pair information may be used as the accuracy rate of the profile of user wiki), and extended training data 705, which may further train the key -value pair profile classifier 701 to improve the accuracy of the key -value pair profile classifier 701.
[0081] Before data is input into the key -value pair profile classifier 701, feature extraction may be performed to generate feature vectors, and then the feature vectors are input into the key-value pair profile classifier 701.
[0082] The input data of the key -value pair profile classifier 701 may be, for example, <user (user information), key (a key in the key -value pair information), value (a value in the key -value pair information), user log (a conversation log acquired from individual or group chatting), and user social networks (social network information of a user)>. After these input data is processed by the key -value pair profile classifier 701, the accuracy rate for assigning the key -value pair information <key, value> to a current user as a wiki profile is output. For example, if the accuracy rate is greater than 0.5, it may be considered that the wiki profile may be used as the wiki profile of the user.
[0083] In addition, in the process of feature extracting, the following feature templates may be used, the feature templates may include the following sets of features, and various feature items in the set of features may be arbitrarily combined. That is to say, one of or a combination of the feature items may be selected to form a feature template.
[0084] 1. frequency by which a key -value pair, <key, value>, appears in a profile database of a current user;
[0085] 2. frequency by which a key-value pair, <key, value>, appears in content information of social networks of other users having social relationships with the current user;
[0086] 3. frequency by which a key -value pair, <key, value>, is mentioned in a chatting log of the current user;
[0087] 4. word2vec cosine similarity score between dense vectors of key and value;
[0088] 5. average distance between key and value in the user’s chatting log (distance = number of words between key and value in one query/text message);
[0089] 6. key in the key-value pair information;
[0090] 7. value in the key -value pair information;
[0091] 8. key-value pair information <key, value>;
[0092] 9. key already owned by the current user in the wiki profile thereof;
[0093] 10 editing distance similarity between“value” in the key -value pair information as input data and existing value for current“key” in current user’s wiki profile ; and [0094] 11. word vector similarity between“value” in the key -value pair information as input data and existing values for current“key” in current user’s wiki profile.
[0095] lifecycle state classification of topics
[0096] In the present disclosure, a multilayer recurrent neural network (RNN) is trained to classify lifecycle states of a topic. As previously mentioned, the lifecycle of a topic may be classified into a plurality of potential time-sensitive states, such as "start, grow or degenerate, finish or canceled, post-discussion". The lifecycle of the topic may be changed from one state to a next state. For example, the following two examples are used to show these states.
[0097] Example 1 :
[0098] User: I feel lonely;
[0099] Chatbot: How about watching a movie? (beginning of a topic of the chatbot, the reply of "watching a movie" may be generated according to a three-tuple of "watching a movie cure lonely" in a knowledge graph), (topic=watching a movie, state=start);
[00100] User: Sure, do you have any suggestions (about watching a movie)?
(Topic=watching a movie, state=extension);
[00101] Chatbot: How about "Spiderman", the latest one? (Topic=Spiderman, state=start; parent topic=watching a movie, state=extension);
[00102] User: Sounds good (topic=Spiderman, state=positive intention; parent topic=watching a movie, state=extension);
[00103] Chatbot: The nearest cinema is ten-minutes away and the next show is in 30 minutes later. Do you want to buy a ticket? (Topic=ticket, state=start; parent
topi c= Spiderman, state=positive intention; second parent topic=watching a movie, state=extension);
[00104] User: Sure, book it (topic=ticket, state=confirmation; parent topic=Spiderman, state=positive intention; second parent topic=watching a movie, state=extension);
[00105] Chatbot: OK, booked and here is a brief introduction in video of the movie.
[00106] (the day after)
[00107] User: The movie was very interesting (topic=Spiderman, state=fmish and positive comment; second parent topic=watching a movie, state=fmished); [00108] Chatbot: I'm glad that you like it.
[00109] Example 2:
[00110] User: I feel lonely;
[00111] Chatbot: How about watching a movie? (Beginning of the topic of the chatbot), (topic=watching a movie, state=begin);
[00112] User: Not that interested (in watching a movie) (topic=watching a movie, state=negative intention);
[00113] Chatbot: How about blue style music? (Topic=blue style music, state=begin; and the reply of“blues music" may be generated according to a three-tuple of "blue style music allies with lonely" in a knowledge graph;
[00114] User: Sounds great (topic=blue style music, state=positive intention); and
[00115] (Music is played here)
[00116] User: I like this (topic=blue style music, state=fmish and positive comment).
[00117] It may be seen from the example 1 and example 2 that topic detection and the lifecycle state of the topic may facilitate to guide the chatbot to make the subsequent replies and summarize headlines of the long period of chatting which may be shown to the user if required. Moreover, it should be noted that the range of available topics may be obtained by some knowledge graphs.
[00118] The number of lifecycle states of topics may be set as needed, and analyzing on positive/negative comments may be performed by using fine-grained sentiment analysis system.
[00119] In the embodiments of the present disclosure, a hierarchical recurrent neural network (RNN) may be used to encode conversation information and the encoded embedded vectors obtained by encoding conversation may be projected to a list of a candidate state by a Softmax function.
[00120] As shown in Fig. 8, which is a schematic view showing a structure of an exemplary neural network device for processing a lifecycle state of a topic , and the neural network device may include an input layer processing module 801, an intra-sentence RNN layer processing module 802, an inter-sentence RNN layer processing module 803, and a Softmax function processing module 804. [00121] The input layer processing module 801 may be configured to vectorize each word in a plurality of sentences in a conversation to generate word vector representations of the sentences.
[00122] The intra-sentence RNN layer processing module 802 may be configured to perform processing on the word vector representations of a plurality of sentences to generate sentence vector representations of the whole sentences.
[00123] The inter-sentence RNN layer processing module 803 may be configured to perform processing on a plurality of sentence vector representations output by an intra-sentence RNN layer to output a conversation vector representation of the
conversation.
[00124] The Softmax function processing module 804 may be configured to determine a state probability corresponding to each title in a given list of lifecycle states according to the conversation vector representation.
[00125] As shown in Fig. 9, which schematically describes a schematic block diagram 900 of a classification model implemented with a four-layer neural network, each rectangle represents a vector, and the arrow represents functions such as matrix vector multiplication. Vectors of each layer as shown in Fig. 9 may be generated by various modules as shown in Fig. 8.
[00126] (1) In an input layer 901, the processing on the data of this layer may be performed by the input layer processing module 801 in Fig. 8. In the input layer 901, each word in a plurality of sentences (shown by sentence 1 to sentence m in the figure) in a conversation is vectorized to generate a word vector representation of the sentence.
[00127] The input layer may be represented as a set of vectors, Input X:
[00128] Input X=[xl/tl, x2/t2, ... , xm/tm] . Formula (1)
[00129] More particularly, in the above Formula (1), xl to xm are word vector representations corresponding to sentence 1 to sentence m, tl to tm refer to topics corresponding to each sentence, and in the topics tl to tm, there may be topics same with each other. The word vector representations corresponding to each sentence may include a plurality of vectors (or a matrix composed of a plurality of vectors). For example, the word vectors corresponding to sentence 1 may include vectors W 1, 1 to Wl,nl, the word vectors corresponding to a sentence 2 may include vectors W2,l to W2,n2, and the word vectors corresponding to a sentence m may include vectors Wm,l to Wm,nm.
[00130] (2) In an intra- sentence RNN layer, the processing may be performed by the intra-sentence RNN layer processing module 802 shown in Fig. 8. The intra-sentence RNN layer is configured to embed the whole sentence into vectors. Bi-directional recurrent RNN processing may be adopted for each sentence in the intra-sentence RNN layer, and the formula may be represented as follows:
Hi+i=RNN(WMHi+WxAXi+b*) . Formula (2)
[00131] More particularly, in the formula (2), Whh, Wxh and bh are the transformation parameters for the transformation from the input layer 901 to the intra- sentence RNN layer 902, and the vector Ht may be regarded as a context vector representation generated in calculation of each round, and the vector Xt corresponds to a word vector in the sentence used in calculation of each round.
[00132] More particularly,“t” may be set to be a number of steps used to expand loop rounds, and the vector Ht is a final vector generated by the processing of the intra-sentence RNN layer 902. It should be noted that loop operations are performed in two directions, i.e., from left to right and from right to left. Therefore, the vector HT is a result formed by concatenation of the vectors in two directions:
Figure imgf000020_0001
Formula (3)
[00133] (3) In an inter-sentence RNN layer 903, the processing may be performed by the inter-sentence RNN layer processing module 803 shown in Fig. 8. This layer may be configured to obtain a dense vector representation of the whole conversation. Similarly with the algorithm adopted in the previous layer, a vector Ht is still obtained from the former layer as input, and bi-directional recurrent RNN processing may be used to generate vector representations Gl to Gm corresponding to each sentence, and then the vectors Gl to Gm are jointed to generate a vector J corresponding to the whole
conversation. More particularly,“m” is a number of sentences input in the conversation.
[00134] (4) In an output layer 904, the vector J generated by the inter-sentence RNN layer 903 is input into a Softmax function to generate a list of state probabilities (with m topics in total) of topic Tl to topic Tm. In this list of state probabilities , each topic T may correspond to k states, and each state may correspond to a probability value pi. Therefore, “i” may be from (1, 1) to (m, k), and the list of state probabilities output by the Softmax function may be a probability value matrix of mxk.
[00135] Knowledge graph
[00136] In the present disclosure, the knowledge map used herein is mainly a
concept-based knowledge graph as shown in Fig. 10, which is an exemplary block diagram 1000 of a concept-based knowledge graph according to embodiments of the present disclosure. In Fig. 10, a plurality of images are used to intuitively show concepts, such as train, dog, cat, mouse, window, IE.
[00137] More particularly, a node in Fig. 10 may be a "concept" corresponding to an object in a real-world, which is visible or only in mind. For example, "dog" is such a visible concept while "economy" is not in a directly visible form, but a concept that may only be inferred in mind. On the other hand, one edge in Fig. 10 may be the description on the relationship of a "predicate form" or an "attribute form" between two nodes in the figure.
[00138] Reasoning-based reply generating model
[00139] As shown in Fig. 11, which is an exemplary structural block diagram 1100 of a reasoning-based reply generating model according to embodiments of the present disclosure, upon receiving a user query 1101, the reasoning-based reply generating model may use an attention function fl to perform iterative processing on a storage vector M (a vector generated based on an external storage source) for multiple rounds, so as to generate an optimal reply. Detailed description would be made on the processing mechanism of the reasoning-based reply generating model below.
[00140] Storage vector M
[00141] An external storage may be represented as a storage vector M upon being vectorized. The storage vector M may be a list of word vectors, M={mi}, with i=l ...n, and mi is a fixed dimension vector. For example, in a searching space of an inferring graph, mi is a vector representation of each word or knowledge. These vector representations are derived from vectorization encoding on external knowledge, context and the like by a bidirectional RNN encoder. In Fig. 11, the storage vector M may come from four storage sources, and each storage source may specifically be a list of word vectors representing related word sequences or dependency relationship arcs.
[00142] The external storage sources may include: a user wiki profile storage 1105, a conversation storage 1106, a topic lifecycle state storage 1107, and an open field knowledge graph 1108, and description has been made on these storage sources in the previous part of the present disclosure.
[00143] Attention vector Xt
[00144] The attention vector Xt may be generated by an attention function fl based on a current internal state vector St and a storage vector M, and the functional relationship may be represented as follows:
Xt=fi(St, M) . Formula(4)
Internal state vector St
[00145] Generally, the initial state Sl may be the last word vector representation of a user query input by a user, and the tth time step of the internal state vector may be represented as St. The sequence of internal state vectors may be modeled with RNN, and the functional relationship may be expressed as follows:
[00146] More particularly, Xt may be the attention vector described above.
[00147] Termination gate
[00148] The termination gate may generate a random variable tt=p(f2(St)) according to the current internal state vector St. More particularly, tt is a double-value random variable (tt=0 means that the state is not finished or tt=l means that the state is finished), the function f2 may be a single-layer neural network configured to determine whether or not St reaches an finish state, and the function p may be a sigmoid function which may map an output result of the function f2 onto a probability interval of [0,1] If tt is true, the model may terminate the processing of next round, and the reply information generating module 1104 may perform the processing of reply decoding at time step t to generate a reply. If tt is false, the attention vector Xt+l is updated according to the formula (4), and is fed to a state network to update the next internal state St+l.
[00149] Reply information generating module 1104 may start its operations upon a termination gate variable is true, and generate sentence as a reply word by word by using a RNN decoder. The functional relationship of the reply information generating module 1104 may be expressed as follows:
at=p(f3(St)) . Formula (6)
[00150] More particularly,“at” may represent the tth word in the reply, function f3 is an RNN decoder, and function p may represent a Softmax function configured to output the probability distribution of each candidate word in the reply.
[00151] In addition, two sigmoid functions may be used in the present disclosure to calculate the two states including intention state 1102 and reply state 1103.
[00152] The intention state 1102 may include emotional concern or task orientation, f4=sigmoid(W4*St+b4), and W4 and b4 are parameters of a linear combination model. More particularly, W4 is a mapping matrix parameter and b4 is an offset parameter.
[00153] The reply state 1103 is“yes” for a reply, and is“no” for no reply. In
f5=sigmoid(W5*f4+b5), W5 and b5 are parameters of a linear combination model, W5 is a mapping matrix parameter and b5 is an offset parameter.
[00154] The above-mentioned reasoning-based reply generation model may be implemented as a reply generating device. As shown in Fig. 12, which is a schematic structural diagram 1200 showing an exemplary reasoning-based reply generating device according to embodiments of the present disclosure, the reasoning-based reply generating device may include an attention model processing module 1201, an internal state vector generating module 1202, and a logistic regression discriminating module 1203, the attention model processing module and the internal state vector generating module may perform iterative processing on internal state vectors for multiple rounds under the control of the logistic regression discriminating module.
[00155] The attention model processing module 1201 may be configured to generate an attention vector of a current round according to an internal state vector of the current round and an external storage vector.
[00156] The internal state vector generating module 1202 may be configured to generate an initial internal state vector at least according to a user query vector, and generate the internal state vector of the current round at least according to an internal state vector of the former round and the attention vector of the current round. More particularly, the processing of the internal state vector generating module may further include: generating an initial internal state vector according to a user query vector, an initial intention state vector generated based on the user query vector and an initial reply state vector, and generating an internal state vector of the current round according to an internal state vector of the former round and an attention vector of the current round generated based on the internal state vector of the former round. The intention state vector may include information about emotional concern and/or task orientation. Loop iterative processing may be performed between the attention model processing module 1201 and the internal state vector generating module 1202 for a plurality of rounds until the logistic regression discriminating module 1203 determines that a termination condition is met.
[00157] The logistic regression discriminating module 1203 may be configured to discriminate the internal state vector of the current round to determine whether or not to terminate the iterative processing.
[00158] Moreover, the reasoning-based reply generating device may further include a reply information generating module 1204 configured to generate reply information according to the internal state vector of the final round when the iterative processing is terminated.
[00159] In addition, the reasoning-based reply generating device may further include a storage vector generating module 1205 configured to generate the external storage vector according to one of or a combination of a plurality of user wiki storage data, conversation content storage data, conversation topic storage data and open field knowledge storage data.
[00160] Implementation example of electronic apparatus
[00161] The electronic apparatus according to embodiments of the present disclosure may be a mobile electronic apparatus, or an electronic apparatus with less mobility or a stationary computing apparatus. The electronic apparatus according to embodiments of the present disclosure may at least include a processor and a memory. The memory may store instructions thereon and the processor may obtain instructions from the memory and execute the instructions to cause the electronic apparatus to perform operations.
[00162] In some examples, one or more components or modules and one or more steps as shown in Fig. 1 to Fig. 12 may be implemented by software, hardware, or in combination of software and hardware. For example, the above component or module and one or more steps may be implemented in system on chip (SoC). Soc may include: integrated circuit chip, including one or more of processing unit (such as center processing unit (CPU), micro controller, micro processing unit, digital signal processing unit (DSP) or the like), memory, one or more communication interface, and/or other circuit for performing its function and alternative embedded firmware.
[00163] As shown in Fig. 13, which is a structural block diagram of an exemplary mobile electronic apparatus 1300. The electronic apparatus 133 may be a small portable (or mobile) electronic apparatus. The small portable (or mobile) electronic apparatus may be e.g., a cell phone, a personal digital assistant (PDA), a personal media player device, a wireless network player device, personal headset device, an IoT (internet of things) intelligent device, a dedicate device or combined device containing any of functions described above. The electronic apparatus 1300 may at least include a memory 1301 and a processor 1302.
[00164] The memory 1301 may be configured to store programs. In addition to the above programs, the memory 1301 may be configured to store other data to support operations on the electronic apparatus 1300. The examples of these data may include instructions of any applications or methods operated on the electronic apparatus 1300, contact data, phone book data, messages, pictures, videos, and the like.
[00165] The memory 1301 may be implemented by any kind of volatile or nonvolatile storage device or their combinations, such as static random access memory (SRAM), electronically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, disk memory, or optical disk.
[00166] The memory 1301 may be coupled to the processor 1302 and contain instructions stored thereon. The instructions may cause the electronic apparatus 1300 to perform operations upon being executed by the processor 1302, the operations may include:
implement the related processing procedures, processing logics, and program modules or the like performed in the corresponding examples shown in Fig. 1 to Fig. 12. The electronic apparatus 1300 may perform corresponding functional logics as a host and/or a switch in a distributed system.
[00167] Detailed description has been made on the above operations in the above embodiments of method and device. The description on the above operations may be applied to electronic apparatus 1300. That is to say, the specific operations mentioned in the above embodiments may be recorded in memory 1301 in program and be performed by processor 1302.
[00168] Furthermore, as shown in Fig. 13, the electronic apparatus 1300 may further include: a communication unit 1303, a power supply unit 1304, an audio unit 1305, a display unit 1306, chipset 1307, and other units. Only part of units are exemplarily shown in Fig. 13 and it is obvious to one skilled in the art that the electronic apparatus 1300 only includes the units shown in Fig. 13.
[00169] The communication unit 1303 may be configured to facilitate wireless or wired communication between the electronic apparatus 1300 and other apparatuses. The electronic apparatus may be connected to wireless network based on communication standard, such as WiFi, 2G, 3G, or their combination. In an exemplary example, the communication unit 1303 may receive radio signal or radio related information from external radio management system via radio channel. In an exemplary example, the communication unit 1303 may further include near field communication (NFC) module for facilitating short-range communication. For example, the NFC module may be implemented with radio frequency identification (RFID) technology, Infrared data association (IrDA) technology, ultra wideband (UWB) technology, Bluetooth (BT) technology and other technologies.
[00170] The power supply unit 1304 may be configured to supply power to various units of the electronic device. The power supply unit 1304 may include a power supply management system, one or more power supplies, and other units related to power generation, management, and allocation.
[00171] The audio unit 1305 may be configured to output and/or input audio signals. For example, the audio unit 1305 may include a microphone (MIC). When the electronic apparatus in an operation mode, such as calling mode, recording mode, and voice recognition mode, the MIC may be configured to receive external audio signals. The received audio signals may be further stored in the memory 1301 or sent via the communication unit 1303. In some examples, the audio unit 1305 may further include a speaker configured to output audio signals.
[00172] The display unit 1306 may include a screen, which may include liquid crystal display (LCD) and touch panel (TP). If the screen includes a touch panel, the screen may be implemented as touch screen so as to receive input signal from users. The touch panel may include a plurality of touch sensors to sense touching, sliding, and gestures on the touch panel. The touch sensor may not only sense edges of touching or sliding actions, but also sense period and pressure related to the touching or sliding operations.
[00173] The above memory 1301, processor 1302, communication unit 1303, power supply unit 1304, audio unit 1305 and display unit 1306 may be connected with the chipset 1307. The chipset 1307 may provide interface between the processor 1302 and other units of the electronic apparatus 1300. Furthermore, the chipset 1307 may provide interface for each unit of the electronic apparatus 1300 to access the memory 1301 and communication interface for accessing among units.
[00174] In some examples, one or more modules, one or more steps, or one or more processing procedures involved in Figs. 1 to 12 may be implemented by a computing device with an operating system and hardware configuration.
[00175] Fig. 14 is a structural block diagram of an exemplary computing apparatus 1400. For example, switches and hosts (sender hosts and receiver hosts) may be implemented in one or more computing apparatuses similar to computing apparatus 1400 in stationary computer embodiments, including one or more features of computing apparatus 1400 and/or alternative features. The description of computing apparatus 1400 provided herein is provided for purposes of illustration, and is not intended to be limiting. Embodiments may be implemented in further types of computer systems, as would be known to persons skilled in the relevant art(s).
[00176] As shown in FIG. 14, the computing apparatus 1400 includes one or more processors 1402, a system memory 1404, and a bus 1406 that couples various system components including system memory 1404 to processor 1402. Bus 1406 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. System memory 1404 includes read only memory (ROM) 1408, and random access memory (RAM) 1410. A basic input/output system 1412 (BIOS) is stored in ROM 1408.
[00177] The computing apparatus 1400 also has one or more of the following drives: a hard disk drive 1414 for reading from and writing to a hard disk, a magnetic disk drive 1416 for reading from or writing to a removable magnetic disk 1418, and an optical disk drive 1420 for reading from or writing to a removable optical disk 1422 such as a CD ROM, DVD ROM, or other optical media. Hard disk drive 1414, magnetic disk drive 1416, and optical disk drive 1420 are connected to bus 1406 by a hard disk drive interface 1424, a magnetic disk drive interface 1426, and an optical drive interface 1428, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer-readable instructions, data structures, program modules and other data for the computer. Although a hard disk, a removable magnetic disk and a removable optical disk are described, other types of computer-readable storage media can be used to store data, such as flash memory cards, digital video disks, RAMs, ROMs, and the like.
[00178] A number of program modules may be stored on the hard disk, magnetic disk, optical disk, ROM, or RAM. These programs include an operating system 1430, one or more application programs 1432, other program modules 1434, and program data 1436. These programs may include, for example, computer program logic (e.g., computer program code or instructions) for implementing processing procedures, processing logics, and program modules performed in the examples shown in Fig. 1 to Fig. 12.
[00179] A user may enter commands and information into computing apparatus 1400 through input devices such as a keyboard 1438 and a pointing device 1440. Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, a touch screen and/or touch pad, a voice recognition system to receive voice input, a gesture recognition system to receive gesture input, or the like. These and other input devices may be connected to processor 1402 through a serial port interface 1442 that is coupled to bus 1406, but may be connected by other interfaces, such as a parallel port, game port, or a universal serial bus (USB).
[00180] A display screen 1444 is also connected to bus 1406 via an interface, such as a video adapter 1446. Display screen 1444 may be external to, or incorporated in computing apparatus 1400. Display screen 1444 may display information, as well as being a user interface for receiving user commands and/or other information (e.g., by touch, finger gestures, virtual keyboard, etc.). In addition to display screen 1444, the computing apparatus 1400 may include other peripheral output devices (not shown) such as speakers and printers.
[00181] The computing apparatus 1400 is connected to a network 1448 (e.g., the Internet) through an adaptor or network interface 1450, a modem 1452, or other means for establishing communications over the network. Modem 1452, which may be internal or external, may be connected to bus 1406 via serial port interface 1442, as shown in FIG. 14, or may be connected to bus 1406 using another interface type, including a parallel interface.
[00182] As used herein, the terms "computer program medium," "computer-readable medium," and "computer-readable storage medium" are used to generally refer to media such as the hard disk associated with hard disk drive 1414, removable magnetic disk 1418, removable optical disk 1422, system memory 1404, flash memory cards, digital video disks, RAMs, ROMs, and further types of physical/tangible storage media. Such computer-readable storage media are distinguished from and non-overlapping with communication media (do not include communication media). Communication media typically embodies computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wireless media such as acoustic, RF, infrared and other wireless media, as well as wired media. Embodiments are also directed to such
communication media.
[00183] As noted above, computer programs and modules (including application programs 1432 and other program modules 1434) may be stored on the hard disk, magnetic disk, optical disk, ROM, or RAM. Such computer programs may also be received via network interface 1450, serial port interface 1442, or any other interface type. Such computer programs, when executed or loaded by an application, enable computing apparatus 1400 to implement features of embodiments discussed herein. Accordingly, such computer programs represent controllers of the computing apparatus 1400.
[00184] As such, embodiments are also directed to computer program products including computer instructions/code stored on any computer useable storage medium. Such code/instructions, when executed in one or more data processing devices, causes a data processing device(s) to operate as described herein. Examples of computer-readable storage devices that may include computer readable storage media include storage devices such as RAM, hard drives, floppy disk drives, CD ROM drives, DVD ROM drives, zip disk drives, tape drives, magnetic storage device drives, optical storage device drives, MEMs devices, nanotechnology -based storage devices, and further types of
physical/tangible computer readable storage devices.
[00185] Example Clauses
[00186] A. A device, including an attention model processing module, an internal state vector generating module, and a logistic regression discriminating module, wherein the attention model processing module and the internal state vector generating module perform iterative processing on internal state vectors for a plurality of rounds under the control of the logistic regression discriminating module;
[00187] the attention model processing module is configured to generate an attention vector of a current round according to an internal state vector of the current round and an external storage vector;
[00188] the internal state vector generating module is configured to generate an initial internal state vector at least according to a user query vector, and generate the internal state vector of the current round at least according to an internal state vector of a former round and the attention vector of the current round; and
[00189] the logistic regression discriminating module is configured to discriminate the internal state vector of the current round to determine whether or not to terminate the iterative processing.
[00190] B. The device according to paragraph A, wherein the internal state vector generating module is further configured to generate an initial internal state vector according to a user query vector, an initial intention state vector generated based on the user query vector and an initial reply state vector, and generate an internal state vector of the current round according to an internal state vector of a former round and an attention vector of the current round generated based on the internal state vector of the former round.
[00191] C. The device according to paragraph A, further including: an external storage vector generating module configured to generate the external storage vector according to one of user wiki storage data, conversation content storage data, conversation topic storage data and open field knowledge storage data or combination thereof.
[00192] D. The device according to paragraph A, further including:
[00193] a reply information generating module configured to generate reply information according to the internal state vector of a final round when the iterative processing is terminated.
[00194] E. The device according to paragraph B, wherein the intention state vector includes information about emotional concern and/or task orientation.
[00195] F. A method, including:
[00196] acquiring information of at least one first key -value pair related to a user from first content information of a social network of the user; and
[00197] inputting the information of the first key-value pair and a chatting log of the user into a key -value pair profile classifier, so as to output an accuracy rate for assigning the information of the at least one first key -value pair to the user as a profile of user wiki.
[00198] G. The method according to paragraph F, further including:
[00199] acquiring information of at least one second key -value pair from profile information of the social network;
[00200] acquiring second content information of the social network containing a value of the information of the second key-value pair;
[00201] parsing a syntactic dependency relationship of the second content information and extracting a structural feature to generate feature training data for training the key -value pair profile classifier; and
[00202] training a machine learning classifier by using the training data to generate the key -value pair profile classifier.
[00203] H. The method according to paragraph G, wherein the acquiring information of at least one first key -value pair related to a user from first content information of a social network of the user includes:
[00204] acquiring the information of the first key -value pair from the first content information by using an entity transition rule according to a preset set of keys.
[00205] I. The method according to paragraph F, wherein the inputting the information of the first key -value pair and a chatting log of the user into a key -value pair profile classifier further includes:
[00206] performing feature extraction on the first key -value pair and a chatting log of the user according to a preset feature template to generate feature vectors, and input the feature vectors into the key -value pair profile classifier, the feature template includes one of the following feature items or combination thereof:
[00207] frequency by which a key -value pair, <key, value>, appears in a profile database of a current user;
[00208] frequency by which a key -value pair, <key, value>, appears in content information of social networks of other users having social relationships with the current user;
[00209] frequency by which a key-value pair, <key, value>, is mentioned in a chatting log of the current user;
[00210] word vector cosine similarity score between dense vectors of key and value;
[00211] average distance between key and value in the user’s chatting log;
[00212] key in the key-value pair information;
[00213] value in the key -value pair information;
[00214] key-value pair information <key, value>;
[00215] key already owned by the current user in the wiki profile thereof;
[00216] editing distance similarity between“value” in the key-value pair information as input data and existing value for current“key” in current user’s wiki profile ; and
[00217] word vector similarity between“value” in the key -value pair information as input data and existing values for current“key” in current user’s wiki profile.
[00218] J. An electronic apparatus, including:
[00219] a processing unit; and
[00220] a memory, coupled to the processing unit and containing instructions stored thereon, the instructions cause the electronic apparatus to perform operations upon being executed by the processing unit, the operations including:
[00221] acquiring information of at least one first key -value pair related to a user from first content information of a social network of the user; and
[00222] inputting the information of the first key -value pair and a chatting log of the user into a key -value pair profile classifier, so as to output an accuracy rate for assigning the information of the at least one first key -value pair to the user as a profile of user wiki.
[00223] K. The electronic apparatus according to paragraph J, wherein the operations further include:
[00224] acquiring information of at least one second key -value pair from profile information of the social network;
[00225] acquiring second content information of the social network containing a value of the information of the second key-value pair;
[00226] parsing a syntactic dependency relationship of the second content information and extracting a structural feature to generate feature training data for training the key -value pair profile classifier; and
[00227] training a machine learning classifier by using the training data to generate the key -value pair profile classifier.
[00228] L. The electronic apparatus according to paragraph J, wherein the acquiring information of at least one first key -value pair related to a user from first content information of a social network of the user includes:
[00229] acquiring the information of the first key -value pair from the first content information by using an entity transition rule according to a preset set of keys.
[00230] M. An electronic apparatus, including: [00231] a processing unit; and
[00232] a memory, coupled to the processing unit and containing instructions stored thereon, the instructions cause the electronic apparatus to perform operations upon being executed by the processing unit, the operations include:
[00233] generating an attention model processing module, an internal state vector generating module, and a logistic regression discriminating module, wherein the attention model processing module and the internal state vector generating module perform iterative processing on internal state vectors for a plurality of rounds under the control of the logistic regression discriminating module;
[00234] the attention model processing module is configured to generate an attention vector of a current round according to an internal state vector of the current round and an external storage vector;
[00235] the internal state vector generating module is configured to generate an initial internal state vector at least according to a user query vector, and generate the internal state vector of the current round at least according to an internal state vector of a former round and the attention vector of the current round; and
[00236] the logistic regression discriminating module is configured to discriminate the internal state vector of the current round to determine whether or not to terminate the iterative processing.
[00237] N. The electronic apparatus according to paragraph M, wherein the internal state vector generating module is further configured to generate an initial internal state vector according to a user query vector, an initial intention state vector generated based on the user query vector and an initial reply state vector, and generate an internal state vector of the current round according to an internal state vector of a former round and an attention vector of the current round generated based on the internal state vector of the former round.
[00238] O. The electronic apparatus according to paragraph M, wherein the operations further include: an external storage vector generating module configured to generate the external storage vector according to one of user wiki storage data, conversation content storage data, conversation topic storage data and open field knowledge storage data or combination thereof.
[00239] P. The electronic apparatus according to paragraph M, wherein the operations further include:
[00240] generating a reply information generating module configured to generate reply information according to the internal state vector of a final round when the iterative processing is terminated.
[00241] Q. The electronic apparatus according to paragraph N, wherein the intention state vector includes information about emotional concern and/or task orientation.
[00242] R. A device, including:
[00243] an input layer processing module configured to vectorize each word in a plurality of sentences in a conversation to generate word vector representations of the sentences;
[00244] an intra-sentence RNN layer processing module configured to perform processing on the word vector representations of a plurality of sentences to generate sentence vector representations of the whole sentences;
[00245] an inter-sentence RNN layer processing module configured to perform processing on a plurality of sentence vector representations output by the intra-sentence RNN layer to output a conversation vector representation of the conversation; and
[00246] a Softmax function processing module configured to determine a state probability corresponding to each title in a given list of lifecycle states according to the conversation vector representation.
[00247] S. An electronic apparatus, including:
[00248] a processing unit; and
[00249] a memory, coupled to the processing unit and containing instructions stored thereon, the instructions cause the electronic apparatus to perform operations upon being executed by the processing unit, the operations include generating an input layer processing module, an intra-sentence RNN layer, an inter-sentence RNN layer processing module, and a Softmax function processing module, wherein
[00250] the input layer processing module is configured to vectorize each word in a plurality of sentences in a conversation to generate word vector representations of the sentences; [00251] the intra- sentence RNN layer processing module is configured to perform processing on the word vector representations of a plurality of sentences to generate sentence vector representations of the whole sentences;
[00252] the inter- sentence RNN layer processing module is configured to perform processing on a plurality of sentence vector representations output by the intra-sentence RNN layer to output a conversation vector representation of the conversation; and
[00253] the Softmax function processing module is configured to determine a state probability corresponding to each title in a given list of lifecycle states according to the conversation vector representation.
[00254] Conclusion
[00255] There is little distinction left between hardware and software implementations of aspects of systems; the use of hardware or software is generally (but not always, in that in certain contexts the choice between hardware and software can become significant) a design choice representing cost versus efficiency tradeoffs. There are various vehicles by which processes and/or systems and/or other technologies described herein can be effected (e.g., hardware, software, and/or firmware), and that the preferred vehicle will vary with the context in which the processes and/or systems and/or other technologies are deployed. For example, if an implementer determines that speed and accuracy are paramount, the implementer may opt for a mainly hardware and/or firmware vehicle; if flexibility is paramount, the implementer may opt for a mainly software implementation; or, yet again alternatively, the implementer may opt for some combination of hardware, software, and/or firmware.
[00256] The foregoing detailed description has set forth various embodiments of the devices and/or processes via the use of block diagrams, flowcharts, and/or examples.
Insofar as such block diagrams, flowcharts, and/or examples contain one or more functions and/or operations, it will be understood by those within the art that each function and/or operation within such block diagrams, flowcharts, or examples can be implemented, individually and/or collectively, by a wide range of hardware, software, firmware, or virtually any combination thereof. In one embodiment, several portions of the subject matter described herein may be implemented via Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), digital signal processors (DSPs), or other integrated formats. However, those skilled in the art will recognize that some aspects of the embodiments disclosed herein, in whole or in part, can be equivalently implemented in integrated circuits, as one or more computer programs running on one or more computers (e.g., as one or more programs running on one or more computer systems), as one or more programs running on one or more processors (e.g., as one or more programs running on one or more microprocessors), as firmware, or as virtually any combination thereof, and that designing the circuitry and/or writing the code for the software and or firmware would be well within the skill of one of skill in the art in light of this disclosure. In addition, those skilled in the art will appreciate that the mechanisms of the subject matter described herein are capable of being distributed as a program product in a variety of forms, and that an illustrative embodiment of the subject matter described herein applies regardless of the particular type of signal bearing medium used to actually carry out the distribution. Examples of a signal bearing medium include, but are not limited to, the following: a recordable type medium such as a floppy disk, a hard disk drive, a Compact Disc (CD), a Digital Versatile Disk (DVD), a digital tape, a computer memory, etc.; and a transmission type medium such as a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.).
[00257] Those skilled in the art will recognize that it is common within the art to describe devices and/or processes in the fashion set forth herein, and thereafter use engineering practices to integrate such described devices and/or processes into data processing systems. That is, at least a portion of the devices and/or processes described herein can be integrated into a data processing system via a reasonable amount of experimentation.
Those having skill in the art will recognize that a typical data processing system generally includes one or more of a system unit housing, a video display device, a memory such as volatile and non-volatile memory, processors such as microprocessors and digital signal processors, computational entities such as operating systems, drivers, graphical user interfaces, and applications programs, one or more interaction devices, such as a touch pad or screen, and/or control systems including feedback loops and control motors (e.g., feedback for sensing position and/or velocity; control motors for moving and/or adjusting components and/or quantities). A typical data processing system may be implemented utilizing any suitable commercially available components, such as those typically found in data computing/communication and/or network computing/communication systems.
[00258] The herein described subject matter sometimes illustrates different components contained within, or connected with, different other components. It is to be understood that such depicted architectures are merely exemplary, and that in fact many other architectures can be implemented which achieve the same functionality. In a conceptual sense, any arrangement of components to achieve the same functionality is effectively "associated" such that the desired functionality is achieved. Hence, any two components herein combined to achieve a particular functionality can be seen as "associated with" each other such that the desired functionality is achieved, irrespective of architectures or intermedial components. Likewise, any two components so associated can also be viewed as being "operably connected", or "operably coupled", to each other to achieve the desired functionality, and any two components capable of being so associated can also be viewed as being "operably couplable", to each other to achieve the desired functionality. Specific examples of operably couplable include but are not limited to physically mateable and/or physically interacting components and/or wirelessly interactable and/or wirelessly interacting components and/or logically interacting and/or logically interactable components.
[00259] With respect to the use of substantially any plural and/or singular terms herein, those having skill in the art can translate from the plural to the singular and/or from the singular to the plural as is appropriate to the context and/or application. The various singular/plural permutations may be expressly set forth herein for sake of clarity.
[00260] It will be understood by those within the art that, in general, terms used herein, and especially in the appended claims (e.g., bodies of the appended claims) are generally intended as "open" terms (e.g., the term "including" should be interpreted as "including but not limited to," the term "having" should be interpreted as "having at least," the term "includes" should be interpreted as "includes but is not limited to," etc.). It will be further understood by those within the art that if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to
understanding, the following appended claims may contain usage of the introductory phrases "at least one" and "one or more" to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles "a" or "an" limits any particular claim containing such introduced claim recitation to disclosures containing only one such recitation, even when the same claim includes the introductory phrases "one or more" or "at least one" and indefinite articles such as "a" or "an" (e.g., "a" and/or "an" should typically be interpreted to mean "at least one" or "one or more"); the same holds true for the use of definite articles used to introduce claim recitations. In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should typically be interpreted to mean at least the recited number (e.g., the bare recitation of "two recitations," without other modifiers, typically means at least two recitations, or two or more recitations). Furthermore, in those instances where a convention analogous to "at least one of A, B, and C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B, and C" would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). In those instances where a convention analogous to "at least one of A, B, or C, etc." is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., "a system having at least one of A, B, or C" would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). It will be further understood by those within the art that virtually any disjunctive word and/or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase "A or B" will be understood to include the possibilities of "A" or "B" or "A and B."
[00261] Reference in the specification to“an implementation”,“one implementation”, “some implementations”, or“other implementations” may mean that a particular feature, structure, or characteristic described in connection with one or more implementations may be included in at least some implementations, but not necessarily in all implementations. The various appearances of“an implementation”,“one implementation”, or“some implementations” in the preceding description are not necessarily all referring to the same implementations.
[00262] While certain exemplary techniques have been described and shown herein using various methods and systems, it should be understood by those skilled in the art that various other modifications may be made, and equivalents may be substituted, without departing from claimed subject matter. Additionally, many modifications may be made to adapt a particular situation to the teachings of claimed subject matter without departing from the central concept described herein. Therefore, it is intended that claimed subject matter not be limited to the particular examples disclosed, but that such claimed subject matter also may include all implementations falling within the scope of the appended claims, and equivalents thereof.
[00263] Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described. Rather, the specific features and acts are disclosed as illustrative forms of implementing the claims.
[00264] Conditional language such as, among others, "can," "could," "might" or "may," unless specifically stated otherwise, are otherwise understood within the context as used in general to present that certain examples include, while other examples do not include, certain features, elements and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more examples or that one or more examples necessarily include logic for deciding, with or without user input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular example.
[00265] Conjunctive language such as the phrase "at least one of X, Y or Z," unless specifically stated otherwise, is to be understood to present that an item, term, etc. can be either X, Y, or Z, or a combination thereof.
[00266] Any routine descriptions, elements or blocks in the flow diagrams described herein and/or depicted in the attached figures should be understood as potentially representing modules, segments, or portions of code that include one or more executable instructions for implementing specific logical functions or elements in the routine.
Alternate examples are included within the scope of the examples described herein in which elements or functions can be deleted, or executed out of order from that shown or discussed, including substantially synchronously or in reverse order, depending on the functionality involved as would be understood by those skilled in the art.
[00267] It should be emphasized that many variations and modifications can be made to the above-described examples, the elements of which are to be understood as being among other acceptable examples. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims [00268] It would be obvious to one skilled in the art that, all or part of steps for implementing the above embodiments may be accomplished by hardware related to programs or instructions. The above program may be stored in a computer readable storing medium. Such program may perform the steps of the above embodiments upon being executed. The above storing medium may include: ROM, RAM, magnetic disk, or optic disk or other medium capable of storing program codes.
[00269] It should be noted that the foregoing embodiments are merely used to illustrate the technical solution of the present disclosure, and not to limit the present disclosure. Although the present disclosure has been described in detail with reference to the foregoing embodiments, one skilled in the art would understand that the technical solutions recited in the foregoing embodiments may be modified or all or a part of the technical features may be replaced equally. These modifications and replacements are not intended to make corresponding technical solution depart from the scope of the technical solution of embodiments of the present disclosure.

Claims

1. A device, comprising an attention model processing module, an internal state vector generating module, and a logistic regression discriminating module, wherein the attention model processing module and the internal state vector generating module perform iterative processing on internal state vectors for a plurality of rounds under the control of the logistic regression discriminating module;
the attention model processing module is configured to generate an attention vector of a current round according to an internal state vector of the current round and an external storage vector;
the internal state vector generating module is configured to generate an initial internal state vector at least according to a user query vector, and generate the internal state vector of the current round at least according to an internal state vector of a former round and the attention vector of the current round; and
the logistic regression discriminating module is configured to discriminate the internal state vector of the current round to determine whether or not to terminate the iterative processing.
2. The device according to claim 1, wherein the internal state vector generating module is further configured to generate an initial internal state vector according to a user query vector, an initial intention state vector generated based on the user query vector and an initial reply state vector, and generate an internal state vector of the current round according to an internal state vector of a former round and an attention vector of the current round generated based on the internal state vector of the former round.
3. The device according to claim 1, further comprising: an external storage vector generating module configured to generate the external storage vector according to one of user wiki storage data, conversation content storage data, conversation topic storage data and open field knowledge storage data or combination thereof.
4. The device according to claim 1, further comprising:
a reply information generating module configured to generate reply information according to the internal state vector of a final round when the iterative processing is terminated.
5. The device according to claim 2, wherein the intention state vector comprises information about emotional concern and/or task orientation.
6. A method, comprising:
acquiring information of at least one first key-value pair related to a user from first content information of a social network of the user; and
inputting the information of the first key-value pair and a chatting log of the user into a key-value pair profile classifier, so as to output an accuracy rate for assigning the information of the at least one first key -value pair to the user as a profile of user wiki.
7. The method according to claim 6, further comprising:
acquiring information of at least one second key-value pair from profile information of the social network;
acquiring second content information of the social network containing a value of the information of the second key -value pair;
parsing a syntactic dependency relationship of the second content information and extracting a structural feature to generate feature training data for training the key-value pair profile classifier; and
training a machine learning classifier by using the training data to generate the key -value pair profile classifier.
8. The method according to claim 7, wherein the acquiring information of at least one first key-value pair related to a user from first content information of a social network of the user comprises:
acquiring the information of the first key-value pair from the first content information by using an entity transition rule according to a preset set of keys.
9. An electronic apparatus, comprising:
a processing unit; and
a memory, coupled to the processing unit and containing instructions stored thereon, the instructions cause the electronic apparatus to perform operations upon being executed by the processing unit, the operations comprise:
generating an attention model processing module, an internal state vector generating module, and a logistic regression discriminating module, wherein the attention model processing module and the internal state vector generating module perform iterative processing on internal state vectors for a plurality of rounds under the control of the logistic regression discriminating module;
the attention model processing module is configured to generate an attention vector of a current round according to an internal state vector of the current round and an external storage vector;
the internal state vector generating module is configured to generate an initial internal state vector at least according to a user query vector, and generate the internal state vector of the current round at least according to an internal state vector of a former round and the attention vector of the current round; and
the logistic regression discriminating module is configured to discriminate the internal state vector of the current round to determine whether or not to terminate the iterative processing.
10. The electronic apparatus according to claim 9, wherein the internal state vector generating module is further configured to generate an initial internal state vector according to a user query vector, an initial intention state vector generated based on the user query vector and an initial reply state vector, and generate an internal state vector of the current round according to an internal state vector of a former round and an attention vector of the current round generated based on the internal state vector of the former round.
11. The electronic apparatus according to claim 9, wherein the operations further comprise: an external storage vector generating module configured to generate the external storage vector according to one of user wiki storage data, conversation content storage data, conversation topic storage data and open field knowledge storage data or combination thereof.
12. The electronic apparatus according to claim 9, wherein the operations further comprise:
generating a reply information generating module configured to generate reply information according to the internal state vector of a final round when the iterative processing is terminated.
13. The electronic apparatus according to claim 10, wherein the intention state vector comprises information about emotional concern and/or task orientation.
PCT/US2019/027405 2018-05-03 2019-04-13 Generating response based on user's profile and reasoning on contexts WO2019212729A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810414548.9A CN110457445A (en) 2018-05-03 2018-05-03 Answer generation technique based on user's portrait and Context Reasoning
CN201810414548.9 2018-05-03

Publications (1)

Publication Number Publication Date
WO2019212729A1 true WO2019212729A1 (en) 2019-11-07

Family

ID=66542516

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2019/027405 WO2019212729A1 (en) 2018-05-03 2019-04-13 Generating response based on user's profile and reasoning on contexts

Country Status (2)

Country Link
CN (1) CN110457445A (en)
WO (1) WO2019212729A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111597339A (en) * 2020-05-22 2020-08-28 北京慧闻科技(集团)有限公司 Document-level multi-round conversation intention classification method, device, equipment and storage medium
CN112035613A (en) * 2020-08-28 2020-12-04 光大科技有限公司 Information pushing method and device based on multiple rounds of conversations, storage medium and electronic device
CN112989814A (en) * 2021-02-25 2021-06-18 ***股份有限公司 Retrieval map construction method, retrieval device, retrieval equipment and storage medium
JPWO2021234838A1 (en) * 2020-05-20 2021-11-25
WO2023185515A1 (en) * 2022-03-30 2023-10-05 北京字节跳动网络技术有限公司 Feature extraction method and apparatus, and storage medium and electronic device

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112507128A (en) * 2020-12-07 2021-03-16 云南电网有限责任公司普洱供电局 Content filling prompting method for power distribution network operation file and related equipment
CN116319630A (en) * 2023-03-07 2023-06-23 北京奇艺世纪科技有限公司 Message reply method and device, electronic equipment and readable storage medium

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017112496A1 (en) * 2015-12-22 2017-06-29 Microsoft Technology Licensing, Llc Emotionally intelligent chat engine

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8782145B2 (en) * 2010-01-28 2014-07-15 Microsoft Corporation Following content item updates via chat groups
US20110258203A1 (en) * 2010-04-16 2011-10-20 Wouhaybi Rita H Methods and systems for relationship characterization and utilization from a user's social networks
CN105141503A (en) * 2015-08-13 2015-12-09 北京北信源软件股份有限公司 Novel instant messaging intelligent robot
US20180025726A1 (en) * 2016-07-22 2018-01-25 International Business Machines Corporation Creating coordinated multi-chatbots using natural dialogues by means of knowledge base
CN106528692A (en) * 2016-10-31 2017-03-22 北京百度网讯科技有限公司 Dialogue control method and device based on artificial intelligence
CN107704612A (en) * 2017-10-23 2018-02-16 北京光年无限科技有限公司 Dialogue exchange method and system for intelligent robot

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017112496A1 (en) * 2015-12-22 2017-06-29 Microsoft Technology Licensing, Llc Emotionally intelligent chat engine

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ALLANJEONG: "Conversation threading", 21 January 2018 (2018-01-21), XP055609381, Retrieved from the Internet <URL:https://en.wikipedia.org/w/index.php?title=Conversation_threading&oldid=821633684> [retrieved on 20190729] *
NEMO BIS: "Iterative method", 20 April 2018 (2018-04-20), XP055609388, Retrieved from the Internet <URL:https://en.wikipedia.org/w/index.php?title=Iterative_method&oldid=837449651> [retrieved on 20190729] *
NØKKENBUER: "Wiki", 26 April 2018 (2018-04-26), XP055609500, Retrieved from the Internet <URL:https://en.wikipedia.org/w/index.php?title=Wiki&oldid=838322027> [retrieved on 20190729] *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2021234838A1 (en) * 2020-05-20 2021-11-25
WO2021234838A1 (en) * 2020-05-20 2021-11-25 日本電信電話株式会社 Response-sentence generating device, response-sentence-generation model learning device, and method and program therefor
JP7428245B2 (en) 2020-05-20 2024-02-06 日本電信電話株式会社 Response sentence generator and program
CN111597339A (en) * 2020-05-22 2020-08-28 北京慧闻科技(集团)有限公司 Document-level multi-round conversation intention classification method, device, equipment and storage medium
CN112035613A (en) * 2020-08-28 2020-12-04 光大科技有限公司 Information pushing method and device based on multiple rounds of conversations, storage medium and electronic device
CN112035613B (en) * 2020-08-28 2023-09-12 光大科技有限公司 Information pushing method and device based on multi-round dialogue, storage medium and electronic device
CN112989814A (en) * 2021-02-25 2021-06-18 ***股份有限公司 Retrieval map construction method, retrieval device, retrieval equipment and storage medium
CN112989814B (en) * 2021-02-25 2023-08-18 ***股份有限公司 Search map construction method, search device, search apparatus, and storage medium
WO2023185515A1 (en) * 2022-03-30 2023-10-05 北京字节跳动网络技术有限公司 Feature extraction method and apparatus, and storage medium and electronic device

Also Published As

Publication number Publication date
CN110457445A (en) 2019-11-15

Similar Documents

Publication Publication Date Title
US11238239B2 (en) In-call experience enhancement for assistant systems
US11231946B2 (en) Personalized gesture recognition for user interaction with assistant systems
US11657094B2 (en) Memory grounded conversational reasoning and question answering for assistant systems
WO2019212729A1 (en) Generating response based on user&#39;s profile and reasoning on contexts
US10366168B2 (en) Systems and methods for a multiple topic chat bot
US10007660B2 (en) Contextual language understanding for multi-turn language tasks
US20210314523A1 (en) Proactive In-Call Content Recommendations for Assistant Systems
US20210409234A1 (en) Using A Single Request for Multi-Person Calling in Assistant Systems
EP3557500A1 (en) Building customized user profiles based on conversational data
CN110209778A (en) A kind of method and relevant apparatus of dialogue generation
EP3557498A1 (en) Processing multimodal user input for assistant systems
WO2020167860A1 (en) Techniques for generating digital personas
US20220222955A1 (en) Context-based shape extraction and interpretation from hand-drawn ink input
CN110134938A (en) Comment and analysis method and device
US20230236555A1 (en) Event-Based Reasoning for Assistant Systems
US20230283878A1 (en) Smart Cameras Enabled by Assistant Systems

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: 19724291

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: 19724291

Country of ref document: EP

Kind code of ref document: A1