Knowledge base construction, question-answering method, computing device and computer-readable storage medium
By building a question-and-answer knowledge base for basic software, problems that are difficult to quickly and accurately retrieve questions in the existing technology are solved, and efficient and accurate problem solving and cost reduction are achieved.
Patent Information
- Application Number
- CN202411905507.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-23
- Publication Date
- 2025-05-02
- Estimated Expiration
- 2044-12-23
AI Technical Summary
It is difficult for the existing technology to quickly and accurately retrieve relevant solutions from massive data to solve the problems of basic software, resulting in relying on field experts, which is inefficient and cost-effective.
By obtaining multiple sample web page content for the basic software, extracting sample metric information and sample problem descriptions, building structured knowledge entries, and integrating these entries to form a comprehensive and accurate Q&A knowledge base.
Significantly reduce the dependence on field experts, improve the efficiency and accuracy of problem solving, reduce costs, and provide developers and users with a platform for independent search and answers to questions.
Smart Images

Figure CN119357333B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of this specification relate to the field of information processing technology, and in particular to a knowledge base construction, a question-answering method, a computing device, and a computer-readable storage medium. Background Art
[0002] In computer systems, the stability of the underlying infrastructure often depends on the basic software above the operating system and below the application program. These basic software directly interact with the hardware or serve as the basic platform for higher-level applications. Without the support of these basic software, many complex applications cannot work properly on the operating system. For example, database management systems (such as MySQL, Oracle, SQL Server), middleware, programming languages and compilers / interpreters (such as Java, Python, C++), security software (such as firewalls, antivirus software), network communication protocol stacks, artificial intelligence infrastructure (such as pytorch), etc.
[0003] At present, solving basic software problems generally relies on domain experts, which places extremely high demands on the professional capabilities of domain experts, and is inefficient and costly. In fact, basic software generally comes from an open source environment. There is a wealth of data on the problems and answers to basic software in the open source community or related technical forums. In addition, the current version iteration of the basic software used on the computer system is often lagging behind the latest open source version. The problems of the current version of the basic software have actually been answered in the open source community or related technical forums. Therefore, the difficulty lies in how to quickly and accurately retrieve relevant answers from massive data to solve the problems of the basic software. Summary of the invention
[0004] In view of this, an embodiment of this specification provides a knowledge base construction method. One or more embodiments of this specification also involve a question-answering method, a knowledge base construction device, a question-answering device, a computing device, a computer-readable storage medium, and a computer program product to solve the technical defects existing in the prior art.
[0005] The present invention provides a method for building a knowledge base, including:
[0006] Obtaining sample web page contents of a plurality of sample web pages for question and answering about the basic software;
[0007] Extracting sample indicator information and sample problem descriptions from sample web page contents of the plurality of sample web pages, wherein the sample indicator information includes at least one of a sample performance indicator of basic software and a sample performance analysis indicator of the basic software;
[0008] Using sample indicator information and sample problem description as entry keys of multiple sample web pages, knowledge entries of multiple sample web pages are constructed;
[0009] Integrate multiple knowledge items to obtain a question-and-answer knowledge base for basic software.
[0010] From the sample web page contents of multiple sample web pages for question and answer on basic software, sample indicator information of basic software is extracted. Since the sample indicator information includes at least one of sample performance indicators of basic software and sample performance analysis indicators of basic software, both sample performance indicators of basic software and sample performance analysis indicators of basic software can provide in-depth analysis relied upon for answering questions about basic software, thereby helping developers and users to provide analysis paths relied upon for execution performance analysis based on the execution of the basic software itself, more accurately locate the root cause of the problem to determine the appropriate answer, and on this basis and using the extracted sample problem descriptions as entry keys for constructing knowledge entries, structured and accurate knowledge entries are constructed, and multiple structured and accurate knowledge entries are integrated to construct a structured, comprehensive and accurate basic software question and answer knowledge base, which greatly reduces dependence on domain experts, improves the efficiency and accuracy of problem solving, reduces costs, and provides a platform for developers and users to independently retrieve answers to questions. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] Figure 1 is a flow chart of a knowledge base construction method provided by an embodiment of this specification;
[0012] Figure 2 It is a schematic diagram of a process for screening question answering data in a knowledge base construction method provided in one embodiment of the present specification;
[0013] Figure 3 It is a flowchart of a knowledge base construction method provided by an embodiment of this specification;
[0014] Figure 4 is a flow chart of a question-and-answer method provided by an embodiment of this specification;
[0015] Figure 5 It is a flowchart of a knowledge base construction and question-answering method provided by an embodiment of this specification;
[0016] Figure 6 It is a process flow chart of a knowledge base construction method applied to the Linux kernel field provided by an embodiment of this specification;
[0017] Figure 7 It is a structural schematic diagram of a knowledge base construction device provided by an embodiment of this specification;
[0018] Figure 8 is a structural schematic diagram of a question-and-answer device provided by an embodiment of this specification;
[0019] Fig. 9 It is a structural block diagram of a computing device provided by an embodiment of this specification. DETAILED DESCRIPTION
[0020] Many specific details are described in the following description to facilitate a full understanding of this specification. However, this specification can be implemented in many other ways than those described herein, and those skilled in the art can make similar generalizations without violating the connotation of this specification, so this specification is not limited to the specific implementation disclosed below.
[0021] The terms used in one or more embodiments of this specification are only for the purpose of describing specific embodiments, and are not intended to limit one or more embodiments of this specification. The singular forms of "a", "said" and "the" used in one or more embodiments of this specification and the appended claims are also intended to include plural forms, unless the context clearly indicates other meanings. It should also be understood that the term "and / or" used in one or more embodiments of this specification refers to and includes any or all possible combinations of one or more associated listed items.
[0022] It should be understood that although the terms first, second, etc. may be used to describe various information in one or more embodiments of this specification, this information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other. For example, without departing from the scope of one or more embodiments of this specification, the first may also be referred to as the second, and similarly, the second may also be referred to as the first. Depending on the context, the word "if" as used herein may be interpreted as "at the time of" or "when" or "in response to determining".
[0023] In addition, it should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in one or more embodiments of this specification are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0024] In one or more embodiments of this specification, a large model refers to a deep learning model with large-scale model parameters, which usually contains hundreds of millions, tens of billions, hundreds of billions, trillions, or even more than 10 trillion model parameters. A large model can also be called a foundation model / foundation model. The large model is pre-trained with large-scale unlabeled corpus to produce a pre-trained model with more than 100 million parameters. This model can adapt to a wide range of downstream tasks, and the model has good generalization ability, such as a large-scale language model (LLM), a multi-modal pre-training model, etc.
[0025] When the big model is used in practice, only a small number of samples are needed to fine-tune the pre-trained model and it can be applied to different tasks. The big model can be widely used in natural language processing (NLP), computer vision and other fields. Specifically, it can be applied to computer vision tasks such as visual question answering (VQA), image caption (IC), image generation, as well as natural language processing tasks such as text-based sentiment classification, text summary generation, and machine translation. The main application scenarios of the big model include digital assistants, intelligent robots, search, online education, office software, e-commerce, intelligent design, etc.
[0026] First, the terms involved in one or more embodiments of this specification are explained.
[0027] Knowledge base: A structured data storage format that collects, organizes, and provides a structured way to access data in a specific field. This data can be in any form, such as documents, articles, reports, FAQs, technical manuals, etc. The main purpose of a knowledge base is to facilitate users to quickly and accurately retrieve the required data to answer questions, improve work efficiency, and improve decision-making quality.
[0028] Basic software: Software components in computer systems that provide underlying support and services for other applications. They constitute the first abstraction layer above the operating system, directly interacting with hardware or serving as the basic platform for higher-level applications. Without the support of these basic software, many complex applications cannot work properly on the operating system. Including but not limited to: database management systems (such as MySQL, Oracle, SQL Server), middleware, programming languages and compilers / interpreters (such as Java, Python, C++), security software (such as firewalls, antivirus software), network communication protocol stacks, artificial intelligence infrastructure (such as pytorch).
[0029] Open source community: refers to a network community composed of developers, users and enthusiasts who jointly participate in the development, maintenance and improvement of software. The source code of these software is public, allowing anyone to view, use, modify and distribute. The open source community promotes technology sharing, collaborative innovation and the improvement of software quality.
[0030] Technical forums: online platforms dedicated to discussing specific technical topics or products. Here, professionals and technology enthusiasts can exchange experiences, solve problems, share knowledge, and have in-depth discussions around technical issues. Technical forums usually cover a wide range of areas, from programming languages to hardware devices.
[0031] Call Stack: A data structure that records the history of function calls during program execution. Whenever a function is called, its related information (such as parameters, local variables, etc.) will be pushed into the stack; when the function is executed, this information will be popped out of the stack. By analyzing the call stack, developers can track the program running status and locate the source of the error.
[0032] Log: A text record file automatically generated during software operation, used to record system operations, application behavior, and error information. Logs are important for monitoring system health, debugging program problems, and auditing security incidents. By reviewing logs, administrators and developers can quickly understand system activities and take appropriate measures.
[0033] Prompt: In natural language processing tasks, the starting information or instructions provided to guide the natural language model to generate text of a specific type or topic. It can set the context, limit the scope of discussion, or specify the specific format and content requirements of the required output. Through carefully designed prompts, users can effectively control the direction and quality of generated text. It is widely used in tasks such as information extraction, text classification, sentiment analysis, named entity recognition, question-answering systems, etc., and is one of the key elements to achieve personalized and intelligent human-computer interaction.
[0034] Retrieval-Augmented Generation (RAG): A method that combines information retrieval and natural language generation techniques, which aims to enhance the generation ability of natural language models by introducing external knowledge bases. RAG first retrieves information related to the input query from an external knowledge base, and then provides this information as context to the generation model to generate more accurate, detailed and contextually relevant answers. This method not only improves the accuracy of the generated content, but also reduces the possibility of hallucinations in the model and provides better explainability and timeliness. RAG is widely used in fields such as question-answering systems, text summarization, and dialogue systems, significantly improving the performance and user experience of these systems.
[0035] In computer systems, the stability of the underlying infrastructure often depends on the basic software above the operating system and below the application program. These basic software directly interact with the hardware or serve as the basic platform for higher-level applications. Without the support of these basic software, many complex applications cannot work properly on the operating system. For example, database management systems or artificial intelligence infrastructure (AI Infra) software such as pytorch, which is currently gaining popularity due to the increasing popularity of large models.
[0036] At present, solving basic software problems generally relies on domain experts, which places extremely high demands on the professional capabilities of domain experts, and is inefficient and costly. In fact, basic software generally comes from open source environments. There is a wealth of data on the problems and answers to basic software in open source communities or related technical forums. In addition, the current version iteration of basic software used on computer systems is often lagging behind the latest open source version. The problems of the current version of basic software have actually been answered in open source communities or related technical forums. For example, in the Linux operating system, when the community kernel version has evolved to 6.x, the production environment may still use 3.x, 4.x and other lower versions of the kernel. For example, in the MySQL database, when the latest version is already 8.xx, many production environments start using version 5.x. One problem brought about in this case is that the problems encountered in the production environment are very likely to have been encountered or solved in the open source community or technical forum in the past. When encountered again, because it is not known whether it is a known problem or it is consciously considered to be a known problem, it is difficult to find the problem-related in the massive amount of information, and it needs to be solved again. Therefore, the difficulty lies in how to quickly and accurately retrieve relevant answers from massive data to solve the problems of basic software.
[0037] With the development of information processing technology, the FAQ knowledge base applied to different fields has greatly improved the efficiency and accuracy of information retrieval. If the FAQ knowledge base of basic software can be built, the dependence on domain experts can be greatly reduced, the efficiency and accuracy of problem solving can be improved, the cost can be reduced, and a platform for developers and users to independently retrieve answers to questions can be provided. Therefore, how to build a structured FAQ knowledge base for basic software is an urgent problem to be solved.
[0038] In response to the above problems, a knowledge base construction method is provided in this specification. This specification also involves a question-and-answer method, a knowledge base construction device, a question-and-answer device, a computing device, a computer-readable storage medium and a computer program product, which are described in detail one by one in the following embodiments.
[0039] See also Figure 1 , Figure 1 A flowchart of a knowledge base construction method provided by an embodiment of this specification is shown, including the following specific steps:
[0040] Step 102: Obtain sample web page contents of a plurality of sample web pages for question and answer on the basic software.
[0041] Basic software is a software component that provides underlying support and services for other applications to run in a computer system. They form the first layer of abstraction above the operating system, interacting directly with the hardware or serving as the underlying platform for higher-level applications. Basic software is a prerequisite for many complex applications to work properly. Without the support of these basic software, applications may not be able to access necessary resources or perform specific functions on the operating system. Basic software includes but is not limited to: database management systems (such as MySQL, Oracle, SQL Server), middleware, programming languages and compilers / interpreters (such as Java, Python, C++), security software (such as firewalls, antivirus software), network communication protocol stacks, and artificial intelligence infrastructure (such as pytorch).
[0042] The multiple sample web pages for question and answer on basic software are web pages for question and answer on basic software used to build a question and answer knowledge base. The sample web pages may include sample web page titles, sample indicator information, sample question descriptions, sample answer content, sample comments and other sample web page content. The sample web pages may come from open source communities, technical forums or other related websites. The sample web pages come from open source sample libraries. For example, a Stackoverflow post discussing MySQL performance optimization or a technical forum article on how to configure an Apache server.
[0043] The sample web page content of the sample web page is the content information contained in the sample web page, including but not limited to at least one of the following: including the sample web page title, sample problem description, sample answer content and sample comments. For example, a Stackoverflow post about MySQL performance optimization has the following sample web page content: Sample web page title: "How to improve MySQL query speed?" Sample problem description: "I encountered slow query speed when using MySQL5.7, especially in the case of large data volume. I have tried index optimization, but the effect is not obvious. What other measures can I take to improve query speed?" Sample answer content: "You can consider the following methods to optimize query speed: 1. Use EXPLAIN to analyze query plans; 2. Optimize table structure, such as using appropriate field types; 3. Adjust MySQL configuration parameters, such as innodb_buffer_pool_size." Sample comments: "I also found that enabling query cache can significantly improve query speed.", "It is also important to ensure that your server hardware resources (such as CPU and memory) are sufficient."
[0044] To obtain sample web page content of multiple sample web pages for questions and answers on basic software, one optional method is to use a data crawler to obtain sample web page content of multiple sample web pages for questions and answers on basic software from an open source community or a technical forum. Another optional method is to obtain sample web page content of multiple sample web pages for questions and answers on basic software from an open source community or a technical forum through a data interface. Another optional method is to obtain sample web page content of multiple sample web pages for questions and answers on basic software from an open source community or a technical forum through a search engine. The above are not limited here.
[0045] Exemplarily, sample web page contents of 100,000 sample web pages for question and answer on the database management system MySQL are obtained from the MySQL open source community of Linux through a data tool script.
[0046] The sample web page contents of multiple sample web pages for question and answer on basic software are obtained, which provides data support for the subsequent extraction and construction of knowledge items.
[0047] Step 104: extracting sample indicator information and sample problem descriptions from sample web page contents of the plurality of sample web pages, wherein the sample indicator information includes at least one of a sample performance indicator of basic software and a sample performance analysis indicator of basic software.
[0048] The sample indicator information is data information related to the performance of the basic software extracted from the sample web page content. The sample indicator information provides in-depth analysis for solving problems of the basic software, and helps developers and users to provide the analysis path that their execution performance analysis relies on based on the execution of the basic software itself, so as to more accurately locate the root cause of the problem and determine the appropriate solution. The sample indicator information includes at least one of the sample performance indicators of the basic software and the sample performance analysis indicators of the basic software.
[0049] The sample performance indicators of the basic software are the performance indicator parameters of the basic software in operation, extracted from the sample webpage content. The sample performance indicators help users understand the performance of the basic software under different conditions and conduct performance evaluation and optimization. The sample performance indicators include but are not limited to CPU usage, memory usage, disk I / O speed, network bandwidth utilization, response time, etc. For example, a database query operation results in a CPU usage of 80%.
[0050] The sample performance analysis indicators of the basic software are indicator parameters extracted from the sample web page content and used to analyze the performance problems of the basic software. The sample performance analysis indicators are used to deeply analyze the data of the basic software performance problems. The sample performance analysis indicators provide detailed contextual information to help developers and users locate and solve problems more accurately. Sample performance analysis indicators include but are not limited to: sample call stack records and sample log records. For example, the sample call stack record:
[0051] Func1_MainEntry() / / Main entry function
[0052] Func2_InitResources() / / Initialize resources
[0053] Func3_LoadConfig("config.json") / / Load configuration file
[0054] Func4_ParseJsonFile("config.json") / / Parse JSON file
[0055] Func5_AllocateMemory(1024) / / allocate memory
[0056] [Error may occur here] Func6_ProcessData(data, 1024) / / Process data
[0057] Func7_CalculateMetrics(data) / / Calculate metrics
[0058] Func8_WriteToFile("output.txt", result) / / Write the result to the file
[0059] From the call stack records of the above samples, it can be seen that there may be exceptions or inefficiencies when the Func6_ProcessData function is called, which may be a place that needs further in-depth analysis.
[0060] For another example, the sample log record:
[0061] [ERROR] 2023-11-28 15:30:00 - Database connection failed: Unable to connect to the database server.
[0062] [WARNING] 2023-11-28 15:31:00 - Insufficient disk space: less than 10% of available space.
[0063] [DEBUG] 2023-11-28 15:32:00 - Processing the 100th record, current progress 30%.
[0064] By viewing the error log records, you can deeply analyze which parts have faults; warning log records can be deeply analyzed for potential risk factors; debug log records can be deeply analyzed for program behavior patterns to optimize performance or adjust resource usage strategies.
[0065] It should be noted that the information provided to match the user's questions is different for different fields. In the field of basic software, the commonly used information is sample indicator information such as call stack, log, performance indicators, etc., so that different types of questions expressed in the same natural language can establish a more accurate correspondence between questions and answer contents due to different sample indicator information. Specifically, because the problem solving in the field of basic software is highly dependent on sample performance analysis indicators such as call stack records and log records to deduce the root cause of the problem. In the webpage content of the sample webpage, the question and answer content will generally revolve around these indicators, followed by the sample performance indicators of the basic software, which may be pre-customized indicators. From the sample webpage content of the sample webpage, if only the sample question description is extracted as the entry key of the knowledge item to be constructed subsequently, it may be impossible to match the accurate knowledge item based on the target question provided by the user during the process of question and answering after the question and answer knowledge base is constructed. In order to retrieve more accurately, additional information needs to be provided. For example, the target question entered by the user is: "How to optimize the query speed of MySQL?" Based on this question, tens of thousands of related knowledge items can be retrieved, providing solutions from multiple aspects such as performance degradation when the number of concurrency increases, query type, buffer pool size, connection number limit, etc. However, the user's actual needs are to seek solutions from the aspects of index creation and partition table strategy. In order to retrieve more accurately, additional information needs to be provided, which places higher requirements on the user's professional ability.
[0066] The sample problem description is a natural language description of the problem encountered by the basic software extracted from the sample web page content. The sample problem description is usually used to describe the problem encountered when using the basic software, the solutions that have been tried, and the expected goals. For example, the sample problem description in the above example: "I encountered slow query speed when using MySQL5.7, especially in the case of large data volumes. I have tried index optimization, but the effect is not obvious. What other measures can I take to improve query speed?" describes the problem encountered when using MySQL5.7: slow query speed in the case of large data volumes, the solution that has been tried: index optimization, and the expected goal: improve query speed.
[0067] Extract sample indicator information and sample problem descriptions from the sample web page content of multiple sample web pages. One optional method is to use a deep learning model to extract sample indicator information and sample problem descriptions from the sample web page content of multiple sample web pages, such as a natural language model. Another optional method is to use a keyword matching algorithm to extract sample indicator information and sample problem descriptions from the sample web page content of multiple sample web pages, for example, define performance keywords such as "timeout settings" to automatically mark related text. Another optional method is to extract sample indicator information and sample problem descriptions from the sample web page content of multiple sample web pages based on a preset information format, for example, extract titles, environmental information, and problem descriptions in a template format. Another optional algorithm is to use a statistical algorithm to extract sample indicator information and sample problem descriptions from the sample web page content of multiple sample web pages, for example, analyze web page word frequency, and use high-frequency technical vocabulary as indicator information, which is not limited here.
[0068] Exemplarily, using a deep learning model, sample performance indicators of the database management system MySQL (CPU usage, memory occupancy, disk I / O speed, network bandwidth utilization, response time, etc.), sample performance analysis indicators of the database management system MySQL (call stack records and log records) are extracted from the sample web page content of 100,000 sample web pages as sample indicator information, and sample problem descriptions.
[0069] From the sample web page contents of multiple sample web pages for questions and answers on basic software, sample indicator information and sample question descriptions of basic software are extracted, providing data support for the subsequent construction of multiple structured and accurate entry keys of knowledge entries of multiple sample web pages.
[0070] Step 106: Using the sample indicator information and the sample problem description as entry keys of the multiple sample web pages, knowledge entries of the multiple sample web pages are constructed.
[0071] The entry key is the index information used to build the question-answer knowledge base and uniquely identify the knowledge entry. The entry key consists of sample indicator information and sample problem description, which together form the basis for query or indexing. The entry key is used to quickly and accurately locate the answer content related to the target question that the user needs to answer. By using the sample performance indicators, sample performance analysis indicators and sample problem description of the basic software as the entry key, compared with using only the sample problem description as the entry key, it is ensured that the matching answer content can be found even in the face of complex problem situations. For example, an entry key is "CPU usage is too high-[DEBUG] Processing the 100th record, current progress 30%-(MySQL5.7, slow query speed under large data volume, index optimization has been tried)", this entry key contains sample performance indicators (CPU usage), sample performance analysis indicators ([DEBUG] Processing the 100th record, current progress 30%), sample problem description: software version (MySQL5.7), problem situation (slow query speed under large data volume), and measures taken (index optimization), so that when users enter similar questions, they can accurately match and provide relevant answer content.
[0072] The knowledge entry of a sample web page is a structured information unit of a sample web page in a question-and-answer knowledge base. Each knowledge entry contains sample indicator information (sample performance indicators and / or sample performance analysis indicators) and a sample problem description in a sample web page. Knowledge entries are uniquely identified by entry keys. Optionally, the entry value of a knowledge entry can be the sample web page content of a sample web page, the sample web page link of a sample web page, the sample answer content in the sample web page content, or the sample answer conclusion generated by executing a summary of the sample answer content, which is not limited here. For example, the paradigm of a knowledge entry is "indicator information"-"problem description"-"problem conclusion"-"problem analysis details", where "indicator information" is the sample indicator information, the problem description is the sample problem description, the "problem conclusion" is the sample answer conclusion generated by executing a summary of the sample answer content, and the "problem analysis details" are the sample web page content of a sample web page, the sample web page link of a sample web page, or the sample answer content in the sample web page content.
[0073] Exemplarily, the paradigm of knowledge entries is "indicator information"-"problem description", and sample performance indicators (CPU usage, memory usage, disk I / O speed, network bandwidth utilization, response time, etc.) of the database management system MySQL extracted from the sample web page content of 100,000 sample web pages, sample performance analysis indicators (call stack records and log records) of the database management system MySQL and sample problem descriptions are used as entry keys of the 100,000 sample web pages to construct knowledge entries of the 100,000 sample web pages.
[0074] Using sample indicator information and sample question descriptions as entry keys for multiple sample web pages, we construct multiple sample web pages with structured and accurate knowledge entries, laying the data unit foundation for knowledge entries for subsequent integration and construction of a question-and-answer knowledge base.
[0075] Step 108: Integrate multiple knowledge items to obtain a question-and-answer knowledge base of the basic software.
[0076] The basic software question-and-answer knowledge base is a structured data storage format built for basic software problems and solutions. It collects, organizes, and provides structured access to information about basic software problem descriptions, performance indicators, performance analysis indicators, and corresponding answers. The basic software question-and-answer knowledge base includes knowledge entries from multiple sample web pages, and can be retrieved using entry keys consisting of sample indicator information and sample problem descriptions. It can efficiently and accurately match the query needs of developers and users, aiming to reduce dependence on domain experts, improve the efficiency and accuracy of problem solving, reduce costs, and provide developers and users with a platform for autonomous retrieval of problem answers.
[0077] Integrate multiple knowledge items to obtain a question-and-answer knowledge base for basic software. One optional way is to integrate multiple knowledge items based on their relevance weights to obtain a question-and-answer knowledge base for basic software. Another optional way is to cluster and integrate multiple knowledge items based on their item keys to obtain a question-and-answer knowledge base for basic software. For example, apply clustering algorithms such as K-means and DBSCAN to classify knowledge items so that knowledge items with similar item keys (such as the same basic software version, similar problem descriptions) are clustered under the same category. This is not limited here.
[0078] Exemplarily, based on the relevance weights of 100,000 knowledge items, 100,000 knowledge items are integrated to obtain a question-answer knowledge base of the database management system MySQL.
[0079] In the embodiments of the present specification, a natural language processing model is used to extract sample indicator information of the basic software from the sample web page content of multiple sample web pages for question and answer on the basic software. Since the sample indicator information includes at least one of the sample performance indicator of the basic software and the sample performance analysis indicator of the basic software, both the sample performance indicator of the basic software and the sample performance analysis indicator of the basic software can provide the in-depth analysis relied upon for the answer to the question of the basic software, thereby helping developers and users to provide the analysis path relied upon for the execution performance analysis of the basic software according to the execution of the basic software itself, more accurately locate the root cause of the problem to determine the appropriate answer, and on this basis and using the extracted sample problem description as the entry key for constructing the knowledge entry, a structured and accurate knowledge entry is constructed, and multiple structured and accurate knowledge entries are integrated to construct a structured, comprehensive and accurate basic software question and answer knowledge base, which greatly reduces the dependence on domain experts, improves the efficiency and accuracy of problem solving, reduces costs, and provides a platform for developers and users to independently retrieve answers to questions.
[0080] In an optional embodiment of the present specification, step 104 includes the following specific steps: using a natural language model to extract sample indicator information from sample web page contents of multiple sample web pages.
[0081] A natural language model is a machine learning model that can understand and process natural language tasks. It can perform tasks such as information extraction, text classification, sentiment analysis, named entity recognition, and question-answering systems based on understanding the semantics, context, and grammatical structure of natural language. For example, large language models such as the Transformer model (deep attention model), the BERT model (bidirectional encoder representation Transformer model), and the GPT model (generative pre-trained Transformer model).
[0082] Using a natural language model, sample indicator information is extracted from sample web page contents of multiple sample web pages. One optional method is: using a natural language model, based on a preset information format, sample indicator information is extracted from sample web page contents of multiple sample web pages. The preset information format has been defined in the prompt word (Prompt) to help the natural language model identify and extract the sample indicator information. Another optional method is: using a pre-trained natural language model to extract sample indicator information from sample web page contents of multiple sample web pages, wherein the natural language model is pre-trained based on sample data containing label indicator information, which is not limited here.
[0083] Exemplarily, the prompt is: "You are a technical expert in the field of database management system MySQL. I now have the following data. Please help me extract it and construct knowledge items according to the paradigm of "indicator information"-"problem description"-"problem conclusion"-"problem analysis details". Note that the indicator information can be call stack records and log records. The information format of the call stack record data is'Func1_..., Func2_...,...', and the information format of the log data is'[ERROR]...; [WARNING]...; [DEBUG]...'. " Using the large language model, based on the information format defined in the above prompt words, sample performance indicators of the database management system MySQL (CPU usage, memory usage, disk I / O speed, network bandwidth utilization, response time, etc.), sample performance analysis indicators of the database management system MySQL (call stack records and log records) as sample indicator information, and sample problem descriptions are extracted from the sample web page content of 100,000 sample web pages.
[0084] In the embodiments of this specification, the outstanding performance of the natural language model in processing and understanding natural language can be utilized to deeply analyze the semantics and context of the text, thereby efficiently and accurately extracting sample performance indicators and problem descriptions of the basic software from a large number of sample web pages, and converting unstructured data into structured knowledge items, which not only improves the accuracy of information extraction, but also speeds up the construction of the question-and-answer knowledge base, allowing developers and users to quickly find relevant answers, greatly improving problem-solving efficiency, and reducing dependence on experts.
[0085] In an optional embodiment of the present specification, a natural language model is used to extract sample indicator information from sample web page content of multiple sample web pages, including the following specific steps: using a natural language model to extract sample performance indicators of basic software from sample web page content of multiple sample web pages based on a preset numerical format; and / or using a natural language model to extract sample performance analysis indicators of basic software from sample web page content of multiple sample web pages based on a preset tag format.
[0086] The preset numeric format is a pre-set numeric type format used to extract sample performance indicators. It defines the presentation form of the sample performance indicators in the numeric value, such as whether it has a percentage sign, unit (such as ms, MB, GB / s, etc.), accuracy requirements, numeric type (such as floating point number, integer), etc.
[0087] The preset label format is a pre-set label type format used to extract sample performance analysis indicators. It defines the presentation format of sample performance analysis indicators in labels, such as error event levels (ERROR, WARNING, DEBUG), function names (such as 'Func1_……, Func2_……, …') and their parameter lists, etc.
[0088] Using a natural language model, based on a preset numerical format, sample performance indicators of the basic software are extracted from the sample web page content of multiple sample web pages. An optional method is: using a natural language model, based on a preset numerical format in the prompt word, sample performance indicators of the basic software are extracted from the sample web page content of multiple sample web pages.
[0089] Using a natural language model, based on a preset tag format, sample performance analysis indicators of the basic software are extracted from the sample web page content of multiple sample web pages. An optional method is: using a natural language model, based on a preset numerical format in the prompt word, sample performance indicators of the basic software are extracted from the sample web page content of multiple sample web pages.
[0090] For example, the prompt is: "You are a technical expert in the field of MySQL, a database management system. I now have the following data. Please help me extract it and construct knowledge items according to the paradigm of "Indicator Information" - "Problem Description" - "Problem Conclusion" - "Problem Analysis Details". Note that the sample performance indicators can be in percentage numerical format or floating point numerical format, and the sample performance analysis indicators can be call stack records and log records. The label format of the call stack record data is 'Func1_..., Func2_..., .... ', and the label format of the log data is '[ERROR]...; [WARNING]...; [DEBUG]...'. "
[0091] Using a natural language model, based on the numerical format and label format defined in the above prompt words, sample performance indicators of the database management system MySQL (CPU usage, memory usage, disk I / O speed, network bandwidth utilization, response time, etc.) and sample performance analysis indicators of the database management system MySQL (call stack records and log records) are extracted from the sample web page contents of 100,000 sample web pages as sample indicator information.
[0092] In the embodiments of this specification, clearly defined numerical formats (such as percentages, floating point numbers) and label formats (such as error levels, function names and their parameters) help the natural language model to identify and extract key performance data and problem contexts. By using the natural language model to extract sample performance indicators of the basic software based on a preset numerical format, and to extract sample performance analysis indicators based on a preset label format, accurate parsing of the sample web page content is achieved, which not only ensures the high accuracy of the extracted information, but also enhances the structuring of knowledge entries, making the subsequently constructed knowledge base more standardized and easy to use.
[0093] In an optional embodiment of the present specification, the sample performance analysis indicators of the basic software include at least one of a sample call stack record and a sample log record; using a natural language model, based on a preset tag format, the sample performance analysis indicators of the basic software are extracted from the sample web page content of multiple sample web pages, including the following specific steps: using a natural language model, based on a preset call stack function tag format, extracting the sample call stack records of the basic software from the sample web page content of multiple sample web pages; and / or, using a natural language model, based on a preset log event tag format, extracting the sample log records of the basic software from the sample web page content of multiple sample web pages.
[0094] The preset call stack function label format is a pre-set label type format used to extract sample call stack records, which defines the presentation format of sample call stack records in labels, such as function names (eg 'Func1_……, Func2_……, …') and the like.
[0095] The preset log event tag format is a pre-set tag type format used to extract sample log records, which defines the presentation format of sample log records in tags, such as error event levels (ERROR, WARNING, DEBUG).
[0096] Using a natural language model, based on a preset call stack function label format, sample call stack records of the basic software are extracted from the sample web page content of multiple sample web pages. An optional method is: using a natural language model, based on a preset call stack function label format in a prompt word, sample performance indicators of the basic software are extracted from the sample web page content of multiple sample web pages.
[0097] Using a natural language model, based on a preset log event label format, sample log records of the basic software are extracted from the sample web page content of multiple sample web pages. An optional method is: using a natural language model, based on a preset call stack function label format in a prompt word, sample performance indicators of the basic software are extracted from the sample web page content of multiple sample web pages.
[0098] For example, the prompt is: "You are a technical expert in the field of MySQL, a database management system. I now have the following data. Please help me extract it and construct knowledge items according to the paradigm of "Indicator Information" - "Problem Description" - "Problem Conclusion" - "Problem Analysis Details". Note that the sample performance analysis indicators can be call stack records and log records. The label format of the call stack record data is 'Func1_..., Func2_..., .... ', and the label format of the log data is '[ERROR]...; [WARNING]...; [DEBUG]...'. "
[0099] Using a natural language model, based on the call stack function label format and log event label format defined in the above prompt words, sample call stack records and sample log records of the database management system MySQL are extracted from the sample web page content of 100,000 sample web pages as sample indicator information.
[0100] In the embodiments of the present specification, clearly defined call stack function labels and log event labels help the natural language model to effectively identify key information in technical discussions. The natural language model extracts sample call stack records of the basic software based on a preset call stack function label format, and extracts sample log records based on a preset log event label format, thereby achieving accurate identification and extraction of key performance analysis data in the sample web page content, which not only improves the accuracy of information extraction, but also enhances the depth and breadth of problem analysis, allowing developers and users to more accurately locate the root cause of the problem based on the detailed execution path and error context, thereby determining the appropriate solution.
[0101] In an optional embodiment of the present specification, a natural language model is used to extract sample question descriptions from sample web page contents of multiple sample web pages, including the following specific steps: using a natural language model, extracting sample question descriptions from sample web page titles and / or sample comments of multiple sample web pages.
[0102] The sample webpage title of the sample webpage is a content title in the sample webpage that summarizes the content of the sample webpage. For example, a Stackoverflow post about MySQL performance optimization, its sample webpage content includes: Sample webpage title: "How to improve MySQL query speed?"
[0103] The sample comments of the sample webpage are user comments posted on the sample webpage regarding the content of the sample webpage. For example, a Stackoverflow post about MySQL performance optimization has the following sample webpage content:
[0104] Sample comments: "I also found that enabling query caching can significantly improve query speed.", "It is also important to ensure that your server hardware resources (such as CPU and memory) are sufficient."
[0105] Exemplarily, using a large language model, sample web page titles of 100,000 sample web pages are extracted as sample question descriptions, or, using a large language model, the first sample comments of 100,000 sample web pages are extracted as sample question descriptions.
[0106] In the embodiments of this specification, a natural language model is used to extract sample question descriptions from sample web page titles and / or sample comments, so that the sample question descriptions can be extracted more accurately and efficiently, which not only improves the accuracy and completeness of the question descriptions, but also enhances the relevance of the knowledge items.
[0107] In an optional embodiment of the present specification, before step 108, the following specific steps are also included: if the sample indicator information is not extracted, the sample question description is used as the item key of the sample web page from which the sample indicator information is not extracted, to construct the knowledge item of the sample web page; correspondingly, step 108 includes the following specific steps: setting the retrieval weight of the knowledge item of the sample web page from which the sample indicator information is extracted to a first weight, and setting the retrieval weight of the knowledge item of the sample web page from which the sample indicator information is not extracted to a second weight, wherein the first weight is higher than the second weight; based on the first weight and the second weight, integrating multiple knowledge items to obtain the question and answer knowledge base of the basic software.
[0108] It should be noted that since sample web pages generally come from open source communities or technical forums, it is not guaranteed that the sample web page content of each sample web page is of high quality and sample indicator information can be extracted from it. Therefore, relevance weights can be used to integrate multiple knowledge items so that in the subsequent question-and-answer knowledge base, the knowledge items of sample web pages from which sample indicator information is extracted are retrieved first during the question-and-answer process.
[0109] The retrieval weight of a knowledge item is the priority value assigned to the knowledge item when building the question-answer knowledge base, which indicates the priority of the knowledge item in the retrieval process.
[0110] The first weight is the retrieval weight of the knowledge items of the sample web pages from which the sample indicator information is extracted. This type of items is generally considered to have higher value and relevance because they help developers and users provide the analysis path that their execution performance analysis relies on based on the execution of the basic software itself. They can match problems in more dimensions, locate the root causes of the problems more accurately, and determine appropriate solutions.
[0111] The second weight is the retrieval weight of knowledge items on sample web pages from which sample indicator information has not been extracted. Such items usually only contain problem descriptions or other more general information. Therefore, their value and relevance are lower than those of the first weighted items. They cannot help developers and users provide the analysis path that their execution performance analysis relies on based on the execution of the basic software itself. They can only match problems from fewer dimensions and cannot accurately locate the root cause of the problem to determine the appropriate solution. They may need to provide additional information.
[0112] Exemplarily, among 100,000 sample web pages, sample indicator information is not extracted from 15,000. The sample question description is used as the entry key of the 15,000 sample web pages to construct the knowledge items of the sample web pages. The retrieval weight of the knowledge items of the 85,000 sample web pages that have extracted sample indicator information is set to the first weight of 100%, and the retrieval weight of the knowledge items of the 15,000 sample web pages that have not extracted sample indicator information is set to the second weight of 50%. The 10,000 knowledge items are marked with the corresponding first weight of 100% or the second weight of 50%, and the 100,000 knowledge items are integrated to obtain the question-and-answer knowledge base of the database management system MySQL. In the subsequent retrieval process, knowledge items with high weights are retrieved first.
[0113] In the embodiments of the present specification, by setting a higher first weight for knowledge items from which sample indicator information has been extracted, and setting a lower second weight for knowledge items from which sample indicator information has not been extracted, it is ensured that knowledge items containing detailed performance analysis information can be preferentially retrieved and displayed during the question-and-answer process, which not only improves the accuracy and efficiency of problem solving but also enables high-quality answers that are highly relevant to the problem to be found more quickly.
[0114] In an optional embodiment of the present specification, step 102 includes the following specific steps: obtaining sample web page content of multiple sample web pages for basic software; screening the sample web page content of multiple sample web pages based on preset question and answer keywords to obtain sample web page content of multiple sample web pages for questions and answers regarding the basic software.
[0115] It should be noted that open source communities and technical forums often contain many other types of web pages. The sample web page content of such sample web pages does not focus on problem solving. Therefore, it is necessary to filter out non-problem solving sample web pages during data acquisition. This process is also a data cleaning process. For example, for technical forums such as Stackoverflow, only specific modules such as Unix / Linux, database management system and other modules are acquired, and the sample web pages acquired are often problem solving. For open source communities such as Linux and MySQL, it is necessary to combine large models for screening and only obtain sample web pages of problem solving. Using a natural language model (such as a BERT model or its variants), the sample web page content of multiple sample web pages for basic software is input into the model, and preset question and answer keywords (such as 'solution', 'fix', 'resolve', 'troubleshoot', 'issue' and other descriptions) can be added in a guided manner to ensure that the sample web page content of multiple sample web pages for basic software is obtained.
[0116] The multiple sample web pages for basic software are web pages used for discussing the basic software, and may be of the question-answering type or may not be of the question-answering type.
[0117] The preset Q&A keywords are natural language words used to filter sample web page content related to problem solving. Q&A keywords are usually related to problem solving, troubleshooting, technical discussions, etc. By using the preset Q&A keywords, the natural language model can be effectively helped to identify and retain web pages containing specific problem descriptions, solutions, fault analysis, etc., while excluding web pages with irrelevant or non-technical content to achieve data cleaning.
[0118] Based on preset question and answer keywords, sample web page contents of multiple sample web pages are screened to obtain sample web page contents of multiple sample web pages for questions and answers on basic software. An optional method is: using a natural language model, based on preset question and answer keywords in prompt words, sample web page contents of multiple sample web pages are screened to obtain sample web page contents of multiple sample web pages for questions and answers on basic software.
[0119] Exemplarily, sample web page contents of 200,000 sample web pages discussing the database management system MySQL are obtained from the MySQL open source community of Linux through a data tool script.
[0120] The prompt is: "You are a technical expert in the field of MySQL, a database management system. I have the following data. We only need to focus on problem data. Problem data generally has the characteristics of question and answer keywords such as 'solution', 'fix', 'resolve', 'troubleshoot', and 'issue'."
[0121] Using the large language model, the sample web page content of 200,000 sample web pages is screened based on the preset question and answer keywords in the above prompt words to obtain the sample web page content of 100,000 sample web pages for question and answer of the database management system MySQL. Correspondingly, Figure 2 FIG. 1 shows a flow chart of screening question answering data in a knowledge base construction method provided in one embodiment of the present specification. Figure 2 As shown:
[0122] Two data sources for sample web pages: Select instruction topics for basic software from technical question-and-answer websites; and open source communities in professional fields. Obtain sample web page content for sample web pages from two data sources. Determine whether the sample web page content of the sample web page comes from an open source community in a professional field. If not, save the sample web page content of multiple sample web pages for question-and-answer sessions on basic software. If so, add preset question-and-answer keywords to assist the large language model in recognition, and the large language model performs recognition. Identify whether it is a sample web page for question-and-answer sessions. If not, re-obtain the sample web page content of the sample web page. If so, save the sample web page content of multiple sample web pages for question-and-answer sessions on basic software.
[0123] In the embodiments of this specification, the sample webpage contents of multiple sample webpages are screened based on preset question-and-answer keywords, which can effectively extract content focused on problem solving and technical discussions from a large number of sample webpages. This method not only improves the quality and relevance of the data, but also ensures that the final constructed question-and-answer knowledge base is more accurate and practical. Specifically, through this screening process, irrelevant or non-technical sample webpages can be removed, thereby reducing noise data and improving the overall quality of the question-and-answer knowledge base.
[0124] In an optional embodiment of the present specification, the basic software includes at least one software type; step 106 includes the following specific steps: using the software type of the basic software, sample indicator information and sample problem description as entry keys of multiple sample web pages, constructing knowledge entries of multiple sample web pages.
[0125] It should be noted that data collection is mainly designed to collect data from open source communities (for example, Linux kernel mailing lists, MySQL databases) and technical forums (for example, Stackoverflow posts, etc.) through data crawling tools. Data collection is also classified according to website subject classification (generally corresponding to the software type of basic software). The collected sample web pages are classified according to software type. For example, the Linux kernel classifies all information according to each subsystem, such as the memory subsystem linux-mm, the block device subsystem Linux-block, Linux-ext4, io-uring, etc. For example, the MySQL community is classified according to software types such as MySQL usage tools, MySQL storage engines, migration, etc.
[0126] The software type of basic software is a specific classification of software components that provide underlying support and services for other applications in a computer system. By classifying basic software by type, relevant data and technical information can be better organized and managed, making it easier for users to quickly find knowledge and solutions in specific fields. The software type of basic software is usually classified according to factors such as the functional characteristics, application scenarios, and technical architecture of the software. For example, in the Linux kernel, it can be classified according to different subsystems: Memory subsystem (Linux-mm): involves code and discussions related to memory management, such as page table management, virtual memory, memory allocation algorithms, etc. Block device subsystem (Linux-block): involves drivers and related technologies for disks and other block devices, such as I / O scheduling, device drivers, etc. File system (Linux-ext4, io-uring): involves different types of file systems, such as the implementation details of the ext4 file system, the io-uring asynchronous I / O interface, etc. For another example, in a database management system, it can be classified according to different tools, storage engines, etc.: MySQL usage tools: involve various tools used to manage and maintain MySQL databases, such as MySQL Workbench, MySQLdump, etc. MySQL storage engine: involves different storage engines, such as InnoDB, MyISAM, Memory, etc. Each storage engine has its own specific characteristics and applicable scenarios. Migration: involves the process and technology of migrating data from one database to another, including data export, import, conversion and other operations.
[0127] Exemplarily, the paradigm of knowledge entries is "indicator information" - "software type" - "problem description" - "problem conclusion" - "problem analysis details", with the software types of basic software in 100,000 sample web pages (Linux-mm, Linux-block, Linux-ext4, io-uring, InnoDB, MyISAM, Memory, etc.) and sample performance indicators of the database management system MySQL (CPU usage, memory usage, disk I / O speed, network bandwidth utilization, response time, etc.) extracted from the sample web page contents of the 100,000 sample web pages, sample performance analysis indicators of the database management system MySQL (call stack records and log records) and sample problem descriptions as entry keys of the 100,000 sample web pages, to construct knowledge entries of 100,000 sample web pages.
[0128] In the embodiments of the present specification, knowledge entries of multiple sample web pages are constructed by using the software type of the basic software, sample indicator information and sample problem description as entry keys of multiple sample web pages, which not only improves the structuring degree of the knowledge entries, but also enhances the retrieval efficiency and accuracy of the knowledge base.
[0129] In an optional embodiment of the present specification, the sample web page content includes sample answer content; before step 106, the following specific steps are also included: using a natural language model to perform summary generation on the sample answer content of multiple sample web pages to obtain sample answer conclusions; correspondingly, step 106 includes the following specific steps: using sample indicator information and sample problem descriptions as entry keys of multiple sample web pages, and using sample answer conclusions as entry values of multiple sample web pages, to construct knowledge entries of multiple sample web pages.
[0130] Sample answer content is a natural language description of answers to basic software problems in sample webpage content. Sample answer content usually provides specific solutions, suggestions, code examples, configuration guides and other information to help users who ask questions understand and solve problems. Through detailed answer content, users can understand the root cause of the problem, possible solutions and implementation steps, so as to effectively solve the problem. For example, a Stackoverflow post about MySQL performance optimization has a sample webpage content including:
[0131] Sample problem description: "I am experiencing slow query performance when using MySQL 5.7, especially with large amounts of data. I have tried index optimization, but it has not been effective. What else can I do to improve query speed?"
[0132] Sample answer: "You can consider the following methods to optimize query speed: 1. Use EXPLAIN to analyze the query plan; 2. Optimize the table structure, such as using appropriate field types; 3. Adjust MySQL configuration parameters, such as innodb_buffer_pool_size."
[0133] The sample answer conclusion is a summary natural language description of the sample answer content after the executive summary is generated. The sample answer conclusion extracts the key points and core solutions in the sample answer content so that users can quickly obtain the main information.
[0134] The entry value is the data corresponding to the entry key for building a question-and-answer knowledge base, which provides detailed problem analysis on how to solve a specific problem. For building a basic software question-and-answer knowledge base, the entry value of a knowledge entry can be the sample webpage content of a sample webpage, the sample webpage link of a sample webpage, the sample answer content in the sample webpage content, or the sample answer conclusion generated by summarizing the sample answer content. The sample answer conclusion can convey key information more concisely and clearly, allowing users to quickly understand the core solution to the problem, which not only improves the efficiency of information retrieval, but also enhances the user experience.
[0135] Using a natural language model, perform summary generation on the sample answer content of multiple sample web pages to obtain sample answer conclusions. One optional method is: using a natural language model, based on prompt words, perform summary generation on the sample answer content of multiple sample web pages to obtain sample answer conclusions. Another optional method is: using a pre-trained natural language model, perform summary generation on the sample answer content of multiple sample web pages to obtain sample answer conclusions, wherein the natural language model is obtained through supervised training based on sample data and labeled answer conclusions, which is not limited here.
[0136] Exemplarily, a natural language model is used to generate a summary of the sample answer content of 100,000 sample web pages based on prompt words to obtain a sample answer conclusion. The paradigm of the knowledge entry is "indicator information"-"problem description"-"problem conclusion", and the sample performance indicators (CPU usage, memory usage, disk I / O speed, network bandwidth utilization, response time, etc.) of the database management system MySQL extracted from the sample web page content of the 100,000 sample web pages, the sample performance analysis indicators (call stack records and log records) of the database management system MySQL and the sample problem description are used as the entry keys of the 100,000 sample web pages, and the sample answer conclusions of the 100,000 sample web pages are used as the entry values to construct the knowledge entries of the 100,000 sample web pages.
[0137] In the embodiments of the present specification, sample indicator information and sample question descriptions are used as entry keys of multiple sample web pages, and sample answer conclusions are used as entry values of multiple sample web pages to construct multiple sample web pages with structured and accurate knowledge entries. This lays a data unit foundation for more accurate and concise knowledge entries for the subsequent integration and construction of a question-and-answer knowledge base, which not only improves the efficiency of information retrieval, but also enhances the user experience.
[0138] In an optional embodiment of the present specification, any sample web page has a corresponding sample web page link; using sample indicator information and sample problem descriptions as entry keys of multiple sample web pages, and using sample answer conclusions as entry values of multiple sample web pages, knowledge entries of multiple sample web pages are constructed, including the following specific steps: using sample indicator information and sample problem descriptions as entry keys of multiple sample web pages, and using sample answer conclusions and sample web page links as entry values of multiple sample web pages, knowledge entries of multiple sample web pages are constructed.
[0139] The sample webpage link corresponding to the sample webpage is an Internet network link pointing to the sample webpage, and the sample webpage can be directly accessed through the sample webpage link. For example, the sample webpage link of the above Stackoverflow post: URL (Uniform Resource Link): https: / / example.com.
[0140] Exemplarily, the paradigm of knowledge entries is "indicator information" - "problem description" - "problem conclusion" - "problem analysis details", and sample performance indicators (CPU usage, memory usage, disk I / O speed, network bandwidth utilization, response time, etc.) of the database management system MySQL extracted from the sample web page content of 100,000 sample web pages, sample performance analysis indicators (call stack records and log records) of the database management system MySQL and sample problem descriptions are used as entry keys of the 100,000 sample web pages, and sample answer conclusions and URL links of the 100,000 sample web pages are used as entry values to construct knowledge entries of multiple sample web pages.
[0141] In the embodiments of this specification, by using sample indicator information and sample problem description as entry keys, and using sample answer conclusions and sample web page links as entry values to construct knowledge entries, the practicality and user-friendliness of the knowledge base are significantly improved. This structure not only enables users to quickly locate specific problems and their solutions, but also provides a link path to directly access sample web pages, enhancing the traceability and integrity of information.
[0142] Figure 3 A schematic diagram of a knowledge base construction method provided by an embodiment of this specification is shown. Figure 3 As shown:
[0143] The sample web page content of multiple sample web pages for questions and answers about basic software constructs knowledge items according to the knowledge item paradigm of "indicator information" - "problem description" - "problem conclusion" - "problem analysis details".
[0144] In the indicator information dimension, the natural language model is used to extract sample indicator information; in the problem description dimension, the natural language model is used to extract sample problem descriptions; in the problem conclusion dimension, the natural language model is used to perform summary generation and obtain sample answer conclusions; in the problem analysis details dimension, the corresponding sample web page link is determined.
[0145] In the indicator information dimension, based on the preset call stack function label format, sample call stack records of the basic software are extracted, such as: Func1_…, Func2_…, …. Based on the preset log event label format, sample log records of the basic software are extracted, such as: [ERROR]…; [WARNING]…; [DEBUG]…. Based on the preset numerical format, sample performance indicators of the basic software are extracted, such as: floating point numerical class, percentage numerical class.
[0146] Through information processing in four dimensions, knowledge items are constructed, and then the knowledge base is constructed. In addition, relevance weights are set for the knowledge base.
[0147] See also Figure 4 , Figure 4 A flowchart of a question-answering method provided by an embodiment of this specification is shown, including the following specific steps:
[0148] Step 402: Obtain a target problem for basic software input by a user, wherein the target problem includes at least one of target indicator information and a target problem description.
[0149] Users are individuals or organizations that use basic software and encounter technical problems. Users use the information provided by the knowledge base to quickly and effectively solve technical problems and improve work efficiency. For example, a database administrator encounters a performance bottleneck when managing a MySQL database, and he hopes to find an optimization solution by querying the knowledge base. For another example, a developer encounters a compatibility issue with a specific library when developing a project using Python, and he hopes to find a solution from the knowledge base.
[0150] The target questions for basic software are specific problems or requirements encountered by users in the process of using basic software. The target questions usually involve the functions, performance, configuration and other aspects of the software, and users hope to get answers by searching the question-answer knowledge base.
[0151] The target indicator information is data information related to the performance of the basic software. The target indicator information provides in-depth analysis for solving the problems of the basic software, helps developers and users to provide the analysis path that their execution performance analysis relies on according to the execution of the basic software itself, and more accurately locates the root cause of the problem to determine the appropriate solution. The target indicator information includes at least one of the target performance indicator of the basic software and the target performance analysis indicator of the basic software.
[0152] The target problem description is a natural language description of the problem encountered by the basic software. The target problem description is usually used to describe the problem encountered when using the basic software, the solutions that have been tried, and the expected goals.
[0153] To obtain the target problem of the basic software input by the user, one optional method is to obtain the target problem of the basic software input by the user through the retrieval enhancement generation interface of the natural language model. Another optional method is to obtain the target problem of the basic software input by the user through the data interface of the basic software. There is no limitation here.
[0154] For example, through the retrieval enhancement generation interface of the large language model, the target question for the basic software input by the user into the large language model is obtained: "I suspect problems with the operating system / database kernel / xxxx, etc. The phenomenon I see is that there are abnormal logs related to the operating system / database kernel / xxxx, or call stacks '...', or the problem phenomenon I see is that process A is blocked in accessing IO in the system / or the system crashes / or the MySQL database is abnormally stuck when inserting data / querying data. Please confirm what the problem is?"
[0155] The target question for the basic software input by the user is obtained, wherein the target question includes at least one of the target indicator information and the target question description, which provides an index basis for subsequent retrieval of the question-answering knowledge base to obtain the target knowledge items.
[0156] Step 404: Based on the target question, match the entry keys of multiple knowledge items in the question and answer knowledge base of the basic software to obtain the target knowledge item, wherein any knowledge item includes an entry key, and the entry key is sample indicator information and sample question description in the sample web page content of a sample web page for question and answer on the basic software, the sample indicator information and the sample question description are extracted from the sample web page content, and the sample indicator information includes at least one of the sample performance indicator of the basic software and the sample performance analysis indicator of the basic software.
[0157] The target knowledge entry is a structured information unit that matches the target question in the question-and-answer knowledge base. The target knowledge entry contains sample indicator information (sample performance indicators and / or sample performance analysis indicators) and sample question descriptions in the sample web pages that match the target question. The target knowledge entry is uniquely identified by an entry key. Optionally, the entry value of the target knowledge entry can be the sample web page content of the sample web page, the sample web page link of the sample web page, the sample answer content in the sample web page content, or the sample answer conclusion generated by executing a summary of the sample answer content, which is not limited here.
[0158] Based on the target question, the entry keys of multiple knowledge items in the question and answer knowledge base of the basic software are matched to obtain the target knowledge item. An optional method is: based on the target question, semantic matching is performed with the entry keys of multiple knowledge items in the question and answer knowledge base of the basic software to determine the target knowledge item.
[0159] It should be noted that the technical solution of the question-answering method and the technical solution of the above-mentioned knowledge base construction method belong to the same concept. For the details not described in detail in step 404, please refer to the description of the technical solution of the above-mentioned knowledge base construction method.
[0160] For example, natural language processing technology is used to parse the target question provided by the user, extract key information such as "MySQL5.7", "slow query speed", "large data volume", "index optimization has been tried", etc., and match them with the entry keys in the knowledge base. Through semantic matching algorithms (such as similarity calculation based on word vectors, TF-IDF weight calculation, etc.), the knowledge entry most relevant to the user description is found. Matched target knowledge entry: Entry key: CPU usage is too high-[DEBUG] Processing the 100th record, current progress 30%-(MySQL5.7, slow query speed under large data volume, index optimization has been tried). Entry value: Problem conclusion: The following methods can be considered to optimize query speed: 1. Use EXPLAIN to analyze the query plan; 2. Optimize the table structure, such as using appropriate field types; 3. Adjust MySQL configuration parameters, such as innodb_buffer_pool_size. Problem analysis details: The sample webpage link points to a detailed Stackoverflow post, which contains more specific suggestions on how to adjust the InnoDB buffer pool size and other related configurations.
[0161] Based on the target question, the entry keys of multiple knowledge entries in the question-and-answer knowledge base of the basic software are matched to obtain the target knowledge entry, which provides data support for the knowledge entry for the subsequent feedback of the target answer content of the target question.
[0162] Step 406: The target knowledge item is used as the target answer content of the target question and fed back to the user.
[0163] The target answer content is a solution that can directly answer the user's question, generated or determined based on the target question input by the user, by matching the relevant knowledge items in the basic software question-and-answer knowledge base. The target answer content usually includes solutions, suggestions, operation steps and other relevant information for the questions raised by the user, aiming to help users quickly and effectively solve the technical problems they encounter. The target answer content can be directly extracted from pre-built knowledge items, or it can be retrieved and enhanced by using natural language models to generate knowledge items to form answers that better meet user needs.
[0164] One optional way to use the target knowledge item as the target answer content of the target question is to determine the target knowledge item as the target answer content of the target question. Another optional way is to use a natural language model to perform retrieval enhancement generation based on the target knowledge item to obtain the target answer content, which is not limited here.
[0165] Exemplarily, a large language model is used to perform retrieval enhancement generation based on target knowledge items to obtain target answer content:
[0166] Based on the information you provided, it looks like you are using MySQL version 5.7 and are experiencing slow query speeds when processing large amounts of data. You have already tried index optimization but to no avail. Here are some suggestions to further improve query speed:
[0167] 1. Use EXPLAIN to analyze query plans: Viewing the execution plan of a query using the EXPLAIN command can help you identify potential performance bottlenecks. Check whether all indexes are effectively used and whether full table scans occur. 2. Optimize table structure: Make sure your table structure is designed properly, such as using appropriate data types and field lengths, which can reduce storage space and speed up queries. 3. Adjust MySQL configuration parameters: In particular, the innodb_buffer_pool_size parameter controls the size of the InnoDB buffer pool. Increasing this value allows more data to be cached in memory, thereby reducing disk I / O operations. However, be careful not to set it too large to exhaust system memory. 4. Consider using partitioned tables: If your table is very large, consider partitioning the table, which can spread the load and improve query efficiency. 5. Enable query cache: Although query cache is no longer supported by default since MySQL 8.0, in MySQL 5.7, properly configuring query cache may help some types of queries. 6. Monitor and analyze logs: Regularly check error logs, slow query logs, etc. to find specific causes that may cause performance problems.
[0168] For more detailed steps and suggestions, you can refer to this Stackoverflow post, which provides specific guidance on how to adjust the InnoDB buffer pool size and other related configurations. Feedback to users on this goal answer.
[0169] In the embodiments of the present specification, based on the target question for the basic software input by the user, a pre-built structured, comprehensive and accurate question-and-answer knowledge base of the basic software is used for matching to obtain the target knowledge item. Since the sample indicator information in the item key of the knowledge item in the question-and-answer knowledge base is accurately extracted from the sample web page content of multiple sample web pages for question-and-answer on the basic software using a natural language processing model, and since the sample indicator information includes at least one of the sample performance indicator of the basic software and the sample performance analysis indicator of the basic software, both the sample performance indicator of the basic software and the sample performance analysis indicator of the basic software can provide the in-depth analysis relied on for the answer to the basic software question, thereby helping developers and users to provide the analysis path relied on for the execution performance analysis according to the execution of the basic software itself, more accurately locate the root cause of the problem and determine the appropriate answer. On this basis, the target knowledge item is highly correlated with the target problem, so that even in the face of complex and changeable problem expressions, the in-depth analysis and highly relevant target answer content relied on for the answer to the basic problem can be accurately determined, and the target knowledge item containing detailed sample web page links is fed back to the user, directly pointing to the specific solution to the target problem. The above process avoids the need for domain experts, which not only greatly improves the efficiency and accuracy of problem solving, but also reduces costs, providing developers and users with an effective solution for autonomous retrieval of problem solutions.
[0170] In an optional embodiment of the present specification, step 404 includes the following specific steps: based on the target question, semantically matching the entry keys of multiple knowledge entries in the question and answer knowledge base of the basic software to obtain the semantic matching degrees of the multiple knowledge entries; based on whether the semantic matching degrees of the multiple knowledge entries exceed a preset threshold, screening at least one knowledge entry from the multiple knowledge entries; based on the ranking of the semantic matching degrees of at least one knowledge entry, determining the target knowledge entry.
[0171] The semantic match of a knowledge item is the degree of relevance between the target question and each knowledge item in the knowledge base. It is quantified by calculating the similarity between the keywords, phrases, and overall semantics in the target question and the information in the knowledge item. Semantic match is usually based on natural language processing technology, such as word vector models (Word2Vec, GloVe), TF-IDF weight calculation, or more complex machine learning models (such as BERT), to measure the semantic similarity between two text fragments. A higher semantic match indicates that the knowledge item is highly relevant to the question raised by the user and can provide an effective answer; a lower semantic match indicates that the knowledge item may not fully meet the user's query requirements. For example, the question entered by the user is "How to improve the query speed of MySQL under large data volume", and this question is analyzed and compared with multiple knowledge items in the knowledge base. If a knowledge item discusses MySQL performance optimization methods in detail and mentions the keywords "large data volume" and "slow query speed", then the semantic match of this knowledge item will be very high, such as 0.95 (out of 1.0).
[0172] The preset threshold is the semantic matching threshold used to screen out knowledge items related to the target question after semantic matching. Only when the semantic matching degree of a knowledge item exceeds this threshold will the knowledge item be selected as a potential answer. The preset threshold is set to ensure that the answer returned to the user is sufficiently relevant and accurate. The specific value of the threshold can be adjusted according to the needs of the actual application. If it is too high, it may not be possible to find a suitable answer, and if it is too low, it may introduce too much irrelevant information. For example, if the preset threshold is set to 0.7, only those knowledge items with a semantic matching degree greater than or equal to 0.7 will be considered valid matches. A knowledge item with a semantic matching degree of 0.8 will be retained, while another knowledge item with a semantic matching degree of only 0.6 will be excluded.
[0173] At least one knowledge item is a set of knowledge items associated with the user's target question that is determined after semantic matching evaluation and preset threshold screening. For example, after processing the user question "How to improve the query speed of MySQL under large data volume", the system may find three knowledge items, whose semantic matching degrees are 0.85, 0.75 and 0.65 respectively. Among them, the first two knowledge items exceed the preset threshold of 0.7, so these two items constitute a set of at least one knowledge item.
[0174] The order of the semantic matching degree of at least one knowledge item is based on the arrangement of the semantic matching degree of at least one knowledge item from high to low. By ordering the knowledge items by semantic matching degree, it can be ensured that the user first sees the answer content that is more likely to solve their target problem. This helps to improve the user experience and enables them to quickly find the information they need. For example, the three knowledge items are ordered from high to low by semantic matching degree, and the results are as follows: the first item: semantic matching degree 0.85; the second item: semantic matching degree 0.75; the third item: semantic matching degree 0.65.
[0175] In the embodiments of this specification, filtering and sorting are performed based on semantic matching to ensure that users obtain the most relevant and high-quality answers, thereby reducing the interference of irrelevant information. The application of preset thresholds ensures the relevance of the returned content and avoids the introduction of inaccurate information due to low matching. Arranging knowledge items from high to low according to semantic matching allows users to prioritize content that is more likely to solve the problem, significantly improving the accuracy and efficiency of problem solving, and greatly improving user experience and satisfaction.
[0176] In an optional embodiment of the present specification, after step 406, the following specific steps are also included: receiving answer feedback sent by the user for the target answer content, wherein the target answer feedback describes whether the target answer content meets the target question; if the answer feedback is not met, removing the target knowledge item from at least one knowledge item, returning to perform sorting based on the semantic matching degree of at least one knowledge item, and determining the step of the target knowledge item.
[0177] Answer feedback for the target answer content is the evaluation made by the user on whether the target answer content is accurate, relevant or useful after receiving it. Answer feedback provides feedback on whether the target answer content meets the target question. Answer feedback can be used as a basis for adjusting and optimizing the Q&A knowledge base. Answer feedback can be a simple binary choice (such as "matching" or "not matching"), or it can include more detailed ratings (such as 1-5 stars) or text comments.
[0178] Exemplarily, after reading the target answer content, the user selects the "incompatible" answer feedback, removes the target knowledge item from the three knowledge items, and determines a lower-level knowledge item as the target knowledge item to determine the target answer content feedback to the user.
[0179] In the embodiments of this specification, receiving user's answer feedback and adjusting knowledge items according to the feedback can significantly improve the accuracy and user satisfaction of the question-answering system. When the user feedbacks that the target answer content is not in line with the requirements, the system can promptly remove the inappropriate items from the candidate knowledge items and re-sort them to determine the new target knowledge items. This feedback adjustment mechanism not only ensures that the target answer content obtained by the user is more accurate and relevant, but also promotes the continuous optimization of the knowledge base.
[0180] In an optional embodiment of the present specification, after semantic matching is performed with the entry keys of multiple knowledge entries in the question and answer knowledge base of the basic software based on the target question to obtain the semantic matching degrees of the multiple knowledge entries, the following specific steps are also included: when the semantic matching degrees of the multiple knowledge entries do not exceed a preset threshold, matching is performed with the sample web page content of the sample web page in the open source sample library based on the target question to obtain a reference sample web page; extracting sample indicator information and sample problem description from the sample web page content of the reference sample web page; using the sample indicator information and sample problem description as the entry keys of the reference sample web page to construct the knowledge entries of the reference sample web page; and adding the knowledge entries to the question and answer knowledge base.
[0181] The open source sample library is a collection of a large number of publicly available technical documents, forum posts, community discussions, tutorials and other resources related to basic software. The open source sample library records a large number of sample web pages.
[0182] Reference sample web pages are sample web pages related to the user's target problem that are matched from the open source sample library. Reference sample web pages contain technical information and solutions that may help solve user problems. When the knowledge items in the existing question-and-answer knowledge base cannot meet user needs, reference sample web pages related to the user's problem are found from the open source sample library. Reference sample web pages are used to extract new indicator information and problem descriptions to construct new knowledge items to supplement the knowledge question-and-answer base.
[0183] The sample web page content of the reference sample web page is the content information contained in the reference sample web page, including but not limited to at least one of the following: sample web page title, sample indicator information, sample question description, sample answer content and sample comments.
[0184] For example, the semantic matching degree of existing knowledge items in the question-and-answer knowledge base does not exceed the preset threshold of 0.7. The same natural language processing technology is used to match the user's target question with a large number of sample web page contents in the open source sample library, and a reference sample web page of a Stack Overflow post is found. The large language model is used to extract the following information from the sample web page content of the reference sample web page:
[0185] Sample web page title: "Pandas 1.2.0 compatibility issues under Python 3.8".
[0186] Sample indicator information: Sample performance indicators: code execution time, memory usage, number of error logs; Sample performance analysis indicators: call stack records, log records.
[0187] Sample problem description: "When using Python 3.8 and Pandas 1.2.0, I found that some data processing functions did not work properly. I have tried updating Pandas to the latest version, but the problem still exists."
[0188] A new knowledge item is constructed with the extracted sample indicator information and sample problem description as the entry key of the new knowledge item. The entry key of the new knowledge item is "Code execution time is too long - [DEBUG] Exception occurred when processing DataFrame - (Python 3.8, Pandas 1.2.0, data processing function is incompatible, and Pandas has been updated)". The newly constructed knowledge item is added to the Q&A knowledge base.
[0189] In the embodiments of the present specification, by providing feedback on whether the target answer content meets the target question, when the semantic matching degrees of multiple knowledge items do not exceed a preset threshold, reference sample web pages are matched from the open source sample library, and new knowledge items are constructed to enrich the question and answer knowledge base, cover more user questions, and improve the comprehensiveness of the question and answer knowledge base.
[0190] In an optional embodiment of the present specification, after step 404, the following specific steps are further included: based on the target problem description of the target problem, updating the sample problem description in the entry key of the target knowledge entry.
[0191] Exemplarily, the matched target knowledge entry is: Entry key: CPU usage is too high - [DEBUG] Processing the 100th record, current progress 30% - (MySQL5.7, query speed is slow under large data volume, index optimization has been tried). Entry value: Problem conclusion: The following methods can be considered to optimize query speed: 1. Use EXPLAIN to analyze the query plan; 2. Optimize the table structure, such as using appropriate field types; 3. Adjust MySQL configuration parameters, such as innodb_buffer_pool_size. Problem analysis details: The sample web page link points to a detailed Stackoverflow post, which contains more specific suggestions on how to adjust the InnoDB buffer pool size and other related configurations. The target problem description is: "I encountered slow query speed when using MySQL 5.7, especially in the case of large data volume. I have tried index optimization, but the effect is not obvious."
[0192] Update the target problem description to the entry key of the target knowledge entry. The updated target knowledge entry is: Entry key: CPU usage is too high - [DEBUG] Processing the 100th record, current progress 30% - (MySQL5.7, slow query speed under large data volume, index optimization has been tried) - (User problem description: When using MySQL 5.7, I encountered the problem of slow query speed, especially in the case of large data volume. Index optimization has been tried, but the effect is not obvious). Entry value: Problem conclusion: The following methods can be considered to optimize query speed: 1. Use EXPLAIN to analyze the query plan; 2. Optimize the table structure, such as using appropriate field types; 3. Adjust MySQL configuration parameters, such as innodb_buffer_pool_size. Problem analysis details: The sample web page link points to a detailed Stackoverflow post, which contains more specific suggestions on how to adjust the InnoDB buffer pool size and other related configurations.
[0193] In the embodiments of the present specification, by updating the sample question description in the entry key of the target knowledge entry, more accurate target knowledge entries are provided in the future question-answering knowledge base retrieval process, thereby improving the accuracy and efficiency of question answering.
[0194] Corresponding to the above-mentioned method knowledge base construction method and question-answering method embodiments, Figure 5 A schematic diagram of a knowledge base construction and question-answering method provided by an embodiment of this specification is shown. Figure 5 As shown:
[0195] During the knowledge base construction phase: data is obtained for all sample web pages of the open source community and the designated sample web pages of the open source community; sample indicator information (call stack, log, performance indicators), as well as problem analysis and discussion, and patches are extracted through indicator information analysis and comment analysis; problems are classified and summarized, and sample indicator information (call stack, log, performance indicators), sample problem description, and sample solution conclusion are determined as three dimensions to construct knowledge items; multiple knowledge items are integrated to build a knowledge base (indicator information, sample problem description, sample solution conclusion).
[0196] In the question-and-answer stage based on the question-and-answer knowledge base: input the target question for the basic software; extract the problem description and match it with the knowledge base; output the knowledge items whose semantic matching degree exceeds the preset threshold, and feed it back to the user for manual feedback; the user feedback whether it matches; if so, output the target answer content; if not, determine whether the semantic matching degrees of multiple knowledge items do not exceed the preset threshold; if not, output the target knowledge items with a lower matching degree by one level, and then feed it back to the user for manual feedback; if so, collect the user's problem description and indicator information (call stack, log, performance indicators), and submit it to build the question-and-answer knowledge base as a designated sample web page for the open source community; in addition, the question-and-answer knowledge base can be enriched, and the user's problem description and indicator information (call stack, log, performance indicators) can be collected, and submitted to build the question-and-answer knowledge base as a designated sample web page for the open source community; the question type and problem relevance adjustment can also be enriched, and the sample problem description and sample indicator information (call stack, log, performance indicators) can be used to construct knowledge items, and then update the knowledge base (indicator information, sample problem description, sample answer conclusion).
[0197] The following combination Figure 6 , taking the application of the knowledge base construction method provided in this specification in the field of Linux kernel as an example, the knowledge base construction method is further explained. Figure 6 A flowchart of a process of building a knowledge base applied to the Linux kernel field provided by an embodiment of this specification is shown, including the following specific steps:
[0198] Step 602: Sample web page content of multiple sample web pages for the Linux kernel from a Linux technical forum.
[0199] For example, the sample page content of a sample web page is:
[0200] kernel BUG at net / core / skbuff.c:3771! / / The kernel error occurred in line 3771 of the file net / core / skbuff.c
[0201] invalid opcode: 00:[e] SHP PTI / / An invalid opcode was encountered, which usually means an undefined instruction was executed
[0202] CPU: 2 PID: 0 Comm: swapper / 2 Kdump loaded Not tainted 4.19.41-041941-generic #261000000023 / / When the error occurred, CPU 2 was running, process ID was 0, command name was swapper / 2 (this is a kernel thread). The system is not tainted (not tainted), using kernel version 4.19.41
[0203] Hardware name: VMware, Inc. VMware Virtual Platform / 4488 DesktopReference Platform, BIOS 6.00 04 / 25 / 2016 / / Hardware platform information of the running system. Here it is shown that it is running on the VMware virtual platform
[0204] RIP: 0010:skb_segment+0x6b5 / 0x8ad / / The instruction pointer register points to the address of the function skb_segment, the specific offset is 0x6b5, and the total length of the function is 0x8ad bytes
[0205] RSP: 0018:ffff94d79b037c78 EFLAGS: 00010246 / / The value of the stack pointer register and the value of the flag register
[0206] RAX: ffff94d75821ec80 RBX: ffff94d700075800 RCX: 0000000000000000 / / The values of registers RAX, RBX and RCX
[0207] RDX: 0000000000000000 RSI: 000000000000000 RDI: ffff94d74e3a2800 / / Registers RDX, RSI and RDI values
[0208] RSI: ffff94d79b036900 R8: 0000000000000000 R9: 0000000000000564 R10:f69d84ec8fe0b972 / / The values of registers RSI, R8, R9 and R10
[0209] R11: 0000000000000000 R12: add69a32f60864ac R13: ffff94d79b036900 / / The values of registers R11, R12 and R13
[0210] R14: 0000000000000000 R15: ffff94d74e3a2800 / / The value of registers R14 and R15
[0211] DS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 / / Data segment register DS value, additional DS register value, additional ES register value, control register CR0 value
[0212] CR2: 0000000000000000 CR3: 000000000000000 CR4: 000000000000010600 / / Control registers CR2, CR3 and CR4
[0213] Call Trace: / / Function call trace, showing the function call chain before the error occurs
[0214] tcp_gso_segment+0x9f / 0x140 / / In the function tcp_gso_segment, the error occurs at the 0x9fth byte from the beginning of the function. The total length of the function is 0x140 bytes.
[0215] tcp_gso_segment+0x5e / 0x100 / / Same as above, but at a different offset
[0216] ipv6_gso_segment+0x122 / 0x340 / / In the function ipv6_gso_segment, the error occurs at 0x122 bytes from the start of the function. The total length of the function is 0x340 bytes.
[0217] skb_mac_gso_segment+0x90 / 0x130 / / In the function skb_mac_gso_segment, the error occurs at the 0x90th byte from the beginning of the function. The total length of the function is 0x130 bytes.
[0218] __skb_segment+0x48 / 0x198 / / In the function __skb_segment, the error occurs at the 0x48th byte from the beginning of the function. The total length of the function is 0x198 bytes.
[0219] validate_emit_skb+0x1e4 / 0x2f0 / / In the function validate_emit_skb, the error occurs at 0x1e4 bytes from the beginning of the function. The total length of the function is 0x2f0 bytes.
[0220] validate_emit_skb_list+0x4b / 0x70 / / In the function validate_emit_skb_list, the error occurs at the 0x4b byte from the beginning of the function. The total length of the function is 0x70 bytes.
[0221] sch_xmit_exit+0x154 / 0x300 / / In the function sch_xmit_exit, the error occurs at 0x154 bytes from the beginning of the function. The total length of the function is 0x300 bytes.
[0222] dev_queue_xmit+0x80 / 0x928 / / In the function dev_queue_xmit, the error occurs at 0x80 bytes from the beginning of the function. The total length of the function is 0x928 bytes.
[0223] dev_xmit_queue+0x18 / 0x20 / / In the function dev_xmit_queue, the error occurs at 0x18 bytes from the beginning of the function. The total length of the function is 0x20 bytes.
[0224] neigh_direct_output+0x18 / 0x20 / / In the function neigh_direct_output, the error occurs at the 0x18th byte from the beginning of the function. The total length of the function is 0x20 bytes.
[0225] ip6_finish_output2+0x169 / 0x15b0 / / In the function ip6_finish_output2, the error occurs at 0x169 bytes from the beginning of the function. The total length of the function is 0x15b0 bytes.
[0226] ip6_finish_output+0x13a / 0x15b0 / / In the function ip6_finish_output, the error occurs at byte 0x13a from the beginning of the function. The total length of the function is 0x15b0 bytes.
[0227] ip6_output+0x8dc / 0x110 / / In the function ip6_output, the error occurs at the 0x8dc byte from the beginning of the function. The total length of the function is 0x110 bytes.
[0228] ip6_fragment+0x4a8 / 0x4a0 / / In the function ip6_fragment, the error occurs at 0x4a8 bytes from the beginning of the function. The total length of the function is 0x4a0 bytes.
[0229] ip6_forward+0x951 / 0x810 / / In the function ip6_forward, the error occurs at 0x951 bytes from the beginning of the function. The total length of the function is 0x810 bytes.
[0230] ip6_rcv_finish+0x7a / 0x90 / / In the function ip6_rcv_finish, the error occurs at the 0x7a byte from the beginning of the function. The total length of the function is 0x90 bytes.
[0231] ip6_rcv+0x9d / 0x9e0 / / In the function ip6_rcv, the error occurs at the 0x9dth byte from the beginning of the function. The total length of the function is 0x9e0 bytes.
[0232] Tuesday, September 3, 2019 at 1:07 pm, ShmuelTik EdakRAN<shmueltik@netnetworks.com> wrote:
[0233] Tue Sep 03 2019 12:23:54 -0400, Willem de Bruijn<willemdebruijn.kerne@gmail.com> wrote:
[0234] - This is a large number of code changes. Especially for stable fixes that need to be rolled back, smaller patches are preferable.
[0235] - Indeed. Thanks for the feedback.
[0236] - My suggestion only tested the length of the first frag_skb. If you can create a list where the first frag_skb is the head_frag, but the later ones are not,
[0237] -It will fail. I kind of doubt it.
[0238] - By default, GSO skbs constructed by skb_gro_receive can be fragmented along the original gso_size boundaries. So far, we have only observed this problem when modifying gso_size.
[0239] - The rationale is based on the input specified in 43170c4e0ba7, where the GRO skb has a fraglist with a different payload size.
[0240] - We can easily strip down the test to only fallback to copying if skb_headlen(list_skb) != mss .
[0241] - I'm afraid this is too generic; innocent skbs might fall victim to our skb copy fallback. Possible mentions of those are in 43170c4e0ba7.
[0242] - Or, it can be done only when SKB_GSO_DODGY.
[0243] -I suggest we stick with two lines of code.
[0244] -OK.
[0245] - So let's refine your original conditional to only test the first frag_skb, while ensuring SKB_GSO_DODGY *and* `skb_headlen(list_skb) != mss`
[0246] (We know that existing code does work for an unchanged gso_size, even if frag has linear, non-head_frag data).
[0247] - This hits the known, reproducible case of mentioned BUG_ON, and is strictly limited to that case.
[0248] - If there is agreement, I will submit an appropriate patch.
[0249] -Yes, that sounds good.
[0250] Step 604: Using the large language model, sample web page contents of multiple sample web pages are screened based on preset question-and-answer keywords to obtain sample web page contents of multiple sample web pages that conduct questions and answers on the Linux kernel.
[0251] Step 606: Utilizing the large language model, based on a preset numerical format, extract sample performance indicators of the Linux kernel from sample web page contents of multiple sample web pages; based on a preset call stack function label format, extract sample call stack records of the Linux kernel from sample web page contents of multiple sample web pages; based on a preset log event label format, extract sample log records of the Linux kernel from sample web page contents of multiple sample web pages.
[0252] Step 608: Utilize the large language model to extract sample question descriptions from sample web page titles or sample comments of multiple sample web pages.
[0253] Step 610: Utilize the large language model to perform summary generation on the sample answer contents of multiple sample web pages to obtain sample answer conclusions.
[0254] For example, for the sample webpage content above, the corresponding sample answer conclusion is: "This problem is mainly caused by the inconsistency of the GRO (Generic Receive Offload) skb segment length, and finally a patch repair solution is proposed: the skb copy fallback mechanism is triggered only when SKB_GSO_DODGY is met and skb_headlen(list_skb) != mss. This method not only solves the known BUG_ON problem, but also avoids the impact on normal data packets."
[0255] Step 612: If sample performance indicators, sample call stack records and sample log records are extracted, the software type of the Linux kernel, the sample performance indicators, the sample call stack records, the sample log records and the sample problem description are used as the entry keys of multiple sample web pages, and the sample answer conclusions and the sample web page links are used as the entry values of multiple sample web pages, to construct knowledge entries of multiple sample web pages.
[0256] Step 614: If the sample performance indicators, sample call stack records and sample log records are not extracted, the software type of the Linux kernel and the sample problem description are used as the entry keys of multiple sample web pages, and the sample answer conclusions and sample web page links are used as the entry values of multiple sample web pages to construct knowledge entries of multiple sample web pages.
[0257] Step 616: Setting the retrieval weight of the knowledge item of the extracted sample web page to a first weight, and setting the retrieval weight of the knowledge item of the unextracted sample web page to a second weight, wherein the first weight is higher than the second weight.
[0258] Step 618: Based on the first weight and the second weight, multiple knowledge items are integrated to obtain a question-and-answer knowledge base of the Linux kernel.
[0259] For example, in the subsequent question-and-answer process, if the target question input by the user is "crash / panic / xxx in skb_segment" or the like, or the input relation call stack record or log record, the sample answer conclusion of this knowledge item is output from the Linux kernel question-and-answer knowledge base as the target answer content to the user.
[0260] In the embodiments of this specification, by taking advantage of the information extraction and classification summary of a large language model, the open source knowledge in the technical forum in the field of basic software such as the Linux kernel is formed into a question-and-answer knowledge base with indicator information (program call stack, program log, program performance index) and problem description as knowledge item index, and summarizing community technical exchanges as problem analysis conclusions, so as to solve the underlying system problems encountered in production, improve the efficiency of solving difficult and complicated problems, and enhance the stability of the Linux kernel system.
[0261] Corresponding to the above method embodiment, this specification also provides a knowledge base construction device embodiment, Figure 7 FIG. 1 is a schematic diagram showing a structure of a knowledge base construction device provided by an embodiment of the present specification. Figure 7 As shown, the device comprises:
[0262] The sample acquisition module 702 is configured to acquire sample web page contents of a plurality of sample web pages for question and answer on the basic software;
[0263] A first extraction module 704 is configured to extract sample indicator information and sample problem descriptions from sample web page contents of the plurality of sample web pages, wherein the sample indicator information includes at least one of a sample performance indicator of the basic software and a sample performance analysis indicator of the basic software;
[0264] The first construction module 706 is configured to construct knowledge entries of multiple sample web pages by using the sample indicator information and the sample problem description as entry keys of multiple sample web pages;
[0265] The integration module 708 is configured to integrate multiple knowledge items to obtain a question-answer knowledge base of the basic software.
[0266] Optionally, the first extraction module 704 is further configured to: extract sample indicator information and sample problem descriptions from sample web page contents of multiple sample web pages using a natural language model.
[0267] Optionally, the first extraction module 704 is further configured to: utilize a natural language model to extract sample performance indicators of the basic software from sample web page contents of multiple sample web pages based on a preset numerical format; and / or utilize a natural language model to extract sample performance analysis indicators of the basic software from sample web page contents of multiple sample web pages based on a preset tag format.
[0268] Optionally, the sample performance analysis indicators of the basic software include at least one of a sample call stack record and a sample log record; the first extraction module 704 is further configured to: utilize a natural language model to extract the sample call stack record of the basic software from the sample web page content of multiple sample web pages based on a preset call stack function label format; and / or utilize a natural language model to extract the sample log record of the basic software from the sample web page content of multiple sample web pages based on a preset log event label format.
[0269] Optionally, the first extraction module 704 is further configured to: utilize a natural language model to extract sample question descriptions from sample web page titles and / or sample comments of a plurality of sample web pages.
[0270] Optionally, the device also includes: a second construction module, configured to, if the sample indicator information is not extracted, use the sample problem description as the entry key of the sample web page from which the sample indicator information is not extracted, to construct the knowledge items of the sample web page; correspondingly, the integration module 708 is further configured to: set the retrieval weight of the knowledge items of the sample web page from which the sample indicator information is extracted to a first weight, and set the retrieval weight of the knowledge items of the sample web page from which the sample indicator information is not extracted to a second weight, wherein the first weight is higher than the second weight; based on the first weight and the second weight, integrate multiple knowledge items to obtain the question-and-answer knowledge base of the basic software.
[0271] Optionally, the sample acquisition module 702 is further configured to: obtain sample web page content of multiple sample web pages for basic software; filter the sample web page content of multiple sample web pages based on preset question and answer keywords to obtain sample web page content of multiple sample web pages for question and answer on basic software.
[0272] Optionally, the basic software includes at least one software type; the first construction module 706 is further configured to: use the software type of the basic software, sample indicator information and sample problem description as entry keys of multiple sample web pages to construct knowledge entries of multiple sample web pages.
[0273] Optionally, the sample web page content includes sample answer content; the device also includes: a second extraction module, configured to use a natural language model to perform summary generation on the sample answer content of multiple sample web pages, and obtain sample answer conclusions; correspondingly, the first construction module 706 is further configured to: use sample indicator information and sample problem descriptions as entry keys of multiple sample web pages, and use sample answer conclusions as entry values of multiple sample web pages, to construct knowledge entries of multiple sample web pages.
[0274] Optionally, any sample web page has a corresponding sample web page link; the first construction module 706 is further configured to: use sample indicator information and sample problem descriptions as entry keys of multiple sample web pages, use sample answer conclusions and sample web page links as entry values of multiple sample web pages, and construct knowledge entries of multiple sample web pages.
[0275] In the embodiments of the present specification, sample indicator information of the basic software is extracted from the sample web page content of multiple sample web pages for question and answer on the basic software. Since the sample indicator information includes at least one of the sample performance indicator of the basic software and the sample performance analysis indicator of the basic software, both the sample performance indicator of the basic software and the sample performance analysis indicator of the basic software can provide the in-depth analysis relied upon for the answer to the question of the basic software, thereby helping developers and users to provide the analysis path relied upon for the execution performance analysis according to the execution of the basic software itself, more accurately locate the root cause of the problem to determine the appropriate answer, and on this basis and the extracted sample problem description as the entry key for constructing the knowledge entry, a structured and accurate knowledge entry is constructed, and multiple structured and accurate knowledge entries are integrated to construct a structured, comprehensive and accurate basic software question and answer knowledge base, which greatly reduces the dependence on domain experts, improves the efficiency and accuracy of problem solving, reduces costs, and provides a platform for developers and users to independently retrieve answers to questions.
[0276] The above is a schematic scheme of a knowledge base construction device of this embodiment. It should be noted that the technical scheme of the knowledge base construction device and the technical scheme of the above-mentioned knowledge base construction method belong to the same concept, and the details not described in detail in the technical scheme of the knowledge base construction device can be referred to the description of the technical scheme of the above-mentioned knowledge base construction method.
[0277] Corresponding to the above method embodiment, this specification also provides a question-answering device embodiment, Figure 8 FIG. 1 shows a schematic diagram of the structure of a question-answering device provided by an embodiment of this specification. Figure 8 As shown, the device comprises:
[0278] The problem acquisition module 802 is configured to acquire a target problem for the basic software input by a user, wherein the target problem includes at least one of target indicator information and a target problem description;
[0279] A matching module 804 is configured to match, based on the target question, the entry keys of multiple knowledge entries in the question-and-answer knowledge base of the basic software to obtain a target knowledge entry, wherein any knowledge entry includes an entry key, and the entry key is sample indicator information and a sample question description in the sample webpage content of the sample webpage for question-and-answer on the basic software, the sample indicator information and the sample question description are extracted from the sample webpage content, and the sample indicator information includes at least one of a sample performance indicator of the basic software and a sample performance analysis indicator of the basic software;
[0280] The answer feedback module 806 is configured to feed back the target knowledge item as the target answer content of the target question to the user.
[0281] Optionally, the matching module 804 is further configured to: based on the target question, perform semantic matching with the entry keys of multiple knowledge items in the question and answer knowledge base of the basic software to obtain the semantic matching degrees of the multiple knowledge items; based on whether the semantic matching degrees of the multiple knowledge items exceed a preset threshold, filter at least one knowledge item from the multiple knowledge items; based on the ranking of the semantic matching degrees of at least one knowledge item, determine the target knowledge item.
[0282] Optionally, the device also includes: a feedback module, configured to receive answer feedback sent by a user for a target answer content, wherein the target answer feedback describes whether the target answer content meets the target question; if the answer feedback is not met, remove the target knowledge item from at least one knowledge item, return to execute sorting based on the semantic matching degree of at least one knowledge item, and determine the step of the target knowledge item.
[0283] Optionally, the device also includes: a first update module, configured to match the sample web page content of the sample web page in the open source sample library with the target question to obtain a reference sample web page when the semantic matching degrees of multiple knowledge items do not exceed a preset threshold; extract sample indicator information and sample question description from the sample web page content of the reference sample web page; use the sample indicator information and sample question description as entry keys of the reference sample web page to construct knowledge items of the reference sample web page; and add the knowledge items to the question-and-answer knowledge base.
[0284] Optionally, the apparatus further includes: a second updating module configured to update the sample problem description in the entry key of the target knowledge entry based on the target problem description of the target problem.
[0285] In the embodiments of the present specification, based on the target question for the basic software input by the user, a pre-built structured, comprehensive and accurate question-and-answer knowledge base of the basic software is used for matching to obtain the target knowledge item. Since the sample indicator information in the item key of the knowledge item in the question-and-answer knowledge base is accurately extracted from the sample web page content of multiple sample web pages for question-and-answer on the basic software using a natural language processing model, and since the sample indicator information includes at least one of the sample performance indicator of the basic software and the sample performance analysis indicator of the basic software, both the sample performance indicator of the basic software and the sample performance analysis indicator of the basic software can provide the in-depth analysis relied on for the answer to the basic software question, thereby helping developers and users to provide the analysis path relied on for the execution performance analysis according to the execution of the basic software itself, more accurately locate the root cause of the problem and determine the appropriate answer. On this basis, the target knowledge item is highly correlated with the target problem, so that even in the face of complex and changeable problem expressions, the in-depth analysis and highly relevant target answer content relied on for the answer to the basic problem can be accurately determined, and the target knowledge item containing detailed sample web page links is fed back to the user, directly pointing to the specific solution to the target problem. The above process avoids the need for domain experts, which not only greatly improves the efficiency and accuracy of problem solving, but also reduces costs, providing developers and users with an effective solution for autonomous retrieval of problem solutions.
[0286] The above is a schematic scheme of a question-and-answer device of this embodiment. It should be noted that the technical scheme of the question-and-answer device and the technical scheme of the question-and-answer method described above are of the same concept, and the details not described in detail in the technical scheme of the question-and-answer device can be found in the description of the technical scheme of the question-and-answer method described above.
[0287] Fig. 9 The structure block diagram of a computing device provided by an embodiment of the present specification is shown. The components of the computing device 900 include but are not limited to a memory 910 and a processor 920. The processor 920 is connected to the memory 910 via a bus 930, and the database 950 is used to store data.
[0288] The computing device 900 also includes an access device 940, which enables the computing device 900 to communicate via one or more networks 960. Examples of these networks include a Public Switched Telephone Network (PSTN), a Local Area Network (LAN), a Wide Area Network (WAN), a Personal Area Network (PAN), or a combination of communication networks such as the Internet. The access device 940 may include one or more of any type of network interface (e.g., a Network Interface Controller (NIC)) of wired or wireless, such as an IEEE 802.11 Wireless Local Area Network (WLAN) wireless interface, a Worldwide Interoperability for Microwave Access (Wi-MAX) interface, an Ethernet interface, a Universal Serial Bus (USB) interface, a cellular network interface, a Bluetooth interface, and a Near Field Communication (NFC).
[0289] In one embodiment of the present specification, the above components of the computing device 900 and Fig. 9 Other components not shown in the figure may also be connected to each other, for example, via a bus. It should be understood that Fig. 9 The computing device structure block diagram shown is only for the purpose of illustration, and is not intended to limit the scope of this specification. Those skilled in the art can add or replace other components as needed.
[0290] The computing device 900 may be any type of stationary or mobile computing device, including a mobile computer or mobile computing device (e.g., a tablet computer, a personal digital assistant, a laptop computer, a notebook computer, a netbook, etc.), a mobile phone (e.g., a smart phone), a wearable computing device (e.g., a smart watch, smart glasses, etc.), or other types of mobile devices, or a stationary computing device such as a desktop computer or a personal computer (PC). The computing device 900 may also be a mobile or stationary server.
[0291] Among them, the processor 920 is used to execute the following computer program / instructions, which, when executed by the processor, implement the steps of the above-mentioned knowledge base construction method or question-answering method.
[0292] The above is a schematic scheme of a computing device of this embodiment. It should be noted that the technical scheme of the computing device and the technical scheme of the knowledge base construction method and the question-answering method described above are of the same concept, and the details not described in detail in the technical scheme of the computing device can be found in the description of the technical scheme of the knowledge base construction method or the question-answering method described above.
[0293] An embodiment of the present specification also provides a computer-readable storage medium storing a computer program / instruction, which implements the steps of the above-mentioned knowledge base construction method or question-answering method when executed by a processor.
[0294] The above is a schematic scheme of a computer-readable storage medium of this embodiment. It should be noted that the technical scheme of the storage medium and the technical scheme of the knowledge base construction method and the question-answering method described above belong to the same concept, and the details not described in detail in the technical scheme of the storage medium can be found in the description of the technical scheme of the knowledge base construction method or the question-answering method described above.
[0295] An embodiment of the present specification also provides a computer program product, including a computer program / instruction, which implements the steps of the above-mentioned knowledge base construction method or question-answering method when executed by a processor.
[0296] The above is a schematic scheme of a computer program product of this embodiment. It should be noted that the technical scheme of the computer program product and the technical scheme of the knowledge base construction method and the question-answering method described above belong to the same concept, and the details not described in detail in the technical scheme of the computer program product can be found in the description of the technical scheme of the knowledge base construction method or the question-answering method described above.
[0297] The above is a description of a specific embodiment of the specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in an order different from that in the embodiments and still achieve the desired results. In addition, the processes depicted in the drawings do not necessarily require the specific order or continuous order shown to achieve the desired results. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.
[0298] The computer instructions include computer program codes, which may be in source code form, object code form, executable files or some intermediate forms, etc. The computer readable medium may include: any entity or device capable of carrying the computer program code, recording medium, USB flash drive, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier signal, telecommunication signal and software distribution medium, etc. It should be noted that the contents contained in the computer readable medium may be appropriately increased or decreased according to the requirements of patent practice. For example, in some regions, according to patent practice, computer readable media do not include electric carrier signals and telecommunication signals.
[0299] It should be noted that, for the above-mentioned method embodiments, for the sake of simplicity of description, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the embodiments of this specification are not limited by the order of the actions described, because according to the embodiments of this specification, some steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the embodiments of this specification.
[0300] In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, reference can be made to the relevant descriptions of other embodiments.
[0301] The preferred embodiments of this specification disclosed above are only used to help explain this specification. The optional embodiments do not describe all the details in detail, nor do they limit the invention to only the specific implementation methods described. Obviously, many modifications and changes can be made according to the content of the embodiments of this specification. This specification selects and specifically describes these embodiments in order to better explain the principles and practical applications of the embodiments of this specification, so that technicians in the relevant technical field can well understand and use this specification. This specification is only limited by the claims and their full scope and equivalents.
Claims
1. A knowledge base construction method, comprising: Obtaining sample web page contents of a plurality of sample web pages for question and answering about the basic software; Extracting sample indicator information and sample problem descriptions from sample web page contents of the plurality of sample web pages, wherein the sample indicator information includes at least one of a sample performance indicator of the basic software and a sample performance analysis indicator of the basic software; Using the sample indicator information and the sample problem description as entry keys of the plurality of sample web pages, constructing knowledge entries of the plurality of sample web pages; Integrate multiple knowledge items to obtain a question-and-answer knowledge base of the basic software.
2. The method according to claim 1, wherein extracting sample indicator information and sample problem description from sample web page contents of the plurality of sample web pages comprises: The natural language model is used to extract sample indicator information and sample problem descriptions from sample web page contents of the plurality of sample web pages.
3. The method according to claim 2, wherein the extracting sample indicator information from the sample web page contents of the plurality of sample web pages using a natural language model comprises: Extracting sample performance indicators of the basic software from sample web page contents of the plurality of sample web pages based on a preset numerical format using a natural language model; and / or, The sample performance analysis index of the basic software is extracted from the sample web page contents of the plurality of sample web pages based on a preset tag format by using a natural language model.
4. The method according to claim 3, wherein the sample performance analysis indicator of the basic software comprises at least one of a sample call stack record and a sample log record; The extracting of the sample performance analysis index of the basic software from the sample webpage contents of the plurality of sample webpages based on a preset tag format by using a natural language model includes: Extracting a sample call stack record of the basic software from sample web page contents of the plurality of sample web pages based on a preset call stack function label format using a natural language model; and / or, The sample log records of the basic software are extracted from the sample web page contents of the plurality of sample web pages based on a preset log event tag format by using a natural language model.
5. The method according to claim 2, wherein the extracting the sample question description from the sample web page contents of the plurality of sample web pages by using a natural language model comprises: A natural language model is used to extract sample question descriptions from sample web page titles and / or sample comments of the plurality of sample web pages.
6. The method according to claim 1, before integrating the plurality of knowledge items to obtain the question-answer knowledge base of the basic software, further comprises: If the sample indicator information is not extracted, the sample problem description is used as the entry key of the sample web page from which the sample indicator information is not extracted, to construct a knowledge entry of the sample web page; The step of integrating multiple knowledge items to obtain a question-and-answer knowledge base of the basic software includes: Setting the retrieval weight of the knowledge item of the sample web page from which the sample indicator information is extracted as a first weight, and setting the retrieval weight of the knowledge item of the sample web page from which the sample indicator information is not extracted as a second weight, wherein the first weight is higher than the second weight; Based on the first weight and the second weight, multiple knowledge items are integrated to obtain a question-and-answer knowledge base of the basic software.
7. The method according to claim 1, wherein obtaining sample webpage contents of a plurality of sample webpages for question and answer on the basic software comprises: Obtaining sample web page content for a plurality of sample web pages for basic software; The sample webpage contents of the plurality of sample webpages are screened based on preset question-and-answer keywords to obtain the sample webpage contents of the plurality of sample webpages that conduct question-and-answer operations on the basic software.
8. The method according to claim 1, wherein the basic software comprises at least one software type; The step of constructing knowledge entries of the plurality of sample web pages by using the sample indicator information and the sample problem description as entry keys of the plurality of sample web pages includes: The software type, sample indicator information and sample problem description of the basic software are used as entry keys of the multiple sample web pages to construct knowledge entries of the multiple sample web pages.
9. The method according to any one of claims 1 to 8, wherein the sample webpage content includes sample answer content; Before constructing the knowledge entries of the plurality of sample web pages by using the sample indicator information and the sample problem description as entry keys of the plurality of sample web pages, the method further includes: Using a natural language model, perform summary generation on the sample answer contents of the plurality of sample web pages to obtain sample answer conclusions; The step of constructing knowledge entries of the plurality of sample web pages by using the sample indicator information and the sample problem description as entry keys of the plurality of sample web pages includes: The knowledge entries of the multiple sample web pages are constructed by using sample indicator information and sample problem descriptions as entry keys of the multiple sample web pages and using sample answer conclusions as entry values of the multiple sample web pages.
10. According to the method of claim 9, any sample web page has a corresponding sample web page link; The method of constructing knowledge entries of the plurality of sample web pages by using the sample indicator information and the sample problem description as entry keys of the plurality of sample web pages and using the sample answer conclusions as entry values of the plurality of sample web pages includes: The knowledge entries of the multiple sample web pages are constructed by using sample indicator information and sample problem descriptions as entry keys of the multiple sample web pages, and using sample answer conclusions and sample web page links as entry values of the multiple sample web pages.
11. A question-answering method, comprising: Obtaining a target problem for the basic software input by a user, wherein the target problem includes at least one of target indicator information and a target problem description; Based on the target question, matching is performed with the entry keys of multiple knowledge entries in the question-and-answer knowledge base of the basic software to obtain a target knowledge entry, wherein any knowledge entry includes an entry key, and the entry key is sample indicator information and a sample question description in a sample web page content of a sample web page for question-and-answer on the basic software, the sample indicator information and the sample question description are extracted from the sample web page content, and the sample indicator information includes at least one of a sample performance indicator of the basic software and a sample performance analysis indicator of the basic software; The target knowledge item is used as the target answer content of the target question and fed back to the user.
12. The method according to claim 11, wherein the step of matching the target question with the entry keys of a plurality of knowledge entries in the question-answer knowledge base of the basic software to obtain the target knowledge entry comprises: Based on the target question, semantic matching is performed with item keys of multiple knowledge items in the question-and-answer knowledge base of the basic software to obtain semantic matching degrees of the multiple knowledge items; Filtering at least one knowledge item from the plurality of knowledge items based on whether the semantic matching degree of the plurality of knowledge items exceeds a preset threshold; Based on the ranking of the semantic matching degree of the at least one knowledge item, a target knowledge item is determined.
13. The method according to claim 12, after feeding back the target knowledge item as the target answer content of the target question to the user, further comprises: receiving an answer feedback sent by the user for the target answer content, wherein the target answer feedback describes whether the target answer content meets the target question; If the answer feedback is not in compliance, the target knowledge item is removed from the at least one knowledge item, and the process returns to the step of performing the sorting based on the semantic matching degree of the at least one knowledge item to determine the target knowledge item.
14. The method according to claim 12, after performing semantic matching based on the target question with the entry keys of multiple knowledge entries in the question-answer knowledge base of the basic software to obtain the semantic matching degree of the multiple knowledge entries, further comprises: When the semantic matching degrees of the plurality of knowledge items do not exceed a preset threshold, matching the sample web page contents of the sample web pages in the open source sample library with the target question to obtain a reference sample web page; Extracting sample indicator information and sample problem description from the sample webpage content of the reference sample webpage; Using sample indicator information and sample problem description as entry keys of the reference sample webpage, constructing knowledge entries of the reference sample webpage; Add the knowledge item to the question-and-answer knowledge base.
15. The method according to claim 11, after matching the target question with the entry keys of a plurality of knowledge entries in the question-answer knowledge base of the basic software to obtain the target knowledge entry, further comprises: Based on the target problem description of the target problem, the sample problem description in the entry key of the target knowledge item is updated.
16. A computing device comprising: Memory and processor; The memory is used to store computer programs / instructions, and the processor is used to execute the computer programs / instructions. When the computer program / instructions are executed by the processor, the steps of the method described in any one of claims 1 to 15 are implemented.
17. A computer-readable storage medium storing a computer program / instruction, wherein the computer program / instruction, when executed by a processor, implements the steps of the method according to any one of claims 1 to 15.
18. A computer program product, comprising a computer program / instruction, which, when executed by a processor, implements the steps of the method according to any one of claims 1 to 15.
Citation Information
Patent Citations
Query techniques and ranking results for knowledge-based matching
CN105814564A
Artificial intelligence based problem descriptions
US20200117739A1