WO2023100363A1 - モデル学習方法、モデル学習プログラムおよび情報処理装置 - Google Patents

モデル学習方法、モデル学習プログラムおよび情報処理装置 Download PDF

Info

Publication number
WO2023100363A1
WO2023100363A1 PCT/JP2021/044511 JP2021044511W WO2023100363A1 WO 2023100363 A1 WO2023100363 A1 WO 2023100363A1 JP 2021044511 W JP2021044511 W JP 2021044511W WO 2023100363 A1 WO2023100363 A1 WO 2023100363A1
Authority
WO
WIPO (PCT)
Prior art keywords
vector
information
generating
similar
vectors
Prior art date
Application number
PCT/JP2021/044511
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/044511 priority Critical patent/WO2023100363A1/ja
Publication of WO2023100363A1 publication Critical patent/WO2023100363A1/ja

Links

Images

Classifications

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

Definitions

  • the present invention relates to model learning methods and the like.
  • NN Neural Networks
  • NN When using NN, it is possible to perform the above processing by preparing a large amount of training data in advance and performing machine learning on the learning model.
  • a common method of generating teacher data is to manually confirm the relationship between input data and correct labels.
  • the present invention provides a model learning method, a model learning program, and an information processing apparatus capable of inputting/outputting and converting information about illustrations and moving images, scripts, etc. for the purpose.
  • the computer executes the following processing.
  • the computer calculates first vectors based on the text data, and generates first dictionary information in which the first vectors are associated with identification information for distinguishing similar first vectors.
  • the computer calculates a second vector based on the descriptive text of the image or video data, and generates second dictionary information that associates the second vector with identification information that distinguishes similar second vectors.
  • the computer generates teacher data that associates a similar first vector registered in the first dictionary information with a similar second vector registered in the second dictionary information, and based on the teacher data, a learning model to perform machine learning.
  • FIG. 1 is a diagram for explaining the process of generating the first concept index.
  • FIG. 2 is a diagram showing an example of the data structure of a word vector dictionary.
  • FIG. 3A is a diagram showing an example of the data structure of a sentence vector dictionary.
  • FIG. 3B is a diagram showing an example of the first cluster table.
  • FIG. 4 is a diagram for explaining the process of generating the second concept index.
  • FIG. 5 is a diagram for explaining script data.
  • FIG. 6 is a diagram showing an example of the data structure of an object vector dictionary.
  • FIG. 7A is a diagram showing an example of the data structure of a video vector dictionary.
  • FIG. 7B is a diagram showing an example of the second cluster table.
  • FIG. 8 is a diagram (1) for explaining the processing of the generation phase.
  • FIG. 8 is a diagram (1) for explaining the processing of the generation phase.
  • FIG. 9 is a diagram (2) for explaining the processing of the generation phase.
  • FIG. 10 is a diagram (3) for explaining the processing of the generation phase.
  • FIG. 11 is a diagram for explaining processing in the learning phase.
  • FIG. 12 is a diagram for explaining processing in the execution phase.
  • FIG. 13 is a functional block diagram showing the configuration of the information processing apparatus according to this embodiment.
  • FIG. 14 is a flowchart (1) showing the processing procedure of the information processing apparatus according to the embodiment.
  • FIG. 15 is a flowchart (2) showing the processing procedure of the information processing apparatus according to the present embodiment.
  • FIG. 16 is a diagram for explaining other processing of the information processing device.
  • FIG. 17 is a diagram illustrating an example of a hardware configuration of a computer that implements functions similar to those of the information processing apparatus.
  • the processing of the information processing apparatus includes each processing of preparation phase, generation phase, learning phase, and execution phase. Each process of the preparation phase, generation phase, learning phase, and execution phase will be described below.
  • the preparation phase includes processing for generating a first concept index and processing for generating a second concept index.
  • FIG. 1 is a diagram for explaining the process of generating the first concept index.
  • the information processing device registers the input text 10 in the text DB 50.
  • FIG. The information processing device performs morphological analysis on the input text 10 and divides it into a plurality of words. For example, “Kids like amusement parks.” is divided into “Kids”, “ha”, “amusement parks”, “ga”, “likes", and “.”.
  • the information processing device sets the relationship between the type of word and the position (offset) of the word from the beginning in the text DB 50 in the word index 60a. For example, the offset of the first word is "0", the offset of the second word is "1", and the offset of the nth word is "n-1".
  • the information processing device assigns a word vector to each word included in the input text 10 subjected to morphological analysis.
  • word vectors are referred to as "word vectors”.
  • the information processing device sets the relationship between the word vector of the word and the offset of the word from the beginning in the text DB 50 in the word vector index 60b.
  • the word vector dictionary D1 is a dictionary that defines word vectors.
  • FIG. 2 is a diagram showing an example of the data structure of a word vector dictionary. As shown in FIG. 2, this word vector dictionary D1 associates words, compression codes, and word vectors. Note that word vectors are represented by floating-point numbers of multiple dimensions.
  • vectors corresponding to words are assigned in advance by Poincare embedding or the like.
  • word (compression code) vector may be specified based on other conventional techniques.
  • Poincaré embedding for example, the technology described in the non-patent document "Valentin Khrulkov1 et al. "Hyperbolic Image Embeddings” Georgia University, 2019 April 3" may be used.
  • a vector is assigned according to the embedded position in the Poincare space, and the more similar the information, the closer the information is embedded.
  • the information processing device embeds compression codes corresponding to words in the Poincare space in advance, and calculates vectors for the compression codes.
  • the information processing device calculates the sentence vector of the input text 10 by integrating the word vectors of each word included in the input text 10 .
  • a sentence vector is referred to as a "sentence vector”.
  • the information processing device sets the sentence vector in the sentence vector dictionary D2.
  • the information processing device registers the relationship between the sentence vector of the input text 10 and the offset of the word from the beginning in the text DB 50 (the word at the beginning of the input text 10, for example, "children") in the sentence vector index 60c.
  • the information processing device updates the information of the word index 60a, the word vector index 60b, and the sentence vector index 60c by repeatedly executing the above process each time an input text is received.
  • the information processing device refers to a first cluster table prepared in advance for the plurality of sentence vectors registered in the sentence vector dictionary D2, performs clustering, and classifies the plurality of sentence vectors into a plurality of clusters. do.
  • Each sentence vector contained in the same cluster and each input text corresponding to each such sentence vector has a similar meaning.
  • the information processing device generates a sentence vector dictionary D2 that associates a sentence vector with a cluster ID that identifies a cluster to which the sentence vector belongs.
  • FIG. 3A is a diagram showing an example of the data structure of a sentence vector dictionary. As shown in FIG. 3A, this sentence vector dictionary D2 associates sentence vectors with cluster IDs. A sentence vector is a multi-dimensional vector.
  • FIG. 3B is a diagram showing an example of the first cluster table. The first cluster table associates cluster IDs, representative vectors, and diameters. For example, if a sentence vector is included in a sphere with a diameter of "0.0152" centered on the representative vector of the cluster ID "SCL1-1" of the first cluster table in the vector space, the image vector is included in the cluster It is classified into ID "SCL1-1".
  • FIG. 4 is a diagram for explaining the process of generating the second concept index.
  • the information processing apparatus registers the input video information 20 in the video DB 70 when receiving the input video information 20 .
  • the input video information 20 includes a plurality of pieces of image information 20-1, 20-2, 20-3, 20-4, 20-5, 20-6, 20-7 and the like.
  • a description of the video is attached to the input video information 20 .
  • the description of the video will be referred to as "video description”.
  • the description of the input video information 20 is text such as "A person crossed the road.”
  • the image information 20-1 is image information created by a script (PostScript) or the like. Data such as SVG may be used.
  • the image information 20-1 is written in a script (PostScript) or the like, and the comments of the script include words describing objects included in the image.
  • a word such as "person” can be given as a word describing the object of the image information 20-1.
  • words describing objects are referred to as "object explanation words”.
  • the description of the image information 20-2 to 20-7 is the same as the description of the image information 20-1.
  • the information processing device extracts the outline of the object included in the image information 20-1, and determines the relationship between the extracted outline of the object and the registration position (offset) of the image information 20-1 in the video DB 70 as the object.
  • Register in the index 80a The information in the outline may be data defined by a script. Script data can draw the outline of an object.
  • FIG. 5 is a diagram for explaining script data.
  • FIG. 5 shows script data 6 corresponding to outline 5 as an example.
  • the outline 5 can be drawn by the script data 6 .
  • the outline 5 consists of a straight line 5AB, a curved line 5BC, a straight line 5CD and a straight line 5DA.
  • a straight line 5AB is a straight line connecting the control point A and the control point B.
  • a straight line 5CD is a straight line connecting the control point C and the control point D.
  • FIG. A straight line 5DA is a straight line connecting the control point D and the control point A.
  • Curve 5BC is a curve connecting control point B and control point C, and the shape of the curve is determined by control points ⁇ , ⁇ and control points (end points) B, C.
  • the script data 6 of the outline 5 is generated.
  • "Xa, Ya” included in the script data 6 indicates the coordinates of the control point A.
  • "Xb, Yb” indicates the coordinates of the control point B;
  • "Xc, Yc” indicates the coordinates of the control point C.
  • "Xd, Yd” indicates the coordinates of the control point D.
  • "X ⁇ , Y ⁇ ” indicates the coordinates of the control point ⁇ .
  • “X ⁇ , Y ⁇ ” indicates the coordinates of the control point ⁇ .
  • the script data 6 includes various commands "newpath moveto lineto curveto strokeshowpage".
  • an attribute information area 6a for storing attribute information is set.
  • text information describing objects or parts of objects to be drawn in the script data 6 is stored in advance.
  • the attribute information area 6a stores the text information "person".
  • the description regarding the image information 20-2 to 20-7 is the same as the description regarding the image information 20-1.
  • the information processing device assigns vectors to the image information 20-1 based on the object vector dictionary D3 and the object description words of the image information 20-1.
  • a vector assigned to image information is referred to as an "object vector”.
  • the information processing device sets the relationship between the object vector and the offset of the image information 20-1 in the video DB 70 in the object vector index 80b.
  • the object vector dictionary D3 is a dictionary that defines object vectors.
  • FIG. 6 is a diagram showing an example of the data structure of an object vector dictionary. As shown in FIG. 6, this object vector dictionary D3 associates object description words with object vectors. It is assumed that object description word vectors are assigned in advance by Poincare embedding or the like in the same manner as the words described in the word vector dictionary D1. For example, it is assumed that the object vector of "person” is approximated by Poincaré embedding to the word vector of "person". A vector of object description words may be identified based on other conventional techniques. For example, an object vector of an object description word having a similar meaning to a word in the word vector dictionary D1 becomes a vector similar to the word vector of such word.
  • the information processing device calculates the vector of the input video information 20 by integrating the object vectors of each piece of image information included in the input video information 20 .
  • a video vector consisting of a plurality of pieces of image information is referred to as a "video vector”.
  • the information processing device sets the image vector in the image vector dictionary D4.
  • the video vector of the input video information 20 generated from each piece of image information of a person crossing is a vector similar to the vector of the sentence "the person is crossing.”
  • the information processing device registers the relationship between the image vector of the input image information 20 and the offset of the image DB 70 in the image vector index 80c.
  • the information processing device repeats the above processing each time it receives an input of input video information, thereby updating the information of the object index 80a, the object vector index 80b, and the video vector index 80c.
  • a plurality of video vectors are registered in the video vector dictionary D4.
  • the information processing device refers to a second cluster table prepared in advance for the plurality of video vectors registered in the video vector dictionary D4, performs clustering, and classifies the plurality of video vectors into a plurality of clusters. do. Images corresponding to each image vector included in the same cluster are similar images.
  • the information processing device generates a video vector dictionary D4 that associates a video vector with a cluster ID that identifies a cluster to which the video vector belongs.
  • FIG. 7A is a diagram showing an example of the data structure of the video vector dictionary. As shown in FIG. 7A, this video vector dictionary D4 associates video vectors with cluster IDs. A video vector is a multi-dimensional vector.
  • FIG. 7B is a diagram showing an example of the second cluster table. The second cluster table associates cluster IDs, representative vectors, and diameters. For example, if a certain video vector is included in a sphere with a diameter of 0.0152 centered on the representative vector of the cluster ID of the second cluster table, MCL2-1, in the vector space, the video vector is included in the cluster It is classified as ID "MCL2-1".
  • a first concept index 60 and a second concept index 80 are generated by the information processing device executing the above process.
  • the information processing device generates teacher data in the generation phase.
  • 8, 9, and 10 are diagrams for explaining the processing of the generation phase.
  • Fig. 8 will be explained.
  • the information processing device acquires the search query 15, it calculates the sentence vector SVq of the text included in the search query.
  • the processing in which the information processing device calculates the sentence vector from the text is the same as the processing described above.
  • the information processing device compares the sentence vector SVq with the sentence vector dictionary D2, and identifies sentence vectors similar to the sentence vector SVq among the sentence vectors included in the sentence vector dictionary D2. The information processing device also identifies a sentence vector having the same cluster ID as the identified sentence vector from the sentence vector dictionary D2. The information processing device stores the specified vector in the first search result 16A.
  • the sentence vector SVq and the sentence vector SVec101 are similar.
  • a sentence vector belonging to the same cluster ID as the sentence vector SVec101 is assumed to be a sentence vector SVec103.
  • the information processing device registers the sentence vector SVec101 and the sentence vector SVec103 in the first search result 16A.
  • the information processing device compares the sentence vector SVq of the search query 15 with the video vector dictionary D4 to identify video vectors similar to the sentence vector SVq among the video vectors included in the video vector dictionary D4. Further, the information processing device identifies a video vector having the same cluster ID as the identified video vector from the video vector dictionary D4. The information processing device stores the specified video vector in the second search result 16B.
  • the sentence vector SVq and the video vector MVec202 are similar.
  • a video vector belonging to the same cluster ID as the video vector MVec202 is assumed to be a video vector MV214.
  • the information processing device registers the video vector MVec202 and the video vector MVec229 in the second search result 16B.
  • the information processing device generates teacher data 90 based on the combination of each sentence vector included in the first search result 16A and each video data included in the second search result 16B.
  • the first search result 16A includes sentence vectors SVec101 and SVec103
  • the second search result 16B includes video vectors MVec202 and MVec229.
  • the information processing device sets the set of the sentence vector “SVec101” and the video vector “MVec202” and the set of the sentence vector “SVec101” and the video vector “MVec214” in the teacher data 90 .
  • the information processing device also registers the set of the sentence vector “SVec103” and the video vector “MVec202” and the set of the sentence vector “SVec103” and the video vector “MVec229” in the teacher data 90 .
  • the user can obtain teacher data 90 having sets (multiple sets) of sentence vectors of sentences similar to the search query and video vectors corresponding to these sentence vectors. can be generated.
  • FIG. 11 is a diagram for explaining processing in the learning phase.
  • the information processing apparatus executes machine learning of the learning model M1 using the teacher data 90 generated in the generation phase described above.
  • the learning model M1 is a model corresponding to the NN.
  • the sentence vectors of the teacher data 90 are used as input data during machine learning, and the image vectors are used as correct labels during machine learning.
  • the information processing device adjusts the parameters of the learning model M1 based on error backpropagation so that the output when the input data is input to the learning model M1 approaches the correct label.
  • FIG. 12 is a diagram for explaining processing in the execution phase.
  • a learning model M1 in FIG. 12 is a trained learning model that has undergone machine learning in the learning phase.
  • the information processing device When the information processing device acquires the input text 11, it calculates a sentence vector V11 of the input text 11.
  • the processing in which the information processing device calculates the sentence vector from the text is the same as the processing described above.
  • the information processing device calculates a video vector V12 by inputting the sentence vector V11 to the learning model M1.
  • the information processing device compares the video vector V12 with the video vector index 80c to identify the video vector most similar to the video vector V12 among the video vectors set in the video vector index 80c.
  • the information processing device searches the video DB 70 for video information indicated by the index of the video vector most similar to the video vector V12 in the video vector index 80c, and outputs video information 21 as the search result.
  • the output video information 21 is video information corresponding to the input text 11 .
  • the information processing apparatus generates training data 90 based on the first concept index 60 and the second concept index 80 when the designation of the search query 15 is received. Therefore, only by designating the search query 15, the user generates training data 90 having sets (multiple sets) of sentence vectors of sentences similar to the search query and video vectors corresponding to these sentence vectors. can do.
  • the information processing device can input an input text to the learning model M1 by executing machine learning of the learning model M1 based on the teacher data 90, calculate a video vector, and calculate a video vector corresponding to the video vector.
  • Information can be obtained from the video DB. For example, if the input text registered in the text DB 50 is text such as a screenplay, it is possible to easily acquire video information that reproduces the screenplay.
  • FIG. 13 is a functional block diagram showing the configuration of the information processing apparatus according to this embodiment.
  • this information processing apparatus 100 has a communication section 110 , an input section 120 , a display section 130 , a storage section 140 and a control section 150 .
  • the communication unit 110 is connected to an external device or the like by wire or wirelessly, and transmits and receives information to and from the external device or the like.
  • the communication unit 110 is implemented by a NIC (Network Interface Card) or the like.
  • the input unit 120 is an input device that inputs various types of information to the information processing device 100 .
  • the input unit 120 corresponds to a keyboard, mouse, touch panel, or the like.
  • the user uses the input unit 120 to input a search query or the like.
  • the display unit 130 is a display device that displays information output from the control unit 150 .
  • the display unit 130 corresponds to a liquid crystal display, an organic EL (Electro Luminescence) display, a touch panel, or the like.
  • the storage unit 140 has a search query 15, a text DB 50, a first concept index 60, a video DB 70, a second concept index 80, and teacher data 90.
  • the storage unit 140 has a word vector dictionary D1, a sentence vector dictionary D2, an object vector dictionary D3, an image vector dictionary D4, and a learning model M1.
  • the storage unit 140 is implemented by, for example, a semiconductor memory device such as RAM (Random Access Memory) or flash memory, or a storage device such as a hard disk or optical disk.
  • the search query 15 is information (text) specified in the processing of the generation phase, as described in FIG.
  • teacher data 90 corresponding to search query 15 is generated.
  • the text DB 50 holds input texts as described in FIG.
  • the first concept index 60 is information generated in the preparation phase. As described with reference to FIG. 1 and the like, the first concept index 60 has a word index 60a, a word vector index 60b, and a sentence vector index 60c.
  • the video DB 70 holds input video information as described in FIG. 4 and the like.
  • the second concept index 80 is information generated in the preparation phase. As described with reference to FIG. 4 and the like, the second concept index 80 has an object index 80a, an object vector index 80b, and an image vector index 80c.
  • the teacher data 90 associates sentence vectors corresponding to input data with video vectors corresponding to correct data.
  • the explanation regarding the teacher data 90 is the same as the explanation given in FIG.
  • the word vector dictionary D1 is a dictionary that defines word vectors.
  • the explanation regarding the word vector dictionary D1 is the same as the explanation given in FIG.
  • the sentence vector dictionary D2 associates sentence vectors with cluster IDs.
  • the explanation regarding the sentence vector dictionary D2 is the same as the explanation given in FIG.
  • the object vector dictionary D3 is a dictionary that defines object vectors.
  • the explanation about the object vector dictionary D3 is the same as the explanation given in FIG.
  • the video vector dictionary D4 associates video vectors with cluster IDs.
  • the description regarding the image vector dictionary D4 is the same as the description given in FIG.
  • the learning model M1 is a model corresponding to the NN and has an input layer, a hidden layer, an output layer, and the like. Parameters are set for each layer. The parameters of the learning model M1 are trained by the processing of the learning phase.
  • the control unit 150 has a preparation processing unit 151 , a generation unit 152 , a learning unit 153 and an execution unit 154 .
  • the control unit 150 is implemented by, for example, a CPU (Central Processing Unit) or an MPU (Micro Processing Unit). Also, the control unit 150 may be executed by an integrated circuit such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array).
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • the preparation processing unit 151 executes processing of the preparation phase. Upon receiving the input text 10 from the communication unit 110 or the input unit 120 , the preparation processing unit 151 registers the input text 10 in the text DB 50 and updates the first concept index 60 . Upon receiving the input image information 20 from the communication unit 110 or the input unit 120 , the preparation processing unit 151 registers the input image information 20 in the image DB 70 and updates the second concept index 80 .
  • the generation unit 152 executes processing of the generation phase. Upon receiving the search query 15, the generation unit 152 compares the sentence vector dictionary D2 with the sentence vector of the search query 15 to generate the first search result 16A. The generator 152 compares the video vector dictionary D4 with the sentence vector of the search query to generate a second search result 16B. The generator 152 generates training data 90 based on the first search result 16A and the second search result 16B.
  • the learning unit 153 executes the processing of the learning phase.
  • the learning unit 153 performs machine learning of the learning model M1 using the teacher data 90 generated in the generation phase.
  • the learning unit 153 adjusts the parameters of the learning model M1 based on the error backpropagation method so that the output when the input data is input to the learning model M1 approaches the correct label.
  • the execution unit 154 executes processing of the execution phase.
  • the execution unit 154 acquires the input text 11 from the communication unit 110 or the input unit 120, and inputs sentence vectors of the input text 11 to the learning model M1 to calculate video vectors.
  • the execution unit 154 extracts video information corresponding to the input text 11 from the video vector dictionary D4 based on the result of comparison between the video vector and the video vector index.
  • the execution unit 154 may display the extracted video information on the display unit 130 or transmit it to an external device via the communication unit 110 .
  • FIG. 14 is a flowchart (1) showing the processing procedure of the information processing apparatus according to the embodiment.
  • the preparation processing unit 151 of the information processing apparatus 100 acquires input text and registers it in the text DB 50 (step S101).
  • the preparation processing unit 151 updates the first concept index (step S102).
  • the preparation processing unit 151 acquires input video information and registers it in the video DB 70 (step S103).
  • the preparation processing unit 151 updates the second concept index (step S104).
  • the generation unit 152 of the information processing device 100 acquires the search query (step S105).
  • the generator 152 generates the first search result based on the search query vector, the sentence vector dictionary D2, and the first concept index 60 (step S106).
  • the generation unit 152 generates a second search result based on the search query vector, the image vector dictionary D4, and the second concept index 80 (step S107).
  • the generator 152 generates teacher data 90 based on the first search result and the second search result (step S108).
  • the learning unit 153 of the information processing device 100 executes machine learning of the learning model M1 (step S109).
  • FIG. 15 is a flowchart (2) showing the processing procedure of the information processing apparatus according to this embodiment.
  • the execution unit 154 of the information processing apparatus 100 acquires input text (step S201).
  • the execution unit 154 calculates a sentence vector of the input text (step S202).
  • the execution unit 154 inputs the sentence vector to the learning model M1 and calculates the video vector (step S203).
  • the executing unit 154 searches the video DBD 4 for video information based on the result of comparison between the video vector and the video vector index 80c (step S204).
  • the execution unit 154 outputs the retrieved video information (step S205).
  • the information processing apparatus 100 generates training data 90 based on the first concept index 60 and the second concept index 80 when the designation of the search query 15 is received. Therefore, only by designating the search query 15, the user generates training data 90 having sets (multiple sets) of sentence vectors of sentences similar to the search query and video vectors corresponding to these sentence vectors. can do.
  • the information processing apparatus 100 can input an input text to the learning model M1 by executing machine learning of the learning model M1 based on the teacher data 90, calculate a video vector, and obtain video information corresponding to the video vector. can be obtained from the video DB.
  • the input text registered in the text DB 50 is text such as a screenplay, it is possible to easily acquire video information that reproduces the screenplay.
  • the processing of the information processing device 100 described in the above embodiment is an example, and the information processing device 100 may perform other processing. Other processes 1 and 2 of the information processing apparatus 100 will be described below.
  • the information processing apparatus 100 In the generation phase described with reference to FIGS. 10 and 11, the information processing apparatus 100 generates teacher data 90 whose input data is a sentence vector and whose correct label is a video vector. I was doing machine learning, but not limited to this.
  • the information processing device 100 may generate teacher data in which the input data is a video vector and the correct label is a sentence vector, and machine learning of the learning model M1 may be executed using this teacher data. By performing such machine learning, the information processing apparatus 100 can calculate a sentence vector corresponding to a video vector when the video vector is input to the learning model M1.
  • the information processing apparatus 100 compares the calculated sentence vector with the sentence vector index 60c of the first concept index 60, and selects a sentence most similar to the calculated sentence vector among the sentence vectors set in the sentence vector index 60c. Identify a vector.
  • the information processing device 100 searches the text DB 50 for the text indicated by the index of the specified sentence vector in the sentence vector index 60c, and outputs the text as the search result.
  • the output text becomes information of a sentence (script, etc.) corresponding to the input video information.
  • the information processing apparatus 100 uses the search query 15 specified by text to identify sentence vectors and video vectors that are related to each other, and generates training data 90. However, it is not limited to this.
  • the information processing device may acquire a set of mutually related text and video information as a search query and generate teacher data 90 .
  • FIG. 16 is a diagram for explaining other processing of the information processing device.
  • the search query 25 shown in FIG. 16 includes mutually related text 25A and video information 25B.
  • Generation unit 152 of information processing apparatus 100 calculates sentence vector SVec25A from text 25A.
  • the generator 152 calculates a video vector MVec25B from the video information 25B.
  • the processing for calculating sentence vectors from text and the processing for calculating video information from video information are the same as the processing described in the preparation phase.
  • the generation unit 152 compares the sentence vector SVec 25A and the sentence vector dictionary D2 to generate the first search result 16A.
  • the generator 152 compares the video vector MVec 25B with the video vector dictionary D4 to generate the second search result 16B.
  • the generation unit 152 generates teacher data 90 based on the first search result 16A and the second search result 16B.
  • FIG. 17 is a diagram illustrating an example of a hardware configuration of a computer that implements functions similar to those of the information processing apparatus.
  • the computer 200 has a CPU 201 that executes various arithmetic processes, an input device 202 that receives data input from the user, and a display 203 .
  • the computer 200 also has a communication device 204 and an interface device 205 for exchanging data with other computers via a wired or wireless network.
  • the computer 200 also has a RAM 206 that temporarily stores various information, and a hard disk device 207 . Each device 201 - 207 is then connected to a bus 208 .
  • the hard disk device 207 has a preparation processing program 207a, a generation program 207b, a learning program 207c, and an execution program 207d.
  • the CPU 201 reads out the preparation processing program 207 a , the generation program 207 b , the learning program 207 c and the execution program 207 d and develops them in the RAM 206 .
  • the preparation processing program 207a functions as a preparation processing process 206a.
  • Generation program 207b functions as generation process 206b.
  • the learning program 207c functions as a learning process 206c.
  • the execution program 207d functions as an execution process 206d.
  • the processing of the preparation processing process 206a corresponds to the processing of the preparation processing unit 151.
  • the processing of the generation process 206 b corresponds to the processing of the generation unit 152 .
  • the processing of the learning process 206 c corresponds to the processing of the learning unit 153 .
  • the processing of the execution process 206 d corresponds to the processing of the execution unit 154 .
  • each program 207a to 207d do not necessarily have to be stored in the hard disk device 207 from the beginning.
  • each program is stored in a “portable physical medium” such as a flexible disk (FD), CD-ROM, DVD, magneto-optical disk, IC card, etc., inserted into the computer 200 .
  • the computer 200 may read and execute each of the programs 207a-207d.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

