NON-TRANSITORY COMPUTER-READABLE STORAGE MEDIUM, INFORMATION PROCESSING DEVICE, AND INFORMATION GENERATION METHOD

A non-transitory computer-readable storage medium storing a program that causes a computer to execute a process, the process including acquiring information identifying a person, obtaining document data created by the person identified by the acquired information from a storage device based on the acquired information, the storage device storing pieces of document data, extracting one or a plurality of words from the obtained document data in accordance with an extraction rule determined based on a type of the obtained document data, generating person management information including the one or a plurality of words and the acquired information identifying the person, and storing the person management information to the storage device.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims the benefit of priority of the prior Japanese Patent Application No. 2017-111802, filed on Jun. 6, 2017, the entire contents of which are incorporated herein by reference.

FIELD

The embodiments discussed herein are related to a non-transitory computer-readable storage medium, an information processing device, and an information generation method.

BACKGROUND

In recent years, reductions in time periods for development are requested in fields such as software development. It is, therefore, difficult to develop human resources during business operations and secure human resources, human resources with skills related to development are collected, and teams are created.

In the selection of human resources in order to create teams, human resources are evaluated based on self-assessments regarding specialized techniques, evaluation by close persons (for example, bosses or the like), test results, and whether or not each of the human resources has a license, and human resources that satisfy requirements are searched, for example.

Examples of related art are Japanese Laid-open Patent Publication No. 2013-191077 and Japanese Laid-open Patent Publication No. 2008-217321.

SUMMARY

According to an aspect of the disclosure, a non-transitory computer-readable storage medium storing a program that causes a computer to execute a process, the process including acquiring information identifying a person, obtaining document data created by the person identified by the acquired information from a storage device based on the acquired information, the storage device storing pieces of document data, extracting one or a plurality of words from the obtained document data in accordance with an extraction rule determined based on a type of the obtained document data, generating person management information including the one or a plurality of words and the acquired information identifying the person, and storing the person management information to the storage device.

DESCRIPTION OF EMBODIMENTS

In the evaluation of human resources, it is considered that information on skills of the human resources is acquired from technical documents created through processes involving the human resources and to evaluate the human resources. The technical documents, however, are of various types, for example, patent documents, papers, specifications, and question and answer (Q & A) statements for handling customers, and technical skills requested to create the technical documents are different for the technical documents. Thus, for example, if the various types of technical documents are equally handled and the information on the skills is acquired, information appropriate to evaluate the human resources may not be obtained.

According to an aspect, an object is to generate information useful to evaluate human resources from various types of technical documents.

Hereinafter, embodiments are described in detail with reference to the accompanying drawings. Elements that correspond to each other in multiple drawings are indicated by the same reference symbol.

As described above, for example, in technical fields that are software development and the like and in which reductions in time periods for development are requested, human resources with skills related to the development are collected and teams are created. In the selection of human resources in order to create teams, human resources are evaluated based on self-assessments regarding specialized techniques, evaluation by close persons (for example, bosses or the like), test results, and whether or not each of the human resources have a license, and human resources that satisfy requirements are searched, for example.

In the evaluation of human resources, it is considered that information on skills of the human resources is acquired from technical documents created through processes involving the human resources and to evaluate the human resources, for example. The technical documents, however, are of various types, for example, patent documents, papers, specifications, and question and answer (Q & A) statements for handling customers, and technical skills requested to create the technical documents are different for the technical documents. Thus, for example, if the various types of technical documents are equally handled and the information on the skills is acquired, information appropriate to evaluate the human resources may not be obtained. It is, therefore, desirable to provide a technique for generating information useful to evaluate human resources from various types of technical documents.

In an embodiment described below, words that characterize technical documents are extracted from the various types of technical documents created by a certain human resource and are used as information indicating skills of the human resource. In addition, upon the extraction of the words characterizing the documents, an extraction rule is changed based on each of types of the documents. For example, the number of words to be extracted from a paper for which a high technical level is requested to create the paper is large. On the other hand, the number of words to be extracted from an instruction document for which a lower technical skill than that requested to create a paper is considered to be requested is smaller than the number of words to be extracted from the paper. For example, extraction rules may be determined based on the types of technical documents, and words are extracted from the technical documents in accordance with the extraction rules. By changing an extraction rule based on a technical level requested to create a technical document, it is possible to weight words based on the technical level requested for the technical document, extract words, and use the extracted words to evaluate a human resource. Furthermore, it is possible to extract information on human resources from a wide range of technical documents and extract highly accurate information on human resources. Hereinafter, the embodiment is described in more detail.FIG. 1is a block diagram exemplifying a configuration of an information processing device100according to the embodiment. For example, the information processing device100may execute a process of generating person management information items800(described later) according to the embodiment. The information processing device100may be a computer such as a personal computer (PC) or a laptop computer, for example. The information processing device100includes a controller101, a storage102, and a display103, for example. The controller101may operate as an acquisition unit111, an extractor113, a generator114, and the like, for example. The storage102of the information processing device100may store information such as a technical term dictionary200described later, content information items400and600, person information items500, extraction rule information700, the person management information items800, and association information1000, for example. The display103displays information, for example. Details of these sections and details of the information stored in the storage102are described later.

