Matching System, Method, and Program

The matching system addresses the challenge of incomplete search results by using a large language model to evaluate user skills through multiple elements, ensuring accurate and comprehensive user matching based on skill relevance.

JP7702025B1Active Publication Date: 2025-07-02HOKKAIDO BUSINESS AUTOMATION CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2024127932
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2024-08-02
Publication Date
2025-07-02
Estimated Expiration
2044-08-02

AI Technical Summary

Technical Problem

Existing person search systems fail to accurately match users with relevant skills when business history data does not align with search keywords, leading to incomplete search results.

Method used

A matching system utilizing a server with a large language model, user skill information storage, skill information storage in a tree structure, and extraction units to determine skill relevance and calculate scores based on user questions, questionnaire answers, work history, and know-how, facilitating comprehensive user matching.

Benefits of technology

Enables objective and accurate matching of users with relevant skills by evaluating multiple elements and displaying users in descending order of skill scores, enhancing the matching process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007702025000001_ABST
    Figure 0007702025000001_ABST
Patent Text Reader

Abstract

Provided are a matching system, a matching method, and a matching program that facilitate comprehensive matching between a user and a user seeking the user. 【Solution means】The matching system 10 of the present invention includes a user skill information storage unit 32, a skill information storage unit 33, an extraction unit 51, and an output unit 52. The user skill information storage unit 32 stores user skill information associating a plurality of users with scores indicating the level of skills possessed by each of the plurality of users. The skill information storage unit 33 stores a plurality of skills in a tree structure. The extraction unit 51 extracts, from the skill information storage unit 33, skills stored in the lowest layer of the tree structure and related to at least a part of the acquired text. The output unit 52 identifies an arbitrary number of users in descending order of the scores of the skills extracted in the user skill information storage unit 32, and displays the identified users as search results.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a matching system, a matching method, and a matching program.

Background Art

[0002] In organizations such as companies and public institutions, when looking for a person with high skills to perform a certain task, a technique of searching for a desired person from among a plurality of persons and matching the person with the searcher is widely used. Patent Document 1 describes a person search device, which includes a business history database, a search processing unit, and an output processing unit. The business history database stores, for each of a plurality of persons, the business history related to the business that the person has been in charge of. The search processing unit searches for an experienced person based on the business history registered in the business history database and calculates the knowledge level for each experienced person. The output processing unit outputs the experienced person obtained by the search processing unit and their knowledge level as a search result.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] A person (user) who uses the person search device described in Patent Document 1 can search for an experienced person when the business history data registered in the business history database matches the keyword included in the search conditions. However, each piece of business history data often does not match the keyword, and when it does not match, the search result is not output.

[0005] Therefore, an object of the present invention is to provide a matching system, a matching method, and a matching program that facilitate comprehensive matching between a user and a user who seeks the user.

Means for Solving the Problems

[0006] The matching system of the present invention includes A server, a user skill information storage unit, a skill information storage unit, an extraction unit, a score calculation unit, and an output unit. The server has a large language model, The user skill information storage unit stores user skill information associating a plurality of users with scores indicating the level of skills possessed by each of the plurality of users. The skill information storage unit stores a plurality of skills the skill name, skill identification information, and an explanation of the skill in text format, and in a tree structure. The extraction unit from a user terminal used by the user extracts skills related to at least a part of the acquired text sends a prompt having at least a part of the text, the skill name, and / or the explanation of the skill to the server, and in response to the acquisition of the prompt by the server, collaborates with the server to use the large language model to determine the relevance between at least a part of the text, the skill name, and / or the explanation of the skill, and at least a part of the text from the skill information storage unit. The score calculation unit calculates a score indicating the level of each skill for the skills related to at least a part of the text based on the evaluation of a plurality of elements including at least one of the answer to the user's question, the questionnaire answer regarding the user's skill, the user's registered work history, and the user's know-how, and stores the calculated score in the user skill information storage unit. The output unit identifies an arbitrary number of users in descending order of the scores of the skills extracted by the extraction unit in the user skill information storage unit, and displays the identified users as search results. Indicating the level The explanation of the skill is the content of the skill. The extraction unit collaborates with the server to extract, by batch processing, the identification information corresponding to the skill related to at least a part of the text indicating the question and the answer to the question acquired from the user terminal from the skill information storage unit, and in response to the acquisition of the extracted identification information, stores the evaluation that has been previously evaluated for the answer to the question corresponding to the identification information in the user skill information storage unit as the user skill information of the user who answered the question.

[0007] The matching system It is preferable to further include a question submission storage unit for inputting the title of the question indicating the content of the user's question and the question content. When there is an input of the content of the question, the question submission storage unit generates a chat screen in response to the reception of the input content, and when a user other than the user who asked the question answers on the chat screen, stores the answer content in response to the reception of the answer content.

[0008] The score calculation unit preferably evaluates the reception at an arbitrary stage for each element of the plurality of elements for each skill, weights them so that the sum of the evaluation ratios of each element is 100%, and calculates a score for each skill.

[0009] The extraction unit preferably extracts only the skills stored in the lowest layer of the tree structure from the skill information storage unit.