情報処理装置は、テキストデータを基にして、第1ベクトルを算出し、第1ベクトルと、類似する第1ベクトルを区別する識別情報とを対応付けた第1辞書情報を生成する。情報処理装置は、画像または動画データの説明テキストを基にして、第2ベクトルを算出し、第2ベクトルと、類似する第2ベクトルを区別する識別情報とを対応付けた第2辞書情報を生成する。情報処理装置は、第1辞書情報に登録された類似する第1ベクトルと、第2辞書情報に登録された類似する第2ベクトルとを関連付けた教師データを生成し、教師データを基にして、学習モデルの機械学習を実行する。

Description

モデル学習方法、モデル学習プログラムおよび情報処理装置
 本発明は、モデル学習方法等に関する。
 近年、Neural Network(以下、NN)を用いた技術の開発が進んでおり、様々な分野でNNが利用されている。たとえば、NNは、動画に検出対象となる物体が含まれているか否かを検出することや、ある言語で記載されたテキストを、他の言語に記載されたテキストに変換する場合などに用いられている。
 なお、NNを利用する場合には、大量の教師データを事前に準備し、学習モデルの機械学習を行うことで、上記の処理を行うことが可能となる。教師データを生成する一般的な方法は、人手によって、入力データと、正解ラベルとの関係を確認する方法である。