FIG. 2is a diagram exemplifying the technical term dictionary200according to the embodiment. In the technical term dictionary200, entries that include information on technical terms are registered, for example. The entries of the technical term dictionary200include information of a keyword (word) column, a categories column, an equivalent term (synonym) column, and a related words column. In the keyword column, the technical terms associated with the entries are registered, for example. In the categories column, terms indicating technical fields to which the keywords associated with the entries belong are registered, for example. In the equivalent term (synonym) column, synonyms of the keywords associated with the entries are registered, for example. In the related words column, technical terms related to the keywords associated with the entries are registered, for example.

For example, in an entry in which a keyword is artificial intelligence, categories to which artificial intelligence belongs include artificial intelligence, calculation papers, and neuroscience. In this entry, AI that is an abbreviation of artificial intelligence is registered as a synonym of the keyword that is artificial intelligence. In this entry, deep learning, neural networks, machine learning, voice recognition, and image recognition are included as related words of the keyword that is artificial intelligence. In the embodiment, ranks may be assigned to the related words in order from a word having the highest relevance to the keyword. For example, inFIG. 2, the top rank is assigned to deep learning, the second rank is assigned to neural networks, and the third rank is assigned to machine learning. In another embodiment, ranks may not be assigned to the related words. Details of the ranking of the related words are described later.

The controller101may collect information from existing dictionary data or the like and register entries in the technical term dictionary200, for example. Alternatively, the controller101may collect information from a dictionary site describing explanations of technical terms on the Internet or the like and register entries in the technical term dictionary200.

FIG. 3is a diagram exemplifying an operational flow of a process, to be executed by the controller101of the information processing device100according to the embodiment, of generating the technical term dictionary200. When an instruction to execute the process of generating the technical term dictionary200is input to the information processing device100, the controller101may start the operational flow illustrated inFIG. 3. In another embodiment, a user may operate the information processing device100and register entries in the technical term dictionary200.

In step301(hereinafter, step is described as “S” and, for example, step301is expressed as S301), the controller101of the information processing device100collects technical terms and generates a list of keywords, for example. For example, the controller101crawls a dictionary site describing explanations related to technical terms on the Internet or the like and collect the technical terms from the dictionary site. Then, the controller101may use the collected technical terms as keywords to be processed, generate entries associated with the keywords to be processed, and register the entries in the technical term dictionary200.

In S302, the controller101identifies categories to which the keywords to be processed belong. For example, information of the categories may be already added to the technical terms, depending on the dictionary site describing the technical terms or the like. In this case, the controller101may crawl the dictionary site and collect the information of the categories added to the technical terms. Then, the controller101registers the collected information of the categories in the categories column within the entries associated with the keywords to be processed.

In S303, the controller101collects synonyms of the keywords to be processed. For example, the controller101may crawl a website providing a thesaurus (dictionary of synonyms) or the like, collect the synonyms of the keywords to be processed, and register the collected synonyms in the synonym column within the entries included in the technical term dictionary200and associated with the keywords to be processed.

In S304, the controller101collects related words that are related to the keywords to be processed and assigns ranks to the related words based on relevance between the keywords to be processed and the related words. For example, the controller101may crawl a website including the keywords to be processed and collect, as the related words, words appearing together with the keywords to be processed in the website. Then, the controller101may acquire frequencies at which the related words appear together with the keywords to be processed in the website, or the controller101may acquire the numbers of times that the related words appear together with the keywords to be processed in the website, and the controller101may assign ranks to the related words so that as the frequency at which a related word appears is higher or the number of times that the related word appears is larger, a higher rank is assigned to the related word.

In S305, the controller101registers the related words and information of the ranks in the entries included in the technical term dictionary200and associated with the keywords to be processed. After S305, the controller101terminates the operational flow.

In the embodiment, the controller101may register the entries in the technical term dictionary200in the aforementioned manner. For example, by crawling the Internet or the like to which new information is frequently added, collecting information, and generating entries, it is possible to register entries of keywords related to the latest skill in the technical term dictionary200. In another embodiment, the controller101may generate entries of the technical term dictionary200from dictionary data stored in the local storage102or promote a user to enter information of entries of the technical term dictionary200, and the user may enter the information of the entries.