[0010] The matching method of the present invention includes In a matching system constructed using a computer, the computer includes a server having a large language model, a user skill information storage unit, a skill information storage unit, an extraction unit, a score calculation unit, and an output unit. The computer a user skill information storage step, a skill information storage step, an extraction step, a score calculation step; and an output step executes . The user skill information storage step by the user skill information storage unit, stores user skill information associating a plurality of users with scores indicating the level of skills possessed by each of the plurality of users. The skill information storage step by the skill information storage unit, stores a plurality of skills the skill name, the identification information of the skill, and the description of the skill in text format, and in a tree structure. The extraction stepby the extraction unit, from the user terminal used by the user At least a part of the obtained text sends a prompt having the skill name and / or the description of the skill as part of it to the server, and in response to the acquisition of the prompt by the server, collaborates with the server to use the large language model to obtain the relevance between at least a part of the text and the skill name and / or the description of the skill, and at least a part of the text Extract the skills related thereto from the skill information storage unit. The score calculation step is performed by the score calculation unit. Based on the evaluation of a plurality of elements including at least one of the answer to the user's question, the questionnaire answer regarding the user's skills, the user's registered work history, and the user's know-how, for the skills related to at least a part of the text, a score indicating the height of each skill is calculated for each skill, and the calculated score is stored in the user skill information storage unit. The output step is by the output unit, For the skills extracted in the extraction step a score indicating height Sort the users in descending order in the user skill information storage unit for any number of users, and display the identified users as search results. The description of the skill is the content of the skill. The extraction step collaborates with the server to extract, by batch processing, the identification information corresponding to the skill related to at least a part of the text indicating the question and the answer to the question from the skill information storage unit, and in response to the acquisition of the extracted identification information, stores the evaluation that has been pre-evaluated for the answer to the question corresponding to the identification information in the user skill information storage unit as the user skill information of the user who answered the question.

[0011] The matching program of the present invention causes a computer to execute each of the above steps.

Effect of the Invention

[0012] According to the present invention, comprehensive matching between a user and a user seeking the user is facilitated.

Brief Description of the Drawings

[0013]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6

Figure 7

Figure 8

Figure 9

Figure 10

Figure 11

Embodiments for Carrying Out the Invention

[0014] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. An embodiment of the present invention will be described with reference to FIG. 1. The matching system 10 shown in FIG. 1 is for matching a user having skills for a certain task with a user who requires them. The matching system 10 may be used not only by users but also by administrators, and in this example, it is configured so that both users and administrators can use it. The administrator performs management of users, management of user skill information, and the like. The administrator may use the matching device 12 as a user.

[0015] The matching system 10 includes a matching device 12, a management terminal 14 used by an administrator, user terminals 16A, 16B, 16C... used by users, and a server 18, and these are connected via a communication network CN. The matching device 12 cooperates with the server 18 to extract the skills described later. In the following description, when the user terminals 16A, 16B, 16C... are not distinguished, they are referred to as user terminal 16. Other servers (not shown) other than the server 18 may be connected to the communication network CN.

[0016] The management terminal 14 is a terminal device used by an administrator and functions as a management terminal that performs various management such as management of users and management of user skill information described later. The number of users in the matching system 10 can be increased or decreased, and the management of users includes, for example, registration and deletion of users.

[0017] The management terminal 14 is a personal computer. However, the management terminal 14 is not limited to a personal computer, and known devices such as a tablet terminal and a smartphone can be used. The number of management terminals 14 may be at least one, or may be plural. For example, when there are a plurality of administrators, the number of management terminals 14 can be plural, and the number of management terminals 14 is arbitrary.

[0018] The user terminal 16 is a terminal device used by the user. The user terminal 16 is, for example, subject to input operations such as various evaluations that constitute user skill information and searches by the user. The user terminal 16 further, for example, displays the matched users or notifies the matched users.

[0019] The user terminal 16 is a personal computer. However, the user terminal 16 is not limited to a personal computer, and known devices such as a tablet terminal or a smartphone can be used. The number of user terminals 16 may be at least one or a plurality. For example, when there are a plurality of users, the number of user terminals 16 can be arbitrary, such as having a plurality of user terminals 16.

[0020] The server 18 sends a program that operates on the browser to the management terminal 14 and the user terminal 16, whereby the management terminal 14 and the user terminal 16 operate on the browser. Therefore, the management of the aforementioned users is performed on the browser by the management terminal 14, and the search of the aforementioned users is performed on the browser by the user terminal 16. The server 18 is composed of a computer and performs various processes according to the input operations on the management terminal 14 and the user terminal 16.

[0021] The matching system 10 shown in FIG. 2 is composed of a matching device 12, a management terminal 14, a user terminal 16, and a server 18. In this example, the matching system 10 includes a user storage unit 31, a user skill information storage unit 32, a skill information storage unit 33, an extraction unit 51, an output unit 52, and the like. The matching device 12 may further include a score calculation unit 53, a notification unit 54, and the like. The user storage unit 31, the user skill information storage unit 32, the skill information storage unit 33, etc. constitute a database DB.

