CN111048088A - Voice interaction method and device for multiple application programs - Google Patents
Voice interaction method and device for multiple application programs Download PDFInfo
- Publication number
- CN111048088A CN111048088A CN201911363227.1A CN201911363227A CN111048088A CN 111048088 A CN111048088 A CN 111048088A CN 201911363227 A CN201911363227 A CN 201911363227A CN 111048088 A CN111048088 A CN 111048088A
- Authority
- CN
- China
- Prior art keywords
- app
- slot position
- apps
- slot
- user
- Prior art date
- Legal status (The legal status 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 status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 118
- 230000003993 interaction Effects 0.000 title claims abstract description 92
- 238000004590 computer program Methods 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 abstract description 132
- 230000000875 corresponding effect Effects 0.000 description 183
- 239000011159 matrix material Substances 0.000 description 84
- 230000006870 function Effects 0.000 description 71
- 238000001514 detection method Methods 0.000 description 56
- 238000010586 diagram Methods 0.000 description 45
- 230000004044 response Effects 0.000 description 34
- 230000008569 process Effects 0.000 description 24
- 238000012546 transfer Methods 0.000 description 23
- 238000012217 deletion Methods 0.000 description 21
- 230000037430 deletion Effects 0.000 description 21
- 238000012549 training Methods 0.000 description 19
- 101150053844 APP1 gene Proteins 0.000 description 18
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 18
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 18
- 238000012544 monitoring process Methods 0.000 description 18
- 230000001960 triggered effect Effects 0.000 description 18
- 238000012216 screening Methods 0.000 description 17
- 241001061076 Melanonus zugmayeri Species 0.000 description 14
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 12
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 12
- 230000006399 behavior Effects 0.000 description 11
- 230000002452 interceptive effect Effects 0.000 description 10
- 102100038359 Xaa-Pro aminopeptidase 3 Human genes 0.000 description 9
- 101710081949 Xaa-Pro aminopeptidase 3 Proteins 0.000 description 9
- 230000008859 change Effects 0.000 description 7
- 239000000284 extract Substances 0.000 description 4
- 238000007500 overflow downdraw method Methods 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 238000012937 correction Methods 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000037213 diet Effects 0.000 description 2
- 235000005911 diet Nutrition 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 244000269722 Thea sinensis Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 235000009569 green tea Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
The invention discloses a voice interaction method, which comprises the following steps: acquiring a voice command input by a user; judging whether the voice command of the user can be accurately executed or not; obtaining a slot position which is not filled by the APP for executing the voice command, calling an APP ecological graph, and obtaining candidate APPs which have directional edges with the APP for executing the voice command and point to the APP for executing the voice command in the direction of the directional edges; and extracting the content for filling the unfilled slot position from the candidate APP, and filling the content into the slot position corresponding to the APP. By the method, information transmission between APPs can be carried out in a targeted mode under the condition that the terminal does not have a real-time monitor, the exclusive APP information transmission mode of a user is customized, the intelligence of voice interaction is further improved, the man-machine interaction efficiency is improved, the power consumption of the terminal can be reduced, and the experience of the user is improved.
Description
Technical Field
The invention relates to the field of artificial intelligence, in particular to a voice interaction method.
Background
At present, the voice interaction function is widely applied to various application programs APP, and through a voice interaction mode, a user can acquire required information without manually inputting characters, and can perform multiple rounds of conversation with the application programs to meet the requirements of the user. However, in general, a task of a user cannot be independently completed through one application, multiple applications need to be called, when a user manually opens a new application, and when a monitor does not exist in a terminal to monitor the application condition of the APP, the newly opened APP cannot acquire a previous voice command of the user, and therefore cannot be used for analyzing the voice command in combination with a context, so that the user needs to completely inform the new application of relevant information of the task to correctly execute the task of the user, which makes the user feel cumbersome, and how to complete voice interaction with the application without repeatedly providing more information when the user newly opens the application is a problem to be solved.
On the other hand, the APP monitoring program is started for a long time to monitor the use of the APP by the user, certain requirements are made on the cruising ability of the terminal, and particularly, under the condition that the electric quantity of the terminal is small, the user may need to close the process, so that the understanding of the APP to the voice command of the user is influenced.
In addition, in other situations, there is a need for information transfer between APPs, and how to quickly and effectively transfer information between APPs and save power consumption of a terminal is an important problem to be solved.
Disclosure of Invention
Aiming at the problems in the prior art, the invention provides a method and a device for voice interaction based on an APP ecosystem.
The invention provides an APP ecological map generation method, which comprises the following steps
Step 11, monitoring interaction between a user and an APP;
step 12, obtaining and storing continuously used APP names and APP using sequences;
the continuous use of the APP means that the time for switching the APP currently in the foreground to the background operation or off and the time interval for switching another APP to the foreground operation are less than a preset continuous time interval;
step 13, judging whether information transmission or information transmission requirements exist among continuously used APPs; if yes, go to step 14;
step 14, establishing a directed graph among the APPs according to the sequence of using the APPs by the user and/or the calling relation among the APPs;
the nodes of the directed graph among the APPs are the APPs, the directed edges represent the sequence of using the APPs by a user or the calling sequence among the APPs, and the arrows of the directed edges point to the APPs which are used or called later;
step 16, generating an APP ecological graph according to the directed graph among the APPs;
wherein the APP ecological graph is a directed graph among a plurality of APPs established according to interactivity among the APPs.
Preferably, step 13 comprises:
the interaction between the user and the APP is monitored in real time,
judging whether the APP has a calling relation, if so, the APP has information transmission or information transmission requirement,
or judging whether continuously used APPs have the same slot position content, and if so, determining that information transmission or information transmission requirements exist among the APPs.
Preferably, if the slot positions have different contents, it is determined whether the same slot position or the slot position having the same attribute exists, and if so, it is determined that the information transmission or the information transmission requirement exists.
Preferably, in step 13, if it is determined that there is no information transfer or information transfer requirement between the continuously used APPs; step 15 is executed;
and step 15, deleting the stored APP pairs without information transmission or information transmission requirements.
Preferably, a weight coefficient is set for the directed edge, and the size of the weight coefficient represents the size of the probability of information transfer between two connected APPs.
The invention also provides an APP ecosystem generation device, which is used for initializing the APP ecosystem and comprises
The detection module is used for monitoring interaction between a user and the APP;
the generation module is used for acquiring and storing continuously used APP names and the APP using sequence;
the continuous use of the APP means that the time for switching the APP in the foreground to the background operation or closing and the time interval for switching another APP to the foreground operation are less than a preset continuous time interval;
the judging module is used for judging whether information transmission or information transmission requirements exist among continuously used APPs; if yes, triggering a generation module to establish a directed graph among the APPs;
the generation module is used for establishing a directed graph between the APPs according to the sequence of using the APPs by a user and/or the calling relation between the APPs;
the directed graph among the APPs comprises nodes and directed edges, wherein the nodes represent the APPs, the directed edges represent the sequence of using the APPs by a user or the calling sequence among the APPs, and arrows of the directed edges point to the APPs which are used or called later;
the generation module is also used for generating an APP ecological diagram according to the directed graph among the APPs;
wherein the APP ecological graph is a directed graph among a plurality of APPs established according to interactivity among the APPs.
Preferably, the detection module is specifically configured to monitor interactions between the user and the APP in real time,
the judging module is specifically used for judging whether the APP has a calling relationship, if so, the APP has information transmission or information transmission requirement,
or judging whether continuously used APPs have the same slot position content, and if so, determining that information transmission or information transmission requirements exist among the APPs.
Preferably, the determining module is further configured to determine whether the slot locations have the same or the same attribute when the content of the slot locations is different, and if so, determine that the information transfer or the information transfer requirement exists.
Preferably, if the judging module judges that no information transmission or information transmission requirement exists between the continuously used APPs, the generating module is triggered to delete the stored APP pair which does not have the information transmission or information transmission requirement;
and the generation module is used for deleting the stored APP pairs without information transmission or information transmission requirements according to the trigger message of the judgment module.
Preferably, the generating module is further configured to set a weight coefficient for the directed edge, where a size of the weight coefficient indicates a size of a probability of information transfer between two APPs connected thereto.
The invention also provides a method for generating the APP ecosystem, which comprises the following steps
Step 21, detecting the behavior of the voice assistant;
step 22, acquiring and storing APP names continuously called by the voice assistant when executing the task, and calling APP sequences;
step 23, judging whether information transmission or information transmission requirements exist among the continuously called APPs; if yes, go to step 24;
step 24, establishing a directed graph among the APPs according to the sequence of continuously calling the APPs; step 26 is executed;
step 26, generating an APP ecological graph according to the directed graph among the APPs;
wherein, the step 24 further comprises the following steps:
if the calling relation exists among the APPs, a slot position of a previously used APP utilized by the called APP is obtained, and the slot position is set as a slot position with a directed edge;
if a slot position for filling the same slot position content exists between the APPs, the slot position for filling the same slot position content in advance is set as a slot position with a directed edge, and the direction of the directed edge is determined to point from the APP for filling the same slot position content in advance to the APP for filling the same slot position content in the later.
Preferably, step 24 further comprises the steps of:
step 241, judging whether a directed graph exists among the APPs, and if so, executing step 242; if not, go to step 245;
step 242, determining whether the direction of the directional edge to be established is the same as the direction of the existing directional edge, if so, executing step 243, and if not, executing step 244;
step 243, increasing the weight coefficient of the directional edge in the same direction as the direction;
step 244, establishing a directed edge with a new direction;
step 245, establishing directed edges between the APPs.
Preferably, before step 21, the following steps are also included
Step 01, obtaining an APP name installed in a terminal;
step 02, classifying the APPs according to functions, grouping the APPs with the same or similar functions into a cluster, and forming one or more APP clusters; wherein there are one or more APPs in the APP cluster.
Preferably, before step 21, the following steps are performed
103, judging whether the terminal has an APP ecosystem, and if not, executing the step 21; if yes, the process is ended.
The invention also provides an APP ecosystem generation device which is used for constructing the APP ecosystem and is characterized by comprising
The monitoring module is used for detecting the behavior of the voice assistant;
the generating module is used for acquiring and storing APP names continuously called by the voice assistant when the voice assistant executes a task and calling the APP sequence;
the judging module is used for judging whether information transmission or information transmission requirements exist among the continuously called APPs; if yes, triggering a generation module to establish a directed graph among the APPs;
the generation module is used for establishing a directed graph between the APPs according to the sequence of continuously calling the APPs;
the generation module is also used for generating an APP ecological diagram according to the directed graph among the APPs;
the generation module is further to:
if the calling relation exists among the APPs, a slot position of a previously used APP utilized by the called APP is obtained, and the slot position is set as a slot position with a directed edge;
if a slot position for filling the same slot position content exists between the APPs, the slot position for filling the same slot position content in advance is set as a slot position with a directed edge, and the direction of the directed edge is determined to point from the APP for filling the same slot position content in advance to the APP for filling the same slot position content in the later.
Preferably, before the generation module establishes the directed graph between the APPs, the following steps are further performed:
step 241, judging whether a directed graph exists among the APPs, and if so, executing step 242; if not, go to step 245;
step 242, determining whether the direction of the directional edge to be established is the same as the direction of the existing directional edge, if so, executing step 243, and if not, executing step 244;
step 243, increasing the weight coefficient of the directional edge in the same direction as the direction;
step 244, establishing a directed edge with a new direction;
step 245, establishing directed edges between the APPs.
Preferably, before the detection module performs its detection function, the generation module is further configured to perform the following steps:
step 01, obtaining an APP name installed in a terminal;
step 02, classifying the APPs according to functions, grouping the APPs with the same or similar functions into a cluster, and forming one or more APP clusters; wherein the APP cluster comprises one or more APPs.
Preferably, before the detection module executes the detection function, whether the terminal has the APP ecosystem is judged, and if not, the detection function is executed.
The invention also provides a method for establishing the slot position information incidence relation, which comprises the following steps:
step 201, an APP ecosystem generates an application execution detection function;
step 202, detecting interactions between a user and all used APPs;
step 203, obtaining and storing the slot position and the slot position content which are filled when the APP executes the task, and the time for filling the slot position content;
step 204, judging whether the user still has interaction with the APP, if so, executing step 202; if not, go to step 205;
step 205, judging whether slot positions filled when multiple APPs execute tasks and slot position content information are stored, if not, executing step 206; if yes, go to step 207;
and step 206, closing or sleeping the APP ecosystem generation application.
Step 207, judging whether information transmission or information transmission requirements exist among the APPs, and if so, taking the slot position where the information transmission or information transmission requirements exist as a public slot position among the APPs; if not, the process is ended.
Preferably, step 207 specifically comprises the following steps
Step 2071, determining whether the time interval of any two or more stored APP filling slot contents is smaller than a predetermined continuous time interval, if so, executing step 2072, and if not, executing step 2074;
step 2072, grouping the APPs that meet the condition into a group; judging whether any two or more APPs in each group fill the same slot position content or not based on the stored information; if yes, go to step 2073;
step 2073, using the slot position filled with the same slot position content as the public slot position;
step 2074, determining whether the slot content filling time and the current time interval in the stored information are greater than or equal to the deletion time, if so, deleting the entry content corresponding to the filling time, and if not, ending the process;
wherein the deletion time is greater than a predetermined continuous time interval.
Preferably, the method further comprises the following steps
Setting a weight coefficient w for a common slot positionijIndicates that the public slot is APPiTo the APPjWeight coefficient of (1), similar wjiIndicates that the public slot is APPjTo the APPiThe weight coefficient of (2).
Preferably, also comprises
The slot contents corresponding to the same common slot are stored in a matrix manner.
The invention also provides an APP ecosystem generation device which is used for establishing the slot position information association relationship and comprises
A detection module for performing a detection function;
the detection module is also used for detecting the interaction between the user and all used APPs;
the generating module is used for acquiring and storing the slot position and the slot position content which are filled when the APP executes the task, and the time for filling the slot position content;
the judging module is used for judging whether the user still has interaction with the APP, and if so, the detecting module is triggered to detect the interaction between the user and all the used APPs; if not, judging whether slot positions filled when a plurality of APPs execute tasks and slot position content information are stored, and if not, triggering a closing module to close or sleep the device; if so, judging whether information transmission or information transmission requirements exist between the APPs, and if so, triggering a generation module to take the slot position with the information transmission or information transmission requirements as a public slot position between the APPs;
the generating module is further used for judging whether the storage module stores slot positions filled when the plurality of APPs execute tasks and slot position content information filled in the storage module, and if yes, the slot positions with information transmission or information transmission requirements are used as public slot positions among the APPs.
Preferably, the judging module judges whether there is information transmission or information transmission requirement between the APPs, including the following steps:
step 2071, determining whether the time interval of any two or more stored APP filling slot contents is smaller than a predetermined continuous time interval, if so, executing step 2072, and if not, executing step 2074;
step 2072, grouping the APPs that meet the condition into a group; judging whether any two or more APPs in each group fill the same slot position content or not based on the stored information; if yes, go to step 2073;
step 2073, the triggering generation module takes the slot position previously filled with the same slot position content as a public slot position;
step 2074, determining whether the slot content filling time and the current time interval in the stored information are greater than or equal to the deletion time, if so, triggering the generation module to delete the entry content corresponding to the filling time, and if not, ending the process;
wherein the deletion time is greater than a predetermined continuous time interval.
Preferably, the generating module is further configured to set a weight coefficient w for the public slot positionijIndicates that the public slot is APPiTo the APPjWeight coefficient of (1), similar wjiIndicates that the public slot is APPjTo the APPiThe weight coefficient of (2).
Preferably, the generating module stores slot contents corresponding to the same common slot in a matrix manner.
The invention also provides a generation and sharing method of the general APP ecological graph,
step 301, obtaining an APP ecological map;
step 302, classifying the APP ecological diagrams to form APP ecological diagram clusters;
step 303, training the APP ecological diagrams in the APP ecological diagram cluster to form a general APP ecological diagram corresponding to the user attributes;
wherein step 303 comprises the steps of:
step 3031, obtaining APPs included in a plurality of APP ecograms in a cluster;
step 3032, adding the same label for a plurality of APPs with the same function or capable of being mutually replaced;
step 3033, fusing the plurality of APP ecograms to form a general APP ecogram;
and step 3035, storing the general APP ecological map.
Preferably, step 302 specifically includes:
and classifying according to the attributes of the users of the APP ecological graphs, and dividing the APP ecological graphs with the same user attributes into a group to form an APP ecological graph cluster.
Preferably, step 3033 is followed by the following steps
Step 3034-1, deleting the directed edges of which the weight coefficients are lower than the lowest weight coefficient in the fused APP ecological graph;
step 3034-2, judging whether an isolated APP or APP group exists, if so, deleting the APP or APP group, and generating a simplified general APP ecological graph;
and 3034-3, storing the simplified APP ecological graph.
Preferably, the method further comprises the following steps
Step 051, receiving APP ecological map obtaining request sent by terminal,
step 052, determining a general APP ecological graph meeting the user attribute requirements based on the attribute information of the user carried by the request;
step 054, sending a response message to the terminal of the user, wherein the response message carries the general APP ecological graph meeting the user attribute requirements.
Preferably, in step 052, when the attribute information of the user includes a plurality of user attributes, the general APP ecological map satisfying the most user attributes is preferentially selected as the APP ecological map satisfying the user attribute requirements.
The invention also provides a device for generating the general APP ecosystem, which is used for generating and sharing the general APP ecological diagram,
the acquisition module is used for acquiring an APP ecological map;
the classification module is used for classifying the APP ecological diagrams to form APP ecological diagram clusters;
the training module is used for training the APP ecological diagrams in the APP ecological diagram cluster to form a general APP ecological diagram corresponding to the user attributes;
the training module is specifically configured to perform the following steps:
step 3031, obtaining APPs included in a plurality of APP ecograms in a cluster;
step 3032, adding the same label for a plurality of APPs with the same function or capable of being mutually replaced;
step 3033, fusing the plurality of APP ecograms to form a general APP ecogram;
and step 3035, storing the general APP ecological graph in a storage module.
Preferably, the classification module is specifically configured to classify the APP ecological graphs according to attributes of users of the APP ecological graphs, and divide the APP ecological graphs with the same user attributes into a group to form an APP ecological graph cluster.
Preferably, step 3033 is followed by the following steps
Step 3034-1, deleting the directed edges of which the weight coefficients are lower than the lowest weight coefficient in the fused APP ecological graph;
step 3034-2, judging whether an isolated APP or APP group exists, if so, deleting the APP or APP group, and generating a simplified general APP ecological graph;
and 3034-3, storing the simplified APP ecological graph.
Preferably, the obtaining module is further configured to receive an APP ecological map obtaining request sent by the terminal,
the training module is used for determining a general APP ecological graph meeting the user attribute requirements based on the attribute information of the user carried by the request;
and the acquisition module is used for sending a response message to the terminal of the user, wherein the response message carries the general APP ecological graph meeting the user attribute requirements.
Preferably, the training module is configured to preferentially select, when the attribute information of the user includes a plurality of user attributes, the general APP ecological graph that satisfies the most user attributes as the APP ecological graph that satisfies the user attribute requirements.
The invention also provides a voice interaction method which is characterized by comprising the following steps
Step 501, acquiring a voice command input by a user;
step 502, judging whether the voice command of the user can be accurately executed; if not, obtaining the unfilled slot position of the APP execution voice command, and executing step 503;
step 503, calling the APP ecological graph to obtain candidate APPs which have directional edges with the APP for executing the voice command and point to the APP for executing the voice command in the direction of the directional edges;
step 504, extracting the content for filling the unfilled slot from the candidate APP, and filling the content into the slot corresponding to the APP.
Preferably, step 503 specifically includes:
judging whether the APP for executing the voice command has a directional edge which is associated with the APP for executing the voice command and points to the APP for executing the voice command in the APP ecological map, and if so, further extracting candidate APPs which have a directional edge with the APP for executing the voice command and point to the APP for executing the voice command in the directional edge direction.
Preferably, step 503 further comprises the following steps,
and judging whether the extracted APP has the slot position of the unfilled content or the slot position with the same attribute as the slot position, if so, taking the extracted APP as a primary selection APP, and taking the primary selection APP as a candidate APP.
Preferably, in step 507, it is determined whether the slot filling is accurate, if yes, step 508 is executed, and if not, step 509 is executed;
step 508, increasing the weight coefficient of the directed edge between the APP of the execution command and the candidate APP in the APP ecological graph;
step 509, obtaining slot content corrected by a user, and determining whether the corrected slot content is the same as slot content filled by an APP in an APP ecological graph, if so, increasing the weight of the directed edge when a directed edge exists between the APP executing the command and the APP with the same slot content, and if not, establishing the directed edge.
The invention also provides a device for voice interaction, which is characterized by comprising
The receiving and transmitting module is used for acquiring a voice command input by a user;
an execution module for executing the following steps:
step 502, judging whether the voice command of the user can be accurately executed; if not, obtaining the unfilled slot position of the APP execution voice command, and executing step 503;
step 503, calling the APP ecological graph to obtain candidate APPs which have directional edges with the APP for executing the voice command and point to the APP for executing the voice command in the direction of the directional edges;
step 504, extracting the content for filling the unfilled slot from the candidate APP, and filling the content into the slot corresponding to the APP.
Preferably, step 503 specifically includes:
judging whether the APP for executing the voice command has a directional edge which is associated with the APP for executing the voice command and points to the APP for executing the voice command in the APP ecological map, and if so, further extracting candidate APPs which have a directional edge with the APP for executing the voice command and point to the APP for executing the voice command in the directional edge direction.
Preferably, step 503 further comprises the following steps,
and judging whether the extracted APP has the slot position of the unfilled content or the slot position with the same attribute as the slot position, if so, taking the extracted APP as a primary selection APP, and taking the primary selection APP as a candidate APP.
Preferably, in step 507, it is determined whether the slot filling is accurate, if yes, step 508 is executed, and if not, step 509 is executed;
step 508, increasing the weight coefficient of the directed edge between the APP of the execution command and the candidate APP in the APP ecological graph;
step 509, obtaining slot content corrected by a user, and determining whether the corrected slot content is the same as slot content filled by an APP in an APP ecological graph, if so, increasing the weight of the directed edge when a directed edge exists between the APP executing the command and the APP with the same slot content, and if not, establishing the directed edge.
The invention provides a voice interaction method, which comprises the following steps
Step 601, acquiring a first voice command input by a user;
step 602, filling slot position content corresponding to the APP according to the first voice command;
in the step, the APP analyzes the voice command, extracts key information and fills the slot position;
step 603, calling an APP ecological graph to obtain one or more APPs which have directed edges with the APPs and the arrow tails of the directed edges point to the APPs;
step 604, pushing the filled slot position and the slot position content to the another or the plurality of APPs;
step 605, the second APP detects the use of the second APP; when the user uses the APP, executing step 606;
step 606, acquiring a second voice command input by the user;
step 607, determining whether the slot position required for executing the second voice command is completely filled with the content, if not, executing step 608;
step 608, the pushed slot position and the slot position content are called, whether the pushed slot position content can fill the slot position required by executing the second voice command in the APP is judged, and if yes, the slot position content is filled into the slot position.
Preferably, step 608 specifically includes the following steps:
081, obtaining the unfilled slot position in the slot position needed to be filled by the task related to the second voice command;
step 082, judge whether the slot position pushed is the same as slot position or attribute that needs to be filled; if yes, go to step 083;
step 083, filling unfilled slot positions with the pushed slot position contents;
specifically, for each unfilled slot position, whether a plurality of pushed slot position contents can be used for filling the slot position is judged, and if not, the corresponding slot position contents are filled into the corresponding unfilled slot position; if yes, go to step 084;
and 084, screening the slot position content, and filling the unfilled slot position with the selected slot position content.
Preferably, step 608 further includes the following steps
Judging whether the voice command can be executed, if so, executing step 610, and if not, executing step 609; if not, go to step 609;
step 609, carrying out multiple rounds of conversations with the user to obtain the content corresponding to the slot position needing to be filled; step 610 is executed;
and step 610, executing the task corresponding to the voice command.
Preferably, step 085 is executed after step 084, and step 085 is executed to judge whether the second voice command of the user can be executed; if yes, go to step 610; if not, go to step 609. .
Preferably, after step 610, the method further comprises the steps of:
step 507, judging whether the slot filling is accurate, if so, executing step 508, and if not, executing step 509;
step 508, increasing the weight coefficient of the directed edge between the APP of the execution command and the candidate APP in the APP ecological graph;
step 509, obtaining slot content corrected by a user, and determining whether the corrected slot content is the same as slot content filled by an APP in an APP ecological graph, if so, increasing the weight of the directed edge when a directed edge exists between the APP executing the command and the APP with the same slot content, and if not, establishing the directed edge.
The invention also provides a device for voice interaction, which comprises
The receiving and sending module is used for acquiring a first voice command input by a user;
an execution module for executing the following steps:
step 602, filling slot position content corresponding to the APP according to the first voice command;
in the step, the execution module analyzes the voice command, extracts key information and fills the slot position;
step 603, calling an APP ecological graph to obtain one or more APPs which have directed edges with the APPs and the arrow tails of the directed edges point to the APPs;
step 604, pushing the filled slot position and the slot position content to the another or the plurality of APPs;
the detection module is used for detecting the use of the second APP by the user; when the user uses the second APP, the receiving and sending module is triggered to acquire a voice command input by the user;
the receiving and sending module is also used for acquiring a second voice command input by the user;
the execution module is further used for executing the following steps:
step 607, determining whether the slot position required for executing the second voice command is completely filled with the content, if not, executing step 608;
step 608, the pushed slot position and the slot position content are called, whether the pushed slot position content can fill the slot position required by executing the second voice command in the APP is judged, and if yes, the slot position content is filled into the slot position.
Preferably, step 608 specifically includes the following steps:
081, obtaining the unfilled slot position in the slot position needed to be filled by the task related to the second voice command;
step 082, judge whether the slot position pushed is the same as slot position or attribute that needs to be filled; if yes, go to step 083;
step 083, filling unfilled slot positions with the pushed slot position contents;
specifically, for each unfilled slot position, whether a plurality of pushed slot position contents can be used for filling the slot position is judged, and if not, the corresponding slot position contents are filled into the corresponding unfilled slot position; if yes, go to step 084;
and 084, screening the slot position content, and filling the unfilled slot position with the selected slot position content.
Preferably, step 608 further includes the following steps
Judging whether the voice command can be executed, if so, executing step 610, and if not, executing step 609; if not, go to step 609;
step 609, carrying out multiple rounds of conversations with the user to obtain the content corresponding to the slot position needing to be filled; step 610 is executed;
and step 610, executing the task corresponding to the voice command.
Preferably, step 085 is executed after step 084, and step 085 is executed to judge whether the second voice command of the user can be executed; if yes, go to step 610; if not, go to step 609. .
Preferably, after step 610, the executing module is further configured to execute the following steps:
step 507, judging whether the slot filling is accurate, if so, executing step 508, and if not, executing step 509;
step 508, increasing the weight coefficient of the directed edge between the APP of the execution command and the candidate APP in the APP ecological graph;
step 509, obtaining slot content corrected by a user, and determining whether the corrected slot content is the same as slot content filled by an APP in an APP ecological graph, if so, increasing the weight of the directed edge when a directed edge exists between the APP executing the command and the APP with the same slot content, and if not, establishing the directed edge.
The invention provides a voice interaction method, which comprises the following steps
Step 701, acquiring a first voice command input by a user;
step 702, filling a corresponding slot position and a public slot position when a first APP executes a first task corresponding to a voice command according to the first voice command;
step 703, acquiring a second voice command input by the user;
step 704, filling a slot for executing the APP of the second task corresponding to the voice command according to the second voice command;
705, judging whether one or more unfilled slots which are necessary to be filled for executing the second task exist, if so, executing 706;
and 706, inquiring the incidence relation of the slot position information, judging whether the one or more slot positions which need to be filled can utilize the public slot position content matrix, and if so, filling the slot positions which need to be filled with the public slot position content.
Preferably, step 706 is, in particular,
7061, the second APP determines whether it has one or more public slots having the same or the same attributes as the slot that must be filled, and if not, step 7062 is executed; if so, taking the public slot position as a public slot position to be selected, and executing a step 7063;
step 7062, the second APP determines whether other APPs in the cluster to which the second APP belongs have one or more public slot positions that are the same as or have the same attribute as the slot position to be filled, and if so, the public slot position is used as a to-be-selected public slot position;
step 7063, preprocessing the slot position content matrix of the public slot position to be selected, deleting rows of the matrix corresponding to the filling time meeting the deletion time, and screening public slot positions to be selected, of which the slot position content matrix is not an empty matrix, as candidate public slot positions;
at step 7064, the slot position content satisfying the condition is selected from the slot position content matrix of the candidate public slot position to fill the slot position which needs to be filled.
Preferably, step 7065 is to determine whether it can be obtained based on an interactive process between the user and the APP that the slot content that the user intends to fill is the slot content related to which feature, and if it can be determined, preferentially select the slot content corresponding to the feature to fill the slot to be filled.
Preferably, in step 7065, a slot position content satisfying a condition is selected from the slot position content matrix of the candidate common slot position based on a certain rule to fill the slot position that must be filled.
The invention provides a device for voice interaction, which is characterized in that
The receiving and sending module is used for acquiring a first voice command input by a user;
the execution module is used for filling the corresponding slot position and the public slot position when the first APP executes the first task corresponding to the voice command according to the first voice command;
the receiving and sending module is also used for acquiring a second voice command input by the user;
the execution module is further configured to perform the following steps:
step 704, filling a slot for executing the APP of the second task corresponding to the voice command according to the second voice command;
705, judging whether one or more unfilled slots which are necessary to be filled for executing the second task exist, if so, executing 706;
and 706, inquiring the incidence relation of the slot position information, judging whether the one or more slot positions which need to be filled can utilize the public slot position content matrix, and if so, filling the slot positions which need to be filled with the public slot position content.
Preferably, step 706 is, in particular,
7061, determining whether the APP executing the second task has one or more public slots having the same property or the same property as the slot that must be filled, and if not, executing 7062; if so, taking the public slot position as a public slot position to be selected, and executing a step 7063;
step 7062, determining whether other APPs in the cluster to which the APP executing the second task belongs have one or more public slot positions that are the same as or have the same attribute as the slot position to be filled, and if so, taking the public slot position as a to-be-selected public slot position;
step 7063, preprocessing the slot position content matrix of the public slot position to be selected, deleting rows of the matrix corresponding to the filling time meeting the deletion time, and screening public slot positions to be selected, of which the slot position content matrix is not an empty matrix, as candidate public slot positions;
at step 7064, the slot position content satisfying the condition is selected from the slot position content matrix of the candidate public slot position to fill the slot position which needs to be filled.
Preferably, step 7065 is to determine whether it can be obtained based on an interactive process between the user and the APP that the slot content that the user intends to fill is the slot content related to which feature, and if it can be determined, preferentially select the slot content corresponding to the feature to fill the slot to be filled.
Preferably, in step 7065, a slot position content satisfying a condition is selected from the slot position content matrix of the candidate common slot position based on a certain rule to fill the slot position that must be filled.
The invention provides a voice interaction method, which comprises the following steps
Step 801, monitoring the use of APP by a user;
step 806, acquiring a voice command of a user;
step 807, determining whether the corresponding task can be executed according to the voice command of the user, if not, executing step 812;
step 812, inquiring the APP ecosystem, and identifying one or more second APPs which establish a directed graph with the APP, are pointed to the APP by a directed edge arrow, and have the same slot position of the directed edge as the unfilled slot position or the same attribute;
step 813, filling unfilled slots in the APP based on the identified one or more APPs;
step 813 specifically includes:
obtaining tag information of a slot position of a directed edge between the one or more APPs and the APP, determining an information source APP based on the tag information, obtaining content of the slot position same as the slot position of the directed edge from the information source APP, and filling the content into a corresponding slot position which is not filled by the APP;
wherein, the tag indicates the slot content update time corresponding to the slot of the directed edge.
Preferably, after step 801 and before step 806, the following steps are also included
Step 802, if it is determined whether the terminal has a corresponding APP ecosystem, then step 806 is executed.
Preferably, in step 807, if the determination result is yes, step 808 is executed;
step 808, executing the task, and obtaining a slot position with an arrow tail pointing to a directed edge of the APP and a slot position filled by executing the task, wherein the slot position is the same as or has the same attribute as the slot position filled by executing the task; step 809 is executed;
and step 809, adding a label to the slot position of the directed edge, wherein the label indicates the content update time of the slot position corresponding to the slot position of the directed edge.
The invention provides a device for voice interaction, which is characterized in that
The detection module is used for monitoring the use of the APP by the user;
the receiving and sending module is used for acquiring a voice command of a user;
an execution module for executing the following steps:
step 807, determining whether the corresponding task can be executed according to the voice command of the user, if not, executing step 812;
step 812, inquiring the APP ecosystem, and identifying one or more second APPs which establish a directed graph with the APP, are pointed to the APP by a directed edge arrow, and have the same slot position of the directed edge as the unfilled slot position or the same attribute;
step 813, filling unfilled slots in the APP based on the identified one or more APPs;
step 813 specifically includes:
obtaining tag information of a slot position of a directed edge between the one or more APPs and the APP, determining an information source APP based on the tag information, obtaining content of the slot position same as the slot position of the directed edge from the information source APP, and filling the content into a corresponding slot position which is not filled by the APP;
wherein, the tag indicates the slot content update time corresponding to the slot of the directed edge.
Preferably, the judging module is configured to judge whether the terminal has a corresponding APP ecosystem.
Preferably, in step 807, if the determination result is yes, step 808 is executed;
step 808, executing the task, and obtaining a slot position with an arrow tail pointing to a directed edge of the APP and a slot position filled by executing the task, wherein the slot position is the same as or has the same attribute as the slot position filled by executing the task; step 809 is executed;
and step 809, adding a label to the slot position of the directed edge, wherein the label indicates the content update time of the slot position corresponding to the slot position of the directed edge.
The APP ecosystem comprises an APP ecological graph and an incidence relation of slot position information;
the APP ecological graph is a directed graph among a plurality of APPs established according to interactivity among the APPs;
the directed graph between the APPs comprises nodes and directed edges, wherein the nodes represent the APPs, the directed edges represent the sequence of using the APPs by a user or the calling sequence among the APPs, and arrows of the directed edges point to the APPs which are used or called later;
the incidence relation of the slot position information refers to the incidence relation of the slot positions with the same information transmission or information transmission requirements or the same attributes among a plurality of APPs established according to the APP ecological graph or the information transmission or information transmission requirements among the APPs;
the slot of the directed edge refers to a slot of the same or the same attribute that both APPs connected by the directed edge have.
The invention provides a computer device characterized in that it comprises a processor and a memory in which a computer program is stored that is executable on the processor, said computer program implementing the method as described above when executed by the processor.
The invention provides a computer-readable storage medium, characterized in that a computer program is stored in the computer-readable storage medium, which computer program is executable on a processor, and when executed implements a method as described above.
The invention provides a voice assistant system which is characterized by comprising the device.
The invention provides an apparatus characterised by comprising an apparatus as defined in any one of the preceding claims, or a voice assistant system as defined above.
By the method and the device, information transmission between APPs can be carried out in a targeted manner under the condition that the terminal does not have a real-time monitor, the exclusive APP information transmission mode of the user is customized, the intelligence of voice interaction is further improved, the man-machine interaction efficiency is improved, the power consumption of the terminal can be reduced, and the user experience is improved.
Drawings
FIG. 1 is a system utilizing the APP ecosystem in one embodiment of the present invention.
FIG. 2 is an APP ecosystem in one embodiment of the invention.
FIG. 3 is a method of initializing an APP ecology graph in one embodiment of the present invention.
FIG. 4 is an APP directed graph in one embodiment of the invention.
FIG. 5 is an APP ecology diagram in an embodiment of the present invention.
FIG. 6 is a method of initializing an APP ecology graph in another embodiment of the present invention.
FIG. 7 is a method of APP clustering in another embodiment of the present invention.
FIG. 8 is a method of APP clustering in another embodiment of the present invention.
Fig. 9 is a method for establishing a slot information association relationship in an embodiment of the present invention.
Fig. 10 is a schematic diagram of an association relationship of slot position information in one embodiment of the present invention.
FIG. 11 is a generic APP ecology graph generation methodology in an embodiment of the present invention.
FIG. 12 is a method for invoking and updating an ecological map in one embodiment of the invention.
FIG. 13 is a calling method of an APP ecology graph in one embodiment of the present invention.
Fig. 14 is a method for calling the association relationship of the slot information in one embodiment of the present invention.
FIG. 15 illustrates an APP ecosystem call method in one embodiment of the invention.
Fig. 16 is an APP ecosystem generation apparatus in one embodiment of the invention.
Fig. 17 is a generic APP ecosystem generation apparatus in another embodiment of the invention.
FIG. 18 is a diagram of a device for voice interaction in another embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
One or more different inventions are described in this application. One or more of the inventions described herein, including a plurality of embodiments, are not limited in that the various embodiments can be applied to one or more inventions, which can be modified or varied using the various embodiments. This application is not intended to be a literal description of all embodiments of one or more inventions nor is it intended to be exhaustive of the features of one or more inventions in all embodiments. The section headings in this application are for ease of understanding the invention and are not intended to limit the invention. Moreover, although the method steps of the present invention are described in a sequential order, they may be replaced in other sequences in which the invention may be practiced. It may also be performed simultaneously for some steps.
The methods described herein may be implemented in hardware or a combination of hardware and software, and may be implemented by a processor invoking a computer program stored in memory, which may be a plug-in that a voice assistant or other application may invoke, a stand-alone application, or a form for storing critical information.
Likewise, the methods described herein may all be implemented in one device, or may be implemented interactively by multiple devices, e.g., by a terminal-side and a server-side interaction. As shown in fig. 1, the method includes a part of software running on the terminal side, such as multiple APPs, voice assistants, APP ecosystem generation applications, etc., and a part of software running on the server side, such as a general APP ecosystem generation application, where the server may be a cloud server, which receives messages of the terminal and responds to the messages of the terminal, where the number of servers may be one or more.
In one embodiment, different terminals may perform information interaction through a network, and under the trigger of software for implementing the method described herein, the software run by different terminals may perform communication to implement information interaction.
In addition, the server may acquire information from the outside as needed, and the information may be from other servers, or terminals.
In another embodiment, the data generated by the method described herein may be stored on the terminal side, a portion of the data may be stored on the server side, or the data may be stored entirely on the server side.
Basic concept
A plurality of concepts are proposed for the first time, and the concepts comprise an APP ecosystem, an APP ecological graph, the incidence relation of slot position information, an APP directed graph and slot positions with directed edges. The following first explains the several concepts described to facilitate understanding of the present disclosure.
Fig. 2 is an example of an APP ecosystem, where the APP ecosystem includes an APP ecological map and an association relationship of slot information. The APP ecological graph is a control surface of the APP ecological system, the slot position and/or the content of the slot position is a data surface of the APP ecological system, and the correlation between the slot position and the APP is a connection link of the control surface and the data surface.
The APP ecological graph is a directed graph among the APPs established according to interactivity among the APPs, is an association relation established among the APPs, and is a connection relation established among the APPs for the existence of information transmission requirements when a user uses a plurality of APPs to realize a specific task.
For example, a user needs to make a travel plan, the user needs to determine information such as a travel destination, a traffic mode, a lodging, a scenic spot, weather, diet and the like, and when using APPs such as travel distance, jingdong, public comment, ink weather and the like, the information transmission needs to exist, and the locations and dates are consistent among the APPs, so that an association relationship is established among the APPs, an APP ecological map is formed, and voice interaction between the user and the APPs is facilitated.
The APP directed graph comprises nodes and directed edges, wherein the nodes represent APPs, the directed edges represent the sequence of using the APPs by users or the calling sequence among the APPs, arrows of the directed edges point to the APPs which are used or called later, for example, the directed graph APPi- > APPj among the APPs, and the directions of the arrows of the directed edges represent that the APPj is called by the users using the APPj or the APPi after using the APPi.
The association relationship of the slot position information refers to the association relationship of the slots with the same information transmission or information transmission requirements or the same attributes among multiple APPs established according to the APP ecological diagrams or the information transmission or information transmission requirements among the APPs.
The association relationship of the slot information includes the slot and the association relationship between the slot and the APP, and further, may include corresponding slot content (not shown in the figure).
The slot position comprises corresponding slot position content and slot position attributes, the slot position content is content filled by the slot position, the slot position attributes are categories of the slot position, for example, the attribute of the date slot position is time, and the attribute of the trip place slot position is an address.
The slot position of the directed edge is the slot position with the same or the same attribute of two APPs connected with the directed edge, and for the slot position, information transmission or information transmission requirements exist between the APPs. As shown, slot 1 is the slot with edges between APP1 and APP2, and APP2 and APP 3.
The initialization of the APP ecosystem comprises the initialization of the APP ecological graph and the establishment of the incidence relation of the slot position information.
Through utilizing this APP ecosystem, can effectual realization between the APP the transmission and the call of information, reduce the consumption at terminal.
The methods mentioned herein are described in detail below.
Initializing an APP ecological graph:
step 105, initializing an APP ecological graph;
wherein initializing the APP ecological map specifically comprises the following steps, as shown in fig. 3:
step 11, monitoring interaction between a user and an APP;
specifically, in the step, the APP ecosystem generates an application to monitor the interaction between the user and the APP in real time, and records the interaction process between the user and the APP; the interaction may be a voice interaction, or may be other interaction methods, such as text input. The recorded information includes the time of the user using the APP, the content filled in the corresponding slot when the user uses the APP to execute the task, and the corresponding time information when the slot content is filled, for example, the user uses the travel inquiry 10.1 for the lodging in Shanghai at 8:00 am and uses the travel inquiry 10.1 for the lodging in Nanjing at 8: 20. In order to facilitate subsequent use of the stored information, the content of slot bit filling performed by the user using the APP to perform the task and the time information corresponding to the content of the filling slot are recorded, for example, in the case of using the portable APP, the information when using the APP is stored in a manner shown in the following table.
TABLE 1 record Table of user and APP Interactive executed function
Or,
the method comprises the steps of obtaining logs of a user using a terminal at preset time intervals, wherein the logs comprise interaction information of the user and each APP, and obtaining records of interaction between the user and the APP from the logs, wherein the records comprise time information of the interaction between the user and the APP. For example, the log includes the user's use history at 8:00, ink weather at 8:10, 8: 12 the above information is extracted from the log using a hundred degree map and stored in the manner shown in the following table.
Table 2 log information storage
Time of day | APP |
8:00 | Distance-carrying |
8:10 | Ink weather |
8:12 | Baidu map |
Step 12, obtaining and storing continuously used APP names and APP using sequences;
herein, APP is used in the following sense:
1) the APP used by the user is in use, namely the APP in the foreground, which is used by the user or in an idle state;
2) and switching from the background running state to the APP of the foreground.
The continuous use of the APPs means that the time when the APP in the foreground is switched to the background operation or is switched off and the time interval when another APP is switched on or is switched to the foreground operation are less than a predetermined continuous time interval. The state switching of the two APPs comprises that due to calling between the APPs, if map information in WeChat messages is clicked, a hundred-degree map can be directly called; or when the user executes a specific task, the multiple APPs are jointly completed, the user manually switches the APP to cause that the user wants to eat in a green tea restaurant, reviews the restaurant information through public comment, closes the public comment, and opens a Baidu map to inquire a route to the restaurant. And if the time interval for switching the program running in the foreground from the WeChat to the Baidu map or from the public comment to the Baidu map is less than the preset continuous time interval, determining the WeChat and Baidu map, wherein the public comment and Baidu map are two groups of APPs which are continuously opened, and the opening sequence of the APPs is the WeChat and Baidu map and the public comment and Baidu map in sequence.
In the step, for the interactive scene between the real-time monitoring user and the APP, the state change of the APP is monitored in real time, and the continuously used APP and the used sequence are determined according to the state change of the APP and the corresponding time information.
And for the log of the user using the terminal obtained at a preset time interval, obtaining the scene of the interaction record of the user and the APP from the log, obtaining whether the time interval of the user using the two APPs is smaller than a preset continuous time interval or not according to the interaction record information of the user and the APP, if so, determining that the two APPs are continuously used APPs, otherwise, determining that the APPs are not continuously used APPs. For example, the user uses WeChat at 8:00, hundred degree map at 8:03, 8: 12 using the dripping, wherein the using time intervals between every two of the WeChat and Baidu map, the WeChat and dripping and the Baidu map are smaller than the preset continuous time interval, and then the APP which is continuously used between every two is judged.
In another embodiment, the obtained continuously used APP is stored, and further, stored in an APP pair manner, for example:
{APP1,APP2}
wherein, it means that APP1 is used first, and APP2 is used later;
for a plurality of APPs used by a user, for example, as described above, the usage time interval between each two APPs is smaller than a predetermined continuous time interval, then the APPs belonging to the continuous opening are respectively stored as a group of APP pairs:
{APP3,APP4}
{APP3,APP5}
{APP4,APP5}
wherein, the sequence of using APP is from first to last: APP3, APP4, APP 5.
Step 13, judging whether information transmission or information transmission requirements exist among continuously used APPs; if yes, go to step 14, otherwise go to step 15.
Specifically, for a scene of interaction between a real-time monitoring user and APPs, the step of judging whether information transmission or information transmission needs to exist between the continuously used APPs includes the following steps:
judging whether a calling relationship exists between the APPs, if so, requiring information transmission or information transmission between the APPs, for example, clicking a map in the WeChat, calling a Baidu map to display detailed information of the map in the WeChat, and calling the WeChat and the Baidu map, wherein information transmission exists between the WeChat and the Baidu map.
Or, judging whether the slot is filled with the same slot content when the continuously used APPs execute the task, if so, determining that information transmission or information transmission requirements exist between the APPs, for example, a user opens a ticket for carrying to look at shanghai, which relates to a destination slot: shanghai, then the user opens ink weather to query the weather of Shanghai, which relates to the address slot: in Shanghai, for the continuously opened carrying distance and ink weather, the carrying distance and the ink weather both have the same slot position content, namely the content of the slot position corresponding to the address attribute is Shanghai, and the requirement of information transmission of the carrying distance and the ink weather is determined.
Further, if the slot positions have different contents, whether the continuously used APP has the same slot position or the slot position with the same attribute is judged, and if yes, the information transmission or the information transmission requirement is determined.
The method comprises the steps of obtaining a log of a user using terminal at a preset time interval, obtaining a recorded scene of interaction between the user and an APP from the log, judging whether a slot position called when the continuously used APP executes a task is filled with the same slot position content or not according to information of the interaction between the user and the APP recorded in the log, if so, determining that the continuously used APPs have information transmission or information transmission requirements, if not, judging whether the continuously used APPs have the same slot position or slot positions with the same attribute, and if so, determining that the continuously used APPs have the information transmission or information transmission requirements.
Step 14, establishing a directed graph among the APPs according to the sequence of using the APPs by the user and/or the calling relation among the APPs; step 16 is executed;
in this step, a directed graph between APPs is established for APPs that have information transfer or continuous use of information transfer needs, specifically, the APP pair that has information transfer or information transfer needs is used as a data source for establishing the directed graph between APPs, and the directed graph between APPs is established according to a format in which the APP pair is stored, where an APP located in front of the APP pair is a starting point of the directed graph and an APP located behind is a terminal of the directed graph.
For example, the selected APP pair is { distance to carry, ink weather }, and a directed graph between the APP pair and the ink weather is established based on the storage format, where the directed edge is from distance to ink weather, specifically:
portable distance-ink weather
Step 15, deleting the stored continuously used APP without information transmission or information transmission requirement;
specifically, when no information transmission or information transmission requirement exists between the APPs, deleting the stored APP pair;
and step 16, generating an APP ecological graph according to the directed graph among the APPs.
Through the establishment of the APP directed graph, the APP ecological graph can be preliminarily formed, as shown in fig. 4, a plurality of APP directed graphs are formed, the established plurality of APP directed graphs are fused, namely all the APP directed graphs are gathered in one graph, each APP is set as a node, the connection of directed edges between the nodes is the same as the connection of the directed edges of the APP directed graphs, for example, a collection of the directed graphs between a plurality of APPs as shown in fig. 5 is formed, and the APP ecological graph is generated.
By the method, the association relation among the APPs is established, when the user interacts with the APP used later through voice interaction or other interaction modes, the APP used later can know how to acquire the information of which the user refers to is obtained by inquiring the APP ecological graph, the convenience of interaction between the user and the APP is improved, and the user experience degree is improved.
In another embodiment, initializing the APP ecological map further comprises the following steps, as shown in fig. 6:
step 21, detecting the behavior of the voice assistant;
as known, the voice assistant plays an important role in human-computer interaction, a user can realize a specific task through interaction with the voice assistant, and in the process, the voice assistant calls the APP as required to assist the user in realizing the specific task, so that the efficiency of generating the APP ecological map can be improved by detecting the behavior of the voice assistant.
In this step, the behavior of the voice assistant, such as the interaction behavior of the voice assistant with the user, or the behavior of the voice assistant invoking the APP while performing a specific task, is monitored in real time.
And step 22, acquiring and storing APP names continuously called by the voice assistant when the voice assistant executes the task, and calling the APP sequence.
Wherein, continuously invoking the APP means that the time interval for the voice assistant to switch from invoking the current APP to invoking another APP is less than a predetermined continuous time interval, or the voice assistant invokes multiple APPs while executing one task or continuously executing a group of tasks. For example, a voice assistant performs the task of ordering coffee for a user, which includes two sub-tasks: ordering coffee and retrieving coffee, screening coffee shops through popular comment when the task is executed, selecting starbucks, and then calling a Baidu map to navigate to the selected starbucks, wherein the time interval for switching from the popular comment to the Baidu map is less than a preset continuous time interval, or calling the popular comment and the Baidu map are both used for completing the task of ordering coffee, the popular comment and the Baidu map are APPs continuously called by voice, and the calling sequence is popular comment and Baidu map in turn.
The mode of storing the continuously called APP names is the same as the mode of storing the continuously used APP names, and the APP names are stored in an APP pair mode.
Step 23, judging whether information transmission or information transmission requirements exist among the continuously called APPs; if yes, go to step 24; if not, go to step 25;
in this step, the manner of determining whether or not there is information transfer or a need for information transfer between the APPs is the same as described above.
Step 24, establishing a directed graph among the APPs according to the sequence of continuously calling the APPs; step 26 is executed;
step 25, deleting the stored continuously called APP without information transmission or information transmission requirement;
step 26, generating an APP ecological graph according to the directed graph among the APPs;
similarly, in the step, the APP directed graph is fused to generate an APP ecological graph.
In this embodiment, steps 24-26 are the same as or similar to the specific execution of steps 14-16 described above.
In another embodiment, a weight coefficient is set for the directional edge, and the size of the weight coefficient represents the size of the probability of information transfer between two APPs connected with the weight coefficient. When the directed edges of the directed graph are initially established between the APPs, the weight coefficients are all the same value.
Before establishing the directed graph between APPs in steps 14, 24, the following steps are performed:
step 241, judging whether a directed graph exists among the APPs, and if so, executing step 242; if not, go to step 244;
step 242, determining whether the direction of the directional edge to be established is the same as the direction of the existing directional edge, if so, executing step 243, and if not, executing step 244;
step 243, increasing the weight coefficient of the directional edge in the same direction as the direction;
step 244, establishing a directed edge with a new direction;
step 245, establishing directed edges between the APPs.
Wherein the weight coefficient is increased or decreased in △ w steps.
In another embodiment, when generating the APP ecograms, the weight coefficients of the directional edges between the APPs are the same as the weight coefficients of the corresponding directional edges in the APP directed graph.
Through setting up the weight coefficient, when a plurality of directed edges are connected to APP, can be based on the APP that the highest directed edge of weight coefficient is connected of weight coefficient preference selection, obtain information or with information routing to the APP of selection from the APP of selection, effectively improved information transfer's efficiency and accuracy.
In another embodiment, before step 11 and/or 21, the following steps are further included:
step 01, obtaining an APP name installed in a terminal;
specifically, the terminal comprises a plurality of APPs, and an APP ecosystem generates an application to acquire the name of the APP installed in the terminal;
step 02, classifying the APPs according to functions, grouping the APPs with the same or similar functions into a cluster, and forming one or more APP clusters; wherein the APP cluster comprises one or more APPs;
a user usually installs a large number of APPs at a terminal for implementing various functions, such as travel taking for booking air tickets, the kyoton, a railway 12306 for booking train tickets, a drop of taxi-taking software, ink weather for inquiring weather, a Baidu map for navigation, a Gaodde map, and the like. After obtaining the APP name installed by the user, classifying the APPs according to the main functions of the APPs, and taking the APPs with the same or similar functions as a cluster. For example, the clusters are divided according to the functions of diet, travel, maps, weather, and the like.
Further, when an APP has multiple functions, it may be cross-partitioned, i.e. partitioned into multiple clusters, where the APP belongs to an intersection of multiple APP clusters.
As shown in fig. 7, the APPs are divided into three clusters, wherein the APPs in the ellipse enclosed by the dotted line belong to the same cluster, and as can be seen from the figure, APP3 belongs to both cluster 1 and cluster 2.
Preferably, for APP with multiple functions, clustering of the APP can be optimized by combining with the use habits of the user, and clustering is preferentially performed according to the use habits of the user. For example, a user is used to order an air ticket by using the Jingdong, shopping is used to use Taobao, although the Jingdong has a shopping function, the Jingdong is classified into a travel classification according to the using habit of the user, and the Taobao is classified into a shopping classification.
In another embodiment, the APP ecosystem generation application detects that a new APP is installed in the terminal, or detects that an APP ecological map or an APP not included in the APP ecosystem exists in the terminal, adds the APP ecological map or the APP into an APP cluster corresponding to the function of the APP ecological map according to the APP function, and detects the use of the new APP by the user, where the detection operation may be performed under a trigger message sent to the APP ecosystem generation application when the new APP is started or used by the user.
In another embodiment, when a new APP is installed in a terminal, the new APP detects that an APP ecological graph, an APP ecological system, or a slot information association exists in the terminal, and adds the new APP to a cluster having the same or similar function as the APP ecological graph, the APP ecological system, or the slot information association according to its own function.
As shown in fig. 8, APP7 is a new APP installed, added to cluster 2 according to its function. In the graph, although a directed edge is not established between the directional edge and other APPs, when there is a need for obtaining information, the APPs of the information can be obtained by combining the directed edges of the other APPs in the cluster, in the APP ecological graph, it can be seen that the APPs 3 and 6 belonging to the cluster 2 both establish a directed edge with APP2, and the directional directions both obtain information from APP2, so that information is preferentially selected to be obtained from APP 2.
Further, the APP ecosystem generates the application or APP itself to detect whether the information acquired from other APPs is correct, if so, the APP ecosystem generates the APP ecosystem or APP itself updates the corresponding APP ecosystem or slot information association relationship, for example, a new APP and a directed edge corresponding to the information source APP are established, if not, whether the directed edge can be updated is judged based on the user information, if so, the corresponding directed edge is updated, if the directed edge cannot be established, the APP ecosystem generates the application to continue to detect the use of the APP by the user, or the APP updates the APP ecosystem or slot information association relationship based on the use of the APP ecosystem or the slot information association relationship.
Preferably, the APP ecosystem generation application starts a detection function based on a certain rule, such as periodically, or according to user settings, or when an event is triggered, for example, after the APP ecosystem generation application is a new APP cluster, a message is sent to the APP, or a message is sent when a new APP is detected, where the message carries information indicating that the APP does not establish a directed edge with other APPs, and after the new APP receives the message, when the APP is started or used by a user, the APP ecosystem generation application is sent a message to trigger the APP to detect its use.
Through clustering APP, the use habit of the user is reasonably utilized, the management efficiency of the APP can be improved, the generation of an APP ecological graph is strengthened, and the efficiency of information transmission is further improved.
In another embodiment, before step 105, the following steps are further included:
103, judging whether the terminal has an APP ecological map, and if not, executing a step 105; if yes, the process is ended.
The APP ecosystem generates an application to judge whether the terminal has an APP ecological graph, wherein the APP ecological graph can be stored in the local terminal and can also be stored in a cloud server.
In the step, whether the APP ecological graph is stored locally in the terminal is firstly inquired, if yes, the process is finished, if the APP ecological graph is not stored, an APP ecological graph acquisition request is sent to the cloud server, a response message corresponding to the request returned by the cloud server is received, whether the response message carries the APP ecological graph is judged, and if not, the step 105 is executed; if the mobile phone is carried, the operation is finished.
Further, a corresponding relationship between the terminal and the APP ecological graph is set, the corresponding relationship may identify the ecological graph corresponding to the terminal through a unique identifier of the terminal, where the unique identifier may be information of the unique identifier terminal such as IMEI of the terminal, or a user identifier of the terminal, and the user identifier uniquely identifies one user.
By the method, the APP ecological graph of the terminal is preliminarily established, the interactive relation among the APPs is established through the ecological graph, when the subsequently opened APPs need to acquire information from other APPs, the positioning information acquiring party can be quickly and accurately acquired, the efficiency of voice interaction with the user is further improved, the accuracy of voice semantic understanding of the user is improved, and the intelligence of the APPs is improved.
Establishing the incidence relation of slot position information
After the APP ecological graph is established, the association relationship between APPs can be determined, so that information can be preferentially inquired or obtained from the associated APPs, in another embodiment, in order to increase the speed of responding to a user voice command by the APPs, a data layer associated with the APP ecological graph is established, the association relationship of each APP slot information is established through the data layer, and the establishment of the association relationship of the slot information can be established after the APP ecological graph is generated, or can be established synchronously with the APP ecological graph, or can be generated independently of the APP ecological graph. The method specifically comprises the following steps:
when generating the APP ecological graph and executing step 13 or 23, if it is determined that there is an information transfer or information transfer requirement between the APPs, executing the following steps in step 14 or 24:
if the calling relation exists among the APPs, a slot position of a previously used APP utilized by the called APP is obtained, and the slot position is set as a slot position with a directed edge;
if a slot position for filling the same slot position content exists between the APPs, setting the slot position which fills the same slot position content in advance as a slot position with a directed edge, and determining the direction of the directed edge as that the APP which fills the same slot position content in advance points to the APP which fills the same slot position content in the later;
in this step, the probability that the APP which fills the same slot content later calls the APP which fills the same slot content earlier is higher, and thus the call relationship between the two APPs can be determined based on the time relationship of filling the same slot content, so that the direction of the directed edge can be determined more accurately.
If the slot positions have different contents and the same slot position or the same attribute, the same slot position or the slot position with the same attribute of the APP used later than the APP used earlier is set as the slot position with the directed edge.
Through the process, the slot position of the directed edge can be determined, a complete APP ecosystem is formed, the incidence relation between the APPs is included, and the link of the incidence relation between the APPs is also included: the trench can learn the relevance between each APP in advance, namely the trench for information transmission between the APPs, namely the acquisition direction of the trench content is determined, the intelligence of the APP opened at the back and the user interaction is improved, a monitor real-time monitoring terminal is not needed, and the power consumption of the terminal is reduced.
Further, after the slot with the directed edge is established, when the APP ecological graph is updated or a new APP ecological graph is generated based on the existing APP ecological graph, the slot with the directed edge is updated along with the corresponding directed edge, for example, when the directed edge is deleted, the corresponding slot is also deleted.
In another embodiment, another slot information association relationship establishing method is provided, as shown in fig. 9, the method specifically includes the following steps:
step 201, an APP ecosystem generates an application execution detection function, and interaction between a user and an APP is detected;
in this step, the activation of the detection function is based on certain rules as described above, such as periodically, or according to user settings, or upon event triggers, as in the examples listed in the above embodiments.
In one embodiment, the event trigger further comprises the following modes
The APP receives a command of a user; the APP receives a command of a user, and the user is indicated to use the APP; the APP judges whether the slot information association establishment completion identifier is true, if so, a message for triggering starting of the APP ecosystem to generate the application is not sent, and if not, whether the APP ecosystem to generate the application is started is further judged; if the information is started, the APP does not send a message for starting the APP to the APP ecosystem generation application, if the information is not started, the information is sent to the APP ecosystem generation application, starting is triggered, the detection function is executed, and the APP ecosystem generation application is started based on the received message and executes the detection function.
And the slot information incidence relation establishment completion identifier is stored in the terminal and is used for identifying whether the incidence relation is established or not, wherein a detection timer is set in the APP ecosystem generation application, when the time of the detection timer is longer than the detection completion time, the identifier is set to be true, otherwise, the detection timer is set to be false, and the detection timer can be reset to zero according to the requirement of a user.
Step 202, detecting interactions between a user and all used APPs;
in this step, the APP ecosystem generation application detects interactions between the user and all APPs, and detects a task executed by the APP, a slot filled when the task is executed, and slot content filled.
Step 203, obtaining and storing the slot position and the slot position content which are filled when the APP executes the task, and the time for filling the slot position content;
step 204, judging whether the user still has interaction with the APP, if so, executing step 202; if not, go to step 205;
in the step, whether the user still interacts with the APP is judged, if yes, the interaction between the user and the APP is continuously monitored, and if not, the subsequent steps are executed.
Step 205, judging whether slot positions filled when multiple APPs execute tasks and slot position content information are stored, if not, executing step 206; if yes, go to step 207;
the APP ecosystem generates application information for inquiring the information stored in the APP ecosystem, whether the information related to a plurality of APPs is stored or not is judged, if yes, the association relationship of the slot position information can be established based on the stored information, and if not, the association relationship cannot be established based on the currently stored information.
Step 206, closing or sleeping the APP ecosystem to generate the application, and ending;
after the user finishes the interaction with all the APPs, the APP ecosystem generates the application without the requirement of continuous monitoring, and the APP ecosystem can be closed or enter a dormant state.
Step 207, judging whether information transmission or information transmission requirements exist among the APPs, and if so, taking the slot position where the information transmission or information transmission requirements exist as a public slot position among the APPs; if not, the process is ended.
Specifically, the method comprises the following steps:
step 2071, determining whether the time interval of any two or more stored APP filling slot contents is smaller than a predetermined continuous time interval, if so, executing step 2072, and if not, executing step 2074;
step 2072, grouping the APPs that meet the condition into a group; judging whether any two or more APPs in each group fill the same slot position content or not based on the stored information; if yes, go to step 2073;
step 2073, using the slot position filled with the same slot position content as the public slot position;
step 2074, determining whether the slot content filling time and the current time interval in the stored information are greater than or equal to the deletion time, if so, deleting the entry content corresponding to the filling time, and if not, ending the process.
Wherein the deletion time is greater than a predetermined continuous time interval.
In the step, the information with longer storage time is screened and deleted, so that the storage space can be effectively saved, and the resource waste is reduced.
Through the method, the association relationship of the slot position information is established, as shown in fig. 10, the public slot position 1 is the public slot position of the APP1-3, the public slot position 2 is the public slot position of the APP1-2, the public slot position 3 is the public slot position of the APP2-3, and the public slot position 4 is the public slot position of the APP 4-5.
In the method, the establishment of the slot position information incidence relation can be independent of the generation of the APP ecological graph, and the incidence relation of the slot position information can be established only.
In another embodiment, the public slot position is set with a weight coefficient, and the public slot position is initially established with the same default weight coefficient.
Further, in step 207, before determining a public slot position, it is determined whether the slot position is set as the public slot position between the APPs, and if so, a weight coefficient of the public slot position is increased; if not, establishing the public slot position;
in another embodiment, a weighting factor w is set for a common slotijIndicates that the public slot is APPiTo the APPjWeight coefficient of (1), similar wjiIndicates that the public slot is APPjTo the APPiThe weight coefficient of (2). For example, the weighting factor of the common slot 1 shown in fig. 10 includes the following 4: w is a12、w13、w23、w32。
Wherein the weight coefficient is increased or decreased in △ w steps.
In another embodiment, the slot contents corresponding to the same common slot are stored in a matrix (denoted as a common slot content matrix), such as: the matrix is a column matrix, each row corresponds to a filling slot content, and each filling content is added by one row after the last row of the matrix.
Further, the matrix further includes timestamp information, and the matrix format is [ slot content, timestamp ], where the timestamp is a time when the APP fills the slot content located in the same row as the timestamp, and the row addition manner of the matrix is the same as described above.
In another embodiment, the matrix also includes source APPs, representing APPs that fill the content, such as [ slot content, source APP ].
In another embodiment, the slot content matrix corresponding to the slot includes one or more information of the slot content, timestamp, source APP, and slot attribute, and stores the slot content and the timestamp and source APP associated therewith as a row, such as:
[ slot content, fill time, Source APP, slot attributes ]
Further, when the APP queries the slot information association relationship, whether the difference between the current time and the timestamp is greater than or equal to the deletion time is judged, and if yes, the row of the matrix corresponding to the timestamp is deleted.
In one embodiment, the association may be stored as a table.
By the method, the public slot position relevant to the transmitted information is established among the APPs with the information transmission requirements, the association relation of the slot position information is formed, the association relation is stored in the terminal, and when the APP executes a task and needs to use the slot position, the public slot position and the content filled in the public slot position can be directly utilized, so that efficient and intelligent interaction with a user is realized.
Similar to the above method, before establishing the slot information association relationship, the APP ecosystem generation application clusters the APPs according to functions, and if before step 201, the above steps 01 and 02 are executed, and similarly, when the APP ecosystem generation application detects that a new APP is installed in the terminal, the APP ecosystem generation application adds the new APP into an APP cluster corresponding to the function thereof according to the APP function and sends a message to the APP, where the message indicates that when the APP detects that the user uses the new APP, the detection function of the APP ecosystem generation application is triggered. Similarly, when the new APP has a need for obtaining information, the APP for obtaining the information may be predicted in combination with the public slot of the other APPs in the cluster, and the content of the public slot of the information is obtained by the other APPs in the cluster preferentially. Further, the APP ecosystem generates an application to detect whether the new APP acquisition information is correct, if so, a public slot position is established for the new APP and the information source APP, if not, whether the public slot position can be established is judged based on user correction information, if yes, a corresponding public slot position is established, and if not, the process is finished.
The incidence relation of the slot position information can be generated based on the APP ecological graph, and when the APP ecological graph is adjusted, the slot position incidence relation is adjusted adaptively, or the APP ecological graph is adjusted based on the slot position information incidence relation. Correspondingly, after the general APP ecological graph is generated, the general slot association relation can be formed by adopting the method, so that a general APP ecological system is formed.
Sharing of APP ecograms and generation of generic APP ecograms
In the above embodiments, how to generate an APP ecological map suitable for a specific user is introduced, which has universality for various APPs, and if each user trains and generates the APP ecological map independently, the time cost required for generating the APP ecological map is high, so a method for generating the generic APP ecological map and a method for sharing the APP ecological map are proposed herein. The following is described one by one.
In another embodiment, a general APP ecological map generation method is provided, as shown in fig. 11, which mainly includes the following steps:
step 301, obtaining an APP ecological map;
in this step, the attribute information related to the user, such as the preference, age, social group, and the like of the user, may be obtained in a manner that the user actively uploads the APP ecological map, or a request is sent to a plurality of users to obtain the APP ecological map thereof.
Step 302, classifying the APP ecological diagrams to form APP ecological diagram clusters;
for the obtained APP ecograms, classifying according to the user attributes, and grouping APP ecograms with the same user attributes into a group, for example, classifying according to the age of the user, classifying according to the social group of the user, classifying according to the preference of the user, and the like.
Through classification, APP ecological graphs can be conveniently clustered, and generation of a general ecological graph is facilitated.
Step 303, training the APP ecograms in the APP ecogram cluster to form a general APP ecogram corresponding to the user attribute.
In the step, the method specifically comprises the following steps:
step 3031, obtaining APPs included in a plurality of APP ecograms in a cluster;
step 3032, adding the same label for a plurality of APPs with the same function or capable of being mutually replaced;
for example, the Baidu map and the Gade map are both maps, and the same label is added to both maps.
Step 3033, fusing the plurality of APP ecograms to form a general APP ecogram;
in this step, APPs having the same tag are grouped into a group, referred to as APP group; replacing APP corresponding to the APP group in the plurality of APP ecograms with the APP group; establishing directed graphs among the APPs and/or the APP groups included in the multiple APP ecographs according to the directed graphs among the APPs and/or the APP groups in the multiple APP ecographs, and overlapping the weight coefficients of the directed edges among the same APPs or the APP groups in the multiple APP ecographs to form the weight coefficients of the directed edges in the general APP ecographs.
And step 3035, storing the general APP ecological map.
In this step, the generic APP ecograms are stored in the storage space of the server.
In one embodiment, the user attributes corresponding to the generic APP ecograms are used as indexes to store the corresponding generic APP ecograms.
In another embodiment, after step 3033, the following steps are further included:
step 3034-1, deleting the directed edges of which the weight coefficients are lower than the lowest weight coefficient in the fused APP ecological graph;
step 3034-2, judging whether an isolated APP or APP group exists, if so, deleting the APP or APP group, and generating a simplified general APP ecological graph;
and 3034-3, storing the simplified APP ecological graph.
In this step, the simplified APP ecological graph is stored in correspondence with the user attribute corresponding thereto.
The above steps 3034-1 to 3034-3 may be performed before step 3035, or may be performed after step 3035.
The storage mode is as follows:
general APP ecological graph storage mode
User attributes | General APP ecological map | Simplified APP ecological diagram |
Hobby: sports | General APP ecology figure 1 | Simplified APP ecological diagram 1 |
Age: 20-30 years old | General APP ecology figure 2 | Simplified APP ecological diagram 2 |
By the method, the requirement of the general APP ecological graph on the storage space can be reduced, and particularly when the storage space of the terminal is limited, the terminal can call the general APP conveniently.
In an embodiment, a general or simplified general APP ecosystem is generated by using the method, specifically, the APP ecosystem in the steps of the method is replaced by the APP ecosystem, wherein for the formation of the slot position of the directed edge in the general or simplified general APP ecosystem, the slot position of the directed edge is synchronously updated and fused with the directed edge, that is, the slot position of the same directed edge is updated in an 'addition' manner.
In another embodiment, before generating the user-specific APP ecological map, the user first obtains the general APP ecological map or the simplified general APP ecological map, which may improve the APP ecological map training speed.
In addition, a user usually has a plurality of terminals, and there is a need for sharing the APP ecological graph among the terminals of the user, wherein when the terminal currently used by the user does not have the APP ecological graph, an ecological graph acquisition request is preferentially sent to other terminals to acquire the APP ecological graph, and if a response of other terminals is not received, the APP ecological graph is acquired to other users or the cloud server.
In one embodiment, obtaining the APP ecological map comprises the steps of:
step 401, sending an APP ecological map acquisition request to other terminals of a user;
and when the terminal does not have the APP ecological graph, preferentially sending an acquisition request to other terminals of the user to acquire the APP ecological graph specific to the user.
Step 402, judging whether an APP ecological graph is obtained or not based on the received response; if yes, ending, otherwise, executing step 403;
in the step, response messages sent by other terminals are received, and the follow-up execution step is determined according to whether the response messages include the APP ecological graph.
Step 403, sending an APP ecological map acquisition request to a friend having the same attribute as the user;
since the APP ecological diagrams of the friends with the same attributes as the user generally conform to the usage habits of the user, the APP ecological diagram obtaining request is sent to the friends with the same attributes as the user to obtain the APP ecological diagrams thereof.
Step 404, based on the received response, judging whether to obtain an APP ecological graph from the friend, if not, executing step 405, and if so, executing step 407;
step 405, sending an APP ecological map acquisition request to a cloud server, wherein the acquisition request carries attribute information of a user;
after the cloud server receives an APP ecological map acquisition request sent by a terminal, a general APP ecological system generates an application and executes the following steps:
step 051, receiving APP ecological map obtaining request sent by terminal,
step 052, determining an APP ecological graph meeting the user attribute requirements based on the attribute information of the user carried by the request; wherein, the APP ecological diagram can be a general and/or simplified general APP ecological diagram.
Step 054, sending a response message to the terminal of the user, wherein the response message carries the APP ecological graph meeting the user attribute requirements;
further, in step 052, when the attribute information of the user includes a plurality of user attributes, preferentially selecting the general APP ecological graph satisfying the most user attributes as the APP ecological graph satisfying the user attribute requirements;
in another embodiment, when the attribute information of the user includes a plurality of user attributes, a minimum union of the user attributes of the generic APP ecological graph included in the minimum union is obtained based on the user attributes, and the union of the user attributes of the generic APP ecological graph included in the minimum union is the same as the user attributes in the attribute information of the user carried in the APP ecological graph obtaining request.
Fusing the minimum union set of the general APP ecological diagrams, and taking the fused APP ecological diagrams as the APP ecological diagrams meeting the user attribute requirements; wherein the fusion method is the same as the fusion method in step 3033.
In another embodiment, the APP ecological map acquisition request carries the capability information of the terminal, where the capability information includes the storage capability of the terminal;
after step 052, before step 054, the following steps are also included:
and 053, judging whether the terminal has the capability of storing the APP ecological graph meeting the user attribute requirements or not according to the storage capability of the terminal, if so, executing 054, otherwise, executing 052, wherein the general APP ecological graph in the 052 is replaced by a simplified APP ecological graph, and further executing 053, and if the terminal does not have the capability of storing the APP ecological graph meeting the user attribute requirements, sending a response message to the user, wherein the response message carries the reason of failure in acquiring the APP ecological graph.
Step 406, receiving a response message sent by the cloud server; if the response message carries the APP ecological map, executing step 407, and if the response message carries a reason for failure in obtaining the APP ecological map and the reason is insufficient storage space, executing step 409;
step 407, identifying an APP application included in the terminal;
after the APP ecological diagrams are obtained from friends or cloud servers, the obtained APP ecological diagrams need to be adjusted due to different APPs installed by different users, so as to meet the needs of the users.
In this step, the APP ecosystem generates an APP application included in the application identification terminal.
And step 408, adjusting the APP ecological map.
Step 409, sending the terminal-installed APP name to the cloud server, so that the cloud server generates an APP ecological graph suitable for the terminal.
Further, after receiving the message of the terminal, the cloud server adjusts an APP ecological graph meeting the user attribute requirements based on the APP installed on the terminal, wherein the APP ecological graph meeting the user attribute requirements is generated based on a general APP ecological graph.
The specific steps of adjusting the APP ecological graph and the cloud server adjusting the APP ecological graph meeting the user attribute requirement in step 408 are as follows:
based on the APP installed by the terminal, the APP ecosystem generates and identifies the APP which is not included by the terminal in the APP ecological graph and is recorded as APP1, the APP which is not included in the APP ecological graph in the terminal and is recorded as APP2, whether the APP2 includes a substitute APP with the same function as the APP1 is judged, and if yes, the APP in the corresponding APP1 is replaced by the APP with the same function in the APP 2; if not, deleting the APP1 in the APP ecological graph and the directional edge connected with the APP1, and for the APP3 which is not added to the APP ecological graph in the APP2, setting the APP3 in the APP ecological graph in an isolated node, and further placing the APP ecological graph in a cluster corresponding to the function of the APP ecological graph.
And after generating the APP ecological map suitable for the terminal, the cloud server sends the APP ecological map to the terminal.
And the terminal receives the APP ecological map and stores the APP ecological map.
Further, when the storage space of the terminal is insufficient, a prompt is sent to the user, so that the user deletes some information to enable the terminal to meet the storage space.
By the method, the obtained APP ecological graph can be adapted to the APP ecological graph suitable for the user.
Similarly, the generation and sharing method of the general and simplified general APP ecosystems is similar to the generation and sharing method of the general and simplified APP ecographs, except that the slot corresponding to the directed edge in the APP ecograph in the source APP ecosystem is required to be synchronously associated with the directed edge in the general and simplified general APP ecosystems.
Invocation and updating of ecograms
After the APP ecological graph is established, the APP ecological graph is dynamically updated along with the utilization of a user, so that the APP ecological graph more accurately conforms to the use habit of the user. The calling and updating of the ecological map comprises the following steps, as shown in fig. 12:
step 501, acquiring a voice command input by a user;
after the user starts the APP, or after the APP is switched to the foreground from the background, the APP acquires a voice command input by the user. For example, the user opens ink weather, and the ink weather gets the user's voice command as: how does the weather?
Step 502, judging whether a voice command of a user can be executed; if not, obtaining the unfilled slot position of the APP execution voice command, and executing step 503;
in the step, the APP analyzes the voice command of the user, and fills the key information into the slot of the task corresponding to the voice command. For example, for ink weather, the slot position relates to time and place, and since the voice command "how weather" does not include key information, it is impossible to accurately know whether the current position and current weather condition are to be inquired by the user or weather conditions at other times at other places according to the voice command of the user, and therefore the content of the slot position cannot be filled, and therefore the voice command of the user cannot be executed.
Furthermore, if the voice command of the user can be executed, the corresponding action is executed according to the voice command.
Step 503, calling the APP ecological graph to obtain candidate APPs which have directional edges with the APP for executing the voice command and point to the APP for executing the voice command in the direction of the directional edges;
specifically, after the APP ecological graph is called, whether the APP executing the voice command has a directional edge which is associated with the APP ecological graph and points to the APP executing the voice command in the directional edge direction or not is judged, and if yes, candidate APPs which have a directional edge with the APP executing the voice command and point to the APP executing the voice command in the directional edge direction are further extracted. If the directional edge which meets the above conditions does not exist, whether the directional edge belongs to a certain cluster is judged, if not, the directional edge is added into an APP cluster corresponding to the function according to the self function, when the APP belongs to a certain cluster, the APP at the other end of the directional edge pointing to other APPs and associated with other APPs belonging to the same cluster is obtained, whether the APP at the other end has the slot position of the unfilled content or the slot position with the same attribute is further judged, if so, the APP at the other end of the slot position with the unfilled content or the slot position with the same attribute is taken as a candidate APP, and otherwise, the step 505 is executed.
In another embodiment, after step 502 and before step 503, the following steps are included:
step 5031, judging whether an APP ecological map is stored, if yes, executing step 503; if not, go to step 5032;
step 5032, sending an APP ecological map acquisition request;
in this step, an APP ecological map acquisition request is sent to the cloud server, and further, the acquisition request includes an identifier of the terminal, and the identifier is used for identifying an APP ecological map corresponding to the terminal.
The cloud server inquires the corresponding APP ecological graph based on the identification, sends the inquired APP ecological graph to the terminal, judges whether the terminal has the general APP ecological graph if the terminal does not inquire the APP ecological graph, sends the general APP ecological graph to the terminal if the terminal does not inquire the APP ecological graph, and otherwise sends a failure response message to the terminal.
Step 5033, judging whether to acquire an APP ecological map based on the received message; if not, executing step 105, initializing an APP ecological graph, and executing step 505; if yes, go to step 503;
preferably, in step 5033, before step 503 is executed, the following steps are further included:
step 5034, judging the type of the APP ecological map, and if the type of the APP ecological map is the APP ecological map corresponding to the terminal, executing step 503; if the map is a general APP ecological map, go to step 5035;
step 5035, adapt the generic APP ecological map to an APP ecological map consistent with the terminal-installed APP, and perform step 503.
In this step 503, based on the called APP ecological graph, the APP that establishes the association relationship with the APP that executes the voice command may be queried, and further, according to the direction of the directional edge, the APP that establishes the association relationship that points to the APP that executes the voice command is extracted from the direction of the directional edge.
In another embodiment, in step 503, it is further determined whether the extracted APP has the slot with the unfilled content or the slot with the same attribute as the slot, if so, the extracted APP is used as a primary APP, and the primary APP is a candidate APP, otherwise, step 505 is executed.
Further, candidate APPs may be selected based on the weight coefficient of the directional edge, and the initially selected APP with the weight coefficient greater than the threshold may be used as the candidate APP.
In another embodiment, in the APP ecological map, a timestamp corresponding to the APP is also included, the timestamp indicating the time the APP was most recently used. And sequencing the primarily selected APPs according to the timestamps, acquiring the primarily selected APP with the latest use time closest to the current time as a candidate APP, or sequencing the primarily selected APPs subjected to weight coefficient screening according to the timestamps, and screening the primarily selected APP with the latest use time closest to the current time as the candidate APP, wherein the candidate APPs can be one or more, and the union of the candidate APPs is the minimum APP set comprising the slot positions needing to be filled.
In another embodiment, the candidate APP may be determined based on the above factors, and the screening order of the factors may be adjusted, for example, a plurality of APPs are selected based on the time sequence, and then selected based on the weight coefficient to determine the candidate APP.
After the candidate APPs are determined, step 504 is performed.
Step 504, extracting the content related to the unfilled slot position from the candidate APP, and filling the content to the slot position corresponding to the APP; step 506 is executed;
in this step, after determining the candidate APP, the slot position that is filled by the candidate APP when executing the task before the candidate APP and is the same as or has the same attribute as the slot position of the unfilled slot position content is obtained, and based on the time sequence of the candidate APP executing the task related to the obtained slot position content, the slot position content related to the latest executed task is preferentially selected as the slot position content of the unfilled slot position.
And 505, based on the current state of the user, filling the slot position, or initiating multiple rounds of conversations to the user to obtain the content of the slot position needing to be filled. Step 506 is performed.
Through the above steps, it is determined whether slot position information can be filled according to the current state of the user, for example, in the above example, it is determined that the user does not mention time and location related information before opening the APP, and then the slot position of the location is filled according to the position where the user is located, and the slot position information is filled according to the current time, and the weather condition of the current time of the current position is fed back to the user. And if the content of the slot position cannot be filled based on the current state of the user, initiating multiple rounds of conversations to the user, and acquiring information required for filling the slot position in a way of conversation with the user.
Further, step 506 is included, executing the task corresponding to the voice command.
By the method, when the user opens the APP for use subsequently, even if the voice command of the user does not contain complete information, the voice command of the user can be understood through the APP ecological diagram.
In another embodiment, the APP ecological map is used as shown in fig. 13:
step 601, acquiring a first voice command input by a user;
step 602, filling slot position content corresponding to the APP according to the first voice command;
in this step, the APP analyzes the voice command, extracts key information, and fills the slot content.
Step 603, calling an APP ecological graph to obtain one or more APPs which have directed edges with the APPs and the arrow tails of the directed edges point to the APPs;
in this step, after the APP ecological graph is called, it is also determined whether a first APP executing the first voice command has a directed edge associated therewith in the APP ecological graph, that is, whether the first APP is an isolated point, and if the first APP has the directed edge with the first APP, an arrow tail of the directed edge points to another APP or APPs of the APP; if not, the function is added to the APP cluster corresponding to the function according to the self function.
Similarly, after step 602 and before step 603, step 5031-step 5035 is executed, and accordingly, step 502 in step 5031-step 5035 is replaced by step 602, step 503 is replaced by step 603, and step 505 in step 5033 is executed by ending.
Step 604, pushing the filled slot position and the slot position content to the another or the plurality of APPs;
in one embodiment, the slot position and the content of the slot position are pushed to all other APPs which have directed edges with the APP, and the arrow tails of the directed edges point to the APPs;
in another embodiment, the weight coefficient of the directional edge connected with the APP is screened out to be greater than the threshold, and the arrow tail of the directional edge points to other APPs of the APP, and the slot position and the content of the slot position are pushed to the selected APP.
In another embodiment, it is determined whether the another APP or APPs have a slot that is the same as or has the same attribute as the filled slot, and if so, the slot that is the same or has the same attribute and the corresponding slot content are pushed.
Step 605, detecting the use of a second APP by the user, which is different from the APP for obtaining the first voice command; when the user uses the second APP, executing step 606;
step 606, acquiring a second voice command input by the user;
step 607, determining whether the slot position required for executing the second voice command is completely filled with the content, if not, executing step 608; if yes, go to step 610;
step 608, calling the pushed slot position and slot position content, determining whether the pushed slot position content can fill a slot position required by executing a second voice command in the APP, if so, filling the slot position with the slot position content, and determining whether the voice command can be executed, if so, executing step 610, and if not, executing step 609; if not, go to step 609;
step 609, carrying out multiple rounds of conversations with the user to obtain the content corresponding to the slot position needing to be filled; step 610 is executed;
and step 610, executing the task corresponding to the voice command.
Further, step 608 specifically includes the following steps:
081, obtaining the unfilled slot position in the slot position needed to be filled by the task related to the second voice command;
step 082, judge whether the slot position pushed is the same as slot position or attribute that needs to be filled; if yes, go to step 083, if no, go to step 609;
step 083, filling the corresponding unfilled slot position with the pushed slot position content;
specifically, for each unfilled slot position, whether a plurality of pushed slot position contents can be used for filling the slot position is judged, if not, the corresponding slot position contents are filled into the corresponding unfilled slot position, and the step 085 is executed; if yes, go to step 084;
step 084, screening slot position contents, and filling unfilled slot positions with the selected slot position contents;
in one embodiment, the slot position content with the highest weight coefficient of the directed edge associated with the slot position content is selected to fill the unfilled slot position with the content;
in another embodiment, the most recently pushed slot content is selected for filling;
in another embodiment, the slot position content with the weight coefficient of the directed edge associated with the slot position content being greater than the threshold value is used as the initial selection slot position content, the initial selection slot position content is sorted according to the pushing time, and the most recently pushed initial selection slot position content is selected to fill the unfilled slot position.
Further, after the step 084, the following steps are also included:
step 085, judging whether the second voice command of the user can be executed; if yes, go to step 610; if not, go to step 609.
In another embodiment, after step 506 or 610, the method further comprises the steps of:
step 507, judging whether the voice command of the user is correctly executed, if so, executing step 508; if not, go to step 509;
in this step, the APP ecosystem generates an application or the APP determines whether the command executed by the APP according to the filled slot content is corrected by the user, and if not, it indicates that the information transfer is correct, and if it is corrected by the user, it indicates that the information transfer has an error.
Step 508, increasing the weight coefficient of the directed edge between the APP of the execution command and the candidate APP with slot content utilization in the APP ecological graph;
wherein the APP ecosystem generates an application or the APP performs this step.
Step 509, obtaining slot content corrected by a user, and determining whether the corrected slot content is the same as the pushed slot content in the APP ecological graph, if so, increasing the weight of the directed edge when a directed edge exists between the APP executing the command and the APP having the same slot content, and if not, establishing the directed edge.
Further, the weight coefficient of the directional edge between the APPs with the information transmission errors is reduced, and if the reduced weight coefficient is 0 or a negative value, the directional edge between the APPs is deleted.
Further, this step may also be performed by the APP ecosystem generation application or APP.
By the method, the APP ecological graph can be dynamically updated and adjusted according to the use habits of the user, so that the APP ecological graph is more matched with the user.
Acquisition, storage and use of slot content
After the association relation of the slot position information is established, the slot position association relation is called, and the stored information related to the slot position content can improve the comprehension and execution of the APP to the user voice command, improve the human-computer interaction efficiency and improve the intelligence of the machine.
In an embodiment of the present invention, fig. 14 provides a method for calling an association relationship of slot information, which specifically includes the following steps:
step 701, acquiring a first voice command input by a user;
the first APP detects and receives a voice command of a user, analyzes the voice command and determines a corresponding first task.
Step 702, filling a corresponding slot position and a public slot position when a first APP executes a first task corresponding to a voice command according to the first voice command;
specifically, in the step, when the slot position content is filled, whether the filled slot position includes a public slot position is judged based on the established slot position information incidence relation, if so, the slot position corresponding to the first task in the APP is filled, and the slot position content is filled into a public slot position content matrix;
alternatively, in another embodiment, if the filling of the public slot is involved in filling the slot content, the public slot is directly filled, the corresponding slot in the APP is not filled any more, and the public slot is directly called when the APP executes a task. By the method, the storage space of the terminal can be saved, and the same content does not need to be stored twice.
When the APP fills the public slot position content matrix, judging whether the matrix is an empty matrix, if so, directly filling the first row of the matrix; if the matrix is a non-empty matrix, preferably, judging whether the difference value between the time filled in the time stamp column of the matrix and the current time is more than or equal to deletion time, if so, deleting the row corresponding to the time stamp, and if not, not executing deletion operation; in addition, a row is added to the matrix, and the information related to the public slot position related to the first voice command is filled in the newly added row of the matrix.
For example, the slot content currently filled by the common slot 1 is
The first column of the matrix is the content of the filled slot, the second column is the filling time, and the third column is the information source.
After obtaining a voice command, the APP1 judges that the slot to be filled relates to a public slot 1, firstly judges that a content matrix of the public slot 1 is a non-empty matrix, further judges that a time difference between 12:15 in a time stamp column of the matrix and the current time is greater than deletion time, deletes data in a first row, further adds a row behind the last row of the matrix, and fills current data D, 15:40 and APP1, specifically as follows:
step 703, acquiring a second voice command input by the user;
in this step, the second voice command input by the user may be the first APP or the second APP;
the second APP may be installed after the slot information association relationship is established for the terminal, or may be an APP included in the slot information association relationship.
Step 704, filling a slot for executing the APP of the second task corresponding to the voice command according to the second voice command;
the specific implementation of this step is the same as step 702.
Step 705, judging whether one or more unfilled slots which are necessary to be filled for executing the second task exist, if so, executing step 706, and if not, executing step 710;
in the step, the second APP judges whether a slot position which needs to be filled exists, and if so, the subsequent steps are further executed.
Step 706, inquiring the incidence relation of the slot position information, judging whether the one or more slot positions which need to be filled can use the public slot position content matrix, if so, filling the slot positions which need to be filled by using the public slot position content matrix, and executing step 708, otherwise, executing step 709;
specifically, the step 706 includes the following steps:
7061, the second APP determines whether it has one or more public slots having the same or the same attributes as the slot that must be filled, and if not, step 7062 is executed; if so, taking the public slot position as a public slot position to be selected, and executing a step 7063;
7062, the second APP determines whether other APPs in the cluster to which the second APP belongs have one or more public slot positions that are the same as or have the same attribute as the slot position to be filled, if so, the public slot position is used as a public slot position to be selected, and 7063 is executed; if not, go to step 709;
7063, preprocessing the slot position content matrix of the public slot position to be selected, deleting rows of the matrix corresponding to the filling time meeting the deletion time, screening public slot positions to be selected, of which the slot position content matrix is not an empty matrix, as candidate public slot positions, and executing 7064; if no public slot position of which the slot position content matrix is not the empty matrix exists, executing step 709;
7064, selecting slot position content meeting the conditions from the slot position content matrix of the candidate public slot position to fill the slot position which needs to be filled;
preferably, in this step, it is determined whether the slot content that the user intends to fill can be derived based on the interactive process between the user and the APP, and if it can be determined, the slot content corresponding to the feature is preferentially selected to fill the slot to be filled, and if it cannot be determined, the slot content is selected based on a certain rule.
Wherein the features include one or more of: time information, APP information, slot information, etc.
For example, the voice command of the user interacting with the second APP is "help me find how do you go in city weather", the slot position that the second APP needs to fill for executing the task corresponding to the voice command includes a location slot position, a to-be-selected public slot position in which the slot position or the slot position attribute is the location is screened out based on the public slot position associated with the APP, a slot position content matrix of the to-be-selected public slot position is updated, a row in the matrix in which the filling time and the current time interval are greater than or equal to the deletion time is deleted, and a slot position corresponding to a slot position content matrix that is not an empty matrix is selected as a candidate slot position.
In addition, based on the voice command, it can be determined that the characteristics related to the slot content are the indicated region from a city to the slot to be filled by the user, based on the characteristics, a common slot shared with the APPs related to travel is preferentially selected, based on the information, the source APP in the slot content matrix of the common slot is queried as the APP related to the characteristics, for example, APP1 is queried, or APP1 and APP3 are queried, for the existence of multiple related APPs, based on a certain rule selection, when one related APP exists, the slot content corresponding to the APP is selected for filling, and further, if multiple filling contents are related, the content filled at the latest time is preferentially selected.
The certain rule may be one of the following:
selecting the slot position content with the latest filling time in the public slot position content matrix to fill the slot position which needs to be filled;
selecting a row with filling time meeting preset selection time in the public slot position content matrix, and selecting the slot position with the highest weight coefficient to fill the slot position which needs to be filled based on the weight coefficient of information transmission between the source APP and the second APP;
firstly, screening rows with weight coefficients higher than a preset weight coefficient based on the weight coefficient of information transmission between a source APP and a second APP in a public slot position content matrix, and secondly, selecting the slot position content with the latest filling time to fill a slot position which needs to be filled;
step 708, determining whether a task corresponding to the second voice command can be executed, if yes, executing step 710, and if not, executing step 709;
step 709, interacting with the user to obtain the slot position content of the slot position which needs to be filled, and executing step 710;
and step 710, executing the task corresponding to the second voice command.
In another embodiment, after step 710, the following steps are included
711, judging whether the calling of the public slot position is accurate, if so, executing 712, and if not, executing 713;
step 712, increasing a weight coefficient between the second APP corresponding to the public slot and the slot content source APP;
step 713, obtaining the slot position content corrected by the user, judging whether the corrected slot position content has the same slot position content in the slot position content matrix of the public slot position which has the same slot position or the same attribute as the slot position needing to be filled, if so, increasing the corresponding weight coefficient if the public slot position exists between the second APP and the source APP, reducing the weight coefficient corresponding to the slot position of the wrong public slot position content, and if not, constructing the public slot position for the two.
In the method, the used APP stores the content with the possibility of information transmission in the corresponding public slot position in advance based on the APP ecosystem, and when a user interacts with the APP used later, even if the information is not sufficiently provided, the APP can analyze the semantics of the user, and the intelligence of man-machine interaction is improved. In addition, after the APP ecosystem is established, a monitor does not need to be installed in the terminal to extract the slot position content, the APP ecosystem only needs to be stored in the terminal or the server, information transmission between the APPs can be achieved, power consumption of the terminal is reduced to a certain extent by the method, and the method is particularly helpful for intelligent terminals with power saving requirements. Furthermore, the ecosystem can be trained and updated based on the use of the user, and when the user needs to update, the APP ecosystem generation application is started, and the ecosystem update is completed through the APP ecosystem generation application.
Utilization of APP ecosystem
How to utilize the ecosystem is described below in connection with practical applications, as shown in fig. 15.
Step 801, monitoring the use of the APP by a user;
in this step, the APP monitors that the user uses the APP, for example, the user opens the APP, and the APP receives a command of the user.
Step 802, judging whether the terminal has a corresponding APP ecosystem, if not, executing step 803, and if so, executing step 806;
in this step, when the APP detects that the user will use the APP, it is determined whether a corresponding APP ecosystem exists.
Step 803, sending an acquisition request to acquire an APP ecosystem;
in this step, the manner of obtaining the APP ecosystem is similar to the manner of obtaining the APP ecological map, and specifically, the APP ecological map in the method of obtaining the APP ecological map is replaced by the APP ecosystem.
Wherein, when adjusting APP ecosystem and making it satisfy the user attribute requirement, if use APP1 replacement APP in the APP ecosystem, it is corresponding, with the trench replacement of the directional limit that corresponds to corresponding trench.
Step 804, judging whether an APP ecosystem is received, if so, executing step 806;
in which when the APP ecosystem is received, the step of utilizing the APP ecosystem is performed.
Further, if the APP ecosystem is not received, executing step 805 to initialize the APP ecosystem;
in this step, the manner of initializing the APP ecosystem is the same as the method for generating the APP ecosystem described above.
In another embodiment, before step 805 is executed, a confirmation message is sent to the user to enable the user to confirm whether to execute step 805, if the user selects to execute step 805, the APP ecosystem generation application execution step 805 is triggered, and if the user selects not to execute step 805, the interaction is performed in a manner of normal user interaction with the APP.
Step 806, acquiring a voice command of a user;
in this step, the APP obtains the user's voice command.
Step 807, judging whether the corresponding task can be executed according to the voice command of the user, if so, executing step 808; if not, go to step 810;
in the step, a voice command of a user is analyzed, a task corresponding to the voice command is determined to be executed, a slot of the task is filled, and whether the task can be executed is judged based on the filling of the slot.
Step 808, executing the task, and obtaining a slot position with an arrow tail pointing to a directed edge of the APP and a slot position filled by executing the task, wherein the slot position is the same as or has the same attribute as the slot position filled by executing the task; step 809 is executed;
in this step, the APP identifies a slot position of a directed edge associated with the APP ecosystem according to the slot position filled by the execution task, and if the directed edge points to another APP, the slot position filled by the APP execution task is the same as or has the same attribute as the slot position of the directed edge, and the slot position of the directed edge is obtained.
Step 809, adding a label to the slot position of the directed edge, wherein the label indicates the content update time of the slot position corresponding to the slot position of the directed edge; and (6) ending.
Specifically, when the slot for performing task filling is the same as the slot associated with the directed edge of the APP, a timestamp is added to the slot, where the timestamp may include multiple timestamps indicating different times at which the slot is filled;
preferably, when the content of the slot filling the relevant slot for multiple times is not changed, the latest timestamp filling the content of the slot is reserved, and further, when the time interval between the timestamp and the current time is greater than or equal to the deletion time, the corresponding timestamp is deleted.
By adding the timestamp, the APP can identify whether to call the slot content of another APP associated with the slot of the directed edge, and can identify which APP it calls based on time.
Step 810, when the received APP ecosystem is judged in the step 804, executing the step 811; if it is determined in step 802 that the terminal has a corresponding APP ecosystem, perform step 812;
step 811, interacting with a user to obtain the content of unfilled slots that must be filled in order to execute a task; and go to step 808;
in this step, it is determined that the APP ecological application is not enabled, and the probability of obtaining the effective information is low, so that the task is executed in a common manner.
Step 812, inquiring the APP ecosystem, and identifying one or more second APPs which establish a directed graph with the APP, are pointed to the APP by a directed edge arrow, and have the same slot position of the directed edge as the unfilled slot position or the same attribute;
in this step, if it is confirmed that the APP ecosystem has been enabled by the user before, the slot may be filled with relevant information according to the system query.
Step 813, filling unfilled slots in the APP based on the identified one or more APPs; go to step 814;
in one embodiment, obtaining tag information of a slot position of a directed edge between the one or more APPs and the APP, determining an information source APP based on the tag information, obtaining content of the slot position same as the slot position of the directed edge from the information source APP, and filling the content into a corresponding slot position which is not filled by the APP;
in one embodiment, in this step, it is determined whether the slot content that the user intends to fill can be derived based on the interactive process between the user and the APP, and if it can be determined, the slot content corresponding to the APP corresponding to the feature is preferentially called, and if it cannot be determined, the called APP is selected based on a certain rule.
Wherein the features include one or more of: time information, APP information, slot information, etc.
And when a plurality of APPs corresponding to the characteristics exist, selecting an information source APP based on a certain rule, and when one APP corresponding to the characteristics exists, selecting the slot position content corresponding to the APP for filling.
The certain rule may be:
selecting an APP with a weight coefficient larger than a preset value based on weight screening of a directed edge between the APP and an information source APP, and further selecting an information source based on a tag of a slot position of the directed edge, for example, the APP with a timestamp of the latest time in the tag;
step 814, determining whether the task corresponding to the voice command of the user can be executed, if yes, executing step 808, and if not, executing step 811.
Further, the method further comprises the following steps for updating the APP ecosystem in real time:
815, judging whether the slot filling is accurate, if so, executing 816, otherwise, executing 817;
step 816, increasing the weight coefficient of the directed edge between the APP of the execution command and the APP of the information source in the APP ecosystem;
step 817, obtain the trench content that the user corrected, judge whether the trench content of correcting is the same with the trench content of APP filling in the APP ecosystem, if the same, then have the oriented limit between the APP that carries out the order and the same APP of trench content, then increase the weight of this oriented limit, judge whether the trench that information source APP was called the trench content is the trench of oriented limit, if not, then increase this trench as the trench of oriented limit, if there is not oriented limit, then establish oriented limit, and will call the trench of trench content and set up as the trench of oriented limit.
The method can realize the flexible transmission of the information between the APPs, the APP ecosystem can be updated at any time, and any APP utilizing the APP ecosystem can be used for updating, thereby strengthening the path of the information transmission between the APPs.
The present invention also provides an APP ecosystem generation apparatus, referring to fig. 16, the apparatus is used for initializing an APP ecosystem and an APP ecosystem, and includes:
the monitoring module is used for monitoring interaction between the user and the APP;
specifically, in the step, the monitoring module monitors interaction between the user and the APP in real time and records the interaction process between the user and the APP;
or,
the method comprises the steps of obtaining logs of a user using a terminal at preset time intervals, wherein the logs comprise interaction information of the user and each APP, and obtaining records of interaction between the user and the APP from the logs, wherein the records comprise time information of the interaction between the user and the APP. The generation module is used for acquiring and storing continuously used APP names and the APP using sequence;
the generation module monitors interactive scenes between the user and the APP in real time, monitors the state change of the APP in real time, and determines the continuously used APP and the use sequence according to the state change of the APP and the corresponding time information.
For a log of a user using terminal acquired at a preset time interval, acquiring a scene of a record of interaction between the user and an APP from the log, acquiring whether a time interval of using two APPs by the user is smaller than a preset continuous time interval or not by a generation module according to record information of the interaction between the user and the APP, if so, determining that the two APPs are continuously used APPs, otherwise, determining that the APPs are not continuously used APPs.
In another embodiment, the generation module stores the obtained continuously used APP, and further stores the obtained continuously used APP in the form of APP pairs.
The judging module is used for judging whether information transmission or information transmission requirements exist among continuously used APPs; if yes, the trigger generation module establishes a directed graph between the APPs, and if not, the trigger generation module deletes the stored APP pairs which do not have the information transmission or the information transmission requirement.
Specifically, for the interactive scene between the real-time monitoring user and the APPs, the judging module judges whether the information transmission or the information transmission requirement exists between the continuously used APPs comprises the following steps:
and judging whether a calling relation exists between the APPs, if so, judging whether information transmission or information transmission needs exist between the APPs.
Or judging whether the same slot position content is filled in the slot position when the continuously used APP executes the task, and if so, determining that the information transmission or the information transmission requirement exists between the APPs.
Further, if the slot positions have different contents, whether the continuously used APP has the same slot position or the slot position with the same attribute is judged, and if yes, the information transmission or the information transmission requirement is determined.
For the log of the user use terminal obtained at a preset time interval, a judging module obtains a recorded scene of interaction between the user and the APP from the log, judges whether the same slot position content is filled in a slot position called when the continuously used APP executes a task or not according to the information of the interaction between the user and the APP recorded in the log, if so, determines that the continuously used APPs have information transmission or information transmission requirements, if not, determines whether the continuously used APPs have the same slot position or the same slot position with the same attribute, and if so, determines that the continuously used APPs have the information transmission or information transmission requirements.
The generation module is used for establishing a directed graph between the APPs according to the sequence of using the APPs by a user and/or the calling relation between the APPs;
the generation module establishes a directed graph between APPs for continuous use of information transmission or information transmission requirements, specifically, the APP pair with the information transmission or information transmission requirements is used as a data source for establishing the directed graph between APPs, and the directed graph between APPs is established according to the stored format of the APP pair, wherein the APP positioned in the front of the APP pair is a starting point of the directed graph, and the APP positioned behind the APP is a terminal of the directed graph.
The generating module is also used for executing the action corresponding to the trigger message according to the trigger message sent by the other modules;
and the generation module is also used for generating the APP ecological graph according to the directed graph among the APPs.
In another embodiment, the APP ecological map generating apparatus further performs the following method:
the monitoring module detects the behavior of the voice assistant;
the monitoring module monitors the behaviors of the voice assistant in real time, such as the interaction behaviors of the voice assistant and a user, or the behaviors of the voice assistant calling APP when executing a specific task.
And the generation module is used for acquiring and storing the APP names continuously called when the voice assistant executes the task and the sequence of calling the APPs.
The mode of generating the APP name that the module storage was called continuously is the same as the mode of storing the APP name that uses continuously above-mentioned, all adopts the mode storage of APP right.
The judging module is used for judging whether information transmission or information transmission requirements exist among the continuously called APPs; if yes, triggering a generation module to establish a directed graph among the APPs; if not, the generation module is triggered to delete the stored APP pairs without information transmission or information transmission requirements;
the generation module is also used for establishing a directed graph between the APPs according to the sequence of continuously calling the APPs; generating an APP ecological graph according to the directed graph among the APPs
The generation module deletes the stored APP which does not have information transmission or is continuously called according to the requirement of the information transmission according to the trigger message;
in another embodiment, the generation module sets a weight coefficient for the directed edge, and the size of the weight coefficient indicates the size of the probability of information transfer between two APPs connected to the generation module. When the directed edges of the directed graph are initially established between the APPs, the weight coefficients are all the same value.
Before the generation module establishes the directed graph between the APPs, the following steps are executed:
step 241, judging whether a directed graph exists among the APPs, and if so, executing step 242; if not, go to step 244;
step 242, determining whether the direction of the directional edge to be established is the same as the direction of the existing directional edge, if so, executing step 243, and if not, executing step 244;
step 243, increasing the weight coefficient of the directional edge in the same direction as the direction;
step 244, establishing a directed edge with a new direction;
step 245, establishing directed edges between the APPs.
In another embodiment, before the detection module performs its detection function, the generation module is further configured to perform the following steps:
step 01, obtaining an APP name installed in a terminal;
step 02, classifying the APPs according to functions, grouping the APPs with the same or similar functions into a cluster, and forming one or more APP clusters; wherein the APP cluster comprises one or more APPs;
further, when an APP has multiple functions, it may be cross-partitioned, i.e. partitioned into multiple clusters, where the APP belongs to an intersection of multiple APP clusters.
Preferably, for APP with multiple functions, clustering of the APP can be optimized by combining with the use habits of the user, and clustering is preferentially performed according to the use habits of the user.
In another embodiment, the detection module detects that a new APP is installed in the terminal, or detects that an APP not included in the APP ecosystem or the APP is present in the terminal, the trigger generation module adds the APP into an APP cluster corresponding to the function of the terminal according to the APP function, and in addition, the detection module detects the use of the new APP by the user, where the detection operation may be performed under a trigger message sent to the detection module when the new APP is started or used by the user.
Further, whether the information that detection module detected to obtain from other APPs is correct, if correct, trigger and generate the APP ecological map or APP ecosystem or the trench information incidence relation that the module update corresponds, the module that generates establishes new APP and the directional limit that information source APP corresponds, if wrong, trigger and generate the module and judge whether can update the directional limit based on user correction information, if can, then update the directional limit that corresponds, if can't establish the directional limit, then detection module continues to detect the user to this APP's use.
Preferably, the detection module starts a detection function based on a certain rule, for example, periodically, or according to user settings, or when an event is triggered, for example, after the generation module clusters a new APP, sends a message to the APP, or when the detection module detects a new APP, sends a message, where the message carries an information indicating that the APP does not establish a directed edge with another APP, and after the new APP receives the message, when the new APP starts or is used by a user, the detection module sends a message to trigger the detection module to detect the use of the APP.
In another embodiment, the determining module determines whether the terminal has an APP ecological map, and if not, triggers the APP ecological map generating device to initialize the APP ecological map, and triggers the detecting module to execute the detecting function; if yes, the process is ended.
The judging module judges whether the terminal has an APP ecological graph, wherein the APP ecological graph can be stored in the local terminal and can also be stored in a cloud server.
Further, the device comprises a storage module for storing information such as the APP ecological graph.
The method comprises the steps that a judging module firstly inquires whether an APP ecological graph is stored in a terminal locally, if yes, the process is finished, if the APP ecological graph is not stored, a triggering generation module sends an APP ecological graph acquisition request to a cloud server, receives a response message corresponding to the request returned by the cloud server, judges whether the response message carries the APP ecological graph, and if not, triggers an APP ecological graph generation device to initialize the APP ecological graph; if the mobile phone is carried, the operation is finished.
The generation module sets a corresponding relation between the terminal and the APP ecological graph, the corresponding relation can identify the corresponding ecological graph through the unique identification of the terminal, the unique identification can be information of the unique identification terminal such as IMEI of the terminal, or the user identification of the terminal, and the user identification uniquely identifies one user.
In another embodiment, the APP ecosystem generation apparatus is further configured to establish an association relationship of slot information.
The establishment of the slot information association relationship can be established after the APP ecological graph is generated, can also be established synchronously with the APP ecological graph, or is generated independently of the APP ecological graph. The method specifically comprises the following steps:
if the judging module judges that information transmission or information transmission requirements exist among the APPs, the generating module is further used for executing the following steps:
if the calling relation exists among the APPs, a slot position of a previously used APP utilized by the called APP is obtained, and the slot position is set as a slot position with a directed edge;
if a slot position for filling the same slot position content exists between the APPs, setting the slot position which fills the same slot position content in advance as a slot position with a directed edge, and determining the direction of the directed edge as that the APP which fills the same slot position content in advance points to the APP which fills the same slot position content in the later;
if the slot positions have different contents and the same slot position or the same attribute, the same slot position or the slot position with the same attribute of the APP used later than the APP used earlier is set as the slot position with the directed edge.
Further, after the slot with the directed edge is established, when the APP ecological graph is updated or a new APP ecological graph is generated based on the existing APP ecological graph, the slot with the directed edge is updated along with the corresponding directed edge, for example, when the directed edge is deleted, the corresponding slot is also deleted.
In another embodiment, another slot information association relationship establishing method is provided:
the detection module is used for executing a detection function and detecting interaction between a user and the APP;
in this step, the activation of the detection function is based on certain rules as described above, such as periodically, or according to user settings, or upon event triggers, as in the examples listed in the above embodiments.
In one embodiment, the event trigger further comprises the following modes
The APP receives a command of a user; the APP receives a command of a user, and the user is indicated to use the APP; the APP judges whether the slot information association establishment completion identifier is true, if so, a message for triggering starting of the APP ecosystem to generate the application is not sent, and if not, whether the APP ecosystem to generate the application is started is further judged; if the application is started, the APP does not send a message for starting the APP to the APP ecosystem generation application, and if the APP is not started, the APP sends a message to the APP ecosystem generation application, the APP is triggered to start, and the detection module is triggered to execute the detection function.
The slot position information incidence relation establishment completion identifier is stored in the storage module and used for identifying whether the incidence relation is established or not, wherein a detection timer is arranged in the device, when the time of the detection timer is longer than the detection completion time, the trigger generation device sets the identifier to be true, otherwise, the detection timer is set to be false, and the detection timer can be reset to zero according to the requirements of users.
The detection module is also used for detecting the interaction between the user and all used APPs;
the detection module detects interaction between the user and all APPs, and detects tasks executed by the APPs, slot positions filled during execution of the tasks and slot position content filled.
The generating module is used for acquiring and storing the slot position and the slot position content which are filled when the APP executes the task, and the time for filling the slot position content;
the judging module is used for judging whether the user still has interaction with the APP, and if so, the detecting module is triggered to detect the interaction between the user and all the used APPs; if not, judging whether slot positions filled when a plurality of APPs execute tasks and slot position content information are stored, and if not, triggering a closing module to close or sleep the device; if so, judging whether information transmission or information transmission requirements exist between the APPs, and if so, triggering a generation module to take the slot position with the information transmission or information transmission requirements as a public slot position between the APPs;
the generation module is further configured to query information stored in the storage module, and determine whether related information of multiple APPs is stored, if so, an association relationship of the slot position information may be established based on the stored information, and if not, the association relationship may not be established based on the currently stored information.
A shutdown module, configured to shutdown or hibernate the apparatus according to the trigger message;
further, if it is determined that there is no information transfer or information transfer requirement between the APPs, the method is ended.
Specifically, the judging module judges whether information transmission or information transmission needs exist between the APPs and comprises the following steps:
step 2071, determining whether the time interval of any two or more stored APP filling slot contents is smaller than a predetermined continuous time interval, if so, executing step 2072, and if not, executing step 2074;
step 2072, grouping the APPs that meet the condition into a group; judging whether any two or more APPs in each group fill the same slot position content or not based on the stored information; if yes, go to step 2073;
step 2073, the triggering generation module takes the slot position previously filled with the same slot position content as a public slot position;
step 2074, determining whether the slot content filling time and the current time interval in the stored information are greater than or equal to the deletion time, if so, triggering the generation module to delete the entry content corresponding to the filling time, and if not, ending the process.
Wherein the deletion time is greater than a predetermined continuous time interval.
In the step, the information with longer storage time is screened and deleted, so that the storage space can be effectively saved, and the resource waste is reduced.
In another embodiment, the generating module is further configured to set a weight coefficient for the public slot, and when the public slot is initially established, the same default weight coefficient is used.
Further, before determining a public slot position, the generation module judges whether the slot position is set as the public slot position between the APPs, and if so, increases a weight coefficient of the public slot position; if not, establishing the public slot position;
in another embodiment, the generating module sets a weight coefficient w for the common slotijIndicates that the public slot is APPiTo the APPjWeight coefficient of (1), similar wjiIndicates that the public slot is APPjTo the APPiThe weight coefficient of (2).
Wherein the weight coefficient is increased or decreased in △ w steps.
In another embodiment, the generating module stores slot content corresponding to the same common slot in a matrix.
Before the device establishes the slot position information association relation, the generation module clusters the APP according to the functions, as shown in the recorded content. The detection module detects that a new APP is installed on the terminal, the generation module is triggered to add the APP into an APP cluster corresponding to the function of the APP according to the APP function, and a message is sent to the APP, and the message indicates that the detection function of the detection module is triggered when the APP detects that a user uses the new APP. Further, the detection module detects whether the new APP acquisition information is correct, if so, the trigger generation module establishes a public slot position for the new APP and the information source APP, if not, the trigger generation module judges whether the public slot position can be established based on the user correction information, if so, the corresponding public slot position is established, and if not, the process is finished.
The incidence relation of the slot information can be generated based on the APP ecological graph, and when the generation module adjusts the APP ecological graph, the slot incidence relation is adaptively adjusted, or the APP ecological graph is adjusted based on the slot information incidence relation. Correspondingly, after the general APP ecological graph is generated, the general slot association relation can be formed by adopting the method, so that a general APP ecological system is formed.
Sharing of APP ecograms and generation of generic APP ecograms
In another embodiment, a generic APP ecosystem generation apparatus is proposed for generating and sharing a generic APP ecosystem, as shown in fig. 17, the apparatus comprising:
the acquisition module is used for acquiring an APP ecological map;
the obtaining module can obtain the APP ecological map by receiving the mode that the user actively uploads the APP ecological map, or sends requests to a plurality of users to obtain the APP ecological map of the users, and simultaneously obtains attribute information related to the users, such as preferences, ages, social groups and the like of the users.
The classification module is used for classifying the APP ecological diagrams to form APP ecological diagram clusters;
and for the obtained APP ecological diagrams, classifying the APP ecological diagrams with the same user attributes into a group by a classification module according to the user attributes.
And the training module is used for training the APP ecological diagrams in the APP ecological diagram cluster to form a general APP ecological diagram corresponding to the user attributes.
The training module is specifically configured to perform the following steps:
step 3031, obtaining APPs included in a plurality of APP ecograms in a cluster;
step 3032, adding the same label for a plurality of APPs with the same function or capable of being mutually replaced;
step 3033, fusing the plurality of APP ecograms to form a general APP ecogram;
in this step, APPs having the same tag are grouped into a group, referred to as APP group; replacing APP corresponding to the APP group in the plurality of APP ecograms with the APP group; establishing directed graphs among the APPs and/or the APP groups included in the multiple APP ecographs according to the directed graphs among the APPs and/or the APP groups in the multiple APP ecographs, and overlapping the weight coefficients of the directed edges among the same APPs or the APP groups in the multiple APP ecographs to form the weight coefficients of the directed edges in the general APP ecographs.
And step 3035, storing the general APP ecological graph in a storage module.
In this step, the generic APP ecograms are stored in a storage module of the server.
In one embodiment, the user attributes corresponding to the generic APP ecograms are used as indexes to store the corresponding generic APP ecograms.
In another embodiment, after step 3033, the following steps are further included:
step 3034-1, deleting the directed edges of which the weight coefficients are lower than the lowest weight coefficient in the fused APP ecological graph;
step 3034-2, judging whether an isolated APP or APP group exists, if so, deleting the APP or APP group, and generating a simplified general APP ecological graph;
and 3034-3, storing the simplified APP ecological graph in a storage module.
In this step, the simplified APP ecological graph is stored in correspondence with the user attribute corresponding thereto.
The above steps 3034-1 to 3034-3 may be performed before step 3035, or may be performed after step 3035.
In an embodiment, the device is used to generate a general or simplified general APP ecosystem, specifically, the APP ecosystem is replaced by the APP ecosystem in the method steps executed by the device, wherein for the formation of the slot position of the directed edge in the general or simplified general APP ecosystem, the slot position of the directed edge is synchronously updated and fused with the directed edge, that is, the slot position of the same directed edge is updated in an "addition" manner.
In another embodiment, before generating the user-specific APP ecological map, the user first obtains the general APP ecological map or the simplified general APP ecological map, which may improve the APP ecological map training speed.
In addition, a user usually has a plurality of terminals, and there is a need for sharing the APP ecological graph among the terminals of the user, wherein when the terminal currently used by the user does not have the APP ecological graph, an ecological graph acquisition request is preferentially sent to other terminals to acquire the APP ecological graph, and if a response of other terminals is not received, the APP ecological graph is acquired to other users or the cloud server.
In an embodiment, the above APP ecosystem generation apparatus is further configured to obtain an APP ecological map, and the apparatus further includes:
the acquisition module is used for sending an APP ecological map acquisition request to other terminals of a user;
and when the terminal does not have the APP ecological graph, preferentially sending an acquisition request to other terminals of the user to acquire the APP ecological graph specific to the user.
The obtaining module judges whether an APP ecological graph is obtained or not based on the received response; if yes, ending, and if not, sending an APP ecological map acquisition request to a friend having the same attribute with the user;
the obtaining module judges whether to obtain the APP ecological graph from the friend or not based on the received response, and if not, sends an APP ecological graph obtaining request to the general APP ecological system generating device, wherein the obtaining request carries the attribute information of the user; if yes, triggering a generation module to identify the APP contained in the terminal, and adjusting an APP ecological graph;
step 405, sending an APP ecological map acquisition request to a cloud server, wherein the acquisition request carries attribute information of a user;
after the general APP ecosystem generation device receives the APP ecological graph acquisition request sent by the acquisition module, the general APP ecosystem generation application executes the following steps:
an acquisition module for receiving an APP ecological map acquisition request sent by a terminal,
the training module is used for determining an APP ecological graph meeting the user attribute requirements based on the attribute information of the user carried by the request; wherein, the APP ecological diagram can be a general and/or simplified general APP ecological diagram.
The acquisition module is used for sending a response message to the terminal of the user, wherein the response message carries the APP ecological graph meeting the user attribute requirement;
further, when the attribute information of the user comprises a plurality of user attributes, the training module preferentially selects the general APP ecological graph which meets the most user attributes as the APP ecological graph which meets the requirements of the user attributes;
in another embodiment, when the attribute information of the user includes a plurality of user attributes, the training module obtains a minimum union of the user attributes of the generic APP ecological graph based on the user attributes, where the union of the user attributes of the generic APP ecological graph included in the minimum union is the same as the user attributes in the attribute information of the user carried in the APP ecological graph obtaining request.
Fusing the minimum union set of the general APP ecological diagrams, and taking the fused APP ecological diagrams as the APP ecological diagrams meeting the user attribute requirements; wherein the fusion method is the same as the fusion method in step 3033.
In another embodiment, the APP ecological map acquisition request carries the capability information of the terminal, where the capability information includes the storage capability of the terminal;
the training module judges whether the training module has the capability of storing the APP ecological graph meeting the user attribute requirements according to the storage capability of the terminal, if so, the acquisition module sends a response message to the terminal of the user, the response message carries the APP ecological graph meeting the user attribute requirements, if not, based on the attribute information of the user carried by the request, the simplified general APP ecological graph meeting the user attribute requirements is determined, whether the training module has the capability of storing the APP ecological graph meeting the user attribute requirements is further judged according to the storage capability of the terminal, if the terminal does not have the capability of storing the APP ecological graph meeting the user attribute requirements, the acquisition module is triggered to send the response message to the user, and the response message carries the APP ecological graph to acquire the failure reason.
The acquisition module is used for receiving a response message sent by the general APP ecosystem generation device; if the response message carries the APP ecological graph, triggering a generation module to identify the APP application included by the terminal, and if the response message carries the reason that the acquisition of the APP ecological graph fails and the reason is that the storage space is insufficient, sending an APP name installed by the terminal to a general APP ecological system generation device so that the cloud server generates the APP ecological graph suitable for the terminal;
further, after the general APP ecosystem generating device receives the message sent by the acquisition module, the APP ecological graph meeting the user attribute requirements is adjusted based on the APP installed on the terminal, wherein the APP ecological graph meeting the user attribute requirements is generated based on the general APP ecological graph.
The specific steps of adjusting the APP ecological graph meeting the user attribute requirements with the general APP ecological system generation device are as follows:
based on the APP installed in the terminal, a generation module or a training module identifies the APP which is not included in the terminal in the APP ecological graph and is recorded as APP1, and the APP which is not included in the APP ecological graph in the terminal and is recorded as APP2, judges whether the APP2 includes a substitute APP with the same function as the APP1, and if so, replaces the APP in the corresponding APP1 with the APP with the same function in the APP 2; if not, deleting the APP1 in the APP ecological graph and the directional edge connected with the APP1, and for the APP3 which is not added to the APP ecological graph in the APP2, setting the APP3 in the APP ecological graph in an isolated node, and further placing the APP ecological graph in a cluster corresponding to the function of the APP ecological graph.
After the general APP ecosystem generates the APP ecological map suitable for the terminal, the acquisition module sends the APP ecological map to the acquisition module of the APP ecosystem generation device.
And the acquisition module of the APP ecosystem generation device triggers the storage module to store after receiving the APP ecological graph.
Further, when the judgment module judges that the storage space of the storage module is insufficient, a prompt is sent to the user, so that the user deletes some information to enable the terminal to meet the storage space.
In another embodiment, there is also provided a voice interaction apparatus, as shown in fig. 18, including:
the receiving and transmitting module is used for acquiring a voice command input by a user;
an execution module for executing the following steps:
step 502, judging whether a voice command of a user can be executed; if not, obtaining the unfilled slot position of the APP execution voice command, and executing step 503;
step 503, calling the APP ecological graph to obtain candidate APPs which have directional edges with the APP for executing the voice command and point to the APP for executing the voice command in the direction of the directional edges;
the execution module analyzes the voice command of the user and fills the key information into the slot of the task corresponding to the voice command.
Furthermore, if the execution module can execute the voice command of the user, the execution module executes the corresponding action according to the voice command.
Specifically, after the execution module calls the APP ecological graph, whether the APP executing the voice command has a directional edge associated with the APP ecological graph and the directional edge direction points to the APP executing the voice command is judged, and if yes, candidate APPs having a directional edge and a directional edge direction pointing to the APP executing the voice command are further extracted from the APP executing the voice command. If the directional edge which meets the above conditions does not exist, whether the directional edge belongs to a certain cluster is judged, if not, the directional edge is added into an APP cluster corresponding to the function according to the self function, when the APP belongs to a certain cluster, the APP at the other end of the directional edge pointing to other APPs and associated with other APPs belonging to the same cluster is obtained, whether the APP at the other end has the slot position of the unfilled content or the slot position with the same attribute is further judged, if so, the APP at the other end of the slot position with the unfilled content or the slot position with the same attribute is taken as a candidate APP, and otherwise, the step 505 is executed.
After step 502, before step 503, the execution module is further configured to perform the following steps:
step 5031, determining whether the storage module of the device stores an APP ecological map, if yes, executing step 503; if not, go to step 5032;
step 5032, triggering the transceiver module to send an APP ecological map acquisition request;
the receiving and sending module sends an APP ecological map acquisition request to a cloud server or a general APP ecological system generation device, and further, the acquisition request comprises an identifier of a terminal, and the identifier is used for identifying the APP ecological map corresponding to the terminal.
Cloud server or general APP ecosystem generate device inquire the APP ecological map that corresponds based on this sign, and the APP ecological map that will inquire sends the receiving and dispatching module to, if not inquire, then judge whether have general APP ecological map, if, then send general APP ecological map to receiving and dispatching module, otherwise, send failure response message to receiving and dispatching module.
Step 5033, the execution module judges whether to acquire the APP ecological map based on the message received by the transceiver module; if not, triggering the APP ecosystem generation device to initialize the APP ecological graph, and executing step 505; if yes, go to step 503;
preferably, in step 5033, the execution module further performs the following steps before performing step 503:
step 5034, judging the type of the APP ecological map, and if the type of the APP ecological map is the APP ecological map corresponding to the terminal, executing step 503; if the map is a general APP ecological map, go to step 5035;
step 5035, adapt the generic APP ecological map to an APP ecological map consistent with the terminal-installed APP, and perform step 503.
In this step 503, based on the called APP ecological graph, the APP that establishes the association relationship with the APP that executes the voice command may be queried, and further, according to the direction of the directional edge, the APP that establishes the association relationship that points to the APP that executes the voice command is extracted from the direction of the directional edge.
In another embodiment, in step 503, it is further determined whether the extracted APP has the slot with the unfilled content or the slot with the same attribute as the slot, if so, the extracted APP is used as a primary APP, and the primary APP is a candidate APP, otherwise, step 505 is executed.
Further, candidate APPs may be selected based on the weight coefficient of the directional edge, and the initially selected APP with the weight coefficient greater than the threshold may be used as the candidate APP.
In another embodiment, in the APP ecological map, a timestamp corresponding to the APP is also included, the timestamp indicating the time the APP was most recently used. The execution module sorts the initial selection APPs according to the timestamps, acquires the initial selection APPs with the latest use time closest to the current time as candidate APPs, or sorts the initial selection APPs subjected to weight coefficient screening according to the timestamps, screens the initial selection APPs with the latest use time closest to the current time as the candidate APPs, wherein the candidate APPs can be one or more, and the union of the candidate APPs is the minimum APP set comprising the slot positions needing to be filled.
In another embodiment, the execution module may adjust a filtering order of the factors when determining the candidate APP based on the factors, for example, first select multiple APPs based on a time sequence, and then select the multiple APPs based on the weight coefficient to determine the candidate APP.
After the execution module determines candidate APPs, step 504 is performed.
Step 504, extracting the content related to the unfilled slot position from the candidate APP, and filling the content to the slot position corresponding to the APP; step 506 is executed;
in this step, after determining the candidate APP, the slot position that is filled by the candidate APP when executing the task before the candidate APP and is the same as or has the same attribute as the slot position of the unfilled slot position content is obtained, and based on the time sequence of the candidate APP executing the task related to the obtained slot position content, the slot position content related to the latest executed task is preferentially selected as the slot position content of the unfilled slot position.
And 505, the execution module fills the slot position based on the current state of the user, or initiates multiple rounds of conversations to the user to obtain the slot position content needing to be filled. Step 506 is performed.
Further, the execution module is further configured to execute step 506, and execute the task corresponding to the voice command.
In another embodiment, the apparatus for voice interaction is further configured to perform the following interaction method:
the receiving and sending module is used for acquiring a first voice command input by a user;
an execution module for executing the following steps:
step 602, filling slot position content corresponding to the APP according to the first voice command;
the execution module analyzes the voice command, extracts key information and fills slot position content.
Step 603, calling an APP ecological graph to obtain one or more APPs which have directed edges with the APPs and the arrow tails of the directed edges point to the APPs;
in this step, after the execution module calls the APP ecological graph, it is also determined whether a first APP executing the first voice command has a directed edge associated therewith in the APP ecological graph, that is, whether the first APP is an isolated point, and if the first APP has the directed edge with the first APP, and an arrow tail of the directed edge points to another APP or multiple APPs of the APP; if not, the function is added to the APP cluster corresponding to the function according to the self function.
Similarly, after step 602 and before step 603, step 5031-step 5035 is executed, and accordingly, step 502 in step 5031-step 5035 is replaced by step 602, step 503 is replaced by step 603, and step 505 in step 5033 is executed by ending.
Step 604, pushing the filled slot position and the slot position content to the another or the plurality of APPs;
in one embodiment, the slot position and the content of the slot position are pushed to all other APPs which have directed edges with the APP, and the arrow tails of the directed edges point to the APPs;
in another embodiment, the weight coefficient of the directional edge connected with the APP is screened out to be greater than the threshold, and the arrow tail of the directional edge points to other APPs of the APP, and the slot position and the content of the slot position are pushed to the selected APP.
In another embodiment, it is determined whether the another APP or APPs have a slot that is the same as or has the same attribute as the filled slot, and if so, the slot that is the same or has the same attribute and the corresponding slot content are pushed.
Further, the device further comprises a detection module for detecting the use of the second APP by the user; when the user uses the second APP, the receiving and sending module is triggered to acquire a voice command input by the user;
the receiving and sending module is also used for acquiring a second voice command input by the user;
the execution module is further used for executing the following steps:
step 607, determining whether the slot position required for executing the second voice command is completely filled with the content, if not, executing step 608; if yes, go to step 610;
step 608, calling the pushed slot position and slot position content, determining whether the pushed slot position content can fill a slot position required by executing a second voice command in the APP, if so, filling the slot position with the slot position content, and determining whether the voice command can be executed, if so, executing step 610, and if not, executing step 609; if not, go to step 609;
step 609, carrying out multiple rounds of conversations with the user to obtain the content corresponding to the slot position needing to be filled; step 610 is executed;
and step 610, executing the task corresponding to the voice command.
Further, step 608 specifically includes the following steps:
081, obtaining the unfilled slot position in the slot position needed to be filled by the task related to the second voice command;
step 082, judge whether the slot position pushed is the same as slot position or attribute that needs to be filled; if yes, go to step 083, if no, go to step 609;
step 083, filling the corresponding unfilled slot position with the pushed slot position content;
specifically, for each unfilled slot position, whether a plurality of pushed slot position contents can be used for filling the slot position is judged, if not, the corresponding slot position contents are filled into the corresponding unfilled slot position, and the step 085 is executed; if yes, go to step 084;
step 084, screening slot position contents, and filling unfilled slot positions with the selected slot position contents;
in one embodiment, the slot position content with the highest weight coefficient of the directed edge associated with the slot position content is selected to fill the unfilled slot position with the content;
in another embodiment, the most recently pushed slot content is selected for filling;
in another embodiment, the slot position content with the weight coefficient of the directed edge associated with the slot position content being greater than the threshold value is used as the initial selection slot position content, the initial selection slot position content is sorted according to the pushing time, and the most recently pushed initial selection slot position content is selected to fill the unfilled slot position.
Further, after the step 084, the following steps are also included:
step 085, judging whether the second voice command of the user can be executed; if yes, go to step 610; if not, go to step 609.
In another embodiment, after step 610, the execution module is further configured to perform the following steps:
step 507, after the second voice command of the user is executed based on the APP ecological map filling slot position content, judging whether the voice command of the user is correctly executed, if so, executing step 508; if not, go to step 509;
the APP ecosystem generation device or the execution module judges whether the command executed according to the filled slot content is corrected by a user, if not, the information transmission is correct, and if the command is corrected by the user, the information transmission is wrong.
Step 508, increasing the weight coefficient of the directed edge between the APP of the execution command and the candidate APP with slot content utilization in the APP ecological graph;
wherein, the step can also be executed by the APP ecosystem generation application.
Step 509, obtaining slot content corrected by a user, and determining whether the corrected slot content is the same as the pushed slot content in the APP ecological graph, if so, increasing the weight of the directed edge when a directed edge exists between the APP executing the command and the APP having the same slot content, and if not, establishing the directed edge.
Further, the weight coefficient of the directional edge between the APPs with the information transmission errors is reduced, and if the reduced weight coefficient is 0 or a negative value, the directional edge between the APPs is deleted.
Further, this step may also be performed by the APP ecosystem generation apparatus or the execution module.
In a further embodiment, the apparatus for voice interaction is further configured to perform the following method steps:
the receiving and sending module is used for acquiring a first voice command input by a user;
the receiving and sending module detects and receives a voice command of a user and sends the voice command to the execution module, and the execution module analyzes the voice command and determines a corresponding first task.
The execution module is used for filling the corresponding slot position and the public slot position when the first APP executes the first task corresponding to the voice command according to the first voice command;
specifically, when the execution module fills the slot position content, whether the filled slot position comprises a public slot position is judged based on the established slot position information incidence relation, if so, the slot position corresponding to the first task in the APP is filled, and the slot position content is filled into a public slot position content matrix;
alternatively, in another embodiment, if the filling of the public slot is involved when the execution module fills the slot content, the public slot is directly filled without filling the corresponding slot in the APP, and the public slot is directly called when the APP executes a task.
When the execution module fills the public slot position content matrix, judging whether the matrix is an empty matrix, if so, directly filling the first row of the matrix; if the matrix is a non-empty matrix, preferably, judging whether the difference value between the time filled in the time stamp column of the matrix and the current time is more than or equal to deletion time, if so, deleting the row corresponding to the time stamp, and if not, not executing deletion operation; in addition, a row is added to the matrix, and the information related to the public slot position related to the first voice command is filled in the newly added row of the matrix.
The receiving and sending module is also used for acquiring a second voice command input by the user;
the second voice command may be input by the user to the first APP, or to the second APP;
the second APP may be installed after the slot information association relationship is established for the terminal, or may be an APP included in the slot information association relationship.
The execution module is further configured to perform the following steps:
step 704, filling a slot for executing the APP of the second task corresponding to the voice command according to the second voice command;
step 705, judging whether one or more unfilled slots which are necessary to be filled for executing the second task exist, if so, executing step 706, and if not, executing step 710;
step 706, inquiring the incidence relation of the slot position information, judging whether the one or more slot positions which need to be filled can use the public slot position content matrix, if so, filling the slot positions which need to be filled by using the public slot position content matrix, and executing step 708, otherwise, executing step 709;
specifically, the step 706 includes the following steps:
7061, determining whether the APP executing the second task has one or more public slots having the same property or the same property as the slot that must be filled, and if not, executing 7062; if so, taking the public slot position as a public slot position to be selected, and executing a step 7063;
step 7062, determining whether other APPs in the cluster to which the APP executing the second task belongs have one or more public slot positions with the same or same attributes as the slot position to be filled, if so, taking the public slot position as a public slot position to be selected, and executing step 7063; if not, go to step 709;
7063, preprocessing the slot position content matrix of the public slot position to be selected, deleting rows of the matrix corresponding to the filling time meeting the deletion time, screening public slot positions to be selected, of which the slot position content matrix is not an empty matrix, as candidate public slot positions, and executing 7064; if no public slot position of which the slot position content matrix is not the empty matrix exists, executing step 709;
7064, selecting slot position content meeting the conditions from the slot position content matrix of the candidate public slot position to fill the slot position which needs to be filled;
preferably, in this step, it is determined whether the slot content that the user intends to fill can be derived based on the interactive process between the user and the APP, and if it can be determined, the slot content corresponding to the feature is preferentially selected to fill the slot to be filled, and if it cannot be determined, the slot content is selected based on a certain rule.
Wherein the features include one or more of: time information, APP information, slot information, etc.
The certain rule may be one of the following:
selecting the slot position content with the latest filling time in the public slot position content matrix to fill the slot position which needs to be filled;
selecting a row with filling time meeting preset selection time in the public slot position content matrix, and selecting the slot position with the highest weight coefficient to fill the slot position which needs to be filled based on the weight coefficient of information transmission between the source APP and the second APP;
firstly, screening rows with weight coefficients higher than a preset weight coefficient based on the weight coefficient of information transmission between a source APP and a second APP in a public slot position content matrix, and secondly, selecting the slot position content with the latest filling time to fill a slot position which needs to be filled;
step 708, determining whether a task corresponding to the second voice command can be executed, if yes, executing step 710, and if not, executing step 709;
step 709, interacting with the user to obtain the slot position content of the slot position which needs to be filled, and executing step 710;
and step 710, executing the task corresponding to the second voice command.
In another embodiment, after the execution module performs step 710, the following steps are also performed
711, judging whether the calling of the public slot position is accurate, if so, executing 712, and if not, executing 713;
step 712, increasing a weight coefficient between the second APP corresponding to the public slot and the slot content source APP;
step 713, obtaining the slot position content corrected by the user, judging whether the corrected slot position content has the same slot position content in the slot position content matrix of the public slot position which has the same slot position or the same attribute as the slot position needing to be filled, if so, increasing the corresponding weight coefficient if the public slot position exists between the second APP and the source APP, reducing the weight coefficient corresponding to the slot position of the wrong public slot position content, and if not, constructing the public slot position for the two.
In another embodiment, the apparatus for voice interaction is further configured to perform the following method.
The detection module is used for monitoring the use of the APP by the user;
the judging module is used for judging whether the terminal has a corresponding APP ecosystem, and if not, the receiving and sending module is triggered to send an acquisition request;
the receiving and sending module is used for sending an acquisition request to acquire the APP ecosystem;
the judging module is used for judging whether the APP ecosystem is received or not;
when receiving the APP ecosystem, the device for voice interaction utilizes the APP ecosystem.
Further, if the APP ecosystem is not received, the judging module triggers a device for generating the APP ecosystem to initialize the APP ecosystem;
in another embodiment, before the apparatus for triggering generation of the APP ecosystem initializes the APP ecosystem, the transceiver module sends a confirmation message to the user to confirm whether to perform initialization operation of the APP ecosystem by the user, if the transceiver module receives the user confirmation message, the apparatus for generating the APP ecosystem is triggered to initialize the APP ecosystem, and if the transceiver module receives a message that the user does not execute the initialization, the transceiver module does not execute the triggering operation.
The receiving and sending module is also used for acquiring a voice command of a user;
an execution module for executing the following steps:
step 807, judging whether the corresponding task can be executed according to the voice command of the user, if so, executing step 808; if not, go to step 810;
step 808, executing the task, and obtaining a slot position with an arrow tail pointing to a directed edge of the APP and a slot position filled by executing the task, wherein the slot position is the same as or has the same attribute as the slot position filled by executing the task; step 809 is executed;
and step 809, adding a label to the slot position of the directed edge, wherein the label indicates the content update time of the slot position corresponding to the slot position of the directed edge.
Specifically, when the slot for performing task filling is the same as the slot associated with the directed edge of the APP, a timestamp is added to the slot, where the timestamp may include multiple timestamps indicating different times at which the slot is filled;
preferably, when the content of the slot filling the relevant slot for multiple times is not changed, the latest timestamp filling the content of the slot is reserved, and further, when the time interval between the timestamp and the current time is greater than or equal to the deletion time, the corresponding timestamp is deleted.
By adding the timestamp, the APP can identify whether to call the slot content of another APP associated with the slot of the directed edge, and can identify which APP it calls based on time.
Further, when the determining module determines that the APP ecosystem is received, the executing module executes step 811; when the judging module judges that the terminal has the corresponding APP ecosystem, the executing module executes step 812;
step 811, interacting with a user to obtain the content of unfilled slots that must be filled in order to execute a task; and go to step 808;
step 812, inquiring the APP ecosystem, and identifying one or more second APPs which establish a directed graph with the APP, are pointed to the APP by a directed edge arrow, and have the same slot position of the directed edge as the unfilled slot position or the same attribute; and step 813 is performed;
step 813, filling unfilled slots in the APP based on the identified one or more APPs; go to step 814;
in one embodiment, the execution module obtains tag information of a slot position of a directed edge between the one or more APPs and the APP, determines an information source APP based on the tag information, obtains content of the slot position same as the slot position of the directed edge from the information source APP, and fills the content into a corresponding slot position which is not filled by the APP;
in one embodiment, the execution module determines whether slot content intended to be filled by a user is slot content related to which feature based on an interaction process between the user and the APP, if so, preferentially calls corresponding slot content of the APP corresponding to the feature, and if not, selects the called APP based on a certain rule.
Wherein the features include one or more of: time information, APP information, slot information, etc.
And when a plurality of APPs corresponding to the characteristics exist, selecting an information source APP based on a certain rule, and when one APP corresponding to the characteristics exists, selecting the slot position content corresponding to the APP for filling.
The certain rule may be:
selecting an APP with a weight coefficient larger than a preset value based on weight screening of a directed edge between the APP and an information source APP, and further selecting an information source based on a tag of a slot position of the directed edge, for example, the APP with a timestamp of the latest time in the tag;
step 814, determining whether the task corresponding to the voice command of the user can be executed, if yes, executing step 808, and if not, executing step 811.
Further, the execution module is further configured to update the APP ecosystem in real time, and execute the following steps:
815, judging whether the slot filling is accurate, if so, executing 816, otherwise, executing 817;
step 816, increasing the weight coefficient of the directed edge between the APP of the execution command and the APP of the information source in the APP ecosystem;
step 817, obtain the trench content that the user corrected, judge whether the trench content of correcting is the same with the trench content of APP filling in the APP ecosystem, if the same, then have the oriented limit between the APP that carries out the order and the same APP of trench content, then increase the weight of this oriented limit, judge whether the trench that information source APP was called the trench content is the trench of oriented limit, if not, then increase this trench as the trench of oriented limit, if there is not oriented limit, then establish oriented limit, and will call the trench of trench content and set up as the trench of oriented limit.
An embodiment of the present invention provides an apparatus, which includes a processor and a memory, where the memory stores computer instructions executable by the processor, and when the processor executes the computer instructions, the method as described above is implemented.
Embodiments of the present invention provide a computer-readable storage medium for storing computer instructions for implementing the method as described above.
A terminal comprising an apparatus as described above.
Any combination of one or more computer-readable media may be employed. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. The computer-readable storage medium may include: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), a flash memory, an erasable programmable read-only memory (EPROM), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
Computer program code for carrying out operations of the present invention may be written in one or more programming languages or combinations thereof
The above description is only an example for the convenience of understanding the present invention, and is not intended to limit the scope of the present invention. In the specific implementation, a person skilled in the art may change, add, or reduce the components of the apparatus according to the actual situation, and may change, add, reduce, or change the order of the steps of the method according to the actual situation without affecting the functions implemented by the method.
While embodiments of the invention have been shown and described, it will be understood by those skilled in the art that: various changes, modifications, substitutions and alterations can be made to the embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the claims and their equivalents, and all changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Claims (12)
1. A voice interaction method is characterized by comprising the following steps
Step 501, acquiring a voice command input by a user;
step 502, judging whether the voice command of the user can be accurately executed; if not, obtaining the unfilled slot position of the APP execution voice command, and executing step 503;
step 503, calling the APP ecological graph to obtain candidate APPs which have directional edges with the APP for executing the voice command and point to the APP for executing the voice command in the direction of the directional edges;
step 504, extracting the content for filling the unfilled slot position from the candidate APP, and filling the content into the slot position corresponding to the APP;
the APP ecological graph is a directed graph among a plurality of APPs established according to interactivity among the APPs;
the directed graph between the APPs comprises nodes and directed edges, wherein the nodes represent the APPs, the directed edges represent the sequence of using the APPs by a user or the calling sequence between the APPs, and the arrows of the directed edges point to the APPs used or called later.
2. The method of claim 1,
step 503 specifically includes:
judging whether the APP for executing the voice command has a directional edge which is associated with the APP for executing the voice command and points to the APP for executing the voice command in the APP ecological map, and if so, further extracting candidate APPs which have a directional edge with the APP for executing the voice command and point to the APP for executing the voice command in the directional edge direction.
3. The method of claim 2,
the following steps are also included in step 503,
and judging whether the extracted APP has the slot position of the unfilled content or the slot position with the same attribute as the slot position, if so, taking the extracted APP as a primary selection APP, and taking the primary selection APP as a candidate APP.
4. The method of claim 1,
step 507, judging whether the slot filling is accurate, if so, executing step 508, and if not, executing step 509;
step 508, increasing the weight coefficient of the directed edge between the APP of the execution command and the candidate APP in the APP ecological graph;
step 509, obtaining slot content corrected by a user, and determining whether the corrected slot content is the same as slot content filled by an APP in an APP ecological graph, if so, increasing the weight of the directed edge when a directed edge exists between the APP executing the command and the APP with the same slot content, and if not, establishing the directed edge.
5. An apparatus for voice interaction, the apparatus comprising
The receiving and transmitting module is used for acquiring a voice command input by a user;
an execution module for executing the following steps:
step 502, judging whether the voice command of the user can be accurately executed; if not, obtaining the unfilled slot position of the APP execution voice command, and executing step 503;
step 503, calling the APP ecological graph to obtain candidate APPs which have directional edges with the APP for executing the voice command and point to the APP for executing the voice command in the direction of the directional edges;
step 504, extracting the content for filling the unfilled slot position from the candidate APP, and filling the content into the slot position corresponding to the APP;
the APP ecological graph is a directed graph among a plurality of APPs established according to interactivity among the APPs;
the directed graph between the APPs comprises nodes and directed edges, wherein the nodes represent the APPs, the directed edges represent the sequence of using the APPs by a user or the calling sequence between the APPs, and the arrows of the directed edges point to the APPs used or called later.
6. The apparatus of claim 5,
step 503 specifically includes:
judging whether the APP for executing the voice command has a directional edge which is associated with the APP for executing the voice command and points to the APP for executing the voice command in the APP ecological map, and if so, further extracting candidate APPs which have a directional edge with the APP for executing the voice command and point to the APP for executing the voice command in the directional edge direction.
7. The apparatus of claim 6,
the following steps are also included in step 503,
and judging whether the extracted APP has the slot position of the unfilled content or the slot position with the same attribute as the slot position, if so, taking the extracted APP as a primary selection APP, and taking the primary selection APP as a candidate APP.
8. The apparatus of claim 5,
step 507, judging whether the slot filling is accurate, if so, executing step 508, and if not, executing step 509;
step 508, increasing the weight coefficient of the directed edge between the APP of the execution command and the candidate APP in the APP ecological graph;
step 509, obtaining slot content corrected by a user, and determining whether the corrected slot content is the same as slot content filled by an APP in an APP ecological graph, if so, increasing the weight of the directed edge when a directed edge exists between the APP executing the command and the APP with the same slot content, and if not, establishing the directed edge.
9. A computer arrangement, characterized in that the computer arrangement comprises a processor and a memory, in which a computer program is stored which is executable on the processor, which computer program, when being executed by the processor, carries out the method according to any one of claims 1 to 4.
10. A computer-readable storage medium, in which a computer program that is executable on a processor is stored, which computer program, when being executed, carries out the method according to any one of claims 1 to 4.
11. A voice assistant system comprising an apparatus as claimed in any one of claims 5 to 8.
12. An apparatus comprising an apparatus as claimed in any one of claims 5 to 8, or comprising a voice assistant system as claimed in claim 11.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911363227.1A CN111048088A (en) | 2019-12-26 | 2019-12-26 | Voice interaction method and device for multiple application programs |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911363227.1A CN111048088A (en) | 2019-12-26 | 2019-12-26 | Voice interaction method and device for multiple application programs |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111048088A true CN111048088A (en) | 2020-04-21 |
Family
ID=70239904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911363227.1A Pending CN111048088A (en) | 2019-12-26 | 2019-12-26 | Voice interaction method and device for multiple application programs |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111048088A (en) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040085162A1 (en) * | 2000-11-29 | 2004-05-06 | Rajeev Agarwal | Method and apparatus for providing a mixed-initiative dialog between a user and a machine |
US20130110519A1 (en) * | 2006-09-08 | 2013-05-02 | Apple Inc. | Determining User Intent Based on Ontologies of Domains |
CN106558307A (en) * | 2015-09-17 | 2017-04-05 | 三星电子株式会社 | Intelligent dialogue processing equipment, method and system |
CN106844458A (en) * | 2016-12-20 | 2017-06-13 | 北京华宇信息技术有限公司 | Show method, computing device and the storage medium of user's internet behavior track |
CN107688614A (en) * | 2017-08-04 | 2018-02-13 | 平安科技(深圳)有限公司 | It is intended to acquisition methods, electronic installation and computer-readable recording medium |
CN107968798A (en) * | 2016-10-19 | 2018-04-27 | 中兴通讯股份有限公司 | A kind of network management resources label acquisition method, cache synchronization method, apparatus and system |
CN109377152A (en) * | 2018-09-03 | 2019-02-22 | 三星电子(中国)研发中心 | A kind of method and device of scheduling application |
CN109948017A (en) * | 2018-04-26 | 2019-06-28 | 华为技术有限公司 | A kind of information processing method and device |
CN110428816A (en) * | 2019-02-26 | 2019-11-08 | 北京蓦然认知科技有限公司 | A kind of method and device voice cell bank training and shared |
CN110598077A (en) * | 2019-09-11 | 2019-12-20 | 北京安云世纪科技有限公司 | Cloud resource content screening method and device |
-
2019
- 2019-12-26 CN CN201911363227.1A patent/CN111048088A/en active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040085162A1 (en) * | 2000-11-29 | 2004-05-06 | Rajeev Agarwal | Method and apparatus for providing a mixed-initiative dialog between a user and a machine |
US20130110519A1 (en) * | 2006-09-08 | 2013-05-02 | Apple Inc. | Determining User Intent Based on Ontologies of Domains |
CN106558307A (en) * | 2015-09-17 | 2017-04-05 | 三星电子株式会社 | Intelligent dialogue processing equipment, method and system |
CN107968798A (en) * | 2016-10-19 | 2018-04-27 | 中兴通讯股份有限公司 | A kind of network management resources label acquisition method, cache synchronization method, apparatus and system |
CN106844458A (en) * | 2016-12-20 | 2017-06-13 | 北京华宇信息技术有限公司 | Show method, computing device and the storage medium of user's internet behavior track |
CN107688614A (en) * | 2017-08-04 | 2018-02-13 | 平安科技(深圳)有限公司 | It is intended to acquisition methods, electronic installation and computer-readable recording medium |
CN109948017A (en) * | 2018-04-26 | 2019-06-28 | 华为技术有限公司 | A kind of information processing method and device |
CN109377152A (en) * | 2018-09-03 | 2019-02-22 | 三星电子(中国)研发中心 | A kind of method and device of scheduling application |
CN110428816A (en) * | 2019-02-26 | 2019-11-08 | 北京蓦然认知科技有限公司 | A kind of method and device voice cell bank training and shared |
CN110598077A (en) * | 2019-09-11 | 2019-12-20 | 北京安云世纪科技有限公司 | Cloud resource content screening method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230298053A1 (en) | System and method for applying tracing tools for network locations | |
KR101267006B1 (en) | A method of linking online document and instnt message and a mobile terminal linking online document and instnt message in a chatting window of instnt messaging service | |
JP6514711B2 (en) | INTERACTION PROCESSING METHOD, INTERACTION MANAGEMENT SYSTEM, AND COMPUTER DEVICE | |
US9621650B2 (en) | Mobile application state identifier framework | |
CN101123750B (en) | Apparatus and associated method for facilitating background processing of push content | |
US11036922B2 (en) | Route information interaction method, electronic device, and computer storage medium | |
CN102055793B (en) | The method and system configured or set up of automatically change or more new communication system | |
CN103517405B (en) | A kind of method and system of network positions, mobile terminal and network side equipment | |
CN108399072A (en) | Five application page update method and device | |
CN113449207B (en) | Method, device, server, system and storage medium for positioning electronic equipment | |
CN110309339A (en) | Picture tag generation method and device, terminal and storage medium | |
CN105607749A (en) | Shortcut operation method, shortcut operation device and terminal | |
CN111061453A (en) | Voice interaction method and device for APP ecosystem | |
CN115344341A (en) | Interaction method and device based on bundled session group and computer equipment | |
CN104901816B (en) | The method and system of more people's chats is provided | |
CN102831179B (en) | web page processing method and device | |
CN111124866B (en) | Voice interaction method and device | |
CN114745146B (en) | Jump interception method, apparatus, readable storage medium and device | |
CN111124649B (en) | Method and device for generating APP ecosystem | |
CN111026538B (en) | APP ecosystem establishing and using method and device | |
CN112328895B (en) | User portrait generation method, device, server and storage medium | |
CN106612303A (en) | Data processing method and data processing device | |
CN111048088A (en) | Voice interaction method and device for multiple application programs | |
CN111125452A (en) | Voice interaction method and device based on information association | |
CN111026628A (en) | Voice interaction method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220110 Address after: 310024 floor 5, zone 2, building 3, Hangzhou cloud computing Industrial Park, Zhuantang street, Xihu District, Hangzhou City, Zhejiang Province Applicant after: Hangzhou suddenly Cognitive Technology Co.,Ltd. Address before: Room 401, gate 2, block a, Zhongguancun 768 Creative Industry Park, 5 Xueyuan Road, Haidian District, Beijing 100083 Applicant before: BEIJING MORAN COGNITIVE TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200421 |
|
RJ01 | Rejection of invention patent application after publication |