A resource allocation method based on artificial intelligence
Patent Information
- Application Number
- CN202610694714.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-05-20
- Publication Date
- 2026-10-16
- Estimated Expiration
- 2046-05-20
AI Technical Summary
[0006]为此,本发明提供一种基于人工智能的资源分配方法,用以克服现有技术中教学平台无法有效分发资源,从而在面对高并发请求时,稳定性不足的问题
[0017] Compared with existing technologies, the beneficial effects of this invention are as follows: by deploying a structured directory queue on the server side and using artificial intelligence to confirm the queue and generate corresponding feedback data on the user terminal, the server can effectively reduce invalid resource transmission caused by users quickly switching courses or making repeated requests, thereby effectively reducing server load. At the same time, by setting up a resource directory, repeated resources can be quickly called and distributed, which can effectively improve the response efficiency of high-concurrency requests, thereby effectively improving the stability of resource allocation.
Smart Images

Figure CN122243130B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data management technology, and in particular to a resource allocation method based on artificial intelligence. Background Technology
[0002] To ensure the quality of online education, online education terminals are equipped with relatively strict authentication systems and controllable chips. Although this improves the reliability and stability of the terminals, it cannot meet the increasingly complex needs of users. Therefore, a platform is usually set up to assist user terminals in information processing.
[0003] However, as the amount of data on the platform increases and the number of user terminals grows, the platform's inability to respond to demands in a timely manner has become one of the pain points of online education.
[0004] Chinese Patent Application Publication No. CN121120340B discloses a smart campus teaching resource management method and system based on artificial intelligence. The method includes: acquiring students' current learning resource search records and the school's next stage teaching resource allocation; filtering out key learning resources; analyzing the effective frequency of searches based on the retrieved records to obtain effective search values; performing search conversion analysis on key learning resources to obtain search conversion values; determining the dominant and non-dominant search platforms based on the reserve ratio of key learning resources in each resource platform; integrating these platforms to form a search conversion platform group; conducting search channel blocking risk analysis to determine whether conversion channel allocation is necessary; and if so, allocating conversion channels based on search conversion records and conversion proximity analysis, combined with search conversion values. This facilitates the rational allocation of teaching resources and improves resource utilization.
[0005] While the above method solves the load balancing problem to some extent by setting up several platforms, it is still difficult to effectively balance resources when the number of user requests is too large, and it cannot effectively save the platform's load, resulting in a decrease in stability when facing high concurrency. Summary of the Invention
[0006] To address this issue, the present invention provides an artificial intelligence-based resource allocation method to overcome the problem that existing teaching platforms cannot effectively distribute resources, resulting in insufficient stability when facing high-concurrency requests.
[0007] To achieve the above objectives, on the one hand, the present invention provides a resource allocation method based on artificial intelligence, the device of which includes at least a user terminal and a server, the server being used to respond to resource requests from user terminals, allocate the resources requested by user terminals according to the resource requests, and send the resources to the corresponding user terminals; The resource allocation method includes: Confirm the user terminal and retrieve the resource directory set of the user terminal; Based on the content of the resource request, determine the corresponding prompt words; Select several corresponding resource directories from the resource directory set, generate a directory queue according to the prompt words, and send it as response data to the corresponding user terminal; The directory queue is output to the corresponding user terminal, and several corresponding databases are called according to the directory queue; In response to the feedback data from the user terminal, a corresponding resource queue is formed; The server determines the priority of any database in the corresponding resource directory set by the number of times each database is reproduced in each resource queue within a single call cycle, and forms a corresponding priority archive. Specifically, when the server responds to the resource request, it invokes the priority archive.
[0008] Furthermore, each resource directory set corresponds to at least one user; The resource catalog set is set according to the user's demand vector; For any given call cycle, the resource catalog set is the same for each user corresponding to a single demand vector.
[0009] Further, the step of determining the demand vector includes: In response to a single user's resource request, determine the databases corresponding to that resource request and form the corresponding initial demand coordinates; Based on the user's final resource request, determine the corresponding endpoint demand coordinates; Record the database changes from the initial demand coordinates to the final demand coordinates as demand vectors.
[0010] Furthermore, the step of generating the directory queue includes: Determine the total number of databases to be called and the total resources of each database; Determine whether the server can handle the total amount of resources during the call cycle; If the server is unable to access the total resources, the processing queue for the current call cycle is determined based on the number of times the total resources are reproduced in each directory queue. Upon completion of the corresponding call cycle, read the directory queues that have not yet entered the processing queue.
[0011] Furthermore, for a single call cycle, the databases invoked by a single user's single demand vector are the resource catalog set of that user; In a single call cycle, several corresponding demand vectors are generated based on the resource request information. Generate the corresponding initial database directory based on the database corresponding to each demand vector; Compare the resource directory set corresponding to each user with the initial database directory; Generate a database reproduction queue; Select a low-frequency database with a preset low-frequency ratio and exclude it from the call cycle; When executing the next call cycle, a preset low-frequency duration is used as the interval, and the low-frequency database is called within the preset low-frequency duration; The preset low-frequency ratio and the preset low-frequency duration are related to the server's processing capacity and are positively correlated with the total number of database calls.
[0012] Furthermore, the generation of the response processing queue, A preset low-frequency duration is invoked, and at the end of the invocation cycle, the processing queue is invoked within the preset low-frequency duration.
[0013] Furthermore, in response to the priority archive call, the server sequentially calls each database according to the sorting of the corresponding resource directories in the directory queue; The higher the priority of a database, the earlier it appears in the directory queue.
[0014] On the other hand, the present invention also provides another resource allocation method based on artificial intelligence, the device of which includes at least a user terminal and a server, the user terminal being used to request resources from the server and display the corresponding resources to the user according to user instructions; The resource allocation method includes: Confirm user permissions and call the corresponding user directories accordingly; Respond to user actions and generate corresponding prompts based on the results. Generate corresponding resource requests based on each prompt word and send them to the server; Its characteristic is that it further includes: The system responds to the resource request with response data and generates corresponding feedback data based on each prompt word. Receive resources transmitted from the server and display the resources; Specifically, when the feedback data is generated, the weights of each prompt word are sorted according to the priority archive recorded in the user directory.
[0015] Furthermore, the step of generating the prompt word includes: The user actions are compared with a preset prompt dictionary; Determine the user's semantic library based on the user directory; The initial prompt word for the corresponding user is determined based on the semantic database and the prompt word database; The resource directory set is compared with the initial prompt words, the initial prompt words are corrected, and the prompt words are filtered and determined. Specifically, when filtering the prompt words, if a single initial prompt word cannot be matched with any entry in any resource directory of the resource directory set, the initial prompt word is filtered out.
[0016] Furthermore, the semantic library is also adjusted according to the corresponding user's demand vector; For a single generated prompt word, if the selected endpoint demand coordinates shift, the shift result is recorded in the semantic library, and the priority of the demand vector is increased.
[0017] Compared with existing technologies, the beneficial effects of this invention are as follows: by deploying a structured directory queue on the server side and using artificial intelligence to confirm the queue and generate corresponding feedback data on the user terminal, the server can effectively reduce invalid resource transmission caused by users quickly switching courses or making repeated requests, thereby effectively reducing server load. At the same time, by setting up a resource directory, repeated resources can be quickly called and distributed, which can effectively improve the response efficiency of high-concurrency requests, thereby effectively improving the stability of resource allocation.
[0018] Furthermore, based on the database changes of users from initial demand coordinates to final demand coordinates, their evolution trajectory is recorded. Users corresponding to the same demand vector share the same resource directory set, and resources are classified. At the same time, the server sets the corresponding resource directory set accordingly, and can quickly match the corresponding database in subsequent requests, thereby effectively improving the stability of resource allocation.
[0019] Furthermore, by counting the number of times each database is reproduced in each resource queue within a single call cycle, determining priorities and forming a priority archive, and directly calling the archive in subsequent requests, the server can automatically identify the resources frequently called by users of the corresponding category based on historical call frequency. In addition, as call cycles accumulate, the priority archive can be continuously and automatically optimized, thereby effectively improving the stability of resource allocation through fast calling.
[0020] Furthermore, by using the number of recurrences to determine the processing queue for the current call cycle, and by excluding or delaying low-frequency databases to a preset low-frequency duration before calling them, the server pressure caused by sudden traffic peaks can be effectively avoided. By staggered scheduling, core resources are given priority response, and the delayed low-frequency databases are still fully called in subsequent cycles. This effectively improves the stability of resource allocation by enhancing system robustness.
[0021] On the other hand, this invention improves the stability of resource allocation by setting a method for sorting prompt words by priority archive based on user directory records on the user terminal, and by filtering user requests in combination with the user semantic library and the preset prompt word library, and automatically adjusting the weight of the resource directory, thereby reducing invalid interaction rounds from the client side. Attached Figure Description
[0022] Figure 1 This is a server flowchart of the resource allocation method based on artificial intelligence according to the present invention; Figure 2 This is a user terminal flowchart of the resource allocation method based on artificial intelligence according to the present invention; Figure 3 This is a logic diagram of the resource allocation method according to an embodiment of the present invention. Detailed Implementation
[0023] To make the objectives and advantages of the present invention clearer, the present invention will be further described below with reference to embodiments; it should be understood that the specific embodiments described herein are merely for explaining the present invention and are not intended to limit the present invention.
[0024] Preferred embodiments of the present invention will now be described with reference to the accompanying drawings. Those skilled in the art should understand that these embodiments are merely illustrative of the technical principles of the present invention and are not intended to limit the scope of protection of the present invention.
[0025] It should be noted that in the description of this invention, the terms "upper", "lower", "left", "right", "inner", "outer", etc., which indicate directions or positional relationships, are based on the directions or positional relationships shown in the accompanying drawings. This is only for the convenience of description and is not intended to indicate or imply that the device or element must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, it should not be construed as a limitation of this invention.
[0026] Furthermore, it should be noted that, in the description of this invention, unless otherwise explicitly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in this invention according to the specific circumstances.
[0027] The system described in this solution includes at least user terminals and a server. The server responds to resource requests from user terminals, allocates the requested resources based on the requests, and sends the resources to the corresponding user terminals. Please refer to [link to relevant documentation]. Figure 1 The diagram shown is a server flowchart of the resource allocation method based on artificial intelligence according to the present invention, including: Step Ss1: Confirm the user terminal and retrieve the resource directory set of the user terminal; Step Ss2: Determine the corresponding prompt words based on the content of the resource request; Step Ss3: Select several corresponding resource directories from the resource directory set, generate a directory queue according to the prompt words, and send it as response data to the corresponding user terminal. Step Ss4: Output the directory queue to the corresponding user terminal and call the corresponding databases according to the directory queue; Step Ss5: Respond to the feedback data from the user terminal and form a corresponding resource queue; The server determines the priority of any database in the corresponding resource directory set by the number of times each database is reproduced in each resource queue within a single call cycle, and forms a corresponding priority archive. Specifically, when the server responds to a resource request, it invokes the priority archive.
[0028] Please see Figure 2 As shown, it is a user terminal flowchart of the resource allocation method based on artificial intelligence of the present invention, including: Step Sc1: Confirm user permissions and call the corresponding user directories accordingly; Step Sc2: Respond to the user's operation and generate several corresponding prompts based on the operation result; Step Sc3: Generate corresponding resource requests based on each prompt word and send them to the server; Step Sc4: Respond to the resource request with response data and generate corresponding feedback data based on each prompt word; Step Sc5: Receive the resources transmitted from the server and display the resources; When generating feedback data, the weight of each prompt word is sorted according to the priority of the user directory records.
[0029] By deploying a structured directory queue on the server side and using artificial intelligence to confirm the queue and generate corresponding feedback data on the user terminal, the server can effectively reduce invalid resource transmission caused by users quickly switching courses or making repeated requests, thereby effectively reducing server load. At the same time, by setting up a resource directory, duplicate resources can be quickly called and distributed, which can effectively improve the response efficiency of high-concurrency requests, thereby effectively improving the stability of resource allocation.
[0030] Specifically, a single resource directory set corresponds to at least one user; The resource catalog set is set according to the user's demand vector; For any given call cycle, the resource directory set for each user corresponding to a single demand vector is the same.
[0031] Specifically, the steps to determine the demand vector include: In response to a single user's resource request, determine the databases corresponding to that resource request and form the corresponding initial demand coordinates; Based on the user's final resource request, determine the corresponding endpoint demand coordinates; Record the database changes from the initial demand coordinates to the final demand coordinates as demand vectors.
[0032] Specifically, the steps for generating a directory queue include: Determine the total number of databases to be called and the total resources of each database; Determine whether the server can handle the total amount of resources during the call cycle; If the server cannot access the total resources, the processing queue for the current call cycle is determined based on the number of times the total resources are reproduced in each directory queue. Upon completion of the corresponding call cycle, read the directory queues that have not yet entered the processing queue.
[0033] In implementation, for remote teaching software, when a user first accesses a course, the system does not record any historical behavior. At this time: the user clicks on the course video "Chapter 1: Functions and Limits" on the course homepage. After receiving this resource request, the server parses the request content and determines the database involved in this request. Database A: Basic Concept Explanation Video Library Database B: In-class Example Question Bank The server records these two databases as the initial requirement coordinates: Initial coordinates = {A, B} At the same time, the server creates an empty demand vector record for the user and marks it with the current timestamp T0.
[0034] Over the next 30 minutes, the user initiated the following resource requests in sequence according to Table 1, the resource request list: Table 1 Resource Request List The server tracks the user's request sequence and records the database set corresponding to each request.
[0035] Before the end of the current learning session (e.g., exiting the course or remaining inactive for an extended period), the user's last resource request was "Postgraduate Entrance Examination Questions - Extreme Section," corresponding to database F. The server determines the database involved in the final request during this session as the endpoint requirement coordinate: End point coordinates = {F} Variant Explanation: If the final request involves multiple databases (e.g., requesting both a question bank and a solution bank simultaneously), the endpoint coordinates are the union of these databases. For example, if three consecutive requests all fall on the same set of databases, that set is considered the endpoint coordinates. End point coordinates = {E, F} The server records the sequence of database changes from the initial demand coordinates to the final demand coordinates as a demand vector, including: Extract the database entries that appear in each request in chronological order. Alternatively, you can directly sort all the databases involved in the requests in chronological order.
[0036] For this user's learning session, the demand vector can be considered as: Sequences generated based on a database: V1=[A,B,C,D,E,F] Sequences generated based on time series: Vt1=[A(t1),B(t2),A(t3),C(t4),D(t5),E(t6),F(t7)] In the above vector, the repeated appearance of A indicates that the user repeatedly views the corresponding database; Understandably, in actual operation, any method should be selected according to different strategies. However, in application, the same strategy should be selected for databases that are run once or continuously.
[0037] At this point, the generated demand vector V is stored in the user profile record of this type of user in the server.
[0038] The platform then performs the following operations: Clustering matching: The server searches for the existence of the same or similar demand vectors in an existing user group (e.g., users of students from basic concepts → exercises → past exam questions).
[0039] Understandably, if the aforementioned similar demand vectors exist, the user's resource directory set, i.e., the collection of all databases that may be used under this learning path, will be copied to the corresponding similar users.
[0040] Resource catalog set generation: If the demand vector appears for the first time, the server automatically constructs a resource catalog set based on the order and frequency of each database in the vector.
[0041] For example, for V=[A,B,C,D,E,F], the resource catalog set contains all resources from databases A to F, and is sorted by priority A→B→C→D→E→F.
[0042] At this point, if the user initiates a related request again in a subsequent call cycle, the server will prioritize calling the high-frequency database in the resource catalog set corresponding to the demand vector.
[0043] Based on this, when this type of user learns for the second time and reaches new relevant content, the user's initial request jumps directly to database E, while the final request is to database G.
[0044] The server detected a new demand vector V2=[E,G].
[0045] At this point, the server merges and analyzes V2 with the previous V1 to form a composite demand vector: V1 + V2 = [A, B, C, D, E, F, G] Understandably, vectors sorted based on time sequence can also be composited in this way.
[0046] This composite vector reflects the user's complete learning trajectory from basic knowledge to real exam questions and then to mock tests.
[0047] The server dynamically adjusts its resource directory set accordingly, adds it to database G, and marks the databases (F, G) related to the endpoint coordinates as high priority.
[0048] In particular, if a user makes multiple requests to the database in a very short period of time, the server can treat it as a single batch request and not break it down into independent steps to avoid noise interference.
[0049] Specifically, for a single call cycle, the databases called by a single user's single demand vector are the user's resource directory set; In a single call cycle, several corresponding demand vectors are generated based on the resource request information. Generate the corresponding initial database directory based on the database corresponding to each demand vector; Compare the resource directory set corresponding to each user with the initial database directory; Generate a database reproduction queue; Select a low-frequency database with a preset low-frequency ratio and exclude it from the call cycle; When executing the next call cycle, a preset low-frequency interval is used, and the low-frequency database is called within the preset low-frequency interval; Among them, the preset low-frequency ratio and preset low-frequency duration are related to the server's processing capacity and are positively correlated with the total number of database calls.
[0050] Based on the database changes of users from initial demand coordinates to final demand coordinates, the evolution trajectory is recorded. Users corresponding to the same demand vector share the same resource directory set, and resources are classified. At the same time, the server sets the corresponding resource directory set accordingly, and can quickly match the corresponding database in subsequent requests, thereby effectively improving the stability of resource allocation.
[0051] Specifically, in response to the priority archive call, the server calls each database sequentially according to the order of the corresponding resource directories in the directory queue; Among them, the higher the priority of the database, the higher its position in the directory queue.
[0052] By counting the number of times each database is reproduced in each resource queue within a single call cycle, priorities are determined and a priority archive is formed. Subsequent requests directly call this archive, enabling the server to automatically identify the resources frequently called by users of the corresponding category based on historical call frequency. In addition, as call cycles accumulate, the priority archive can be continuously and automatically optimized, thereby effectively improving the stability of resource allocation through fast calling.
[0053] Specifically, the generation of the response processing queue, Call a preset low-frequency duration, and at the end of the call cycle, call the processing queue within the preset low-frequency duration.
[0054] By using the number of recurrences to determine the processing queue for the current call cycle and excluding or delaying low-frequency databases to a preset low-frequency duration before calling them, the server pressure caused by sudden traffic peaks can be effectively avoided. Through peak-shifting scheduling, core resources are given priority response, and the delayed low-frequency databases are still fully called in subsequent cycles. By improving system robustness, the stability of resource allocation is effectively improved.
[0055] In practice, the processing queue is the queue of resources that the server can actually access within the current call cycle. When the server's capacity is insufficient, the directory queue that has not entered the current processing queue or needs to be delayed will be processed after a preset low-frequency duration.
[0056] In one embodiment, such as: The server can handle a maximum of 100 database call requests during the 8:00-8:10 PM call cycle. However, it actually received 150 requests. Based on priority archiving, databases A, B, and C are considered high-frequency, with a total of 90 requests. Databases D and E are low-frequency databases, with a total of 60 requests.
[0057] Current processing queue: 90 high-frequency requests (databases A, B, C) are being processed immediately.
[0058] Delayed queue: 60 low-frequency requests (databases D and E) will not be processed for the time being.
[0059] At the end of the cycle (8:10:00): The server starts a preset low-frequency duration Δt = 40 seconds (this duration is positively correlated with the server's processing capacity; the stronger the capacity, the shorter Δt).
[0060] During the low-frequency period (8:10:00 - 8:10:40): The server calls 60 requests in the delayed queue. Due to bandwidth limitations, 50 were actually completed within 40 seconds, leaving 10 remaining.
[0061] Entering the next cycle (8:10:40): The remaining 10 requests, along with the new requests from cycle T2, will re-enter the priority sorting process.
[0062] During the above process, the server went through the following: The server evaluates processing performance such as the maximum concurrent database connections and bandwidth for the current period. If the total number of database calls required by all resource queues exceeds the processing capacity, then: Sort the resource queue according to priority archives; Place the resource queue corresponding to the high-priority database into the current processing queue and execute the call immediately; The resource queue corresponding to the low-priority database is placed into the delayed queue and processed after the period ends.
[0063] Specifically, the steps for generating prompt words include: Compare user actions with a preset suggestion dictionary; Determine the user's semantic library based on the user directory; The initial prompt word for the corresponding user is determined based on the semantic database and the prompt word database; The resource directory set is compared with the initial prompt words, the initial prompt words are corrected, and the prompt words are filtered and determined. Specifically, when filtering suggestion words, if a single initial suggestion word cannot be matched with any word in any resource directory in the resource directory set, the initial suggestion word will be filtered out.
[0064] Specifically, the semantic library is also adjusted according to the corresponding user's demand vector; For a single generated prompt word, if the selected endpoint demand coordinates are offset, the offset result will be recorded in the semantic database, and the priority of the demand vector will be increased.
[0065] By setting the priority of prompt words based on the user directory records in the user terminal, and combining the user semantic library with the preset prompt word library to filter the requests sent by the user, the weight of the resource directory is automatically adjusted, reducing the number of invalid interaction rounds from the client side, thereby effectively improving the stability of resource allocation through active filtering.
[0066] When filtering prompts, the following methods can be used: Module 1: Intent Encoder (Application Model: Domain Adaptive BERT) Objective: To encode the user's original query and user directory information into a unified intent vector.
[0067] Training steps: Continue pre-training: Using the 1 million+ user query texts accumulated on the platform (including course titles, courseware content, exercise stems, etc.), the Chinese BERT-base model is further pre-trained in a domain-adaptive manner (MLM task) to enable the model to master the vocabulary and semantic distribution in the education domain.
[0068] Intent classification fine-tuning: Construct an intent classification task to map user queries to 20-50 pre-defined coarse-grained intent categories (such as "concept explanation request", "exercise request", "past exam question request", "course navigation request", etc.). The loss function is cross-entropy.
[0069] Contrastive learning enhancement: For users within the same demand vector group, their query intent vectors should be more similar. Contrastive loss is introduced to bring positive sample pairs within the same group closer together and push away negative sample pairs from different groups.
[0070] Evaluation indicators: For intent classification accuracy, a higher mean cosine similarity of intent vectors within the same demand vector group is better.
[0071] Module 2: Prompt Word Generator (Application Model: Pointer Generation Network) Objective: To select or generate prompts from the resource catalog that match the user's intent.
[0072] Network Structure: A pointer-generator network is employed, combining a copying mechanism and a generation mechanism. The copying mechanism directly selects terms from the resource catalog set, while the generation mechanism can generate terms that do not exist in the resource catalog set (for new types of resources).
[0073] Training data: (raw query, user directory embedding, standard prompt word list) triples.
[0074] Training steps: All entries in the resource catalog (such as "relative pronouns in relative clauses" and "examples of limit calculations") are compiled into a reproducible vocabulary.
[0075] The network is generated by training pointers using teacher forcing.
[0076] Introduce a coverage mechanism to avoid generating duplicate prompts.
[0077] Evaluation indicators: Prompt accuracy: The degree of matching between the generated prompts and the labeled words (exact match or semantic similarity > 0.9). Resource catalog set coverage: The proportion of generated prompts that come from the resource catalog set. Module 3: Filter Corrector (Apply whitelist or blacklist) Objective: Determine whether the initial prompt is valid (i.e., whether the corresponding resource can be found in the resource directory set), and filter out invalid prompts.
[0078] Method: This can be viewed as a matching task that does not require training a separate neural network, but instead uses an embedding-based matching threshold.
[0079] Implementation method: Each term in the resource catalog (such as "relative pronouns in relative clauses") is encoded into a vector using BERT in Module 1, and a vector index (such as FAISS) is created.
[0080] For each initial prompt word generated by Module 2, calculate its maximum cosine similarity with all resource directory entries.
[0081] If the maximum similarity is greater than the threshold θ=0.85, then retain the prompt word; otherwise, filter it.
[0082] Threshold learning: Using a validation set (containing cue words that should be kept and those that should be filtered), determine the optimal θ through grid search to maximize the F1 score.
[0083] If it does not correspond to any entry in any resource directory in the resource directory set, the initial prompt word will be filtered out.
[0084] Module 4: Priority Sorter (Application Model: Learned Sort Model) Objective: To prioritize and sort valid suggestions based on their priority, so that suggestions for higher-priority resources are placed at the front of the queue.
[0085] Problem Formulation: Given a query q and a set of candidate suggestions P = {p1, p2, ..., pn}, where each suggestion is associated with one or more databases / resources. The current priority archive assigns a priority score (priority(db)) to each database. The goal is to output a sort of P such that databases corresponding to higher-ranked suggestions have higher priority.
[0086] Model selection: A listwise ranking learning model is adopted, specifically RankNet or LambdaRank.
[0087] Training data: Construct a triple (query q, suggestion list P, priority score vector s). The priority score s comes from the normalized result of the recurrence count statistics from the server.
[0088] Training steps: Extract the following from historical scheduling logs: user query → server-returned directory queue → actual user click order. The user click order can serve as a weak supervisory signal for the actual ranking (resources clicked first by the user correspond to higher priority).
[0089] The recurrence count in the priority archive database is normalized and used as a feature, which is then concatenated with the query embedding and input into the ranking model.
[0090] The model is trained to predict the ranking score for each prompt word, and then sorted in descending order of the score.
[0091] Module 5: Dynamic Updates of the Semantic Library Objective: To adjust the user's semantic library in real time and increase the priority of the corresponding demand vector based on the offset of the endpoint demand coordinates.
[0092] Implementation logic: Maintain a semantic library for each user—essentially a word-weight mapping table, initially copied from the public semantic library of the user's demand vector group.
[0093] When the system detects a shift in the user's endpoint requirement coordinates (e.g., from "Basic Concepts" to "Past Exam Questions"), it records the shift vector.
[0094] For the target resource after the offset, increase the weight of its related terms.
[0095] Specifically, the word-weight relationship is determined using an exponentially weighted moving average: W'=α×W+(1-α)×BF In the formula: W represents the current weight relationship; W' represents the new weighting relationship; α is the attenuation factor, which is usually set to 0.9; BF is the smoothing coefficient, which is generally set to BF>1; At the same time, the priority of this demand vector is increased, that is, the weight of this vector is increased in the server priority archive.
[0096] Evaluation indicators: Offset detection accuracy: The proportion of correctly identified user learning path transformations, and the improvement in prompt word matching rate after semantic database update.
[0097] The training process is as follows: Phase 1 (Offline, Weekly): Collect user queries, behavior logs, and priority archive snapshots from the previous week; Automatic labeling: The prompt words corresponding to the resource that the user finally clicks on are used as positive samples; Training / updating module 1 (intent encoder) and module 2 (cue word generator).
[0098] Phase 2 (Offline, Daily): Collect feedback on the previous day's filtering and correction (which prompts were filtered); If there is concept drift, update the matching threshold of module 3.
[0099] Phase 3 (Online, Real-time): Module 4 (sorter) performs real-time reasoning as the priority archive is updated; Module 5 (Semantic Library Update) Online Incremental Adjustment.
[0100] Phase 4 (Continuous Feedback): User click behavior on the sorted suggestion list → as a reinforcement signal; Periodically replay the experience in Module 4 for incremental training.
[0101] It should be noted that: the user terminal input part in the above embodiment includes at least one computer with several modules, and is carried by the corresponding module in the computer. The user input content is transmitted to a mobile phone with corresponding performance of not less than Qualcomm Snapdragon 625 chip or MediaTek MT6750 chip to complete all the functions of the user terminal. The motherboard of the aforementioned computer integrates a camera module and a display module, enabling information technology applications such as image recognition, object recognition, facial recognition, gesture recognition, and machine learning. The motherboard uses a chip no less powerful than the Kendrick K210, equipped with a convolutional neural network hardware accelerator, allowing for high-performance convolutional neural network computations. During implementation, the input portion of the user terminal must at least meet the following conditions: 1. The motherboard must include at least a CPU, a dedicated FPU (Floating-Point Unit), a KPU (Neural Processing Unit), and an APU (Accelerated Processing Unit). 2. Minimum parameters: CPU frequency: 400MHz; The chip has 8MB of on-chip SRAM (6MB of which is general-purpose and 2MB is dedicated to AI). The total AI computing power is no less than 1 TOPS; Power consumption is no less than 1W, and it is suitable for low-power scenarios powered by batteries. 3. External Interface: Camera (DVP), display (MCU LCD), audio (I2S), programmable I / O (FPIOA).
[0102] The technical solution of the present invention has been described above with reference to the preferred embodiments shown in the accompanying drawings. However, it will be readily understood by those skilled in the art that the scope of protection of the present invention is obviously not limited to these specific embodiments. Without departing from the principles of the present invention, those skilled in the art can make equivalent changes or substitutions to the relevant technical features, and the technical solutions after these changes or substitutions will all fall within the scope of protection of the present invention.
[0103] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention. Various modifications and variations can be made to the present invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.
Claims
1. A resource allocation method based on artificial intelligence, characterized in that, The device includes at least a user terminal and a server. The server is used to respond to resource requests from user terminals, allocate the resources requested by user terminals according to the resource requests, and send the resources to the corresponding user terminals. The user terminals are used to request resources from the server and display the corresponding resources to the user according to user instructions. The resource allocation method performed by the server includes: Confirm the user terminal and retrieve the resource directory set of the user terminal; Based on the content of the resource request, determine the corresponding prompt words; Select several corresponding resource directories from the resource directory set, generate a directory queue according to the prompt words, and send it as response data to the corresponding user terminal; The directory queue is output to the corresponding user terminal, and several corresponding databases are called according to the directory queue; In response to the feedback data from the user terminal, a corresponding resource queue is formed; The server determines the priority of any database in the corresponding resource directory set based on the number of times each database is reproduced in each resource queue within a single call cycle, and forms a corresponding priority archive. When the server responds to the resource request, it invokes the priority archive; In response to the priority archive call, the server sequentially calls each database according to the order of the corresponding resource directories in the directory queue; The higher the priority of a database, the earlier it appears in the directory queue; The resource allocation method executed by the user terminal includes: Confirm the user's permissions and, based on those permissions, access the corresponding user directories. Respond to user actions and generate corresponding prompts based on the results. Generate corresponding resource requests based on each prompt word and send them to the server; The response data for the resource request is processed, and corresponding feedback data is generated based on each prompt word. Receive resources transmitted from the server and display the resources; Specifically, when the feedback data is generated, the weights of each prompt word are sorted according to the priority of the user directory records. A single resource directory set corresponds to at least one user; The resource catalog set is set according to the user's demand vector; For any given call cycle, the resource directory set is the same for each user corresponding to a single demand vector; The steps for determining the demand vector include: In response to a single user's resource request, determine the databases corresponding to that resource request and form the corresponding initial demand coordinates; Based on the user's final resource request, determine the corresponding endpoint demand coordinates; Record the database changes from the initial demand coordinates to the final demand coordinates as demand vectors; The steps for generating the directory queue include: Determine the total number of databases to be called and the total resources of each database; Determine whether the server can handle the total amount of resources during the call cycle; If the server is unable to access the total resources, the processing queue for the current call cycle is determined based on the number of times the total resources are reproduced in each directory queue. Upon completion of the corresponding call cycle, read the directory queues that have not yet entered the processing queue; For a single call cycle, the databases invoked by a single user's single demand vector are the resource catalog set of that user; In a single call cycle, several corresponding demand vectors are generated based on the resource request information. Generate the corresponding initial database directory based on the database corresponding to each demand vector; Compare the resource directory set corresponding to each user with the initial database directory; Generate a database reproduction queue; Select a low-frequency database with a preset low-frequency ratio and exclude it from the call cycle; When executing the next call cycle, a preset low-frequency duration is used as the interval, and the low-frequency database is called within the preset low-frequency duration; The preset low-frequency ratio and the preset low-frequency duration are related to the server's processing capacity and are positively correlated with the total number of database calls.
2. The resource allocation method based on artificial intelligence according to claim 1, characterized in that, The generation of the response processing queue, A preset low-frequency duration is invoked, and at the end of the invocation cycle, the processing queue is invoked within the preset low-frequency duration.
3. The resource allocation method based on artificial intelligence according to claim 1, characterized in that, The steps for generating the prompt words include: The user actions are compared with a preset prompt dictionary; Determine the user's semantic library based on the user directory; The initial prompt word for the corresponding user is determined based on the semantic database and the prompt word database; The resource directory set is compared with the initial prompt words, the initial prompt words are corrected, and the prompt words are filtered and determined. Specifically, when filtering the prompt words, if a single initial prompt word cannot be matched with any entry in any resource directory of the resource directory set, the initial prompt word is filtered out.
4. The resource allocation method based on artificial intelligence according to claim 3, characterized in that, The semantic library is also adjusted according to the corresponding user's demand vector; For a single generated prompt word, if the selected endpoint demand coordinates shift, the shift result is recorded in the semantic library, and the priority of the demand vector is increased.
Citation Information
Patent Citations
An intelligent campus teaching resource management method and system based on artificial intelligence
CN121120340B
Interactive courseware processing system
CN119718285A