[0022] In FIG. 2, the user memory unit 31 stores user information generated by the generation unit 30 through an input operation from the management terminal 14 by the administrator. The user skill information storage unit 32 stores user skill information generated by the generation unit 30 through an input operation from the management terminal 14 by the administrator or an input operation from the user terminal 16 by the user. The skill information storage unit 33 stores a plurality of skills generated by the generation unit 30 in a tree structure through an input operation from the management terminal 14 by the administrator. The plurality of skills are stored as text data in the skill information storage unit 33. Details of the generation unit 30 will be described later.

[0023] The extraction unit 51 extracts, in cooperation with the server 18 which is an external device, skills related to at least a part of the text acquired from the user terminal 16 from the skill information storage unit 33. The server 18 is equipped with a large language model. The extraction unit 51 acquires text from the input unit 21 of the user terminal 16, further reads out all skill information from the skill information storage unit 33, and sends the acquired text and all skill information as part of a prompt to the server 18. The server 18 determines the degree of relevance between the acquired text and the skill information, and extracts skills related to at least a part of the acquired text. The server 18 sends the extracted skills to the extraction unit 51.

[0024] The output unit 52 identifies an arbitrary number of users in descending order of the scores of the skills extracted by the extraction unit 51 in the user skill information storage unit 32, and displays the identified users on the user terminal 16 as search results.

[0025] The score calculation unit 53 calculates a score based on a questionnaire response (or work history) regarding the user's skills from an input operation from the user terminal 16, and stores the calculated score in the user skill information storage unit 32. Also, the score calculation unit 53 calculates a score based on the height of skills related to at least a part of the acquired text.

[0026] The notification unit 54 notifies the user specified by the output unit 52 of the specification and causes the user terminal 16 to display it.

[0027] The management terminal 14 includes an input unit 21, a display unit 22, and a processing control unit 23. The input unit 21 is, for example, a keyboard, a mouse, a touch panel display, or the like. The display unit 22 displays a display image for managing users, managing user skill information, and the like. A touch panel display may be used as the input unit 21 and the display unit 22. The processing control unit 23 performs each process in response to the acquisition of various information from the input unit 21 and the server 18. The process also includes a display control process for causing the display unit 22 to display a display image. The same applies to the user terminal 16.

[0028] The matching program causes the matching device 12 to perform a predetermined process by executing the matching program. The steps executed by the matching program are a user skill information storage step, a skill information storage step, an extraction step, and an output step.

[0029] The user skill information storage step stores user skill information associating a plurality of users with scores indicating the level of skills possessed by each of the plurality of users.

[0030] The skill information storage step stores a plurality of skills in a branched tree structure. The extraction step extracts skills related to at least a part of the acquired text from the skill information storage unit 33.

[0031] The output step identifies an arbitrary number of users in descending order of the scores of the skills extracted in the extraction step in the user skill information storage unit 32, and causes the identified users to be displayed as search results.

[0032] The operation of the above configuration will be described. In the management terminal 14, user management and the like are performed. In this case, when an input operation of a registration request for the name of the user to be registered and the user registration is performed in the management terminal 14, the processing control unit 23 of the management terminal 14 transmits the input content indicating the user name and the registration request to the generation unit 30 of the matching device 12. When receiving the input content, the generation unit 30 assigns user-specific user identification information (user ID) to each user in response to the reception, generates user information associating the user name, the user ID, and the like, and stores the generated user information in the user storage unit 31.

[0033] When an input operation for user information to be registered, a score indicating the level of the user's skills, and a registration request for requesting such registration is performed on the management terminal 14 and / or the user terminal 16, the processing control unit 23 of the management terminal 14 and / or the user terminal 16 transmits the input content indicating the user information, the score indicating the level of the user's skills, and the registration request to the generation unit 30 of the matching device 12. When the generation unit 30 receives the input content from the input unit 21 of the user terminal 16, in response to this reception, the generation unit 30 generates user skill information associating the user name for each user with a skill ID and the like to be described later, and stores the generated user skill information in the user skill information storage unit 32. In this way, the user skill information storage unit 32 stores a plurality of user skill information. With reference to FIG. 3, two users assigned user IDs of "1001" and "1002" will be described as an example. Regarding the skills of each of these two users, the input content is sent from the processing control unit 23 of the user terminal 16 to the generation unit 30 of the matching device 12 by an input operation at the input unit 21 of the user terminal 16. The generation unit 30 stores the user skill information generated by the generation unit 30 in the user skill information storage unit 32. The score calculation unit 53 reads the user skill information from the user skill information storage unit 32, calculates a score indicating the level of the skill for each skill, and stores the user skill information associating the user with the calculated score in the user skill information storage unit 32 of the matching device 12. In this example, the score calculation unit 53 calculates the score based on a plurality of elements such as the degree of interest in the skill and the level of experience and knowledge. The score calculation unit 53 calculates the score based on the evaluation of each element after evaluating each element. The elements for score calculation in this example are "Element 1", "Element 2", "Element 3", "Element 4", "Element 5", and the evaluation of each element and the score calculation method in the score calculation unit 53 will be described later.

