Time-consuming analysis method, device and medium of speech processing process, and electronic equipment
By embedding data points in the voice interaction system of smart devices and constructing a voice link graph, and using a graph search algorithm to analyze the time consumption of voice data processing nodes, the problem of inaccurate analysis of voice interaction latency in existing technologies is solved, and the performance and experience of voice interaction are evaluated.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- IFLYTEK CO LTD
- Filing Date
- 2023-09-21
- Publication Date
- 2026-08-04
AI Technical Summary
Existing technologies cannot accurately analyze the performance of each stage in the voice interaction process of smart devices, resulting in latency issues going undetected and unoptimized.
By embedding data points in the voice interaction system of smart devices to collect voice interaction data, a voice link graph is constructed, and a graph search algorithm is used to obtain the path set. The time consumption of each voice data processing node is analyzed in combination with time information.
It enables accurate and complete analysis of the time consumption of each voice data processing node in the voice interaction system, which helps to evaluate the performance and experience of voice interaction.
Smart Images

Figure CN117153146B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of speech technology, and in particular to a method, apparatus, medium, and electronic device for analyzing the time consumption of speech processing. Background Technology
[0002] In the field of smart technology, voice interaction has become a common way for users to operate and control smart devices (such as in-vehicle systems). However, with the increasing complexity of voice interaction functions, the performance and user experience of voice interaction on smart devices are facing challenges. Among these challenges, latency is one of the main factors affecting user satisfaction. Therefore, a method is needed to accurately analyze the latency of the voice interaction process on smart devices in order to identify latency issues and optimize performance.
[0003] To address this, a method for automatically analyzing voice response speed has been proposed in related technologies. However, this method is mainly used in the testing phase and cannot analyze performance during actual voice interaction; furthermore, this method performs time-consuming performance analysis on large modules such as voice wake-up and recognition, and cannot accurately obtain the performance of specific steps within these large modules. Summary of the Invention
[0004] This application aims to at least partially address one of the technical problems in the related art. To this end, one objective of this application is to provide a method, apparatus, medium, and electronic device for analyzing the time consumption of a speech processing process, in order to accurately and completely obtain the time consumption of each speech data processing node in the speech link, which helps in evaluating the performance and experience of speech interaction.
[0005] To address the aforementioned technical problems, a first aspect of this application proposes a method for analyzing the time consumption of a speech processing process, comprising: acquiring a speech link graph, wherein the speech link graph is obtained based on multiple speech data processing nodes and their connection relationships; performing a graph search on the speech link graph to obtain a path set; acquiring target speech interaction data, wherein the target speech interaction data is obtained by data collection at each of the speech data processing nodes, including time information; and obtaining the time consumption of each of the speech data processing nodes in the speech link graph based on the paths in the path set, the time information, and their corresponding speech data processing nodes.
[0006] The speech processing time analysis method of this application embodiment pre-embeds points in each smallest unit (i.e., speech data processing node) of the speech interaction system of the smart device to collect speech interaction data during the speech interaction process, and configures speech links for specific speech interaction applications to obtain a speech link map; then, by using the collected speech interaction data and the parsed speech link map, the time consumption of the smallest unit in the speech link is analyzed, which can accurately and completely obtain the time consumption of the smallest unit in the speech link corresponding to the speech interaction system, which helps to evaluate the performance and experience of speech interaction.
[0007] In addition, the time consumption analysis method for the speech processing process in this application embodiment may also have the following additional technical features:
[0008] According to one embodiment of this application, the voice link graph is further obtained based on the service type of each of the voice data processing nodes. The voice link graph includes each of the voice data processing nodes and its preceding and succeeding node sets. The path set includes a backbone path set. The step of performing a graph search on the voice link graph to obtain the path set includes: connecting the nodes in each of the succeeding node sets with the corresponding voice data processing nodes to generate edges, and obtaining an edge set composed of all edges in each service type according to the service type of each of the voice data processing nodes; taking voice data processing nodes with empty preceding node sets as path starting points to obtain a path starting point set, and taking voice data processing nodes with empty succeeding node sets as path ending points to obtain a path ending point set; and performing a depth-first search based on the path starting point set, the path ending point set, the edge set, and the number of voice data processing nodes in the voice link graph to obtain the backbone path set.
[0009] According to one embodiment of this application, the path set further includes an edge path set. The step of performing a graph search on the speech link graph to obtain the path set further includes: designating speech data processing nodes containing multiple nodes in both the preceding and succeeding node sets as virtual start points and virtual end points, respectively, to obtain a virtual start point set and a virtual end point set; performing a depth-first search based on the virtual start point set, the virtual end point set, the edge set, and the number of speech data processing nodes in the speech link graph to obtain a virtual path set; and using any two virtual paths forming a closed loop in the virtual path set as edge paths to obtain the edge path set.
[0010] According to one embodiment of this application, the step of obtaining the time consumption of each voice data processing node in the voice link graph based on the paths in the path set, the time information, and the corresponding voice data processing nodes includes: determining the target trunk path and the target side path, wherein the target trunk path is the trunk path where each voice data processing node in the target voice interaction data is located, and the target side path is the side path where each voice data processing node in the target voice interaction data is located; judging the completion status of each target trunk path and each target side path based on the time information of the voice data processing nodes to obtain the completed trunk path and the completed side path; and obtaining the time consumption based on the time information of the completed trunk path and each node therein, and the time information of the completed side path and each node therein.
[0011] According to one embodiment of this application, the completion status of each target backbone path is determined based on the time information of the voice data processing node, including: for each target backbone path, starting the search from the starting point of the target backbone path according to the time information of each node in the target backbone path; when the search reaches the end point, the starting point of the next target backbone path, or the search time interval between two adjacent nodes exceeds at least one of the preset time, the search is stopped, and it is determined whether the target backbone path has been searched when the search is stopped.
[0012] According to one embodiment of this application, if there are duplicate nodes in the completed main path, the minimum time among the duplicate nodes is taken as the time information of the duplicate node. The step of obtaining the time consumption based on the time information of the completed main path and its nodes, and the time information of the completed side path and its nodes, includes: obtaining the longest loop path based on the time information of the completed side path and its nodes; inserting the longest loop path that meets the preset insertion conditions into the corresponding completed main path based on the time information of each node in the longest loop path and the time information of each node in the completed main path, thus obtaining the complete path; and obtaining the time consumption based on the time information of each node in the complete path.
[0013] According to one embodiment of this application, obtaining the longest loop path based on the completed edge path and the time information of each node therein includes: generating a long path for the first time based on the completed edge path and the time information of each node therein; for the long path generated for the i-th time, generating a long path for the (i+1)-th time based on the long path and the time information of each node therein, where i is a positive integer less than or equal to N, and N is a preset number of loops; and taking the long path generated for the N-th time as the longest loop path.
[0014] To address the aforementioned technical problems, a second aspect of this application proposes a time-consuming analysis device for a speech processing process, comprising: a first acquisition module for acquiring a speech link graph, wherein the speech link graph is obtained based on multiple speech data processing nodes and their connection relationships; a graph search module for performing a graph search on the speech link graph to obtain a path set; a second acquisition module for acquiring target speech interaction data, wherein the target speech interaction data is obtained by data collection at each of the speech data processing nodes, including time information; and an analysis module for obtaining the time consumption information of each speech data processing node in the speech link graph based on the paths in the path set, the time information, and the corresponding speech data processing nodes.
[0015] The speech processing time analysis device of this application pre-embeds points in each smallest unit (i.e., speech data processing node) of the speech interaction system of the smart device to collect speech interaction data during the speech interaction process, and configures speech links for specific speech interaction applications to obtain a speech link map; then, by using the collected speech interaction data and the parsed speech link map, it performs time analysis on the smallest unit in the speech link, which can accurately and completely obtain the time consumption of the smallest unit in the speech link corresponding to the speech interaction system, which helps to evaluate the performance and experience of speech interaction.
[0016] To address the aforementioned technical problems, a third aspect of this application provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the method described in the first aspect of the application.
[0017] When the computer-readable storage medium of this application stores a computer program corresponding to the time consumption analysis method of the above-described voice processing process, the program can accurately and completely obtain the time consumption of the smallest unit in the voice link corresponding to the voice interaction system, which helps to evaluate the performance and experience of voice interaction.
[0018] To address the aforementioned technical problems, a fourth aspect of this application provides an electronic device including a memory, a processor, and a computer program stored in the memory. When the computer program is executed by the processor, it implements the method described in the first aspect of the application.
[0019] When the computer program corresponding to the time consumption analysis method of the above-mentioned voice processing process, stored in the memory of the electronic device of this application, is executed, it can accurately and completely obtain the time consumption of the smallest unit in the voice link corresponding to the voice interaction system, which helps to evaluate the performance and experience of voice interaction.
[0020] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description
[0021] Figure 1 This is a flowchart of the time consumption analysis method for the speech processing process according to an embodiment of this application;
[0022] Figure 2 This is a flowchart of a graph search method according to an embodiment of this application;
[0023] Figure 3 This is a flowchart of another embodiment of the graph search method of this application;
[0024] Figure 4 This is a flowchart illustrating the time consumption analysis method of one embodiment of this application;
[0025] Figure 5 This is a flowchart illustrating a method for determining the completion status of the target backbone path according to an embodiment of this application;
[0026] Figure 6 This is a flowchart illustrating the time consumption analysis method of a specific embodiment of this application;
[0027] Figure 7 This is a flowchart illustrating how the longest loop path is obtained according to one embodiment of this application;
[0028] Figure 8 This is a sample configuration page diagram of the voice link graph in this application;
[0029] Figure 9 This is a flowchart of an example depth-first search algorithm from this application;
[0030] Figure 10 This is a screenshot showing the time consumption of an example from this application;
[0031] Figure 11 This is a screenshot showing the time consumption of another example from this application;
[0032] Figure 12 This is another example of a time-consuming scenario shown in this application.
[0033] Figure 13 This is a structural block diagram of the speech processing time analysis device according to an embodiment of this application;
[0034] Figure 14 This is a structural block diagram of an electronic device according to an embodiment of this application.
[0035] Figure label:
[0036] 100. Time consumption analysis device; 500. Electronic equipment;
[0037] 10. First acquisition module; 20. Graph search module; 30. Second acquisition module; 40. Analysis module; 501. Processor; 502. Bus; 503. Memory; 504. Transceiver. Detailed Implementation
[0038] The embodiments of this application are described in detail below. Examples of these embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this application, and should not be construed as limiting this application.
[0039] The following is a reference appendix. Figure 1 -Appendix Figure 14 This application describes a method, apparatus, medium, and electronic device for analyzing the time consumption of a speech processing procedure according to embodiments of the present application.
[0040] Figure 1 This is a flowchart of the time consumption analysis method for the speech processing process according to an embodiment of this application.
[0041] like Figure 1 As shown, the time consumption analysis method for speech processing includes:
[0042] S101, Obtain the voice link graph, which is obtained based on multiple voice data processing nodes and their connection relationships.
[0043] Specifically, multiple voice data processing nodes refer to the same voice interaction system.
[0044] The entire voice link of a voice interaction system may involve modules such as voice wake-up, speech recognition, semantic understanding, and speech synthesis. Each module may include one or more voice data processing nodes (which can be the smallest data processing unit of the corresponding module). For example, the voice wake-up module includes a voice wake-up node, the speech recognition module includes an audio acquisition node, a sound noise reduction node, and a recognition and decoding node, and the semantic understanding module includes a semantic error correction node and a semantic result output node. There are connections between the voice data processing nodes. For example, after the voice wake-up node performs voice wake-up, the audio acquisition node can acquire audio, and the sound noise reduction node can reduce the noise of the acquired audio. That is, the voice wake-up node, audio acquisition node, and sound noise reduction node are connected sequentially. Based on this connection relationship, a voice link graph can be obtained. The voice link graph may include voice data processing nodes, as well as their predecessor nodes (i.e., nodes before this node) and successor nodes (i.e., nodes after this node). These can be manually configured on the configuration page (e.g., through...). Figure 8The page configuration shown can also be automatically generated based on each voice data processing node and its connection relationship. When the voice link changes, the voice link map can be updated to perform time-consuming performance analysis on the updated voice link.
[0045] Taking the voice interaction system of the vehicle's infotainment system as an example, the voice interaction system can be divided into voice interaction functions such as navigation, music, and weather. The implementation of each voice interaction function requires multiple voice data processing nodes. That is, the completion path of each voice interaction function needs to pass through multiple voice data processing nodes, and different voice interaction functions can share some voice data processing nodes. Among them, each voice interaction function can be distinguished by graph service identifier.
[0046] Figure 8 The diagram illustrates the voice data processing nodes involved in the navigation voice interaction function and their connections. The voice data processing nodes include: x9hp (voice wake-up), onStratApp (audio acquisition), Music AppInit (noise reduction), Music HomeOnCreate (recognition and decoding), Music HomeOnResume (semantic correction), MusicDisplayEnd (output semantic results), Scanctum AppInit (feature extraction), Scanctum HomeOnCreate (semantic understanding), Scanctum HomeOnResume (destination search), Scanctum DisplayEnd (navigation location), BTAppInit (Spark Big Model), BT HomeOnCreate (casual conversation), BT HomeOnResume (speech synthesis), and BTDisplayEnd (voice broadcast).
[0047] The obtained voice link graph can be stored in a database (such as the cloud) for retrieval when needed. The voice link graph may include: a graph service identifier, a version number (related to the configured voice link to be analyzed; when the voice link changes, the corresponding version number can be updated synchronously for accurate subsequent analysis), a node name (i.e., the name of the voice data processing node), a node code, a set of preceding node codes, and a set of succeeding node codes, as shown in Table 1 below. The node code can be a natural number generated when configuring the voice link graph. The code for each node remains unique throughout the entire graph, and setting the code facilitates subsequent time consumption analysis.
[0048] Table 1
[0049]
[0050]
[0051] It should be noted that if there is only one voice interaction function, there is only one graph service identifier, and in this case, the graph service identifier is not required.
[0052] The configuration steps for the voice link of various voice interaction functions may include:
[0053] (1) Selecting nodes in the graph: Nodes are categorized into three types: start, process, and end, such as... Figure 8 As shown; when selecting nodes, the role and location of the nodes can be considered to ensure that each node can cover the key steps or links that need to be monitored.
[0054] (2) Naming the nodes: Ensure that the named nodes are consistent with the node names uploaded in the following data points, so as to establish a correspondence between the data points and the analysis map.
[0055] (3) Connecting nodes: When configuring the connection between nodes, pay attention to the order relationship between the nodes. This order relationship must conform to the actual business process in order to accurately track the entire voice service time path.
[0056] It should be noted that for voice data processing nodes that can form loops, since the number of times a loop is executed is limited in practice, the maximum number of loops for a single loop can be set to no more than a preset number, such as 30, in actual data analysis, based on business requirements. Therefore, the resulting voice link graph can be a directed cyclic graph containing a finite number of loops.
[0057] S102, perform a graph search on the voice link map to obtain the path set.
[0058] Specifically, graph search algorithms, such as depth-first search (DFS), can be used to perform graph search on the speech link graph to obtain path sets, such as trunk path sets and edge path sets.
[0059] Depth-first search (DFS) is a graph search algorithm that explores as deeply as possible from a given vertex, including its adjacent vertices, until it encounters a vertex from which it can no longer proceed. It then backtracks and continues exploring other vertices. For example... Figure 9As shown, the implementation steps of the DFS algorithm include: First, setting the initial position state, i.e., selecting the initial vertex. Then, obtaining the list of feasible paths and checking if the list is empty. If empty, it means that the current vertex has no selectable adjacent vertices, and the process ends; if not empty, it means that the current vertex has selectable adjacent vertices, and the list of feasible paths is traversed, selecting an adjacent vertex from the list. Next, it is checked whether the path formed by the selected adjacent vertices is duplicated. If duplicated, the path is deleted; otherwise, it is added to the searched historical path, and it is checked whether the path has ended. If it has ended, the path is output and the previous path is popped, returning to the step of traversing the list of feasible paths to continue traversing; if it has not ended, it returns to the step of obtaining the list of feasible paths.
[0060] S103, acquire target voice interaction data, wherein the target voice interaction data is obtained by data collection at each voice data processing node, including time information.
[0061] Specifically, a data collection protocol can be established for each node (i.e., the voice data processing node, which can be the smallest unit in the voice interaction system) in a smart device (such as an in-vehicle infotainment system). Data collection is performed during voice interaction on the smart device to obtain voice interaction data at each node. Data collection is a term specific to the big data industry; it involves inserting specific code or tags into applications or websites to collect user behavior data. Data collection data refers to relevant data recorded during the voice interaction process. This work can be implemented during the development of the smart device's voice application (APP). The data collection data can be uploaded by the smart device to a big data storage terminal (such as the cloud) for subsequent performance analysis and optimization.
[0062] The event tracking data should include at least: time information (such as timestamps) and the identity information of the voice data processing node (such as node name). Adding timestamps to the event tracking data records the exact time of each event (when the voice link executes a certain step, the timestamp is recorded), enabling subsequent time-related analysis and comparison. Adding node names to the event tracking data identifies the voice link node to which the current event tracking point resides (node names can be customized based on the node's function, such as voice wake-up, noise reduction, speech recognition, semantic error correction, etc.), which can be used for subsequent analysis to identify the performance and problems of each node. The target voice interaction data can be default voice interaction data for a specific time period, such as voice interaction data from the past week; or it can be user-defined voice interaction data, such as voice interaction data for the current day, or voice interaction data for a specific scenario (such as navigation voice interaction data).
[0063] It should be noted that, in order to distinguish the voice interaction data of different smart devices, a unique identifier of the smart device, such as the Vehicle Identification Number (VIN), can be added to the data collected by the smart device. This will enable accurate tracking and analysis of the data from the vehicle's infotainment system in the future.
[0064] In some embodiments of this application, a business identifier field (corresponding to the above-mentioned graph business identifier) can be added to the event tracking data to identify the business type or purpose of the current event tracking. For example, different business identifier fields can be used to identify different voice functions (such as navigation, music, weather, etc.) so that different functions can be analyzed and optimized subsequently.
[0065] As one implementation method, the composition of the event tracking data is shown in Table 2 below. The unique device identifier is represented by the field `deviceId`, which is a string type and is required in the event tracking data to distinguish different smart devices. The timestamp is represented by the field `ts`, which is a long integer type and is also required. The node name is represented by the field `sname`, which is a string type and is also required. The service identifier is represented by the field `taid`, which is a string type and is not required in the event tracking data.
[0066] Table 2
[0067] Fields Field type Field Name Is this field required? deviceId String Unique Device Identifier yes ts Long Timestamp yes sname String Node Name yes taid String Business Identifier no
[0068] S104. Based on the paths in the path set, as well as the time information and their corresponding voice data processing nodes, obtain the time consumption of each voice data processing node in the voice link graph.
[0069] Specifically, the node names in the target speech data can be associated with the node names in the speech link graph to determine the target node, and the corresponding service identifier, version number, node code, and other fields can be obtained. Then, the node code of the target node can be associated with the parsed graph path (i.e., the path in the path set, which can be composed of node codes and their connection relationships) to obtain the possible paths of the target node, which are recorded as candidate paths. After that, the completed path (i.e. the path that is executed from beginning to end) can be determined from the candidate paths based on the time information carried by the target node. Finally, the time consumption of each node can be determined based on the time information of the completed path and its nodes, that is, the time consumption of each speech data processing node in the speech link graph can be obtained.
[0070] The speech processing time analysis method of this application embodiment can perform time-consuming performance analysis on the smallest units of modules such as speech wake-up, speech recognition, semantic understanding, and speech synthesis in the entire speech link of a speech interaction system in a smart device. This method pre-embeds points in each smallest unit to collect speech interaction data during the speech interaction process, and configures the speech link for specific speech interaction applications to obtain a speech link graph. Then, by using the collected speech interaction data and the parsed speech link graph, time-consuming analysis is performed on the smallest units in the speech link. This accurately and completely obtains the time consumption of the smallest units in the speech link on the smart device side, which helps to evaluate the performance and experience of speech interaction.
[0071] In some embodiments of this application, the voice link map is also obtained according to the service type of each voice data processing node, and the target voice interaction data may also include the service type of each voice data processing node.
[0072] The business type can be represented by the business identifier mentioned above.
[0073] In some embodiments of this application, the voice link graph includes each voice data processing node and its preceding and succeeding node sets, and the path set includes the backbone path set. For example... Figure 2 As shown, a graph search is performed on the speech link graph to obtain a path set, including:
[0074] S201, connect the nodes in each subsequent node set to the corresponding voice data processing node to generate edges, and obtain the edge set composed of all edges in each type of service according to the service type to which each voice data processing node belongs.
[0075] Optionally, if no service type is filled in or the number of service types is 1 when configuring the voice link graph, the service type to which the voice data processing node belongs can be ignored, and the edge set can be obtained directly.
[0076] S202, take the speech data processing nodes with empty preceding node sets as the path starting points to obtain the path starting point set, and take the speech data processing nodes with empty following node sets as the path ending points to obtain the path ending point set.
[0077] S203. Based on the set of path start points, the set of path end points, the set of edges, and the number of speech data processing nodes in the speech link graph, a depth-first search is performed to obtain the backbone path set.
[0078] Specifically, if the obtained speech link graph is a directed graph, the steps for performing a graph search on the speech link graph using a depth-first search algorithm include:
[0079] A1 expands the nextList of the successor nodes of any node sid, connects the expanded nodes with sid, and generates all the edges in the graph. The edges are denoted as edge, and all the edges in a single business form a set edgeSet. At the same time, the number of nodes in the graph is recorded as sidNum.
[0080] A2. If the set of preceding nodes of node sid is empty, then node sid is determined to be the starting point of the path, and the set of starting points of the path is obtained. If the set of succeeding nodes of node sid is empty, then node sid is determined to be the ending point of the path, and the set of ending points of the path is obtained.
[0081] A3 takes the starting set startSet, ending set endSet, graph edge set edgeSet, and number of nodes sidNum as inputs into the depth-first search algorithm to obtain all paths in the graph, denoted as route.
[0082] by Figure 8 Taking the navigation voice interaction service shown as an example, its corresponding map name is AppLaunch, the map service identifier is afc3718f8aa0860e67, the version number is 1.0.3, and the node names, node codes, previous node code sets, and subsequent node code sets are shown in Table 3 below.
[0083] Table 3
[0084]
[0085]
[0086] A graph search was performed on the speech link graph corresponding to the data shown in Table 3, and the main path obtained by parsing is as follows:
[0087] 1 → 2 → 3 → 4 → 5 → 6
[0088] 1 → 2 → 3 → 7 → 4 → 5 → 6
[0089] 1 → 2 → 3 → 7 → 8 → 9 → 10
[0090] 1 → 2 → 7 → 8 → 9 → 10
[0091] 1 → 2 → 11 → 12 → 13 → 14
[0092] That is, the trunk path set (route) contains the trunk paths mentioned above.
[0093] In some embodiments of this application, the path set further includes an edge path set. For example... Figure 3As shown, a graph search is performed on the speech link graph to obtain a path set, which also includes:
[0094] S301, denote the speech data processing nodes that contain multiple nodes in both the preceding node set and the following node set as virtual start point and virtual end point, thus obtaining the virtual start point set and the virtual end point set.
[0095] S302. A depth-first search is performed based on the set of virtual starting points, the set of virtual ending points, the set of edges, and the number of speech data processing nodes in the speech link graph to obtain the set of virtual paths.
[0096] S303: Take any two virtual paths that form a closed loop in the virtual path set as edge paths to obtain the edge path set.
[0097] Specifically, in steps A1 to A3 above, the DFS algorithm can be considered to treat the graph as a directed acyclic graph for search and parsing, and none of the output paths return from the node Music HomeOnResume to the node Music AppInit. Therefore, for a directed cyclic graph with a finite number of iterations, it is necessary to process the cycle portion of the graph. This may include: using nodes containing multiple nodes in nextList and prevList as both virtual start points and virtual end points, obtaining a virtual start point set startSpin and a virtual end point set endSpin; then executing the DFS algorithm again with the virtual start point set and virtual end point set to obtain a virtual path set spinRoute. For a path in spinRoute, if the start point of the path also has a reverse path in spinRoute, then the two paths are considered as the final edge path of the cycle. Here, the edge path of the cycle is one where any two of them can form a closed cycle.
[0098] Taking the speech link graph corresponding to the data shown in Table 3 as an example, it can be intuitively seen from Table 3 that the predecessor and successor node sets of nodes 3 and 7 both contain multiple nodes. Nodes 3 and 7 can be used as virtual start and virtual end points. It should be noted that for node 3's predecessor node 5, its predecessor node 4's predecessor node set contains two nodes, and node 5's successor node set also contains two nodes. Therefore, it can be considered that node 5's predecessor and successor node sets both contain multiple nodes. Similarly, for node 3's successor node 4, its predecessor node set contains two nodes, and node 4's successor node 5's successor node set also contains two nodes. Therefore, it can be considered that node 4's predecessor and successor node sets both contain multiple nodes. Thus, nodes 4 and 5 can also be used as virtual start and virtual end points for graph search, and the edge paths of the resulting loop are as follows:
[0099] 3—>4
[0100] 4—>5—>3
[0101] 3 → 4 → 5
[0102] 3 → 7 → 4 → 5
[0103] 5—>3
[0104] 3—>7
[0105] 7 → 4 → 5 → 3
[0106] 4—>5
[0107] 5—>3—>4
[0108] 5 → 3 → 7 → 4
[0109] 4 → 5 → 3 → 7
[0110] 7—>4
[0111] 5 → 3 → 7
[0112] 7 → 4 → 5
[0113] Therefore, for a directed cyclic graph of finite order, we can use the Depth-First Search (DFS) algorithm to find all unidirectional trunk paths from the actual starting point of the entire graph. Then, for the cyclic part, we can use virtual starting and ending points and then use the DFS algorithm to find all distinct edge paths of the cyclic part. The found trunk paths and edge paths are then used for subsequent time-consuming analysis.
[0114] In some embodiments of this application, such as Figure 4 As shown, based on the paths in the path set, as well as the time information and their corresponding speech data processing nodes, the time consumption of each speech data processing node in the speech link graph is obtained, including:
[0115] S401, determine the target trunk path and the target side path, wherein the target trunk path is the trunk path where each voice data processing node in the target voice interaction data is located, and the target side path is the side path where each voice data processing node in the target voice interaction data is located.
[0116] Specifically, the collection and storage of event tracking data can utilize big data technologies. The collected data can be written to Kafka, and then, through a data persistence task, the big data cluster can be stored in a distributed file system (Hadoop Distributed File System, HDFS). Subsequently, Spark SQL can read the HDFS file and process it to obtain a Hive table. Fields in the table can include: smart device identifier, timestamp (which may include date), node name, business identifier, etc. Based on the Hive table, the target voice interaction data can be determined, such as voice interaction data for a specific date. Then, the node names in the target voice interaction data can be associated with the node names in the voice link graph to determine the target node (i.e., a node that exists in both the target voice interaction data and the voice link graph), obtaining the corresponding business identifier, version number, node ID, and other fields. Finally, the node ID is associated with the parsed graph path (i.e., the path in the path set) to obtain the possible main path and edge path of each node ID, thus obtaining the target main path and target edge path.
[0117] S402, based on the time information of the voice data processing node, determine the completion status of each target backbone path and each target side path to obtain the completed backbone path and completed side path.
[0118] The completion status refers to whether the corresponding path has been completed.
[0119] S403. Based on the time information for completing the main path and its nodes, as well as the time information for completing the side path and its nodes, the time consumption is obtained.
[0120] Specifically, based on the time information of completing the main path and its nodes, as well as the time information of completing the side path and its nodes, one or more complete and independent paths can be determined. Then, the time difference of the nodes in the path can be calculated to obtain the time consumption information of each node in the path, which can be used as the time consumption of the nodes in the voice link.
[0121] In some embodiments of this application, such as Figure 5 As shown, based on the time information of the voice data processing nodes, the completion status of each target backbone path is determined, including:
[0122] S501, For each target backbone path, search from the starting point of the target backbone path based on the time information of each node in the target backbone path.
[0123] S502, when the search reaches the endpoint, the starting point of the next target trunk path, or the search time interval between two adjacent nodes exceeds at least one of the preset time, the search is stopped, and it is determined whether the target trunk path has been searched when the search is stopped.
[0124] Specifically, for the same smart device, the graph is sorted in timestamp order to determine whether the target backbone path is a completed backbone path. The determination method includes: First, judging sequentially from the starting point of the target backbone path, if an ending point, a next starting point (for example, when a user says "listen to a song," which requires executing five points 1-2-3-4-5, but the actual collected data association results in a target node of 1-2-3, if another point 1 comes in later, then the 1-2-3-4-5 path is considered to have ended, and it can be determined that the path is incomplete because of missing data collection), or the search time interval exceeds a preset time (e.g., 5 minutes; generally, if the voice data of a smart device does not respond and process within 5 minutes, it can be considered that the voice service has been interrupted, and this situation is classified as data abnormality and deleted), the search stops. Then, it is determined whether the searched target backbone path is a completed backbone path; if not, the target backbone path is deleted.
[0125] In some examples, after obtaining the completed trunk path, if there are duplicate nodes in the completed trunk path, the minimum time of the duplicate node is used as the time information of that duplicate node.
[0126] For example, in a certain voice conversation, the path is 1-2-3-4-5, but the collected data is 1-2-3-3-4-5. In this case, the number 3 appears twice. The one with the shorter time (i.e., the time information carried by the first 3) can be taken as the time information of 3.
[0127] It should be noted that the judgment of the completion status of the target side path is the same as the judgment of the completion status of the target trunk path.
[0128] In some embodiments of this application, such as Figure 6 As shown, based on the time information for completing the main path and its nodes, and the time information for completing the edge path and its nodes, the time consumption is obtained, including:
[0129] S601: Based on the completed edge path and the time information of each node in it, the longest loop path is obtained.
[0130] Specifically, after obtaining the completed edge paths, the cyclic path can be determined based on the completed edge paths. For example, the completed edge paths include 3->4 and 4->5->3, but the actual path used in the speech processing process is the cycle 3->4->5->3. Therefore, it is necessary to determine whether 3->4 and 4->5->3 can form the cycle 3->4->5->3. The determination method is as follows: compare the time information carried by node 4 in 3->4 with the time information carried by node 4 in 4->5->3. If the former precedes the latter, it is determined that a cycle can be formed, i.e., the longest cyclic path.
[0131] S602, based on the time information of each node in the longest loop path and the time information of each node in the completed trunk path, insert the longest loop path that meets the preset insertion conditions into the corresponding completed trunk path to obtain the complete path.
[0132] S603, based on the time information of each node in the complete path, obtains the time consumption.
[0133] Specifically, after obtaining the completed main path and the longest loop path (including paths with one or more consecutive occurrences), the longest loop path is determined to be able to be inserted into the completed main path based on the relationship between the timestamps. For example, if the completed main path is 1->2->3->4->5->6, and the longest loop paths are 3->4->5->3 and 3->7->4->3, if the timestamps carried by 2 and 3 in 1->2->3->4->5->6 indicate that 3->7->4->3 meets the insertion condition, while 3->4->5->3 does not, then a complete path is obtained: 1->2->3->7->4->3->4->5->6. Afterwards, the time difference between each pair of nodes can be calculated based on the complete path; this is the time consumed.
[0134] In some embodiments of this application, such as Figure 7 As shown, based on the completion time information of the edge path and each node in it, the longest loop path is obtained, including:
[0135] S701, based on the completed edge path and the time information of each node in it, generate the long path for the first time.
[0136] S702, For the i-th generated long path, based on the time information of the long path and each node in it, generate the (i+1)-th long path, where i is a positive integer less than or equal to N, and N is the preset number of loops.
[0137] S703, the long path generated in the Nth iteration is taken as the longest loop path.
[0138] Specifically, completed edge paths that are adjacent at the beginning and end and whose timestamps differ by less than a preset time (e.g., 5 minutes) are connected and used as the first generated long path. Then, the long path generation method of the previous step is executed for each previously generated long path, for a total of N times (e.g., 6 times, not exceeding 30 times), to obtain the longest loop path. When configuring the voice link graph, the number of loop iterations can be limited to a finite number. Taking in-vehicle devices as an example, N can be 6, and the actual execution of the loop reaches 2. 6 / 2 times, or 32 times. During the first execution, the two completed edge paths are connected to form a loop, and subsequent executions are performed on the loop.
[0139] In some embodiments of this application, after obtaining the time consumption information, the time consumption information can be visualized to provide a more intuitive understanding of the time consumption performance of the voice link.
[0140] In some examples, the visualization of time consumption may include: in response to the first viewing request, displaying the number of times each path in the voice link graph is executed and the execution percentage of each path; in response to the second viewing request, displaying the average time consumption, maximum time consumption, and data collection volume of a single path in the voice link graph; and in response to the third viewing request, displaying the time consumption of each node in the single path corresponding to the third viewing request.
[0141] Based on the above Figure 8 Taking the corresponding speech link graph as an example, the number of executions for the entire graph path and the execution percentage of each node in each path are as follows: Figure 10 As shown, Figure 10 The data also shows the average time taken for the path; the average time, maximum time taken, and data collection volume for a single path are as follows: Figure 11 As shown. In Figure 11 The page shown allows you to rename paths to quickly determine time-consuming paths; it also allows you to view the page, with pop-up windows... Figure 12 The page shown displays the time-consuming path and the time consumption of each node in it.
[0142] Figure 13 This is a structural block diagram of the speech processing time analysis device according to an embodiment of this application.
[0143] like Figure 13 As shown, the time consumption analysis device 100 includes: a first acquisition module 10, a graph search module 20, a second acquisition module 30, and an analysis module 40.
[0144] In this embodiment, the first acquisition module 10 is used to acquire a speech link graph, which is obtained based on multiple speech data processing nodes and their connection relationships; the graph search module 20 is used to perform a graph search on the speech link graph to obtain a path set; the second acquisition module 30 is used to acquire target speech interaction data, which is obtained by data collection at each speech data processing node, including time information; the analysis module 40 is used to obtain the time consumption of each speech data processing node in the speech link graph based on the paths in the path set, the time information and their corresponding speech data processing nodes.
[0145] In some embodiments of this application, the voice link map is also obtained according to the service type of each voice data processing node, and the target voice interaction data also includes the service type of each voice data processing node.
[0146] In some embodiments of this application, the voice link graph includes each voice data processing node and its preceding and succeeding node sets, and the path set includes the backbone path set. When performing a graph search on the voice link graph to obtain the path set, the graph search module 20 is used to: connect the nodes in each succeeding node set to the corresponding voice data processing node to generate edges, and obtain an edge set consisting of all edges in each type of service according to the service type to which each voice data processing node belongs; take voice data processing nodes with empty preceding node sets as path starting points to obtain a path starting point set, and take voice data processing nodes with empty succeeding node sets as path ending points to obtain a path ending point set; perform a depth-first search based on the path starting point set, path ending point set, edge set, and the number of voice data processing nodes in the voice link graph to obtain the backbone path set.
[0147] In some embodiments of this application, the path set further includes an edge path set. When performing a graph search on the speech link graph to obtain the path set, the graph search module 20 is further configured to: designate speech data processing nodes containing multiple nodes in both the preceding and following node sets as virtual start points and virtual end points, obtaining a virtual start point set and a virtual end point set; perform a depth-first search based on the virtual start point set, the virtual end point set, the edge set, and the number of speech data processing nodes in the speech link graph to obtain a virtual path set; and designate any two virtual paths forming a closed loop in the virtual path set as edge paths, obtaining an edge path set.
[0148] In some embodiments of this application, when the analysis module 40 obtains the time consumption of each voice data processing node in the voice link graph based on the paths in the path set, as well as the time information and their corresponding voice data processing nodes, it is used to: determine the target trunk path and the target side path, wherein the target trunk path is the trunk path where each voice data processing node in the target voice interaction data is located, and the target side path is the side path where each voice data processing node in the target voice interaction data is located; judge the completion status of each target trunk path and each target side path according to the time information of the voice data processing nodes, and obtain the completed trunk path and the completed side path; obtain the time consumption based on the time information of the completed trunk path and its nodes, and the time information of the completed side path and its nodes.
[0149] In some embodiments of this application, when the analysis module 40 judges the completion status of each target backbone path based on the time information of the voice data processing node, it is used to: for each target backbone path, start searching from the starting point of the target backbone path according to the time information of each node in the target backbone path; when the search reaches the end point, the starting point of the next target backbone path, or the search time interval between two adjacent nodes exceeds at least one of the preset time, stop searching, and determine whether the target backbone path has been searched when the search is stopped.
[0150] In some embodiments of this application, when the analysis module 40 obtains the time consumption based on the time information of completing the main path and its nodes, and the time information of completing the side path and its nodes, it is used to: obtain the longest loop path based on the time information of completing the side path and its nodes; insert the longest loop path that meets the preset insertion conditions into the corresponding completed main path based on the time information of each node in the longest loop path and the time information of each node in the main path to obtain the complete path; and obtain the time consumption based on the time information of each node in the complete path.
[0151] In some embodiments of this application, when the analysis module 40 obtains the longest loop path based on the time information of the completed edge path and each node therein, it is used to: generate a long path for the first time based on the time information of the completed edge path and each node therein; for the long path generated for the i-th time, generate a long path for the (i+1)-th time based on the time information of the long path and each node therein, where i is a positive integer less than or equal to N, and N is a preset number of loops; and take the long path generated for the N-th time as the longest loop path.
[0152] In some embodiments of this application, after obtaining the completed trunk path, the analysis module 40 is further configured to use the minimum time of the repeated nodes as the time information of the repeated nodes when there are repeated nodes in the completed trunk path.
[0153] In some embodiments of this application, the time consumption analysis device may further include a display module, which is used to visualize the time consumption situation.
[0154] It should be noted that for other specific implementations of the speech processing time analysis device in this application embodiment, please refer to the specific implementation of the speech processing time analysis method in this application embodiment.
[0155] The speech processing time analysis device of this application pre-embeds points in each smallest unit (i.e., speech data processing node) of the speech interaction system to collect speech interaction data during the speech interaction process. It also configures speech links for specific speech interaction applications to obtain a speech link graph. Then, by using the collected speech interaction data and the parsed speech link graph, it performs time analysis on the smallest unit in the speech link, which can accurately and completely obtain the time consumption of the smallest unit in the speech link on the smart device. By visualizing the time consumption, the speech interaction performance can be understood intuitively.
[0156] Based on the time consumption analysis method of the speech processing process in the above embodiments, this application also proposes a computer-readable storage medium.
[0157] In this embodiment, a computer program is stored on the computer scale storage medium. When the computer program is executed by the processor, it implements the time consumption analysis method of the above-mentioned speech processing process.
[0158] When the computer-readable storage medium of this application stores a computer program corresponding to the time consumption analysis method of the above-described voice processing process, it collects voice interaction data during the voice interaction process by pre-embedding points in each smallest unit, and configures the voice link for specific voice interaction applications to obtain a voice link map. Then, by using the collected voice interaction data and the parsed voice link map, it performs time consumption analysis on the smallest unit in the voice link, which can accurately and completely obtain the time consumption of the smallest unit in the voice link on the smart device. By visualizing the time consumption, the voice interaction performance can be intuitively understood.
[0159] Based on the time consumption analysis method of the speech processing process in the above embodiments, this application also proposes an electronic device.
[0160] Figure 14 This is a structural block diagram of an electronic device according to an embodiment of this application.
[0161] like Figure 14 As shown, the electronic device 500 includes a processor 501 and a memory 503. The processor 501 and the memory 503 are connected, for example, via a bus 502. Optionally, the electronic device 500 may also include a transceiver 504. It should be noted that in practical applications, the transceiver 504 is not limited to one type, and the structure of this electronic device 500 does not constitute a limitation on the embodiments of this application.
[0162] Processor 501 may be a CPU (Central Processing Unit), a general-purpose processor, a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), an FPGA (Field Programmable Gate Array), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. It can implement or execute the various exemplary logic blocks, modules, and circuits described in conjunction with the disclosure of this application. Processor 501 may also be a combination that implements computational functions, such as including one or more microprocessor combinations, a combination of a DSP and a microprocessor, etc.
[0163] Bus 502 may include a pathway for transmitting information between the aforementioned components. Bus 502 may be a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. Bus 502 can be divided into address bus, data bus, control bus, etc. For ease of representation, Figure 14 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.
[0164] The memory 503 stores a computer program corresponding to the time-consuming analysis method of the speech processing procedure in the above embodiments of this application. This computer program is controlled and executed by the processor 501. The processor 501 executes the computer program stored in the memory 503 to implement the content shown in the aforementioned method embodiments.
[0165] Among them, electronic device 500 may be a smart device with voice interaction function. Electronic device 500 includes, but is not limited to: mobile terminals such as mobile phones, laptops, digital radio receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), and in-vehicle devices (such as in-vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 14 The electronic device 500 shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.
[0166] In the electronic device of this application embodiment, when the computer program corresponding to the time consumption analysis method of the above-mentioned voice processing process, stored in its memory, is executed by the processor, voice interaction data is collected during the voice interaction process by pre-embedding points in each smallest unit, and voice links are configured for specific voice interaction applications to obtain a voice link map; then, by using the collected voice interaction data and the parsed voice link map, time consumption analysis is performed on the smallest units in the voice link, which can accurately and completely obtain the time consumption of the smallest units in the voice link on the smart device side; by visualizing the time consumption, the voice interaction performance can be intuitively understood.
[0167] It should be noted that the logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a processor-included system, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having one or more wires (electronic device), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Alternatively, the computer-readable medium may be paper or other suitable media on which the program can be printed, since the program can be obtained electronically, for example, by optically scanning the paper or other medium, followed by editing, interpreting, or otherwise processing as necessary, and then stored in a computer memory.
[0168] It should be understood that various parts of this application can be implemented using hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented using software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.
[0169] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with that embodiment or example is included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples.
[0170] In the description of this application, it should be understood that the terms "center", "longitudinal", "lateral", "length", "width", "thickness", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", "clockwise", "counterclockwise", "axial", "radial", "circumferential", etc., indicating the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings, are only for the convenience of describing this application and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of this application.
[0171] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "multiple" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0172] In this application, unless otherwise expressly specified and limited, the terms "installation," "connection," "joining," and "fixing," etc., should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral part; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; they can refer to the internal communication of two components or the interaction between two components, unless otherwise expressly limited. Those skilled in the art can understand the specific meaning of the above terms in this application according to the specific circumstances.
[0173] In this application, unless otherwise expressly specified and limited, "above" or "below" the second feature can mean that the first feature is in direct contact with the second feature, or that the first feature is in indirect contact with the second feature through an intermediate medium. Furthermore, "above," "on top of," and "over" the second feature can mean that the first feature is directly above or diagonally above the second feature, or simply that the first feature is at a higher horizontal level than the second feature. "Below," "below," and "under" the second feature can mean that the first feature is directly below or diagonally below the second feature, or simply that the first feature is at a lower horizontal level than the second feature.
[0174] Although embodiments of this application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting this application. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of this application.
Claims
1. A method of time consumption analysis of a speech processing process, characterized by, include: Obtain a speech link graph, wherein the speech link graph is obtained based on multiple speech data processing nodes and the connection relationships between them; A graph search is performed on the speech link map to obtain a path set; Acquire target voice interaction data, wherein the target voice interaction data is obtained by data collection at each of the voice data processing nodes, including time information; Based on the paths in the path set, the time information and its corresponding voice data processing nodes, the time consumption of each voice data processing node in the voice link graph is obtained. The voice link graph is also obtained based on the service type of each voice data processing node. The voice link graph includes each voice data processing node and its preceding and succeeding node sets. The path set includes a backbone path set. The step of performing a graph search on the voice link graph to obtain the path set includes: Connect each node in the subsequent node set to its corresponding voice data processing node to generate an edge, and obtain an edge set consisting of all edges in each type of service according to the service type to which each voice data processing node belongs; take the voice data processing node with an empty preceding node set as the path starting point to obtain a path starting point set, and take the voice data processing node with an empty subsequent node set as the path ending point to obtain a path ending point set; perform a depth-first search based on the path starting point set, the path ending point set, the edge set, and the number of voice data processing nodes in the voice link graph to obtain the backbone path set.
2. The method of claim 1, wherein, The path set also includes an edge path set, and the step of performing a graph search on the speech link graph to obtain the path set further includes: The speech data processing nodes that contain multiple nodes in both the preceding node set and the following node set are denoted as virtual start point and virtual end point, respectively, to obtain the virtual start point set and the virtual end point set. A depth-first search is performed based on the set of virtual starting points, the set of virtual ending points, the set of edges, and the number of speech data processing nodes in the speech link graph to obtain a set of virtual paths. The set of edge paths is obtained by taking any two virtual paths that form a closed loop in the set of virtual paths.
3. The method of claim 2, wherein, The step of obtaining the time consumption of each speech data processing node in the speech link graph based on the paths in the path set, the time information, and the corresponding speech data processing nodes includes: Determine the target trunk path and the target side path, wherein the target trunk path is the trunk path where each of the voice data processing nodes in the target voice interaction data is located, and the target side path is the side path where each of the voice data processing nodes in the target voice interaction data is located; Based on the time information of the voice data processing node, the completion status of each target trunk path and each target side path is judged to obtain the completed trunk path and the completed side path. The time consumption is obtained based on the time information of completing the main path and its nodes, and the time information of completing the side path and its nodes.
4. The method of claim 3, wherein, Based on the time information of the voice data processing nodes, the completion status of each target backbone path is determined, including: For each target backbone path, the search begins from the starting point of the target backbone path based on the time information of each node in the target backbone path; When the search reaches the endpoint, the starting point of the next target main path, or the search time interval between two adjacent nodes exceeds at least one of the preset time, the search stops, and it is determined whether the target main path has been searched when the search stops.
5. The method of claim 4, wherein, If there are duplicate nodes in the completed main path, the minimum time among the duplicate nodes is taken as the time information of that duplicate node. The process of obtaining the time consumption based on the time information of the completed main path and its nodes, and the time information of the completed side paths and their nodes, includes: Based on the completed edge path and the time information of each node in it, the longest loop path is obtained; Based on the time information of each node in the longest loop path and the time information of each node in the completed trunk path, the longest loop path that meets the preset insertion conditions is inserted into the corresponding completed trunk path to obtain the complete path. The time consumption is obtained based on the time information of each node in the complete path.
6. The method of claim 5, wherein, The step of obtaining the longest loop path based on the completed edge path and the time information of each node therein includes: Based on the completed edge path and the time information of each node therein, the long path is generated for the first time; For the i-th generated long path, based on the long path and the time information of each node in it, the (i+1)-th long path is generated, where i is a positive integer less than or equal to N, and N is the preset number of loops. The long path generated in the Nth iteration is taken as the longest loop path.
7. An apparatus for time consumption analysis of a speech processing process, characterized in that include: The first acquisition module is used to acquire a voice link graph, wherein the voice link graph is obtained based on multiple voice data processing nodes and the connection relationships between them; The graph search module is used to perform a graph search on the voice link graph to obtain a path set; The second acquisition module is used to acquire target voice interaction data, wherein the target voice interaction data is obtained by data collection at each of the voice data processing nodes, including time information; The analysis module is used to obtain the time consumption of each voice data processing node in the voice link graph based on the paths in the path set, the time information and its corresponding voice data processing nodes. The voice link graph is also obtained based on the service type of each voice data processing node. The voice link graph includes each voice data processing node and its preceding and succeeding node sets. The path set includes a backbone path set. The step of performing a graph search on the voice link graph to obtain the path set includes: Connect each node in the subsequent node set to its corresponding voice data processing node to generate an edge, and obtain an edge set consisting of all edges in each type of service according to the service type to which each voice data processing node belongs; take the voice data processing node with an empty preceding node set as the path starting point to obtain a path starting point set, and take the voice data processing node with an empty subsequent node set as the path ending point to obtain a path ending point set; perform a depth-first search based on the path starting point set, the path ending point set, the edge set, and the number of voice data processing nodes in the voice link graph to obtain the backbone path set.
8. A computer-readable storage medium having stored thereon a computer program, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1-6.
9. An electronic device comprising a memory, a processor, and a computer program stored on the memory, characterized in that, When the computer program is executed by a processor, it implements the method as described in any one of claims 1-6.