Subsequently, the generation of the person management information items800including information on techniques and skills of human resources is described with reference toFIGS. 4 to 8.

FIG. 4is a diagram exemplifying a content information item400according to the embodiment. A content information item400may be generated for each technical document, for example. Document data such as technical documents is hereinafter referred to as contents. The contents may include a paper, a patent document, a book, a specification, an instruction document, an article of a Q & A site, an article of a blog related to a technology, a design document, a presentation document, a report, and the like, for example. The content information item400may include information on a content or may include identification information, an information source, a creator, and a detail.

The identification information indicates the content associated with the content information item400. The information source indicates an information source from which the content associated with the content information400has been collected. For example, in a company or the like, contents created by employees are classified into types and managed using databases. Storage locations may be determined based on the types, for example, papers created by employees are registered in a database for managing papers, specifications are registered in a database for managing specifications, and patent documents are registered in a database for managing patent documents. In this case, information of a database from which data is collected and information of a storage location at which the collected data is stored may be registered in the information source. In another example, if data of the content is collected from a predetermined site on the Internet, information of a uniform resource locator (URL) of the predetermined site may be registered in the information source.

The creator indicated in the content information item400is information indicating a creator of the content associated with the content information item400. For example, the creator indicated in the content information item400may include information of the name of the creator, a mail address of the creator, and a department of the creator. The department may be information indicating a department to which the creator belongs in a company, an organization, or the like. As an example, the information registered in the creator may be collected from the content associated with the content information item400. In another example, the information registered in the creator may be registered by a user.

The detail may be information of a text such as a statement described in the content associated with the content information item400.

FIG. 5is a diagram exemplifying a person information item500. A person information item500may be generated for each of persons whose information on skills is to be collected. The person information items500may include information on the persons. In an example, each of the person information items500may include information of the name of a person associated with the person information item500, a mail address of the person, a department of the person, and other information. The other information may include information indicating past business experience of the person, a past department of the person, and the like.

Subsequently, a process of identifying a word representing a content from multiple words included in text data within the content is described.FIGS. 6A to 6Care diagrams describing the flow of a process of extracting representative words.

First, the controller101identifies keywords that are included in text data indicated in a detail included in a content information item400illustrated inFIG. 6Aand are among keywords registered in the technical term dictionary200, for example. Then, the controller101calculates, for the identified keywords, characteristic values that are indices indicating characteristic degrees of the keywords within the content (FIG. 6B). The characteristic values may be TF-IDF values as an example.

The TF-IDF values are indices that are used in fields such as information seeking and text mining and identify the characteristic degrees of the identified words appearing in a document. TF of the TF-IDF values is an abbreviation of term frequency and indicates the numbers of times that the identified words appear in the document. Each of the TFs is, for example, an index based on the idea that as the frequency at which a word appears in a document is higher, the word is more important. IDF of the TF-IDF values is an abbreviation of inverse document frequency and may be natural logarithms of document frequencies (DFs). Each of the DFs is, for example, the number of documents that are among multiple documents to be used to calculate a characteristic value of a word and include the word. Each of the DFs is an index based on the idea that a word that is used in multiple documents in a cross-sectoral manner is not important. In addition, for example, values obtained by multiplying the TFs by the IDFs are the TF-IDF values of the words included in the document. In the embodiment, the controller101may determine that as a TF-IDF value of a word among multiple words included in the content is higher, the word is more important.

The TF-IDF values are based on frequencies at which the words appear in the content. If a specific keyword appears in a short content multiple times, the TF-IDF value of the word may be abnormally high. Thus, the controller101may exclude the keyword having the abnormal TF-IDF value from representative words (described later) to be extracted. For example, it is assumed that a TF-IDF value is not calculated from a content including a statement including 10 keywords or more and 1000 characters or more or is not in a predetermined range (for example, 0.01≤TF-IDF≤1.00). In this case, the controller101may exclude a keyword having the TF-IDF value in the extraction (described later) of representative words.

In another embodiment, values obtained by correcting the TF-IDF values may be used as the characteristic values. As an example, the controller101may correct the TF-IDF values based on a measure such as the importance or newness of a technology indicated by the words. Alternatively, the characteristic values may be other values from which the importance of the keywords that are included in the content information item400to be processed and are to be processed is able to be evaluated.

Subsequently, the controller101extracts, based on the characteristic values calculated for the keywords, representative words representing the content from the multiple keywords included in the content, for example. The controller101may change an extraction rule based on the type of the content associated with the content information item400upon the extraction of the representative words.