[0034] The skill information storage unit 33 stores a plurality of skills in a tree structure as shown in FIG. 4, for example. When an input operation of a skill name, hierarchical information, and a registration request for requesting these registrations is performed on the management terminal 14, the processing control unit 23 of the management terminal 14 transmits the input content indicating the skill name, hierarchical information, and registration request to the generation unit 30 of the matching device 12. When receiving the input content, the generation unit 30, in response to the reception, assigns skill-specific skill identification information (skill ID) to each skill, generates skill information associating the skill name, skill ID, etc., and stores the generated skill information in the skill information storage unit 33. As described above, the generation unit 30 functions as a user information generation unit for generating user information, a user skill information generation unit for generating user skill information, and a skill information generation unit for generating skill information. The generation unit 30 may be replaced with a plurality of respective generation units including a user information generation unit, a user skill information generation unit, and a skill information generation unit.

[0035] As shown in FIG. 4, an example in which "programming language knowledge" and "relational database knowledge" are input by an input operation from the input unit 21 of the management terminal 14 is shown. These skill names are all at the topmost hierarchy 1. The subordinate skill names of "programming language knowledge" are, for example, "Java" (registered trademark), "JavaScript", ···, and the subordinates of "relational database knowledge" are "PostgreSQL", "MtSQL / MariaDB", ···, respectively. In this example, the skill information stored in a branched tree structure as described above is stored in the skill information storage unit 33. The skill information storage unit 33 can store an explanation for each skill. Here, the explanation for each skill refers to an explanation of the detailed content when the skill name is not a general name but a name used only within a certain organization, and it is the target of skill extraction described later. The skill ID "0100" in this example is "programming language knowledge", the skill ID "0101" is "Java" (registered trademark), the skill ID "0102" is "JavaScript" (registered trademark), the skill ID "0103" is "TypeScript", the skill ID "0104" is "C", the skill ID "0200" is "relational database knowledge", the skill ID "0201" is "PostgreSQL", the skill ID "0202" is "MtSQL / MariaDB" (registered trademark), and the skill ID "0203" is "Oracle Database" (registered trademark).

[0036] Here, among the elements for score calculation, for "Element 1", based on the results of the questionnaire responses regarding the user's skills that are periodically obtained and for which the user has answered as "good at", the score calculation unit 53 performs an evaluation, and the user skill information storage unit 32 stores the evaluation result. For "Element 2", based on the results of the questionnaire responses regarding which the user has answered as having "interest", the score calculation unit 53 performs an evaluation, and the user skill information storage unit 32 stores the evaluation result. When questionnaire response information is generated by the input operation of the user's questionnaire response in the input unit 21 of the user terminal 16 and a registration request for the questionnaire response information is made from the input unit 21 of the user terminal 16, the questionnaire response information is sent from the processing control unit 23 of the user terminal 16 to the user skill information storage unit 32 of the matching device 12, and the evaluations for "Element 1" and "Element 2" are stored in the user skill information storage unit 32. In this example, each element is evaluated on a 10-point scale from 0 to 10. 0 represents the lowest evaluation, and 10 represents the highest evaluation. In this example, all elements are evaluated on a 10-point scale, but the evaluation is not limited to 10 levels and can be any number.

[0037] FIG. 5 is an example of a registration image G1 of a questionnaire response regarding skills displayed on the display unit 22 of the user terminal 16. The registration image G1 includes, for example, a skill name display image section G1a, a response registration image section G1b, an update button B1a for transmitting a response, and the like. In this example, the questionnaire is configured such that the user answers "good at" with the number of stars (from 1 to 5) and answers the presence or absence of "interest" in two levels. In this example, responses regarding "programming language knowledge", "Java" (registered trademark), "JavaScript" (registered trademark), "TypeScript", "C", "relational database knowledge", "PostgreSQL",... can be input. For example, if a user with user ID "1002" selects three stars for any of the skills and operates the update button B1a for transmitting the response at the input unit 21 of the user terminal 16, the response is sent from the processing control unit 23 of the user terminal 16 to the user skill information storage unit 32 of the matching device 12. The score calculation unit 53 reads out the response from this user skill information storage unit 32 and calculates it as "6" by multiplying the number of stars "3" according to a 10-level evaluation. The score calculation unit 53 stores this evaluation result in the user skill information storage unit 32 as the evaluation of "Element 1". In the case of a response of two stars, it is similarly multiplied by 2 to obtain an evaluation of "4", and each is stored in the user skill information storage unit 32. When the response selection is a binary value such as "interest" (on / off), on is evaluated as "10" and off is evaluated as "0". The questionnaire is implemented periodically, and each time it is implemented, the response regarding "good at" for each user is stored as the evaluation of "Element 1", and the response regarding "interest" is stored as the evaluation of "Element 2". In this example, the larger the number of stars or the evaluation number, the higher the evaluation, but it may be the opposite. Also, symbols other than stars may be used.

