Live question and answer method and device, electronic equipment and computer readable storage medium
Patent Information
- Application Number
- CN202211204659.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-29
- Publication Date
- 2026-10-27
- Estimated Expiration
- 2042-09-29
AI Technical Summary
[0005]本申请实施例提供了一种直播问答方法,以解决相关技术中,无法对询问的问题进行精准定位,难以联动被直播的对象的实时数据答复观众提出的问题,降低观众观看直播的体验感的技术问题
[0015]在本申请实施例中,通过基于被直播的对象(即目标对象)的实时数据确定出的至少一个第一实体、各第一实体之间的第一关系、每个第一实体的各第一属性以及分别对应每个第一实体的各第一属性的属性值生成该目标对象的对应的目标知识图谱,并响应于询问请求,确定询问请求指示的目标对象、目标实体和该目标实体对应的待询问属性,可以实现对询问请求的精准定位;在该目标对象对应的目标知识图谱中,以该目标对象对应的第一实体为查找起点,基于该目标实体与目标对象对应的第一实体之间的目标关系查找该目标实体,并基于该目标属性的属性值,确定目标属性值;基于该目标属性值,得到询问请求对应的答复结果。可以联动目标对象的实时数据,实现针对询问请求,精确确定出询问请求对应的答复结果,即“所问即所答”的效果,减少了观众端与直播端互动次数,提高观众观看直播的体验感。
Smart Images