First, the controller101identifies the type of the content based on information indicated in the information source of the content information item400, for example. For example, if information of a database for managing papers is registered in the information source, the controller101may determine, as a paper, the type of the content associated with the content information item400. Similarly, for example, if information of a database for managing specifications is registered in the information source, the controller101may determine, as a specification, the type of the content associated with the content information item400. The controller101may identify the type of the content based on the information source in the aforementioned manner, but the embodiment is not limited to this. For example, the controller101may determine the type of the content based on a word included in the content and characterizing the type of the content. Alternatively, the controller101may promote the user to register information of the type, and the user may register the information of the type in the content information item400, instead of the information source of the content information item400.

Then, the controller101may acquire an extraction rule based on the type of the content after identifying the type of the content. As an example, the extraction rule may be a rule of extracting the number of representative words equal to an extraction number defined based on the type. For example, the storage102of the information processing device100may store extraction rule information700defining the numbers of representative words equal to extraction numbers defined based on document types.

FIG. 7is a diagram exemplifying the extraction rule information700according to the embodiment. The extraction rule information700includes information indicating the types and the extraction numbers. The types are information indicating the content types, for example. The extraction numbers indicate the numbers of representative words to be extracted, for example.

The controller101acquires, from the extraction rule information700, an extraction number associated with the type identified for the content information item400. The controller101extracts, as representative words, the number of keywords equal to the extraction number associated with the type from multiple words included in the content in order from a word associated with the highest characteristic value and generates a content information item600illustrated inFIG. 6C.

The content information item600illustrated inFIG. 6Cis obtained by adding information indicating the representative words and characteristic values of the representative words to the content information item400.

Subsequently, the controller101combines the content information item600with the person information item500to generate a person management information item800.FIG. 8is a diagram exemplifying the generation of the person management information item800.

For example, the controller101executes the matching of the content information item600with the person information item500((1) illustrated inFIG. 8). For example, the controller101collects the content information item600including information matching the person information item500in the creator of the content information item600. Then, the controller101adds the identification information of the collected content information item600, the detail of the collected content information item600, the representative words of the collected content information item600, the characteristic values of the representative words of the collected content information item600to the person information item500to generate the person management information item800((2) illustrated inFIG. 8).

As exemplified inFIG. 8, the person management information item800includes information registered in the person information item500, the identification information included in the content information item600associated with the person information item500, the detail of the content, the representative words, and the characteristic values of the representative words. If multiple content information items600match the person information item500, the controller101may register information of the matched content information items600in the person management information item800.

For example, in the aforementioned manner, the controller101may generate the person management information item800and cause the generated person management information item800to be stored in the storage102. In the person management information item800, technical terms estimated to be words important to contents created through processes involving a human resource associated with the person management information item800are registered. Thus, the user may use the person management information item800to search the human resource having a skill in a desired field. In addition, the number of representative words registered in the person management information item800varies depending on the content type. In the aforementioned embodiment, as a technical level requested for the creation of a content is higher, the controller101extracts a larger number of representative words from the content. Thus, the controller101may suppress the extraction of a large number of representative words from a document of a low technical level and the extraction of a word that has low relevance to a skill of a human resource and serves as noise in the search of a human resource. In addition, by extracting a large number of representative words from a document of a high technical level, it is possible to acquire detailed information on a skill of a human resource.

FIG. 9is a diagram exemplifying an operational flow of a process of generating the person management information item800described with reference toFIGS. 6A to 8. When an instruction to execute the process of generating the person management information item800is input to the information processing device100, the controller101may start the operational flow illustrated inFIG. 9.

Processes of S901to S904are repetitive processes to be executed on each content to be collected. In S902, the controller101collects a single content. For example, the controller101accesses an information source such as a database or the like from which the content is to be collected, and the controller101reads the single content from the information source.

In S903, the controller101generates a content information item400from the collected content. For example, the controller101may assign an identifier to the collected content in order to distinguish between the collected content and other contents and may register the assigned identifier in identification information of the content information item400associated with the collected content. In addition, the controller101may acquire information of the database serving as the information source from which the content has been collected and the like, and the controller101may register the acquired information in an information source indicated in the content information item400. The controller101may collect information on a creator of the collected content and register the collected information on the creator in a creator indicated in the content information item400. The controller101may acquire the information on the creator of the content from text data within the collected content or the like or from information registered in the database serving as the information source of the content, for example. The controller101may register the text data included in the collected content in a detail indicated in the content information item400.

Then, the controller101generates content information items400corresponding to all collected contents by repeatedly executing the processes of S901to S904. The collected contents may be all contents registered in the database specified as the information source from which the contents have been collected, for example. Alternatively, the collected contents may be contents satisfying a predetermined requirement. In addition, the information source of the contents may be multiple databases, for example.

Processes of S905to S912are repetitive processes to be executed on each of the content information items400generated from the collected contents and serving as content information items400to be processed. In S906, the controller101reads text data from a detail indicated in a content information item400to be processed.