[0038] The evaluation of "Element 3" will be described with reference to FIG. 6. "Element 3" is evaluated based on the posts of questions made by the user and the posts of their answers. This question and answer are stored in the question post storage section (not shown) of the matching device 12. The question post image G2 has a title input image section G2a for inputting the title of the question, a question content input image section G2b for inputting the content of the question, a post button B2a for registering the question, and the like. When an input operation is performed on the title input image section G2a and the question content input image section G2b respectively from the input section 21 of the user terminal 16 by the user, and a selection operation of the post button B2a is made, the input content is sent from the processing control section 23 of the user terminal 16 to the question post storage section, and the question is posted. When this question post storage section receives the input content, in response to this reception, it generates a chat screen (not shown) through API (Application Programming Interface) cooperation (such as LINE WORKS (registered trademark), Teams (registered trademark), etc.), and this screen is sent from the processing control section 23 of the user terminal 16 to the display section 22 of the user terminal 16, and other users can post answers on the chat tool. FIG. 7 is an example of an answer confirmation image G3 in which the user can confirm the question with the registered answer and the content of the answer displayed on the display section 22 of the user terminal 16. The answer confirmation image G3 has a title display image section G3a for displaying the title of the question, a question content display image section G3b for displaying the content of the question, an answer content display image section G3c for displaying the content of the answer, a resolved button B3a when the question is resolved, a best answer selection button B3b for selecting the most helpful answer, and the like. When the questioner (user) performs an input operation on the resolved button B2b at the input section 21 of the user terminal 16, the input content is sent from the processing control section 23 of the user terminal 16 to the question post storage section. When this question post storage section receives the input content, in response to this reception, it stores the posted question as resolved in the question post storage section. The user can also view the resolved questions.

[0039] For example, when a user asks "When installing version X.XX of Eclipse on a Mac, it freezes on the last screen. What should I do?", and the responder (the user) answers "It seems that there is an error with the latest Mac version. Please try installing version Y.YY.", the extraction unit 51 collaborates with the server 18 to extract "Programming Language Knowledge" and "Java", which are skills (which may also match) related to at least a part of the acquired question and answer text, from the skill information storage unit 33. Here, in this example, it is extracted using a large language model. This large language model determines the degree of relevance (similarity) between at least a part of the acquired text and a plurality of skills stored in the skill information storage unit 33, and extracts relevant skills. The extraction unit 51 (see FIG. 2) causes the server 18 (see FIG. 2), which is an external device of the matching device 12 (see FIG. 2), to extract relevant skills using a large language model. The text "If there are any skills considered to be related to the following text, please select from the following skill information storage unit 33 and return the skill IDs separated by commas. [Questioner] When installing version X.XX of Eclipse on a Mac, it freezes on the last screen. [Responder] It seems that there is an error with the latest Mac version. Please try installing version Y.YY." and the skill information (text format) are input as prompts to the large language model to extract the skill IDs. As described above, in this example, the skill ID "0100" of "Programming Language Knowledge", which is a skill related to "Eclipse", and the skill ID "0101" of "Java" are extracted. The server 18 sends the skill IDs extracted by the extraction unit 51. The skill IDs are sent from the extraction unit 51 to the user skill information storage unit 32 (see FIG. 2), and the evaluation "5" previously evaluated for the skill ID "0100" of the responder (user ID "1001") is stored in the user skill information storage unit 32 as the evaluation of "Element 3", and for the skill ID "0101", the previously evaluated evaluation "5" is stored in the user skill information storage unit 32 as the evaluation of "Element 3".The extraction using this large language model performed by Server 18 (see Fig. 2) may be carried out at any time or at night in a batch. However, performing it at night in a batch reduces the load on Server 18. Therefore, in this example, it is carried out at night in a batch.

[0040] The evaluation of the skill of "Element 4" will be described with reference to Fig. 8. "Element 4" is evaluated by the score calculation unit 53 based on the know-how of the user's own contribution. This know-how contribution is stored in the know-how contribution storage unit (not shown) of the matching device 12. The know-how contribution image G4 includes a title input image part G4a for inputting the title of the know-how, a know-how content contribution image part G4b for contributing the content of the know-how, a button B4a for contributing the know-how, and the like. When the user contributes know-how at the input unit 21 of the user terminal 16, the know-how contribution is sent from the processing control unit 23 of the user terminal 16 to the know-how contribution storage unit. When receiving the contribution content, in response to this reception, it is stored in the know-how contribution storage unit. Other users can view the contributed know-how.

[0041] For example, if the stored know-how is "Summary of the procedure for running Tomcat in Eclipse. First, download Eclipse from the following site...", "Java", which is a skill related to (and may match) at least a part of the acquired text, is extracted from the skill information storage unit 33. Here, in this example, similar to "Element 3", it is extracted using a large language model. The large language model determines the degree of relevance (similarity) between at least a part of the acquired text and a plurality of skills stored in the skill information storage unit 33, and extracts the relevant skills. The extraction unit 51 causes the server 18, which is an external device of the matching device 12, to extract relevant skills using a large language model. The text "If there are skills considered to be related to the following text, select from the following skill information storage unit 33 and return the skill IDs separated by commas. 'Summary of the procedure for running Tomcat in Eclipse. First, download Eclipse from the following site...'" and the skill information (in text format) are input as prompts to the large language model to extract the skill IDs. In this example, the skill ID "0100" of "Programming language knowledge", which is a skill related to "Eclipse", and the skill ID "0101" of "Java" are extracted. The server 18 sends the skill IDs extracted by the extraction unit 51. The skill IDs are sent from the extraction unit 51 to the user skill information storage unit 32, and the evaluation "10" previously evaluated for the skill ID "0100" of the know-how submitter (user ID "1001") is stored in the user skill information storage unit 32 as the evaluation of "Element 4", and the evaluation "10" previously evaluated for the skill ID "0101" is stored in the user skill information storage unit 32 as the evaluation of "Element 4" (see Figure 3). This extraction using the large language model performed by the server 18 (see Figure 2) may be performed at any time or at night in a batch. However, performing it at night in a batch reduces the load on the server 18, so in this example, it is performed at night in a batch.