特開2021-033367号公報
 たとえば、脚本のようなテキストデータを基にして、脚本に対応するイラストや動画データを生成するような学習モデルの作成を想定した場合、かかる学習モデルの機械学習を行うための辞書や教師データをどのように準備するのかという問題がある。
 1つの側面では、本発明は、イラストや動画に関する情報あるいは脚本等を入出力し、変換することができるモデルの提供を実現することができるモデル学習方法、モデル学習プログラムおよび情報処理装置を提供することを目的とする。
 第1の案では、コンピュータに次の処理を実行させる。コンピュータは、テキストデータを基にして、第1ベクトルを算出し、第1ベクトルと、類似する第1ベクトルを区別する識別情報とを対応付けた第1辞書情報を生成する。コンピュータは、画像や動画データの説明テキストを基にして、第2ベクトルを算出し、第2ベクトルと、類似する第2ベクトルを区別する識別情報とを対応付けた第2辞書情報を生成する。コンピュータは、第1辞書情報に登録された類似する第1ベクトルと、第2辞書情報に登録された類似する第2ベクトルとを関連付けた教師データを生成し、教師データを基にして、学習モデルの機械学習を実行する。
 イラストや動画に関する情報あるいは脚本等を出力することができるモデルの提供を実現することができる。
図1は、第1概念インデックスを生成する処理を説明するための図である。 図2は、単語ベクトル辞書のデータ構造の一例を示す図である。 図3Aは、文ベクトル辞書のデータ構造の一例を示す図である。 図3Bは、第1クラスタテーブルの一例を示す図である。 図4は、第2概念インデックスを生成する処理を説明するための図である。 図5は、スクリプトデータを説明するための図である。 図6は、物体ベクトル辞書のデータ構造の一例を示す図である。 図7Aは、映像ベクトル辞書のデータ構造の一例を示す図である。 図7Bは、第2クラスタテーブルの一例を示す図である。 図8は、生成フェーズの処理を説明するための図(1)である。 図9は、生成フェーズの処理を説明するための図(2)である。 図10は、生成フェーズの処理を説明するための図(3)である。 図11は、学習フェーズの処理を説明するための図である。 図12は、実行フェーズの処理を説明するための図である。 図13は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。 図14は、本実施例に係る情報処理装置の処理手順を示すフローチャート(1)である。 図15は、本実施例に係る情報処理装置の処理手順を示すフローチャート(2)である。 図16は、情報処理装置のその他の処理を説明するための図である。 図17は、情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
 以下に、本願の開示するモデル学習方法、モデル学習プログラムおよび情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
 本実施例に係る情報処理装置の処理は、準備フェーズ、生成フェーズ、学習フェーズ、実行フェーズの各処理が含まれる。以下において、準備フェーズ、生成フェーズ、学習フェーズ、実行フェーズの各処理を説明する。
 準備フェーズの処理について説明する。たとえば、準備フェーズには、第1概念インデックスを生成する処理、第2概念インデックスを生成する処理が含まれる。
 図1は、第1概念インデックスを生成する処理を説明するための図である。情報処理装置は、入力テキスト10を受け付けると、入力テキスト10を、テキストDB50に登録する。情報処理装置は、入力テキスト10に対して形態素解析を実行し、複数の単語に分割する。たとえば、「子供は遊園地が好き。」は、「子供」、「は」、「遊園地」、「が」、「好き」、「。」に分割される。情報処理装置は、単語の種別と、テキストDB50における先頭からの単語の位置(オフセット)との関係を、単語インデックス60aに設定する。たとえば、先頭の単語のオフセットは「0」、2番目の単語のオフセットは「1」、n番目の単語のオフセットは「n-1」となる。
 続いて、情報処理装置は、単語ベクトル辞書D1を基にして、形態素解析を実行した入力テキスト10に含まれる各単語に対して単語のベクトルを割り当てる。以下の説明では、単語のベクトルを「単語ベクトル」と表記する。情報処理装置は、単語の単語ベクトルと、テキストDB50における先頭からの単語のオフセットとの関係を、単語ベクトルインデックス60bに設定する。
 単語ベクトル辞書D1は、単語ベクトルを定義する辞書である。図2は、単語ベクトル辞書のデータ構造の一例を示す図である。図2に示すように、この単語ベクトル辞書D1は、単語と、圧縮符号と、単語ベクトルとを対応付ける。なお、単語ベクトルは複数の次元の浮動小数点の数値で表現される。
 単語(圧縮符号)に対応するベクトルは、事前にポアンカレエンベッディング等によって、割り当てられているものとする。なお、単語(圧縮符号)のベクトルは、他の従来技術を基にして特定されてもよい。
 ポアンカレエンベッディングは、たとえば、非特許文献「Valentin Khrulkov1 et al.「Hyperbolic Image Embeddings」Cornell University,2019 April 3」等に記載された技術を用いればよい。ポアンカレエンベディングでは、ポアンカレ空間に埋め込まれた位置に応じて、ベクトルが割り当てられるものであり、また、類似する情報ほど、近い位置に埋め込まれるという特徴がある。情報処理装置は、単語に対応する圧縮符号をポアンカレ空間に予め埋め込んでおき、圧縮符号に対するベクトルを算出しておく。
 続いて、情報処理装置は、入力テキスト10に含まれる各単語の単語ベクトルを積算することで、入力テキスト10の文のベクトルを算出する。以下の説明では、文のベクトルを「文ベクトル」と表記する。情報処理装置は、文ベクトルを、文ベクトル辞書D2に設定する。
 情報処理装置は、入力テキスト10の文ベクトルと、テキストDB50における先頭からの単語(入力テキスト10の先頭の単語、たとえば、「子供」)のオフセットとの関係を、文ベクトルインデックス60cに登録する。
 情報処理装置は、入力テキストの入力を受け付ける度に、上記処理を繰り返し実行することで、単語インデックス60a、単語ベクトルインデックス60b、文ベクトルインデックス60cの情報が更新される。
 また、入力テキストの入力を受け付ける度に、上記処理を繰り返し実行することで、文ベクトル辞書D2には、複数の文ベクトルが登録される。情報処理装置は、文ベクトル辞書D2に登録された複数の文ベクトルに対して、事前に準備される第1クラスタテーブルを参照し、クラスタリングを実行し、複数の文ベクトルを、複数のクラスタに分類する。同一のクラスタに含まれる各文ベクトルであって、かかる各文ベクトルに対応する各入力テキストの意味は、類似した意味となる。情報処理装置は、文ベクトルと、文ベクトルの属するクラスタを識別するクラスタIDとを対応付けた、文ベクトル辞書D2を生成する。
 図3Aは、文ベクトル辞書のデータ構造の一例を示す図である。図3Aに示すように、この文ベクトル辞書D2は、文ベクトルと、クラスタIDとを対応付ける。文ベクトルは、複数の次元のベクトルとなる。図3Bは、第1クラスタテーブルの一例を示す図である。第1クラスタテーブルは、クラスタIDと、代表ベクトルと、径とを対応付ける。たとえば、ある文ベクトルが、ベクトル空間上において、第1クラスタテーブルのクラスタID「SCL1-1」の代表ベクトルを中心とする径「0.0152」の球に含まれる場合には、かかる映像ベクトルは、クラスタID「SCL1-1」に分類される。
 図4は、第2概念インデックスを生成する処理を説明するための図である。情報処理装置は、入力映像情報20を受け付けると、入力映像情報20を、映像DB70に登録する。入力映像情報20には、複数の画像情報20-1,20-2,20-3,20-4,20-5,20-6,20-7等が含まれる。入力映像情報20には、映像の説明文が添付される。以下の説明では、映像の説明文を「映像説明文」と表記する。たとえば、入力映像情報20の説明文は、「人が道路を横断した」等のテキストとなる。
 画像情報20-1は、スクリプト(PostScript)等によって作成された画像情報である。SVGなどのデータであってもよい。たとえば、画像情報20-1は、スクリプト(PostScript)等によって記載され、スクリプトのコメントには、画像に含まれる物体を説明する単語が含まれる。たとえば、画像情報20-1の物体を説明する単語として「人」等の単語があげられる。以下の説明では、物体を説明する単語を、「物体説明単語」と表記する。画像情報20-2~20-7に関する説明は、画像情報20-1に関する説明と同様である。
 情報処理装置は、画像情報20-1に含まれる物体のアウトライン(Outline)を抽出し、抽出した物体のアウトラインと、映像DB70における画像情報20-1の登録位置(オフセット)との関係を、物体インデックス80aに登録する。アウトラインの情報は、スクリプトで定義されたデータであってもよい。スクリプトデータによって、物体のアウトラインを描画することができる。
 図5は、スクリプトデータを説明するための図である。図5では、一例として、アウトライン5に対応するスクリプトデータ6を示す。スクリプトデータ6により、アウトライン5を描画することができる。
 アウトライン5は、直線5AB、曲線5BC、直線5CD、直線5DAからなる。直線5ABは、制御点Aと制御点Bとを結ぶ直線である。直線5CDは、制御点Cと制御点Dとを結ぶ直線である。直線5DAは、制御点Dと制御点Aとを結ぶ直線である。曲線5BCは、制御点Bと制御点Cとを結ぶ曲線であり、制御点α,βおよび制御点(端点)B,Cにより、曲線の形状が決定される。
 アウトライン5の制御点A,B,C,D、制御点α,βを基にして、アウトライン5のスクリプトデータ6が生成される。スクリプトデータ6に含まれる「Xa,Ya」は、制御点Aの座標を示すものである。「Xb,Yb」は、制御点Bの座標を示すものである。「Xc,Yc」は、制御点Cの座標を示すものである。「Xd,Yd」は、制御点Dの座標を示すものである。「Xα,Yα」は、制御点αの座標を示すものである。「Xβ,Yβ」は、制御点βの座標を示すものである。スクリプトデータ6には、各種のコマンド「newpath moveto lineto curveto stroke showpage」が含まれる。
 また、スクリプトデータ6には、属性情報を格納する属性情報領域6aが設定されている。属性情報領域6aには、スクリプトデータ6に描画される物体あるいは物体の部品を説明するテキスト情報が予め格納されている。たとえば、スクリプトデータで描画される輪郭の形状が、人の輪郭の形状である場合には、属性情報領域6aには、「人」なるテキスト情報が格納される。
 画像情報20-2~20-7に関する説明は、画像情報20-1に関する説明と同様である。
 続いて、情報処理装置は、物体ベクトル辞書D3と、画像情報20-1の物体説明単語とを基にして、画像情報20-1にベクトルを割り当てる。以下の説明では、画像情報に割り当てたベクトルを「物体ベクトル」と表記する。情報処理装置は、物体ベクトルと、映像DB70における画像情報20-1のオフセットとの関係を、物体ベクトルインデックス80bに設定する。
 物体ベクトル辞書D3は、物体ベクトルを定義する辞書である。図6は、物体ベクトル辞書のデータ構造の一例を示す図である。図6に示すように、この物体ベクトル辞書D3は、物体説明単語と、物体ベクトルとを対応付ける。物体説明単語のベクトルは、単語ベクトル辞書D1で説明した単語と同様にして、事前にポアンカレエンベッディング等によって、割り当てられているものとする。たとえば、「人」の単語ベクトルに対して、「人」の物体ベクトルがポアンカレエンベッディングにて近似されているものとする。物体説明単語のベクトルは、他の従来技術を基にして特定されてもよい。たとえば、単語ベクトル辞書D1の単語と類似する意味の物体説明単語の物体ベクトルは、かかる単語の単語ベクトルと類似するベクトルとなる。
 続いて、情報処理装置は、入力映像情報20に含まれる各画像情報の物体ベクトルを積算することで、入力映像情報20のベクトルを算出する。複数の画像情報から成る映像のベクトルを「映像ベクトル」と表記する。情報処理装置は、映像ベクトルを、映像ベクトル辞書D4に設定する。たとえば、人が横断している各画像情報から生成された入力映像情報20の映像ベクトルは、「人が横断している」という文のベクトルと類似するベクトルとなる。
 情報処理装置は、入力映像情報20の映像ベクトルと、映像DB70のオフセットとの関係を、映像ベクトルインデックス80cに登録する。
 情報処理装置は、入力映像情報の入力を受け付ける度に、上記処理を繰り返し実行することで、物体インデックス80a、物体ベクトルインデックス80b、映像ベクトルインデックス80cの情報が更新される。
 また、入力映像情報の入力を受け付ける度に、上記処理を繰り返し実行することで、映像ベクトル辞書D4には、複数の映像ベクトルが登録される。情報処理装置は、映像ベクトル辞書D4に登録された複数の映像ベクトルに対して、事前に準備される第2クラスタテーブルを参照し、クラスタリングを実行し、複数の映像ベクトルを、複数のクラスタに分類する。同一のクラスタに含まれる各映像ベクトルであって、かかる各映像ベクトルに対応する映像は、類似した映像となる。情報処理装置は、映像ベクトルと、映像ベクトルの属するクラスタを識別するクラスタIDとを対応付けた、映像ベクトル辞書D4を生成する。
 図7Aは、映像ベクトル辞書のデータ構造の一例を示す図である。図7Aに示すように、この映像ベクトル辞書D4は、映像ベクトルと、クラスタIDとを対応付ける。映像ベクトルは、複数の次元のベクトルとなる。図7Bは、第2クラスタテーブルの一例を示す図である。第2クラスタテーブルは、クラスタIDと、代表ベクトルと、径とを対応付ける。たとえば、ある映像ベクトルが、ベクトル空間上において、第2クラスタテーブルのクラスタID「MCL2-1」の代表ベクトルを中心とする径「0.0152」の球に含まれる場合には、かかる映像ベクトルは、クラスタID「MCL2-1」に分類される。
 情報処理装置が、上記処理を実行することで、第1概念インデックス60と、第2概念インデックス80とが生成される。
 次に、生成フェーズの処理について説明する。情報処理装置は、生成フェーズにおいて、教師データを生成する。図8、図9、図10は、生成フェーズの処理を説明するための図である。
 図8について説明する。情報処理装置は、検索クエリ15を取得すると、検索クエリに含まれるテキストの文ベクトルSVqを算出する。情報処理装置が、テキストから文ベクトルを算出する処理は、上記の処理と同様である。
 情報処理装置は、文ベクトルSVqと、文ベクトル辞書D2とを比較して、文ベクトル辞書D2に含まれる文ベクトルのうち、文ベクトルSVqに類似する文ベクトルを特定する。また、情報処理装置は、特定した文ベクトルと同一のクラスタIDとなる文ベクトルを、文ベクトル辞書D2から、特定する。情報処理装置は、特定したベクトルを、第1検索結果16Aに格納する。
 図8に示す例では、文ベクトルSVqと、文ベクトルSVec101とが類似するものとする。また、文ベクトルSVec101と同一のクラスタIDに属する文ベクトルを、文ベクトルSVec103とする。この場合、情報処理装置は、文ベクトルSVec101と、文ベクトルSVec103とを、第1検索結果16Aに登録する。
 図9の説明に移行する。情報処理装置は、検索クエリ15の文ベクトルSVqと、映像ベクトル辞書D4とを比較して、映像ベクトル辞書D4に含まれる映像ベクトルのうち、文ベクトルSVqに類似する映像ベクトルを特定する。また、情報処理装置は、特定した映像ベクトルと同一のクラスタIDとなる映像ベクトルを、映像ベクトル辞書D4から、特定する。情報処理装置は、特定した映像ベクトルを、第2検索結果16Bに格納する。
 図9に示す例では、文ベクトルSVqと、映像ベクトルMVec202とが類似するものとする。また、映像ベクトルMVec202と同一のクラスタIDに属する映像ベクトルを、映像ベクトルMV214とする。この場合、情報処理装置は、映像ベクトルMVec202と、映像ベクトルMVec229とを、第2検索結果16Bに登録する。
 図10の説明に移行する。情報処理装置は、第1検索結果16Aに含まれる各文ベクトルと、第2検索結果16Bに含まれる各映像データの組合せを基にして、教師データ90を生成する。たとえば、第1検索結果16Aに文ベクトルSVec101、SVec103が含まれ、第2検索結果16Bに映像ベクトルMVec202、MVec229が含まれるものとする。この場合、情報処理装置は、文ベクトル「SVec101」、映像ベクトル「MVec202」との組、文ベクトル「SVec101」、映像ベクトル「MVec214」との組を、教師データ90に設定する。また、情報処理装置は、文ベクトル「SVec103」、映像ベクトル「MVec202」との組、文ベクトル「SVec103」、映像ベクトル「MVec229」との組を、教師データ90に登録する。
 上記のように、利用者は、検索クエリ15を指定するだけで、検索クエリに類似する文の文ベクトルと、この文ベクトルに対応する映像ベクトルとの組(複数の組)を有する教師データ90を生成することができる。
 次に、学習フェーズの処理について説明する。図11は、学習フェーズの処理を説明するための図である。図11に示すように、情報処理装置は、上記の生成フェーズにおいて生成された教師データ90を用いて、学習モデルM1の機械学習を実行する。学習モデルM1は、NNに対応するモデルである。
 本実施例では、教師データ90の文ベクトルを、機械学習時の入力データとし、映像ベクトルを、機械学習時の正解ラベルとする。情報処理装置は、誤差逆伝播法に基づいて、入力データを、学習モデルM1に入力した際の出力が、正解ラベルに近づくように、学習モデルM1のパラメータを調整する。
 次に、実行フェーズの処理について説明する。図12は、実行フェーズの処理を説明するための図である。図12の学習モデルM1は、学習フェーズにおいて機械学習が実行された訓練済みの学習モデルである。
 情報処理装置は、入力テキスト11を取得すると、入力テキスト11の文ベクトルV11を算出する。情報処理装置が、テキストから文ベクトルを算出する処理は、上記の処理と同様である。
 情報処理装置は、文ベクトルV11を、学習モデルM1に入力することで、映像ベクトルV12を算出する。情報処理装置は、映像ベクトルV12と、映像ベクトルインデックス80cとを比較して、映像ベクトルインデックス80cに設定された映像ベクトルのうち、映像ベクトルV12に最も類似する映像ベクトルを特定する。
 情報処理装置は、映像ベクトルインデックス80cにおいて、映像ベクトルV12に最も類似する映像ベクトルのインデックスの示す映像情報を、映像DB70から検索し、検索結果となる映像情報21を出力する。出力された映像情報21は、入力テキスト11に対応する映像の情報となる。
 上記のように、本実施例に係る情報処理装置は、検索クエリ15の指定を受け付けた場合に、第1概念インデックス60、第2概念インデックス80を基にして、教師データ90を生成する。このため、利用者は、検索クエリ15を指定するだけで、検索クエリに類似する文の文ベクトルと、この文ベクトルに対応する映像ベクトルとの組(複数の組)を有する教師データ90を生成することができる。
 また、情報処理装置は、教師データ90を基にして、学習モデルM1の機械学習を実行することで、入力テキストを学習モデルM1に入力して、映像ベクトルを算出でき、映像ベクトルに対応する映像情報を、映像DBから得ることができる。たとえば、テキストDB50に登録する入力テキストを、脚本等のテキストにすることで、脚本を再現する映像情報を容易に取得することができる。
 次に、本実施例に係る情報処理装置の構成例について説明する。図13は、本実施例に係る情報処理装置の構成を示す機能ブロック図である。図13に示すように、この情報処理装置100は、通信部110、入力部120、表示部130、記憶部140、制御部150を有する。
 通信部110は、有線又は無線で外部装置等に接続され、外部装置等との間で情報の送受信を行う。たとえば、通信部110は、NIC(Network Interface Card)等によって実現される。
 入力部120は、各種の情報を、情報処理装置100に入力する入力装置である。入力部120は、キーボードやマウス、タッチパネル等に対応する。たとえば、利用者は、入力部120を用いて、検索クエリ等を入力する。
 表示部130は、制御部150から出力される情報を表示する表示装置である。表示部130は、液晶ディスプレイ、有機EL(Electro Luminescence)ディスプレイ、タッチパネル等に対応する。
 記憶部140は、検索クエリ15、テキストDB50、第1概念インデックス60、映像DB70、第2概念インデックス80、教師データ90を有する。記憶部140は、単語ベクトル辞書D1、文ベクトル辞書D2、物体ベクトル辞書D3、映像ベクトル辞書D4、学習モデルM1を有する。記憶部140は、たとえば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
 検索クエリ15は、図8等で説明したように、生成フェーズの処理で指定される情報(テキスト)である。生成フェーズでは、検索クエリ15に対応する教師データ90が生成される。
 テキストDB50は、図1等で説明したように、入力テキストを保持する。
 第1概念インデックス60は、準備フェーズで生成される情報である。図1等で説明したように、第1概念インデックス60は、単語インデックス60a、単語ベクトルインデックス60b、文ベクトルインデックス60cを有する。
 映像DB70は、図4等で説明したように、入力映像情報を保持する。
 第2概念インデックス80は、準備フェーズで生成される情報である。図4等で説明したように、第2概念インデックス80は、物体インデックス80a、物体ベクトルインデックス80b、映像ベクトルインデックス80cを有する。
 教師データ90は、入力データに対応する文ベクトルと、正解データに対応する映像ベクトルとを対応付ける。教師データ90に関する説明は、図10で行った説明と同様である。
 単語ベクトル辞書D1は、単語ベクトルを定義する辞書である。単語ベクトル辞書D1に関する説明は、図2で行った説明と同様である。
 文ベクトル辞書D2は、文ベクトルと、クラスタIDとを対応付ける。文ベクトル辞書D2に関する説明は、図3で行った説明と同様である。
 物体ベクトル辞書D3は、物体ベクトルを定義する辞書である。物体ベクトル辞書D3に関する説明は、図6で行った説明と同様である。
 映像ベクトル辞書D4は、映像ベクトルと、クラスタIDとを対応付ける。映像ベクトル辞書D4に関する説明は、図7で行った説明と同様である。
 学習モデルM1は、NNに対応するモデルであり、入力層、隠れ層、出力層等を有する。各層には、パラメータが設定される。学習モデルM1のパラメータは、学習フェーズの処理によって訓練される。
 制御部150は、準備処理部151、生成部152、学習部153、実行部154を有する。制御部150は、たとえば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)により実現される。また、制御部150は、例えばASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実行されてもよい。
 準備処理部151は、準備フェーズの処理を実行する。準備処理部151は、通信部110または入力部120から、入力テキスト10を受け付けると、入力テキスト10を、テキストDB50に登録し、第1概念インデックス60を更新する。準備処理部151は、通信部110または入力部120から、入力映像情報20を受け付けると、入力映像情報20を、映像DB70に登録し、第2概念インデックス80を更新する。
 準備処理部151に関するその他の説明は、図1~図7で説明した準備フェーズの処理と同様である。
 生成部152は、生成フェーズの処理を実行する。生成部152は、検索クエリ15を受け付けると、文ベクトル辞書D2と検索クエリ15の文ベクトルとを比較し、第1検索結果16Aを生成する。生成部152は、映像ベクトル辞書D4と検索クエリの文ベクトルとを比較し、第2検索結果16Bを生成する。生成部152は、第1検索結果16Aと、第2検索結果16Bとを基にして、教師データ90を生成する。
 生成部152に関するその他の説明は、図8~図10で説明した生成フェーズの処理と同様である。
 学習部153は、学習フェーズの処理を実行する。学習部153は、生成フェーズにおいて生成された教師データ90を用いて、学習モデルM1の機械学習を実行する。
 学習部153は、情報処理装置は、誤差逆伝播法に基づいて、入力データを、学習モデルM1に入力した際の出力が、正解ラベルに近づくように、学習モデルM1のパラメータを調整する。
 実行部154は、実行フェーズの処理を実行する。実行部154は、通信部110または入力部120から、入力テキスト11を取得し、入力テキスト11の文ベクトルを、学習モデルM1に入力することで、映像ベクトルを算出する。実行部154は、情報処理装置は、映像ベクトルと、映像ベクトルインデックスとの比較結果を基にして、入力テキスト11に対応する映像情報を、映像ベクトル辞書D4から抽出する。実行部154は、抽出した映像情報を、表示部130に表示してもよいし、通信部110を介して、外部装置に送信してもよい。
 次に、本実施例に係る情報処理装置100の処理手順の一例について説明する。図14は、本実施例に係る情報処理装置の処理手順を示すフローチャート(1)である。図14に示すように、この情報処理装置100の準備処理部151は、入力テキストを取得し、テキストDB50に登録する(ステップS101)。
 準備処理部151は、第1概念インデックスを更新する(ステップS102)。準備処理部151は、入力映像情報を取得し、映像DB70に登録する(ステップS103)。準備処理部151は、第2概念インデックスを更新する(ステップS104)。
 情報処理装置100の生成部152は、検索クエリを取得する(ステップS105)。生成部152は、検索クエリのベクトル、文ベクトル辞書D2、第1概念インデックス60を基にして、第1検索結果を生成する(ステップS106)。
 生成部152は、検索クエリのベクトル、映像ベクトル辞書D4、第2概念インデックス80を基にして、第2検索結果を生成する(ステップS107)。生成部152は、第1検索結果と、第2検索結果とを基にして、教師データ90を生成する(ステップS108)。
 情報処理装置100の学習部153は、学習モデルM1の機械学習を実行する(ステップS109)。
 図15は、本実施例に係る情報処理装置の処理手順を示すフローチャート(2)である。図15に示すように、情報処理装置100の実行部154は、入力テキストを取得する(ステップS201)。実行部154は、入力テキストの文ベクトルを算出する(ステップS202)。
 実行部154は、文ベクトルを学習モデルM1に入力し、映像ベクトルを算出する(ステップS203)。実行部154は、映像ベクトルと、映像ベクトルインデックス80cとの比較結果を基にして、映像情報を映像DBD4から検索する(ステップS204)。
 実行部154は、検索した映像情報を出力する(ステップS205)。
 次に、本実施例に係る情報処理装置100の効果について説明する。情報処理装置100は、検索クエリ15の指定を受け付けた場合に、第1概念インデックス60、第2概念インデックス80を基にして、教師データ90を生成する。このため、利用者は、検索クエリ15を指定するだけで、検索クエリに類似する文の文ベクトルと、この文ベクトルに対応する映像ベクトルとの組(複数の組)を有する教師データ90を生成することができる。
 情報処理装置100は、教師データ90を基にして、学習モデルM1の機械学習を実行することで、入力テキストを学習モデルM1に入力して、映像ベクトルを算出でき、映像ベクトルに対応する映像情報を、映像DBから得ることができる。たとえば、テキストDB50に登録する入力テキストを、脚本等のテキストにすることで、脚本を再現する映像情報を容易に取得することができる。
 上記の実施例で説明した情報処理装置100の処理は一例であり、情報処理装置100は、その他の処理を実行してもよい。以下において、情報処理装置100のその他の処理1、2について説明する。
 情報処理装置100のその他の処理1について説明する。情報処理装置100は、図10、図11で説明した生成フェーズにおいて、入力データを文ベクトル、正解ラベルを映像ベクトルとする教師データ90を生成し、かかる教師データ90を用いて、学習モデルM1の機械学習を実行していたが、これに限定されない。
 情報処理装置100は、入力データを映像ベクトル、正解ラベルを文ベクトルとする教師データを生成し、かかる教師データを用いて、学習モデルM1の機械学習を実行してもよい。情報処理装置100が、かかる機械学習を行うことで、映像ベクトルを、学習モデルM1に入力した場合に、映像ベクトルに対応する文ベクトルを算出することができる。
 情報処理装置100は、算出した文ベクトルと、第1概念インデックス60の文ベクトルインデックス60cとを比較して、文ベクトルインデックス60cに設定された文ベクトルのうち、算出した文ベクトルに最も類似する文ベクトルを特定する。
 情報処理装置100は、文ベクトルインデックス60cにおいて、特定した文ベクトルのインデックスの示すテキストを、テキストDB50から検索し、検索結果となるテキストを出力する。出力されたテキストは、入力された映像情報に対応する文(脚本等)の情報となる。
 情報処理装置100のその他の処理2について説明する。情報処理装置100は、図8、図9で説明した生成フェーズにおいて、テキストで指定された検索クエリ15を用いて、相互に関連する文ベクトルと、映像ベクトルとを特定し、教師データ90を生成していたが、これに限定されるものではない。
 たとえば、情報処理装置は、相互に関連のあるテキストと、映像情報との組を、検索クエリとして取得し、教師データ90を生成してもよい。
 図16は、情報処理装置のその他の処理を説明するための図である。図16に示す検索クエリ25には、相互に関連するテキスト25Aと、映像情報25Bとが含まれる。情報処理装置100の生成部152は、テキスト25Aから文ベクトルSVec25Aを算出する。生成部152は、映像情報25Bから映像ベクトルMVec25Bを算出する。
 テキストから文ベクトルを算出する処理、映像情報から映像情報を算出する処理は、準備フェーズで説明した処理と同様である。
 生成部152は、文ベクトルSVec25Aと、文ベクトル辞書D2とを比較して、第1検索結果16Aを生成する。生成部152は、映像ベクトルMVec25Bと、映像ベクトル辞書D4とを比較して、第2検索結果16Bを生成する。
 生成部152は、第1検索結果16Aと、第2検索結果16Bとを基にして、教師データ90を生成する。
 次に、本実施例で説明した情報処理装置100と同様の機能を実現するコンピュータのハードウェア構成の一例について説明する。図17は、情報処理装置と同様の機能を実現するコンピュータのハードウェア構成の一例を示す図である。
 図17に示すように、コンピュータ200は、各種演算処理を実行するCPU201と、ユーザからのデータの入力を受け付ける入力装置202と、ディスプレイ203とを有する。また、コンピュータ200は、通信装置204と、有線または無線ネットワークを介して他のコンピュータとの間でデータの授受を行うインタフェース装置205とを有する。また、コンピュータ200は、各種情報を一時記憶するRAM206と、ハードディスク装置207とを有する。そして、各装置201~207は、バス208に接続される。
 ハードディスク装置207は、準備処理プログラム207a、生成プログラム207b、学習プログラム207c、実行プログラム207dを有する。CPU201は、準備処理プログラム207a、生成プログラム207b、学習プログラム207c、実行プログラム207dを読み出してRAM206に展開する。
 準備処理プログラム207aは、準備処理プロセス206aとして機能する。生成プログラム207bは、生成プロセス206bとして機能する。学習プログラム207cは、学習プロセス206cとして機能する。実行プログラム207dは、実行プロセス206dとして機能する。
 準備処理プロセス206aの処理は、準備処理部151の処理に対応する。生成プロセス206bの処理は、生成部152の処理に対応する。学習プロセス206cの処理は、学習部153の処理に対応する。実行プロセス206dの処理は、実行部154の処理に対応する。
 なお、各プログラム207a~207dについては、必ずしも最初からハードディスク装置207に記憶させておかなくても良い。例えば、コンピュータ200に挿入されるフレキシブルディスク(FD)、CD-ROM、DVD、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ200が各プログラム207a~207dを読み出して実行するようにしても良い。
 100  情報処理装置
 110  通信部
 120  入力部
 130  表示部
 140  記憶部
 150  制御部
 151  準備処理部
 152  生成部
 153  学習部
 154  実行部
 