In S907, the controller101removes a negative expression from a statement included in the read text data. For example, the controller101may execute natural language analysis on the read text data and extract a sentence, a clause, and a phase that include a negative word. The negative expression is, for example, an entire sentence “I am not good at English.”. Alternatively, if there is a sentence “I am bad at speaking English and not able to speak English at all, but I am able to speak French.”, the negative expression is, for example, parts of the sentence, such as “bad at speaking English” and “not able to speak English at all”. Negative words included in the sentence are negative terms “bad”, “not good”, and “not able to speak”. The sentence, the clause, and the phase that include the negative word are removed, since it is preferable to extract positive information of skills for the evaluation of a skill of a human resource, for example. For example, if the aforementioned negative expression appears in a document a large number of times, the word “English” appears multiple times and the controller101may determine that “English” is an important term in the statement. However, if a human resource is searched, it is unlikely to search a human resource who is not good at “English”. Specifically, for example, even if the word “English” is used in a negative statement a large number of times, the word may not be information useful to evaluate a skill. Thus, in the embodiment, the controller101may remove a sentence, a clause, and a phase that include a negative word from the content information item400to be processed. For example, negative expressions may include expressions “This document excludes a technology for ***.” and “A part of *** is not so good in this report.”.

The processes of S908to S910are repetitive processes to be executed on each keyword registered in the technical term dictionary200and serving as a keyword to be processed. In S909, the controller101determines whether or not a keyword to be processed is included in the text data read from the content information item400to be processed. If the keyword to be processed is included in the text data read from the content information item400to be processed, the controller101calculates a characteristic value for the keyword to be processed. The characteristic value may be a TF-IDF value, for example. Alternatively, the characteristic value may be a value obtained by correcting the TF-IDF value based on the trend, newness, and importance of a technology indicated by the keyword or may be another value that enables the evaluation of the importance of the keyword that is to be processed and is included in the content information item400to be processed. It is assumed that the characteristic value is not calculated from a content including a statement including 10 keywords or more and 1000 characters or more or is not in a predetermined range (for example, 0.01≤TF-IDF≤1.00). In this case, the controller101may exclude a keyword having the TF-IDF value in the extraction of representative words in S911described later.

By repeatedly executing the processes of S908to S910, characteristic values are calculated for keywords included in the text data of the content information item400to be processed, for example.

In S911, the controller101extracts a representative word from the keywords included in the content information item400to be processed, based on the characteristic values in accordance with an extraction rule based on the type of the content. For example, the controller101may identify the type of the content associated with the content information item400based on the information source indicated in the content information item400to be processed. Alternatively, the controller101may identify the type of the content from the text data included in the detail indicated in the content information item400, or the controller101may promote the user to register information indicating the type of the content in the content information item400, and the user may register the information indicating the type of the content in the content information item400, instead of the information source. Then, the controller101may identify an extraction number associated with the type of the content from the extraction rule information700. For example, if the content information item400to be processed corresponds to a paper, the controller101may identify 5 representative words to be extracted. If the content information item400to be processed corresponds to an instruction document, the controller101may identify 2 representative words to be extracted. Then, the controller101extracts, as representative words, the number of keywords equal to the extraction number associated with the type of the content in order from a keyword associated with the largest characteristic value, registers the extracted representative words in the content information item400to be processed, and generates a content information item600.

Writers who have different technical levels may write a document of a single content. For example, regarding a Q & A site, it is estimated that an answerer has a higher technical level than that of a questioner. In this case, it is not preferable to treat a question statement the same as an answer statement and extract words. In the embodiment, the controller101may treat, as different contents, statements included in a single content and estimated to be of different technical levels and extract representative words in accordance with extraction rules defined for the different contents. Specifically, for example, if a representative word is to be extracted from a Q & A site written by a certain writer, and the writer writes a question statement, the controller101may extract the number (1 associated with a question in the example illustrated inFIG. 7) of representative words equal to an extraction number associated with the type of the question statement and generate a content information item600. If the writer writes an answer statement, the controller101may extract the number (3 associated with an answer in the example illustrated inFIG. 7) of representative words equal to an extraction number associated with the type of the answer statement and generate a content information item600. Since it is expected that a technical level requested for an answer statement is higher than a technical level requested for a question statement, the extraction number associated with the answer is set to be larger than the extraction number associated with the question in the extraction rule information700.

By executing the repetitive processes of S905to S912, content information items600including representative words extracted based on types are generated for the content information items400.

Processes of S913to S917are repetitive processes to be executed on each content information item600as a content information item600to be processed.

In S914, the controller101reads information of a creator indicated in a content information item600to be processed. In S915, the controller101identifies a person information item500including information matching the creator indicated in the content information item600to be processed.