[0042] Using FIG. 9, the evaluation of the skills of "Element 5" will be described. "Element 5" is evaluated based on the business history registered by the user. This business history is stored in the business history storage section (not shown) of the matching device 12. The business history registration image G5 includes a user name display image section G5a, a business history input image section G5b, a button B5a for updating the business history, and the like.

[0043] For example, when "C" is registered in the business history, "C", which is a skill related to this (it may also match), is extracted from the skill information storage section 33. Here, in this example, similar to "Element 3" and "Element 4", it is extracted using a large language model. The large language model processes the relevance (similarity) between at least a part of the acquired text and the plurality of skills stored in the skill information storage section 33 to extract relevant skills. The extraction section 51 causes the server 18, which is an external device of the matching device 12, to extract relevant skills using a large language model. The text "If there are skills considered to be related to the following text, select from the following skill information storage section 33 and return the skill IDs separated by commas. 'Eclipse...'" and the skill information (text format) are input as prompts to extract the skill IDs. In this example, the skill ID "0100" of "programming language knowledge", which is a skill related to "Eclipse", and the skill ID "0101" of "Java" are extracted. The server 18 sends the skill IDs extracted by the extraction section 51. The skill IDs are sent from the extraction section 51 to the user skill information storage section 32. Work history The evaluation "10" that was previously evaluated for the skill ID "0100" of the poster (user ID "1001") is used as the evaluation of "Element 5 ". The evaluation "10" for the skill ID "0101" is stored in the user skill information storage section 32 as the evaluation of "Element 5". The extraction using the large language model performed by the server 18 (see FIG. 2) The work history is updated or may be performed at any time when registered, or may be performed in a nightly batch. In this example, it is performed at any time.

[0044] Here, the "large language model" model includes all large language models (LLMs), for example, GPT (Generative Pretrained Transformer)-1, GPT-2, GPT-3, GPT-3.5, GPT-4, GPT-4o (registered trademark), T5 (Text-to-Text Transfer Transformer), ELMo (Embeddings from Language Models), BERT (Bidirectional Encoder Representations from Transformers), LaMDA (Large language Model Meta AI), PaLM (Pathways Language Model) (registered trademark), PaLM2, NEMO LLM, Claude (registered trademark), Alpaca 7B, Vicuna 13B, OpenFlamingo, Transformer, or large language models obtained by modifying, improving, transfer learning, or additional learning of these, etc. are included.

[0045] The user skill information storage unit 32 stores evaluations for each element with a maximum value of 10 and a minimum value of 0 for each user and each skill. Each element is weighted so that the total is 100%, and in the score calculation unit 53, a score indicating the level of skill is calculated. In this example, the score calculation unit 53 calculates the score by rounding off the decimal places with the ratio of "Element 1" being 40%, "Element 2" being 30%, and "Element 3" to "Element 5" each being 10%. This weighting is not limited to this, and any weighting may be performed. For the skill ID "0100" of the user ID "1001", the evaluations of "Element 1" is "2", "Element 2" is "10", "Element 3" is "5", "Element 4" is "10", and "Element 5" is "10", and the score is calculated as "6". For the skill ID "0101", the evaluations of "Element 1" is "4", "Element 2" is "10", "Element 3" is "5", "Element 4" is "10", and "Element 5" is "10", and the score is calculated as "7". Then, the score calculation unit 53 sends this score to the user skill information storage unit 32, and the user skill information storage unit 32 stores this score. In this example, the number of elements is 5, but the number of elements may be arbitrary. In this way, by calculating the score based on evaluations such as questionnaire responses or work history related to skills and performing matching, more objective and accurate matching can be performed.