Claims (12)

  1.  テキストデータを基にして、第1ベクトルを算出し、
     前記第1ベクトルと、類似する第1ベクトルを区別する識別情報とを対応付けた第1辞書情報を生成し、
     画像または動画データの説明テキストを基にして、第2ベクトルを算出し、
     前記第2ベクトルと、類似する第2ベクトルを区別する識別情報とを対応付けた第2辞書情報を生成し、
     前記第1辞書情報に登録された類似する第1ベクトルと、前記第2辞書情報に登録された類似する第2ベクトルとを関連付けた教師データを生成し、
     前記教師データを基にして、学習モデルの機械学習を実行する
     処理をコンピュータが実行することを特徴とするモデル学習方法。
  2.  検索クエリを取得した場合に、前記検索クエリの第3ベクトルを算出し、前記第3ベクトルと、前記第1辞書情報とを基にして、前記第3ベクトルに類似する第1ベクトルと、該第1ベクトルと同一の識別情報が付与された第1ベクトルとを含む第1検索結果情報を生成し、前記第3ベクトルと類似する第2ベクトルと、該第2ベクトルと同一の識別が付与された第2ベクトルとを含む第2検索結果情報を生成する処理を更に実行し、
     前記教師データを生成する処理は、前記第1検索結果情報と、前記第2検索結果情報とを基にして、前記教師データを生成することを特徴とする請求項1に記載のモデル学習方法。
  3.  前記第1ベクトルと、記憶装置における前記テキストデータの位置とを対応付けた第1インデックスを生成し、前記第2ベクトルと、記憶装置における前記画像または動画データの位置とを対応付けた第2インデックスを生成する処理を更に実行することを特徴とする請求項1に記載のモデル学習方法。
  4.  前記実行する処理によって、機械学習された学習モデルに、テキストデータの第1ベクトルを入力することで、第2ベクトルを算出し、算出した第2ベクトルと、前記第2インデックスとを基にして、前記第2ベクトルに対応する映像データを、前記記憶装置から検索する処理を更に実行させることを特徴とする請求項3に記載のモデル学習方法。
  5.  テキストデータを基にして、第1ベクトルを算出し、
     前記第1ベクトルと、類似する第1ベクトルを区別する識別情報とを対応付けた第1辞書情報を生成し、
     画像または動画データの説明テキストを基にして、第2ベクトルを算出し、
     前記第2ベクトルと、類似する第2ベクトルを区別する識別情報とを対応付けた第2辞書情報を生成し、
     前記第1辞書情報に登録された類似する第1ベクトルと、前記第2辞書情報に登録された類似する第2ベクトルとを関連付けた教師データを生成し、
     前記教師データを基にして、学習モデルの機械学習を実行する
     処理をコンピュータに実行させることを特徴とするモデル学習プログラム。
  6.  検索クエリを取得した場合に、前記検索クエリの第3ベクトルを算出し、前記第3ベクトルと、前記第1辞書情報とを基にして、前記第3ベクトルに類似する第1ベクトルと、該第1ベクトルと同一の識別情報が付与された第1ベクトルとを含む第1検索結果情報を生成し、前記第3ベクトルと類似する第2ベクトルと、該第2ベクトルと同一の識別が付与された第2ベクトルとを含む第2検索結果情報を生成する処理を更にコンピュータに実行させ、
     前記教師データを生成する処理は、前記第1検索結果情報と、前記第2検索結果情報とを基にして、前記教師データを生成することを特徴とする請求項5に記載のモデル学習プログラム。
  7.  前記第1ベクトルと、記憶装置における前記テキストデータの位置とを対応付けた第1インデックスを生成し、前記第2ベクトルと、記憶装置における前記画像または動画データの位置とを対応付けた第2インデックスを生成する処理を更に実行することを特徴とする請求項5に記載のモデル学習プログラム。
  8.  前記実行する処理によって、機械学習された学習モデルに、テキストデータの第1ベクトルを入力することで、第2ベクトルを算出し、算出した第2ベクトルと、前記第2インデックスとを基にして、前記第2ベクトルに対応する映像データを、前記記憶装置から検索する処理を更に実行させることを特徴とする請求項7に記載のモデル学習プログラム。
  9.  テキストデータを基にして、第1ベクトルを算出し、前記第1ベクトルと、類似する第1ベクトルを区別する識別情報とを対応付けた第1辞書情報を生成し、画像または動画データの説明テキストを基にして、第2ベクトルを算出し、前記第2ベクトルと、類似する第2ベクトルを区別する識別情報とを対応付けた第2辞書情報を生成する準備処理部と、
     前記第1辞書情報に登録された類似する第1ベクトルと、前記第2辞書情報に登録された類似する第2ベクトルとを関連付けた教師データを生成する生成部と、
     前記教師データを基にして、学習モデルの機械学習を実行する学習部と
     を有することを特徴とする情報処理装置。
  10.  前記生成部は、検索クエリを取得した場合に、前記検索クエリの第3ベクトルを算出し、前記第3ベクトルと、前記第1辞書情報とを基にして、前記第3ベクトルに類似する第1ベクトルと、該第1ベクトルと同一の識別情報が付与された第1ベクトルとを含む第1検索結果情報を生成し、前記第3ベクトルと類似する第2ベクトルと、該第2ベクトルと同一の識別が付与された第2ベクトルとを含む第2検索結果情報を生成する処理を更に実行し、前記第1検索結果情報と、前記第2検索結果情報とを基にして、前記教師データを生成することを特徴とする請求項9に記載の情報処理装置。
  11.  準備処理部は、前記第1ベクトルと、記憶装置における前記テキストデータの位置とを対応付けた第1インデックスを生成し、前記第2ベクトルと、記憶装置における前記画像または動画データの位置とを対応付けた第2インデックスを生成する処理を更に実行することを特徴とする請求項9に記載の情報処理装置。
  12.  前記学習部によって、機械学習された学習モデルに、テキストデータの第1ベクトルを入力することで、第2ベクトルを算出し、算出した第2ベクトルと、前記第2インデックスとを基にして、前記第2ベクトルに対応する映像データを、前記記憶装置から検索する実行部を更に有することを特徴とする情報処理装置。
