The present invention relates to an information processing apparatus, a storage medium, and an information processing method.
According to an aspect of the present invention, there is provided an information processing apparatus including a structuring unit and an extraction unit. The structuring unit structures a history of operations performed in product development into a structure including at least subject information, subject attribute information, target information, target attribute information, and environment information. The extraction unit extracts knowledge about the operations by performing machine learning based on the structured history.
Exemplary embodiment(s) of the present invention will be described in detail based on the following figures, wherein:
First, before present exemplary embodiments are explained, their premise or an information processing apparatus that uses a present exemplary embodiment will be explained. Note that an object of this explanation is to facilitate understanding of the present exemplary embodiments.
In a product design operation, it is necessary to access many tools and various types of data. In order to handle these tools and data, professional knowledge and know-how are needed. Depending on the skills of developers, handling of these tools and data varies. Previously, since a design margin was large, product development was possible even with such variations.
However, since the development speed has been increased and the cost has been reduced in recent years, the reality is that the size of a design margin is significantly reduced and individual developers are expected to have various kinds of design knowledge and know-how. Accumulation and reuse of these various kinds of design knowledge and know-how are described in the above-described patent documents.
However, since the above-described tools and the like are changed and also a product line-up, functions, parts, and the like are changed with time, fixed knowledge becomes obsolete.
In the following, an example of a preferable exemplary embodiment for realizing the present invention will be explained in accordance with the drawings.
Note that modules generally refer to parts that are logically separable such as software (computer programs), hardware, and the like. Thus, modules in the present exemplary embodiment refer not only to modules in a computer program but also modules in a hardware configuration. Thus, the present exemplary embodiment also explains computer programs that function as these modules (a program for causing a computer to execute each procedure, a program for causing a computer to function as each means, and a program for causing a computer to realize each function), a system, and a method. Note that, for convenience's sake in terms of explanation, “store”, “cause . . . to store” and similar expressions are used. These expressions mean that, in the case where an exemplary embodiment is a computer program, cause a storage device to store or performs control such that a storage device is caused to store . . . . There may be a one-to-one correspondence between modules and functions. When modules are mounted, one module may be configured by one program or plural modules may be configured by one program. Alternatively, one module may be configured by plural programs. Moreover, plural modules may be executed by one computer or one module may be executed by plural computers, which are computers in a distributed environment or a parallel processing environment. Note that one module may include another module. In addition, in the following, “connection” may be used not only for a physical connection but also for a logical connection (transmitting/receiving of data, instructions, a reference relationship between data, and the like). “Predetermined” means something is determined before a target process is performed, and also means that something is determined not only before a process according to the present exemplary embodiment starts but also after the process according to the present exemplary embodiment starts and before a target process starts, depending on a status or a state at that point in time or in accordance with a status or a state until that point in time. In the case where there are plural “predetermined values”, the predetermined values may differ from one another or two or more of the predetermined values (as a matter of course, including all the predetermined values) may be the same. In addition, a description meaning “in the case of A, B is performed” is used to mean that “It is determined whether or not . . . is A. In the case where it is determined that . . . is A, B is performed”. Note that cases where a determination as to whether or not . . . is A is unnecessary are excluded.
In addition, a system or an apparatus may not only be configured by plural computers, hardware devices, apparatuses, and the like connected by communication means such as a network (including one-to-one correspondence communication connection) but also be realized by one computer, a hardware device, an apparatus, or the like. An “apparatus” and a “system” are used as words having the same meaning. As a matter of course, the “system” does not include just a social “mechanism” (a social system), which is man-made arrangements.
For each process performed by each module or for each process in the case where plural processes are performed in a module, target information is read from a storage device. After the process is performed, a processing result is written into the storage device. Thus, an explanation may be omitted for reading target information from the storage device before a process is performed and an explanation may be omitted for writing target information into the storage device after a process is performed. Note that here a storage device may include a hard disk, a random access memory (RAM), an external storage medium, a storage device connected through a communication line, a register in a central processing unit (CPU), and the like.
An information processing apparatus 100, which is the present exemplary embodiment, collects knowledge about operations performed in product development. As illustrated in an example of in
The operation log extraction module 110 is connected to the structuring module 120. The operation log extraction module 110 extracts operations performed by an operator who is involved in product development as a history (hereinafter also referred to as a log). For example, an operation of a user interface device (a keyboard, a mouse, a touch panel, a display, or the like) that the operator uses may be detected, or an instruction to an apparatus, which provides service, may also be detected. Specific examples of log information include a web access log, access control information, printer access information, e-mail transmission-reception information, and the like, and a combination of these pieces of information.
The structuring module 120 is connected to the operation log extraction module 110 and the operation log memory module 130. The structuring module 120 structures a history of operations performed in product development into a structure including at least subject information, subject attribute information, target information, target attribute information, and environment information. In addition, the structuring module 120 may also perform structuring using an ontology and a temporary rule. In addition, the structuring module 120 may also perform structuring such that information indicating whether or not a first operator, who is a subject, is able to access a target is included. Here, as a structuring method, mapping using an ontology, which is a knowledge system, may also be used. As mapping, a reasoner for ontologies, which is a known technology, or mapping using rules (rules) may also be used.
The operation log memory module 130 is connected to the structuring module 120 and the machine learning module 140. The operation log memory module 130 stores a history of operations structured by the structuring module 120.
The machine learning module 140 is connected to the operation log memory module 130 and the output module 150. The machine learning module 140 extracts knowledge about operations by performing machine learning in accordance with a history structured by the structuring module 120 (a history stored in the operation log memory module 130). In addition, in the case where the machine learning module 140 extracts knowledge to be provided to a second operator, who differs from the first operator, the machine learning module 140 may extract knowledge from the structured history such that a relationship with a target that the second operator is unable to access is not included. As extraction of knowledge through machine learning, any one of or a combination of an ontology, a mapping process using rules, and a statistical process may be used. For example, candidates are extracted by a reasoner for ontologies, some are selected from the candidates by a rule, and furthermore the some of the candidates may be prioritized by a statistical process. The statistical process may be any one of or a combination of decision tree analysis, hidden Markov model analysis, neuron model analysis, support vector machine analysis, naive Bayes analysis, and the k-Nearest Neighbors algorithm.
In addition, information used as ontologies is constituted by any one of or a combination of some of configuration information, organization information, access policy information, design-and-development process information, failure information, reliability information, regulatory constraint information, and simulation information on a product, which is a development target. In addition, rules are constituted by any one of or a combination of some of configuration information, organization information, access policy information, design-and-development process information, failure information, reliability information, regulatory constraint information, and simulation information on a target apparatus. In addition, a user context may be generated using an operator's access control information, an ontology, a rule, and a statistical engine.
The output module 150 is connected to the machine learning module 140. The output module 150 receives knowledge about operations, the knowledge being extracted by the machine learning module 140, and outputs the knowledge (information). Output of knowledge (information) includes, for example, displaying the knowledge on a display device such as a display, writing the knowledge into a storage device such as a knowledge database or the like, storing the knowledge in a storage medium such as a memory card or the like, transmitting the knowledge to another information processing apparatus, and the like.
The information processing apparatus 100, a user terminal 210, a user terminal 220, a user terminal 230, and a service provider apparatus 240 are connected to each other via communication lines 290. A user uses service (a tool, a program) provided by the service provider apparatus 240, by using a browser or the like installed in the user terminal 210. The operation log extraction module 110 of the information processing apparatus 100 extracts operations in the service from the user terminal 210 and the like and the service provider apparatus 240 and records the operations as a history. Note that the service provider apparatus 240 may be one of service provider apparatuses 240 of plural types. Then, the user accesses various types of data using various types of service and performs design. The communication lines 290 may be wireless, wired, or a combination of wireless and wired lines and may be, for example, the Internet serving as a communication infrastructure.
In step S302, the user terminal 210 logs in service provided by the service provider apparatus 240, in accordance with an operator's operation.
In step S304, the operation log extraction module 110 collects a log of the operator's login operation, an operation time and date, and the like.
In step S306, the operation log extraction module 110 collects a log of operations of the operator in the service provided by the service provider apparatus 240.
In step S308, the operation log extraction module 110 determines whether or not operations are completed in the service. In the case where the operations are completed, the process proceeds to step S310. Otherwise, the process returns to step S306.
In step S310, for the log, the structuring module 120 generates a structure including, as structural elements, subject information, subject attribute information, target information, target attribute information, and environment information. For example, an example of a data structure as illustrated in
An example of the case where logs are applied on the basis of the class illustrated in
In addition, for example, an example of a data structure as illustrated in
An example of the case where logs are applied on the basis of the classes illustrated in
In step S312, the structuring module 120 causes the operation log memory module 130 to store structured logs.
In step S314, the machine learning module 140 extracts knowledge about the operations using the logs stored in the operation log memory module 130. Specifically, know-how information is extracted from the structured logs within the operation log memory module 130 by using an engine that performs an inference process (an ontology, a mapping process using rules, a statistical process).
Then, mapping is performed between a structured log and a predetermined class.
Then, as a result of mapping, contraw:What 1012 corresponds to ds:GDP 1021, ds:DWG 1022, ds:TSD 1023, and ds:TSheet 1024. In mapping here, a reasoner for ontologies or the like is used as described above. In addition, the class on the left side may also be defined as an ontology. In addition, a rule that coupling is realized only under certain specific conditions may be used.
In addition, mapping may also be performed between a structured log and a class indicating a product configuration.
Then, as a result of mapping, ds:DWG 1122 corresponds to str:Machine 1110, str:BigModule 1111, str:SmallModule 1112, and str:Parts 1113. Ds:TSD 1123 corresponds to str:Machine 1110, str:BigModule 1111, str:SmallModule 1112, and str:Parts 1113. Ds:TSheet 1124 corresponds to str:Machine 1110, str:BigModule 1111, str:SmallModule 1112, and str:Parts 1113. In mapping here, a reasoner for ontologies or the like is used as described above. In addition, the class on the left side may also be defined as an ontology. In addition, a rule that coupling is realized only under certain specific conditions may be used.
In step S316, the machine learning module 140 determines whether or not a specific person who uses the knowledge is determined. In the case where such a specific person is determined, the process proceeds to step S318. Otherwise, the process proceeds to step S320. For determination of a specific person who uses knowledge, a user ID or the like of a logged-in person has only to be determined. In the case where such a specific person is not determined, general knowledge (the knowledge extracted in step S314) is simply output in step S320.
In step S318, the machine learning module 140 extracts knowledge about the operator's operation in accordance with the operator's access rights to a target, the operator using knowledge. For example, knowledge extracted from logs is constituted by information on logs that a subject is able to access. There may be a case where a certain document that may be accessed by some persons who use knowledge may not be accessed by other persons who use knowledge. Thus, knowledge has only to be extracted from structured logs such that relationships with targets that an operator who uses knowledge is unable to access are not included.
In step S320, the output module 150 outputs the extracted knowledge about the operations.
Then, what illustrated in the example of part (b) of
Here, SmallModule_1: 1202 illustrated in the example of part (a) of
In addition, DWG_1: 1213 illustrated in the example of part (b) of
That is, as a result of matching performed with a structured log, part (b) of
In the above-described examples, examples are illustrated in which a description of object definitions (classes) (schema) has been generated in advance; however, machine learning may be applied to logs and object definitions may be generated.
Note that a hardware configuration of a computer by which a program serving as a present exemplary embodiment is executed is, as illustrated in
One of the above-described present exemplary embodiments, which is about the computer program, is realized by causing a system having the hardware configuration to read the computer program, which is software, and causing software and hardware resources to cooperate.
Note that the hardware configuration illustrated in
Note that the program that has been explained may also be stored in a recording medium and provided. Furthermore, the program may also be provided using communication means. In that case, for example, the program explained above may also be considered as an invention that is a “computer readable recording medium in which a program is recorded”.
The “computer readable recording medium in which a program is recorded” is a non-transitory computer readable recording medium used for installation, execution, and distribution of the program and in which the program is recorded.
Note that examples of the recording medium include a digital versatile disc (DVD), a compact disc (CD), a Blu-ray disc (Blu-ray® Disc), a magneto-optical disk (MO), a flexible disk (FD), a magnetic tape, a hard disk, a read-only memory (ROM), an electrically erasable programmable ROM (EEPROM®), a flash memory, a random access memory (RAM), an SD (Secure Digital) memory card, and the like. DVDs include “a DVD-R, a DVD-RW, a DVD-RAM, and the like” for standards developed by the DVD forum and “a DVD+R, a DVD+RW, and the like” for standards developed by DVD+RW. CDs include a compact disc-read-only memory (CD-ROM), a CD recordable (CD-R), a CD-Rewritable (CD-RW), and the like.
The above-described program or a portion of the program may be recorded and saved in the above-described recording medium, distributed, or the like. The above-described program or a portion of the program may be transmitted by communication, for example, through a wired network, a wireless communication network, or a transmission medium such as a combination of a wired network and a wireless communication network or the like. Alternatively, the above-described program or a portion of the program may also be transferred by a carrier wave. Examples of the wired network include a local-area network (LAN), a Metropolitan Area Network (MAN), a wide area network (WAN), the Internet, an intranet, an extranet, and the like.
Furthermore, the above-described program may be a portion of another program or may also be recorded in a recording medium together with a separate program. In addition, the above-described program may also be divided and recorded in plural recording mediums. In addition, the above-described program may be recorded in any format such as a compressed format, an encrypted format and the like, as long as the above-described program may be reconstructed.
The foregoing description of the exemplary embodiments of the present invention has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations will be apparent to practitioners skilled in the art. The embodiments were chosen and described in order to best explain the principles of the invention and its practical applications, thereby enabling others skilled in the art to understand the invention for various embodiments and with the various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the following claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2014-021033 | Feb 2014 | JP | national |
This is a continuation of International Application No. PCT/JP2014/072075 filed on Aug. 25, 2014, and claims priorities from Japanese Patent Application No. 2014-021033, filed on Feb. 6, 2014.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2014/072075 | Aug 2014 | US |
Child | 15144301 | US |