In S916, the controller101organizes, into the identified person information item500, information including identification information indicated in the content information item600to be processed, a detail indicated in the content information item600to be processed, representative words indicated in the content information item600to be processed, and characteristic values of the representative words, for example.

By repeatedly executing the processes of S913to S917, the controller101may generate the person management information item800. In the repetitive processes, if the information obtained from the content information item600and to be organized is already included in the person information item500, the controller101does not search a new person information item500in S916and searches the person information item500including the organized information. Then, in S916, the controller101may additionally register information obtained from the content information item600in the person information item500including the organized information. In S917, the person management information item800is generated by executing the processes on the content information items600as the content information items600to be processed. After S917, the operational flow is terminated.

As described above, according to the operational flow illustrated inFIG. 9, a person management information item800in which a human resource is associated with representative words extracted from contents created through processes involving the human resource is generated. In the person management information item800, technical terms estimated as important words in the contents created through the processes involving the human resource associated with the person management information item800are registered. Thus, the user may use person management information items800to search human resources having desired knowledge.

The numbers of representative words registered in a person management information item800are different for contents. For example, in the aforementioned embodiment, as a technical level requested to create a content is higher, a larger number of representative words are extracted from the content. It is, therefore, possible to suppress the extraction of a large number of representative words from a document of a low technical level and the extraction of a word having low relevance to a human resource's skill and serving as noise in the search of a human resource. In addition, by extracting a large number of representative words from a document of a high technical level, it is possible to acquire detailed diverse information on a human resource's skill.

Subsequently, a human resource search to be executed using person management information items800is exemplified. For the human resource search, information such as a category, a synonym, and a related word of the technical term dictionary200may be used. An example of the human resource search is described with reference toFIGS. 10 and 11.

FIG. 10is a diagram exemplifying a human resource search process according to the embodiment. For example, in the case where the user searches a human resource who is familiar with a certain technology, the user may enter a keyword related to the certain technology as a search key in the information processing device100((1) illustrated inFIG. 10). When the search key is entered, the controller101of the information processing device100searches the keyword included in the technical term dictionary200based on the keyword entered as the search key and acquires information of categories (hereinafter referred to as related categories in some cases) to which the keyword belongs ((2) illustrated inFIG. 10). Subsequently, the controller101extracts, from the technical term dictionary200, keywords belonging to the acquired related categories included in the categories column of the technical term dictionary200and generates association information1000((3) illustrated inFIG. 10). As illustrated inFIG. 10, the keywords that belongs to the related categories are extracted from the technical term dictionary200into the association information1000.

In addition, when the search key is entered, the controller101extracts person management information items800including the keyword entered as the search key as a representative word ((4) illustrated inFIG. 10). InFIG. 10, the person management information items800of human resources A and B are extracted and the human resources A and B have been involved in the creation of a content including the keyword entered as the search key as the representative word. In addition, the controller101searches the extracted person management information items800using the multiple keywords associated with the categories in the association information1000and counts the numbers of representative words hit in the search ((5) illustrated inFIG. 10). For example, it is expected that a human resource of a person management information item800in which the number of representative words hit in the search is larger, has a wider range of knowledge in a related technical field of the keyword entered as the search key than a human resource of a person management information item800in which the number of representative words hit in the search is smaller. Thus, the controller101may present, to the user, the human resource of the person management information item800in which the number of representative words hit in the search is larger, while prioritizing the human resource of the person management information item800in which the number of representative words hit in the search is larger.

FIG. 11is a diagram exemplifying search results output by the controller101. The human resources A and B are displayed so that the human resource B of the person management information item800in which the number of representative words hit in the search is larger, is prioritized over the human resource A of the person management information item800in which the number of representative words hit in the search is smaller. Since the human resource B who is likely to have a wider range of knowledge in the related technical field of the keyword entered as the search key than the human resource A is prioritized over the human resource A and displayed, the user may efficiently search a human resource having a desired skill.

The example illustrated inFIG. 10describes the case where the keywords related to the keyword entered as the search key are acquired by generating the association information1000and using the categories, but the embodiment is not limited to this. For example, the controller101may acquire, from the technical term dictionary200, a related word associated with the keyword entered as the search key, use the acquired related word for the search of a representative word, and count the number of hits.

The example indicated by (4) inFIG. 10describes the case where the person management information items800that include the keyword entered as the search key as the representative word are extracted, but the embodiment is not limited to this. For example, in another embodiment, processes indicated by (5) and later inFIG. 10may be executed on all person management information items800without the extraction of the person management information items800based on the keyword entered as the search key as indicated by (4) inFIG. 10. In this case, the extracted person management information items800may not include the keyword entered as the search key, but a human resource who is familiar with a technology related to the keyword entered as the search key may be prioritized over other human resources and presented while being ranked high.