[0046] The extraction unit 51 performs an input operation at the input unit 21 of the user terminal 16, and in cooperation with the server 18, extracts at least a part of the skills related to the text obtained from the processing control unit 23 of the user terminal 16 from the skill information storage unit 33. The "text" here is not the text in the answer of the aforementioned "Element 3", the post of "Element 4", or the business history of "Element 5", but the text related to the skill to be searched for matching. However, it may also be the text in the answer of "Element 3", the post of "Element 4", or the business history of "Element 5". The server 18 is equipped with a large language model. This large language model is the same as the large language model used for extracting the skills of "Element 3", "Element 4", and "Element 5". The large language model determines the degree of relevance (similarity) between at least a part of the obtained text and the multiple skills stored in the skill information storage unit 33, and extracts the relevant skills. The extraction unit 51 causes the server 18, which is an external device of the matching device 12, to extract relevant skills using the large language model. When the text obtained from the user terminal 16 is "Eclipse", the text of "If there are skills considered to be related to the following text, select from the following skill information storage unit 33 and return the skill IDs separated by commas. 'Eclipse'" and the skill information (text format) are input as prompts to the large language model to extract the skill IDs. The skill IDs "0100" and "0101" are extracted as the relevant skills. The server 18 sends the skill IDs extracted by the extraction unit 51. By using the large language model only for skill extraction, the text of the prompt input to the large language model can be reduced, and rapid processing can be achieved.

[0047] The extraction unit 51 may extract only the skills stored in the lowest layer from the skill information storage unit 33. Matching with the skills stored in the lowest layer can improve the accuracy of matching. When calculating the score, the skills in the lowest layer may be preferentially evaluated highly.

[0048] The text input by the input unit 21 of the user terminal 16 is sent from the processing control unit 23 of the user terminal 16 to the extraction unit 51 of the matching device 12, and the extraction unit 51 extracts the skills required by the user from the skill information storage unit 33 of the matching device 12. Then, the scores of the skills extracted by the extraction unit 51 of the matching device 12 identify any number of users in descending order in the user skill information storage unit 32, and the identified users are sent to the output unit 52 as search results. As a result, comprehensive matching between a user and the user who requests it is facilitated.

[0049] As shown in FIG. 10, it is an example of the output image G6 displayed on the display unit 22 of the user terminal 16 by the output unit 52. The output image G6 has, for example, a keyword input search unit G6a for inputting a keyword for searching for a skill whose score of the skill extracted by the extraction unit 51 is high in the user skill information storage unit 32 and identifying any number of users in descending order, a search button B6a for executing the search, a narrowing input unit G6b for inputting narrowing conditions for the search, a matching list image unit G6c for displaying the identified users as search results, and the like. In this example, six users are identified in descending order of score. When the output unit 52 of the matching device 12 receives the search results from the extraction unit 51 in response to this reception, in response to this reception, it is sent from the processing control unit 23 of the user terminal 16 to the display unit 22 of the user terminal 16, and the output image G6 is displayed on the display unit 22 of the user terminal 16. The matching list image unit G6c displays the name of the user, the affiliated organization, the score of the skill, etc., and has a button B6b for displaying the detailed content of the skill, etc. When a selection operation of the button B6b is made from the input unit 21 of the user terminal 16, it is sent from the processing control unit 23 of the user terminal 16 to the output unit 52 of the matching device 12. When the output unit 52 receives the input operation from the input unit 21 of the user terminal 16, in response to this reception, it sends the detailed content to the processing control unit 23 of the user terminal 16, and the detailed content is displayed on the display unit 22 of the user terminal 16. Furthermore, it also has a call button B6c, a chat button B6d, etc. When the user selects and operates these buttons with the input unit 21 of the user terminal 16, it is sent from the processing control unit 23 of the user terminal 16 to the output unit 52 of the matching device 12 through API (Application Programming Interface) cooperation (such as LINE WORKS (registered trademark), Teams (registered trademark), etc.). When the output unit 52 receives the selection operation, in response to this reception, a call or chat with the selected user is started. Note that there are n buttons B6b, call buttons B6c, and chat buttons B6d, each being a button B6b, a call button B6c, and a chat button B6d.

[0050] As shown in FIG. 11, when the notification unit 54 receives a search result from the output unit 52 of the matching device 12, in response to this reception, a notification content for notifying that something has been specified is generated, and it is sent from the processing control unit 23 of the user terminal 16 to the display unit 22 of the user terminal 16, and a notification image G7 is displayed on the display unit 22. The notification image G7 can display details such as the name of the matched user, the affiliated organization, and the required skills. By notifying the matched user, subsequent exchanges with the matching partner can be carried out smoothly.

Explanation of Signs

[0051] 10 Matching System 12 Matching Device 14 Management Terminal 16A, 16B, 16C, ··· User Terminal 18 Server 31 User Storage Unit 32 User Skill Information Storage Unit 33 Skill Information Storage Unit 51 Extraction Unit 52 Output Unit 53 Score Calculation Unit 54 Notification Unit

Claims

1. a server having a large language model; a user skill information storage unit that stores user skill information that associates a plurality of users with a score that indicates a level of skill of each of the plurality of users; a skill information storage unit that stores the skill names, the skill identification information, and the skill descriptions of the plurality of skills in a text format and in a tree structure; an extraction unit that sends a prompt having at least a portion of a text acquired from a user terminal used by the user and a name of the skill and / or a description of the skill as a part thereof to the server, and in response to acquisition of the prompt by the server, cooperates with the server and uses the large-scale language model to determine a degree of association between at least a portion of the text and the name of the skill and / or the description of the skill, and extracts the skill associated with at least a portion of the text from the skill information storage unit; a score calculation unit that calculates the score indicating the level of each skill for the skills related to at least a part of the text based on an evaluation of a plurality of elements consisting of the answers to the questions of the user, the answers to a questionnaire about the skills of the user, and at least one of the work history and know-how of the user registered by the user, and stores the calculated scores in the user skill information storage unit; an output unit that identifies an arbitrary number of users in the user skill information storage unit in descending order of the scores indicating the level of the skill extracted by the extraction unit, and displays the identified users as a search result; The description of the skill is the content of the skill; The extraction unit cooperates with the server to extract, from the skill information storage unit, the identification information corresponding to the skill related to at least a part of the text indicating the question and the answer to the question by batch processing, and in response to acquisition of the extracted identification information, stores in the user skill information storage unit an evaluation that has been previously performed on the answer to the question corresponding to the identification information as user skill information of the user who answered the question. Matching system.