Figure CN117251577B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the fields of multimedia technology and cloud technology, and in particular to live Q&A methods, devices, electronic devices and computer-readable storage media. Background Technology
[0002] With the rapid development of multimedia technology and the Internet, watching live streams has become one of the main forms of online entertainment and relaxation. As live streaming technology has developed, many industries have also gained more diverse forms of expression, such as online education, online sales, and live sports events.
[0003] In current live streaming, questions from viewers are usually answered by the host, or by setting up multiple question-and-answer pairs in advance and answering viewers' questions by matching similarity.
[0004] However, the former approach, when faced with a large number of questions, may result in delayed responses to viewers' questions, leading to discrepancies between the data received and the expected data. The latter approach, on the other hand, often fails to pinpoint the exact question, resulting in lower accuracy and limited generalization capabilities, requiring the continuous expansion of similar question formats. Furthermore, neither method effectively integrates real-time data from the subject being streamed to answer viewers' questions, thus diminishing the viewing experience. Summary of the Invention
[0005] This application provides a live Q&A method to solve the technical problems in related technologies, such as the inability to accurately locate the question being asked, the difficulty in linking the real-time data of the subject being live-streamed to answer the questions raised by the audience, and the reduced viewing experience for the audience.
[0006] Accordingly, embodiments of this application also provide a live Q&A device, an electronic device, and a computer-readable storage medium to ensure the implementation and application of the above methods.
[0007] On one hand, embodiments of this application provide a live Q&A method, which includes: In response to the query request, determine the target object to be live-streamed as indicated by the query request, the target entity corresponding to the query request, and the attribute to be queried corresponding to the target entity; In the target knowledge graph corresponding to the target object, the first entity corresponding to the target object is used as the search starting point. The target entity is searched based on the target relationship between the target entity and the first entity corresponding to the target object. The target attribute that matches the attribute to be queried among the first attributes of the target entity is determined, and the target attribute value is determined based on the attribute value of the target attribute. Based on the target attribute value, the response result corresponding to the query request is obtained; The target knowledge graph is generated based on at least one first entity determined from real-time data of the target object, the first relationship between each first entity, the first attribute corresponding to each first entity, and the attribute values of each first attribute corresponding to each first entity.
[0008] On the other hand, embodiments of this application provide a live Q&A method, including: Get the query statement, and determine the target object to be live-streamed corresponding to the query statement, the target entity to be live-streamed corresponding to the query statement, and the target attribute to be live-streamed corresponding to the target entity. Generate an inquiry request based on the target object, target entity, and target attributes; Send an inquiry request to the server to instruct the server to obtain a response based on the inquiry request; Receive and output the response results sent by the server.
[0009] On the other hand, embodiments of this application provide a live Q&A device, which includes: The query request response module is used to respond to query requests and determine the target object to be live-streamed indicated by the query request, the target entity corresponding to the query request, and the attribute to be queried corresponding to the target entity. The target attribute value determination module is used to search for the target entity in the target knowledge graph corresponding to the target object, starting from the first entity corresponding to the target object, based on the target relationship between the target entity and the first entity corresponding to the target object; determine the target attribute that matches the attribute to be queried among the first attributes of the target entity, and determine the target attribute value based on the attribute value of the target attribute; The response result determination module is used to obtain the response result corresponding to the query request based on the target attribute value.
[0010] The target knowledge graph is generated based on at least one first entity determined from real-time data of the target object, the first relationship between each first entity, the first attribute corresponding to each first entity, and the attribute values of each first attribute corresponding to each first entity.
[0011] On the other hand, embodiments of this application provide a live Q&A device, which includes: The query statement acquisition module is used to acquire query statements, determine the target object to be broadcast, the target entity to be broadcast, and the target attribute to the target entity corresponding to the query statement. The query request generation module is used to generate query requests based on the target object, target entity, and target attributes. The query request sending module is used to send query requests to the server to instruct the server to obtain a response based on the query request; The response result receiving module is used to receive and output the response results sent by the server.
[0012] On the other hand, embodiments of this application provide an electronic device, including a processor and a memory, which are interconnected; Memory is used to store computer programs; The processor is configured to execute the live Q&A method provided in the embodiments of this application when a computer program is invoked.
[0013] On the other hand, embodiments of this application provide a computer-readable storage medium storing a computer program that is executed by a processor to implement the live Q&A method provided in embodiments of this application.
[0014] On the other hand, embodiments of this application provide a computer program product, which includes a computer program that, when executed by a processor, implements the live Q&A method provided in embodiments of this application.
[0015] In this embodiment, a target knowledge graph corresponding to the target object is generated by determining at least one first entity, the first relationship between each first entity, each first attribute of each first entity, and the attribute values corresponding to each first attribute of each first entity based on real-time data of the object being streamed (i.e., the target object). In response to a query request, the target object indicated by the query request, the target entity, and the attribute to be queried corresponding to the target entity are determined, enabling precise location of the query request. In the target knowledge graph corresponding to the target object, the target entity is searched based on the target relationship between the target entity and the first entity corresponding to the target object, and the target attribute value is determined based on the attribute value of the target attribute. Based on the target attribute value, the response result corresponding to the query request is obtained. This approach can link with the real-time data of the target object to accurately determine the response result corresponding to the query request, achieving a "what is asked is what is answered" effect, reducing the number of interactions between the viewer and the live streaming end, and improving the viewer's experience of watching the live stream. Attached Figure Description
[0016] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0017] Figure 1 This application provides an embodiment of the architecture of a live Q&A system. Figure 2 A flowchart illustrating a live Q&A method provided in an embodiment of this application is shown; Figure 3 This illustration shows a structural diagram of a knowledge graph provided in an embodiment of this application; Figure 4a This illustration shows an application scenario diagram of a live Q&A method provided in an embodiment of this application; Figure 4b This illustration shows an application scenario diagram of another live Q&A method provided in an embodiment of this application; Figure 4c This illustration shows an application scenario diagram of another live Q&A method provided in an embodiment of this application; Figure 5a This illustration shows an application scenario diagram of another live Q&A method provided in an embodiment of this application; Figure 5b This illustration shows an application scenario diagram of another live Q&A method provided in an embodiment of this application; Figure 6a This illustration shows an application scenario diagram of another live Q&A method provided in an embodiment of this application; Figure 6b This illustration shows an application scenario diagram of another live Q&A method provided in an embodiment of this application; Figure 6c This illustration shows an application scenario diagram of another live Q&A method provided in an embodiment of this application; Figure 7a This illustration shows an application scenario diagram of another live Q&A method provided in an embodiment of this application; Figure 7b This illustration shows an application scenario diagram of another live Q&A method provided in an embodiment of this application; Figure 8 A flowchart illustrating another live Q&A method provided in an embodiment of this application is shown; Figure 9 This application provides an embodiment of an interactive diagram illustrating the implementation of a live Q&A system. Figure 10 A flowchart illustrating another live Q&A method provided in an embodiment of this application is shown; Figure 11 This illustration shows a schematic diagram of another knowledge graph structure provided in an embodiment of this application; Figure 12 A flowchart illustrating another live Q&A method provided in an embodiment of this application is shown; Figure 13 A flowchart illustrating another live Q&A method provided in an embodiment of this application is shown; Figure 14 This illustration shows a structural schematic diagram of a live Q&A device provided in an embodiment of this application; Figure 15 This paper shows a schematic diagram of another live Q&A device provided in an embodiment of this application; Figure 16 A schematic diagram of the structure of an electronic device provided in an embodiment of this application is shown. Detailed Implementation
[0018] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0019] This application provides a live Q&A method that can be applied to any live stream of an object (i.e., a target object). The target object may include, but is not limited to, products, games, sports competitions, etc. This application does not impose any restrictions on this.
[0020] The games can be games within game applications that require downloading and installation, games within cloud gaming applications, or games within mini-programs. Specific game types can include, but are not limited to, fighting games, action games, adventure games, simulation games, role-playing games, and casual games.
[0021] The execution entity of this live Q&A method can be a live Q&A device. This device can be a server, used during the live stream to generate a response based on the queries submitted by viewers (i.e., audience members) and real-time data of the target object. This live Q&A device can be the same as or different from the server corresponding to the audience's terminal; this embodiment of the application demonstrates this. The live Q&A method can also be implemented by a processor calling computer-readable instructions stored in memory.
[0022] like Figure 1As shown, taking the live Q&A device as the server, and assuming the live Q&A device is different from the terminal or server corresponding to the viewer, the live Q&A method is explained. The first terminal 101 corresponding to the viewer receives a query statement triggered by the viewer. The first server 102 corresponding to the first terminal 101 generates a query request based on the query statement and sends the query request to the second server 103 corresponding to the live Q&A device. The second server 103 obtains real-time data of the target object from the live terminal 104 of the target object, generates a target knowledge graph based on the real-time data, and generates a response result based on the target knowledge graph and the query request. This response result is then sent to the second server 103, and subsequently to the first terminal 101, allowing the first terminal 101 to display the response result to the viewer.
[0023] Both the first terminal 101 and the live streaming terminal 104 can be smartphones, tablets, laptops, desktop computers, etc. When interaction between the first device and the second device is required, they only need to be different devices. For example, both the first terminal and the second terminal can be set to smartphones.
[0024] The first server 102 and the second server 103 mentioned above can both be independent physical servers, or server clusters or distributed systems composed of multiple physical servers. They can also be cloud servers or server clusters that provide basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms.
[0025] Those skilled in the art should understand that the above-described terminals and servers are merely examples, and other existing or future terminals or servers that are applicable to this application should also be included within the scope of protection of this application, and are hereby incorporated by reference.
[0026] The live Q&A method provided in this application embodiment can also be implemented based on cloud technology. For example, the data computation involved in generating a target knowledge graph based on real-time data of the target object can be carried out using cloud computing. Cloud technology refers to a hosting technology that unifies a series of resources such as hardware, software, and networks within a wide area network or local area network to realize data computation, storage, processing, and sharing.
[0027] like Figure 2 As shown, the method includes: Step S210: In response to the query request, determine the target object to be live-streamed indicated by the query request, the target entity corresponding to the query request, and the attribute to be queried corresponding to the target entity.
[0028] Typically, the target object itself is considered as an entity. Therefore, the target entity corresponding to the query request is any entity other than the entity corresponding to the target object involved in the query request.
[0029] Upon receiving a request, you can inquire about the request's identifier, such as the live stream ID, to identify the target. For example, in a competitive game, the target could be "XXX vs YYY," where XXX and YYY represent the team names or club names of the two opposing teams, respectively.
[0030] In response to a query request, the query request can be parsed based on a preset parsing method (i.e., the standard operator template, {"find":"@domain@", "property":"@property@", "entity":"@entity@"}, where "@domain@" represents the subject of the target entity, "@property@" represents the target attribute, and "@entity@" represents the target entity) to obtain the target object, the target entity, and the attribute to be queried.
[0031] For example, if the query is "What is the height of xxx?", the parsed result is {"find":"player", "property":"height", "entity":"xxx"}.
[0032] Of course, the received query request can also be a statement based directly on the standard operator template, i.e., a statement implemented in the form of {"find":"@domain@", "property":"@property@", "entity":"@entity@"}. For example, {"find":"player", "property":"height", "entity":"xxx"} can directly determine that the subject of the target object is "player", the target object is "xxx", and the target attribute is "height".
[0033] Step S220: In the target knowledge graph corresponding to the target object, take the first entity corresponding to the target object as the search starting point, and search for the target entity based on the target relationship between the target entity and the first entity corresponding to the target object; determine the target attribute that matches the attribute to be queried among the first attributes of the target entity, and determine the target attribute value based on the attribute value of the target attribute.
[0034] Step S230: Based on the target attribute value, obtain the response result corresponding to the query request.
[0035] The target knowledge graph is generated based on at least one first entity determined from real-time data of the target object, the first relationship between each first entity, the first attribute corresponding to each first entity, and the attribute values of each first attribute corresponding to each first entity.
[0036] For a given data object, the name of each piece of real-time data for that object can be considered an entity within that object. The first relationship between these first entities is the relationship between the various pieces of real-time data of the target object.
[0037] For each entity, the data type in the real-time data corresponding to that entity is used as the entity's attribute, and the numerical value in the real-time data corresponding to that entity is used as the attribute value. Considering that multiple entities may correspond to data of the same data type, when describing an attribute, it is usually described as "an attribute specific to a specific entity".
[0038] Of course, in order to further enrich the target object's knowledge graph, basic data of the target object can also be obtained, such as some fixed descriptive information about the target object, so as to construct a target knowledge graph corresponding to the target object based on all the data associated with the current target object.
[0039] Taking a live-streamed competitive game as an example, the target knowledge graph for this competitive game can be a game knowledge graph. The real-time data of this competitive game can include the basic information of the currently live-streamed competitive game, the real-time game data of each team in the currently live-streamed competitive game (i.e., the game data of the game characters controlled by each team), and the real-time game data of the participating players (hereinafter referred to as players) in each team (i.e., the game data of the game characters controlled by each player).
[0040] The basic information of the currently live-streamed battle game can include battle information (e.g., XXX team vs. YYY team), the start time of the live stream (e.g., 2022-03-22 18:00), the location of the battle game (e.g., city A), and the live stream identifier (e.g., live stream number 1111).
[0041] A team's real-time game data can include the total number of kills, deaths, assists, and damage dealt by all the players on the team.
[0042] A player's real-time game data can include the number of kills, deaths, assists, and damage dealt by the game character controlled by that player.
[0043] The basic data of the target object may include the basic information of the two teams in the game currently being streamed, the basic information of each player in each team, the season game data of each team (i.e. the game data of the game characters controlled by each team member in the current season), and the season game data of each player in each team (i.e. the game data of the game characters controlled by each player in the current season in the game currently being streamed).
[0044] A team's basic information may include its name (such as the club it belongs to), home stadium, head coach, and founding date.
[0045] A player's basic information may include their name, nickname, date of birth, and the position of the game character they control. Positions may include: TOP (top lane, confrontation lane, etc.), jungle (jungle), mid (mid lane), ADC (bottom lane), support (support), etc.
[0046] A team's season game data can include the total number of kills, deaths, assists, and damage dealt by each member of the team in each game during the current season.
[0047] A player's season game data can include the total number of kills, total number of deaths, total number of assists, and total damage dealt by the game character controlled by that player in each game during the current season.
[0048] Based on the above data, the entities in this combat game and their corresponding attributes can be determined as follows: Match schedule information (corresponding to the basic information of the game being played in the current live stream), such as the XXX vs YYY match, includes the following attributes: match identifier (e.g., live stream number), start time, location, etc.
[0049] Team information (basic information of the two teams in the game being played in the current live stream): For example, XXX Club, which includes the following attributes: home stadium, head coach, team establishment time, etc.
[0050] Player information (corresponding to the basic information of team members in each team), such as player xxx, includes the following attributes: date of birth, position, name, etc.
[0051] Real-time team match data (corresponding to the real-time game data of each team in the current live game), such as the real-time data of team XXX in the game live stream with live stream number 1111, including the following attributes: kills, deaths, assists, etc.
[0052] Real-time player data (corresponding to the real-time game data of players in each team), such as the real-time data of player xxx in the game live stream with live stream number 1111, including the following attributes: number of kills, number of deaths, damage value, etc.
[0053] Team season (corresponding to the game data of each team in the season), such as the 2022 season data of team XXX, includes the following attributes: total kills, total deaths, total assists, etc.
[0054] Player season (corresponding to the season game data of each player in each team), such as player xxx's 2022 season data, includes the following attributes: total kills, total deaths, average damage per game (attack output intensity), economy (rewards obtained by the game character controlled by the participating player in the game, such as gold coins)...
[0055] Furthermore, among the aforementioned entities, the relationship between schedule information and team information refers to which side in the match (for example, in a typical competitive game, there are red and blue sides; the relationship between "XXX vs YYY" and "XXX team" can be represented by "red team"). When player xxx participates in the current match, the relationship between schedule information and player information is represented by "participating player". Similarly, "2022 season" represents the relationship between "xxx" and "player season", "affiliated club" represents the relationship between "participating player xxx" and "XXX club", "2022 season" represents the relationship between "XXX club" and "team season", "real-time data" represents the relationship between "xxx" and "player match in real-time", and "real-time data" represents the relationship between "XXX club" and "team match in real-time".
[0056] Taking the attribute "damage value of player xxx" as an example, if the damage value of player xxx is 10000, then the attribute value of this attribute can be determined to be "10000".
[0057] In the specific implementation process, the target knowledge graph can be generated and saved in different ways. After determining all the first entities of the target object, the first attributes corresponding to each first entity, and the attribute values of each first attribute corresponding to each first entity, a data relationship model between entities, relations, attributes, and attribute values can be constructed and saved to a relational database (such as MySQL). Specifically, it can be represented in the following format: Entity 1---Relation---Entity 2, Entity 1---Attribute---Attribute 1, thereby generating the target knowledge graph.
[0058] Alternatively, the first entity and attribute value can be used as nodes, and the first relationship and attribute value can be used as directed edges. Based on the method of connecting lines to form a graph, the first entities with relationships can be connected, and the first relationship between the two connected first entities can be represented by the line between the two connected first entities. Each entity can be connected with its corresponding attribute value, and the attribute corresponding to the entity can be represented by the line between the entity and the attribute value, thereby generating the target knowledge graph.
[0059] As an example, a graph can be constructed based on connecting lines, such as... Figure 3 The game knowledge graph shown.
[0060] When responding to an inquiry request, the search can begin in the target knowledge graph, starting with the first entity corresponding to the target object. The search path is determined based on the target relationship between the target entity and the first entity corresponding to the target object, continuing until the target entity is found. From the first attributes of that target entity, the target attribute matching the attribute to be queried is selected, and the attribute value of the target attribute is determined as the target attribute value corresponding to the inquiry request.
[0061] When obtaining the response to an inquiry request based on the target attribute value, the target attribute value can be used directly as the response result, or the specific confirmation method for determining the response result can be determined according to actual needs, thereby determining the response result.
[0062] Of course, if the target attribute value is not determined based on the target knowledge graph (i.e., reply_null), a preset response result regarding the lack of a found target attribute value can be directly output, such as "Output error" or "I checked, but I didn't find any relevant information." It should be noted that this preset response result can be set according to actual circumstances, and this application embodiment does not impose any restrictions on it. By setting preset response results, the interestingness of the response results can also be greatly enhanced.
[0063] In this embodiment, a target knowledge graph corresponding to the target object is generated by determining at least one first entity, the first relationship between each first entity, each first attribute of each first entity, and the attribute values corresponding to each first attribute of each first entity based on real-time data of the object being streamed (i.e., the target object). In response to a query request, the target object, target entity, and the attribute to be queried corresponding to the target entity indicated by the query request are determined. In the target knowledge graph corresponding to the target object, the target entity is searched based on the target relationship between the target entity and the first entity corresponding to the target object, using the first entity corresponding to the target object as the search starting point. The target attribute value is determined based on the attribute value of the target attribute. Based on the target attribute value, the response result corresponding to the query request is obtained. This allows for precise determination of the response result corresponding to the query request based on real-time data of the target object, achieving a "what is asked is what is answered" effect, reducing the number of interactions between the viewer and the live streaming end.
[0064] Optionally, the target knowledge graph is generated in the following way: Based on real-time data of the target object, at least one first entity, the first relationship between each first entity, each first attribute of each first entity, and the attribute values corresponding to each first attribute of each first entity are determined. Based on the first relationship between each first entity, the first entities with the first relationship are associated and stored; for each first entity, based on each first attribute of the first entity, the first entity and the attribute values of each first attribute corresponding to the first entity are associated and stored; thus, the target knowledge graph is obtained.
[0065] As described earlier, a data relationship model can be constructed between entities, relations, attributes, and attribute values. This model allows for the association and storage of the first entity with a first relation, and the association and storage of the first entity with the attribute values of each corresponding first attribute. This data can then be saved to a relational database (such as MySQL), thereby generating and storing the target knowledge graph. For example, when saving to MySQL, the corresponding storage method can be SQL statements.
[0066] Alternatively, the first entity and attribute value can be used as nodes, and the first relationship and attribute value can be used as directed edges. The target knowledge graph can be generated by connecting the nodes to form a graph, thereby generating and saving the target knowledge graph. For example, when storing based on neo4j, the corresponding storage method can be the Cypher statement.
[0067] Of course, the target knowledge graph can also be generated and saved using Gremlin statements based on JanusGraph (a distributed, open-source, and scalable graph database).
[0068] This method allows for the precise generation and storage of target knowledge graphs.
[0069] Optionally, the above method may further include: Based on a preset update frequency, obtain the updated data of the target object; Based on the updated data, determine the items to be updated; the items to be updated include at least one of the following: the first entity to be updated, the first relationship to be updated, the first attribute to be updated corresponding to any first entity, or the attribute value to be updated corresponding to any first attribute. Based on the storage method of the target knowledge graph, the item to be updated is converted into the item to be updated corresponding to the storage method; Based on the transformed items to be updated, the target knowledge graph is updated to obtain the updated target knowledge graph.
[0070] In practice, a higher preset update frequency results in a more real-time target knowledge graph, but also requires more data resources to generate and update it. Therefore, the preset update frequency can be set according to actual needs. For example, the preset update frequency can be set to 5-10 seconds.
[0071] By using a storage method based on the target knowledge graph, the items to be updated are converted into items corresponding to that storage method. Based on the converted items, the target knowledge graph is updated to obtain an updated target knowledge graph. Based on the updated target knowledge graph, the response result can be determined in real time, which can improve both real-time performance and the compatibility of the updated target knowledge graph.
[0072] Optionally, before searching for the target entity based on the target relationship between the target entity and the first entity corresponding to the target object, the process may further include: Based on the storage method of the target knowledge graph, the target object, target entity and query attribute are transformed respectively to obtain the transformed target object, transformed target entity and transformed query attribute corresponding to the storage method.
[0073] By transforming the target object, target entity, and query attribute based on the storage method of the target knowledge graph before searching for the target entity based on the target relationship between the target entity and the first entity corresponding to the target object, normalization processing of the target object, target entity, and query attribute can be achieved, enabling the processing of different forms of query requests received.
[0074] For example, taking the query request "What is the height of xxx?", the parsed result is {"find":"player", "property":"height", "entity":"xxx"}. If the target knowledge graph is stored in a relational database and the corresponding storage language is SQL, the result obtained after conversion is {select height fromplayer where name='xxx'}.
[0075] If the target knowledge graph is stored in Neo4j, the corresponding storage language is Cypher statements, and the result of the conversion is {match (e:player) where e.name='xxx' return e.height}.
[0076] Optionally, determining the target attribute that matches the query attribute among the first attributes of the target entity, and determining the target attribute value based on the attribute value of the target attribute, may include: When there is a query attribute among the first attributes of the target entity, the query attribute in the knowledge graph is determined as the target attribute, and the attribute value of the target attribute is determined as the target attribute value. When there is no query attribute among the first attributes of the target entity, the associated attribute of the query attribute in the target knowledge graph is determined as the target attribute, and the attribute value of the target attribute is transformed to obtain the target attribute value based on the association relationship between the query attribute and the associated attribute.
[0077] In this implementation, the attribute to be queried and its associated attribute can be different representations of the same attribute. For example, when the target entity is a contestant, the attribute to be queried can be the contestant's date of birth, and the associated attribute can be the contestant's age. This relationship can be represented as associated attribute = current date - attribute to be queried.
[0078] As an example, let's take a game team consisting of the red team (XXX team) and the blue team (YYY team) as an example, such as... Figure 4a In the scenario shown (the red team's bot laner (ADC) achieves a "pentakill" (killing the five blue team players' characters) during the game), to obtain the red team's ADC player's age, you can do so as follows: Figure 4b As shown, by triggering the voice input control in the current live broadcast interface, the question "How old is the red team's ADC player?" is obtained.
[0079] After the execution entity of this live Q&A method detects the query statement, it directly uses the game knowledge graph, taking "XXX team vs. YYY team" as the starting point, and based on the target relationship of "players", it finds the target entity "player information" corresponding to the "ADC" position. If it is determined that the query attribute "age" does not exist in the game knowledge graph, but the related attribute "date of birth" exists, it can convert the attribute value "January 1, 2004" corresponding to the date of birth based on the current time (e.g., February 1, 2022) to obtain the target attribute value "22 years old". The answer result is then displayed on the viewer's terminal as "The red team's ADC player is 22 years old" in a masked manner.
[0080] Of course, other attributes of the target entity can be further determined, such as name, team, major achievements, and playing position. Using the game knowledge graph, the name of the red team's ADC player can be determined as "xxx", team as "XXX", major achievement as "2021 Regular Season MVP", and playing position as "ADC". All this information can then be displayed as a chart on the overlay of the current live stream interface on the viewer's terminal, such as... Figure 4c As shown, "The red team's ADC player is 18 years old this year. The following is his detailed information: [Name: xxx][Date of birth: January 1, 2004][Team: XXX Club][Major achievement: 2021 Regular Season MVP][Position: ADC]."
[0081] This method allows for the determination of the correct response to a query request when the query attribute exists in the target knowledge graph. Alternatively, when the query attribute does not exist in the target knowledge graph, but a related attribute does, the target attribute value is obtained by converting the related attribute value into the correct response based on the relationship between the related attribute and the query attribute.
[0082] Optionally, the above method may further include: In response to an inquiry request, determine the type of inquiry indicated by the inquiry request; The response results obtained based on the target attribute value can include at least one of the following: If the query type is a query type, the target attribute value will be determined as the response result; If the query type is comparison type and the number of target entities includes at least two, the response result is determined based on the comparison results obtained from the target attribute values corresponding to each target entity. If the query type is a confirmation type, the response result is determined based on the comparison between the target attribute value and the preset attribute value.
[0083] When the query request is to determine the value of the attribute to be queried, the query type can be determined as a query type, and the response result can be determined based on the target attribute value in the manner described above.
[0084] When the query request is a request to compare the attribute values of the attribute to be queried, if the number of target entities includes at least two and the query type is a comparison type, i.e. a multi-entity comparison query, the target attribute value corresponding to each target entity can be determined in sequence, and the target attribute values corresponding to each target entity can be compared. Based on the comparison results, the response result can be determined.
[0085] For example, during a game, if viewers want to know which team's characters have higher damage output, which team has a higher ranking, and which team has a higher win rate, they can determine the damage output, ranking, and win rate for each player in turn, and then determine the answer based on the comparison results.
[0086] As another example, such as Figure 4a In the scenario shown, if you want to know which game character, controlled by "xxx" and "yyy", has higher damage output, you can do so as follows: Figure 5a As shown, by triggering the voice input control in the current live stream interface, the query "Who has higher damage value in this match, xxx or yyy?" is obtained. Based on the game knowledge graph corresponding to the game, the query can determine the damage value of the game characters controlled by players xxx and yyy in the current match, compare the two, identify the player with the higher damage value, and directly output "xxx's damage value is 12345, yyy's damage value is 8888, xxx's damage is higher."
[0087] Of course, since this target attribute is strongly correlated with the current game's damage, kills, deaths, assists, and economy, it's also possible to use the game knowledge graph to determine player xxx's damage "12345", kills "10", deaths "3", assists "5", and economy "12345", and player yyy's damage "8888", kills "8", deaths "4", assists "3", and economy "11111", and display all this information in a chart format on the overlay of the current live stream interface. For example... Figure 5bAs shown, the overlay on the current live stream interface displays "xxx's damage value is 12345, yyy's damage value is 8888, xxx's damage is slightly higher. The left side displays: [Name: xxx][Damage Value: 12345][Kills: 10][Deaths: 3][Assists: 5][Earn: 15000]; the right side displays: [Name: yyy][Damage Value: 8888][Kills: 8][Deaths: 4][Assists: 3][Earn: 11111]", making it easy for users to understand the in-game data of the two players being compared.
[0088] As another example, such as Figure 6a In the scenario shown, while the game characters corresponding to Team XXX are battling against the game characters corresponding to Team YYY, if you want to know Team XXX's ranking, you can do so as follows: Figure 6b As shown, by triggering the voice input control in the current live stream interface, a query request with the intent "What is the ranking of Team XXX?" is obtained. After the execution body of the live stream Q&A method detects the query statement, it directly outputs the answer result, "Team XXX ranked 3rd in the 2022 Spring Regular Season," either through voice broadcast or by displaying it through a mask, based on the target attribute in the query statement. Figure 6c As shown, you can also display the rankings of each team in the current season and highlight team XXX in the rankings to generate a response.
[0089] As another example, this method can also support higher-order reasoning queries, i.e., those requiring multiple comparisons, and can also be used as a comparison type, such as... Figure 7a In the scenario shown, after a team fight, viewers might want to know which player's character had the highest gold (i.e., the gold of all characters controlled by each player in the current match) or which player's character dealt the highest damage (i.e., the damage dealt by all characters controlled by each player in the current match). The following explanation uses the example of which player's character dealt the highest damage in the current match.
[0090] If a query request is received with the intent of "Who has the highest damage value in this match", the system can determine the damage value of the game characters controlled by each player in the current match based on the currently asked attribute (i.e., the target attribute) "damage value", sort them, determine the player "xxx" corresponding to the game character with the highest damage value, and directly output "In this ongoing XXX vs YYY match, xxx has the highest damage value".
[0091] Of course, since this target attribute is strongly correlated with data such as damage value, kill count, death count, economy, damage taken, team affiliation, and playing position in the current game, it is also possible to determine the player's damage value "23456", kill count "10", death count "2", economy "15000", damage taken "2000", team affiliation "XXX", and playing position "ADC" through the game knowledge graph, and display all information in the form of a chart on the overlay of the current live stream interface, such as... Figure 7b As shown, the overlay on the current live stream interface displays "In this ongoing XXX vs YYY match, XXX team's ADC xxx dealt the highest damage, reaching 23456. [Name: xxx][Damage: 12345][Kills: 10][Deaths: 2][Earn: 15000][Damage Taken: 2000]", making it easy for users to understand the player's in-game data.
[0092] When the query request is a request for the attribute value of the attribute to be queried, the query type can be determined to be a confirmation type. The preset attribute value can be the attribute value indicated by the query request or a pre-set attribute value. This application embodiment does not limit this.
[0093] For example, if the query request is "Has xxx's damage value reached 999?", then the query type can be determined to be a confirmation type, and the preset attribute value is 999. Based on the game's knowledge graph, after determining that the damage value of the game character controlled by player xxx is 12345, by comparing it with 999, it can be determined that xxx's damage value has reached 999, and the response result can be determined as "xxx's damage value has reached 999".
[0094] By determining the corresponding response based on different question types, the response results can be made more accurate, enriched, and more interesting.
[0095] Optionally, determining the target attribute value as the response result as described above may include: Determine the target type of the target attribute; Based on the target type and target attribute value, the response result is determined in any of the following ways: When the target type is type 1, the target attribute value is determined as the response result; When the target type is type 2, the level of the target attribute value is determined based on the target attribute value and the preset attribute value threshold corresponding to the target attribute; the response result is determined based on the target attribute value and the level of the target attribute value. When the target type is the third type, obtain the associated attribute values of the associated entities of the target entity for the target attribute; based on the target attribute value and the associated attribute value, determine the response result.
[0096] In this implementation, the type of an attribute can be determined based on whether the attribute value corresponding to an attribute is a fixed value (static data of the target object) or whether it is related to the real-time data of the target object (dynamic zero data of the target object).
[0097] Specifically, when an attribute has a fixed value and is unrelated to the real-time data of the target object, its type can be determined as first-order (1st_direct, i.e., a first-order general attribute). For example, the attribute value could be the target object's basic information, its schedule information, etc. The determined target attribute value can be directly used as the response result; for example, {property1} of {entity} is {result}.
[0098] When an attribute's value corresponds to real-time data of the target object, the target type can be determined to be a second type (1st_direct_property1, i.e., a first-order custom attribute). For example, the damage value or assist count of a hero controlled by a player. The level of the target attribute value can be determined based on a comparison between the target attribute value and a preset attribute value threshold. Therefore, based on the target attribute value and its state, the response result can be determined. The response result could be that {entity}'s {property1} has reached {result}, and the corresponding target attribute value's state is...
[0099] Taking damage values in a combat game as an example, after determining the damage value of a player's controlled character, the determined damage value is compared with a preset damage value threshold to determine the target attribute level, thereby determining the corresponding state of the game character. For example, if the preset damage value threshold is less than 5000, it can be determined as the first level, and the corresponding game character's state is "developing". If the preset damage value threshold is between 5000 and 12345, it can be determined as the second level, and the corresponding game character's state is "normal output". If the preset damage value threshold is greater than 12345, it can be determined as the third level, and the corresponding game character's state is "crazy output".
[0100] When the query request is "damage value of xxx in this match", it corresponds to the second type, specifically 1st_direct_damage. If the determined damage value of xxx is 12345, which is greater than 12345, it can be the third level. The corresponding game character's state is frantic output, and the output can be said to be frantically outputting damage to the target value of xxx that has reached 12345.
[0101] When an attribute's value corresponds to real-time data of the target object, and this attribute value is typically used as a comparison object, compared with the attribute value of another entity (i.e., a related entity) to predict the final state of the target object, the attribute type can be determined as the third type (numerical comparison, i.e., compare_num_diff). Therefore, the response result can be determined based on the comparison result between the related attribute value of the target entity's related entity and the target attribute value. For example, the response result could be "{entity1}'s {property} is {result1}, {entity2}'s {property} is {result2}, and {bigger}'s {property} is larger than {smaller}{great}."
[0102] Taking damage values in a battle game as an example, when the query request is "damage value of xxx in this match", after determining the damage value of the game character controlled by a certain player, it is also possible to determine, through the game knowledge graph, that the damage value of player yyy in the same position is 8888. Then the response result can be "player xxx's damage value in this match is 12345, player yyy's damage value is 8888, player xxx's damage value in this match is higher than player yyy's damage value".
[0103] Of course, we can further utilize the game knowledge graph to determine player xxx's kill count "10", death count "3", assist value "5", and gold "12345", and player yyy's kill count "8", death count "4", assist value "3", and gold "11111", and display all this information in the form of a chart on the overlay of the current live stream interface. For example... Figure 5b As shown, the overlay on the current live stream interface displays "xxx's damage value is 12345, and xxx's damage is higher. The left side shows: [Name: xxx][Damage value: 12345][Kills: 10][Deaths: 3][Assists: 5][Economy: 15000]; the right side shows: [Name: yyy][Damage value: 8888][Kills: 8][Deaths: 4][Assists: 3][Economy: 11111]".
[0104] By determining the response based on the target type and target attribute value, the response can be clearer and better match the user's inquiry intent.
[0105] This application also provides a live Q&A method, the execution entity of which can be a live Q&A device. This device can be a terminal or a server, used during a live broadcast to receive queries input by viewers, determine the target object, target entity, target attribute, etc., corresponding to the query, generate a query request based on the target object, target entity, target attribute, etc., and send it to the server, receiving and outputting the server's response based on the query request. Alternatively, this live Q&A method can also be implemented by a processor calling computer-readable instructions stored in memory.
[0106] like Figure 8 As shown, the method includes: Step S810: Obtain the query statement, and determine the target object to be broadcast, the target entity to be broadcast, and the target attribute to be broadcast.
[0107] The query can be obtained in response to a viewer's triggering of an input control on the viewer's terminal's user interface. Triggering this input control can display an input box or a voice input control (i.e., a Voice User Interface, allowing users to interact with the device via voice) on the viewer's terminal's user interface.
[0108] When an input field is displayed, the query statement can be obtained by capturing the user's input text. When a voice input control is displayed, the query statement can be obtained by capturing the user's voice input and converting it into query text.
[0109] Step S820: Generate an inquiry request based on the target object, target entity, and target attributes.
[0110] In this implementation, a query request can be generated based on the aforementioned standard operator template, the target object, the target entity, and the target attribute.
[0111] Step S830: Send an inquiry request to the server to instruct the server to obtain a response based on the inquiry request.
[0112] Specifically, the answer result can be obtained by combining the methods for determining the answer result in the above-mentioned live Q&A method.
[0113] Step S840: Receive and output the response result sent by the server.
[0114] After receiving the response from the server, the response can be output based on at least one of the following preset output methods: The response results will be read aloud. The response results are displayed overlaid on the user interface of the viewer's terminal; The response results are highlighted on the user interface of the viewer's terminal. For example, when dealing with ranking issues, the position of the current target entity in the ranking table can be highlighted.
[0115] This method allows for the creation of a target knowledge graph based on the audience's input queries, combined with real-time data of the target object during the live stream. This enables accurate responses to the audience's queries, enhancing the experience of the intelligent live stream Q&A system and achieving the effect of "the answer is what the text says." It also satisfies users' need to query the data of the live streamed object in real time, greatly improving the user's immersive and enjoyable live stream experience.
[0116] To more clearly illustrate the live Q&A method provided in the embodiments of this application, the following is combined with... Figure 9 , Figure 10 , Figure 11 , Figure 12 and Figure 13 Taking a live Q&A system consisting of a viewer terminal, a live streaming terminal (specifically including a real-time data module), and a live streaming server (specifically including a semantic parsing module, a knowledge Q&A service module, a knowledge graph proxy service module (CRUD operations), a knowledge graph storage module, and an update task module) as an example, and taking the query text "xxx's damage value in this match" as an example, the explanation for determining the answer result is as follows: The live Q&A process is primarily implemented through a viewer terminal, a semantic parsing module, a knowledge Q&A service module, a graph proxy service module, and a knowledge graph storage module, such as... Figure 9 and Figure 10 As shown, the details are as follows: Step 1: The audience terminal responds to the user's input operation on the input control in the user interface, obtains the user's input text "xxx damage value in this game", and sends the user's input text to the semantic parsing module.
[0117] Step 2: The semantic parsing module parses the user input text to obtain the semantic parsing result (domain + intent + parameters), specifically: [domain: videoGame], [intent: search_real_time], [parameters: player=xxx, item=damage]), and sends the semantic parsing result to the knowledge question answering service module.
[0118] Step 3: The knowledge question answering service module concatenates the semantic parsing results to obtain the standard query operator {"find":"player", "property":"damage", "entity":"xxx"} and the current competition ID
[1111] , and sends the standard query operator to the knowledge graph storage module.
[0119] Step 4: The graph proxy service module generates a query statement { select damage from player where name='xxx'} corresponding to the game knowledge graph based on the standard query operator and the storage method of the game knowledge graph corresponding to the current match ID
[1111] (e.g., relational database, corresponding SQL statement), and sends the database query statement to the game knowledge graph storage module.
[0120] Step 5: The knowledge graph storage module calls the game knowledge graph based on the database query statement, obtains the query results in the following way, and sends the query results to the graph proxy service module.
[0121] like Figure 11 (Horizontal fill portion) and Figure 12 As shown, the query results are obtained in the following way: Step (1) Locate the first entity corresponding to the target object, “XXX VS YYY match”, using the match ID; Step (2) Locate the player's competition entity through the "players on the field" relationship in the competition; Step (3) Filter out entities whose contestant's name is "xxx"; Step (4) The target attribute "damage value" is obtained through the entity "xxx" and the attribute value is "12345". Therefore, the final query result is "12345".
[0122] When secondary processing of the query results is required (e.g., attribute value conversion), you can refer to... Figure 13 The query methods shown.
[0123] Step 6: The graph proxy service module parses the query results to obtain standard data results {"answer":"12345", "property":"damage", "entity":"xxx"}, and sends the standard data results to the knowledge Q&A service module. Step 7: The knowledge Q&A service module generates the response "xxx's damage value in this match is 12345" based on the standard data results, and sends the response to the viewer's terminal to display the response on the viewer's terminal user interface.
[0124] The generation and updating process of the target knowledge graph is mainly implemented through the graph proxy service module, the knowledge graph storage module, the update task module, and the real-time data acquisition module, as detailed below: Step 8: Update the task module by sending a real-time data acquisition request to the real-time data acquisition module at a frequency of 5 seconds per instance (i.e., executed periodically via loop). The update task module can be either an offline or online update task module; this embodiment does not impose any limitation on this.
[0125] Step 9: The real-time data module sends the real-time data of the target object to the update task module.
[0126] Step 10: The update task module processes the real-time data of the target object based on the standard format corresponding to the standard query operator, and sends the processed standard data to the graph proxy service module.
[0127] Step 11: The graph proxy service module determines the items to be updated based on the processed standard write operator, and converts the items to be updated into database write statements corresponding to the storage method of the target knowledge graph based on the storage method of the target knowledge graph, and updates and saves the database write statements to the game knowledge graph in the knowledge graph storage module.
[0128] Based on the same principle as the first live Q&A method provided in the embodiments of this application, the embodiments of this application also provide a live Q&A device. For example... Figure 14 As shown, the device 140 includes: The query request response module 141 is used to respond to the query request and determine the target object to be live-streamed indicated by the query request, the target entity corresponding to the query request, and the attribute to be queried corresponding to the target entity. The target attribute value determination module 142 is used to search for the target entity in the target knowledge graph corresponding to the target object, taking the first entity corresponding to the target object as the search starting point, based on the target relationship between the target entity and the first entity corresponding to the target object; determine the target attribute that matches the attribute to be queried among the first attributes of the target entity, and determine the target attribute value based on the attribute value of the target attribute; The response result determination module 143 is used to obtain the response result corresponding to the query request based on the target attribute value.
[0129] The target knowledge graph is generated based on at least one first entity determined from real-time data of the target object, the first relationship between each first entity, the first attribute corresponding to each first entity, and the attribute values of each first attribute corresponding to each first entity.
[0130] Optionally, when the target attribute value determination module 142 determines the target attribute that matches the query attribute among the first attributes of the target entity, and determines the target attribute value based on the attribute value of the target attribute, it can be specifically used for: When there is a query attribute among the first attributes of the target entity, the query attribute in the knowledge graph is determined as the target attribute, and the attribute value of the target attribute is determined as the target attribute value. When there is no query attribute among the first attributes of the target entity, the associated attribute of the query attribute in the target knowledge graph is determined as the target attribute, and the attribute value of the target attribute is transformed to obtain the target attribute value based on the association relationship between the query attribute and the associated attribute.
[0131] Optionally, the query request response module 141 described above can also be used for: In response to an inquiry request, determine the type of inquiry indicated by the inquiry request; When the response result determination module 143 obtains the response result corresponding to the query request based on the target attribute value, it can specifically perform at least one of the following operations: If the query type is a query type, the target attribute value will be determined as the response result; If the query type is comparison type and the number of target entities includes at least two, the response result is determined based on the comparison results obtained from the target attribute values corresponding to each target entity. If the query type is a confirmation type, the response result is determined based on the comparison between the target attribute value and the preset attribute value.
[0132] Optionally, when determining the target attribute value as the response result, the above-mentioned response result determination module 143 can be specifically used for: Determine the target type of the target attribute; Based on the target type and target attribute value, the response result is determined in any of the following ways: When the target type is type 1, the target attribute value is determined as the response result; When the target type is type 2, the level of the target attribute value is determined based on the target attribute value and the preset attribute value threshold corresponding to the target attribute; the response result is determined based on the target attribute value and the level of the target attribute value. When the target type is the third type, obtain the associated attribute values of the associated entities of the target entity for the target attribute; based on the target attribute value and the associated attribute value, determine the response result.
[0133] Optionally, before searching for the target entity based on the target relationship between the target entity and the first entity corresponding to the target object, the target attribute value determination module 142 may also be used for: Based on the storage method of the target knowledge graph, the target object, target entity and query attribute are transformed respectively to obtain the transformed target object, transformed target entity and transformed query attribute corresponding to the storage method.
[0134] Optionally, the above apparatus may further include a target knowledge graph generation module, which generates a target knowledge graph in the following manner: Based on real-time data of the target object, at least one first entity, the first relationship between each first entity, each first attribute of each first entity, and the attribute values corresponding to each first attribute of each first entity are determined. Based on the first relationship between each first entity, the first entities with the first relationship are associated and stored; for each first entity, based on each first attribute of the first entity, the first entity and the attribute values of each first attribute corresponding to the first entity are associated and stored; thus, the target knowledge graph is obtained.
[0135] Optionally, the aforementioned target knowledge graph generation module can also be used for: Based on a preset update frequency, obtain the updated data of the target object; Based on the updated data, determine the items to be updated; the items to be updated include at least one of the following: the first entity to be updated, the first relationship to be updated, the first attribute to be updated corresponding to any first entity, or the attribute value to be updated corresponding to any first attribute. Based on the storage method of the target knowledge graph, the item to be updated is converted into the item to be updated corresponding to the storage method; Based on the transformed items to be updated, the target knowledge graph is updated to obtain the updated target knowledge graph.
[0136] The apparatus in this application embodiment can execute the method provided in this application embodiment, and the implementation principle is similar. The actions performed by each module in the apparatus of each embodiment of this application correspond to the steps in the method of each embodiment of this application. For detailed functional descriptions of each module of the apparatus, please refer to the descriptions in the corresponding methods shown above, which will not be repeated here.
[0137] In this embodiment, a target knowledge graph corresponding to the target object is generated by determining at least one first entity, the first relationship between each first entity, each first attribute of each first entity, and the attribute values corresponding to each first attribute of each first entity based on real-time data of the object being streamed (i.e., the target object). In response to a query request, the target object, target entity, and the attribute to be queried corresponding to the target entity indicated by the query request are determined. In the target knowledge graph corresponding to the target object, the target entity is searched based on the target relationship between the target entity and the first entity corresponding to the target object, using the first entity corresponding to the target object as the search starting point. The target attribute value is determined based on the attribute value of the target attribute. Based on the target attribute value, the response result corresponding to the query request is obtained. This allows for precise determination of the response result corresponding to the query request based on real-time data of the target object, achieving a "what is asked is what is answered" effect, reducing the number of interactions between the viewer and the live streaming end.
[0138] Based on the same principle as the second live Q&A method provided in the embodiments of this application, the embodiments of this application also provide a live Q&A device, such as... Figure 15 As shown, the device 150 includes: The query statement acquisition module 151 is used to acquire query statements, determine the target object to be broadcast corresponding to the query statement, the target entity to be broadcast corresponding to the query statement, and the target entity to be broadcast corresponding to the target entity. The query request generation module 152 is used to generate query requests based on the target object, target entity, and target attribute. The query request sending module 153 is used to send an query request to the server to instruct the server to obtain a response result based on the query request; The response result receiving module 154 is used to receive and output the response result sent by the server.
[0139] The apparatus in this application embodiment can execute the method provided in this application embodiment, and the implementation principle is similar. The actions performed by each module in the apparatus of each embodiment of this application correspond to the steps in the method of each embodiment of this application. For detailed functional descriptions of each module of the apparatus, please refer to the descriptions in the corresponding methods shown above, which will not be repeated here.
[0140] This method allows for the creation of a target knowledge graph based on the audience's input queries, combined with real-time data of the target object during the live stream. This enables accurate responses to the audience's queries, enhancing the experience of the intelligent live stream Q&A system and achieving the effect of "the answer is what the text says." It also satisfies users' need to query the data of the live streamed object in real time, greatly improving the user's immersive and enjoyable live stream experience.
[0141] Based on the same principle as the live Q&A method and apparatus provided in the embodiments of this application, the embodiments of this application also provide an electronic device (such as a server). The electronic device may include a memory, a processor, and a computer program stored in the memory. The processor executes the computer program to implement the method provided in any optional embodiment of this application, specifically, it may execute live Q&A method one or live Q&A method two.
[0142] The first method for live Q&A is: In response to an inquiry request, determine the target object indicated by the inquiry request, the target entity corresponding to the inquiry request, and the attribute to be inquired for the target entity; the target object is the object being live-streamed. In the target knowledge graph corresponding to the target object, the first entity corresponding to the target object is used as the search starting point. The target entity is searched based on the target relationship between the target entity and the first entity corresponding to the target object. The target attribute that matches the attribute to be queried among the first attributes of the target entity is determined, and the target attribute value is determined based on the attribute value of the target attribute. Based on the target attribute value, the response result corresponding to the query request is obtained; The target knowledge graph is generated based on at least one first entity determined from real-time data of the target object, the first relationship between each first entity, the first attribute corresponding to each first entity, and the attribute values of each first attribute corresponding to each first entity.
[0143] The method, executed by a processor, generates a target knowledge graph corresponding to the target object by generating at least one first entity, first relationships between first entities, first attributes of each first entity, and attribute values corresponding to each first attribute of each first entity, based on real-time data of the object being streamed (i.e., the target object). In response to a query request, it determines the target object, target entity, and the attribute to be queried corresponding to the target entity indicated by the query request. Within the target knowledge graph corresponding to the target object, using the first entity corresponding to the target object as the search starting point, it searches for the target entity based on the target relationship between the target entity and the first entity corresponding to the target object, and determines the target attribute value based on the attribute value of the target attribute. Based on the target attribute value, it obtains the response result corresponding to the query request. This method, based on real-time data of the target object, can accurately determine the response result corresponding to the query request, achieving a "question-asked, answer-asked" effect, reducing the number of interactions between the viewer and the live streaming end.
[0144] The second method for live Q&A is: Retrieve the query statement, determine the target object corresponding to the query statement, the target entity corresponding to the query statement, and the target attribute corresponding to the target entity; the target object is the object being streamed. Generate an inquiry request based on the target object, target entity, and target attributes; Send an inquiry request to the server to instruct the server to obtain a response based on the inquiry request; Receive and output the response results sent by the server.
[0145] By executing this method through a processor, a target knowledge graph can be built based on the questions entered by the audience and combined with the real-time data of the target object during the live broadcast. This allows for accurate responses to the questions entered by the audience, improving the experience of the intelligent live broadcast question-and-answer system and achieving the effect of "the answer is what the text says." It also satisfies users' need to query the data of the live broadcast object in real time, greatly enhancing the user's immersive and enjoyable live broadcast experience.
[0146] See Figure 16 , Figure 16 A schematic diagram of the structure of an electronic device provided in an embodiment of this application is shown. Figure 16 As shown, the electronic device 1600 in this embodiment may include: a processor 1601, a network interface 1604, and a memory 1605. Furthermore, the electronic device 1600 may also include: an object interface 1603, and at least one communication bus 1602. The communication bus 1602 is used to implement communication between these components. The object interface 1603 may include a display screen and a keyboard; optionally, the object interface 1603 may also include a standard wired interface or a wireless interface. The network interface 1604 may optionally include a standard wired interface or a wireless interface (such as a Wi-Fi interface). The memory 1605 may be a high-speed RAM or non-volatile memory (NVM), such as at least one disk storage device. Optionally, the memory 1605 may also be at least one storage device located remotely from the aforementioned processor 1601. Figure 16 As shown, the memory 1605, which is a computer-readable storage medium, may include an operating system, a network communication module, an object interface module, and a device control application.
[0147] exist Figure 16 In the illustrated electronic device 1600, the network interface 1604 provides network communication functionality; the object interface 1603 is primarily used to provide an input interface for objects; and the processor 1601 can be used to call the device control application stored in the memory 1605 to achieve: In some feasible implementations, the processor 1601 described above is used for: It should be understood that in some feasible implementations, the processor 1601 described above may be a central processing unit (CPU), which may also be other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor. The memory may include read-only memory and random access memory, and provides instructions and data to the processor. A portion of the memory may also include non-volatile random access memory. For example, the memory may also store device type information.
[0148] In specific implementation, the aforementioned electronic device 1600 can perform the above-described actions through its built-in functional modules. Figure 2 or Figure 8 The implementation methods provided for each step are detailed in the above-mentioned implementation methods and will not be repeated here.
[0149] This application also provides a computer-readable storage medium storing a computer program that is executed by a processor to perform... Figure 2 or Figure 8 The methods provided in each step are detailed in the implementation methods provided in the above steps, and will not be repeated here.
[0150] The aforementioned computer-readable storage medium can be an internal storage unit of the live Q&A device or electronic device provided in any of the foregoing embodiments, such as a hard disk or memory of the electronic device. The computer-readable storage medium can also be an external storage device of the electronic device, such as a plug-in hard disk, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the electronic device. The aforementioned computer-readable storage medium can also include magnetic disks, optical disks, read-only memory (ROM), or random access memory (RAM), etc. Furthermore, the computer-readable storage medium can include both internal storage units and external storage devices of the electronic device. The computer-readable storage medium is used to store the computer program and other programs and data required by the electronic device. The computer-readable storage medium can also be used to temporarily store data that has been output or will be output.
[0151] This application provides a computer program product, which includes a computer program that is executed by a processor. Figure 2 or Figure 8 The methods provided for each step in the process.
[0152] The terms "first," "second," etc., in the claims, description, and drawings of this application are used to distinguish different objects, rather than to describe a specific order.
[0153] Furthermore, those skilled in the art will understand that, unless specifically stated otherwise, the singular forms “a,” “an,” “the,” and “the” used herein may also include the plural forms. The terms “comprising” and “having,” and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or electronic device that includes a series of steps or units is not limited to the steps or units listed, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to such process, method, product, or electronic device.
[0154] The reference to "embodiment" herein means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The inclusion of this phrase in various locations throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments. The term "and / or" as used in this specification and the appended claims means, and includes, any combination of one or more of the associated listed items and all possible combinations.
[0155] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Those skilled in the art can implement the described functions using different methods for each specific application, but such implementations should not be considered beyond the scope of this application.
[0156] The above-disclosed embodiments are merely preferred embodiments of this application and should not be construed as limiting the scope of this application. Therefore, any equivalent variations made in accordance with the claims of this application shall still fall within the scope of this application.
Claims
1. A live Q&A method, characterized in that, The method includes: In response to an inquiry request, determine the target object to be live-streamed indicated by the inquiry request, the target entity corresponding to the inquiry request, and the attribute to be inquired corresponding to the target entity; In the target knowledge graph corresponding to the target object, the first entity corresponding to the target object is used as the search starting point. The target entity is searched based on the target relationship between the target entity and the first entity corresponding to the target object. When the query attribute exists in each of the first attributes of the target entity, the query attribute in the target knowledge graph is determined as the target attribute, and the attribute value of the target attribute is determined as the target attribute value. When the query attribute does not exist in each of the first attributes of the target entity, the associated attribute of the query attribute in the target knowledge graph is determined as the target attribute, and the attribute value of the target attribute is transformed to obtain the target attribute value based on the association relationship between the query attribute and the associated attribute. The query attribute and the associated attribute of the query attribute are different representations of the same attribute. Based on the target attribute value and the attribute value corresponding to at least one other first attribute of the target entity other than the target attribute, the response result corresponding to the query request is obtained and displayed in a preset display mode. The target knowledge graph is generated based on at least one first entity determined from the real-time data of the target object, the first relationship between each first entity, each first attribute of each first entity, and the attribute values corresponding to each first attribute of each first entity. The preset display method includes at least one of the following: By using a masking method, the attribute values corresponding to the other first attributes are displayed in the form of a chart below the target attribute value; When the target attribute value indicates ranking information, the ranking table corresponding to the ranking information is displayed on the current live broadcast interface, and the attribute values of the target object contained in the ranking table are highlighted.
2. The method according to claim 1, characterized in that, The above methods also include: In response to the inquiry request, determine the type of inquiry indicated by the inquiry request; The step of obtaining the response result corresponding to the query request based on the target attribute value includes at least one of the following: If the query type is a query type, the target attribute value is determined as the response result; If the query type is a comparison type and the number of target entities includes at least two, the response result is determined based on the comparison result obtained from the target attribute values corresponding to each target entity. If the query type is a confirmation type, the response result is determined based on the result obtained by comparing the target attribute value with the preset attribute value.
3. The method according to claim 2, characterized in that, The step of determining the target attribute value as the response result includes: Determine the target type of the target attribute; Based on the target type and the target attribute value, the response result is determined in any of the following ways: When the target type is the first type, the target attribute value is determined as the response result; When the target type is the second type, the level of the target attribute value is determined based on the target attribute value and the preset attribute value threshold corresponding to the target attribute; the response result is determined based on the target attribute value and the level of the target attribute value. When the target type is the third type, obtain the associated attribute value of the associated entity of the target entity for the target attribute; determine the response result based on the target attribute value and the associated attribute value.
4. The method according to claim 1, characterized in that, Before searching for the target entity based on the target relationship between the target entity and the first entity corresponding to the target object, the method further includes: Based on the storage method of the target knowledge graph, the target object, the target entity, and the query attribute are transformed respectively to obtain the transformed target object, the transformed target entity, and the transformed query attribute corresponding to the storage method.
5. The method according to claim 1, characterized in that, The target knowledge graph is generated in the following way: Based on the real-time data of the target object, at least one first entity, a first relationship between each first entity, each first attribute of each first entity, and attribute values corresponding to each first attribute of each first entity are determined. Based on the first relationship between each first entity, the first entities with the first relationship are associated and stored; for each first entity, based on each first attribute of the first entity, the first entity and the attribute values corresponding to each first attribute of the first entity are associated and stored. The target knowledge graph is obtained.
6. The method according to claim 1 or 5, characterized in that, The method further includes: The first entity and the attribute value of the first attribute are used as nodes, and the first relationship and the attribute value of the first attribute are used as directed edges. Based on the method of connecting lines to form a graph, the first entities that have the first relationship are connected, and the first relationship between the two connected first entities is represented by the line connecting the two connected first entities. Each first entity is connected to its corresponding attribute value, and the connection between the first entity and the attribute value is used to represent the correspondence between the first entity and the attribute value, thereby generating the target knowledge graph.
7. The method according to claim 5, characterized in that, The method further includes: Based on a preset update frequency, obtain the updated data of the target object; Based on the updated data, items to be updated are determined; the items to be updated include at least one of the following: a first entity to be updated, a first relationship to be updated, a first attribute to be updated corresponding to any of the first entities, or an attribute value to be updated corresponding to any of the first attributes; Based on the storage method of the target knowledge graph, the item to be updated is converted into an item to be updated corresponding to the storage method; Based on the transformed items to be updated, the target knowledge graph is updated to obtain the updated target knowledge graph.
8. A live Q&A method, characterized in that, include: Obtain the query statement, and determine the target object to be broadcast, the target entity to be broadcast, and the target attribute to be broadcast; Based on the target object, the target entity, and the target attribute, generate an inquiry request; The query request is sent to the server to instruct the server to obtain a response based on the query request; wherein, in response to the query request, the server determines the target object to be broadcast indicated by the query request, the target entity corresponding to the query request, and the attribute to be queried corresponding to the target entity; in the target knowledge graph corresponding to the target object, the target entity is searched based on the target relationship between the target entity and the first entity corresponding to the target object, using the first entity corresponding to the target object as the search starting point; when the attribute to be queried exists in each of the first attributes of the target entity, the attribute to be queried in the target knowledge graph is determined as the target attribute, and... The attribute value of the target attribute is determined as the target attribute value; when the attribute to be queried does not exist in any of the first attributes of the target entity, the associated attribute of the attribute to be queried in the target knowledge graph is determined as the target attribute, and the attribute value of the target attribute is transformed to obtain the target attribute value based on the association relationship between the attribute to be queried and the associated attribute; the attribute to be queried and the associated attribute of the attribute to be queried are different manifestations of the same attribute; based on the target attribute value and the attribute value corresponding to at least one other first attribute of the target entity other than the target attribute, the response result corresponding to the query request is obtained and displayed in a preset display mode; Receive and output the response result sent by the server in a preset display manner; The preset display method includes at least one of the following: By using a masking method, the attribute values corresponding to the other first attributes are displayed in the form of a chart below the target attribute value; When the target attribute value indicates ranking information, the ranking table corresponding to the ranking information is displayed on the current live broadcast interface, and the attribute values of the target object contained in the ranking table are highlighted. The target knowledge graph is generated based on at least one first entity determined from the real-time data of the target object, the first relationship between each first entity, each first attribute of each first entity, and the attribute values corresponding to each first attribute of each first entity.
9. A live Q&A device, characterized in that, The device includes: The query request response module is used to respond to a query request and determine the target object to be live-streamed indicated by the query request, the target entity corresponding to the query request, and the attribute to be queried corresponding to the target entity. The target attribute value determination module is used to search for the target entity in the target knowledge graph corresponding to the target object, starting from the first entity corresponding to the target object, based on the target relationship between the target entity and the first entity corresponding to the target object; when the query attribute exists in each of the first attributes of the target entity, the query attribute in the target knowledge graph is determined as the target attribute, and the attribute value of the target attribute is determined as the target attribute value; when the query attribute does not exist in each of the first attributes of the target entity, the associated attribute of the query attribute in the target knowledge graph is determined as the target attribute, and the attribute value of the target attribute is converted to obtain the target attribute value based on the association relationship between the query attribute and the associated attribute; the query attribute and the associated attribute of the query attribute are different manifestations of the same attribute; The response result determination module is used to obtain the response result corresponding to the query request and display it in a preset display mode based on the target attribute value and the attribute value corresponding to at least one other first attribute of the target entity other than the target attribute; The target knowledge graph is generated based on at least one first entity determined from the real-time data of the target object, the first relationship between each first entity, each first attribute of each first entity, and the attribute values corresponding to each first attribute of each first entity. The preset display method includes at least one of the following: By using a masking method, the attribute values corresponding to the other first attributes are displayed in the form of a chart below the target attribute value; When the target attribute value indicates ranking information, the ranking table corresponding to the ranking information is displayed on the current live broadcast interface, and the attribute values of the target object contained in the ranking table are highlighted.
10. The apparatus according to claim 9, characterized in that, The query request response module is also used for: In response to the inquiry request, determine the type of inquiry indicated by the inquiry request; When the response result determination module obtains the response result corresponding to the inquiry request based on the target attribute value, it performs at least one of the following operations: If the query type is a query type, the target attribute value is determined as the response result; If the query type is a comparison type and the number of target entities includes at least two, the response result is determined based on the comparison result obtained from the target attribute values corresponding to each target entity. If the query type is a confirmation type, the response result is determined based on the result obtained by comparing the target attribute value with the preset attribute value.
11. The apparatus according to claim 10, characterized in that, When determining the target attribute value as the response result, the response result determination module is used to: Determine the target type of the target attribute; Based on the target type and the target attribute value, the response result is determined in any of the following ways: When the target type is the first type, the target attribute value is determined as the response result; When the target type is the second type, the level of the target attribute value is determined based on the target attribute value and the preset attribute value threshold corresponding to the target attribute. The response result is determined based on the target attribute value and the level of the target attribute value; When the target type is the third type, obtain the associated attribute value of the associated entity of the target entity for the target attribute; The response result is determined based on the target attribute value and the associated attribute value.
12. The apparatus according to claim 9, characterized in that, Before the target attribute value determination module searches for the target entity based on the target relationship between the target entity and the first entity corresponding to the target object, it is further configured to: Based on the storage method of the target knowledge graph, the target object, the target entity, and the query attribute are transformed respectively to obtain the transformed target object, the transformed target entity, and the transformed query attribute corresponding to the storage method.
13. The apparatus according to claim 9, characterized in that, The device further includes a target knowledge graph generation module, used for: Based on the real-time data of the target object, at least one first entity, a first relationship between each first entity, each first attribute of each first entity, and attribute values corresponding to each first attribute of each first entity are determined. Based on the first relationship between each first entity, the first entities with the first relationship are associated and stored; for each first entity, based on each first attribute of the first entity, the first entity and the attribute values corresponding to each first attribute of the first entity are associated and stored. The target knowledge graph is obtained.
14. The apparatus according to claim 9 or 13, characterized in that, The device further includes a target knowledge graph generation module, used for: The first entity and the attribute value of the first attribute are used as nodes, and the first relationship and the attribute value of the first attribute are used as directed edges. Based on the method of connecting lines to form a graph, the first entities that have the first relationship are connected, and the first relationship between the two connected first entities is represented by the line connecting the two connected first entities. Each first entity is connected to its corresponding attribute value, and the connection between the first entity and the attribute value is used to represent the correspondence between the first entity and the attribute value, thereby generating the target knowledge graph.
15. The apparatus according to claim 13, characterized in that, The target knowledge graph generation module is also used for: Based on a preset update frequency, obtain the updated data of the target object; Based on the updated data, items to be updated are determined; the items to be updated include at least one of the following: a first entity to be updated, a first relationship to be updated, a first attribute to be updated corresponding to any of the first entities, or an attribute value to be updated corresponding to any of the first attributes; Based on the storage method of the target knowledge graph, the item to be updated is converted into an item to be updated corresponding to the storage method; Based on the transformed items to be updated, the target knowledge graph is updated to obtain the updated target knowledge graph.
16. A live Q&A device, characterized in that, include: The query statement acquisition module is used to acquire query statements, determine the target object to be broadcast corresponding to the query statement, the target entity corresponding to the query statement, and the target attribute corresponding to the target entity; The query request generation module is used to generate a query request based on the target object, the target entity, and the target attribute; An inquiry request sending module is used to send the inquiry request to a server to instruct the server to obtain a response result based on the inquiry request; wherein, in response to the inquiry request, the server determines the target object to be broadcast indicated by the inquiry request, the target entity corresponding to the inquiry request, and the attribute to be inquired corresponding to the target entity; in the target knowledge graph corresponding to the target object, using the first entity corresponding to the target object as the search starting point, the server searches for the target entity based on the target relationship between the target entity and the first entity corresponding to the target object; when the attribute to be inquired exists in each of the first attributes of the target entity, the attribute to be inquired in the target knowledge graph is determined as the target entity. The system identifies the target attribute and determines its value as the target attribute value. When the attribute to be queried is not present in any of the first attributes of the target entity, the associated attribute of the attribute to be queried in the target knowledge graph is identified as the target attribute. Based on the association between the attribute to be queried and the associated attribute, the attribute value of the target attribute is transformed to obtain the target attribute value. The attribute to be queried and the associated attribute are different representations of the same attribute. Based on the target attribute value and the attribute value corresponding to at least one other first attribute of the target entity (excluding the target attribute), a response result corresponding to the query request is obtained and displayed using a preset display method. The response result receiving module is used to receive the response result sent by the server and output it in a preset display mode; The preset display method includes at least one of the following: By using a masking method, the attribute values corresponding to the other first attributes are displayed in the form of a chart below the target attribute value; When the target attribute value indicates ranking information, the ranking table corresponding to the ranking information is displayed on the current live broadcast interface, and the attribute values of the target object contained in the ranking table are highlighted. The target knowledge graph is generated based on at least one first entity determined from the real-time data of the target object, the first relationship between each first entity, each first attribute of each first entity, and the attribute values corresponding to each first attribute of each first entity.
17. An electronic device, characterized in that, It includes a processor and a memory, which are interconnected; The memory is used to store computer programs; The processor is configured to execute the method of any one of claims 1 to 7 or claim 8 when the computer program is invoked.
18. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the method of any one of claims 1 to 7 or claim 8.
19. A computer program product, characterized in that, The computer program product includes a computer program that, when executed by a processor, implements the method described in any one of claims 1 to 7 or claim 8.
Citation Information
Patent Citations
Live broadcast question-answering method and device
CN111680133A
E-commerce live broadcast real-time question answering system and method based on knowledge base
CN114090759A
Information processing method and device in live broadcast, electronic equipment and storage medium
CN114817488A