The example illustrated inFIG. 10describes the case where the order in which the search results are to be displayed is changed in accordance with the number of the hit keywords related to the keyword entered as the search key. The embodiment, however, is not limited to this. For example, in another embodiment, human resources may be presented to the user so that a human resource of a person management information item including a larger number of content information items of contents of types for which high technical levels are requested, is prioritized over a human resource of a person management information item including a smaller number of content information items of contents of types for which high technical levels are requested. Specifically, the controller101may display human resources so that a human resource of a person management information item800including a large number of content information items600associated with papers is prioritized over a human resource of a person management information item800including a large number of content information items600associated with instruction documents.

FIG. 12is a diagram exemplifying an operational flow of the human resource search process according to the embodiment. For example, upon receiving a keyword entered as a search key, the controller101may start the operational flow illustrated inFIG. 12.

In S1201, the controller101extracts person management information items800including the keyword entered as the search key as a representative word. In S1202, the controller101searches the technical term dictionary200using the keyword entered as the search key and acquires an entry included in the technical term dictionary200and including the keyword in the keyword column.

In S1203, the controller101uses information of the entry hit in the search to acquire related words that are keywords related to the keyword entered as the search key. For example, the controller101may acquire the related words included in the hit entry. Alternatively, the controller101may acquire categories of the hit entry, extract keywords belonging to the acquired categories from the technical term dictionary200, and use the extracted keywords as the related words.

In S1204, the controller101counts the numbers of related words included in representative words indicated in the extracted person management information items800. Then, in S1205, the controller101sorts the extracted person management information items800so that as the number of related words that serve as representative words and are included in a person management information item800is larger, the person management information item800is more prioritized.

In S1206, the controller101may extract a predetermined number of person management information items800in order from a person management information item800having the largest number of related words and present human resources associated with the extracted person management information items800to the user. For example, the controller101may sort the person management information items800in order from a person management information item800having the largest number of related keywords and cause information of human resources associated with the person management information items800to be displayed on a display screen of the display103included in the information processing device100, as illustrated inFIG. 11. The embodiment, however, is not limited to this. For example, in another embodiment, the controller101may present human resources to the user so that a human resource of a person management information item800including information of a larger number of contents of high technical levels, is prioritized over a human resource of a person management information item800including information of a smaller number of contents of high technical levels.

As described above, according to the operational flow illustrated inFIG. 12, information of human resources may be presented to the user based on contents created through processes involving the human resources.

The embodiment is described above but is not limited to this. For example, the aforementioned operational flows are examples, and the embodiment is not limited to this. In each of the operational flows, the order in which processes are executed may be changed, the processes may be executed in the changed order, and an additional process may be executed or a part of the processes may be omitted. For example, in the operational flow illustrated inFIG. 12, if the user does not create a technical document including a keyword entered as a search key and wants to search a human resource who is familiar with a technical field related to the keyword, the process of S1201may not be executed. In this case, the controller101may execute the processes of S1202and later on all the person management information items800.

An example in which, in the operational flow illustrated inFIG. 9, a representative word is extracted from each of contents, and content information items600are generated and associated with person information items500is described above. The embodiment, however, is not limited to this. For example, in another embodiment, the controller101may associate the content information items400with the person information items500, extract a representative word from each of the contents, and generate a person management information item800.

In the aforementioned example, in S911, the controller101extracts the representative word in accordance with the extraction rule based on the type. The embodiment, however, is not limited to this. For example, in another embodiment, in S911, the controller101may extract a predetermined number of representative words and limits, in accordance with the extraction rule information700, the number of representative words for each of contents to be searched in the process of S1202.

The embodiment describes the example in which the contents are technical documents. The embodiment, however, is not limited to this. The contents may include a document other than technical documents. In the aforementioned embodiment, if equivalent terms (synonyms) are registered in the technical term dictionary200, the synonyms may be processed in the same manner as the keywords in the processes executed using keywords included in entries of the technical term dictionary200. The aforementioned processes may be shared and executed by multiple devices in a client and server system or the like.

Although the embodiment describes the example in which the processes of S913to S917illustrated inFIG. 9are repeatedly executed on each of content information items600, the embodiment is not limited to this. For example, in another embodiment, the processes of S913to S917illustrated inFIG. 9may be repeatedly executed on each of person information items500, and content information items600that correspond to the person information items500may be organized.

FIG. 13is a diagram exemplifying a process to be repeatedly executed on each of person information items500to organize content information items600associated with the person information items500in another embodiment. The process illustrated inFIG. 13may be executed instead of the processes of S913to S917illustrated inFIG. 9.