2. a question posting storage unit for allowing the user to input a question title and question content indicating the content of the question, The matching system of claim 1, wherein the question posting memory unit generates a chat screen in response to receiving the input content when the content of the question is input, and when a user other than the user who asked the question responds on the chat screen, stores the content of the response in response to receiving the content of the response.

3. The matching system according to claim 1 or 2, wherein the score calculation unit evaluates each of the plurality of elements for each skill at an arbitrary level, weights the elements so that the sum of the evaluation ratios of the elements is 100%, and calculates the score for each skill.

4. The matching system according to claim 1 or 2, wherein the extraction unit extracts only the skills stored in the lowest layer of the tree structure from the skill information storage unit.

5. In a matching system constructed using a computer, The computer includes a server having a large-scale language model, a user skill information storage unit, a skill information storage unit, an extraction unit, a score calculation unit, and an output unit; The computer includes: a user skill information storage step of storing, by the user skill information storage unit, user skill information in which a plurality of users is associated with a score indicating a level of skill of each of the plurality of users; a skill information storage step of storing, by the skill information storage unit, skill names, skill identification information, and skill descriptions of the plurality of skills in a text format and in a tree structure; an extraction step of sending a prompt having at least a portion of a text acquired from a user terminal used by the user and a name of the skill and / or a description of the skill to the server by the extraction unit, and in response to acquisition of the prompt by the server, using the large-scale language model in cooperation with the server to determine a degree of association between at least a portion of the text and the name of the skill and / or the description of the skill, and extracting the skill associated with at least a portion of the text from the skill information storage unit; a score calculation step of calculating, by the score calculation unit, a score indicating a level of each skill for the skills related to at least a part of the text based on an evaluation of a plurality of elements consisting of the answer to the question of the user, the answer to a questionnaire about the user's skills, and at least one of the user's own work history and know-how registered by the user, and storing the calculated score in the user skill information storage unit; an output step of identifying an arbitrary number of users in the user skill information storage unit in descending order of the scores indicating the level of the skills extracted in the extraction step, and displaying the identified users as a search result, by the output unit; Run The description of the skill is the content of the skill; The extraction step involves extracting, in cooperation with the server, from the skill information storage unit by batch processing, the identification information corresponding to the skill related to at least a part of text indicating the question and the answer to the question, and storing, in response to acquisition of the extracted identification information, an evaluation previously performed on the answer to the question corresponding to the identification information in the user skill information storage unit as user skill information of the user who answered the question. Matching method.

6. A server having a large language model, a user skill information storage step of storing user skill information in which a plurality of users is associated with a score indicating a level of skill of each of the plurality of users; a skill information storage step of storing skill information in which the skill names, the skill identification information, and the skill descriptions of the plurality of skills are stored in a text format and in a tree structure; an extraction step of sending a prompt having at least a portion of a text acquired from a user terminal used by the user and a skill name and / or a description of the skill as a part thereof to the server, and in response to the acquisition of the prompt by the server, working in cooperation with the server, using the large-scale language model to determine a degree of association between at least a portion of the text and the skill name and / or the description of the skill, and extracting the skill associated with at least a portion of the text from the skill information; a score calculation step of calculating a score indicating a level of each skill for the skills related to at least a part of the text based on an evaluation of a plurality of elements consisting of the answers to the questions of the user, the answers to a questionnaire about the user's skills, and at least one of the user's own work history and know-how registered by the user, and storing the calculated scores as the user skill information; an output step of identifying an arbitrary number of users in the user skill information in descending order of the scores indicating the level of the skills extracted in the extraction step, and displaying the identified users as a search result; Run the following on your computer: The description of the skill is the content of the skill; The extraction step involves extracting, from the skill information by batch processing, the identification information corresponding to the skill related to at least a part of the text indicating the question and the answer to the question in cooperation with the server, and storing, in response to acquisition of the extracted identification information, an evaluation previously performed on the answer to the question corresponding to the identification information in a user skill information storage unit as user skill information of the user who answered the question. Matching program.

Citation Information

Patent Citations

  • Skill information management device, skill information management method and skill information management program

    JP2018018433A

  • Person-in-charge retrieval apparatus and method

    JP2020077024A

  • Information processing device, information processing method, and information processing program

    JP2020091684A

  • Information processing system, expert search method, and program

    JP2023019634A

  • Information processor, program, and information processing method

    JP2024059855A