PCT/JP2021/044511 2021-12-03 2021-12-03 モデル学習方法、モデル学習プログラムおよび情報処理装置 WO2023100363A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/044511 WO2023100363A1 (ja) 2021-12-03 2021-12-03 モデル学習方法、モデル学習プログラムおよび情報処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/044511 WO2023100363A1 (ja) 2021-12-03 2021-12-03 モデル学習方法、モデル学習プログラムおよび情報処理装置

Publications (1)

Publication Number Publication Date
WO2023100363A1 true WO2023100363A1 (ja) 2023-06-08

Family

ID=86611743

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/044511 WO2023100363A1 (ja) 2021-12-03 2021-12-03 モデル学習方法、モデル学習プログラムおよび情報処理装置

Country Status (1)

Country Link
WO (1) WO2023100363A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816611A (ja) * 1994-06-27 1996-01-19 Sharp Corp 自然言語に基づくデータ検索装置
WO2020081969A2 (en) * 2018-10-18 2020-04-23 Oracle International Corporation Techniques for ranking content item recommendations

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0816611A (ja) * 1994-06-27 1996-01-19 Sharp Corp 自然言語に基づくデータ検索装置
WO2020081969A2 (en) * 2018-10-18 2020-04-23 Oracle International Corporation Techniques for ranking content item recommendations

