WO2022224371A1 - 情報処理装置、情報処理方法、及び、記録媒体 - Google Patents

情報処理装置、情報処理方法、及び、記録媒体 Download PDF

Info

Publication number
WO2022224371A1
WO2022224371A1 PCT/JP2021/016137 JP2021016137W WO2022224371A1 WO 2022224371 A1 WO2022224371 A1 WO 2022224371A1 JP 2021016137 W JP2021016137 W JP 2021016137W WO 2022224371 A1 WO2022224371 A1 WO 2022224371A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
information
extraction
loss
feature vectors
Prior art date
Application number
PCT/JP2021/016137
Other languages
English (en)
French (fr)
Inventor
聡 池田
Original Assignee
日本電気株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電気株式会社 filed Critical 日本電気株式会社
Priority to PCT/JP2021/016137 priority Critical patent/WO2022224371A1/ja
Priority to JP2023515945A priority patent/JPWO2022224371A1/ja
Publication of WO2022224371A1 publication Critical patent/WO2022224371A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Definitions

  • This disclosure relates to the technical field of, for example, an information processing device, an information processing method, and a recording medium capable of performing metric learning.
  • Quantitative learning (in other words, metric learning) is used as an example of a method for calculating the distance between two pieces of data (specifically, the distance between two feature vectors each indicating the feature amount of two pieces of data).
  • a method is known (see Patent Document 1).
  • Metric learning generates a transformation model that can transform the feature vectors of each data so that the distance between two similar data becomes shorter and the distance between two dissimilar data becomes longer in a vector space. It is a method for In this case, two feature vectors representing feature amounts of two pieces of data are transformed by the transformation model, and the distance between the transformed two feature vectors is calculated as the distance between the two pieces of data.
  • Patent Documents 2 to 7 can be cited as prior art documents related to this disclosure.
  • the distance between the feature vectors transformed by the transformation model generated by metric learning is the similarity that a general user has to the two data.
  • the sense of is not always properly reflected.
  • it is not always possible to perform metric learning that reflects the sense of similarity that a general user has for two pieces of data.
  • An object of this disclosure is to provide an information processing device, an information processing method, and a recording medium that can solve the technical problems described above.
  • this disclosure provides an information processing device, an information processing method, and a recording medium capable of performing metric learning that reflects the sense of similarity that a general user has for two pieces of data. is the subject.
  • One aspect of the information processing apparatus disclosed herein extracts at least two feature vectors as at least part of teacher data from a feature data set including a plurality of feature vectors to which attribute label groups including a plurality of types of attribute labels are assigned.
  • extraction means learning means for performing metric learning for generating a transformation model capable of transforming the feature vectors using the teacher data; and extraction conditions for the extraction means to extract the at least two feature vectors.
  • storage means for storing a plurality of definition data including loss information, wherein the extraction means extracts the at least two feature vectors as at least a part of the teacher data based on the extraction designation information, and the learning The means calculates the loss based on the loss information and performs the metric learning based on the calculated loss.
  • At least two feature vectors are extracted as at least part of teacher data from a feature data set including a plurality of feature vectors to which attribute label groups including a plurality of types of attribute labels are assigned. and a learning step in which metric learning is performed to generate a transformation model capable of transforming the feature vectors using the teacher data, and storing in storage means the at least two features in the extraction step extraction specification information specifying an extraction condition for extracting a vector by a relationship between at least two attribute label groups respectively assigned to the at least two feature vectors; a plurality of definition data including loss information defining loss related to the training data are stored, and in the extraction step, the at least two feature vectors are used as at least a part of the training data based on the extraction designation information
  • the loss is calculated based on the loss information
  • the metric learning is performed based on the calculated loss.
  • a computer selects at least two feature vectors from a feature data set including a plurality of feature vectors to which attribute label groups including a plurality of types of attribute labels are assigned as at least part of teacher data. and a learning step of performing metric learning for generating a transformation model capable of transforming the feature vector using the teacher data, and storing in storage means the at least two Extraction designation information designating extraction conditions for extracting two feature vectors based on the relationship between at least two attribute label groups respectively assigned to the at least two feature vectors, and extraction based on the extraction designation information. and a plurality of definition data including loss information defining a loss related to the training data that has been obtained.
  • a recording medium having recorded thereon a computer program for executing an information processing method that is extracted as a part, in the learning step, the loss is calculated based on the loss information, and the metric learning is performed based on the calculated loss. is.
  • each of the information processing device, the information processing method, and the recording medium described above it is possible to perform metric learning that reflects the sense of similarity that a general user has for two pieces of data. becomes.
  • FIG. 1 is a block diagram showing the configuration of an information processing apparatus according to the first embodiment.
  • FIG. 2 is a block diagram showing the configuration of a communication system according to the second embodiment.
  • FIG. 3 is a block diagram showing the configuration of an information processing apparatus according to the second embodiment.
  • FIG. 4 is a data structure diagram showing the data structure of the proxy log DB in the second embodiment.
  • FIG. 5 is a data structure diagram showing the data structure of the feature data set in the second embodiment.
  • FIG. 6 is a flow chart showing the flow of model generation operation performed by the information processing apparatus according to the second embodiment.
  • FIG. 7 is a data structure diagram showing the data structure of extraction definition information in the second embodiment.
  • FIG. 8 is a data structure diagram showing the data structure of condition definition information in the second embodiment.
  • FIG. 1 is a block diagram showing the configuration of an information processing apparatus according to the first embodiment.
  • FIG. 2 is a block diagram showing the configuration of a communication system according to the second embodiment.
  • FIG. 3 is a
  • FIG. 9 is a data structure diagram showing the data structure of the teacher data set in the second embodiment.
  • FIG. 10 conceptually shows the model structure of a Siamese network.
  • FIG. 11 is a flowchart showing the flow of threat detection operations performed by the information processing apparatus according to the second embodiment.
  • FIG. 12 conceptually shows the model structure of a triplet network.
  • FIG. 13 is a data structure diagram showing the data structure of extraction definition information in the third embodiment.
  • FIG. 1 is a block diagram showing the configuration of an information processing device 1000 according to the first embodiment.
  • the information processing apparatus 1000 includes an extraction unit 1001, a learning unit 1002, and a storage unit 1003.
  • the extraction unit 1001 extracts at least two feature vectors as at least part of teacher data from a feature data set including a plurality of feature vectors to which attribute label groups including a plurality of types of attribute labels are assigned.
  • a learning unit 1002 uses teacher data including at least two feature vectors extracted by the extraction unit 1001 to perform metric learning for generating a conversion model capable of converting feature vectors.
  • Storage unit 1003 includes a plurality of definition data 1004 .
  • Each definition data 1004 includes extraction specification information 1005 specifying extraction conditions for the extraction unit 1001 to extract teacher data.
  • the extraction designation information 1005 particularly designates the extraction condition by the relationship between at least two attribute label groups respectively assigned to at least two feature vectors extracted as at least part of the teacher data.
  • Each definition data 1004 further includes loss information 1006 that defines the loss of teacher data extracted based on the extraction designation information 1005 .
  • the information processing apparatus 1000 of the first embodiment it is possible to perform metric learning that reflects the sense of similarity that a general user has for two pieces of data.
  • the storage unit 1003 may store first definition data 1004 , second definition data 1004 and third definition data 1004 .
  • First definition data 1004 may include first extraction designation information 1005 and first loss information 1006 .
  • the first extraction designation information 1005 may designate a first extraction condition to extract at least two first feature vectors as at least part of the first teacher data corresponding to positive example data.
  • First loss information 1006 may define a first loss for the first teacher data.
  • Second definition data 1004 may include second extraction designation information 1005 and second loss information 1006 .
  • the second extraction specification information 1005 may specify a second extraction condition to extract at least two second feature vectors as at least part of the second teacher data corresponding to the negative example data.
  • Second loss information 1006 may define a second loss for the second teacher data.
  • Third definition data 1004 may include third extraction designation information 1005 and third loss information 1006 .
  • Third extraction designation information 1005 designates a third extraction condition for extracting at least two third feature vectors as at least part of third teacher data corresponding to positive example data or negative example data.
  • Third loss information 1006 may define a third loss for third teacher data.
  • the similarity of the at least two first attribute label groups respectively assigned to the at least two first feature vectors is the similarity of the at least two second attribute label groups respectively assigned to the at least two second feature vectors.
  • the similarity and the similarity of the at least two third attribute labels respectively assigned to the at least two third feature vectors may be higher than each.
  • the similarity of the at least two second attribute labels may be lower than the similarity of the at least two first attribute labels and the similarity of the at least two third attribute labels respectively.
  • the similarity of the at least two third attribute labels may be lower than the similarity of the at least two first attribute labels and higher than the similarity of the at least two second attribute labels. .
  • the extraction unit 1001 typically extracts at least two feature vectors as at least a part of the first teacher data based on the first extraction designation information 1005, and the second extraction designation information 1005 At least two feature vectors are extracted as at least part of the second training data based on the above, and at least two feature vectors are extracted as at least part of the third training data based on the third extraction designation information 1005 may be extracted.
  • the learning unit 1002 calculates a first loss based on the first teacher data and the first loss information 1006, and calculates a second loss based on the second teacher data and the second loss information 1006. A loss may be calculated, a third loss may be calculated based on the third teacher data and the third loss information 1006, and metric learning may be performed based on the calculated first to third losses.
  • the information processing apparatus 1000 uses at least three different extraction conditions to generate at least three types of teacher data (that is, first to third teacher data) can be extracted. Furthermore, the information processing apparatus 1000 can separately calculate a first loss related to the first training data, a second loss related to the second training data, and a third loss related to the third training data. can. That is, the information processing apparatus 1000 can separately calculate the first to third losses in consideration of the difference between the first to third teacher data. As a result, compared to the case where the common loss is calculated without considering the difference between the first to third training data, the information processing apparatus 1000 can reduce the similarity that a general user has for the two data. It is possible to perform quantitative learning that reflects the sense of sexuality.
  • FIG. 2 is a block diagram showing the overall configuration of the communication system SYS2 in the second embodiment.
  • the communication system SYS2 includes a proxy server 1, a plurality of clients 2, a plurality of servers 3, and an information processing device 4.
  • the communication system SYS2 may have a single client 2 .
  • Communication system SYS2 may comprise a single server 3 .
  • the proxy server 1 and each of the plurality of servers 3 can communicate via a network 5 .
  • the network 5 may include a wired network or a wireless network.
  • the proxy server 1 is a device that relays communication between the client 2 and the server 3. For example, proxy server 1 may transmit a request obtained from client 2 to server 3 specified in the obtained request via network 5 .
  • the request may include, for example, an HTTP (Hyper Text Transfer Protocol) request.
  • HTTP Hyper Text Transfer Protocol
  • requests are not limited to HTTP requests.
  • the proxy server 1 may transmit a response obtained from the server 3 via the network 5 to the client 2 designated by the response.
  • a response may include, for example, an HTTP response.
  • the response is not limited to the HTTP response.
  • a system including the proxy server 1 and multiple clients 2 may be referred to as a local system LS.
  • the proxy server 1 is arranged at the boundary between the local system LS and the wide area network outside the local system LS. It can also be said that the proxy server 1 relays communication between the local system LS and the wide area network.
  • the client 2 communicates with the server 3 via the proxy server 1. For example, client 2 may transmit desired data to server 3 via proxy server 1 . For example, client 2 may receive desired data from server 3 via proxy server 1 .
  • the server 3 communicates with the client 2 via the proxy server 1. For example, server 3 may transmit desired data to client 2 via proxy server 1 . For example, server 3 may receive desired data from client 2 via proxy server 1 .
  • Server 3 is, for example, an HTTP server. However, the server 3 may be a server other than an HTTP server.
  • the information processing device 4 performs threat detection operations to detect threats that have already invaded the local system LS via the network 5 .
  • the configuration of the information processing device 4 that performs such a threat detection operation will be further described below.
  • FIG. 3 is a block diagram showing the configuration of the information processing device 4 according to the second embodiment.
  • the information processing device 4 includes a storage device 41, which is a specific example of "storage means", and an arithmetic device . Furthermore, the information processing device 4 may include an input device 43 and an output device 44 . However, the information processing device 4 may not include at least one of the input device 43 and the output device 44 .
  • the storage device 41 , arithmetic device 42 , input device 43 and output device 44 may be connected via a data bus 45 .
  • the storage device 41 can store desired data.
  • the storage device 41 may temporarily store computer programs executed by the arithmetic device 42 .
  • the storage device 41 may temporarily store data temporarily used by the arithmetic device 42 while the arithmetic device 42 is executing a computer program.
  • the storage device 41 may store data that the information processing device 4 saves for a long time.
  • the storage device 41 may include at least one of RAM (Random Access Memory), ROM (Read Only Memory), hard disk device, magneto-optical disk device, SSD (Solid State Drive), and disk array device. good. That is, the storage device 41 may include non-temporary recording media.
  • the storage device 41 stores data used by the information processing device 4 to perform the threat detection operation.
  • FIG. 3 shows a proxy log DB (Database) 411, a feature data set 412, a training data set 413, and extraction definition information as an example of data used by the information processing device 4 to perform the threat detection operation. 414 and the transformation model TM are described. 3 shows an example in which the storage device 41 stores a proxy log DB 411, a feature data set 412, a teacher data set 413, extraction definition information 414, and a conversion model TM.
  • the proxy log DB 411 stores multiple pieces of proxy log data 4111 (see FIG. 4, which will be described later).
  • the proxy log data 4111 is log data indicating the history of communication relayed by the proxy server 1 (that is, communication between the client 2 and the server 3).
  • FIG. 4 shows the data structure of the proxy log DB 411 that stores such multiple pieces of proxy log data 4111 . As shown in FIG.
  • the proxy log data 4111 includes, for example, (i) log information (client information) indicating the client 2 that communicated with the server 3 and (ii) log information indicating the server 3 that communicated with the client 2 ( (iii) log information indicating the date and time when the client 2 and the server 3 communicated (communication date and time information); and (iv) log information indicating the method used when the client 2 communicates with the server 3 ( (v) log information (request path information) indicating the path (request path) specified in the request sent by the client 2 to the server 3; and (vi) data received by the client 2 from the server 3. and (vii) log information (transmission size information) indicating the size of data transmitted from the client 2 to the server 3 .
  • the proxy log data 4111 does not have to include at least one of the plurality of pieces of log information shown in FIG.
  • the proxy log data 4111 may contain other log information different from the plurality of log information shown in FIG.
  • the feature data set 412, the teacher data set 413, the extraction definition information 414, and the conversion model TM will be detailed later.
  • the arithmetic unit 42 includes at least one of, for example, a CPU (Central Processing Unit), a GPU (Graphical Processing Unit), and an FPGA (Field Programmable Gate Array).
  • Arithmetic device 42 reads a computer program.
  • arithmetic device 42 may read a computer program stored in storage device 41 .
  • the computing device 42 may read a computer program stored in a computer-readable non-transitory recording medium using a recording medium reading device (not shown).
  • the computing device 42 may acquire a computer program from a device (not shown) arranged outside the information processing device 4 via an input device 43 capable of functioning as a communication device (that is, may download or may be loaded).
  • Arithmetic device 42 executes the read computer program.
  • logical functional blocks for executing the operation for example, the above-described threat detection operation
  • the arithmetic device 42 can function as a controller for realizing logical functional blocks for executing operations that the information processing device 4 should perform.
  • FIG. 3 shows an example of logical functional blocks implemented within computing device 42 to perform threat detection operations.
  • the computing device 42 includes a feature extraction unit 421, a metric learning unit 422 as a specific example of "learning means”, and a data extraction unit 423 as a specific example of "extracting means”. , a search unit 424 and an output control unit 425 are implemented.
  • the feature extraction unit 421 extracts a plurality of (or at least one) pieces of proxy log data 4111 classified into the same log data group from the proxy log DB 411 based on a predetermined log classification standard.
  • a predetermined log classification standard a plurality of pieces of proxy log data 4111 having the same client information, the same server information, and communication date and time information satisfying the predetermined date and time criteria are classified into the same log data group. May contain criteria.
  • a plurality of pieces of proxy log data 4111 that meet the predetermined date/time criteria may include a plurality of pieces of proxy log data 4111 that have the same communication date indicated by the communication date/time information.
  • the multiple pieces of proxy log data 4111 that meet the predetermined date and time criteria include multiple pieces of proxy log data 4111 in which the interval between the communication times (or communication dates and times) indicated by the communication date and time information is less than a predetermined value and is continuous. good too.
  • the feature extraction unit 421 extracts from the proxy log DB 411 shown in FIG.
  • Each of the three proxy log data 4111 indicating the communication history may be extracted as the proxy log data 4111 classified into the first log data group.
  • the feature extraction unit 421 extracts the data from the proxy log DB 411 shown in FIG.
  • Each of the three proxy log data 4111 indicating the communication history may be extracted as the proxy log data 4111 classified into the second log data group different from the first log data group.
  • the feature extracting unit 421 further generates a feature vector XV representing the feature amount of the plurality of extracted proxy log data 4111 (that is, the plurality of proxy log data 4111 classified into the same log data group). .
  • the feature extraction unit 421 generates one feature vector XV from a plurality of pieces of proxy log data 4111 classified into the same log data group. Therefore, the feature extraction unit 421 generates as many feature vectors XV as there are log data groups.
  • the number of log data groups is R (R is a constant representing an integer of 1 or more), and the feature extraction unit 421 generates R feature vectors XV.
  • the R feature vectors XV are referred to as "feature vectors XV 1 to XV R " indexed by subscripts. Further, in the following description, a feature vector XV generated from one log data group having an index r (r is a variable representing an integer satisfying 1 ⁇ r ⁇ R) among the R log data groups is , is called the feature vector XV r .
  • the feature extraction unit 421 may generate the feature vector XV by analyzing the multiple pieces of extracted proxy log data 4111 .
  • the feature extraction unit 421 may generate the feature vector XV by, for example, performing arithmetic processing for calculating the statistic of the multiple pieces of proxy log data 4111 .
  • the feature vector XV may include, for example, elements (that is, vector components, hereinafter the same) that indicate feature amounts related to transmission size information.
  • the feature amount related to the transmission size information may include a feature amount related to the statistics of the transmission size indicated by the transmission size information (for example, at least one of minimum value, maximum value, average value, variance, average value, etc.).
  • the feature vector XV may include, for example, elements indicating feature amounts related to reception size information.
  • the feature amount related to the reception size information may include a feature amount related to the statistics of the reception size indicated by the reception size information (for example, at least one of minimum value, maximum value, average value, variance, total value, etc.).
  • the feature vector XV may include, for example, elements indicating feature amounts related to path information.
  • the feature amount related to the path information may include a feature amount related to statistics (for example, at least one of minimum value, maximum value, average value, variance, etc.) of the data length of the request path indicated by the path information.
  • the feature amount related to the path information may include a feature amount related to the frequency of the extension of the request path indicated by the path information (for example, the frequency of requests for each extension).
  • the feature vector XV may include, for example, elements indicating feature amounts related to method information.
  • the feature amount related to method information may include a feature amount related to the frequency of methods indicated by the method information (for example, at least one of the ratio of GET methods, the ratio of POST methods, and the ratio of other methods).
  • the feature vector XV may include, for example, an element indicating a feature amount related to access time distribution (for example, the ratio of requests sent per unit time (for example, one hour)).
  • the feature vector XV may include, for example, elements indicating features related to the number of times the request has been sent. Note that if the proxy log data 4111 includes header information, the feature vector XV may include, for example, an element indicating a feature amount related to the header information.
  • the feature vector XV generated by the feature extraction unit 421 is stored as at least part of the feature data set 412 by the storage device 41 .
  • An example of the data structure of feature data set 412 is shown in FIG.
  • the storage device 41 may store feature data DV including the feature vector XV generated by the feature extraction section 421 .
  • the feature extraction unit 421 generates one feature vector XV from multiple pieces of proxy log data 4111 classified into the same log data group.
  • the feature data set 412 includes feature data DV by the number of log data groups classified according to a predetermined log classification standard. That is, the feature data set 412 may include R pieces of feature data DV.
  • feature data DV 1 to DV R indexed by subscripts.
  • feature data DV r the feature data DV including the feature vector XV r is referred to as feature data DV r .
  • the storage device 41 may store the feature vector XV generated by the feature extraction unit 421 as feature data DV in which the attribute label group ALG and the feature vector XV are associated. That is, the storage device 41 may store the feature vector XV to which the attribute label group ALG is assigned as the feature data DV.
  • the attribute label group ALG is data about data called the feature vector XV (that is, metadata of the data called the feature vector XV).
  • the attribute label group ALG may be data that can be used as labels for classifying the feature vector XV.
  • the feature vector XV generated by the feature extraction unit 421 may be classified by the attribute label group ALG.
  • the attribute label group ALG may be, for example, data that can be used as labels for determining the similarity of feature vectors XV. In other words, the similarity of at least two feature vectors XV generated by the feature extraction unit 421 may be determined by the attribute label group ALG.
  • the attribute label group ALG includes multiple types of attribute labels AL. That is, the attribute label group ALG corresponds to a combination of multiple types of attribute labels AL.
  • the attribute label AL is data about the data of the feature vector XV (that is, metadata of the data of the feature vector XV). Any data may be used as the attribute label AL as long as it can be used as metadata for the feature vector XV.
  • the feature vector XV is generated from a plurality of proxy log data 4111 classified into the same log data group. Therefore, information about the log data group used to generate the feature vector XV may be used as metadata of the feature vector XV. That is, a label indicating information about the log data group may be used as the attribute label AL. Also, in the above description, the multiple pieces of proxy log data 4111 are classified into log data groups based on a predetermined log classification standard. Therefore, information about log classification criteria used to classify multiple pieces of proxy log data 4111 may be used as metadata of the feature vector XV. That is, a label indicating information about log classification criteria may be used as the attribute label AL.
  • the log classification criteria include a log classification criteria that a plurality of proxy log data 4111 having the same client information, server information, and communication date/time information are classified into the same log data group.
  • each of the client information, server information, and communication date/time information may be used as metadata for the feature vector XV. That is, each of the label indicating the client information, the label indicating the server information, and the label indicating the communication date/time information may be used as the attribute label AL.
  • FIG. 5 shows an example in which a label for identifying client information, a label for identifying server information, and a label for identifying communication date and time information are each used as attribute labels AL.
  • each feature data DV included in the feature data set 412 includes a feature vector XV, an attribute label AL for identifying client information corresponding to the feature vector XV, and an attribute label AL for identifying server information corresponding to the feature vector XV. and an attribute label group ALG corresponding to a combination of attribute labels AL for identifying communication date information (communication date in the example shown in FIG. 5) corresponding to the feature vector XV.
  • the client information corresponding to the feature vector XV may mean client information included in the proxy log data 4111 from which the feature vector XV is calculated.
  • the server information corresponding to the feature vector XV may mean server information included in the proxy log data 4111 from which the feature vector XV is calculated.
  • the communication date/time information corresponding to the feature vector XV may mean the communication date/time information (communication date in the example shown in FIG. 5) included in the proxy log data 4111 from which the feature vector XV is calculated.
  • an attribute label AL for identifying client information is called "client label ALc”
  • an attribute label AL for identifying server information is called “server label ALs”
  • communication date and time information in the example shown in FIG. 5, date of communication
  • the attribute label group ALG includes a client label ALc, a server label ALs, and a communication date label ALd
  • the attribute label AL is not limited to each of the client label ALc, server label ALs, and communication date label ALd shown in FIG.
  • Other examples of the attribute label AL will be described below.
  • a label indicating information about the proxy log data 4111 (for example, metadata of the proxy log data 4111) used to generate the feature vector XV may be used as the attribute label AL.
  • a label indicating information that is included in the proxy log data 4111 but whose feature amount is not indicated by the feature vector XV may be used as the attribute label AL.
  • a label indicating information contained in the proxy log data 4111 but not used for generating the feature vector XV may be used as the attribute label AL.
  • a label indicating information included in the proxy log data 4111 and correlated with at least one of similarity and dissimilarity of feature vectors may be used as the attribute label AL.
  • the proxy log data 4111 contains information that is relatively unsuitable for use in generating the feature vector XV because of its relatively high cardinality (that is, the number of types of information is relatively large).
  • a label indicating the information may be used as the attribute label AL.
  • An example of information with relatively high cardinality is at least one of date information and time information.
  • the proxy log data 4111 contains information that is relatively likely to be unknown or uncertain when searched by the search unit 424, which will be described later
  • a label indicating the information is used as the attribute label AL.
  • the metric learning unit 422 performs metric learning to generate a transformation model TM capable of transforming the feature vector XV.
  • the feature vector XV indicates the feature amount of the proxy log data 4111 within the expression space (that is, vector space).
  • the transformation model TM transforms the feature vector XV representing the feature amount of the proxy log data 4111 in such an expression space into a latent vector XV representing the feature amount of the proxy log data 4111 in a latent space, which is a vector space different from the expression space. It is a model to convert to ZV.
  • the transformation model TM transforms the R feature vectors XV 1 through XV R into R latent vectors ZV 1 through ZV R , respectively. may be converted. That is, the transformation model TM may transform the feature vector XV r into the latent vector ZV r .
  • the conversion model TM generated by the metric learning unit 422 is stored in the storage device 41, for example.
  • the transformation model TM is a learnable model because it is generated by metric learning.
  • the transformation model TM may be a model including a neural network capable of learning parameters (eg, at least one of weights and biases).
  • the number of vector components of the latent vector ZV (that is, the number of elements of the feature indicated by the latent vector ZV and the number of dimensions of the latent space) is typically the number of vector components of the feature vector XV (that is, It is the number of elements of the feature quantity indicated by the feature vector XV, and is preferably smaller than the number of dimensions of the expression space). Therefore, latent vector ZV may be referred to as a low-dimensional vector, and feature vector XV may be referred to as a high-dimensional vector.
  • the threat detection operation is more difficult for humans to perform.
  • the number of vector components of the latent vector ZV may be the same as the number of vector components of the feature vector XV.
  • the number of vector components of the latent vector ZV may be greater than the number of vector components of the feature vector XV.
  • the metric learning unit 422 may perform metric learning, for example, using a neural network used for metric learning.
  • the metric learning unit 422 uses a Siamese network as an example of a neural network used to perform metric learning.
  • the neural network used for metric learning is not limited to the Siamese network.
  • the metric learning unit 422 may use a triplet network as an example of a neural network used to perform metric learning.
  • the data extraction unit 423 extracts at least two feature vectors XV from the feature data set 412 as at least part of the teacher data 4130 (see FIG. 9 described later). As a result, the data extraction unit 423 generates teacher data 4130 including at least two extracted feature vectors XV. Data extraction unit 423 typically generates a plurality of teacher data 4130 .
  • the teacher data 4130 (typically, a plurality of teacher data 4130) generated by the data extractor 423 are stored by the storage device 41 as a teacher data set 413.
  • a Siamese network is used to perform metric learning.
  • the data extraction unit 423 extracts two feature vectors XV (that is, a pair of feature vectors XV, hereinafter referred to as “vector pair XVP” as necessary) as at least part of the teacher data 4130. do. If the vector pair XVP is extracted as a positive example pair (that is, a pair of feature vectors XV for which metric learning is performed so that the distance in the latent space is reduced), teacher data 4130 including the vector pair XVP is positive. Used as example data.
  • teacher data 4130 including the vector pair XVP is used as negative data.
  • the data extraction unit 423 extracts at least two feature vectors XV (in the second embodiment, vector pairs XVP ). Details of the operation for extracting at least two feature vectors XV based on the extraction definition information 414 will be described later together with details of the extraction definition information 414. FIG.
  • the search unit 424 searches the feature data set 412 based on the query data DQ specifying a threat to be detected by the threat detection operation (hereinafter referred to as a “detection target threat”). Search for at least one feature data DV that is higher than DV.
  • a detection target threat a threat to be detected by the threat detection operation
  • Search for at least one feature data DV that is higher than DV is higher than DV.
  • the distance between the query data DQ and the feature data DV in the latent space is used as an index value indicating the similarity between the query data DQ and the feature data DV.
  • the distance between the query data DQ and the feature data DV in the latent space can be obtained by converting the feature vector XQ indicated by the query data DQ (that is, the feature vector indicating the feature amount of the detected target threat) using the conversion model TM.
  • the search unit 424 searches the feature data set 412 for at least one feature data DV whose distance from the query data DQ in the latent space is shorter than other feature data DV.
  • the query data DQ may include a feature vector XQ that indicates the feature quantity of the detection target threat.
  • the number of dimensions of the feature vector XQ of the query data DQ is preferably the same as the number of dimensions of the feature vector XV of the feature data DV. That is, if the feature vector XV has F dimensions (where F is a constant representing an integer of 1 or more), the feature vector XQ preferably also has F dimensions.
  • the types of F feature amounts indicated by the F vector components of the feature vector XV are preferably the same as the types of F feature amounts indicated by the F vector components of the feature vector XQ.
  • the feature vector XV includes a vector component representing the feature amount related to the reception size and a vector component representing the feature amount related to the transmission size
  • the feature vector XQ also contains the vector component representing the feature amount related to the reception size and the transmission size. It is preferable to include a vector component indicating a feature amount related to size.
  • the search unit 424 searches the feature data set 412 for N (where N is 1 ⁇ N ⁇ feature data), the distance from the query data DQ in the latent space being shorter than other feature data DV.
  • N is 1 ⁇ N ⁇ feature data
  • the search unit 424 converts the retrieved N pieces of feature data DV into N pieces of neighborhood data DN (hereinafter, the N pieces of neighborhood data DN are referred to as “neighborhood data DN 1 to DN N ”, respectively). extracted as
  • Neighborhood data DN n (n is a variable representing an integer that satisfies 1 ⁇ n ⁇ N) corresponds to data located in the vicinity of query data DQ in the latent space.
  • the neighborhood data DNn corresponds to the feature data DV that indicates the feature amount of the proxy log data 4111 indicating traces of a threat that is the same as or similar to the detection target threat specified by the query data DQ. Therefore, when the neighborhood data DN n is detected, it is assumed that a threat that is the same as or similar to the detected target threat may have already entered the local system LS. Therefore, the extracted neighborhood data DN n (or the proxy log data 4111 corresponding to the neighborhood data DN n ) is further analyzed to determine whether a threat has actually entered the local system LS. good too.
  • the output control unit 425 may control the output device 44 to be described later so as to output information on at least one of the N neighborhood data DN 1 to DN N extracted by the search unit 424 .
  • the input device 43 is a device that receives input of information to the information processing device 4 from the outside of the information processing device 4 .
  • the input device 43 may include an operating device (for example, at least one of a keyboard, a mouse, and a touch panel) that can be operated by the user of the information processing device 4 .
  • the input device 43 may include a receiving device (that is, a communication device) capable of receiving information transmitted as data from the outside of the information processing device 4 to the information processing device 4 via a communication network.
  • the output device 44 is a device that outputs information.
  • the output device 44 may output information on the threat detection operation performed by the information processing device 4 (for example, information on the detected threat).
  • An example of such an output device 44 is a display (display device) capable of outputting (that is, displaying) information as an image.
  • An example of the output device 44 is a speaker (audio output device) capable of outputting information as audio.
  • An example of the output device 44 is a printer capable of outputting a document on which information is printed.
  • An example of output device 44 is a transmitting device (ie, a communication device) capable of transmitting information as data over a communication network or data bus.
  • the information processing device 4 performs a threat detection operation for detecting threats that have already invaded the local system LS. Furthermore, the information processing device 4 may perform a model generation operation for generating the conversion model TM used in the threat detection operation before performing the threat detection operation. Therefore, the model generation operation and the threat detection operation will be described in order below.
  • FIG. 6 is a flow chart showing the flow of the model generation operation performed by the information processing device 4. As shown in FIG.
  • the data extraction unit 423 generates teacher data 4130 (step S11).
  • data extractor 423 extracts two feature vectors XV (that is, vector pair XVP) from feature data set 412 as at least part of teacher data 4130 .
  • the data extraction unit 423 extracts the vector pair XVP as at least part of the teacher data 4130 from the feature data set 412 based on the extraction definition information 414.
  • the extraction definition information 414 will be described with reference to FIG. 7 showing the extraction definition information 414.
  • FIG. 7 the extraction definition information 414 includes multiple extraction definition data 4140 .
  • the extraction definition information 414 includes Q (where Q is a constant representing an integer of 2 or more) extraction definition data 4140 will be described.
  • Each extraction definition data 4140 includes a definition identifier 4141 and extraction designation information 4142 .
  • Each extraction definition data 4140 also includes loss information 4143. The loss information 4143 will be described together with the description of the metric learning performed after the teacher data 4130 is generated.
  • the definition identifier 4141 is a unique identifier for identifying the extraction definition data 4140.
  • the extraction definition information 414 includes the extraction definition data 4140 assigned the definition identifier 4141 of "DI1", the extraction definition data 4140 assigned the definition identifier 4141 of "DI2", and the definition "DI3". It includes extraction definition data 4140 to which an identifier 4141 is assigned and extraction definition data 4140 to which a definition identifier 4141 of "DI4" is assigned.
  • the extraction definition data 4140 to which the definition identifier 4141 of "DIq (where q is an integer that satisfies 1 ⁇ q ⁇ Q)" is referred to as "extraction definition data 4140#q". called.
  • the extraction designation information 4142 and loss information 4143 included in the extraction definition data 4140#q are referred to as “extraction designation information 4142#q” and “loss information 4143#q", respectively.
  • the extraction designation information 4142 designates (in other words, indicates) an extraction condition for extracting at least two feature vectors XV as at least part of the teacher data 4130 (in the second embodiment, extracting vector pairs XVP). .
  • the extraction designation information 4142 may be regarded as designating the vector pair XVP to be extracted as at least part of the teacher data 4130 by designating the extraction condition.
  • the data extraction unit 423 extracts vector pairs XVP that satisfy the extraction conditions specified by the extraction specification information 4142 from the feature data set 412 as at least part of the teacher data 4130 .
  • the extraction designation information 4142 designates the extraction condition by the relationship between the two attribute label groups ALG respectively assigned to the vector pairs XVP to be extracted.
  • the data extraction unit 423 extracts, from the feature data set 412, vector pairs XVP to which two attribute label groups ALG that satisfy the relationship specified by the extraction condition are assigned, as at least part of the teacher data 4130. do.
  • the extraction conditions may include a positive example condition that "a vector pair XVP used as a positive example pair is extracted".
  • vector pairs XVP to which two attribute label groups ALG with relatively high similarity are respectively assigned may be used as positive example pairs.
  • the extraction condition in particular, the extraction condition for extracting the vector pair XVP used as the positive example pair
  • the extraction conditions may include a negative example condition that "the vector pair XVP used as a negative example pair is extracted".
  • vector pairs XVP to which two attribute label groups ALG with relatively low similarity are respectively assigned may be used as negative example pairs.
  • “two attribute label groups ALG with relatively low similarity” that define negative example pairs will be referred to as "low similarity label group pairs ALGn”. Therefore, the extraction condition (particularly, the extraction condition for extracting the vector pair XVP used as the negative example pair) is such that "the vector pairs XVP to which the low similarity label group pairs ALGn are respectively assigned are extracted.” May contain conditions.
  • the extraction condition is that "a vector pair XVP to which two attribute label groups ALG having lower similarity than the high-similarity label group pair ALGp and higher similarity than the low-similarity label group pair ALGn are respectively assigned" is extracted. It may contain intermediate conditions. In the following description, for convenience of explanation, "two attribute label groups ALG having lower similarity than the high similarity label group pair ALGp and higher similarity than the low similarity label group pair ALGn" will be referred to as "intermediate similar label group pair ALGi”. Therefore, the extraction conditions may include an intermediate condition that "vector pairs XVP to which intermediate similar label group pairs ALGi are respectively assigned are extracted.” A vector pair XVP extracted based on the intermediate condition may be used as a positive example pair. A vector pair XVP extracted based on the intermediate condition may be used as a negative example pair in addition to or instead of being used as a positive example pair.
  • the relationship between the similarity of the high similarity label group pair ALGp, the similarity of the low similarity label group pair ALGn, and the similarity of the intermediate similarity label group pair ALGi is only a relative relationship. That is, any two attribute label groups ALG having similarity higher than the similarity of the low similar label group pair ALGn and higher than the similarity of the intermediate similar label group pair ALGi are used as the high similarity label group pair ALGp. may Any two attribute label groups ALG having a similarity lower than the similarity of the high similarity label group pair ALGp and lower than the similarity of the intermediate similarity label group pair ALGi are used as the low similarity label group pair ALGn. good. Any two attribute label groups ALG having a similarity lower than the similarity of the high similar label group pair ALGp and higher than the similarity of the low similar label group pair ALGn may be used as the intermediate similar label group pair ALGi. good.
  • the attribute label group ALG includes multiple types of attribute labels AL.
  • the similarity of the attribute label group ALG may depend on the similarity of each of the multiple types of attribute labels AL. For example, the similarity between two attribute label groups ALG in which all of the attribute labels AL of multiple types have relatively high similarity (for example, all of the attribute labels AL of multiple types match) The similarity of at least one of the labels AL is relatively low (for example, the similarity of at least one of the multiple types of attribute labels AL does not match) is higher than the similarity of the two attribute label groups ALG.
  • the similarity of two attribute label groups ALG in which the similarity of all of the multiple types of attribute labels AL is relatively low is the similarity of at least one of the multiple types of attribute labels AL.
  • the attribute label group ALG includes three types of attribute labels AL: client label ALc, server label ALs, and communication date label ALd.
  • the similarity of the two attribute label groups ALG in which all three types of attribute labels AL match is the similarity of the two attribute label groups ALG in which at least one of the three types of attribute labels AL does not match. Higher than similarity.
  • the similarity of two attribute label groups ALG with any two of the three types of attribute labels AL matching is the similarity of two attributes with at least two of the three types of attribute labels AL not matching higher than the similarity of the label group ALG.
  • the similarity between two attribute label groups ALG in which any one of the three types of attribute labels AL matches is the similarity between two attribute label groups ALG in which none of the three types of attribute labels AL match.
  • a high similarity label group pair ALGp, a low similarity label group pair ALGn, and an intermediate similarity label group pair ALGi may be defined according to the number of AL types of matching attribute labels.
  • two attribute label groups ALG whose client label ALc, server label ALs, and communication date label ALd all match may be used as the highly similar label group pair ALGp.
  • two attribute label groups ALG with matching client label ALc and server label ALs may be used as a highly similar label group pair ALGp.
  • two attribute label groups ALG in which none of the client label ALc, server label ALs, and communication date label ALd do not match may be used as the low similarity label group pair ALGn.
  • two attribute label groups ALG in which one of the client label ALc and server label ALs matches, but the other of the client label ALc and server label ALs does not match is an intermediate similar label group pair It may be used as ALGp.
  • the extraction condition may include a condition using all of the multiple types of attribute labels AL included in the attribute label group ALG.
  • the extraction condition may include a condition using all of the client label ALc, server label ALs, and communication date label ALd included in the attribute label group ALG.
  • the extraction condition is a condition in which some of the multiple types of attribute labels AL included in the attribute label group ALG are used while other types of multiple types of attribute labels AL included in the attribute label group ALG are not used. may contain.
  • the extraction condition uses part of the client label ALc, server label ALs, and communication date label ALd included in the attribute label group ALG, while using the client label ALc, server label ALs, and communication date label included in the attribute label group ALG.
  • the extraction condition that does not use the communication date label ALd does not care about the similarity of the communication date label ALd between the vector pairs XVP to be extracted (for example, if the communication date label ALd is (whether matched or not matched).
  • the extraction specification information 4142 may specify extraction conditions by directly specifying the relationship between two attribute label groups ALG.
  • the extraction designation information 4142 is any one of a plurality of extraction conditions whose content is predefined (that is, a plurality of extraction conditions whose relationship between two attribute label groups ALG is predefined). may be specified using a unique condition identifier for identifying the extraction condition.
  • the extraction designation information 4142 designates one of a plurality of extraction conditions using a condition identifier. Specifically, in the example shown in FIG.
  • the extraction designation information 4142#1 designates an extraction condition to which the condition identifier "E1" is assigned, and the extraction designation information 4142#2 designates the condition identifier "E2.” is assigned
  • the extraction specification information 4142#3 specifies the extraction condition to which the condition identifier "E2" is assigned
  • the extraction specification information 4142#4 is assigned the condition identifier "E3". specified extraction conditions.
  • condition definition table 415 The contents of multiple extraction conditions (that is, the relationship between two attribute label groups ALG used as extraction conditions) may be defined in advance by the condition definition table 415 .
  • An example of the condition definition table 415 is shown in FIG. As shown in FIG. 8, the condition definition table 415 may contain a plurality of condition definition data 4150 that respectively define the contents of a plurality of extraction conditions.
  • Each condition definition data 4150 includes condition identifier 4151 and attribute relationship information 4152 .
  • Condition identifier 4151 is a unique identifier for identifying condition definition data 4150 .
  • the extraction designation information 4142 may use this condition identifier 4151 to designate an extraction condition.
  • the attribute relation information 4152 indicates the relation to be satisfied by the two attribute label groups ALG respectively assigned to the vector pairs XVP extracted as part of the teacher data 4130 . Specifically, the attribute relationship information 4152 indicates relationships between vector pairs XVP extracted as part of the teacher data 4130 to be satisfied by multiple types of attribute labels AL included in the attribute label group ALG.
  • condition definition table 415 includes condition definition data 4150 (hereinafter referred to as "condition definition data 4150 #1”) to which a condition identifier 4151 of "E1" is assigned, and condition definition data 4150 of "E2.” 4151 assigned to condition definition data 4150 (hereinafter referred to as “condition definition data 4150 #2”) and condition definition data 4150 assigned condition identifier 4151 “E3” (hereinafter referred to as “condition definition data 4150 #3 ”).
  • condition definition data 4150#1 states that "a vector pair XVP is extracted in which the client label ALc and the server label ALs match and the communication date label ALd may or may not match”. It includes attribute relation information 4152 that defines extraction conditions.
  • the condition definition data 4150 #2 is "a vector pair XVP that matches the client label ALc, does not match the server label ALs, and may or may not match the communication date label ALd is extracted. It includes attribute relation information 4152 that defines the extraction condition of "be done”.
  • the condition definition data 4150#3 includes attribute relationship information 4152 that defines an extraction condition that "a vector pair XVP in which all of the client label ALc, server label ALs, and communication date label ALd do not match is extracted”.
  • At least two pieces of extraction designation information 4142 included in at least two of the plurality of pieces of extraction definition data 4140 may designate the same extraction condition.
  • the extraction designation information 4142#2 designates the same extraction conditions as the extraction conditions designated by the extraction designation information 4142#3.
  • At least two pieces of extraction designation information 4142 included in at least two of the plurality of pieces of extraction definition data 4140 may designate different extraction conditions.
  • the extraction designation information 4142#1 designates extraction conditions different from the extraction conditions designated by the extraction designation information 4142#2 to 4142#4.
  • Each of the extraction designation information 4142#2 and 4142#3 designates an extraction condition different from the extraction condition designated by the extraction designation information 4142#4.
  • the data extraction unit 423 Based on such extraction designation information 4142, the data extraction unit 423 extracts vector pairs XVP that satisfy the extraction conditions designated by the extraction designation information 4142 from the feature data set 412 as at least part of the teacher data 4130. If a plurality of vector pairs XVP satisfying the extraction condition exist in the feature data set 412, the data extraction unit 423 may extract all of the plurality of vector pairs XVP. Alternatively, the data extraction unit 423 may extract some of the multiple vector pairs XVP while not extracting other parts of the multiple vector pairs XVP.
  • the data extraction unit 423 repeats the operation of extracting vector pairs XVP that satisfy the extraction conditions by the number of extraction definition data 4140 (that is, by the number of extraction designation information 4142).
  • the extraction definition information 414 includes extraction definition data 4140#1 to 4140#4 (that is, extraction designation information 4142#1 to 4142#4).
  • the data extraction unit 423 extracts all or part of the vector pairs XVP satisfying the extraction conditions specified by the extraction specification information 4142#1, and the feature vectors XV XV satisfying the extraction conditions specified by the extraction specification information 4142#2.
  • the extraction condition specified by the extraction specification information 4142#2 is the same as the extraction condition specified by the extraction specification information 4142#3.
  • the data extraction unit 423 extracts all or part of the vector pairs XVP that satisfy the extraction condition specified by one of the extraction specification information 4142#2 and 4142#3. It may be extracted as a vector pair XVP that satisfies the extraction conditions specified by #3.
  • a vector pair XVP that satisfies one extraction condition basically does not satisfy another extraction condition that differs from the one extraction condition. For this reason, the data extracting unit 423 extracts all or part of the vector pairs XVP that satisfy one extraction condition, and then extracts all or part of the vector pairs XVP that satisfy another extraction condition.
  • a vector pair XVP extracted based on a condition may be excluded from the population of extraction targets (that is, search targets) for vector pair XVPs that satisfy other extraction conditions. In this case, since the population from which vector pairs XVP are to be extracted becomes smaller, the processing load for extracting vector pairs XVP that satisfy other extraction conditions can be reduced.
  • the data extracting unit 423 sets a plurality of feature vectors XV constituting vector pairs XVP extracted based on one extraction condition as the population to be extracted, and then extracts based on the one extraction condition.
  • a pair of feature vectors XV that satisfy other extraction conditions may be extracted from vector pairs XVP different from the vector pairs XVP that are used. In this case, since the population from which vector pairs XVP are to be extracted becomes smaller, the processing load for extracting vector pairs XVP based on other extraction conditions can be reduced.
  • the data extraction unit 423 registers the teacher data 4130 including the extracted vector pair XVP in the teacher data set 413. That is, the data extraction unit 423 stores the teacher data 4130 including the extracted vector pair XVP in the storage device 41 as part of the teacher data set 413 .
  • the teacher data set 413 includes multiple teacher data 4130 .
  • Each training data 4130 includes vector information 4131 regarding the vector pair XVP extracted by the data extraction unit 423 .
  • the vector information 4131 may contain the vector pair XVP itself.
  • vector information 4131 may include a pair of data identifiers for identifying vector pair XVP.
  • FIG. 9 shows an example in which vector information 4131 includes data identifier pairs for identifying vector pairs XVP.
  • the attribute label group ALG assigned to the feature vector XV is used as the data identifier.
  • the teacher data 4130 further includes definition identification information 4132 that identifies the extraction definition data 4140 used to extract the vector pair XVP indicated by the vector information 4131.
  • the teacher data 4130 is data in which the vector information 4131 and the definition specifying information 4132 specifying the extraction definition data 4140 used to extract the vector pair XVP indicated by the vector information 4131 are associated.
  • the definition specifying information 4132 may specify the extraction definition data 4140 by using the definition identifier 4141 for identifying the extraction definition data 4140, for example. In the example shown in FIG.
  • the training data set 413 includes three training data 4130 each including three vector pairs XVP extracted based on the extraction definition data 4140#1 (that is, extraction designation information 4142#1), and , two teacher data 4130 each containing two vector pairs XVP extracted based on extraction definition data 4140#2 (that is, extraction designation information 4142#2), and extraction definition data 4140#3 (that is, extraction designation information 4142#3) are extracted based on two teacher data 4130 and one vector pair extracted based on the extraction definition data 4140#4 (that is, the extraction designation information 4142#4).
  • One teacher data 4130 including XVP is included.
  • the metric learning unit 422 performs metric learning using the teacher data 4130 generated in step S11 to generate the transformation model TM (step S12).
  • FIG. 10 conceptually shows the model structure of the Siamese network SM.
  • the Siamese network SM includes a transformation model TM1 and a transformation model TM2.
  • the transformation model TM1 and the transformation model TM2 are the same.
  • transformation models TM1 and TM2 are two neural networks with identical parameters.
  • the transformation models TM1 and TM2 can transform the feature vector XV into the latent vector ZV, like the transformation model TM.
  • the metric learning unit 422 inputs vector pairs XVP included in the teacher data 4130 (or indicated by the teacher data 4130) to the transformation models TM1 and TM2.
  • the two feature vectors XV forming the vector pair XVP are hereinafter referred to as "feature vector XV i " and “feature vector XV j ", respectively.
  • “i” is a variable indicating an integer satisfying 1 ⁇ i ⁇ R (that is, the total number of feature vectors XV)
  • “j” is an integer satisfying 1 ⁇ j ⁇ R and different from the variable i.
  • the metric learning unit 422 inputs the feature vector XV i to the transformation model TM1 and inputs the feature vector XV j to the transformation model TM2.
  • transformation model TM1 outputs latent vector ZV i
  • transformation model TM2 outputs latent vector ZV j .
  • the metric learning unit 422 calculates the distance d(i, j) between the latent vector ZV i and the latent vector ZV j .
  • the metric learning unit 422 repeats similar operations using a plurality of teacher data 4130 included in the teacher data set 413 .
  • the metric learning unit 422 calculates a loss L based on a plurality of distances d(i, j) calculated using a plurality of teacher data 4130, and based on the loss L, corresponds to positive example data. so that the distance d(i, j) calculated using the teacher data 4130 becomes shorter and the distance d(i, j) calculated using the teacher data 4130 corresponding to the negative example data becomes longer, Update the conversion model TM1 (furthermore, the conversion model TM2). That is, the metric learning unit 422 updates the transformation model TM1 (furthermore, the transformation model TM2) so that the vector pair XVP corresponding to the positive example pair approaches and the vector pair XVP corresponding to the negative example pair separates. .
  • the conversion model TM1 (or conversion model TM2) generated as a result is used as the conversion model TM.
  • the parameters of the conversion model TM1 (or the conversion model TM2) are used as the parameters of the conversion model TM.
  • the metric learning unit 422 calculates the loss L using the loss information 4143 included in the extraction definition information 414.
  • the loss information 4143 defines the loss L used in metric learning (that is, the loss L calculated based on the distance d(i, j)).
  • the loss information 4143 is the loss L related to the vector pair XVP extracted based on the extraction designation information 4142 corresponding to the loss information 4143 (that is, the loss L specific to the vector pair XVP extracted based on the extraction designation information 4142 , hereinafter referred to as “loss Lc”).
  • the loss information 4143#q represents the loss Lc#q calculated based on the distance d(i,j) between the vector pairs XVP satisfying the extraction condition specified by the extraction specification information 4142#q.
  • the loss information 4143#1 defines a loss Lc#1 calculated based on the distance d(i,j) between vector pairs XVP satisfying the extraction condition specified by extraction specification information 4142#1, and loss information 4143#2.
  • loss information 4143# Q defines the loss Lc#Q calculated based on the distance d(i, j) between the vector pairs XVP that satisfy the extraction condition specified by the extraction specifying information 4142#Q.
  • the loss information 4143#q may be regarded as defining the loss L calculated using the loss Lc#q by defining the loss Lc#q.
  • the extraction designation information 4142 used to extract the vector pair XVP included in each teacher data 4130 can be specified from the definition specifying information 4132 included in each teacher data 4130. Therefore, the metric learning unit 422 can specify the loss information 4143 defining the loss Lc for the vector pair XVP included in each teacher data 4130 based on the definition specifying information 4132 included in each teacher data 4130 .
  • the loss information 4143 #q may define the loss Lc#q by defining (in other words, specifying) parameters of the loss Lc#q.
  • a loss conforming to Contrastive Loss may be used as the loss Lc#q.
  • An example of the loss Lc#q based on Contrastive Loss is shown in Equation 1.
  • “w c ” in Expression 1 indicates a weight, which is an example of a parameter of loss Lc#q.
  • “y c ” in Expression 1 indicates a teacher label, which is an example of a parameter of loss Lc#q.
  • “m c ” in Equation 1 indicates a margin, which is an example of a parameter of loss Lc#q.
  • "Pc#q" in Equation 1 indicates a set of vector pairs XVP extracted based on extraction designation information 4142#q.
  • the operator “[v] + ” in Equation 1 indicates the larger number between the real number v and zero.
  • loss information 4143#q may specify weight wc, teacher label yc, and margin mc for defining loss Lc#q, as shown in FIG . That is, loss information 4143#q may include loss weight wc , teacher label yc , and margin mc for defining loss Lc#q.
  • the loss Lc#1 is defined as follows.
  • the teacher label yc may be regarded as a label indicating whether the vector pair XVP extracted based on the extraction designation information 4142 is a positive example pair or a negative example pair.
  • vector pairs XVP extracted based on the extraction designation information 4142#1 and 4142#2 are used as positive example pairs.
  • the vector pairs XVP extracted based on the extraction designation information 4142#3 and 4142#4 are used as negative example pairs.
  • the loss information 4143#1 indicates that the vector pair XVP extracted based on the extraction condition E1 specified by the extraction specification information 4142#1 is used as the positive example pair.
  • the vector pair XVP extracted based on the extraction condition E1 is never used as a negative example pair.
  • the extraction condition E1 is used as a positive example condition that "vector pairs XVP to which highly similar label group pairs ALGp are respectively assigned are extracted as positive example pairs".
  • two attribute label groups ALG whose client label ALc and server label ALs match and whose communication date label ALd may or may not match are It is used as a similar label group pair ALGp.
  • the loss information 4143#4 indicates that the vector pair XVP extracted based on the extraction condition E3 specified by the extraction specification information 4142#4 is used as the negative example pair.
  • the vector pair XVP extracted based on the extraction condition E3 is never used as a positive example pair.
  • the extraction condition E3 is used as a negative example condition that "vector pairs XVP to which low similarity label group pairs ALGn are respectively assigned are extracted as negative example pairs".
  • two attribute label groups ALG whose client label ALc, server label ALs, and communication date label ALd do not all match are used as low similarity label group pairs ALGn.
  • the extraction specification information 4142#2 and 4142#3 specify the same extraction condition E2.
  • the loss information 4143 #2 indicates that the vector pair XVP extracted based on the extraction designation information 4142 #2 is used as the positive example pair
  • the loss information 4143 #3 indicates that the extraction designation information
  • the vector pair XVP extracted based on 4142#3 (that is, the same vector pair XVP as the vector pair XVP extracted based on the extraction designation information 4142#2) is used as a negative example pair.
  • the extraction condition E2 is used as an intermediate condition that "vector pairs XVP to which intermediate similar label group pairs ALGi are respectively assigned are extracted as at least one of positive example pairs and negative example pairs". That is, as shown in FIG.
  • ALG is used as the intermediate similar label group pair ALGi.
  • a given vector pair XVP may be used as both a positive example pair and a negative example pair. That is, when one training data 4130 containing vector pairs XVP satisfying a certain extraction condition is used as positive example data, another training data 4130 containing the same vector pairs XVP satisfying the same extraction conditions is used as negative example data. may
  • the weight wc is typically set to a numerical value greater than or equal to 0 and less than or equal to 1. However, the weight wc may be set to a numerical value of 1 or more. As can be seen from Equation 1, the weight wc has the property that the greater the weight wc , the greater the contribution of the loss Lc to the loss L as a whole. For this reason, the loss information 4143 #q sets the weight w c so that the contribution of the loss Lc#q calculated from the vector pair XVP extracted based on the extraction designation information 4142 #q is appropriate. May be specified.
  • the loss information 4143 #q has a weight w c that increases as the similarity between the two attribute label groups ALG assigned to the vector pair XVP extracted as a positive example pair based on the extraction designation information 4142 #q increases.
  • the weight wc may be specified to be large.
  • the extraction designation information 4142 is extracted by the relationship between the two attribute label groups ALG assigned to the vector pair XVP to be extracted (that is, the relationship between multiple types of attribute labels AL). specify the conditions.
  • the greater the number of types of attribute labels AL that match (or have relatively high similarity as described above, the same applies hereinafter) between the vector pairs XVP the more the attribute labels AL are assigned to the extracted vector pairs XVp.
  • loss information 4143 #q has a weight w c that increases as the number of types of attribute labels AL that match between vector pairs XVP extracted as positive example pairs based on extraction designation information 4142 #q increases.
  • the weight wc may be specified such that
  • the client label ALc and the server label ALs match between the vector pairs XVP extracted based on the extraction designation information 4142#1.
  • the client labels ALc match, but the server labels ALs do not match. Therefore, the number of types of attribute labels AL that match between the vector pairs XVP extracted based on the extraction designation information 4142#1 is greater than the number of types of matching attribute labels AL.
  • the weight wc specified by the loss information 4143 #1 may be greater than the weight wc specified by the loss information 4143#2.
  • the loss information 4143 #q has a weight w c that decreases as the similarity between the two attribute label groups ALG assigned to the vector pairs XVP extracted as negative example pairs based on the extraction designation information 4142 #q decreases.
  • the weight wc may be specified to be large.
  • loss information 4143 #q has a weight w c that increases as the number of types of attribute labels AL that do not match between vector pairs XVP extracted as negative example pairs based on extraction designation information 4142 #q increases.
  • the weight wc may be specified such that
  • the client label ALc and the server label ALs do not match between the vector pairs XVP extracted based on the extraction designation information 4142#4.
  • the client labels ALc match, but the server labels ALs do not match. Therefore, the number of types of attribute labels AL that do not match between the vector pairs XVP extracted based on the extraction designation information 4142#4 is It is greater than the number of types of attribute labels AL that do not match.
  • the weight wc specified by the loss information 4143 #4 may be greater than the weight wc specified by the loss information 4143#3.
  • Margin mc is then typically set to a number greater than or equal to zero.
  • the teacher label yc is 1, so the first term on the right side of Equation 1 is used as the loss term. Therefore, a loss occurs when the distance d (i, j) between the vector pairs XVP corresponding to the positive pair is longer than the margin mc. Therefore, the margin mc acts to bring the vector pairs XVP closer together until the distance d ( i ,j) between the vector pairs XVP corresponding to the positive example pairs becomes equal to or less than the margin mc.
  • the loss information 4143 #q is such that the margin mc increases as the similarity between the two attribute label groups ALG assigned to the vector pair XVP extracted as the positive example pair based on the extraction designation information 4142 #q increases.
  • a margin mc may be specified so as to be small.
  • the loss information 4143 #q is set so that the margin mc becomes smaller as the number of types of attribute labels AL that match between the vector pairs XVP extracted as positive example pairs based on the extraction designation information 4142 #q increases.
  • a margin mc may be specified. In the example shown in FIG . 7, the margin mc specified by the loss information 4143#1 may be smaller than the margin mc specified by the loss information 4143#2.
  • Equation 1 when the vector pair XVP corresponding to the negative pair is used, the teacher label yc is 0, so the second term on the right side of Equation 1 is used as the loss term. . Therefore, a loss occurs when the distance d (i,j) between the vector pairs XVP corresponding to the negative pair becomes shorter than the margin mc. Therefore, the margin mc acts to keep the vector pair XVP away until the distance d ( i ,j) between the vector pair XVP corresponding to the negative example pair is equal to or greater than the margin mc. Therefore, the larger the margin mc, the longer the distance d (i, j) between vector pairs XVP extracted as negative pairs.
  • the loss information 4143 #q is such that the margin mc increases as the similarity between the two attribute label groups ALG assigned to the vector pairs XVP extracted as negative example pairs based on the extraction designation information 4142 #q decreases.
  • a margin mc may be specified to be large.
  • the loss information 4143 #q is set so that the margin mc increases as the number of types of attribute labels AL that do not match between the vector pairs XVP extracted as negative example pairs based on the extraction designation information 4142 #q increases.
  • a margin mc may be specified. In the example shown in FIG . 7, the margin mc specified by the loss information 4143#4 may be larger than the margin mc specified by the loss information 4143#3.
  • the margin m c specified by the loss information 4143 corresponding to the positive example pair corresponds to the negative example pair.
  • the margin mc specified by the loss information 4143#2 may be smaller than the margin mc specified by the loss information 4143#3.
  • the metric learning is appropriately performed so that the distance d(i,j) between the vector pairs XVP used as the positive and negative pair, which satisfies the same extraction conditions, converges to a certain distance. .
  • the metric learning unit 422 calculates the loss L based on such loss information 4143. Specifically, metric learning section 422 calculates loss Lc#q based on vector pair XVP extracted based on extraction designation information 4142#q and loss information 4143#q. That is, metric learning section 422 calculates losses Lc#1 to Lc#Q. After that, the metric learning unit 422 calculates the loss L as a whole based on the losses Lc#1 to Lc#Q. For example, the metric learning unit 422 may calculate the addition result as the loss L by adding the losses Lc#1 to Lc#Q. The metric learning unit 422 may use the sum of the losses Lc#1 to Lc#Q as the loss L.
  • the metric learning unit 422 performs metric learning so as to update the conversion model TM1 (furthermore, the conversion model TM2). For example, the metric learning unit 422 performs metric learning so as to update the transformation model TM1 (furthermore, the transformation model TM2) so that the loss L becomes small (preferably zero).
  • the metric learning unit 422 stores the generated conversion model TM1 (further, the conversion model TM2) in the storage device 41 as the conversion model TM (step S13).
  • FIG. 11 is a flow chart showing the flow of the threat detection operation performed by the information processing device 4.
  • the threat detection operation shown in FIG. 11 may be triggered by input of query data DQ to the information processing device 4 .
  • a threat detection operation is performed for each query data DQ.
  • the threat detection operation and the second query data DQ are performed on the first query data DQ.
  • a targeted threat detection operation is performed.
  • the search unit 424 first acquires the query data DQ (step S21). For example, the search unit 424 directly or indirectly detects the detection target threat (or the feature vector XQ) that is input to the information processing device 4 via the input device 43 that can function as an operating device that can be operated by the user. may be obtained as query data DQ. For example, the search unit 424 may directly or indirectly specify a detection target threat (or feature vector XQ), which is transmitted to the information processing device 4 via the input device 43 that can function as a communication device. Information may be obtained as query data DQ.
  • the detection target threat or the feature vector XQ
  • Information may be obtained as query data DQ.
  • the search unit 424 extracts N neighborhood data DN 1 to DN N from the feature data set 412 based on the query data DQ acquired in step S21 (steps S22 to S26).
  • the search unit 424 uses the conversion model TM stored in the storage device 41 to convert the feature vector XQ of the query data DQ acquired in step S21 into the feature amount of the detected target threat in the latent space. is converted into the indicated latent vector ZQ (step S22).
  • the search unit 424 extracts one feature data DV r among the plurality of feature data DV included in the feature data set 412 (step S23). After that, using the conversion model TM, the search unit 424 converts the feature vector XV r of the extracted one feature data DV r into the latent vector ZV r (step S23). After that, the search unit 424 calculates the distance d(i, j) between the latent vector ZQ generated in step S23 and the latent vector ZV r generated in step S22 (that is, the distance in the latent space). (Step S24).
  • the search unit 424 repeats the operations from step S23 to step S24 for a plurality of feature data DV included in the feature data set 412 (step S25).
  • feature data set 412 includes R feature data DV 1 through DV R . Therefore, the search unit 424 calculates R distances d(i, j) between the R latent vectors ZV 1 to ZV R corresponding to the R feature data DV 1 to DV R , respectively, and the latent vector ZQ. is newly extracted from the plurality of feature data DV included in the feature data set 412 until the calculation of is completed. The operation up to step S24 is repeated.
  • the search unit 424 retrieves the distance d(i, j) between the latent vector ZV 1 corresponding to the feature data DV 1 and the latent vector ZQ, and the latent vector ZV 2 corresponding to the feature data DV 2 .
  • the distance d(i, j) between the latent vector ZQ and the distance d(i, j) between the latent vector ZV R corresponding to the feature data DV R and the latent vector ZQ are calculated as follows: The operations from step S23 to step S24 are repeated until completion.
  • the search unit 424 retrieves N pieces of feature data DV out of the plurality of pieces of feature data DV included in the feature data set 412, respectively. are extracted as neighboring data DN 1 to DN N (step S26). Specifically, the search unit 424 selects N feature data whose distance from the query data DQ in the latent space is shorter than the other RN feature data DV from among the R feature data DV. Data DV are extracted as N neighboring data DN 1 to DN N , respectively. That is, the search unit 424 extracts N feature data DV from the R feature data DV in ascending order of the calculated distance, and combines the extracted N feature data DV with N neighboring data DN 1 , respectively. to DNN .
  • the output control unit 425 may control the output device 44 so as to output information on at least one of the N neighborhood data DN 1 to DN N extracted by the search unit 424 in step S26 (step S27).
  • the information about the neighborhood data DNn may include information about the proxy log data 4111 that is the basis for calculating the feature vector XVn of the neighborhood data DNn . That is, the output control unit 425 causes the output device 44 to output information on the proxy log data 4111 corresponding to at least one of the N neighborhood data DN1 to DNN extracted by the search unit 424 in step S26. may be controlled.
  • the information processing device 4 extracts the vector pair XVP based on the extraction designation information 4142 included in the extraction definition information 414, and extracts the extracted vector pair. Metric learning is performed based on the XVP and the loss information 4143 included in the extraction definition information 414 . For this reason, compared to the information processing apparatus of the comparative example that extracts the vector pair XVP and performs metric learning without using the extraction definition information 414 including the extraction designation information 4142 and the loss information 4143, the information processing apparatus 4 is generally It is possible to perform metric learning that reflects the sense of similarity that a typical user has for two pieces of data.
  • vector pairs XVP are extracted based on a plurality of extraction designation information 4142 including different extraction conditions.
  • the extraction definition information 414 includes at least three extraction specification information 4142 that respectively specify three different extraction conditions.
  • the information processing device 4 detects the first vector pair XVP that is most similar and the second vector pair XVP that is least similar, as well as the vector pair XVP that is not as similar as the first vector pair XVP.
  • An intermediate third vector pair XVP that is more similar than the second vector pair XVP of the object can also be extracted as at least part of the training data 4130 .
  • the information processing device 4 makes it possible for a general user to feel the third vector pair XVP, which is not as similar as the first vector pair XVP but is more similar than the second vector pair XVP. Quantitative learning that reflects a sense of similarity can be performed.
  • the information processing device 4 determines the type of attribute label AL that matches (or has relatively high similarity, the same applies hereinafter) between vector pairs XVP extracted as positive example pairs.
  • Loss L can be calculated using loss information 4143 that specifies weights w c that increase with increasing number. Further, the information processing device 4 assigns a weight that increases as the number of types of attribute labels AL that do not match (or have relatively low similarity, the same shall apply hereinafter) among the vector pairs XVP extracted as negative example pairs increases. Loss L can be calculated using loss information 4143 that specifies wc.
  • the information processing device 4 preferentially shortens the distance d(i, j) between the vector pairs XVP which are assumed to be more similar due to the large number of types of matching attribute labels AL. Quantitative learning can be performed so that Similarly, the information processing device 4 preferentially increases the distance d(i, j) of the vector pair XVP, which is assumed to be dissimilar because of the large number of types of attribute labels AL that do not match. , metric learning can be performed. In other words, the information processing device 4 can perform metric learning that reflects the sense of similarity that a general user has for two pieces of data.
  • the number of first vector pairs XVP and the number of second vector pairs XVP are often less than the number of third vector pairs XVP.
  • the weight wc is fixed, due to the number of extracted vector pairs XVP, the contribution of the loss Lc with respect to the third vector pair XVP is less than that of the first vector pair There is a possibility that the contribution of the loss Lc related to XVP will become larger.
  • the number of types of matching attribute labels AL is relatively smaller than the distance d(i, j) between the first vector pair XVP, which has a relatively large number of types of matching attribute labels AL.
  • Metric learning may be performed such that the distance d(i,j) between the third vector pair XVP is preferentially shortened.
  • the weight wc is fixed, due to the number of vector pairs XVP extracted, the contribution of the loss Lc with respect to the third vector pair XV is reduced to that of the second vector pair There is a possibility that the contribution of the loss Lc related to XV will become larger.
  • the number of types of non-matching attribute labels AL is relatively smaller than the distance d(i, j) between the second vector pair XVP, which has a relatively large number of types of non-matching attribute labels AL.
  • Metric learning may be performed to preferentially increase the distance d(i,j) between the third vector pair XVP.
  • the greater the number of types of attribute labels AL that match between the vector pairs XVP extracted as positive example pairs the greater the weight wc and the more the vector pairs XVP are extracted as negative example pairs.
  • the contribution of the loss Lc regarding the third vector pair XVP may become larger than the contribution of the loss Lc regarding the first vector pair XVP and the loss Lc regarding the second vector pair XVP. becomes lower. That is, the influence of the number of vector pairs XVP on metric learning is reduced.
  • the information processing device 4 determines the type of attribute label AL that matches (or has relatively high similarity, the same applies hereinafter) between vector pairs XVP extracted as positive example pairs.
  • Loss L can be calculated using loss information 4143 that specifies a margin mc that decreases as the number increases.
  • the information processing device 4 increases the margin that increases as the number of types of attribute labels AL that do not match (or have relatively low similarity, the same applies hereinafter) among the vector pairs XVP extracted as negative example pairs.
  • Loss L can be calculated using loss information 4143 that specifies mc.
  • the information processing device 4 further shortens the distance d(i, j) between the vector pairs XVP which are assumed to be more similar due to the large number of types of matching attribute labels AL.
  • metric learning can be performed.
  • the information processing device 4 increases the distance d(i, j) of the vector pair XVP, which is assumed to be dissimilar due to the large number of types of attribute labels AL that do not match.
  • metric learning can be performed.
  • the information processing device 4 can perform metric learning that reflects the sense of similarity that a general user has for two pieces of data.
  • the communication system SYS2 has the proxy server 1.
  • the communication system SYS2 does not have to include the proxy server 1 . That is, the client 2 may communicate with the server 3 without going through the proxy server 1 .
  • Server 3 may communicate with client 2 without going through proxy server 1 .
  • the information processing device 4 may use log data indicating the communication history between the client 2 and the server 3 to perform the aforementioned threat detection operation.
  • the embodiments of the information processing device, the information processing method, and the recording medium are applied to the communication system SYS2 that performs the threat detection operation.
  • the embodiments of the information processing device, the information processing method, and the recording medium may be applied to any data processing device that handles any data.
  • the data processing device may perform the above-described model generation operation as long as the distance between multiple data handled by the data processing device can be defined in the vector space.
  • the data processing device may perform a data detection operation similar to the threat detection operation described above, as long as the distance between multiple pieces of data handled by the data processing device can be defined within the vector space.
  • the data detection operation may include a process of detecting neighboring data DNn corresponding to data located in the vicinity of the query data DQ in the latent space.
  • Examples of data handled by such a data processing device include at least one of data that can be listed, data that can be stored in a database, and data that can be stored in a table.
  • the communication system SYS3 of the third embodiment differs from the communication system SYS2 of the second embodiment, which uses a Siamese network, in that a triplet network is used as a neural network for performing metric learning.
  • Other features of the communication system SYS3 may be identical to other features of the communication system SYS2. Therefore, the communication system SYS3 will be described below, focusing on the components and operations different from those of the communication system SYS2. Components and operations not described below may be the same as those of the communication system SYS2.
  • FIG. 12 conceptually shows the model structure of the triplet network PM.
  • the triplet network PM includes transformation models TM3 to TM5. Transformation models TM3 to TM5 are identical.
  • transformation models TM3 to TM5 are two neural networks with identical parameters. Transformation models TM3 to TM5, like transformation model TM, can transform feature vector XV into latent vector ZV.
  • the metric learning unit 422 assigns three feature vectors XV (that is, a trio of feature vectors XV, hereinafter referred to as "vector triple XVT") to the transformation models TM3 to TM5. input.
  • vector triple XVT three feature vectors XV
  • teacher data 4130 includes vector information 4131 about vector triple XVT instead of vector information 4131 about vector pair XVP.
  • the three feature vectors XV that make up the vector triple XVT are hereinafter referred to as "feature vector XV i ,”"feature vector XV j ,” and “feature vector XV k ,” respectively.
  • “k” is a variable that satisfies 1 ⁇ k ⁇ R (that is, the total number of feature vectors XV) and indicates an integer different from the variables i and j.
  • the feature vector XV i corresponds to the anchor vector.
  • Feature vector XV j forms a positive pair with feature vector XV i .
  • Feature vector XV k forms a negative example pair with feature vector XV i .
  • the metric learning unit 422 inputs the feature vector XV j to the transformation model TM3, the feature vector XV i to the transformation model TM4, and the feature vector XV k to the transformation model TM5.
  • transformation model TM3 outputs latent vector ZV j
  • transformation model TM4 outputs latent vector ZV i
  • transformation model TM5 outputs latent vector ZV k .
  • the metric learning unit 422 calculates the distance d(i, j) between the latent vector ZV i and the latent vector ZV j (that is, the distance of the positive pair) and the distance between the latent vector ZV i and the latent vector ZV k , the distance d(i,k) (that is, the distance of the negative pair) is calculated.
  • the metric learning unit 422 repeats similar operations using a plurality of teacher data 4130 included in the teacher data set 413 .
  • the metric learning unit 422 calculates the loss L based on the plurality of distances d(i, j) and the plurality of distances d(i, k) respectively calculated using the plurality of teacher data 4130, and the loss L Based on, the distance d (i, j) calculated using the teacher data 4130 corresponding to the positive data is relatively short, and the distance d (i, j) calculated using the teacher data 4130 corresponding to the negative data
  • the transformation models TM3 to TM5 are updated so that the distance d(i, k) becomes relatively long.
  • the conversion model TM3 (or the conversion model TM4 or TM5) generated as a result is used as the conversion model TM.
  • the data extraction unit 423 extracts the vector triple XVT from the feature data set 412 based on the extraction definition information 414' shown in FIG. 13 instead of the extraction definition information 414 shown in FIG. It is extracted as at least part of teacher data 4130 . Furthermore, the metric learning unit 422 calculates the loss L based on the extraction definition information 414' shown in FIG. 13 instead of the extraction definition information 414 shown in FIG.
  • the extraction definition information 414' includes a plurality of extraction definition data 4140'.
  • Each extraction definition data 4140' includes a definition identifier 4141, extraction designation information 4142', and loss information 4143'.
  • the extraction designation information 4142′ is different from the extraction designation information 4142, which designates the extraction conditions for extracting the vector pair XVP, in that it designates the extraction conditions for extracting the vector triple XVT.
  • the extraction designation information 4142′ is an extraction for extracting two feature vectors XV (that is, feature vector XV i and feature vector XV j ) used as a positive example pair of the vector triple XVT.
  • a condition and an extraction condition for extracting two feature vectors XV that is, feature vector XV i and feature vector XV k ) that are used as negative pairs of vector triples XVT are specified.
  • the data extraction unit 423 extracts the vector triple XVT (that is, the feature vector XV i , the feature vector XV i and the feature vector XV k ) based on such extraction designation information 4142'.
  • the loss information 4143' differs from the extraction designation information 4142 described above in that it does not have to include the teacher label yc . This is because, in the third embodiment, the vector triple XVT including the positive example pair and the negative example pair is extracted based on the extraction designation information 4142′. This is because there is no need for a label indicating whether or not the XVT contains a negative pair. Other features of loss information 4143 ′ may be the same as other features of loss information 4143 .
  • loss conforming to Triple Loss may be used as the loss Lc#q.
  • An example of triplet loss-compliant loss Lc#q is shown in Equation 2.
  • Tc#q indicates a set of vector triples XVT extracted based on the extraction designation information 4142'#q.
  • "(i, j, k)" in Equation 2 is the vector triple XVT extracted based on the extraction designation information 4142'#q (specifically, feature vector XV i , feature vector XV j and feature vector XV k set).
  • feature vectors XV i and XV j correspond to positive example pairs
  • feature vectors XV i and XV k correspond to negative example pairs.
  • the communication system SYS3 of the third embodiment can also enjoy the same effects as those of the communication system SYS2 of the second embodiment described above.
  • the information processing device 4 of the third embodiment can also enjoy the same effects as the effects that the information processing device 4 of the second embodiment described above can enjoy.
  • a margin mc is specified based on the similarity between two attribute label groups ALG. For example, as shown in FIG. 13, the margin mc corresponding to the vector triple XVT including the positive example pair to which the high similarity label group pair ALGp is assigned and the negative example pair to which the low similarity label group pair ALGn is assigned is , the margin mc corresponding to the vector triple XVT containing at least one of the positive example pair and the negative example pair to which each intermediate similar label group pair ALGi is assigned.
  • the information processing device 4 prioritizes the distance between the positive example pairs to which the high similarity label group pairs ALGp are respectively assigned over the distance between the positive example pairs to which the intermediate similar label group pairs ALGi are respectively assigned. Quantitative learning can be performed so that the Similarly, the information processing device 4 gives priority to the distance between the negative example pairs to which the low similarity label group pairs ALGn are assigned, over the distance between the negative example pairs to which the intermediate similar label group pairs ALGi are assigned. Quantitative learning can be performed so that the
  • an extracting means for extracting at least two feature vectors as at least part of teacher data from a feature data set including a plurality of feature vectors to which an attribute label group including a plurality of types of attribute labels is assigned; learning means for performing metric learning for generating a conversion model capable of converting the feature vector using the teacher data; extraction designation information for designating an extraction condition for the extraction means to extract the at least two feature vectors by the relationship between the at least two attribute label groups respectively assigned to the at least two feature vectors; storage means for storing a plurality of definition data including loss information defining loss related to the training data extracted based on the extraction designation information, The extraction means extracts the at least two feature vectors as at least part of the teacher data based on the extraction designation information, The information processing apparatus, wherein the learning means calculates the loss based on the loss information and performs the metric learning based on the calculated loss.
  • the storage means includes first extraction specification information specifying a first extraction condition for extracting at least two first feature vectors as at least part of first teacher data corresponding to positive example data; first definition data including first loss information defining a first loss for the data; second extraction specification information specifying a second extraction condition for extracting at least two second feature vectors as at least part of second teacher data corresponding to negative example data; second definition data including second loss information defining a second loss for the data; third extraction specification information specifying a third extraction condition for extracting at least two third feature vectors as at least part of third teacher data corresponding to positive example data or negative example data; third definition data including third loss information defining a third loss related to the third training data; and The similarity of the at least two first attribute labels respectively assigned to the at least two first feature vectors is determined by the at least two second attribute labels respectively assigned to the at least two second feature vectors.
  • the information processing device according to appendix 1.
  • the extracting means (i) extracts the at least two first feature vectors as at least a part of the first teacher data based on the first extraction designation information, and (ii) extracts the second (iii) extracting the at least two first feature vectors as at least part of the second teacher data based on the extraction designation information; and (iii) extracting the at least two first feature vectors based on the third extraction designation information.
  • 3 feature vectors are extracted as at least part of the third training data;
  • the learning means (i) calculates the first loss based on the first training data and the first loss information, and (ii) calculates the second training data and the second loss information.
  • the first to third loss information define margins for the first to third losses, respectively;
  • the third extraction designation information designates the third extraction condition that the at least two third feature vectors are extracted as at least part of the third teacher data corresponding to positive example data.
  • the third margin of loss is greater than the first margin of loss; when the third extraction designation information designates the third extraction condition for extracting the at least two third feature vectors as the third teacher data corresponding to negative example data; , and the third margin of loss is smaller than the second margin of loss.
  • the loss information defines a margin of the loss.
  • the loss information is such that the higher the similarity between the at least two attribute label groups respectively assigned to the at least two feature vectors included in the teacher data corresponding to positive example data, the higher the similarity between the at least two feature vectors.
  • the margin is defined so that the distance between is close by the metric learning, and the loss information is the at least two feature vectors respectively assigned to the at least two feature vectors included in the teacher data corresponding to negative example data
  • the information processing apparatus according to appendix 5, wherein the margin is defined such that the distance between the at least two feature vectors increases with the metric learning as the similarity of the attribute label group decreases.
  • [Appendix 7] 7.
  • the loss information is such that the higher the similarity between the at least two attribute label groups respectively assigned to the at least two feature vectors included in the teacher data corresponding to positive example data, the higher the similarity between the at least two feature vectors.
  • the weights are defined so that the distances between are close by the metric learning, and the loss information is the at least two feature vectors respectively assigned to the at least two feature vectors included in the teacher data corresponding to negative example data.
  • the information processing apparatus according to appendix 7, wherein the weight is defined such that the lower the similarity of the attribute label group, the greater the distance between the at least two feature vectors by the metric learning.
  • the at least two feature vectors are extracted as at least part of the teacher data based on the extraction designation information,
  • the information processing method wherein, in the learning step, the loss is calculated based on the loss information, and the metric learning is performed based on the calculated loss.
  • the at least two feature vectors are extracted as at least part of the teacher data based on the extraction designation information
  • the learning step the loss is calculated based on the loss information, and the metric learning is performed based on the calculated loss.
  • a recording medium recording a computer program for executing an information processing method.
  • the present invention can be modified as appropriate within the scope that does not contradict the gist or idea of the invention that can be read from the scope of claims and the entire specification, and the information processing apparatus, information processing method, and recording medium that accompany such modifications. It is also included in the technical idea of the present invention.

Abstract

情報処理装置4は、複数種類の属性ラベルALを含む属性ラベル群ALGが割り当てられた特徴ベクトルXVを複数含む特徴データセット412から、二つの特徴ベクトルを教師データ4130の少なくとも一部として抽出する抽出手段421と、教師データを用いて、変換モデルTMを生成するための計量学習を行う学習手段と、抽出手段が二つの特徴ベクトルを抽出するための抽出条件を、二つの特徴ベクトルに夫々割り当てられた二つの属性ラベル群の間の関係によって指定する抽出指定情報4142と、抽出指定情報に基づいて抽出された教師データに関する損失Lcを定義する損失情報4143とを含む定義データ4140を複数格納する格納手段41とを備える。

Description

情報処理装置、情報処理方法、及び、記録媒体
 この開示は、例えば、計量学習を行うことが可能な情報処理装置、情報処理方法及び記録媒体の技術分野に関する。
 二つのデータの間の距離(具体的には、二つのデータの特徴量を夫々示す二つの特徴ベクトルの間の距離)を算出する方法の一例として、計量学習(言い換えれば、メトリック学習)を用いる方法が知られている(特許文献1参照)。計量学習は、ベクトル空間内において、類似する二つのデータの間の距離が短くなり且つ類似しない二つのデータの間の距離が長くなるように各データの特徴ベクトルを変換可能な変換モデルを生成するための方法である。この場合、二つのデータの特徴量を夫々示す二つの特徴ベクトルが変換モデルによって変換され、変換された二つの特徴ベクトルの間の距離が、二つのデータの間の距離として算出される。
 その他、この開示に関連する先行技術文献として、特許文献2から特許文献7があげられる。
特開2001-337986号公報 国際公開第2015/174063号パンフレット 特開2020-135494号公報 国際公開第2020/049667号パンフレット
 計量学習では、計量学習によって生成された変換モデルによって変換された特徴ベクトルの間の距離(つまり、二つのデータの類似性)に対して、一般的なユーザが二つのデータに対して抱く類似性の感覚が適切に反映されるとは限らないという技術的問題が存在する。つまり、一般的なユーザが二つのデータに対して抱く類似性の感覚を反映した計量学習を行うことができるとは限らないという技術的問題が存在する。
 この開示は、上述した技術的問題を解決可能な情報処理装置、情報処理方法、及び、記録媒体を提供することを課題とする。一例として、この開示は、一般的なユーザが二つのデータに対して抱く類似性の感覚を反映した計量学習を行うことが可能な情報処理装置、情報処理方法、及び、記録媒体を提供することを課題とする。
 この開示の情報処理装置の一態様は、複数種類の属性ラベルを含む属性ラベル群が割り当てられた特徴ベクトルを複数含む特徴データセットから、少なくとも二つの特徴ベクトルを教師データの少なくとも一部として抽出する抽出手段と、前記教師データを用いて、前記特徴ベクトルを変換可能な変換モデルを生成するための計量学習を行う学習手段と、前記抽出手段が前記少なくとも二つの特徴ベクトルを抽出するための抽出条件を、前記少なくとも二つの特徴ベクトルに夫々割り当てられた少なくとも二つの前記属性ラベル群の間の関係によって指定する抽出指定情報と、前記抽出指定情報に基づいて抽出された前記教師データに関する損失を定義する損失情報とを含む定義データを複数格納する格納手段とを備え、前記抽出手段は、前記抽出指定情報に基づいて、前記少なくとも二つの特徴ベクトルを前記教師データの少なくとも一部として抽出し、前記学習手段は、前記損失情報に基づいて前記損失を算出し、算出した前記損失に基づいて前記計量学習を行う。
 この開示の情報処理方法の一態様は、複数種類の属性ラベルを含む属性ラベル群が割り当てられた特徴ベクトルを複数含む特徴データセットから、少なくとも二つの特徴ベクトルが教師データの少なくとも一部として抽出される抽出工程と、前記教師データを用いて、前記特徴ベクトルを変換可能な変換モデルを生成するための計量学習が行われる学習工程とを含み、格納手段に、前記抽出工程において前記少なくとも二つの特徴ベクトルを抽出するための抽出条件を、前記少なくとも二つの特徴ベクトルに夫々割り当てられた少なくとも二つの前記属性ラベル群の間の関係によって指定する抽出指定情報と、前記抽出指定情報に基づいて抽出された前記教師データに関する損失を定義する損失情報とを含む定義データが複数格納されており、前記抽出工程では、前記抽出指定情報に基づいて、前記少なくとも二つの特徴ベクトルが前記教師データの少なくとも一部として抽出され、前記学習工程では、前記損失情報に基づいて前記損失が算出され、算出された前記損失に基づいて前記計量学習が行われる。
 この開示の記録媒体の一態様は、コンピュータに、複数種類の属性ラベルを含む属性ラベル群が割り当てられた特徴ベクトルを複数含む特徴データセットから、少なくとも二つの特徴ベクトルが教師データの少なくとも一部として抽出される抽出工程と、前記教師データを用いて、前記特徴ベクトルを変換可能な変換モデルを生成するための計量学習が行われる学習工程とを含み、格納手段に、前記抽出工程において前記少なくとも二つの特徴ベクトルを抽出するための抽出条件を、前記少なくとも二つの特徴ベクトルに夫々割り当てられた少なくとも二つの前記属性ラベル群の間の関係によって指定する抽出指定情報と、前記抽出指定情報に基づいて抽出された前記教師データに関する損失を定義する損失情報とを含む定義データが複数格納されており、前記抽出工程では、前記抽出指定情報に基づいて、前記少なくとも二つの特徴ベクトルが前記教師データの少なくとも一部として抽出され、前記学習工程では、前記損失情報に基づいて前記損失が算出され、算出された前記損失に基づいて前記計量学習が行われる情報処理方法を実行させるコンピュータプログラムが記録された記録媒体である。
 上述した情報処理装置、情報処理方法、及び、記録媒体のそれぞれの一の態様によれば、一般的なユーザが二つのデータに対して抱く類似性の感覚を反映した計量学習を行うことが可能となる。
図1は、第1実施形態における情報処理装置の構成を示すブロック図である。 図2は、第2実施形態における通信システムの構成を示すブロック図である。 図3は、第2実施形態における情報処理装置の構成を示すブロック図である。 図4は、第2実施形態におけるプロキシログDBのデータ構造を示すデータ構造図である。 図5は、第2実施形態における特徴データセットのデータ構造を示すデータ構造図である。 図6は、第2実施形態における情報処理装置が行うモデル生成動作の流れを示すフローチャートである。 図7は、第2実施形態における抽出定義情報のデータ構造を示すデータ構造図である。 図8は、第2実施形態における条件定義情報のデータ構造を示すデータ構造図である。 図9は、第2実施形態における教師データセットのデータ構造を示すデータ構造図である。 図10は、シャムネットワークのモデル構造を概念的に示す。 図11は、第2実施形態における情報処理装置が行う脅威検出動作の流れを示すフローチャートである。 図12は、トリプレットネットワークのモデル構造を概念的に示す。 図13は、第3実施形態における抽出定義情報のデータ構造を示すデータ構造図である。
 以下、図面を参照しながら、情報処理装置、情報処理方法、及び、記録媒体の実施形態について説明する。
 (1)第1実施形態
 はじめに、情報処理装置、情報処理方法、及び、記録媒体の第1実施形態について説明する。以下では、情報処理装置、情報処理方法、及び、記録媒体の第1実施形態が適用された情報処理装置1000を用いて、情報処理装置、情報処理方法、及び、記録媒体の第1実施形態について説明する。
 図1は、第1実施形態における情報処理装置1000の構成を示すブロック図である。図1に示すように、情報処理装置1000は、抽出部1001と、学習部1002と、格納部1003とを備えている。抽出部1001は、複数種類の属性ラベルを含む属性ラベル群が割り当てられた特徴ベクトルを複数含む特徴データセットから、少なくとも二つの特徴ベクトルを、教師データの少なくとも一部として抽出する。学習部1002は、抽出部1001が抽出した少なくとも二つの特徴ベクトルを含む教師データを用いて、特徴ベクトルを変換可能な変換モデルを生成するための計量学習を行う。格納部1003は、複数の定義データ1004を含む。各定義データ1004は、抽出部1001が教師データを抽出するための抽出条件を指定する抽出指定情報1005を含む。抽出指定情報1005は特に、抽出条件を、教師データの少なくとも一部として抽出される少なくとも二つの特徴ベクトルに夫々割り当てられた少なくとも二つの属性ラベル群の間の関係によって指定する。各定義データ1004は更に、抽出指定情報1005に基づいて抽出された教師データに関する損失を定義する損失情報1006を含む。
 このような第1実施形態における情報処理装置1000によれば、一般的なユーザが二つのデータに対して抱く類似性の感覚を反映した計量学習を行うことが可能となる。
 格納部1003は、第1の定義データ1004と、第2の定義データ1004と、第3の定義データ1004とを格納していてもよい。第1の定義データ1004は、第1の抽出指定情報1005と、第1の損失情報1006とを含んでいてもよい。第1の抽出指定情報1005は、少なくとも二つの第1の特徴ベクトルを、正例データに相当する第1の教師データの少なくとも一部として抽出するという第1の抽出条件を指定していてもよい。第1の損失情報1006は、第1の教師データに関する第1の損失を定義していてもよい。第2の定義データ1004は、第2の抽出指定情報1005と、第2の損失情報1006とを含んでいてもよい。第2の抽出指定情報1005は、少なくとも二つの第2の特徴ベクトルを、負例データに相当する第2の教師データの少なくとも一部として抽出するという第2の抽出条件を指定していてもよい。第2の損失情報1006は、第2の教師データに関する第2の損失を定義していてもよい。第3の定義データ1004は、第3の抽出指定情報1005と、第3の損失情報1006とを含んでいてもよい。第3の抽出指定情報1005は、少なくとも二つの第3の特徴ベクトルを、正例データ又は負例データに相当する第3の教師データの少なくとも一部として抽出するという第3の抽出条件を指定していてもよい。第3の損失情報1006は、第3の教師データに関する第3の損失を定義していてもよい。少なくとも二つの第1の特徴ベクトルに夫々割り当てられた少なくとも二つの第1の属性ラベル群の類似性は、少なくとも二つの第2の特徴ベクトルに夫々割り当てられた少なくとも二つの第2の属性ラベル群の類似性及び少なくとも二つの第3の特徴ベクトルに夫々割り当てられた少なくとも二つの第3の属性ラベル群の類似性の夫々よりも高くてもよい。少なくとも二つの第2の属性ラベル群の類似性は、少なくとも二つの第1の属性ラベル群の類似性及び少なくとも二つの第3の属性ラベル群の類似性の夫々よりも低くてもよい。少なくとも二つの第3の属性ラベル群の類似性は、少なくとも二つの第1の属性ラベル群の類似性よりも低く、且つ、少なくとも二つの第2の属性ラベル群の類似性よりも高くてもよい。
 この場合、抽出部1001は、典型的には、第1の抽出指定情報1005に基づいて、少なくとも二つの特徴ベクトルを第1の教師データの少なくとも一部として抽出し、第2の抽出指定情報1005に基づいて、少なくとも二つの特徴ベクトルを第2の教師データの少なくとも一部として抽出し、第3の抽出指定情報1005に基づいて、少なくとも二つの特徴ベクトルを第3の教師データの少なくとも一部として抽出してもよい。更に、学習部1002は、第1の教師データと第1の損失情報1006とに基づいて第1の損失を算出し、第2の教師データと第2の損失情報1006とに基づいて第2の損失を算出し、第3の教師データと第3の損失情報1006とに基づいて第3の損失を算出し、算出した第1から第3の損失に基づいて計量学習を行ってもよい。
 このように格納部1003が第1から第3の定義データ1004を格納している場合には、情報処理装置1000は、異なる少なくとも三つの抽出条件を用いて、少なくとも三種類の教師データ(つまり、第1から第3の教師データ)を抽出することができる。更に、情報処理装置1000は、第1の教師データに関する第1の損失と、第2の教師データに関する第2の損失と、第3の教師データに関する第3の損失とを別々に算出することができる。つまり、情報処理装置1000は、第1から第3の教師データの違いを考慮して、第1から第3の損失を別々に算出することができる。その結果、第1から第3の教師データの違いを考慮することなく共通の損失が算出される場合と比較して、情報処理装置1000は、一般的なユーザが二つのデータに対して抱く類似性の感覚を反映した計量学習を行うことが可能となる。
 (2)第2実施形態
 続いて、情報処理装置、情報処理方法、及び、記録媒体の第2実施形態について説明する。以下では、情報処理装置、情報処理方法、及び、記録媒体の第2実施形態が適用された通信システムSYS2を用いて、情報処理装置、情報処理方法、及び、記録媒体の第2実施形態について説明する。
 (2-1)通信システムSYS2の構成
 (2-1-1)通信システムSYS2の全体構成
 初めに、図2を参照しながら、第2実施形態における通信システムSYS2の全体構成について説明する。図2は、第2実施形態における通信システムSYS2の全体構成を示すブロック図である。
 図2に示すように、通信システムSYS2は、プロキシサーバ1と、複数のクライアント2と、複数のサーバ3と、情報処理装置4とを備えている。但し、通信システムSYS2は、単一のクライアント2を備えていてもよい。通信システムSYS2は、単一のサーバ3を備えていてもよい。プロキシサーバ1と、複数のサーバ3の夫々とは、ネットワーク5を介して通信可能である。ネットワーク5は、有線のネットワークを含んでいてもよいし、無線のネットワークを含んでいてもよい。
 プロキシサーバ1は、クライアント2とサーバ3との通信を中継する装置である。例えば、プロキシサーバ1は、クライアント2から取得したリクエストを、ネットワーク5を介して、取得したリクエストで指定されたサーバ3へと送信してもよい。リクエストは、例えば、HTTP(Hyper Text Transfer Protcol)リクエストを含んでいてもよい。但し、リクエストは、HTTPリクエストに限定されることはない。例えば、プロキシサーバ1は、ネットワーク5を介してサーバ3から取得したレスポンスを、レスポンスで指定されたクライアント2へと送信してもよい。レスポンスは、例えば、HTTPレスポンスを含んでいてもよい。但し、レスポンスは、HTTPレスポンスに限定されることはない。
 プロキシサーバ1と複数のクライアント2とを含むシステムは、ローカルシステムLSと称されてもよい。この場合、プロキシサーバ1は、ローカルシステムLSと、ローカルシステムLSの外部の広域ネットワークとの境界に配置されているとも言える。プロキシサーバ1は、ローカルシステムLSと広域ネットワークとの間の通信を中継するとも言える。
 クライアント2は、プロキシサーバ1を介してサーバ3と通信する。例えば、クライアント2は、プロキシサーバ1を介して、所望のデータをサーバ3に送信してもよい。例えば、クライアント2は、プロキシサーバ1を介して、所望のデータをサーバ3から受信してもよい。
 サーバ3は、プロキシサーバ1を介してクライアント2と通信する。例えば、サーバ3は、プロキシサーバ1を介して、所望のデータをクライアント2に送信してもよい。例えば、サーバ3は、プロキシサーバ1を介して、所望のデータをクライアント2から受信してもよい。サーバ3は、例えば、HTTPサーバである。但し、サーバ3は、HTTPサーバ以外のサーバであってもよい。
 情報処理装置4は、ネットワーク5を介してローカルシステムLSに既に侵入している脅威を検出するための脅威検出動作を行う。以下、このような脅威検出動作を行う情報処理装置4の構成について更に説明する。
 (2-1-2)情報処理装置4の構成
 続いて、図3を参照しながら、第2実施形態における情報処理装置4の構成について説明する。図3は、第2実施形態における情報処理装置4の構成を示すブロック図である。
 図3に示すように、情報処理装置4は、「格納手段」の一具体例である記憶装置41と、演算装置42とを備えている。更に、情報処理装置4は、入力装置43と、出力装置44とを備えていてもよい。但し、情報処理装置4は、入力装置43及び出力装置44の少なくとも一方を備えていなくてもよい。記憶装置41と、演算装置42と、入力装置43と、出力装置44とは、データバス45を介して接続されていてもよい。
 記憶装置41は、所望のデータを記憶可能である。例えば、記憶装置41は、演算装置42が実行するコンピュータプログラムを一時的に記憶していてもよい。記憶装置41は、演算装置42がコンピュータプログラムを実行している際に演算装置42が一時的に使用するデータを一時的に記憶してもよい。記憶装置41は、情報処理装置4が長期的に保存するデータを記憶してもよい。尚、記憶装置41は、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスク装置、光磁気ディスク装置、SSD(Solid State Drive)及びディスクアレイ装置のうちの少なくとも一つを含んでいてもよい。つまり、記憶装置41は、一時的でない記録媒体を含んでいてもよい。
 第2実施形態では、記憶装置41は、脅威検出動作を行うために情報処理装置4が利用するデータを記憶する。図3には、脅威検出動作を行うために情報処理装置4が利用するデータの一例として、プロキシログDB(Database:データベース)411と、特徴データセット412と、教師データセット413と、抽出定義情報414と、変換モデルTMとが記載されている。つまり、図3は、記憶装置41が、プロキシログDB411と、特徴データセット412と、教師データセット413と、抽出定義情報414と、変換モデルTMとを記憶する例を示している。
 プロキシログDB411は、複数のプロキシログデータ4111(後述する図4参照)を格納する。プロキシログデータ4111は、プロキシサーバ1が中継した通信(つまり、クライアント2とサーバ3との間の通信)の履歴を示すログデータである。このような複数のプロキシログデータ4111を格納するプロキシログDB411のデータ構造が図4に示されている。図4に示すように、プロキシログデータ4111は、例えば、(i)サーバ3と通信したクライアント2を示すログ情報(クライアント情報)と、(ii)クライアント2と通信したサーバ3を示すログ情報(サーバ情報)と、(iii)クライアント2とサーバ3とが通信した日時を示すログ情報(通信日時情報)と、(iv)クライアント2がサーバ3と通信する際に利用したメソッドを示すログ情報(メソッド情報)と、(v)クライアント2がサーバ3に送信したリクエストで指定されていたパス(リクエストパス)を示すログ情報(リクエストパス情報)と、(vi)クライアント2がサーバ3から受信したデータのサイズを示すログ情報(受信サイズ情報)と、(vii)クライアント2がサーバ3に送信したデータのサイズを示すログ情報(送信サイズ情報)とを含んでいてもよい。但し、プロキシログデータ4111は、図4に示す複数のログ情報のうちの少なくとも一つを含んでいなくてもよい。プロキシログデータ4111は、図4に示す複数のログ情報とは異なる他のログ情報を含んでいてもよい。
 尚、特徴データセット412と、教師データセット413と、抽出定義情報414と、変換モデルTMとについては、後に詳述する。
 再び図3において、演算装置42は、例えば、CPU(Central Proecssing Unit)、GPU(Graphical Processing Unit)及びFPGA(Field Programmable Gate Array)のうちの少なくとも一つを含む。演算装置42は、コンピュータプログラムを読み込む。例えば、演算装置42は、記憶装置41が記憶しているコンピュータプログラムを読み込んでもよい。例えば、演算装置42は、コンピュータで読み取り可能であって且つ一時的でない記録媒体が記憶しているコンピュータプログラムを、図示しない記録媒体読み取り装置を用いて読み込んでもよい。演算装置42は、通信装置として機能可能な入力装置43を介して、情報処理装置4の外部に配置される不図示の装置からコンピュータプログラムを取得してもよい(つまり、ダウンロードしてもよい又は読み込んでもよい)。演算装置42は、読み込んだコンピュータプログラムを実行する。その結果、演算装置42内には、情報処理装置4が行うべき動作(例えば、上述した脅威検出動作)を実行するための論理的な機能ブロックが実現される。つまり、演算装置42は、情報処理装置4が行うべき動作を実行するための論理的な機能ブロックを実現するためのコントローラとして機能可能である。
 図3には、脅威検出動作を実行するために演算装置42内に実現される論理的な機能ブロックの一例が示されている。図3に示すように、演算装置42内には、特徴抽出部421と、「学習手段」の一具体例である計量学習部422と、「抽出手段」の一具体例であるデータ抽出部423と、検索部424と、出力制御部425とが実現される。
 特徴抽出部421は、プロキシログDB411から、所定のログ分類基準に基づいて、同一のログデータ群に分類される複数の(或いは、少なくとも一つの)プロキシログデータ4111を抽出する。所定のログ分類基準は、クライアント情報が同一であり、サーバ情報が同一であり且つ通信日時情報が所定の日時基準を満たす複数のプロキシログデータ4111が同一のログデータ群に分類されるというログ分類基準を含んでいてもよい。所定の日時基準を満たす複数のプロキシログデータ4111は、通信日時情報が示す通信日が同一になるという複数のプロキシログデータ4111を含んでいてもよい。所定の日時基準を満たす複数のプロキシログデータ4111は、通信日時情報が示す通信時刻(或いは、通信日時)の間の間隔が所定値未満で連続している複数のプロキシログデータ4111を含んでいてもよい。この場合、例えば、特徴抽出部421は、図4に示すプロキシログDB411から、C1という識別子に対応するクライアント2とS1という識別子に対応するサーバ3との間で2019年1月1日に行われた通信の履歴を示す三つのプロキシログデータ4111の夫々を、第1のログデータ群に分類されるプロキシログデータ4111として抽出してもよい。同様に、例えば、特徴抽出部421は、図4に示すプロキシログDB411から、C2という識別子に対応するクライアント2とS2という識別子に対応するサーバ3との間で2019年1月1日に行われた通信の履歴を示す三つのプロキシログデータ4111の夫々を、第1のログデータ群とは異なる第2のログデータ群に分類されるプロキシログデータ4111として抽出してもよい。
 再び図3において、特徴抽出部421は更に、抽出した複数のプロキシログデータ4111(つまり、同一のログデータ群に分類される複数のプロキシログデータ4111)の特徴量を示す特徴ベクトルXVを生成する。特徴抽出部421は、同一のログデータ群に分類される複数のプロキシログデータ4111から、一つの特徴ベクトルXVを生成する。このため、特徴抽出部421は、特徴ベクトルXVを、ログデータ群の数だけ生成する。以下の説明では、ログデータ群の数がR(Rは、1以上の整数を示す定数)であり、特徴抽出部421がR個の特徴ベクトルXVを生成する例について説明する。尚、以下の説明では、R個の特徴ベクトルXVを、夫々、下付き文字をインデックスとする“特徴ベクトルXVからXV”と称する。また、以下の説明では、R個のログデータ群のうちのインデックスがr(rは、1≦r≦Rを満たす整数を示す変数)となる一のログデータ群から生成される特徴ベクトルXVを、特徴ベクトルXVと称する。特徴抽出部421は、抽出した複数のプロキシログデータ4111を解析することで、特徴ベクトルXVを生成してもよい。特徴抽出部421は、例えば、複数のプロキシログデータ4111の統計量を算出する演算処理を行うことで、特徴ベクトルXVを生成してもよい。
 特徴ベクトルXVは、例えば、送信サイズ情報に関する特徴量を示す要素(つまり、ベクトル成分、以下同じ)を含んでいてもよい。送信サイズ情報に関する特徴量は、送信サイズ情報が示す送信サイズの統計量(例えば、最小値、最大値、平均値、分散及び平均値等の少なくとも一つ)に関する特徴量を含んでいてもよい。特徴ベクトルXVは、例えば、受信サイズ情報に関する特徴量を示す要素を含んでいてもよい。受信サイズ情報に関する特徴量は、受信サイズ情報が示す受信サイズの統計量(例えば、最小値、最大値、平均値、分散及び合計値等の少なくとも一つ)に関する特徴量を含んでいてもよい。特徴ベクトルXVは、例えば、パス情報に関する特徴量を示す要素を含んでいてもよい。パス情報に関する特徴量は、パス情報が示すリクエストパスのデータ長の統計量(例えば、最小値、最大値、平均値及び分散等の少なくとも一つ)に関する特徴量を含んでいてもよい。パス情報に関する特徴量は、パス情報が示すリクエストパスの拡張子の頻度(例えば、拡張子毎のリクエストの頻度)に関する特徴量を含んでいてもよい。特徴ベクトルXVは、例えば、メソッド情報に関する特徴量を示す要素を含んでいてもよい。メソッド情報に関する特徴量は、メソッド情報が示すメソッドの頻度(例えば、GETメソッドの割合、POSTメソッドの割合及びその他のメソッドの割合等の少なくとも一つ)に関する特徴量を含んでいてもよい。特徴ベクトルXVは、例えば、アクセス時刻の分布(例えば、単位時間(例えば、1時間)当たりに送信されたリクエストの割合)に関する特徴量を示す要素を含んでいてもよい。特徴ベクトルXVは、例えば、リクエストが送信された回数に関する特徴量を示す要素を含んでいてもよい。尚、プロキシログデータ4111にヘッダ情報が含まれている場合には、特徴ベクトルXVは、例えば、ヘッダ情報に関する特徴量を示す要素を含んでいてもよい。
 特徴抽出部421が生成した特徴ベクトルXVは、記憶装置41によって、特徴データセット412の少なくとも一部として記憶される。特徴データセット412のデータ構造の一例が図5に示されている。図5に示すように、記憶装置41は、特徴抽出部421が生成した特徴ベクトルXVを含む特徴データDVを記憶してもよい。上述したように、特徴抽出部421は、同一のログデータ群に分類される複数のプロキシログデータ4111から、一つの特徴ベクトルXVを生成する。この場合、図5に示すように、特徴データセット412は、特徴データDVを、所定のログ分類基準によって分類されるログデータ群の数だけ含む。つまり、特徴データセット412は、R個の特徴データDVを含んでいてもよい。尚、以下の説明では、R個の特徴データDVを、夫々、下付き文字をインデックスとする“特徴データDVからDV”と称する。また、特徴ベクトルXVを含む特徴データDVを、特徴データDVと称する。
 第2実施形態では、記憶装置41は、特徴抽出部421が生成した特徴ベクトルXVを、属性ラベル群ALGと特徴ベクトルXVとが関連付けられた特徴データDVとして記憶してもよい。つまり、記憶装置41は、属性ラベル群ALGが割り当てられた特徴ベクトルXVを、特徴データDVとして記憶してもよい。
 属性ラベル群ALGは、特徴ベクトルXVというデータについてのデータ(つまり、特徴ベクトルXVというデータのメタデータ)である。この場合、属性ラベル群ALGは、特徴ベクトルXVを分類するためのラベルとして利用可能なデータであってもよい。逆に言えば、特徴抽出部421が生成した特徴ベクトルXVは、属性ラベル群ALGによって分類可能であってもよい。属性ラベル群ALGは、例えば、特徴ベクトルXVの類似性を判定するためのラベルとして利用可能なデータであってもよい。言い換えれば、特徴抽出部421が生成した少なくとも二つの特徴ベクトルXVの類似性は、属性ラベル群ALGによって判定可能であってもよい。
 第2実施形態では、属性ラベル群ALGは、複数種類の属性ラベルALを含む。つまり、属性ラベル群ALGは、複数種類の属性ラベルALの組み合わせに相当する。属性ラベルALは、特徴ベクトルXVというデータについてのデータ(つまり、特徴ベクトルXVというデータのメタデータ)である。属性ラベルALは、特徴ベクトルXVというデータのメタデータとして利用可能である限りは、どのようなデータであってもよい。
 例えば、特徴ベクトルXVは、同一のログデータ群に分類される複数のプロキシログデータ4111から生成される。このため、特徴ベクトルXVを生成するために用いられるログデータ群に関する情報は、特徴ベクトルXVのメタデータとして用いられてもよい。つまり、ログデータ群に関する情報を示すラベルが、属性ラベルALとして用いられてもよい。また、上述した説明では、複数のプロキシログデータ4111は、所定のログ分類基準に基づいてログデータ群に分類される。このため、複数のプロキシログデータ4111を分類するために用いられるログ分類基準に関する情報は、特徴ベクトルXVのメタデータとして用いられてもよい。つまり、ログ分類基準に関する情報を示すラベルが、属性ラベルALとして用いられてもよい。また、上述した説明では、ログ分類基準は、クライアント情報、サーバ情報及び通信日時情報が同一になる複数のプロキシログデータ4111が同一のログデータ群に分類されるというログ分類基準を含んでいる。この場合には、クライアント情報、サーバ情報及び通信日時情報の夫々は、特徴ベクトルXVのメタデータとして用いられてもよい。つまり、クライアント情報を示すラベル、サーバ情報を示すラベル及び通信日時情報を示すラベルの夫々が、属性ラベルALとして用いられてもよい。
 図5は、クライアント情報を識別するためのラベル、サーバ情報を識別するためのラベル及び通信日時情報を識別するためのラベルの夫々が属性ラベルALとして用いられる例を示している。この場合、特徴データセット412に含まれる各特徴データDVは、特徴ベクトルXVと、特徴ベクトルXVに対応するクライアント情報を識別するための属性ラベルAL、特徴ベクトルXVに対応するサーバ情報を識別するための属性ラベルAL及び特徴ベクトルXVに対応する通信日時情報(図5に示す例では、通信日)を識別するための属性ラベルALの組み合わせに相当する属性ラベル群ALGとを含む。特徴ベクトルXVに対応するクライアント情報は、特徴ベクトルXVの算出元となるプロキシログデータ4111に含まれるクライアント情報を意味していてもよい。特徴ベクトルXVに対応するサーバ情報は、特徴ベクトルXVの算出元となるプロキシログデータ4111に含まれるサーバ情報を意味していてもよい。特徴ベクトルXVに対応する通信日時情報は、特徴ベクトルXVの算出元となるプロキシログデータ4111に含まれる通信日時情報(図5に示す例では、通信日)を意味していてもよい。尚、以下の説明では、クライアント情報を識別するための属性ラベルALを、“クライアントラベルALc”と称し、サーバ情報を識別するための属性ラベルALを、“サーバラベルALs”と称し、通信日時情報(図5に示す例では、通信日)を識別するための属性ラベルALを、“通信日ラベルALd”と称する。
 以下では、説明の便宜上、属性ラベル群ALGが、クライアントラベルALcと、サーバラベルALsと、通信日ラベルALdとを含む例について説明する。但し、属性ラベルALが図5に示すクライアントラベルALc、サーバラベルALs及び通信日ラベルALdの夫々に限定されることはない。以下、属性ラベルALの他の例について説明する。例えば、特徴ベクトルXVを生成するために用いられるプロキシログデータ4111に関する情報(例えば、プロキシログデータ4111のメタデータ)を示すラベルが、属性ラベルALとして用いられてもよい。例えば、プロキシログデータ4111に含まれている一方で特徴ベクトルXVによって特徴量が示されていない情報を示すラベルが、属性ラベルALとして用いられてもよい。例えば、プロキシログデータ4111に含まれている一方で特徴ベクトルXVの生成には用いられない情報を示すラベルが、属性ラベルALとして用いられてもよい。例えば、プロキシログデータ4111に含まれており且つ特徴ベクトルの類似性及び非類似性の少なくとも一方と相関がある情報を示すラベルが、属性ラベルALとして用いられてもよい。例えば、プロキシログデータ4111が、カーディナリティが相対的に高い(つまり、情報の種類が相対的に多い)がゆえに特徴ベクトルXVを生成するための利用に相対的に適していない情報を含んでいる場合には、当該情報を示すラベルが属性ラベルALとして用いられてもよい。尚、カーディナリティが相対的に高い情報の一例として、日付情報及び時刻情報等の少なくとも一つがあげられる。例えば、プロキシログデータ4111が、後述する検索部424による検索時には未知となる又は不定となる可能性が相対的に高い情報を含んでいる場合には、当該情報を示すラベルが属性ラベルALとして用いられてもよい。尚、検索部424による検索時には未知となる又は不定となる可能性が相対的に高い情報の一例として、クライアント2を利用するユーザのユーザ名、クライアント2のマシン名及びサーバ3のマシン名等の少なくとも一つがあげられる。
 再び図3において、計量学習部422は、特徴ベクトルXVを変換可能な変換モデルTMを生成するための計量学習を行う。特徴ベクトルXVは、表現空間(つまり、ベクトル空間)内で、プロキシログデータ4111の特徴量を示している。変換モデルTMは、このような表現空間内でプロキシログデータ4111の特徴量を示す特徴ベクトルXVを、表現空間とは異なるベクトル空間である潜在空間内でプロキシログデータ4111の特徴量を示す潜在ベクトルZVに変換するモデルである。上述したようにR個の特徴ベクトルXVからXVが生成されるため、変換モデルTMは、R個の特徴ベクトルXVからXVを、夫々、R個の潜在ベクトルZVからZVに変換してもよい。つまり、変換モデルTMは、特徴ベクトルXVを、潜在ベクトルZVに変換してもよい。計量学習部422が生成した変換モデルTMは、例えば、記憶装置41によって記憶される。
 変換モデルTMは、計量学習によって生成されるがゆえに、学習可能なモデルである。例えば、変換モデルTMは、パラメータ(例えば、重み及びバイアスの少なくとも一つ)を学習可能なニューラルネットワークを含むモデルであってもよい。
 潜在ベクトルZVのベクトル成分の要素数(つまり、潜在ベクトルZVが示す特徴量の要素数であり、潜在空間の次元数)は、典型的には、特徴ベクトルXVのベクトル成分の要素数(つまり、特徴ベクトルXVが示す特徴量の要素数であり、表現空間の次元数)よりも少なくなることが好ましい。このため、潜在ベクトルZVは、低次元ベクトルと称されてもよいし、特徴ベクトルXVは、高次元ベクトルと称されてもよい。このように特徴ベクトルXVが特徴ベクトルXVよりも低次元の潜在ベクトルZVに変換される場合には、特徴ベクトルXVが潜在ベクトルZVに変換されない場合と比較して、脅威検出動作に対して人の感覚が相対的に強く反映される(つまり、人の感覚が相対的に強く考慮された上で、脅威が検出される)というメリットがある。但し、潜在ベクトルZVのベクトル成分の要素数は、特徴ベクトルXVのベクトル成分の要素数と同一であってもよい。潜在ベクトルZVのベクトル成分の要素数は、特徴ベクトルXVのベクトル成分の要素数よりも多くてもよい。
 計量学習部422は、例えば、計量学習を行うために用いられるニューラルネットワークを用いて、計量学習を行ってもよい。第2実施形態では、計量学習部422は、計量学習を行うために用いられるニューラルネットワークの一例として、シャムネットワーク(Siamese Network)を用いる。但し、計量学習を行うために用いられるニューラルネットワークがシャムネットワークに限定されることはない。例えば、後述する第3実施形態で説明するように、計量学習部422は、計量学習を行うために用いられるニューラルネットワークの一例として、トリプレットネットワーク(Triplet Network)を用いてもよい。
 データ抽出部423は、特徴データセット412から、少なくとも二つの特徴ベクトルXVを、教師データ4130(後述する図9参照)の少なくとも一部として抽出する。その結果、データ抽出部423は、抽出した少なくとも二つの特徴ベクトルXVを含む教師データ4130を生成する。データ抽出部423は、典型的には、教師データ4130を複数生成する。データ抽出部423が生成した教師データ4130(典型的には、複数の教師データ4130)は、教師データセット413として記憶装置41によって記憶される。
 上述したように、第2実施形態では、計量学習を行うためにシャムネットワークが用いられる。この場合、データ抽出部423は、二つの特徴ベクトルXV(つまり、特徴ベクトルXVのペアであり、以降、必要に応じて“ベクトルペアXVP”と称する)を、教師データ4130の少なくとも一部として抽出する。ベクトルペアXVPが正例ペア(つまり、潜在空間での距離が近づくように計量学習が行われる特徴ベクトルXVのペア)として抽出される場合には、当該ベクトルペアXVPを含む教師データ4130は、正例データとして用いられる。一方で、ベクトルペアXVPが負例ペア(つまり、潜在空間での距離が離れるように計量学習が行われる特徴ベクトルXVのペア)として抽出される場合には、当該ベクトルペアXVPを含む教師データ4130は、負例データとして用いられる。
 第2実施形態では、データ抽出部423は、記憶装置41が記憶している抽出定義情報414に基づいて、特徴データセット412から、少なくとも二つの特徴ベクトルXV(第2実施形態では、ベクトルペアXVP)を抽出する。尚、抽出定義情報414に基づいて少なくとも二つの特徴ベクトルXVを抽出する動作の詳細については、抽出定義情報414の詳細と共に後に詳述する。
 検索部424は、脅威検出動作によって検出したい脅威(以降、“検出ターゲット脅威”と称する)を指定するクエリデータDQに基づいて、特徴データセット412から、クエリデータDQに対する類似性が他の特徴データDVと比較して高い少なくとも一つの特徴データDVを検索する。第2実施形態では、クエリデータDQと特徴データDVとの類似性と示す指標値として、潜在空間におけるクエリデータDQと特徴データDVとの間の距離が用いられる例について説明する。尚、潜在空間におけるクエリデータDQと特徴データDVとの間の距離は、クエリデータDQが示す特徴ベクトルXQ(つまり、検出ターゲット脅威の特徴量を示す特徴ベクトル)を変換モデルTMで変換することで得られる潜在ベクトルZQと、特徴データDVが示す特徴ベクトルXVを変換モデルTMで変換することで得られる潜在ベクトルZVとの間の距離を意味する。このため、第2実施形態では、検索部424は、特徴データセット412から、潜在空間におけるクエリデータDQからの距離が他の特徴データDVと比較して短い少なくとも一つの特徴データDVを検索する。
 クエリデータDQは、検出ターゲット脅威の特徴量を示す特徴ベクトルXQを含んでいてもよい。この際、クエリデータDQの特徴ベクトルXQの次元数は、特徴データDVの特徴ベクトルXVの次元数と同じであることが好ましい。つまり、特徴ベクトルXVの次元数がF(但し、Fは、1以上の整数を示す定数)である場合には、特徴ベクトルXQの次元数もまたFであることが好ましい。特に、特徴ベクトルXVのF個のベクトル成分が夫々示すF個の特徴量の種類は、特徴ベクトルXQのF個のベクトル成分が夫々示すF個の特徴量の種類と同一であることが好ましい。例えば、特徴ベクトルXVが、受信サイズに関する特徴量を示すベクトル成分と送信サイズに関する特徴量を示すベクトル成分とを含む場合には、特徴ベクトルXQもまた、受信サイズに関する特徴量を示すベクトル成分と送信サイズに関する特徴量を示すベクトル成分とを含むことが好ましい。
 第2実施形態では、検索部424が、特徴データセット412から、潜在空間におけるクエリデータDQからの距離が他の特徴データDVと比較して短いN(尚、Nは、1≦N≦特徴データDVの総数Rを満たす整数を示す定数)個の特徴データDVを検索する例について説明する。この場合、検索部424は、検索されたN個の特徴データDVを、夫々、N個の近傍データDN(以下、N個の近傍データDNを、夫々、“近傍データDNからDN”と称する)として抽出する。
 近傍データDN(尚、nは、1≦n≦Nを満たす整数を示す変数である)は、潜在空間においてクエリデータDQの近傍に位置するデータに相当する。つまり、近傍データDNは、クエリデータDQが指定する検出ターゲット脅威と同じ又は類似する脅威の痕跡を示すプロキシログデータ4111の特徴量を示す特徴データDVに相当する。このため、近傍データDNが検出された場合には、検出ターゲット脅威と同じ又は類似する脅威がローカルシステムLSに既に侵入した可能性があると想定される。このため、抽出された近傍データDN(或いは、近傍データDNに対応するプロキシログデータ4111)は、ローカルシステムLSに実際に脅威が侵入したか否かを判定するために、更に解析されてもよい。
 出力制御部425は、検索部424が抽出したN個の近傍データDNからDNの少なくとも一つに関する情報を出力するように、後述する出力装置44を制御してもよい。
 入力装置43は、情報処理装置4の外部からの情報処理装置4に対する情報の入力を受け付ける装置である。例えば、入力装置43は、情報処理装置4のユーザが操作可能な操作装置(例えば、キーボード、マウス及びタッチパネルのうちの少なくとも一つ)を含んでいてもよい。例えば、入力装置43は、情報処理装置4の外部から通信ネットワークを介して情報処理装置4にデータとして送信される情報を受信可能な受信装置(つまり、通信装置)を含んでいてもよい。
 出力装置44は、情報を出力する装置である。例えば、出力装置44は、情報処理装置4が行う脅威検出動作に関する情報(例えば、検出された脅威に関する情報)を出力してもよい。このような出力装置44の一例として、情報を画像として出力可能な(つまり、表示可能な)ディスプレイ(表示装置)があげられる。出力装置44の一例として、情報を音声として出力可能なスピーカ(音声出力装置)があげられる。出力装置44の一例として、情報が印刷された文書を出力可能なプリンタがあげられる。出力装置44の一例として、通信ネットワーク又はデータバスを介して情報をデータとして送信可能な送信装置(つまり、通信装置)があげられる。
 (2-2)情報処理装置4が行う動作
 続いて、情報処理装置4が行う動作について説明する。上述したように、情報処理装置4は、ローカルシステムLSに既に侵入している脅威を検出するための脅威検出動作を行う。更に、情報処理装置4は、脅威検出動作を行う前に、脅威検出動作で用いる変換モデルTMを生成するためのモデル生成動作を行ってもよい。このため、以下では、モデル生成動作と脅威検出動作とについて順に説明する。
 (2-2-1)モデル生成動作
 初めに、図6を参照しながら、情報処理装置4が行うモデル生成動作について説明する。図6は、情報処理装置4が行うモデル生成動作の流れを示すフローチャートである。
 図6に示すように、データ抽出部423は、教師データ4130を生成する(ステップS11)。教師データ4130を生成するために、データ抽出部423は、特徴データセット412から、二つの特徴ベクトルXV(つまり、ベクトルペアXVP)を教師データ4130の少なくとも一部として抽出する。上述したように、第2実施形態では、データ抽出部423は、抽出定義情報414に基づいて、特徴データセット412から、ベクトルペアXVPを教師データ4130の少なくとも一部として抽出する。
 ここで、抽出定義情報414を示す図7を参照しながら、抽出定義情報414について説明する。図7に示すように、抽出定義情報414は、複数の抽出定義データ4140を含む。以下の説明では、抽出定義情報414がQ(但し、Qは、2以上の整数を示す定数)個の抽出定義データ4140を含む例について説明する。各抽出定義データ4140は、定義識別子4141と、抽出指定情報4142とを含む。尚、各抽出定義データ4140は、損失情報4143も含んでいるが、損失情報4143については、教師データ4130が生成された後に行われる計量学習について説明する際に合わせて説明する。
 定義識別子4141は、抽出定義データ4140を識別するための固有の識別子である。図7に示す例では、抽出定義情報414は、「DI1」という定義識別子4141が割り当てられた抽出定義データ4140、「DI2」という定義識別子4141が割り当てられた抽出定義データ4140、「DI3」という定義識別子4141が割り当てられた抽出定義データ4140及び「DI4」という定義識別子4141が割り当てられた抽出定義データ4140を含んでいる。尚、以下の説明では、「DIq(尚、qは、1≦q≦Qを満たす整数を示す変数)」という定義識別子4141が割り当てられた抽出定義データ4140を、“抽出定義データ4140#q”と称する。また、以下の説明では、抽出定義データ4140#qに含まれる抽出指定情報4142及び損失情報4143を、夫々、“抽出指定情報4142#q”及び“損失情報4143#q”と称する。
 抽出指定情報4142は、少なくとも二つの特徴ベクトルXVを教師データ4130の少なくとも一部として抽出する(第2実施形態では、ベクトルペアXVPを抽出する)ための抽出条件を指定する(言い換えれば、示す)。つまり、抽出指定情報4142は、抽出条件を指定することで、教師データ4130の少なくとも一部として抽出されるべきベクトルペアXVPを指定しているとみなしてもよい。データ抽出部423は、特徴データセット412から、抽出指定情報4142が指定する抽出条件を満たすベクトルペアXVPを、教師データ4130の少なくとも一部として抽出する。
 第2実施形態では、抽出指定情報4142は、抽出条件を、抽出されるべきベクトルペアXVPに夫々割り当てられた二つの属性ラベル群ALGの間の関係によって指定する。この場合、データ抽出部423は、特徴データセット412から、抽出条件が指定している関係を満たす二つの属性ラベル群ALGが夫々割り当てられたベクトルペアXVPを、教師データ4130の少なくとも一部として抽出する。
 抽出条件は、「正例ペアとして用いられるベクトルペアXVPが抽出される」という正例条件を含んでいてもよい。第2実施形態では、類似性が相対的に高い二つの属性ラベル群ALGが夫々割り当てられたベクトルペアXVPが、正例ペアとして用いられてもよい。以下の説明では、説明の便宜上、正例ペアを定義する「類似性が相対的に高い二つの属性ラベル群ALG」を、“高類似ラベル群ペアALGp”と称する。このため、抽出条件(特に、正例ペアとして用いられるベクトルペアXVPを抽出するための抽出条件)は、「高類似ラベル群ペアALGpが夫々割り当てられたベクトルペアXVPが抽出される」という正例条件を含んでいてもよい。
 抽出条件は、「負例ペアとして用いられるベクトルペアXVPが抽出される」という負例条件を含んでいてもよい。第2実施形態では、類似性が相対的に低い二つの属性ラベル群ALGが夫々割り当てられたベクトルペアXVPが、負例ペアとして用いられてもよい。以下の説明では、説明の便宜上、負例ペアを定義する「類似性が相対的に低い二つの属性ラベル群ALG」を、“低類似ラベル群ペアALGn”と称する。このため、抽出条件(特に、負例ペアとして用いられるベクトルペアXVPを抽出するための抽出条件)は、「低類似ラベル群ペアALGnが夫々割り当てられたベクトルペアXVPが抽出される」という負例条件を含んでいてもよい。
 抽出条件は、「高類似ラベル群ペアALGpよりも類似性が低く且つ低類似ラベル群ペアALGnよりも類似性が高い二つの属性ラベル群ALGが夫々割り当てられたベクトルペアXVPが抽出される」という中間条件を含んでいてもよい。以下の説明では、説明の便宜上、「高類似ラベル群ペアALGpよりも類似性が低く且つ低類似ラベル群ペアALGnよりも類似性が高い二つの属性ラベル群ALG」を、“中間類似ラベル群ペアALGi”と称する。このため、抽出条件は、「中間類似ラベル群ペアALGiが夫々割り当てられたベクトルペアXVPが抽出される」という中間条件を含んでいてもよい。中間条件に基づいて抽出されたベクトルペアXVPは、正例ペアとして用いられてもよい。中間条件に基づいて抽出されたベクトルペアXVPは、正例ペアとして用いられることに加えて又は代えて、負例ペアとして用いられてもよい。
 高類似ラベル群ペアALGpの類似性と、低類似ラベル群ペアALGnの類似性と、中間類似ラベル群ペアALGiの類似性との関係は、あくまで相対的な関係である。つまり、低類似ラベル群ペアALGnの類似性よりも高く且つ中間類似ラベル群ペアALGiの類似性よりも高い類似性を有する任意の二つの属性ラベル群ALGが、高類似ラベル群ペアALGpとして用いられてもよい。高類似ラベル群ペアALGpの類似性よりも低く且つ中間類似ラベル群ペアALGiの類似性よりも低い類似性を有する任意の二つの属性ラベル群ALGが、低類似ラベル群ペアALGnとして用いられてもよい。高類似ラベル群ペアALGpの類似性よりも低く且つ低類似ラベル群ペアALGnの類似性よりも高い類似性を有する任意の二つの属性ラベル群ALGが、中間類似ラベル群ペアALGiとして用いられてもよい。
 第2実施形態では、上述したように、属性ラベル群ALGは、複数種類の属性ラベルALを含んでいる。この場合、属性ラベル群ALGの類似性は、複数種類の属性ラベルALの夫々の類似性に依存していてもよい。例えば、複数種類の属性ラベルALの全ての類似性が相対的に高い(例えば、複数種類の属性ラベルALの全てが一致している)二つの属性ラベル群ALGの類似性は、複数種類の属性ラベルALのうちの少なくとも一つの類似性が相対的に低い(例えば、複数種類の属性ラベルALのうちの少なくとも一つが一致していない)二つの属性ラベル群ALGの類似性よりも高い。同様に、例えば、複数種類の属性ラベルALの全ての類似性が相対的に低い二つの属性ラベル群ALGの類似性は、複数種類の属性ラベルALのうちの少なくとも一つの類似性が相対的に高い二つの属性ラベル群ALGの類似性よりも低い。従って、類似性が相対的に高い属性ラベルのALの種類の数及び類似性が相対的に低い属性ラベルのALの種類の数に応じて、高類似ラベル群ペアALGp、低類似ラベル群ペアALGn及び中間類似ラベル群ペアALGiが定義されてもよい。例えば、一致している属性ラベルのALの種類の数及び一致していない属性ラベルのALの種類の数に応じて、高類似ラベル群ペアALGp、低類似ラベル群ペアALGn及び中間類似ラベル群ペアALGiが定義されてもよい。
 一例として、第2実施形態では、上述したように、属性ラベル群ALGは、クライアントラベルALc、サーバラベルALs及び通信日ラベルALdという3種類の属性ラベルALを含んでいる。この場合、3種類の属性ラベルALの全てが一致している二つの属性ラベル群ALGの類似性は、3種類の属性ラベルALのうちの少なくとも一つが一致していない二つの属性ラベル群ALGの類似性よりも高い。同様に、3種類の属性ラベルALのうちのいずれか二つが一致している二つの属性ラベル群ALGの類似性は、3種類の属性ラベルALのうちの少なくとも二つが一致していない二つの属性ラベル群ALGの類似性よりも高い。同様に、3種類の属性ラベルALのうちのいずれか一つが一致している二つの属性ラベル群ALGの類似性は、3種類の属性ラベルALの全てが一致していない二つの属性ラベル群ALGの類似性よりも高い。この場合、一致する属性ラベルのALの種類の数に応じて、高類似ラベル群ペアALGp、低類似ラベル群ペアALGn及び中間類似ラベル群ペアALGiが定義されてもよい。例えば、クライアントラベルALc、サーバラベルALs及び通信日ラベルALdの全てが一致している二つの属性ラベル群ALGが、高類似ラベル群ペアALGpとして用いられてもよい。例えば、クライアントラベルALc及びサーバラベルALsが一致している二つの属性ラベル群ALGが、高類似ラベル群ペアALGpとして用いられてもよい。例えば、クライアントラベルALc、サーバラベルALs及び通信日ラベルALdの全てが一致していない二つの属性ラベル群ALGが、低類似ラベル群ペアALGnとして用いられてもよい。例えば、クライアントラベルALc及びサーバラベルALsのいずれか一方が一致している一方で、クライアントラベルALc及びサーバラベルALsのいずれか他方が一致していない二つの属性ラベル群ALGが、中間類似ラベル群ペアALGpとして用いられてもよい。
 尚、抽出条件は、属性ラベル群ALGに含まれる複数種類の属性ラベルALの全てを用いる条件を含んでいてもよい。例えば、抽出条件は、属性ラベル群ALGに含まれるクライアントラベルALc、サーバラベルALs及び通信日ラベルALdの全てを用いる条件を含んでいてもよい。或いは、抽出条件は、属性ラベル群ALGに含まれる複数種類の属性ラベルALの一部を用いる一方で、属性ラベル群ALGに含まれる複数種類の属性ラベルALの他の一部を用いない条件を含んでいてもよい。例えば、抽出条件は、属性ラベル群ALGに含まれるクライアントラベルALc、サーバラベルALs及び通信日ラベルALdの一部を用いる一方で、属性ラベル群ALGに含まれるクライアントラベルALc、サーバラベルALs及び通信日ラベルALdの他の一部を用いない条件を含んでいてもよい。例えば、通信日ラベルALdを用いない抽出条件は、抽出されるベクトルペアXVPの間での通信日ラベルALdの類似性を問わない(例えば、抽出されるベクトルペアXVPの間で通信日ラベルALdが一致するか又は不一致であるか否かを問わない)条件であってもよい。
 抽出指定情報4142は、二つの属性ラベル群ALGの間の関係を直接的に指定することで、抽出条件を指定してもよい。或いは、抽出指定情報4142は、内容が予め定義されている複数の抽出条件(つまり、二つの属性ラベル群ALGの間の関係が予め定義されている複数の抽出条件)のうちのいずれか一つを、抽出条件を識別するための固有の条件識別子を用いて指定していてもよい。図7に示す例では、抽出指定情報4142は、複数の抽出条件のうちのいずれか一つを、条件識別子を用いて指定している。具体的には、図7に示す例では、抽出指定情報4142#1は、「E1」という条件識別子が割り当てられた抽出条件を指定し、抽出指定情報4142#2は、「E2」という条件識別子が割り当てられた抽出条件を指定し、抽出指定情報4142#3は、「E2」という条件識別子が割り当てられた抽出条件を指定し、抽出指定情報4142#4は、「E3」という条件識別子が割り当てられた抽出条件を指定している。
 複数の抽出条件の内容(つまり、抽出条件として用いられる、二つの属性ラベル群ALGの間の関係)は、条件定義テーブル415によって予め定義されていてもよい。条件定義テーブル415の一例が、図8に示されている。図8に示すように、条件定義テーブル415は、複数の抽出条件の内容を夫々定義する複数の条件定義データ4150を含んでいてもよい。各条件定義データ4150は、条件識別子4151と、属性関係情報4152とを含む。条件識別子4151は、条件定義データ4150を識別するための固有の識別子である。抽出指定情報4142は、この条件識別子4151を用いて、抽出条件を指定してもよい。属性関係情報4152は、教師データ4130の一部として抽出されるベクトルペアXVPに夫々割り当てられた二つの属性ラベル群ALGが満たすべき関係を示す。具体的には、属性関係情報4152は、教師データ4130の一部として抽出されるベクトルペアXVPの間で、属性ラベル群ALGに含まれる複数種類の属性ラベルALが満たすべき関係を示す。
 図8に示す例では、条件定義テーブル415は、「E1」という条件識別子4151が割り当てられた条件定義データ4150(以降、“条件定義データ4150#1”と称する)と、「E2」という条件識別子4151が割り当てられた条件定義データ4150(以降、“条件定義データ4150#2”と称する)と、「E3」という条件識別子4151が割り当てられた条件定義データ4150(以降、“条件定義データ4150#3”と称する)とを含む。条件定義データ4150#1は、「クライアントラベルALc及びサーバラベルALsが一致し、且つ、通信日ラベルALdが一致していてもよいし一致していなくてもよいベクトルペアXVPが抽出される」という抽出条件を定義する属性関係情報4152を含む。条件定義データ4150#2は、「クライアントラベルALcが一致し、サーバラベルALsが一致せず、且つ、通信日ラベルALdが一致していてもよいし一致していなくてもよいベクトルペアXVPが抽出される」という抽出条件を定義する属性関係情報4152を含む。条件定義データ4150#3は、「クライアントラベルALc、サーバラベルALs及び通信日ラベルALdの全てが一致しないベクトルペアXVPが抽出される」という抽出条件を定義する属性関係情報4152を含む。
 再び図7において、複数の抽出定義データ4140のうちの少なくとも二つに夫々含まれる少なくとも二つの抽出指定情報4142は、同じ抽出条件を指定していてもよい。図7に示す例では、抽出指定情報4142#2は、抽出指定情報4142#3が指定する抽出条件と同じ抽出条件を指定している。また、複数の抽出定義データ4140のうちの少なくとも二つに夫々含まれる少なくとも二つの抽出指定情報4142は、異なる抽出条件を指定していてもよい。図7に示す例では、抽出指定情報4142#1は、抽出指定情報4142#2から4142#4が指定する抽出条件とは異なる抽出条件を指定している。抽出指定情報4142#2及び4142#3の夫々は、抽出指定情報4142#4が指定する抽出条件とは異なる抽出条件を指定している。
 データ抽出部423は、このような抽出指定情報4142に基づいて、特徴データセット412から、抽出指定情報4142が指定する抽出条件を満たすベクトルペアXVPを、教師データ4130の少なくとも一部として抽出する。抽出条件を満たすベクトルペアXVPが特徴データセット412の中に複数存在する場合には、データ抽出部423は、複数のベクトルペアXVPの全てを抽出してもよい。或いは、データ抽出部423は、複数のベクトルペアXVPの一部を抽出する一方で、複数のベクトルペアXVPの他の一部を抽出しなくてもよい。
 データ抽出部423は、抽出条件を満たすベクトルペアXVPを抽出する動作を、抽出定義データ4140の数だけ(つまり、抽出指定情報4142の数だけ)繰り返す。図7に示す例では、抽出定義情報414は、抽出定義データ4140#1から4140#4(つまり、抽出指定情報4142#1から4142#4)を含む。この場合、データ抽出部423は、抽出指定情報4142#1が指定する抽出条件を満たすベクトルペアXVPの全て又は一部を抽出し、抽出指定情報4142#2が指定する抽出条件を満たす特徴ベクトルXVのペアの全て又は一部を抽出し、抽出指定情報4142#3が指定する抽出条件を満たすベクトルペアXVPの全て又は一部を抽出し、抽出指定情報4142#4が指定する抽出条件を満たすベクトルペアXVPの全て又は一部を抽出する。但し、上述したように、抽出指定情報4142#2が指定する抽出条件は、抽出指定情報4142#3が指定する抽出条件と同一である。この場合には、データ抽出部423は、抽出指定情報4142#2及び4142#3のいずれか一方が指定する抽出条件を満たすベクトルペアXVPの全て又は一部を、抽出指定情報4142#2及び4142#3の夫々が指定する抽出条件を満たすベクトルペアXVPとして抽出してもよい。
 一の抽出条件を満たすベクトルペアXVPは、一の抽出条件とは異なる他の抽出条件を満たすことは、基本的にはない。このため、データ抽出部423は、一の抽出条件を満たすベクトルペアXVPの全て又は一部を抽出した後に他の抽出条件を満たすベクトルペアXVPの全て又は一部を抽出する場合に、一の抽出条件に基づいて抽出されたベクトルペアXVPを、他の抽出条件を満たすベクトルペアXVPの抽出対象(つまり、検索対象)の母集団から除外してもよい。この場合、ベクトルペアXVPの抽出対象となる母集団が小さくなるがゆえに、他の抽出条件を満たすベクトルペアXVPを抽出するための処理負荷が低減可能となる。更に、データ抽出部423は、一の抽出条件に基づいて抽出されたベクトルペアXVPを構成する複数の特徴ベクトルXVを抽出対象の母集団に設定した上で、一の抽出条件に基づいて抽出されたベクトルペアXVPとは異なるベクトルペアXVPの中から、他の抽出条件を満たす特徴ベクトルXVのペアを抽出してもよい。この場合、ベクトルペアXVPの抽出対象となる母集団が小さくなるがゆえに、他の抽出条件に基づいてベクトルペアXVPを抽出するための処理負荷が低減可能となる。
 データ抽出部423は、抽出したベクトルペアXVPを含む教師データ4130を、教師データセット413に登録する。つまり、データ抽出部423は、抽出したベクトルペアXVPを含む教師データ4130を、教師データセット413の一部として記憶装置41に記憶させる。
 教師データセット413のデータ構造の一例が、図9に示されている。図9に示すように、教師データセット413は、複数の教師データ4130を含む。各教師データ4130は、データ抽出部423が抽出したベクトルペアXVPに関するベクトル情報4131を含む。ベクトル情報4131は、ベクトルペアXVPそのものを含んでいてもよい。或いは、ベクトル情報4131は、ベクトルペアXVPを識別するためのデータ識別子のペアを含んでいてもよい。図9は、ベクトルペアXVPを識別するためのデータ識別子のペアをベクトル情報4131が含む例を示している。図9に示す例では、特徴ベクトルXVに割り当てられた属性ラベル群ALGが、データ識別子として用いられている。
 教師データ4130は更に、ベクトル情報4131が示すベクトルペアXVPを抽出するために用いた抽出定義データ4140を特定する定義特定情報4132を含む。つまり、教師データ4130は、ベクトル情報4131と、ベクトル情報4131が示すベクトルペアXVPを抽出するために用いた抽出定義データ4140を特定する定義特定情報4132とが関連付けられたデータである。定義特定情報4132は、例えば、抽出定義データ4140を識別するための定義識別子4141を用いて、抽出定義データ4140を特定してもよい。図9に示す例では、教師データセット413には、抽出定義データ4140#1(つまり、抽出指定情報4142#1)に基づいて抽出された三つのベクトルペアXVPを夫々含む三つの教師データ4130と、抽出定義データ4140#2(つまり、抽出指定情報4142#2)に基づいて抽出された二つのベクトルペアXVPを夫々含む二つの教師データ4130と、抽出定義データ4140#3(つまり、抽出指定情報4142#3)に基づいて抽出された二つのベクトルペアXVPを夫々二つの教師データ4130と、抽出定義データ4140#4(つまり、抽出指定情報4142#4)に基づいて抽出された一つのベクトルペアXVPを含む一つの教師データ4130とを含んでいる。
 再び図6において、教師データ4130が生成された後に、計量学習部422は、ステップS11で生成された教師データ4130を用いた計量学習を行うことで、変換モデルTMを生成する(ステップS12)。
 ここで、図10を参照しながら、計量学習(第2実施形態では、シャムネットワークを用いた計量学習)について説明する。図10は、シャムネットワークSMのモデル構造を概念的に示す。図10に示すように、シャムネットワークSMは、変換モデルTM1及び変換モデルTM2を含む。変換モデルTM1と変換モデルTM2とは、同一である。例えば、変換モデルTM1及びTM2は、パラメータが同一となる二つのニューラルネットワークである。変換モデルTM1及びTM2は、変換モデルTMと同様に、特徴ベクトルXVを潜在ベクトルZVに変換可能である。計量学習が行われる場合には、計量学習部422は、変換モデルTM1及びTM2に、教師データ4130に含まれる(或いは、教師データ4130が示す)ベクトルペアXVPを夫々入力する。具体的には、ベクトルペアXVPを構成する二つの特徴ベクトルXVを、以降の説明では、夫々、“特徴ベクトルXV”及び“特徴ベクトルXV”と称する。尚、「i」は、1≦i≦R(つまり、特徴ベクトルXVの総数)を満たす整数を示す変数であり、「j」は、1≦j≦Rを満たし且つ変数iとは異なる整数を示す変数である。この場合、計量学習部422は、特徴ベクトルXVを変換モデルTM1に入力し、特徴ベクトルXVを変換モデルTM2に入力する。その結果、変換モデルTM1は、潜在ベクトルZVを出力し、変換モデルTM2は、潜在ベクトルZVを出力する。その後、計量学習部422は、潜在ベクトルZVと潜在ベクトルZVとの間の距離d(i,j)を算出する。同様の動作を、計量学習部422は、教師データセット413に含まれる複数の教師データ4130を用いて繰り返す。その後、計量学習部422は、複数の教師データ4130を用いて夫々算出された複数の距離d(i,j)に基づいて損失Lを算出し、損失Lに基づいて、正例データに相当する教師データ4130を用いて算出された距離d(i,j)が短くなり、且つ、負例データに相当する教師データ4130を用いて算出された距離d(i,j)が長くなるように、変換モデルTM1(更には、変換モデルTM2)を更新する。つまり、計量学習部422は、正例ペアに相当するベクトルペアXVPが近づき、且つ、負例ペアに相当するベクトルペアXVPが離れるように、変換モデルTM1(更には、変換モデルTM2)を更新する。その結果生成された変換モデルTM1(或いは、変換モデルTM2)が、変換モデルTMとして用いられる。例えば、変換モデルTM1(或いは、変換モデルTM2)のパラメータが、変換モデルTMのパラメータとして用いられる。
 第2実施形態では特に、計量学習部422は、抽出定義情報414に含まれる損失情報4143を用いて損失Lを算出する。損失情報4143は、計量学習で用いられる損失L(つまり、距離d(i,j)に基づいて算出される損失L)を定義する。特に、損失情報4143は、損失情報4143に対応する抽出指定情報4142に基づいて抽出されたベクトルペアXVPに関する損失L(つまり、抽出指定情報4142に基づいて抽出されたベクトルペアXVPに固有の損失Lであり、以降、“損失Lc”と称する)を定義する。より具体的には、損失情報4143#qは、抽出指定情報4142#qが指定する抽出条件を満たすベクトルペアXVPの間の距離d(i,j)に基づいて算出される損失Lc#qを定義する。つまり、上述したように抽出定義情報414がQ個の抽出定義データ4140#1から4140#Qを含む(つまり、Q個の損失情報4143#1から4143#Qを含む)場合には、損失情報4143#1は、抽出指定情報4142#1が指定する抽出条件を満たすベクトルペアXVPの間の距離d(i,j)に基づいて算出される損失Lc#1を定義し、損失情報4143#2は、抽出指定情報4142#2が指定する抽出条件を満たすベクトルペアXVPの間の距離d(i,j)に基づいて算出される損失Lc#2を定義し、・・・、損失情報4143#Qは、抽出指定情報4142#Qが指定する抽出条件を満たすベクトルペアXVPの間の距離d(i,j)に基づいて算出される損失Lc#Qを定義する。この場合、損失情報4143#qは、損失Lc#qを定義することで、損失Lc#qを用いて算出される損失Lを定義しているとみなしてもよい。
 尚、各教師データ4130に含まれるベクトルペアXVPを抽出するために用いられた抽出指定情報4142は、各教師データ4130に含まれる定義特定情報4132から特定可能である。このため、計量学習部422は、各教師データ4130に含まれる定義特定情報4132に基づいて、各教師データ4130に含まれるベクトルペアXVPに関する損失Lcを定義する損失情報4143を特定することができる。
 損失情報4143#qは、損失Lc#qのパラメータを定義する(言い換えれば、指定する)ことで、損失Lc#qを定義してもよい。例えば、第2実施形態では、損失Lc#qとして、Contrastive Lossに準拠した損失が用いられてもよい。Contrastive Lossに準拠した損失Lc#qの一例が、数式1に示されている。数式1における「w」は、損失Lc#qのパラメータの一例である重みを示す。数式1における「y」は、損失Lc#qのパラメータの一例である教師ラベルを示す。数式1における「m」は、損失Lc#qのパラメータの一例であるマージンを示す。数式1における「Pc#q」は、抽出指定情報4142#qに基づいて抽出されたベクトルペアXVPの集合を示す。数式1における「[v]」という演算子は、実数vとゼロとのうちの大きい方の数字を示す。
Figure JPOXMLDOC01-appb-M000001

 この場合、損失情報4143#qは、図7に示すように、損失Lc#qを定義するための重みw、教師ラベルy及びマージンmを指定していてもよい。つまり、損失情報4143#qは、損失Lc#qを定義するための損失重みw、教師ラベルy及びマージンmを含んでいてもよい。図7に示す例では、損失情報4143#1は、教師ラベルyが「1(=正例)」となり、重みwが「1.0」となり、且つ、マージンmが「0.1」となるように、損失Lc#1を定義している。損失情報4143#2は、教師ラベルyが「1(=正例)」となり、重みwが「0.1」となり、且つ、マージンmが「0.5」となるように、損失Lc#2を定義している。損失情報4143#3は、教師ラベルyが「0(=負例)」となり、重みwが「0.1」となり、且つ、マージンmが「0.3」となるように、損失Lc#3を定義している。損失情報4143#4は、教師ラベルyが「0(=負例)」となり、重みwが「1.0」となり、且つ、マージンmが「1.0」となるように、損失Lc#4を定義している。
 教師ラベルycは、抽出指定情報4142に基づいて抽出されたベクトルペアXVPが、正例ペアであるのか又は負例ペアであるのかを示すラベルであるとみなしてもよい。図7に示す例では、損失情報4143#1及び4143#2の夫々が、教師ラベルyが「1(=正例)」となるように、損失Lcを定義している。この場合、抽出指定情報4142#1及び4142#2の夫々に基づいて抽出されたベクトルペアXVPは、正例ペアとして用いられる。一方で、損失情報4143#3及び4143#4の夫々が、教師ラベルyが「0(=負例)」となるように、損失Lcを定義している。この場合、抽出指定情報4142#3及び4142#4の夫々に基づいて抽出されたベクトルペアXVPは、負例ペアとして用いられる。
 ここで、図7に示すように、損失情報4143#1は、抽出指定情報4142#1が指定する抽出条件E1に基づいて抽出されたベクトルペアXVPが、正例ペアとして用いられることを示している。一方で、図7に示す抽出定義情報414によれば、抽出条件E1に基づいて抽出されたベクトルペアXVPが、負例ペアとして用いられることはない。この場合、抽出条件E1は、「高類似ラベル群ペアALGpが夫々割り当てられたベクトルペアXVPが正例ペアとして抽出される」という正例条件として用いられている。つまり、図8に示すように、クライアントラベルALc及びサーバラベルALsが一致し、且つ、通信日ラベルALdが一致していてもよいし一致していなくてもよい二つの属性ラベル群ALGが、高類似ラベル群ペアALGpとして用いられている。
 一方で、損失情報4143#4は、抽出指定情報4142#4が指定する抽出条件E3に基づいて抽出されたベクトルペアXVPが、負例ペアとして用いられることを示している。一方で、図7に示す抽出定義情報414によれば、抽出条件E3に基づいて抽出されたベクトルペアXVPが、正例ペアとして用いられることはない。この場合、抽出条件E3は、「低類似ラベル群ペアALGnが夫々割り当てられたベクトルペアXVPが負例ペアとして抽出される」という負例条件として用いられている。つまり、図8に示すように、クライアントラベルALc、サーバラベルALs及び通信日ラベルALdの全てが一致しない二つの属性ラベル群ALGが、低類似ラベル群ペアALGnとして用いられている。
 一方で、抽出指定情報4142#2及び4142#3は、同じ抽出条件E2を指定している。一方で、損失情報4143#2は、抽出指定情報4142#2に基づいて抽出されたベクトルペアXVPが正例ペアとして用いられることを示している一方で、損失情報4143#3は、抽出指定情報4142#3に基づいて抽出されたベクトルペアXVP(つまり、抽出指定情報4142#2に基づいて抽出されたベクトルペアXVPと同じベクトルペアXVP)が負例ペアとして用いられることを示している。この場合、抽出条件E2は、「中間類似ラベル群ペアALGiが夫々割り当てられたベクトルペアXVPが正例ペア及び負例ペアの少なくとも一方として抽出される」という中間条件として用いられている。つまり、図8に示すように、クライアントラベルALcが一致し、サーバラベルALsが一致せず、且つ、通信日ラベルALdが一致していてもよいし一致していなくてもよい二つの属性ラベル群ALGが、中間類似ラベル群ペアALGiとして用いられている。このように、あるベクトルペアXVPが、正例ペア及び負例ペアの双方として用いられてもよい。つまり、ある抽出条件を満たすベクトルペアXVPを含む一の教師データ4130が正例データとして用いられる場合において、同じ抽出条件を満たす同じベクトルペアXVPを含む他の教師データ4130が負例データとして用いられてもよい。
 重みwは、典型的には、0以上且つ1以下の数値に設定される。但し、重みwは、1以上の数値に設定されてもよい。数式1から分かるように、重みwは、重みwが大きくなればなるほど、全体としての損失Lに対する損失Lcの寄与度が大きくなるという性質を有する。このため、損失情報4143#qは、抽出指定情報4142#qに基づいて抽出されたベクトルペアXVPから算出される損失Lc#qの寄与度が適切な寄与度になるように、重みwを指定していてもよい。
 一例として、正例ペアとして抽出されるベクトルペアXVPに夫々割り当てられた二つの属性ラベル群ALGの間の類似性が高くなるほど、当該ベクトルペアXVPの間の距離d(i,j)が短くなることが好ましい。つまり、正例ペアとして抽出されるベクトルペアXVPに夫々割り当てられた二つの属性ラベル群ALGの間の類似性が高くなるほど、当該ベクトルペアXVPから算出される損失Lc#qの寄与度が大きくなることが好ましい。このため、損失情報4143#qは、抽出指定情報4142#qに基づいて正例ペアとして抽出されたベクトルペアXVPに夫々割り当てられた二つの属性ラベル群ALGの類似性が高くなるほど重みwが大きくなるように、重みwを指定していてもよい。
 ここで、上述したように、抽出指定情報4142は、抽出されるべきベクトルペアXVPに夫々割り当てられた二つの属性ラベル群ALGの間の関係(つまり、複数種類の属性ラベルALの関係)によって抽出条件を指定している。この場合、ベクトルペアXVPの間で一致する(或いは、上述したように類似性が相対的に高い、以下同じ)属性ラベルALの種類の数が多くなるほど、抽出されたベクトルペアXVpに夫々割り当てられた二つの属性ラベル群ALGの類似性が高くなると想定される。このため、損失情報4143#qは、抽出指定情報4142#qに基づいて正例ペアとして抽出されるベクトルペアXVPの間で一致する属性ラベルALの種類の数が多くなるほど、重みwが大きくなるように、重みwを指定していてもよい。
 図7に示す例では、損失情報4143#1及び4143#2の夫々が、教師ラベルyが「1(=正例)」となるように、損失Lcを定義している。この場合、抽出指定情報4142#1に基づいて抽出されたベクトルペアXVPの間では、クライアントラベルALc及びサーバラベルALsが一致している。一方で、抽出指定情報4142#2に基づいて抽出されたベクトルペアXVPの間では、クライアントラベルALcが一致している一方で、サーバラベルALsが一致していない。このため、抽出指定情報4142#1に基づいて抽出されるベクトルペアXVPの間で一致する属性ラベルALの種類の数は、抽出指定情報4142#2に基づいて抽出されるベクトルペアXVPの間で一致する属性ラベルALの種類の数よりも多い。この場合、損失情報4143#1が指定する重みwは、損失情報4143#2が指定する重みwよりも大きくてもよい。
 他の一例として、負例ペアとして抽出されるベクトルペアXVPに夫々割り当てられた二つの属性ラベル群ALGの間の類似性が低くなるほど、当該ベクトルペアXVPの間の距離d(i,j)が長くなることが好ましい。つまり、負例ペアとして抽出されるベクトルペアXVPに夫々割り当てられた二つの属性ラベル群ALGの間の類似性が低くなるほど、当該ベクトルペアXVPから算出される損失Lc#qの寄与度が大きくなることが好ましい。このため、損失情報4143#qは、抽出指定情報4142#qに基づいて負例ペアとして抽出されたベクトルペアXVPに夫々割り当てられた二つの属性ラベル群ALGの類似性が低くなるほど重みwが大きくなるように、重みwを指定していてもよい。
 具体的には、ベクトルペアXVPの間で一致しない(或いは、上述したように類似性が相対的に低い、以下同じ)属性ラベルALの種類の数が多くなるほど、抽出されたベクトルペアXVPに夫々割り当てられた二つの属性ラベル群ALGの類似性が低くなると想定される。このため、損失情報4143#qは、抽出指定情報4142#qに基づいて負例ペアとして抽出されるベクトルペアXVPの間で一致しない属性ラベルALの種類の数が多くなるほど、重みwが大きくなるように、重みwを指定していてもよい。
 図7に示す例では、損失情報4143#3及び4143#4の夫々が、教師ラベルyが「0(=負例)」となるように、損失Lcを定義している。この場合、抽出指定情報4142#4に基づいて抽出されたベクトルペアXVPの間では、クライアントラベルALc及びサーバラベルALsが一致していない。一方で、抽出指定情報4142#3に基づいて抽出されたベクトルペアXVPの間では、クライアントラベルALcが一致している一方で、サーバラベルALsが一致していない。このため、抽出指定情報4142#4に基づいて抽出されるベクトルペアXVPの間で一致しない属性ラベルALの種類の数は、抽出指定情報4142#3に基づいて抽出されるベクトルペアXVPの間で一致しない属性ラベルALの種類の数よりも多い。この場合、損失情報4143#4が指定する重みwは、損失情報4143#3が指定する重みwよりも大きくてもよい。
 続いて、マージンmは、典型的には、0以上の数値に設定される。数式1から分かるように、正例ペアに相当するベクトルペアXVPが用いられる場合には、教師ラベルyが1となるがゆえに、数式1の右辺の第1項が損失項として用いられる。このため、正例ペアに相当するベクトルペアXVPの間の距離d(i,j)がマージンmよりも長くなる場合に損失が発生する。このため、マージンmは、正例ペアに相当するベクトルペアXVPの間の距離d(i,j)がマージンm以下になるまでベクトルペアXVPを近づけるように作用する。従って、マージンmが小さくなるほど、正例ペアとして抽出されるベクトルペアXVPの間の距離d(i,j)が短くなる。ここで、正例ペアとして抽出されるベクトルペアXVPに夫々割り当てられた二つの属性ラベル群ALGの間の類似性が高くなるほど、当該ベクトルペアXVPの間の距離d(i,j)が短くなることが好ましいことは、上述したとおりである。このため、損失情報4143#qは、抽出指定情報4142#qに基づいて正例ペアとして抽出されたベクトルペアXVPに夫々割り当てられた二つの属性ラベル群ALGの類似性が高くなるほどマージンmが小さくなるように、マージンmを指定していてもよい。損失情報4143#qは、抽出指定情報4142#qに基づいて正例ペアとして抽出されたベクトルペアXVPの間で一致する属性ラベルALの種類の数が多くなるほどマージンmが小さくなるように、マージンmを指定していてもよい。図7に示す例では、損失情報4143#1が指定するマージンmは、損失情報4143#2が指定するマージンmよりも小さくてもよい。
 一方で、数式1から分かるように、負例ペアに相当するベクトルペアXVPが用いられる場合には、教師ラベルyが0となるがゆえに数式1の右辺の第2項が損失項として用いられる。このため、負例ペアに相当するベクトルペアXVPの間の距離d(i,j)がマージンmよりも短くなる場合に損失が発生する。このため、マージンmは、負例ペアに相当するベクトルペアXVPの間の距離d(i,j)がマージンm以上になるまでベクトルペアXVPを遠ざけるように作用する。従って、マージンmが大きくなるほど、負例ペアとして抽出されるベクトルペアXVPの間の距離d(i,j)が長くなる。ここで、負例ペアとして抽出されるベクトルペアXVPに夫々割り当てられた二つの属性ラベル群ALGの間の類似性が低くなるほど、当該ベクトルペアXVPの間の距離d(i,j)が長くなることが好ましいことは、上述したとおりである。このため、損失情報4143#qは、抽出指定情報4142#qに基づいて負例ペアとして抽出されたベクトルペアXVPに夫々割り当てられた二つの属性ラベル群ALGの類似性が低くなるほどマージンmが大きくなるように、マージンmを指定していてもよい。損失情報4143#qは、抽出指定情報4142#qに基づいて負例ペアとして抽出されたベクトルペアXVPの間で一致しない属性ラベルALの種類の数が多くなるほどマージンmが大きくなるように、マージンmを指定していてもよい。図7に示す例では、損失情報4143#4が指定するマージンmは、損失情報4143#3が指定するマージンmよりも大きくてもよい。
 更に、少なくとも二つの抽出指定情報4142が同じ抽出条件を指定し、且つ、同じ抽出条件を満たすベクトルペアXVPが、正例ペア及び負例ペアの双方として用いられてもよいことは、上述したとおりである。この場合、正例ペアに対応する損失情報4143(つまり、「1(=正例)」となる教師ラベルyを指定する損失情報4143)が指定するマージンmは、負例ペアに対応する損失情報4143(つまり、「0(=負例)」となる教師ラベルyを指定する損失情報4143)が指定するマージンmよりも大きくてもよい。図7に示す例では、損失情報4143#2が指定するマージンmは、損失情報4143#3が指定するマージンmよりも小さくてもよい。この場合、同じ抽出条件を満たし且つ正例ペア及び負例ペアの夫々として用いられるベクトルペアXVPの間の距離d(i,j)がある距離に収束するように、計量学習が適切に行われる。
 計量学習部422は、このような損失情報4143に基づいて、損失Lを算出する。具体的には、計量学習部422は、抽出指定情報4142#qに基づいて抽出されたベクトルペアXVPと、損失情報4143#qとに基づいて、損失Lc#qを算出する。つまり、計量学習部422は、損失Lc#1からLc#Qを算出する。その後、計量学習部422は、損失Lc#1からLc#Qに基づいて、全体としての損失Lを算出する。例えば、計量学習部422は、損失Lc#1からLc#Qを加算することで、加算結果を損失Lとして算出してもよい。計量学習部422は、損失Lc#1からLc#Qの総和を、損失Lとして用いてもよい。その後、計量学習部422は、損失Lに基づいて、変換モデルTM1(更には、変換モデルTM2)を更新するように計量学習を行う。例えば、計量学習部422は、損失Lが小さくなるように(好ましくはゼロになるように)、変換モデルTM1(更には、変換モデルTM2)を更新するように計量学習を行う。
 再び図6において、計量学習が終了した後、計量学習部422は、生成した変換モデルTM1(更には、変換モデルTM2)を、変換モデルTMとして記憶装置41に記憶させる(ステップS13)。
 (2-2-2)脅威検出動作
 続いて、図11を参照しながら、情報処理装置4が行う脅威検出動作について説明する。図11は、情報処理装置4が行う脅威検出動作の流れを示すフローチャートである。尚、図11に示す脅威検出動作は、情報処理装置4に対するクエリデータDQの入力をトリガに開始されてもよい。複数のクエリデータDQが情報処理装置4に入力された場合には、各クエリデータDQを対象に脅威検出動作が行われる。例えば、第1のクエリデータDQと第2のクエリデータDQとが情報処理装置4に入力された場合には、第1のクエリデータDQを対象に脅威検出動作と、第2のクエリデータDQを対象とする脅威検出動作とが行われる。
 図11に示すように、まず、検索部424は、クエリデータDQを取得する(ステップS21)。例えば、検索部424は、ユーザが操作可能な操作装置として機能可能な入力装置43を介して情報処理装置4に入力される、検出ターゲット脅威(或いは、特徴ベクトルXQ)を直接的に又は間接的に指定する情報を、クエリデータDQとして取得してもよい。例えば、検索部424は、通信装置として機能可能な入力装置43を介して情報処理装置4に送信される、検出ターゲット脅威(或いは、特徴ベクトルXQ)を直接的に又は間接的に指定するための情報を、クエリデータDQとして取得してもよい。
 その後、検索部424は、ステップS21で取得したクエリデータDQに基づいて、特徴データセット412から、N個の近傍データDNからDNを抽出する(ステップS22からステップS26)。
 具体的には、検索部424は、記憶装置41が記憶している変換モデルTMを用いて、ステップS21で取得したクエリデータDQの特徴ベクトルXQを、潜在空間内で検出ターゲット脅威の特徴量を示す潜在ベクトルZQに変換する(ステップS22)。
 ステップS221の動作と並行して又は相前後して、検索部424は、特徴データセット412に含まれる複数の特徴データDVのうちの一の特徴データDVを抽出する(ステップS23)。その後、検索部424は、変換モデルTMを用いて、抽出した一の特徴データDVの特徴ベクトルXVを、潜在ベクトルZVに変換する(ステップS23)。その後、検索部424は、ステップS23で生成された潜在ベクトルZQとステップS22で生成された潜在ベクトルZVとの間の距離d(i,j)(つまり、潜在空間での距離)を算出する(ステップS24)。
 検索部424は、ステップS23からステップS24までの動作を、特徴データセット412に含まれる複数の特徴データDVを対象に繰り返す(ステップS25)。上述したように、特徴データセット412には、R個の特徴データDVからDVが含まれている。このため、検索部424は、R個の特徴データDVからDVに夫々対応するR個の潜在ベクトルZVからZVと潜在ベクトルZQとの間のR個の距離d(i,j)の算出が完了するまで、特徴データセット412に含まれる複数の特徴データDVの中から、ステップS23において未だ抽出されたことがない一の特徴データDVを新たに抽出した上で、ステップS23からステップS24までの動作を繰り返す。具体的には、検索部424は、特徴データDVに対応する潜在ベクトルZVと潜在ベクトルZQとの間の距離d(i,j)と、特徴データDVに対応する潜在ベクトルZVと潜在ベクトルZQとの間の距離d(i,j)と、・・・、特徴データDVに対応する潜在ベクトルZVと潜在ベクトルZQとの間の距離d(i,j)との算出が完了するまで、ステップS23からステップS24までの動作を繰り返す。
 その後、検索部424は、ステップS24で算出した距離d(i,j)に基づいて、特徴データセット412に含まれる複数の特徴データDVのうちのN個の特徴データDVを、夫々、N個の近傍データDNからDNとして抽出する(ステップS26)。具体的には、検索部424は、R個の特徴データDVの中から、他のR-N個の特徴データDVと比較して、潜在空間におけるクエリデータDQからの距離が短いN個の特徴データDVを、夫々、N個の近傍データDNからDNとして抽出する。つまり、検索部424は、R個の特徴データDVの中から、算出した距離が短い順にN個の特徴データDVを抽出し、抽出したN個の特徴データDVを夫々N個の近傍データDNからDNに設定する。
 その後、出力制御部425は、ステップS26で検索部424が抽出したN個の近傍データDNからDNの少なくとも一つに関する情報を出力するように、出力装置44を制御してもよい(ステップS27)。尚、近傍データDNに関する情報は、近傍データDNの特徴ベクトルXVを算出する根拠となったプロキシログデータ4111に関する情報を含んでいてもよい。つまり、出力制御部425は、ステップS26で検索部424が抽出したN個の近傍データDNからDNの少なくとも一つに対応するプロキシログデータ4111に関する情報を出力するように、出力装置44を制御してもよい。
 (2-3)情報処理装置4の技術的効果
 以上説明したように、情報処理装置4は、抽出定義情報414に含まれる抽出指定情報4142に基づいてベクトルペアXVPを抽出し、抽出したベクトルペアXVPと抽出定義情報414に含まれる損失情報4143とに基づいて計量学習を行う。このため、抽出指定情報4142及び損失情報4143を含む抽出定義情報414を用いることなくベクトルペアXVPを抽出し且つ計量学習を行う比較例の情報処理装置と比較して、情報処理装置4は、一般的なユーザが二つのデータに対して抱く類似性の感覚を反映した計量学習を行うことができる。
 例えば、上述したように、異なる抽出条件を含む複数の抽出指定情報4142に基づいてベクトルペアXVPを抽出する。特に、抽出定義情報414は、異なる三つの抽出条件を夫々指定する三つの抽出指定情報4142を少なくとも含む。このため、情報処理装置4は、最も類似している第1のベクトルペアXVPと最も類似していない第2のベクトルペアXVPとに加えて、第1のベクトルペアXVPほどには類似していないものの第2のベクトルペアXVPよりは類似している中間的な第3のベクトルペアXVPをも、教師データ4130の少なくとも一部として抽出することができる。このため、情報処理装置4は、第1のベクトルペアXVPほどには類似していないものの第2のベクトルペアXVPよりは類似している第3のベクトルペアXVPに対して一般的なユーザが抱く類似性の感覚を反映した計量学習を行うことができる。
 また、例えば、上述したように、情報処理装置4は、正例ペアとして抽出されるベクトルペアXVPの間で一致する(或いは、類似性が相対的に高い、以下同じ)属性ラベルALの種類の数が多くなるほど大きくなる重みwを指定する損失情報4143を用いて、損失Lを算出することができる。更に、情報処理装置4は、負例ペアとして抽出されるベクトルペアXVPの間で一致しない(或いは、類似性が相対的に低い、以下同じ)属性ラベルALの種類の数が多くなるほど大きくなる重みwを指定する損失情報4143を用いて、損失Lを算出することができる。このため、情報処理装置4は、一致する属性ラベルALの種類の数が多いがゆえにより一層類似していると想定されるベクトルペアXVPの間の距離d(i,j)が優先的に短くなるように、計量学習を行うことができる。同様に、情報処理装置4は、一致しない属性ラベルALの種類の数が多いがゆえにより一層類似していないと想定されるベクトルペアXVPの距離d(i,j)が優先的に長くなるように、計量学習を行うことができる。つまり、情報処理装置4は、二つのデータに対して一般的なユーザが抱く類似性の感覚を反映した計量学習を行うことができる。
 また、最も類似している第1のベクトルペアXVPと最も類似していない第2のベクトルペアXVPと中間的な第3のベクトルペアXVPとが教師データ4130として抽出される場合、典型的には、第1のベクトルペアXVPの数及び第2のベクトルペアXVPの数の夫々は、第3のベクトルペアXVPの数よりも少なくなることが多い。この場合、仮に重みwが固定されていると仮定すると、抽出されたベクトルペアXVPの数の多寡に起因して、第3のベクトルペアXVPに関する損失Lcの寄与度が、第1のベクトルペアXVPに関する損失Lcの寄与度よりも大きくなってしまう可能性がある。その結果、一致する属性ラベルALの種類の数が相対的に多い第1のベクトルペアXVPの間の距離d(i,j)よりも、一致する属性ラベルALの種類の数が相対的に少ない第3のベクトルペアXVPの間の距離d(i,j)が優先的に短くなるように、計量学習が行われる可能性がある。同様に、仮に重みwが固定されていると仮定すると、抽出されたベクトルペアXVPの数の多寡に起因して、第3のベクトルペアXVに関する損失Lcの寄与度が、第2のベクトルペアXVに関する損失Lcの寄与度よりも大きくなってしまう可能性がある。その結果、一致しない属性ラベルALの種類の数が相対的に多い第2のベクトルペアXVPの間の距離d(i,j)よりも、一致しない属性ラベルALの種類の数が相対的に少ない第3のベクトルペアXVPの間の距離d(i,j)が優先的に長くなるように、計量学習が行われる可能性がある。しかるに、第2実施形態では、正例ペアとして抽出されるベクトルペアXVPの間で一致する属性ラベルALの種類の数が多くなるほど、重みwが大きくなり、且つ、負例ペアとして抽出されるベクトルペアXVPの間で一致しない属性ラベルALの種類の数が多くなるほど、重みwが大きくなる。このため、第3のベクトルペアXVPに関する損失Lcの寄与度が、第1のベクトルペアXVPに関する損失Lcの寄与度及び第2のベクトルペアXVPに関する損失Lcの寄与度よりも大きくなってしまう可能性は低くなる。つまり、ベクトルペアXVPの数の多寡が計量学習に対して与える影響が軽減される。
 また、例えば、上述したように、情報処理装置4は、正例ペアとして抽出されるベクトルペアXVPの間で一致する(或いは、類似性が相対的に高い、以下同じ)属性ラベルALの種類の数が多くなるほど小さくなるマージンmを指定する損失情報4143を用いて、損失Lを算出することができる。更に、情報処理装置4は、負例ペアとして抽出されるベクトルペアXVPの間で一致しない(或いは、類似性が相対的に低い、以下同じ)属性ラベルALの種類の数が多くなるほど大きくなるマージンmを指定する損失情報4143を用いて、損失Lを算出することができる。このため、情報処理装置4は、一致する属性ラベルALの種類の数が多いがゆえにより一層類似していると想定されるベクトルペアXVPの間の距離d(i,j)がより一層短くなるように、計量学習を行うことができる。同様に、情報処理装置4は、一致しない属性ラベルALの種類の数が多いがゆえにより一層類似していないと想定されるベクトルペアXVPの距離d(i,j)がより一層長くなるように、計量学習を行うことができる。つまり、情報処理装置4は、二つのデータに対して一般的なユーザが抱く類似性の感覚を反映した計量学習を行うことができる。
 (2-4)変形例
 第2実施形態では、通信システムSYS2は、プロキシサーバ1を備えている。しかしながら、通信システムSYS2は、プロキシサーバ1を備えていなくてもよい。つまり、クライアント2は、プロキシサーバ1を介することなく、サーバ3と通信してもよい。サーバ3は、プロキシサーバ1を介することなく、クライアント2と通信してもよい。この場合であっても、情報処理装置4は、クライアント2とサーバ3との間の通信の履歴を示すログデータを用いて、上述した脅威検出動作を行ってもよい。
 上述した説明では、脅威検出動作を行う通信システムSYS2に対して、情報処理装置、情報処理方法、及び、記録媒体の実施形態が適用されている。しかしながら、任意のデータを取り扱う任意のデータ処理装置に対して、情報処理装置、情報処理方法、及び、記録媒体の実施形態が適用されてもよい。この場合であっても、データ処理装置が取り扱う複数のデータの間の距離をベクトル空間内で定義可能である限りは、データ処理装置は、上述したモデル生成動作を行ってもよい。同様に、データ処理装置が取り扱う複数のデータの間の距離をベクトル空間内で定義可能である限りは、データ処理装置は、上述した脅威検出動作に準じたデータ検出動作を行ってもよい。尚、データ検出動作は、潜在空間内でクエリデータDQの近傍に位置するデータに相当する近傍データDNを検出する処理を含んでいてもよい。このようなデータ処理装置が取り扱うデータの一例として、リスト化可能なデータ、データベース化可能なデータ、及び、テーブル化可能なデータのうちの少なくとも一つがあげられる。
 (3)第3実施形態
 続いて、情報処理装置、情報処理方法、及び、記録媒体の第3実施形態について説明する。以下では、情報処理装置、情報処理方法、及び、記録媒体の第3実施形態が適用された通信システムSYS3を用いて、情報処理装置、情報処理方法、及び、記録媒体の第3実施形態について説明する。
 第3実施形態の通信システムSYS3は、計量学習を行うために用いられるニューラルネットワークとしてトリプレットネットワークが用いられるという点で、シャムネットワークが用いられる上述した第2実施形態の通信システムSYS2とは異なる。通信システムSYS3のその他の特徴は、通信システムSYS2のその他の特徴と同一であってもよい。このため、以下では、通信システムSYS2とは異なる構成要素及び動作を中心に、通信システムSYS3について説明する。以下で説明しない構成要素及び動作については、通信システムSYS2の構成要素及び動作と同一であってもよい。
 まず、図12を参照しながら、トリプレットネットワークを用いた計量学習について説明する。図12は、トリプレットネットワークPMのモデル構造を概念的に示す。図12に示すように、トリプレットネットワークPMは、変換モデルTM3から変換モデルTM5を含む。変換モデルTM3からTM5は、同一である。例えば、変換モデルTM3からTM5は、パラメータが同一となる二つのニューラルネットワークである。変換モデルTM3からTM5は、変換モデルTMと同様に、特徴ベクトルXVを潜在ベクトルZVに変換可能である。計量学習が行われる場合には、計量学習部422は、変換モデルTM3からTM5に、三つの特徴ベクトルXV(つまり、特徴ベクトルXVのトリオであり、以降、“ベクトルトリプルXVT”と称する)を夫々入力する。このため、第3実施形態では、教師データ4130は、ベクトルペアXVPに関するベクトル情報4131に代えて、ベクトルトリプルXVTに関するベクトル情報4131を含む。ベクトルトリプルXVTを構成する三つの特徴ベクトルXVを、以降の説明では、夫々、“特徴ベクトルXV”、“特徴ベクトルXV”及び“特徴ベクトルXV”と称する。尚、「k」は、1≦k≦R(つまり、特徴ベクトルXVの総数)を満たし且つ変数i及びjとは異なる整数を示す変数である。特徴ベクトルXVは、アンカーベクトルに相当する。特徴ベクトルXVは、特徴ベクトルXVと共に正例ペアを構成する。特徴ベクトルXVは、特徴ベクトルXVと共に負例ペアを構成する。この場合、計量学習部422は、特徴ベクトルXVを変換モデルTM3に入力し、特徴ベクトルXVを変換モデルTM4に入力し、特徴ベクトルXVを変換モデルTM5に入力する。その結果、変換モデルTM3は、潜在ベクトルZVを出力し、変換モデルTM4は、潜在ベクトルZVを出力し、変換モデルTM5は、潜在ベクトルZVを出力する。その後、計量学習部422は、潜在ベクトルZVと潜在ベクトルZVとの間の距離d(i,j)(つまり、正例ペアの距離)及び潜在ベクトルZVと潜在ベクトルZVとの間の距離d(i,k)(つまり、負例ペアの距離)を算出する。同様の動作を、計量学習部422は、教師データセット413に含まれる複数の教師データ4130を用いて繰り返す。その後、計量学習部422は、複数の教師データ4130を用いて夫々算出された複数の距離d(i,j)及び複数の距離d(i,k)に基づいて損失Lを算出し、損失Lに基づいて、正例データに相当する教師データ4130を用いて算出された距離d(i,j)が相対的に短くなり、且つ、負例データに相当する教師データ4130を用いて算出された距離d(i,k)が相対的に長くなるように、変換モデルTM3からTM5を更新する。その結果生成された変換モデルTM3(或いは、変換モデルTM4又はTM5)が、変換モデルTMとして用いられる。
 このような第3実施形態では、データ抽出部423は、図7に示す抽出定義情報414に代えて、図13に示す抽出定義情報414’に基づいて、特徴データセット412からベクトルトリプルXVTを、教師データ4130の少なくとも一部として抽出する。更に、計量学習部422は、図7に示す抽出定義情報414に代えて、図13に示す抽出定義情報414’に基づいて、損失Lを算出する。
 具体的には、図13に示すように、抽出定義情報414’は、複数の抽出定義データ4140’を含む。各抽出定義データ4140’は、定義識別子4141と、抽出指定情報4142’と、損失情報4143’とを含む。
 抽出指定情報4142’は、ベクトルトリプルXVTを抽出するための抽出条件を指定するという点で、ベクトルペアXVPを抽出するための抽出条件を指定する上述した抽出指定情報4142と比較して異なる。図13に示すように、抽出指定情報4142’は、ベクトルトリプルXVTのうちの正例ペアとして用いられる二つの特徴ベクトルXV(つまり、特徴ベクトルXV及び特徴ベクトルXV)を抽出するための抽出条件と、ベクトルトリプルXVTのうちの負例ペアとして用いられる二つの特徴ベクトルXV(つまり、特徴ベクトルXV及び特徴ベクトルXV)を抽出するための抽出条件とを指定する。抽出指定情報4142’のその他の特徴は、抽出指定情報4142のその他の特徴と同一であってもよい。データ抽出部423は、このような抽出指定情報4142’に基づいて、ベクトルトリプルXVT(つまり、特徴ベクトルXV、特徴ベクトルXV及び特徴ベクトルXV)を抽出する。
 損失情報4143’は、教師ラベルyを含んでいなくてもよいという点で、上述した抽出指定情報4142と比較して異なる。なぜならば、第3実施形態では、抽出指定情報4142’に基づいて正例ペア及び負例ペアを含むベクトルトリプルXVTが抽出されるため、ベクトルトリプルXVTが正例ペアを含むのか否か及びベクトルトリプルXVTが負例ペアを含むのか否かを示すラベルは不要だからである。損失情報4143’のその他の特徴は、損失情報4143のその他の特徴と同一であってもよい。
 第3実施形態では、損失Lc#qとして、Triplet Lossに準拠した損失が用いられてもよい。Triplet Lossに準拠した損失Lc#qの一例が、数式2に示されている。数式2における「Tc#q」は、抽出指定情報4142’#qに基づいて抽出されたベクトルトリプルXVTの集合を示す。数式2における「(i,j,k)」は、抽出指定情報4142’#qに基づいて抽出されたベクトルトリプルXVT(具体的には、特徴ベクトルXV、特徴ベクトルXV及び特徴ベクトルXVのセット)を示している。上述したように、特徴ベクトルXV及び特徴ベクトルXVは、正例ペアに相当し、特徴ベクトルXV及び特徴ベクトルXVは、負例ペアに相当する。
Figure JPOXMLDOC01-appb-M000002

 Triplet Lossに準拠した損失Lc#qが用いられる場合、距離d(i,k)が距離d(i,j)よりもマージンm以上離れていない場合に損失が発生する。このため、損失が発生した場合には、距離d(i,k)が長くなり且つ距離d(i,j)が短くなるように、変換モデルTM3からTM5が更新される。
 このような第3実施形態の通信システムSYS3もまた、上述した第2実施形態の通信システムSYS2が享受可能な効果と同様の効果を享受することができる。つまり、第3実施形態の情報処理装置4もまた、上述した第2実施形態の情報処理装置4が享受可能な効果と同様の効果を享受することができる。
 特に、第3実施形態においても、ベクトルトリプルXVTに含まれる正例ペアに夫々割り当てられた二つの属性ラベル群ALGの間の類似性及びベクトルトリプルXVTに含まれる負例ペアに夫々割り当てられた二つの属性ラベル群ALGの間の類似性に基づいて、マージンmが指定される。例えば、図13に示すように、高類似ラベル群ペアALGpが夫々付与された正例ペア及び低類似ラベル群ペアALGnが夫々付与された負例ペアを含むベクトルトリプルXVTに対応するマージンmが、中間類似ラベル群ペアALGiが夫々付与された正例ペア及び負例ペアの少なくとも一つを含むベクトルトリプルXVTに対応するマージンmよりも大きくなるように、マージンmが指定される。この場合、情報処理装置4は、高類似ラベル群ペアALGpが夫々付与された正例ペアの間の距離が、中間類似ラベル群ペアALGiが夫々付与された正例ペアの間の距離よりも優先的に短くなるように、計量学習を行うことができる。同様に、情報処理装置4は、低類似ラベル群ペアALGnが夫々付与された負例ペアの間の距離が、中間類似ラベル群ペアALGiが夫々付与された負例ペアの間の距離よりも優先的に長くなるように、計量学習を行うことができる。
 (4)付記
 以上説明した実施形態に関して、更に以下の付記を開示する。
[付記1]
 複数種類の属性ラベルを含む属性ラベル群が割り当てられた特徴ベクトルを複数含む特徴データセットから、少なくとも二つの特徴ベクトルを教師データの少なくとも一部として抽出する抽出手段と、
 前記教師データを用いて、前記特徴ベクトルを変換可能な変換モデルを生成するための計量学習を行う学習手段と、
 前記抽出手段が前記少なくとも二つの特徴ベクトルを抽出するための抽出条件を、前記少なくとも二つの特徴ベクトルに夫々割り当てられた少なくとも二つの前記属性ラベル群の間の関係によって指定する抽出指定情報と、前記抽出指定情報に基づいて抽出された前記教師データに関する損失を定義する損失情報とを含む定義データを複数格納する格納手段と
 を備え、
 前記抽出手段は、前記抽出指定情報に基づいて、前記少なくとも二つの特徴ベクトルを前記教師データの少なくとも一部として抽出し、
 前記学習手段は、前記損失情報に基づいて前記損失を算出し、算出した前記損失に基づいて前記計量学習を行う
 情報処理装置。
[付記2]
 前記格納手段には、
 少なくとも二つの第1の特徴ベクトルを、正例データに相当する第1の教師データの少なくとも一部として抽出するという第1の抽出条件を指定する第1の抽出指定情報と、前記第1の教師データに関する第1の損失を定義する第1の損失情報とを含む第1の定義データと、
 少なくとも二つの第2の特徴ベクトルを、負例データに相当する第2の教師データの少なくとも一部として抽出するという第2の抽出条件を指定する第2の抽出指定情報と、前記第2の教師データに関する第2の損失を定義する第2の損失情報とを含む第2の定義データと、
 少なくとも二つの第3の特徴ベクトルを、正例データ又は負例データに相当する第3の教師データの少なくとも一部として抽出するという第3の抽出条件を指定する第3の抽出指定情報と、前記第3の教師データに関する第3の損失を定義する第3の損失情報とを含む第3の定義データと
 が格納されており、
 前記少なくとも二つの第1の特徴ベクトルに夫々割り当てられた少なくとも二つの第1の属性ラベル群の類似性は、前記少なくとも二つの第2の特徴ベクトルに夫々割り当てられた少なくとも二つの第2の属性ラベル群の類似性及び前記少なくとも二つの第3の特徴ベクトルに夫々割り当てられた少なくとも二つの第3の属性ラベル群の類似性の夫々よりも高く、
 前記少なくとも二つの第2の属性ラベル群の類似性は、前記少なくとも二つの第1の属性ラベル群の類似性及び前記少なくとも二つの第3の属性ラベル群の類似性の夫々よりも低く、
 前記少なくとも二つの第3の属性ラベル群の類似性は、前記少なくとも二つの第1の属性ラベル群の類似性よりも低く、且つ、前記少なくとも二つの第2の属性ラベル群の類似性よりも高い
 付記1に記載の情報処理装置。
[付記3]
 前記抽出手段は、(i)前記第1の抽出指定情報に基づいて、前記少なくとも二つの第1の特徴ベクトルを前記第1の教師データの少なくとも一部として抽出し、(ii)前記第2の抽出指定情報に基づいて、前記少なくとも二つの第1の特徴ベクトルを前記第2の教師データの少なくとも一部として抽出し、(iii)前記第3の抽出指定情報に基づいて、前記少なくとも二つの第3の特徴ベクトルを前記第3の教師データの少なくとも一部として抽出し、
 前記学習手段は、(i)前記第1の教師データと前記第1の損失情報とに基づいて前記第1の損失を算出し、(ii)前記第2の教師データと前記第2の損失情報とに基づいて前記第2の損失を算出し、(iii)前記第3の教師データと前記第3の損失情報とに基づいて前記第3の損失を算出し、(iv)算出した前記第1から第3の損失に基づいて前記計量学習を行う
 付記2に記載の情報処理装置。
[付記4]
 前記第1から第3の損失情報は、夫々、前記第1から第3の損失のマージンを定義しており、
 前記第3の抽出指定情報が、前記少なくとも二つの第3の特徴ベクトルを、正例データに相当する前記第3の教師データの少なくとも一部として抽出するという前記第3の抽出条件を指定している場合には、前記第3の損失のマージンは、前記第1の損失のマージンよりも大きく、
 前記第3の抽出指定情報が、前記少なくとも二つの第3の特徴ベクトルを、負例データに相当する前記第3の教師データとして抽出するという前記第3の抽出条件を指定している場合には、前記第3の損失のマージンは、前記第2の損失のマージンよりも小さい
 付記2又は3に記載の情報処理装置。
[付記5]
 前記損失情報は、前記損失のマージンを定義する
 付記1から4のいずれか一項に記載の情報処理装置。
[付記6]
 前記損失情報は、正例データに相当する前記教師データに含まれる前記少なくとも二つの特徴ベクトルに夫々割り当てられた前記少なくとも二つの属性ラベル群の類似性が高くなるほど、当該少なくとも二つの特徴ベクトルの間の距離が前記計量学習によって近くなるように、前記マージンを定義し、前記損失情報は、負例データに相当する前記教師データに含まれる前記少なくとも二つの特徴ベクトルに夫々割り当てられた前記少なくとも二つの属性ラベル群の類似性が低くなるほど、当該少なくとも二つの特徴ベクトルの間の距離が前記計量学習によって遠くなるように、前記マージンを定義する
 付記5に記載の情報処理装置。
[付記7]
 前記損失情報は、前記損失の重みを定義する
 付記1から6のいずれか一項に記載の情報処理装置。
[付記8]
 前記損失情報は、正例データに相当する前記教師データに含まれる前記少なくとも二つの特徴ベクトルに夫々割り当てられた前記少なくとも二つの属性ラベル群の類似性が高くなるほど、当該少なくとも二つの特徴ベクトルの間の距離が前記計量学習によって近くなるように、前記重みを定義し、前記損失情報は、負例データに相当する前記教師データに含まれる前記少なくとも二つの特徴ベクトルに夫々割り当てられた前記少なくとも二つの属性ラベル群の類似性が低くなるほど、当該少なくとも二つの特徴ベクトルの間の距離が前記計量学習によって遠くなるように、前記重みを定義するする
 付記7に記載の情報処理装置。
[付記9]
 複数種類の属性ラベルを含む属性ラベル群が割り当てられた特徴ベクトルを複数含む特徴データセットから、少なくとも二つの特徴ベクトルが教師データの少なくとも一部として抽出される抽出工程と、
 前記教師データを用いて、前記特徴ベクトルを変換可能な変換モデルを生成するための計量学習が行われる学習工程と
 を含み、
 格納手段に、前記抽出工程において前記少なくとも二つの特徴ベクトルを抽出するための抽出条件を、前記少なくとも二つの特徴ベクトルに夫々割り当てられた少なくとも二つの前記属性ラベル群の間の関係によって指定する抽出指定情報と、前記抽出指定情報に基づいて抽出された前記教師データに関する損失を定義する損失情報とを含む定義データが複数格納されており、
 前記抽出工程では、前記抽出指定情報に基づいて、前記少なくとも二つの特徴ベクトルが前記教師データの少なくとも一部として抽出され、
 前記学習工程では、前記損失情報に基づいて前記損失が算出され、算出された前記損失に基づいて前記計量学習が行われる
 情報処理方法。
[付記10]
 コンピュータに、
 複数種類の属性ラベルを含む属性ラベル群が割り当てられた特徴ベクトルを複数含む特徴データセットから、少なくとも二つの特徴ベクトルが教師データの少なくとも一部として抽出される抽出工程と、
 前記教師データを用いて、前記特徴ベクトルを変換可能な変換モデルを生成するための計量学習が行われる学習工程と
 を含み、
 格納手段に、前記抽出工程において前記少なくとも二つの特徴ベクトルを抽出するための抽出条件を、前記少なくとも二つの特徴ベクトルに夫々割り当てられた少なくとも二つの前記属性ラベル群の間の関係によって指定する抽出指定情報と、前記抽出指定情報に基づいて抽出された前記教師データに関する損失を定義する損失情報とを含む定義データが複数格納されており、
 前記抽出工程では、前記抽出指定情報に基づいて、前記少なくとも二つの特徴ベクトルが前記教師データの少なくとも一部として抽出され、
 前記学習工程では、前記損失情報に基づいて前記損失が算出され、算出された前記損失に基づいて前記計量学習が行われる
 情報処理方法を実行させるコンピュータプログラムが記録された記録媒体。
 本発明は、請求の範囲及び明細書全体から読み取るこのできる発明の要旨又は思想に反しない範囲で適宜変更可能であり、そのような変更を伴う情報処理装置、情報処理方法、及び、記録媒体もまた本発明の技術思想に含まれる。
 SYS2、SYS3 通信システム
 1 プロキシサーバ
 2 クライアント
 3 サーバ
 4 情報処理装置
 41 記憶装置
 411 プロキシログDB
 4111 プロキシログデータ
 412 特徴データセット
 413 教師データセット
 4130 教師データ
 414 抽出定義情報
 4140 抽出定義データ
 4141 定義識別子
 4142 抽出指定情報
 4143 損失情報
 415 条件定義テーブル
 4150 条件定義データ
 4151 条件識別子
 4152 属性関係情報
 42 演算装置
 421 特徴抽出部
 422 計量学習部
 423 データ抽出部
 424 検索部
 TM 変換モデル
 DQ クエリデータ
 DV 特徴データ
 DN 近傍データ
 XQ、XV 特徴ベクトル
 ZQ、ZV 潜在ベクトル
 AL 属性ラベル
 ALc クライアントラベル
 ALs サーバラベル
 ALd 通信日ラベル
 ALG 属性ラベル群

Claims (10)

  1.  複数種類の属性ラベルを含む属性ラベル群が割り当てられた特徴ベクトルを複数含む特徴データセットから、少なくとも二つの特徴ベクトルを教師データの少なくとも一部として抽出する抽出手段と、
     前記教師データを用いて、前記特徴ベクトルを変換可能な変換モデルを生成するための計量学習を行う学習手段と、
     前記抽出手段が前記少なくとも二つの特徴ベクトルを抽出するための抽出条件を、前記少なくとも二つの特徴ベクトルに夫々割り当てられた少なくとも二つの前記属性ラベル群の間の関係によって指定する抽出指定情報と、前記抽出指定情報に基づいて抽出された前記教師データに関する損失を定義する損失情報とを含む定義データを複数格納する格納手段と
     を備え、
     前記抽出手段は、前記抽出指定情報に基づいて、前記少なくとも二つの特徴ベクトルを前記教師データの少なくとも一部として抽出し、
     前記学習手段は、前記損失情報に基づいて前記損失を算出し、算出した前記損失に基づいて前記計量学習を行う
     情報処理装置。
  2.  前記格納手段には、
     少なくとも二つの第1の特徴ベクトルを、正例データに相当する第1の教師データの少なくとも一部として抽出するという第1の抽出条件を指定する第1の抽出指定情報と、前記第1の教師データに関する第1の損失を定義する第1の損失情報とを含む第1の定義データと、
     少なくとも二つの第2の特徴ベクトルを、負例データに相当する第2の教師データの少なくとも一部として抽出するという第2の抽出条件を指定する第2の抽出指定情報と、前記第2の教師データに関する第2の損失を定義する第2の損失情報とを含む第2の定義データと、
     少なくとも二つの第3の特徴ベクトルを、正例データ又は負例データに相当する第3の教師データの少なくとも一部として抽出するという第3の抽出条件を指定する第3の抽出指定情報と、前記第3の教師データに関する第3の損失を定義する第3の損失情報とを含む第3の定義データと
     が格納されており、
     前記少なくとも二つの第1の特徴ベクトルに夫々割り当てられた少なくとも二つの第1の属性ラベル群の類似性は、前記少なくとも二つの第2の特徴ベクトルに夫々割り当てられた少なくとも二つの第2の属性ラベル群の類似性及び前記少なくとも二つの第3の特徴ベクトルに夫々割り当てられた少なくとも二つの第3の属性ラベル群の類似性の夫々よりも高く、
     前記少なくとも二つの第2の属性ラベル群の類似性は、前記少なくとも二つの第1の属性ラベル群の類似性及び前記少なくとも二つの第3の属性ラベル群の類似性の夫々よりも低く、
     前記少なくとも二つの第3の属性ラベル群の類似性は、前記少なくとも二つの第1の属性ラベル群の類似性よりも低く、且つ、前記少なくとも二つの第2の属性ラベル群の類似性よりも高い
     請求項1に記載の情報処理装置。
  3.  前記抽出手段は、(i)前記第1の抽出指定情報に基づいて、前記少なくとも二つの第1の特徴ベクトルを前記第1の教師データの少なくとも一部として抽出し、(ii)前記第2の抽出指定情報に基づいて、前記少なくとも二つの第1の特徴ベクトルを前記第2の教師データの少なくとも一部として抽出し、(iii)前記第3の抽出指定情報に基づいて、前記少なくとも二つの第3の特徴ベクトルを前記第3の教師データの少なくとも一部として抽出し、
     前記学習手段は、(i)前記第1の教師データと前記第1の損失情報とに基づいて前記第1の損失を算出し、(ii)前記第2の教師データと前記第2の損失情報とに基づいて前記第2の損失を算出し、(iii)前記第3の教師データと前記第3の損失情報とに基づいて前記第3の損失を算出し、(iv)算出した前記第1から第3の損失に基づいて前記計量学習を行う
     請求項2に記載の情報処理装置。
  4.  前記第1から第3の損失情報は、夫々、前記第1から第3の損失のマージンを定義しており、
     前記第3の抽出指定情報が、前記少なくとも二つの第3の特徴ベクトルを、正例データに相当する前記第3の教師データの少なくとも一部として抽出するという前記第3の抽出条件を指定している場合には、前記第3の損失のマージンは、前記第1の損失のマージンよりも大きく、
     前記第3の抽出指定情報が、前記少なくとも二つの第3の特徴ベクトルを、負例データに相当する前記第3の教師データとして抽出するという前記第3の抽出条件を指定している場合には、前記第3の損失のマージンは、前記第2の損失のマージンよりも小さい
     請求項2又は3に記載の情報処理装置。
  5.  前記損失情報は、前記損失のマージンを定義する
     請求項1から4のいずれか一項に記載の情報処理装置。
  6.  前記損失情報は、正例データに相当する前記教師データに含まれる前記少なくとも二つの特徴ベクトルに夫々割り当てられた前記少なくとも二つの属性ラベル群の類似性が高くなるほど、当該少なくとも二つの特徴ベクトルの間の距離が前記計量学習によって近くなるように、前記マージンを定義し、
     前記損失情報は、負例データに相当する前記教師データに含まれる前記少なくとも二つの特徴ベクトルに夫々割り当てられた前記少なくとも二つの属性ラベル群の類似性が低くなるほど、当該少なくとも二つの特徴ベクトルの間の距離が前記計量学習によって遠くなるように、前記マージンを定義する
     請求項5に記載の情報処理装置。
  7.  前記損失情報は、前記損失の重みを定義する
     請求項1から6のいずれか一項に記載の情報処理装置。
  8.  前記損失情報は、正例データに相当する前記教師データに含まれる前記少なくとも二つの特徴ベクトルに夫々割り当てられた前記少なくとも二つの属性ラベル群の類似性が高くなるほど、当該少なくとも二つの特徴ベクトルの間の距離が前記計量学習によって近くなるように、前記重みを定義し、
     前記損失情報は、負例データに相当する前記教師データに含まれる前記少なくとも二つの特徴ベクトルに夫々割り当てられた前記少なくとも二つの属性ラベル群の類似性が低くなるほど、当該少なくとも二つの特徴ベクトルの間の距離が前記計量学習によって遠くなるように、前記重みを定義する
     請求項7に記載の情報処理装置。
  9.  複数種類の属性ラベルを含む属性ラベル群が割り当てられた特徴ベクトルを複数含む特徴データセットから、少なくとも二つの特徴ベクトルが教師データの少なくとも一部として抽出される抽出工程と、
     前記教師データを用いて、前記特徴ベクトルを変換可能な変換モデルを生成するための計量学習が行われる学習工程と
     を含み、
     格納手段に、前記抽出工程において前記少なくとも二つの特徴ベクトルを抽出するための抽出条件を、前記少なくとも二つの特徴ベクトルに夫々割り当てられた少なくとも二つの前記属性ラベル群の間の関係によって指定する抽出指定情報と、前記抽出指定情報に基づいて抽出された前記教師データに関する損失を定義する損失情報とを含む定義データが複数格納されており、
     前記抽出工程では、前記抽出指定情報に基づいて、前記少なくとも二つの特徴ベクトルが前記教師データの少なくとも一部として抽出され、
     前記学習工程では、前記損失情報に基づいて前記損失が算出され、算出された前記損失に基づいて前記計量学習が行われる
     情報処理方法。
  10.  コンピュータに、
     複数種類の属性ラベルを含む属性ラベル群が割り当てられた特徴ベクトルを複数含む特徴データセットから、少なくとも二つの特徴ベクトルが教師データの少なくとも一部として抽出される抽出工程と、
     前記教師データを用いて、前記特徴ベクトルを変換可能な変換モデルを生成するための計量学習が行われる学習工程と
     を含み、
     格納手段に、前記抽出工程において前記少なくとも二つの特徴ベクトルを抽出するための抽出条件を、前記少なくとも二つの特徴ベクトルに夫々割り当てられた少なくとも二つの前記属性ラベル群の間の関係によって指定する抽出指定情報と、前記抽出指定情報に基づいて抽出された前記教師データに関する損失を定義する損失情報とを含む定義データが複数格納されており、
     前記抽出工程では、前記抽出指定情報に基づいて、前記少なくとも二つの特徴ベクトルが前記教師データの少なくとも一部として抽出され、
     前記学習工程では、前記損失情報に基づいて前記損失が算出され、算出された前記損失に基づいて前記計量学習が行われる
     情報処理方法を実行させるコンピュータプログラムが記録された記録媒体。
PCT/JP2021/016137 2021-04-21 2021-04-21 情報処理装置、情報処理方法、及び、記録媒体 WO2022224371A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2021/016137 WO2022224371A1 (ja) 2021-04-21 2021-04-21 情報処理装置、情報処理方法、及び、記録媒体
JP2023515945A JPWO2022224371A1 (ja) 2021-04-21 2021-04-21

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/016137 WO2022224371A1 (ja) 2021-04-21 2021-04-21 情報処理装置、情報処理方法、及び、記録媒体

Publications (1)

Publication Number Publication Date
WO2022224371A1 true WO2022224371A1 (ja) 2022-10-27

Family

ID=83722126

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/016137 WO2022224371A1 (ja) 2021-04-21 2021-04-21 情報処理装置、情報処理方法、及び、記録媒体

Country Status (2)

Country Link
JP (1) JPWO2022224371A1 (ja)
WO (1) WO2022224371A1 (ja)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LEE, SEONG-WHAN ; LI, STAN Z: "SAT 2015 18th International Conference, Austin, TX, USA, September 24-27, 2015", vol. 5212, 15 September 2008, SPRINGER , Berlin, Heidelberg , ISBN: 3540745491, article NAM NGUYEN; YUNSONG GUO;: "Metric Learning: A Support Vector Approach", pages: 125 - 136, XP019105929, 032548 *

Also Published As

Publication number Publication date
JPWO2022224371A1 (ja) 2022-10-27

Similar Documents

Publication Publication Date Title
EP1739580B1 (en) Categorization including dependencies between different category systems
Sariyar et al. The RecordLinkage package: detecting errors in data.
CN103518187B (zh) 用于信息建模的方法和系统及其应用
US8200695B2 (en) Database for uploading, storing, and retrieving similar documents
WO2021047186A1 (zh) 咨询对话处理的方法、装置、设备及存储介质
Beck et al. Insights from a simple expression for linear fisher information in a recurrently connected population of spiking neurons
JP2021533450A (ja) 機械学習のためのハイパーパラメータの識別および適用
WO2021218069A1 (zh) 基于场景动态配置的交互处理方法、装置、计算机设备
CN108509424B (zh) 制度信息处理方法、装置、计算机设备和存储介质
Avci A new expert system for diagnosis of lung cancer: GDA—LS_SVM
US20230368028A1 (en) Automated machine learning pre-trained model selector
US9177260B2 (en) Information classification device, information classification method, and computer readable recording medium
US20180005248A1 (en) Product, operating system and topic based
Fan et al. Image steganalysis via random subspace fisher linear discriminant vector functional link network and feature mapping
CN101105799A (zh) 评价文件重要性程度的方法
WO2022224371A1 (ja) 情報処理装置、情報処理方法、及び、記録媒体
CN113221570A (zh) 基于线上问诊信息的处理方法、装置、设备及存储介质
Gan et al. Generative adversarial networks with denoising penalty and sample augmentation
KR20200066428A (ko) 행위 기반 룰 처리 장치 및 그 처리 방법
Di et al. Communication‐efficient estimation and inference for high‐dimensional quantile regression based on smoothed decorrelated score
Nguyen et al. Meta-learning and personalization layer in federated learning
JP7420278B2 (ja) 情報処理装置、情報処理方法、及び、記録媒体
CN114385436A (zh) 服务器分组方法、装置、电子设备和存储介质
JP2004326465A (ja) 文書分類用の学習装置、及びこれを用いた文書分類方法並びに文書分類装置
WO2021067447A1 (en) Augmented natural language generation platform

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21937867

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023515945

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21937867

Country of ref document: EP

Kind code of ref document: A1