Processes of S1301to S1305are repetitive processes to be executed on each of the person information items500. In S1301, the controller101reads a single person information item500from the storage102and acquires the person information item500. In S1302, the controller101references information of creators indicated in content information items600and acquires a content information item600that includes information indicated in a creator of the content information item600and matching the acquired person information item500.

In S1303, the controller101organizes, into the person information item500, identification information indicated in the content information item600including the matched information of the creator, a detail indicated in the content information item600, representative words indicated in the content information item600, and characteristic values of the representative words. If the person information item500matches multiple content information items600, the controller101may organize information included in the matched multiple content information items600into the person information item500. By executing this process, the controller101may generate a person management information item800. After the process is executed on all the person information items500and person management information items800are generated, the operational flow may be terminated.

As exemplified inFIG. 13, in another embodiment, the process may be repeatedly executed on each of the person information items500, and the content information items600associated with the person information items500may be organized. In the aforementioned embodiment, in the processes of S915, S1301, and S1302, the controller101operates as the acquisition unit111, for example. In the process of S911, the controller101operates as the extractor113, for example. In the processes of S916and S1303, the controller101operates as the generator114, for example.

FIG. 14is a diagram exemplifying a hardware configuration of a computer1400that achieves the information processing device100according to the embodiment. The computer1400illustrated inFIG. 14and having the hardware configuration that achieves the information processing device100includes a processor1401, a memory1402, a storage device1403, a reading device1404, a communication interface1406, an input and output interface1407, and a display device1411, for example. The processor1401, the memory1402, the storage device1403, the reading device1404, the communication interface1406, and the input and output interface1407are coupled to each other via a bus1408.

The processor1401may be a single processor, a multiprocessor, or a multi-core processor, for example. The processor1401uses the memory1402to execute an information generation program in which procedures for the aforementioned operational flows are described, thereby providing a part or all of the functions of the aforementioned sections. The processor1401of the information processing device100reads and executes the program stored in the storage device1403, thereby operating as the acquisition unit111, the extractor113, and the generator114.

The memory1402is, for example, a semiconductor memory and may include a RAM region and a ROM region. RAM is an abbreviation of Random Access Memory. ROM is an abbreviation of Read Only Memory. The storage device1403is, for example, a hard disk, a semiconductor memory such as a flash memory, or an external storage device. In the storage device1403of the information processing device100, the technical term dictionary200, the content information items400and600, the person information items500, the extraction rule information700, the person management information items800, and the association information1000are stored, for example.

The reading device1404accesses a detachable storage medium1405in accordance with an instruction of the processor1401. The detachable storage medium1405is achieved by, for example, a semiconductor memory (USB memory or the like), a medium (magnetic disk or the like) to and from which information is input and output by a magnetic effect, a medium (CD-ROM, DVD, or the like) to and from which information is input and output by an optical effect, or the like. USB is an abbreviation of Universal Serial Bus. CD is an abbreviation of Compact Disc. DVD is an abbreviation of Digital Versatile Disc. The aforementioned storage102may include the memory1402, the storage device1403, and the detachable storage medium1405, for example.

The communication interface1406transmits and receives data via a network in accordance with an instruction of the processor1401. The input and output interface1407may be an interface between an input device and an output device, for example. The input device is a keyboard, a mouse, or the like that receives an instruction from the user, for example. The output device is a display device such as a display and an audio device such as a speaker, for example. In the example illustrated inFIG. 14, the input and output interface1407is coupled to a display device1411. The display device1411is an example of the aforementioned display103, for example.

The program according to the embodiment is provided to the information processing device100in the following manners.

(1) The program is installed in the storage device1403in advance.

(2) The program is provided from the detachable storage medium1405.

(3) The program is provided by a server such as a program server.

The hardware configuration of the computer1400that is described with reference toFIG. 14and achieves the information processing device100is an example, and the embodiment is not limited to this. For example, a part or all of the functions of the sections may be implemented as hardware such as an FPGA and SoC. FPGA is an abbreviation of Field Programmable Gate Array. SoC is an abbreviation of System-on-Chip.

The embodiments are described above. The embodiments are not limited to the aforementioned embodiments. It may be understood that the embodiments include various modified embodiments and alternative embodiments. For example, it may be understood that, in the embodiments, the constituent elements may be modified and achieved without departing from the gist and scope of the embodiments. In addition, it may be understood that various embodiments are achieved by combining multiple constituent elements disclosed in the aforementioned embodiments. Furthermore, it may be understood by persons skilled in the art that various embodiments are achieved by removing one or more constituent elements among all the constituent elements described in the embodiments, replacing one or more constituent elements among all the constituent elements described in the embodiments with one or more other constituent elements, or adding one or more constituent elements to the constituent elements disclosed in the aforementioned embodiments.