Similar Documents

Publication Publication Date Title
JP6893233B2 (ja) 画像に基づくデータ処理方法、装置、電子機器、コンピュータ可読記憶媒体およびコンピュータプログラム
US11062090B2 (en) Method and apparatus for mining general text content, server, and storage medium
US20210150088A1 (en) Building information model (bim) element extraction from floor plan drawings using machine learning
US9349076B1 (en) Template-based target object detection in an image
CN106875941B (zh) 一种服务机器人的语音语义识别方法
CN110446063B (zh) 视频封面的生成方法、装置及电子设备
CN111324743A (zh) 文本关系抽取的方法、装置、计算机设备及存储介质
US20230260326A1 (en) Dance segment recognition method, dance segment recognition apparatus, and storage medium
Laraba et al. Dance performance evaluation using hidden Markov models
WO2023050650A1 (zh) 动画视频生成方法、装置、设备及存储介质
WO2023020005A1 (zh) 神经网络模型的训练方法、图像检索方法、设备和介质
CN113627530B (zh) 相似问题文本生成方法、装置、设备及介质
CN111291695B (zh) 人员违章行为识别模型训练方法、识别方法及计算机设备
Ryumin et al. Towards automatic recognition of sign language gestures using kinect 2.0
CN112328655A (zh) 文本标签挖掘方法、装置、设备及存储介质
US11727710B2 (en) Weakly supervised semantic parsing
CN114639096A (zh) 文本识别方法、装置、电子设备和存储介质
CN113434722B (zh) 图像分类方法、装置、设备及计算机可读存储介质
WO2021104274A1 (zh) 图文联合表征的搜索方法、系统、服务器和存储介质
CN113821663A (zh) 图像处理方法、装置、设备及计算机可读存储介质
CN113822283A (zh) 文本内容处理方法、装置、计算机设备及存储介质
WO2023100363A1 (ja) モデル学習方法、モデル学習プログラムおよび情報処理装置
Sarma et al. Real-Time Indian Sign Language Recognition System using YOLOv3 Model
CN116883737A (zh) 分类方法、计算机设备和存储介质
CN114743018B (zh) 图像描述生成方法、装置、设备及介质

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: 21966442

Country of ref document: EP

Kind code of ref document: A1