WO2022215140A1 - プログラム、情報処理装置、及び情報処理方法 - Google Patents

プログラム、情報処理装置、及び情報処理方法 Download PDF

Info

Publication number
WO2022215140A1
WO2022215140A1 PCT/JP2021/014543 JP2021014543W WO2022215140A1 WO 2022215140 A1 WO2022215140 A1 WO 2022215140A1 JP 2021014543 W JP2021014543 W JP 2021014543W WO 2022215140 A1 WO2022215140 A1 WO 2022215140A1
Authority
WO
WIPO (PCT)
Prior art keywords
encrypted
character string
homomorphic encryption
dictionary
time series
Prior art date
Application number
PCT/JP2021/014543
Other languages
English (en)
French (fr)
Inventor
雅丈 豊田
ジャコモ デレヴァ
公之 茶谷
有人 西守
Original Assignee
株式会社KPMG Ignition Tokyo
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 株式会社KPMG Ignition Tokyo filed Critical 株式会社KPMG Ignition Tokyo
Priority to PCT/JP2021/014543 priority Critical patent/WO2022215140A1/ja
Publication of WO2022215140A1 publication Critical patent/WO2022215140A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling

Definitions

  • the disclosure of this specification relates to a program, an information processing device, and an information processing method.
  • One aspect of the disclosure of the present specification relates to a program, an information processing apparatus, and an information processing method for speech recognition.
  • Non-Patent Document 1 outlines the development trend of speech recognition.
  • Non-Patent Literature 2 Non-Patent Literature 2
  • Non-Patent Document 2 proposes speech recognition using encryption with homomorphic encryption.
  • a speech feature amount time series of input speech is encrypted by a homomorphic encryption method using a public key in a client, and this encrypted speech feature amount time series is sent to a speech recognition server in an off-premises environment. sent.
  • a speech recognition server in an off-premises environment estimates a posterior probability sequence from the encrypted time series of speech features using an acoustic model, and returns this estimated posterior probability sequence to the client.
  • the client decrypts the posterior probability sequence obtained from the speech recognition server using the private key, and generates a character string corresponding to the input speech based on the decrypted posterior probability sequence.
  • Non-Patent Document 2 the posterior probability series is estimated without decrypting the encrypted speech feature amount time series, and the estimation result is returned to the client.
  • speech recognition can be performed using the computational resources of a speech recognition server in an off-premises environment.
  • the processing load on the client is high because the conversion processing from the posterior probability sequence to the character string is performed on the client.
  • a language model or dictionary is used to accurately convert a posterior probability sequence estimated from an input speech or a phoneme string generated from the posterior probability sequence into a character string. Since dictionaries indicate the correspondence between phoneme strings and morphemes (for example, words), it is expected that the conversion accuracy of phoneme strings into character strings will be improved by using excellent dictionaries.
  • One of the more specific objects of the invention disclosed in this specification is to accurately convert to a character string in an off-premises environment without lowering information security in speech recognition performed using resources in an off-premises environment. is to do
  • a program provides one or more processors provided in an off-premises environment with a function of acquiring an encrypted audio time series from an on-premises environment and a cipher encrypted according to the homomorphic encryption scheme. and a function of generating an encrypted character string encrypted according to a homomorphic encryption scheme by analyzing the encrypted speech time series using an encryption dictionary.
  • the encrypted speech sequence is generated by encrypting the speech sequence for identifying the phoneme sequence corresponding to the utterance according to homomorphic encryption.
  • the encrypted audio time series in at least one aspect of the present invention is an encrypted audio feature time series obtained by encrypting the audio feature amount time series representing the feature amount of the utterance in time series according to the homomorphic encryption method.
  • one or more processors can identify a phoneme string corresponding to the utterance based on the encrypted feature amount time series, and encrypted phonemes encrypted according to a homomorphic encryption scheme. Generate columns.
  • the encrypted character string in at least one aspect of the present invention is generated by analyzing the encrypted phoneme string using the encrypted dictionary
  • the encrypted phoneme sequence is obtained by using an acoustic model for identifying phonemes from an input sound to obtain the probability that the sounds included in the utterance are each phoneme from the encrypted speech feature amount time series. It is calculated by estimating the posterior probability series shown.
  • the acoustic model in at least one aspect of the present invention is an encrypted acoustic model encrypted according to the homomorphic encryption scheme in the on-premises environment.
  • the encrypted speech time series in at least one aspect of the present invention is an encrypted phoneme sequence in which a phoneme sequence identifying phonemes corresponding to an utterance is encrypted according to the homomorphic encryption method in the on-premises environment.
  • the encrypted character string in at least one aspect of the present invention is generated further using a language model.
  • the encrypted dictionary in at least one aspect of the present invention is generated by encrypting the first dictionary in the on-premises environment according to the homomorphic encryption scheme.
  • the encrypted character string in at least one aspect of the present invention is generated further using a second dictionary containing plaintext dictionary data, unlike the first dictionary.
  • a program is provided in one or more processors using an encrypted reference dictionary encrypted according to a homomorphic encryption scheme to explain words included in an encrypted character string. Execute a function to generate an encrypted explanatory text which is a text and is encrypted according to a homomorphic encryption scheme.
  • the utterance in at least one aspect of the present invention is utterance in the first language.
  • a program according to at least one aspect of the present invention uses an encrypted translation dictionary encrypted in accordance with a homomorphic encryption method in one or more processors to translate an encrypted string into a second language different from the first language. perform a function that generates an encrypted translation string translated into
  • the encrypted audio time series is encrypted according to homomorphic encryption using a first public key
  • the encrypted dictionary is encrypted according to homomorphic encryption using a second public key. Encrypted.
  • the encrypted character string in at least one aspect of the present invention is generated without using either the first private key paired with the first public key or the second private key paired with the second public key.
  • a program in at least one aspect of the present invention causes one or more processors to execute a function of transmitting an encrypted character string to an information processing device in an on-premises environment.
  • a program according to at least one aspect of the present invention causes one or more processors to store an encrypted string in a storage located in an off-premises environment.
  • At least one aspect of the present invention relates to an information processing device provided in an off-premises environment.
  • An information processing apparatus includes an acquisition unit that can identify a phoneme string represented by an utterance input in an on-premises environment and acquires an encrypted speech time series encrypted according to a homomorphic encryption scheme. and a generation unit that generates an encrypted character string encrypted according to the homomorphic encryption method by analyzing the encrypted speech time series using an encryption dictionary encrypted according to the homomorphic encryption method. , provided.
  • At least one aspect of the present invention relates to an information processing method performed by one or more processors provided in an off-premises environment executing computer readable instructions.
  • An information processing method includes a step of obtaining an encrypted speech time series that can identify a phoneme string represented by an utterance input in an on-premises environment and that is encrypted according to a homomorphic encryption scheme. and generating an encrypted string encrypted according to a homomorphic encryption scheme by analyzing the encrypted speech time series using an encryption dictionary encrypted according to the homomorphic encryption scheme. Prepare.
  • a program is an encrypted image feature amount obtained by encrypting an image feature amount representing a feature amount of an image to be analyzed according to a homomorphic encryption method to one or a plurality of processors provided in an off-premises environment. from the on-premises environment and the encrypted character encrypted according to the homomorphic encryption method by analyzing the encrypted image feature value using the encryption dictionary encrypted according to the homomorphic encryption method.
  • a program encrypts an odor feature value representing a feature value of an odor detection value in a space to be analyzed according to a homomorphic encryption method to one or a plurality of processors provided in an off-premises environment. Encrypted in accordance with the homomorphic encryption method by analyzing the encrypted odor feature value using a function to acquire the encrypted odor feature value from the on-premises environment and an encryption dictionary encrypted in accordance with the homomorphic encryption method. and a function that generates an encrypted string that is
  • FIG. 1 is a block diagram that schematically illustrates a speech recognition system in one aspect of the present invention
  • FIG. 2 is a block diagram showing a user terminal included in the speech recognition system of FIG. 1
  • FIG. 2 is a block diagram showing another user terminal included in the speech recognition system of FIG. 1
  • FIG. 2 is a block diagram showing a server included in the speech recognition system of FIG. 1
  • FIG. FIG. 4 is a diagram schematically showing encrypted dictionary data
  • FIG. 4 is a flow chart showing the flow of speech recognition processing in one aspect of the present invention
  • FIG. 4 is a diagram schematically showing an example of speech waveform data and a phoneme string generated based on the speech waveform data
  • FIG. 4 is a block diagram that schematically illustrates a user terminal included in a speech recognition system in accordance with another aspect of the present invention
  • FIG. 4 is a block diagram that schematically illustrates a server included in the speech recognition system in accordance with another aspect of the present invention
  • FIG. 9 is a flow diagram showing the flow of speech recognition processing in another aspect of the present invention
  • FIG. 9 is a flow diagram showing the flow of speech recognition processing in another aspect of the present invention
  • FIG. 12 is a diagram schematically showing encrypted dictionary data used in the process of FIG. 11
  • FIG. 9 is a flow diagram showing the flow of speech recognition processing in another aspect of the present invention
  • 14 is a diagram schematically showing encrypted dictionary data used in the process of FIG. 13;
  • FIG. 4 is a block diagram that schematically illustrates a speech recognition system in accordance with another aspect of the present invention
  • FIG. 4 is a block diagram that schematically illustrates a speech recognition system in accordance with another aspect of the present invention
  • FIG. 4 is a block diagram that schematically illustrates a speech recognition system in accordance with another aspect of the present invention
  • 1 is a schematic block diagram of an image recognition system in one aspect of the present invention
  • FIG. FIG. 4 is a flowchart showing the flow of image recognition processing in one aspect of the present invention
  • 1 is a block diagram that schematically illustrates an odor recognition system in one aspect of the present invention
  • FIG. FIG. 4 is a flowchart showing the flow of odor recognition processing according to one aspect of the present invention
  • FIG. 1 is a block diagram showing an outline of a speech recognition system 1.
  • the speech recognition system 1 includes a user terminal 10 and a user terminal 20 arranged in the on-premises environment 5, and a server 30 managed and operated by a vendor different from the owner or manager of the on-premises environment 5. ,including. Since the server 30 is operated by a vendor different from the owner/administrator of the on-premises environment 5 , it is in an off-premises environment from the on-premises environment 5 .
  • the server 30 is one of the information processing devices provided in the off-premises environment. Various information processing devices other than the server 30 may be arranged in the off-premises environment, and the information processing devices other than the server 30 may be communicably connected to the illustrated devices.
  • the user terminals 10 and 20 placed in the on-premises environment 5 are communicably connected to each other via the server 30 placed in the off-premises environment and the network 40 .
  • the network 40 may be a single network, or may be configured by connecting a plurality of networks.
  • Network 40 is, for example, the Internet, a mobile communication network, or a combination thereof. Any network that enables communication between information processing devices can be applied as the network 40 .
  • the user terminal 10 acquires voice data obtained by digitizing the voice waveform signal of the sound including the utterance.
  • the voice data may be generated sequentially based on the speech detected by the microphone, or may be generated in advance and accumulated in the storage.
  • the speech recognition system 1 generates a character string corresponding to the utterance contained in this speech data.
  • the user terminal 10 generates an audio time series A1 by performing predetermined signal processing on the audio data.
  • the speech time series A1 may be, for example, a speech feature amount time series that is a time series of feature amounts of speech data, or may be obtained by identifying phonemes represented by speech signals contained in speech data using an acoustic model. It may be a generated phoneme string.
  • the audio time series A1 is encrypted using the public key PK1 according to the homomorphic encryption method (or homomorphic encryption algorithm). Through this encryption processing, an encrypted audio time series E(A1) is generated from the audio time series A1.
  • the user terminal 20 can encrypt the on-premises dictionary data D1 by homomorphic encryption to generate encrypted dictionary data E(D1), and can upload the generated encrypted dictionary data E(D1) to the server 30.
  • the on-premises dictionary data D1 is a data set that structurally stores correspondence relationships between each of a plurality of phoneme strings and morphemes corresponding to each phoneme string. Examples of morphemes are words.
  • the encrypted dictionary data E(D1) is generated in the on-premises environment 5 by encrypting the on-premises dictionary data D1 with the public key PK1 according to the homomorphic encryption scheme.
  • the on-premises dictionary D1 may be encrypted according to the homomorphic encryption scheme with a public key different from the public key PK1.
  • the private key paired with the public key PK1 is stored by storing the encrypted dictionary data E (D1) encrypted using the public key PK2 instead of storing the on-premises dictionary D1 in plaintext. It is possible to prevent the user terminal 10 that can use SK1 from being authorized to decrypt the on-premises dictionary data D1. As a result, confidential information can be managed within the on-premises environment 5 .
  • the server 30 receives from the user terminal 10 the encrypted audio time series E(A1) encrypted according to the homomorphic encryption scheme.
  • the server 30 can retain encrypted dictionary data E(D1) generated by encrypting the on-premises dictionary data D1 according to the homomorphic encryption method.
  • the server 30 uses the encrypted dictionary data E(D1) to generate an encrypted encrypted character string E(T1) corresponding to the phoneme string represented by the encrypted speech time series E(A1).
  • the encrypted character string E(T1) is generated, for example, by pattern matching using the encrypted dictionary data E(D1).
  • the encrypted character string E(T1) generated in this manner is transmitted to the user terminal 10 .
  • the user terminal 10 uses the private key SK1 paired with the public key PK1 to decrypt the encrypted character string E(T1) obtained from the server 30 and generate a plaintext character string T1.
  • Encrypted character string E(T1) generated from encrypted speech time series E(A1) using encrypted dictionary data E(D1) due to the homomorphism of the encryption method used in the speech recognition system 1 is the same as the character string generated by performing pattern matching on the plaintext speech time series A1 using the plaintext on-premises dictionary data D1.
  • the character string T1 obtained by decrypting the encrypted character string E(T1) is obtained from the plaintext audio time series A1 using the plaintext on-premises dictionary data D1.
  • the user terminal 10 can use this character string T1 for various purposes. For example, by recording the speech of the conference and processing the speech of the conference with the speech recognition system 1, a character string including the text corresponding to the speech of the conference can be obtained. The string thus obtained can be used as the minutes of the meeting.
  • the encrypted dictionary data E (D1) encrypted according to the homomorphic encryption method is used in the server 30 in the off-premises environment.
  • An encrypted character string E(T1) can be generated from the encrypted audio time series E(A1), and the user terminal 10 obtains a plaintext character string T1 by decrypting the encrypted character string E(T1). be able to. Therefore, according to the speech recognition system 1, speech recognition can be performed using computational resources of the server 30 without passing the secret key SK1 to the server 30 in the off-premises environment.
  • the server 30 uses the encrypted dictionary data E(D1) when converting the encrypted audio time series E(A1) into the encrypted character string E(T1), the on-premises dictionary data D1 is used as the off-premises dictionary data. It is possible to prevent leakage of confidential information due to being analyzed in the environment.
  • the on-premises dictionary data D1 which is assumed to be used only in the on-premises environment 5, may contain information that is not assumed to be disclosed to the off-premises environment. Even if the individual correspondences between the phoneme strings and the morphemes contained in the on-premises dictionary data D1 are not highly confidential, by analyzing the on-premises dictionary data D1, it is possible to identify the activities of entities using the on-premises dictionary data D1 Strategy can be guessed. Therefore, when using the on-premises dictionary data D1 to convert a phoneme string into a character string, it is not desirable from the viewpoint of information security to allow an information processing apparatus in an off-premises environment to use the on-premises dictionary in plain text.
  • the server 30 in the off-premises environment uses the encrypted dictionary data E (D1) encrypted according to the homomorphic encryption method instead of the plaintext on-premises dictionary. Since the modified character string E(T1) is generated, information leakage due to analysis of the on-premises dictionary in an off-premises environment is prevented. Further, in the server 30 in the off-premises environment, the encrypted audio time series E(A1) is converted into the encrypted character string E(T1), and after the conversion, the encrypted character string E(T1) becomes the ciphertext. is transmitted to the user terminal 10 as it is. Thus, since the plaintext speech time series A1 and the plaintext character string T1 are not held in the server 30, according to the speech recognition system 1, information leakage through speech data or character strings converted from the speech data is also prevented. ing.
  • the server 30 can convert a phoneme string into a character string by using other dictionaries in addition to the encrypted dictionary data E (D1) in which the on-premises dictionary is encrypted. If all the dictionaries used by the server 30 are encrypted in the on-premises environment 5, the processing load in the on-premises environment 5 becomes high, and the advantage of speech recognition using computational resources in the off-premises environment is diminished. Therefore, in at least one embodiment of the present invention, dictionaries are divided into two types, and only dictionaries of types that require encryption are encrypted in the on-premises environment 5 .
  • a first dictionary belonging to the first type is a dictionary that contains data that may lead to deterioration of information security
  • a second dictionary that belongs to the second type is a dictionary that does not contain data that may lead to deterioration of information security.
  • One specific example of the first dictionary is an on-premises dictionary that is assumed to be used only in the on-premises environment 5 .
  • An on-premises dictionary is a dictionary that is not exposed to the off-premises environment.
  • the on-premises dictionary includes, for example, on-premises dictionary data D1 that associates character strings representing words frequently used by users of the on-premises environment 5 with phoneme strings.
  • the second dictionary is, for example, a general-purpose dictionary open to the public. Unlike the first dictionary, the second dictionary does not contain information that would compromise the information security of a particular entity. On the other hand, because of its versatility, the second dictionary contains words (or corresponding relationships between words and phoneme strings) used when analyzing input speech relating to specific technical content or topics unique to specific entities. is assumed not to cover As a result, if conversion from a phoneme string to a character string is performed using only the second dictionary without using the first dictionary, utterances related to technical content or content unique to the user of the on-premises environment 5 can be converted to a character string. There is a possibility that the conversion accuracy may be degraded during conversion.
  • the encrypted dictionary data E (D1) obtained by encrypting the first dictionary in accordance with the homomorphic encryption scheme can be used on the server 30, so that users of the on-premises environment 5 can While preventing the deterioration of information security, the encrypted dictionary data E (D1) covers words that are not covered by the general-purpose second dictionary. Conversion accuracy can be improved.
  • the object of encryption by the homomorphic encryption method can be limited to the first dictionary, there is no need to encrypt the second dictionary including general-purpose terms. processing load can be reduced.
  • users of the on-premises environment 5 need only manage and update the dictionary data for the first dictionary.
  • the dictionary data for example, changes in correspondence between phoneme strings and words, addition of new correspondences between phoneme strings and words, and dictionaries for making dictionary data other than the above more desirable state Contains data changes. Since a general-purpose dictionary can be used as the second dictionary, management and updating of the second dictionary may be performed by an external dictionary editor or publisher of the second dictionary.
  • the encrypted character string E(T1) converted from the encrypted audio time series E(A1) is ciphertext, it can be stored in an off-premises environment without reducing information security.
  • the encrypted character string E(T1) is stored in the off-premises environment, and the information processing device in the on-premises environment 5 acquires the encrypted character string E(T1) from the storage in the off-premises environment as needed, thereby storing the encrypted character string E(T1) in the on-premises environment 5. storage capacity can be saved.
  • FIGS. 2 to 5 are schematic block diagrams of user terminal 10, user terminal 20, and server 30, respectively.
  • FIG. 5 is a diagram schematically showing encrypted dictionary data E (D1) provided in server 30.
  • the user terminal 10 and the user terminal 20 are information processing devices arranged in the on-premises environment 5, and the server 30 is arranged outside the on-premises environment 5 (that is, in an off-premises environment). It is an information processing device.
  • the user terminal 10 and the user terminal 20 are illustrated as physically separate devices, but the functions of the user terminal 10 and the user terminal 20 are physically executed by a single information processing device. good too.
  • user terminal 10 comprises processor 11 , memory 12 , user interface 13 , communication interface 14 and storage 15 .
  • the user terminal 20 comprises a processor 21, a memory 22, a user interface 23, a communication interface 24 and a storage 25.
  • server 30 comprises processor 31 , memory 32 , user interface 33 , communication interface 34 and storage 35 .
  • the processor 11 is an arithmetic device that loads an operating system and various other programs from the storage 15 or other storage into the memory 12 and executes instructions contained in the loaded programs.
  • the processor 11 is, for example, a CPU, MPU, DSP, GPU, various arithmetic units other than these, or a combination thereof.
  • the processor 11 may be realized by integrated circuits such as ASIC, PLD, FPGA, and MCU.
  • the memory 12 is used to store instructions executed by the processor 11 and various other data.
  • the memory 12 is a main storage device (main memory) that the processor 11 can access at high speed.
  • the memory 12 is, for example, a RAM such as a DRAM or an SRAM.
  • the user interface 13 includes an input interface that receives user input and an output interface that outputs various information under the control of the processor 11 .
  • the input interface includes, for example, a microphone that converts sound into electrical signals.
  • the input interface is a keyboard, a pointing device such as a mouse, a touch panel, or any other information input device capable of inputting a user's input.
  • the output interface is, for example, a liquid crystal display, a display panel, or any other information output device capable of outputting the calculation results of the processor 11 .
  • the communication interface 14 is implemented as hardware, firmware, communication software such as a TCP/IP driver or PPP driver, or a combination thereof.
  • the user terminal 10 can transmit and receive data via the communication interface 14 to and from the information equipment located in the on-premises environment 5 and the server 30 located in the off-premises environment.
  • the storage 15 is an external storage device accessed by the processor 11 .
  • the storage 15 is, for example, a magnetic disk, an optical disk, a semiconductor memory, or various other storage devices capable of storing data.
  • the processor 21, the memory 22, the user interface 23, the communication interface 24, and the storage 25 provided in the user terminal 20, and the processor 31, the memory 32, the user interface 33, the communication interface 34, and the storage 35 provided in the server 30 are respectively , the processor 11 , the memory 12 , the user interface 13 , the communication interface 14 , and the storage 15 provided in the user terminal 10 .
  • processor 21 and processor 31 may each be configured similarly to processor 11 . Therefore, detailed descriptions of the hardware configurations of the user terminal 20 and the server 30 are omitted.
  • the user terminal 10 executes the commands included in the program stored in the storage 15 and other commands as necessary to obtain the voice acquisition unit 11a, the feature extraction unit 11b, the encryption unit 11c, and the transmission unit 11d. , and a decoding unit 11e.
  • the voice acquisition unit 11a acquires voice data obtained by converting sound including speech into an electrical signal.
  • the speech acquisition unit 11a performs sampling processing and quantization processing on an analog speech waveform signal representing a sound detected by a microphone, which is a part of the user interface 13, for example, so that the speech waveform signal is digitized. Audio data can be generated.
  • the voice acquisition unit 11a may sequentially convert sounds detected by a microphone into voice data, or may acquire pre-digitized voice data from the storage 15 or other storage devices.
  • the feature extraction unit 11b acquires the voice data from the voice acquisition unit 11a, and performs a known calculation for calculating the feature amount for each unit time (for example, 10 msec) on the acquired voice data, thereby extracting the voice feature amount time.
  • Acquire series A11 is time series data representing the audio feature amount in time series.
  • the audio feature amount time series A11 may be a feature amount time series calculated by non-parametric analysis such as Mel-Frequency Cepstral Coefficient, or a specific model is applied to the audio signal. (that is, by parametric analysis).
  • the audio feature quantity time series A11 is an example of the audio time series A1 described with reference to FIG.
  • the feature extraction unit 11b can perform various known calculations on the audio data in order to calculate the audio feature amount time series A11. For example, the feature extraction unit 11b can perform various operations such as Fourier transform and discrete cosine transform on the audio signal included in the audio data in order to calculate the mel-frequency cepstrum coefficients.
  • the encryption unit 11c generates an encrypted feature amount time series E(A11) by encrypting the audio feature amount time series A11 calculated by the feature extraction unit 11b according to the homomorphic encryption method.
  • a public key PK1 paired with a private key SK1 in a key pair 15a stored in the storage 15 is used for encryption by the homomorphic encryption method by the encryption unit 11c.
  • the encryption unit 11c divides the audio feature amount time series A11 into unit frames for encryption, and encrypts each of the divided audio feature amount time series A11.
  • a feature amount time series E(A11) can be generated.
  • the encrypted feature amount time series E(A11) may be a ciphertext series obtained by encrypting the audio feature amount time series A11 divided into unit frames.
  • the transmission unit 11d can transmit the encrypted feature amount time series E(A11) generated by the encryption unit 11c to the server 30 for speech recognition processing.
  • the decryption unit 11e generates a plaintext character string T1 by decrypting the encrypted character string E(T1) received from the server 30 with the secret key SK1. Generation of the encrypted character string E(T1) in the server 30 will be described later.
  • the character string T1 generated by the decryption unit 11e may be stored in the storage 15. FIG.
  • the user terminal 10 can use the character string T1 stored in the storage 15 to perform document creation, text analysis, machine learning, and various other processes.
  • the user terminal 20 is an information processing device used for managing the on-premises dictionary data D1.
  • the user terminal 10 functions as a dictionary management unit 21a, an encryption unit 21b, and a transmission unit 21c by executing commands included in the programs stored in the storage 25 and other commands as necessary.
  • the dictionary management unit 21a manages an on-premises dictionary that defines the correspondence relationship between each morpheme and the phoneme string corresponding to each morpheme for each of a plurality of morphemes (eg, words) used in the on-premises environment 5.
  • the on-premises dictionary can be stored in the storage 25 in the form of on-premises dictionary data D1 that associates, for each of a plurality of words, a character string representing each word with a phoneme string representing the word.
  • the phoneme string may have a decision tree network structure in which the phonemes forming the phoneme string are nodes.
  • phonemes common to a plurality of phoneme strings may be aggregated into a common node for efficient searching.
  • the dictionary management unit 21a can update, manage, edit, correct, add, and process other than the above for the on-premises dictionary data D1.
  • the dictionary management unit 21a can analyze documents used in the on-premises environment 5 and add words whose frequency of use is higher than a certain standard to the on-premises dictionary.
  • the dictionary management unit 21a compares words registered in a general-purpose dictionary generally available for speech recognition (available outside the on-premises environment 5) with words registered in the on-premises dictionary, and registers the words in the general-purpose dictionary. Unsigned words can be added to the on-premises dictionary.
  • the dictionary management unit 21a may analyze general-purpose dictionaries available on the server 30 and delete words registered in the general-purpose dictionary from the on-premises dictionary.
  • the dictionary management unit 21a can perform various processes other than those described above to improve the on-premises dictionary.
  • the encryption unit 21b generates encrypted dictionary data E(D1) by encrypting at least part of the on-premises dictionary data D1 according to the homomorphic encryption method.
  • the public key PK1 paired with the secret key SK1 in the key pair 25a stored in the storage 25 is used.
  • the encryption unit 21b may encrypt the on-premises dictionary data D1 using a key pair different from the key pair in which the private key SK1 and the public key PK1 are associated.
  • the transmission unit 21c can transmit the encrypted dictionary data E(D1) generated by the encryption unit 21b to the server 30.
  • the encrypted dictionary data E (D1) can be stored in the storage 35 of the server 30.
  • FIG. 5 schematically shows an example of encrypted dictionary data E(D1).
  • Encrypted dictionary data E (D1) contains encrypted character strings generated by encrypting character strings representing the words by homomorphic encryption, and phonemes representing the sounds of uttering the words. This data set is associated with an encrypted phoneme string generated by encrypting the string by homomorphic encryption.
  • the encrypted character string "E (audit)" obtained by encrypting the character string "audit” according to the homomorphic encryption method is the phoneme string representing the sound of uttering this "audit".
  • the server 30 executes commands included in the program stored in the storage 35 and other commands as necessary to obtain the receiving unit 31a, the phoneme string extracting unit 31b, the character string converting unit 31c, and the transmitting unit. 31d.
  • the receiving unit 31a receives the encrypted feature amount time series E(A11) from the user terminal 10. Further, as described above, the receiving unit 31 a can receive the encrypted dictionary data E(D1) from the user terminal 20 and store the received encrypted dictionary data E(D1) in the storage 35 .
  • the storage 35 may store the general-purpose dictionary data D2 of the general-purpose dictionary in addition to the encrypted dictionary E (D1) obtained by encrypting the dictionary data D1 of the on-premises dictionary.
  • the general-purpose dictionary data D2 is a data set that structurally stores the correspondence relationship between the phoneme string when each morpheme is uttered and the character string of each morpheme, similar to the on-premises dictionary data D1.
  • the phoneme sequence extraction unit 31b uses the acoustic model 35a stored in the storage 35 to extract the encrypted phoneme sequence E (A12) that best matches the encrypted feature quantity time series E (A11). For example, the phoneme sequence extraction unit 31b uses the acoustic model 35a to estimate a posterior probability sequence indicating the probability that the feature quantity of each unit time of the encrypted feature quantity time series E (A11) is each phoneme, and A phoneme that best matches the feature can be determined based on the probability series. Based on this posterior probability series, the encrypted phoneme sequence E(A12) can be generated from the encrypted feature amount time series E(A11).
  • Non-Patent Document 2 describes that an a posteriori probability sequence can be calculated from feature values encrypted by a homomorphic encryption method.
  • the phoneme sequence extraction unit 31b uses the acoustic model 35a to generate the encrypted feature value time series E(A11) that best matches the encrypted feature value time series E(A11) without decrypting the encrypted feature value time series E(A11).
  • a phoneme string E(A12) can be extracted.
  • the phoneme string extraction unit 31b can also extract the encrypted phoneme string E(A12) from the encrypted feature quantity time series E(A11) by Viterbi search or cosine matching using the Viterbi algorithm.
  • the acoustic model 35a is a mathematical model that gives the probability p(X
  • Various known acoustic models can be used as the acoustic model 35a.
  • the acoustic model 35a may be a model that expresses features of each phoneme using a three-state Hidden Markov Model.
  • the acoustic model 35a is designed from a large amount of training data to cover all phonemes of the language to be analyzed. For example, when recognizing Japanese speech, the acoustic model 35a can be generated so as to cover all Japanese phonemes.
  • a neural network can also be used as the acoustic model 35a.
  • a deep neural network DNN: Deep Neural Network
  • LSTM Long Short-Term Memory Network
  • the character string converter 31c uses at least one of the encrypted dictionary data E (D1) and the general-purpose dictionary data D2 and the language model 35b to encrypt the encrypted phoneme string E (A12) generated by the phoneme string extractor 31b. character string E(T1). Since the computation by the character string converter 31c is executed without decrypting the encrypted phoneme string E(A12), the character string output from the character string converter 31c is also encrypted.
  • the character string conversion unit 31c performs pattern matching, for example, between the encrypted phoneme string E (A12) and the phoneme string included in at least one of the encrypted dictionary data E (D1) and the general-purpose dictionary data D2, and converts the encrypted phoneme string into A word or non-word morpheme that matches the phoneme string contained in E(A12) can be determined.
  • the character string conversion unit 31c for example, performs a forward search to register a predetermined unit of phoneme strings included in the encrypted phoneme string E(A12) in at least one of the encrypted dictionary data E(D1) and the general-purpose dictionary data D2. If the morpheme matches the phoneme string, the morpheme can be taken as the character string corresponding to the phoneme string.
  • the phoneme string of predetermined units to be converted included in the encrypted phoneme string E (A12) is a ciphertext of "/k/, /a/, /n/, /s/, /a/",
  • the encrypted phoneme string "/k/, /a/, /n/, /s/, /a/” and the encrypted character string "audit" in the encrypted dictionary data E (D1) are If it is associated, the encrypted character string "audit" corresponds to the phoneme string "/k/, /a/, /n/, /s/, /a/" to be converted.
  • the character string conversion unit 31c converts the phoneme string of predetermined units to be converted included in the encrypted phoneme string E(A12) into phoneme strings registered in at least one of the encrypted dictionary data E(D1) and the general-purpose dictionary data D2. Even if it does not completely match the string, if the degree of matching is higher than a predetermined reference value, the character string associated with the phoneme string having the high degree of matching is associated with the phoneme string to be converted. Can be a string.
  • general-purpose dictionary data D2 may or may not be encrypted. If the general-purpose dictionary data D2 is also required to be encrypted in the pattern matching algorithm in the character string conversion unit 31c, the general-purpose dictionary data D2 is encrypted by the homomorphic encryption method and stored in the storage 35, and pattern matching is performed. In some cases, encrypted general-purpose dictionary data D2 may be used. In this case, the server 30 may acquire the public key PK1 from the user terminal 10 or 20, and homomorphically encrypt the general-purpose dictionary data D2 using the public key PK1.
  • the general-purpose dictionary data D2 may indicate either plaintext general-purpose dictionary data or encrypted general-purpose dictionary data.
  • the language model 35b is a mathematical model that represents the appearance probability of chains of character strings (word strings, etc.) in a certain language.
  • the language model 35b expresses the occurrence probability using a chain of n words as a chain of words
  • the language model 35b is called an n-gram language model.
  • a trigram (3-gram) language model using three-word chains is widely used, and in at least one embodiment of the present invention, this known trigram language model can be used.
  • the probability of occurrence of a string chain is generated based on a corpus of sentence examples.
  • the character string conversion unit 31c uses the appearance probability of the word string represented by the language model 35b as a weight to determine the character string that best matches the encrypted phoneme string E (A12), and outputs the determined character string. be able to.
  • the acoustic model 35a and language model 35b may or may not be encrypted by homomorphic encryption.
  • both the acoustic model and the language model can be represented by a weighted finite-state transducer with probability values as weights.
  • the encrypted character string E(T1) can be generated from the encrypted feature amount time series E(A11) by a single finite state transducer that combines the acoustic model and the language model.
  • the server 30 in one embodiment of the present invention uses a single finite-state transducer that combines an acoustic model and a language model to convert an encrypted feature value time series E (A11) to an encrypted character string E (T1). can be provided with a function to generate
  • the transmission unit 31d can transmit the encrypted character string E(T1) generated by the character string conversion unit 31c to the user terminal 10.
  • step S11 the user terminal 10 acquires audio data obtained by converting sound including an utterance to be analyzed into an electric signal.
  • the audio data to be acquired is, for example, a digitally converted audio waveform signal s1 as shown in FIG. 7(a).
  • the digitized speech waveform signal s1 is a signal representing time-series changes in the amplitude of the sound to be analyzed.
  • sounds detected by the microphone may be sequentially converted into audio data, or audio data collected in advance and digitized may be acquired from the storage 15 or other storage device. Acquisition of voice data may be performed by the voice acquisition unit 11a.
  • step S12 an audio feature amount is calculated for each unit time from the audio data acquired in step S11, and an audio feature amount time series A11, which is the time series of the audio feature amount, is generated.
  • the speech feature quantity calculated in step S12 is, for example, a mel-frequency cepstrum coefficient.
  • the generation of the audio feature quantity time series A11 may be performed by the feature extraction unit 11b.
  • step S13 the speech feature amount time series A11 calculated in step S12 is encrypted using the public key PK1 according to the homomorphic encryption method to generate an encrypted feature amount time series E(A11).
  • the audio feature amount time series A1 may be divided into frames, and the audio feature amount time series A11 may be encrypted for each divided portion.
  • This encrypted feature quantity time series E(A11) is transmitted from the user terminal 10 to the server 30 .
  • the encryption of the audio feature amount time series A11 in step S13 may be performed by the encryption unit 11c. Transmission of the encrypted feature value time series E(A11) to the server 30 may be performed by the transmission unit 11d.
  • the encrypted phoneme sequence E(A12) that best matches the encrypted feature time series E(A11) is extracted in step S14.
  • the acoustic model 35a is used for the process of extracting the encrypted phoneme string E(A12) from the encrypted feature amount time series E(A11).
  • the acoustic model 35a is used to generate the encrypted phoneme sequence E(A12) that best matches the encrypted feature amount time series E(A11).
  • the speech data includes the speech waveform signal s1 representing the utterance of "kansa”, if no misrecognition occurs, as shown in FIG.
  • FIG. 7 shows a speech waveform signal s1 corresponding to speech data representing one word “audit” and an encrypted phoneme sequence E (A12) generated based on the speech waveform signal s1.
  • the speech data to be subjected to speech recognition in the speech recognition system 1 may be data representing the sound of uttering a word string or sentence containing a plurality of words and other morphemes.
  • step S15 the encrypted phoneme string E(A12) generated in step S14 is converted into an encrypted character string E(T1).
  • At least one of the encrypted dictionary data E(D1) and the general dictionary data D2 is used to convert the encrypted phoneme string E(A12) into the encrypted character string E(T1).
  • the language model 35b may be used for conversion into the encrypted character string E(T1) in step S15.
  • step S15 for example, pattern matching is performed between the encrypted phoneme string E (A12) and the phoneme string included in at least one of the encrypted dictionary data E (D1) and the general-purpose dictionary data D2. A word or a morpheme other than a word that matches the phoneme string included in A12) is determined.
  • the phoneme string of predetermined units to be converted included in the encrypted phoneme string E (A12) is a ciphertext of "/k/, /a/, /n/, /s/, /a/", and the encrypted dictionary Data E(D1) is associated with the encrypted phoneme string "E(k)E(a)E(n)E(s)E(a)” and the encrypted character string "audit".
  • the encrypted string of "audit" is determined as the encrypted string E(T1).
  • the appearance probability of the word string represented by the language model 35b is used as a weight to convert the encrypted phoneme string E (A12) into the encrypted character string.
  • Transformation to column E(T1) can be performed more accurately.
  • the conversion from the encrypted phoneme string E(A12) to the encrypted character string E(T1) may be performed by the character string converter 31c.
  • the encrypted character string E(T1) generated in step S15 is transmitted to the user terminal 10.
  • FIG. Transmission of the encrypted character string E(T1) to the user terminal 10 may be performed by the transmission unit 31d.
  • the encrypted character string E(T1) is received by the user terminal 10, in step S16, the encrypted character string E(T1) is encrypted using the private key SK1 paired with the public key PK1 used in step S13. It is decrypted to generate a plain text string T1.
  • the voice waveform signal s1 represents the utterance "audit" contained in the voice data
  • the plaintext character string T1 generated in step S16 becomes "audit” if there is no misrecognition.
  • the decryption process of decrypting the encrypted character string E(T1) to generate the character string T1 may be performed by the decryption unit 11e.
  • the server 30 recognizes speech data containing sounds corresponding to the phoneme strings "/k/, /a/, /n/, /s/, /a/” acquired by the user terminal 10. Processing is performed, and a character string "audit" corresponding to the utterance in the speech data is obtained as a speech recognition result.
  • the server 30 extracts the encrypted phoneme sequence E (A12) from the encrypted feature amount time series E (A11) encrypted according to the homomorphic encryption method, and extracts the encrypted phoneme sequence E (A12) is converted into an encrypted character string E(T1) and transmitted to the user terminal 10.
  • FIG. Encrypted dictionary data E(D1) encrypted according to the homomorphic encryption system is used for conversion from the encrypted phoneme string E(A12) to the encrypted character string E(T1). Therefore, according to the speech recognition system 1, not only the speech features provided to the server 30 but also the on-premise dictionary data D1 used by the server 30 are encrypted. Speech recognition can be performed using the computational resources of the server 30 located in the .
  • the encrypted dictionary data E (D1) obtained by encrypting the on-premises dictionary D1 according to the homomorphic encryption method is used.
  • words used in specific topics in the on-premises environment 5, highly specialized words used in the on-premises environment 5, etc. can also be converted into character strings with high accuracy.
  • the on-premises The encrypted dictionary data E (D1) provided from the environment 5 may be preferentially selected.
  • the on-premises environment 5 is the computing environment of an audit firm and the on-premises dictionary data D1 is the dictionary data of the audit domain.
  • the encrypted dictionary data E (D1) is preferentially selected, so that the voice feature amount time series from the auditing firm can be converted into a character string in the audit domain, and the accuracy of conversion into a character string is improved. .
  • FIG. 8 is a block diagram of a user terminal 10 included in a speech recognition system according to another embodiment of the present invention
  • FIG. 9 is a block diagram schematically showing a server 30 included in the speech recognition system
  • FIG. 10 is a flowchart showing the flow of speech recognition processing in the speech recognition system.
  • the user terminal 10 extracts the phoneme string from the speech features
  • the server 30 acquires the encrypted phoneme string E(A12) from the user terminal 10. 2 to 4
  • the server 30 extracts the phoneme string in converting the encrypted phoneme string E(A12) received from the user terminal 10 into the encrypted character string E(T1). different from the present embodiment.
  • the processor 11 of the user terminal 10 executes the instructions included in the program stored in the storage 15 and other instructions as necessary to extract the phoneme sequence.
  • 111a also functions.
  • the phoneme sequence extraction unit 111a uses the acoustic model 115a stored in the storage 15 to extract the phoneme sequence E(A12) that best matches the speech feature quantity time series A11 generated by the feature extraction unit 11b.
  • Acoustic model 115a may be configured similarly to acoustic model 35a.
  • the phoneme sequence extraction unit 111a can extract the phoneme sequence E (A12) from the speech feature quantity time series A11 using the same algorithm as the phoneme sequence extraction unit 31b.
  • the phoneme string extraction unit 31b can extract the encrypted phoneme string E(A12) from the encrypted feature amount time series E(A11). Since the processing in the phoneme sequence extraction unit 111a is performed in the on-premises environment 5, the plaintext phoneme sequence A12 is extracted from the plaintext feature amount time series A11. The phoneme sequence extraction unit 111a can generate the phoneme sequence A12 by the same processing as the phoneme sequence extraction unit 31b, except that the input and output are not encrypted (that is, plaintext).
  • the phoneme string A12 generated by the phoneme string extraction unit 111a is output to the encryption unit 11c.
  • the encryption unit 11c encrypts the phoneme sequence A12 generated by the phoneme sequence extraction unit 111a according to the homomorphic encryption method to generate an encrypted phoneme sequence E(A12).
  • the transmission unit 11d can transmit the encrypted phoneme sequence E(A12) generated by the encryption unit 11c to the server 30 for speech recognition processing.
  • the server 30 receives the encrypted phoneme sequence E(A12) transmitted from the user terminal 10 at the receiving unit 31a.
  • the processor 31 of the server 30 executes the instructions included in the program stored in the storage 35 and other instructions as necessary to obtain the receiving unit 31a, the character string It functions as a conversion unit 31c and a transmission unit 31d.
  • the server 30 shown in FIG. 9 does not need to perform the function of the phoneme string extractor 31b.
  • the character string converter 31c uses at least one of the encrypted dictionary data E (D1) and the general-purpose dictionary data D2 and, if necessary, the language model 35b to convert the encrypted phoneme string received by the receiver 31a into Convert E(A12) to encrypted string E(T1).
  • the conversion from the encrypted phoneme string E(A12) to the encrypted character string E(T1) is as described above.
  • step S111 the user terminal 10 acquires audio data obtained by converting a sound including an utterance to be analyzed into an electrical signal.
  • step S112 an audio feature amount is calculated for each unit time from the audio data acquired in step S111, and an audio feature amount time series A11, which is a time series of the audio feature amount, is generated.
  • step S113 the acoustic model 115a is used to generate a phoneme sequence A12 that best matches the speech feature quantity time series A11 generated in step S112.
  • the speech data includes a speech waveform signal s1 representing the utterance of “kansa”
  • /k A phoneme string is generated that includes phonemes /, /a/, /n/, /s/, and /a/ in this order.
  • the extraction of the phoneme string A12 in step S113 may be performed, for example, by the phoneme string extraction unit 111a.
  • step S114 the phoneme string A12 generated in step S113 is encrypted using the public key PK1 according to the homomorphic encryption method to generate an encrypted phoneme string E(A12).
  • the encrypted phoneme sequence E(A12) is an example of the encrypted speech time series (E(A1)) described with reference to FIG.
  • This encrypted phoneme sequence E(A12) is transmitted from the user terminal 10 to the server 30 .
  • the encryption of the phoneme string A12 in step S13 may be performed by the encryption unit 11c. Transmission of the encrypted phoneme sequence E(A12) to the server 30 may be performed by the transmission unit 11d.
  • the encrypted phoneme string E(A12) is received by the server 30, the encrypted phoneme string E(A12) is converted into the encrypted character string E(T1) in step S115.
  • At least one of the encrypted dictionary data E(D1) and the general-purpose dictionary data D2 and, if necessary, the language model 35b are used to convert the encrypted phoneme string E(A12) into the encrypted character string E(T1). be.
  • the encrypted character string E(T1) generated in step S115 is transmitted to the user terminal 10.
  • the conversion from the encrypted phoneme string E(A12) to the encrypted character string E(T1) may be performed by the character string converter 31c. Transmission of the encrypted character string E(T1) to the user terminal 10 may be performed by the transmission unit 31d.
  • step S116 When the encrypted character string E(T1) is received by the user terminal 10, in step S116, the encrypted character string E(T1) is decrypted using the private key SK1 paired with the public key PK1 to obtain plaintext characters. A column T1 is generated.
  • the decryption process of decrypting the encrypted character string E(T1) to generate the character string T1 may be performed by the decryption unit 11e.
  • the server 30 performs speech recognition processing on speech data including sounds corresponding to the phonemes "/k/, /a/, /n/, /s/, /a/" acquired by the user terminal 10. is performed, and a character string "audit" corresponding to the utterance in the speech data is obtained as a speech recognition result.
  • the data transmitted from the user terminal 10 to the server 30 for speech recognition is the encrypted phoneme sequence E(A12). Since the encrypted phoneme sequence E(A12) has a smaller data amount than the encrypted feature time series E(A11), according to the embodiments shown in FIGS. In addition to being able to perform speech recognition using computational resources of the server 30 in an off-premises environment, the amount of communication between the user terminal 10 and the server 30 can be reduced. Further, since the acoustic model 115a is stored in the storage 15 of the on-premises environment 5, the acoustic model 115a can be easily updated.
  • FIG. 11 is a flowchart showing the flow of speech recognition processing in another embodiment of the present invention
  • FIG. 12 schematically shows encrypted dictionary data E (D11) used in the processing shown in FIG. is a diagram shown in FIG.
  • the voice recognition process shown in FIG. 11 is added with a process of generating an encrypted explanatory text explaining the meaning and definition of the words contained in the encrypted character string E(T1) generated by the character string converter 31d. is different from the speech recognition process shown in FIG.
  • the encrypted dictionary data E (D11) used in this embodiment is generated by encrypting character strings representing a plurality of words using a homomorphic encryption method.
  • An encrypted character string generated by homomorphic encryption an encrypted phoneme string generated by encrypting the phoneme string representing the sound of the word uttered, and the definition or explanation of the word using homomorphic encryption This data set is associated with the encrypted explanation.
  • the encrypted character string "E (audit)" obtained by encrypting the character string "audit” according to the homomorphic encryption method is the phoneme string representing the sound of uttering this "audit".
  • Encrypted phoneme sequence "E(k)E(a)E(n)E(s)E(a)” encrypted according to the homomorphic encryption method, and "corporate management activities and their Judge and report the accuracy and validity of the result" is associated with the encrypted explanation encrypted according to the homomorphic encryption method.
  • an encrypted character string obtained by encrypting the character string representing the word according to the homomorphic encryption method and an encrypted character string obtained by encrypting the phoneme string representing the utterance sound of the word according to the homomorphic encryption method.
  • a phoneme string and an encrypted explanation obtained by encrypting the explanation of the word according to the homomorphic encryption method are stored in association with each other.
  • the encrypted character string E ( T1) is generated.
  • step S211 using the encrypted dictionary data E(D11), the encrypted explanatory text E( T11) is extracted. For example, if the encrypted character string E(T1) generated in step S15 is "E (audit)", then “E (corporate management activities and Judge and report the accuracy and validity of the result)” is extracted as the encrypted explanation E(T11).
  • the generation of the encrypted explanatory text E(T11) is performed without decrypting the encrypted string E(T1). Therefore, the encrypted explanatory text E(T11) is also a ciphertext encrypted by the homomorphic encryption method.
  • the encrypted explanation E(T11) generated in step S211 is transmitted to the user terminal 10 together with the encrypted character string E(T1) generated in step S15.
  • step S212 When the encrypted character string E(T1) and the encrypted explanation E(T11) are received by the user terminal 10, in step S212, using the private key SK1 paired with the public key PK1 used in step S13, The encrypted character string E(T1) and the encrypted explanation E(T11) are decrypted to generate a plaintext character string T1 and a plaintext explanation T2.
  • the voice waveform signal s1 represents the utterance "audit" contained in the voice data
  • the plaintext character string T1 generated in step S212 is "audit" if there is no misrecognition, and is an explanation.
  • T11 is to "judgment and report on the accuracy and validity of corporate management activities and their results.”
  • the decryption process of decrypting the encrypted character string E(T1) and the encrypted explanatory note E(T11) to generate the character string T1 and the explanatory note T2 may be performed by the decryption unit 11e.
  • the user terminal 10 may generate a text that associates the explanatory text T2 with the character string T1, and display the text. Since the descriptive text T2 is the definition or descriptive text of the character string T1, the user terminal 10 automatically creates text in the format of, for example, "'character string T1' means 'descriptive text T2'.” may be generated. For example, in the above example, the sentence "'Auditing' means 'judging and reporting the accuracy and validity of the management activities of a company and their results'" is automatically created. may When the user uses the character string T1 obtained as a result of speech recognition as minutes, sentences representing the meaning of the words included in the minutes can be included in the minutes, thereby improving convenience for the user. do.
  • the encrypted explanatory text E(T11) may be generated for only some of the words included in the encrypted character string E(T1) generated in step S211.
  • the encrypted dictionary data E (D11) may store the difficulty level of each word.
  • the encrypted explanatory text E(T11) may be generated only for words having a predetermined degree of difficulty or higher among the words included in the encrypted character string E(T1).
  • the difficulty level which is the criterion for determining whether to generate the encrypted explanation E(T11), may be set in the user terminal 10 based on the user's operation. This difficulty level may be automatically set based on the attributes of the user of the user terminal 10 . For example, if the user using the user terminal 10 is a user who has just started using the on-premises environment 5, by setting a low difficulty level, more words can be encrypted with the encrypted explanatory text E (T11). may be generated.
  • the user terminal 10 acquires the encrypted explanatory text E(T11) of the word included in the utterance together with the encrypted character string E(T1) representing the word. be able to.
  • the encrypted dictionary data E (D11) used in the server 30 to generate the encrypted explanatory text E (T11) and the encrypted explanatory text E (T11) generated in the server 30 are homomorphic encryption. , it is possible to generate a character string indicating the result of speech recognition and an explanation of the words contained in the character string without lowering information security.
  • FIG. 13 is a flow diagram showing the flow of speech recognition processing in another embodiment of the present invention
  • FIG. 14 schematically shows encrypted dictionary data E (D21) used in the processing shown in FIG. is a diagram shown in FIG.
  • the speech recognition process shown in FIG. 13 generates an encrypted translated text E (T21) by translating the words contained in the encrypted character string E (T1) generated by the character string converter 31d into another language. It differs from the voice recognition process shown in FIG.
  • the encrypted dictionary data E (D21) used in this embodiment is obtained by encrypting a character string representing each of a plurality of words using a homomorphic encryption method.
  • Encrypted phoneme string generated by encrypting the generated encrypted character string, the phoneme string representing the sound of uttering the word using homomorphic encryption, and the translation of the word into another language is a data set in which encrypted translations encrypted by homomorphic encryption are associated with each other.
  • the encrypted character string "E (audit)" obtained by encrypting the character string "audit” according to the homomorphic encryption method is a phoneme string representing the sound of uttering "audit”.
  • the encrypted phoneme sequence encrypted according to the homomorphic encryption method and the encrypted translation “E (accounting)” encrypted according to the homomorphic encryption method are associated with the English translation “accounting” of “audit”. ing.
  • an encrypted character string obtained by encrypting the character string representing the word according to the homomorphic encryption method and an encrypted character string obtained by encrypting the phoneme string representing the utterance sound of the word according to the homomorphic encryption method.
  • a phoneme string and an encrypted translated text obtained by encrypting the translated text of the word according to the homomorphic encryption method are stored in association with each other.
  • the encrypted dictionary data E (D21) may include, for each word, a plurality of encrypted translations obtained by encrypting each of a plurality of translations obtained by translating the word into a plurality of languages using homomorphic encryption. .
  • step S213 using the encrypted dictionary data E(D21), the encrypted translation text E( T21) is extracted.
  • the encrypted character string E(T1) generated in step S15 is "E (audit)"
  • E (accounting) associated with "E (audit)”
  • the encrypted translated text E(T21) is also a ciphertext encrypted by the homomorphic encryption method.
  • the encrypted translated text E(T21) generated in step S213 is transmitted to the user terminal 10 together with the encrypted character string E(T1) generated in step S15.
  • step S214 When the encrypted character string E(T1) and the encrypted translation E(T21) are received by the user terminal 10, in step S214, using the private key SK1 paired with the public key PK1 used in step S13, The encrypted character string E(T1) and the encrypted translated text E(T21) are decrypted to generate a plaintext character string T1 and a plaintext translated text T3.
  • the voice waveform signal s1 represents the utterance "audit" contained in the voice data
  • the plaintext character string T1 generated in step S312 is "audit" if there is no misrecognition, and the translated text is T21 becomes “accounting".
  • the decryption process of decrypting the encrypted character string E(T1) and the encrypted translation text E(T21) to generate the character string T1 and the translation text T21 may be performed by the decryption unit 11e.
  • the user terminal 10 can display the translation text T21 in association with the character string T1.
  • the translated text T21 can be used to easily create the minutes in a plurality of languages. Improves convenience for
  • the encrypted translation text E(T21) may be generated for only some of the words included in the encrypted character string E(T1) generated in step S213.
  • the encrypted dictionary data E (D21) may store the difficulty level of each word.
  • the encrypted translated text E(T21) may be generated only for words having a predetermined degree of difficulty or higher among the words included in the encrypted character string E(T1).
  • the user terminal 10 acquires the encrypted translation text E(T21) of the word included in the utterance together with the encrypted character string E(T1) representing the word. be able to.
  • the encrypted dictionary data E (D21) used in the server 30 to generate the encrypted translation E (T21) and the encrypted translation E (T21) generated in the server 30 are homomorphic encryption. , it is possible to generate a character string indicating the speech recognition result and a translation of the words contained in the character string without lowering information security.
  • FIG. 15 is a block diagram illustrating speech recognition system 101 according to another embodiment of the invention.
  • the speech recognition system 101 differs from the speech recognition system 1 shown in FIG. 1 in that the on-premises environment 5 is provided with an on-premises server 50 .
  • the server 30 of the speech recognition system 101 differs from the speech recognition system 1 in that it can also function as a data processing unit 31e that processes encrypted character strings.
  • the hardware configuration of the on-premises server 50 can be the same as that of the server 30. That is, the on-premises server 50 has a processor 51 . In addition to the processor 51, the on-premises server 50 can be provided with a memory, a user interface, a communication interface, a storage, and other components necessary for functioning as a server, like the server 30.
  • the user terminal 10A and the user terminal 10B are arranged in the on-premise environment 5.
  • the user terminal 10A and the user terminal 10B are configured similarly to the user terminal 10 described above, and can perform the same functions as the user terminal 10.
  • the user terminal 10A generates an encrypted audio time series E(A1) by encrypting the audio time series A1 according to the homomorphic encryption method using the public key PK1, and encrypts the generated encrypted audio Transmit the time series E(A1) to the server 30 .
  • user terminal 10B generates encrypted audio time series E(A2) by encrypting audio time series A2 according to homomorphic encryption using public key PK1, and generates encrypted audio time series E(A2).
  • E(A2) is sent to the server 30;
  • the ciphertext may be decrypted by the on-premises server 50, as will be described later.
  • the user terminal 10A and the user terminal 10B need not hold the private key SK1 corresponding to the public key PK1.
  • the user terminals 10A and 10B that do not hold the private key can be placed outside the on-premises environment 5.
  • the user terminals 10A and 10B are information processing devices (desktop PCs, laptop computers, desktop PCs, lap top PC, smart phone, etc.).
  • the user terminals 10A and 10B may obtain the public key PK1 from the on-premises server 50 when using the speech recognition service.
  • the server 30 provided in the speech recognition system 101 executes commands included in the program stored in the storage 35 and other commands as necessary, thereby obtaining a receiving unit 31a, a phoneme string extracting unit 31b, It can function as a character string converter 31c and a transmitter 31d, and can function as a data processor 31e. Since the receiving unit 31a, the phoneme string extracting unit 31b, the character string converting unit 31c, and the transmitting unit 31d are as described above, illustration and detailed description thereof will be omitted.
  • the server 30 converts the encrypted audio time series E(A1) received from the user terminal 10A and the encrypted audio time series E(A2) received from the user terminal 10B into character strings, and converts the encrypted character string E(T1 ) and an encrypted string E(T2).
  • the server 30 transmits the encrypted character string E(T1) and the encrypted character string E(T2) to the on-premises server 50 .
  • the server 30 can also store the generated encrypted character string E(T1) and encrypted character string E(T2) in the data lake area of the storage 35 .
  • the server 30 In addition to the encrypted character string E(T1) and the encrypted character string E(T2), the server 30 generates encrypted character strings based on the encrypted voice time series obtained from the information processing device in the on-premises environment 5. It can be stored in the storage 35.
  • the on-premises server 50 can function as a decryption unit 51a and an analysis unit 51b by executing a predetermined program.
  • the decryption unit 51c decrypts the encrypted character string E(T1) and the encrypted character string E(T2) received from the server 30 using the private key SK1 paired with the public key PK1, and converts the plaintext character strings T1 and Generate a string T2.
  • the generated character string T1 is transmitted to the user terminal 10A, and the generated character string T2 is transmitted to the user terminal 10B.
  • the user terminals 10A and 10B do not need to perform decoding, so the processing load on the user terminals 10A and 10B can be reduced. Also, in the speech recognition system 101, there is no need to pass the secret key SK1 to the user terminals 10A and 10B, and the secret key SK1 is used only in the on-premises server 50, so that the secret key SK1 is leaked from the user terminals 10A and 10B. can be prevented.
  • the analysis unit 51b acquires the encrypted character string E(T1), the encrypted character string E(T2), and other encrypted character strings stored in the storage 35 of the server 30, and analyzes these encrypted character strings. Columns can be parsed.
  • the analysis unit 51b may decrypt the encrypted character string obtained from the server 30 and use the plaintext data set obtained by the decryption as an analysis target, or may use the encrypted character string obtained from the server 30 as an analysis target. good.
  • the analysis unit 51b can, for example, analyze the erroneously converted part of the encrypted character string obtained from the server 30, and update the on-premises dictionary D1 based on this analysis result.
  • the analysis unit 51b updates the acoustic model 35a based on the analysis result of the encrypted character string obtained from the server 30, and sends the updated acoustic model to the server. 30.
  • the server 30 can update the acoustic model 35a stored in the storage 35 based on the new acoustic model or update information for updating the acoustic model received from the analysis unit 51b.
  • the analysis unit 51b updates the language model 35b based on the analysis result of the encrypted character string obtained from the server 30, and updates the updated language model 35b when the cause of the conversion error exists in the algorithm of the language model 35b. may be sent to the server 30.
  • the server 30 can update the language model 35b stored in the storage 35 based on the new language model or update information for updating the language model received from the analysis unit 51b.
  • the analysis unit 51b can also request the server 30 to process data. This processing request uses machine learning, statistical analysis, and document processing using encrypted strings stored in the data lake area of the storage 35, and encrypted strings stored in the storage 35 other than the above. requests to perform various operations.
  • the analysis unit 51b can perform the above various processes using the computational resources of the server 30 by issuing a processing request to the server 30 in the off-premises environment and receiving the processing result from the server 30 .
  • the processing request from the analysis unit 51b can be executed by the data processing unit 31e.
  • the encrypted character string is stored in the storage 35 of the server 30, the on-premises server 50 acquires the encrypted character string from the storage 35 as necessary, and the acquired encrypted character string Columns can be parsed.
  • the amount of encrypted character string data stored in the storage 35 can be enormous. It is possible to select and retrieve a whole set of encrypted strings and analyze the retrieved data set.
  • the storage 35 stores an encrypted character string encrypted by homomorphic encryption, but does not store a plaintext character string decrypted from the encrypted character string. Therefore, according to the speech recognition system 101, , storage resources located in off-premises environments can be used without compromising information security.
  • each of a plurality of user terminals placed in the on-premises environment 5 uses a public key different from that of other user terminals to encrypt time-series speech by homomorphic encryption. make a change. More specifically, in the illustrated embodiment, for encryption according to homomorphic encryption, user terminal 10A uses public key PK1, while user terminal B uses a different public key PK1. A public key PK2 is used. For this reason, when decrypting the encrypted character string E(T1) generated by the server 30 based on the encrypted audio time series E(A1) generated by the user terminal 10A, it is paired with the public key PK1.
  • a private key SK2 paired with a public key PK2 is used.
  • the decryption process of the encrypted character string using the private key may be performed by the on-premises server 50, or may be performed by each of the user terminals 10A and 10B.
  • the user terminal 10A uses the private key SK1 paired with the public key PK1 when decrypting the encrypted character string E(T1), and the user terminal 10B decrypts the encrypted character string E(T2).
  • a secret key SK2 paired with a public key PK2 is used.
  • each user can be granted individual decryption authority.
  • the user terminal 10A can use the private key SK1 paired with the public key PK1, but cannot use the private key SK2.
  • the user terminal 10B can use the private key SK2 paired with the public key PK2, but cannot use the private key SK1.
  • the user terminal 10A can decrypt only the encrypted character string encrypted with the public key PK1 among the encrypted character strings stored in the storage 35, and the user terminal 10B can store the encrypted character string in the storage 35. Only the encrypted character string encrypted with the public key PK2 can be decrypted. In this way, each of the user terminals 10A and 10B can decrypt and use the encrypted character string stored in the storage 35 only within the scope of the decryption authority set for them.
  • decryption authority can be set for each user of the on-premises environment 5, so confidential information can be easily managed within an entity that uses the on-premises environment 5. be able to.
  • the storage 35 can store encrypted character strings encrypted using a plurality of different public keys.
  • the storage 35 stores an encrypted character string E(T1) generated from an encrypted audio time series E(A1) encrypted with a public key PK1, and an encrypted character string E(T1) encrypted with a public key PK2 different from the public key PK1. and an encrypted character string E(T2) generated from the encrypted audio time series E(A2).
  • E(T1) generated from an encrypted audio time series E(A1) encrypted with a public key PK1
  • E(T1) encrypted with a public key PK2 different from the public key PK1.
  • FIT2014 13th Information Science and Technology Forum
  • the analysis unit 51b can analyze encrypted character strings stored in the storage 35. can be analyzed.
  • the data processing unit 31e can perform requested data processing using encrypted character strings encrypted using a plurality of different public keys.
  • the private key is managed in the on-premises server 50 in the embodiment shown in FIG. 16, the private key may be managed in each user terminal. For example, the private key SK1 paired with the public key PK1 may be held, used, and managed by the user terminal 10A. Similarly, private key SK2 paired with public key PK2 may be held, used, and managed by user terminal 10B.
  • the encrypted character string can be decrypted in the user terminal.
  • the on-premise server 50 can be omitted.
  • a pair of a public key and a private key can be generated and managed in the user terminal, so encryption and decryption can be performed without being managed by an on-premises server.
  • FIG. 17 is a block diagram illustrating a speech recognition system 201 according to another embodiment of the invention.
  • the speech recognition system 201 differs from the speech recognition systems 1 and 101 in that it uses an encrypted acoustic model E(M1) generated by encrypting the acoustic model M1 according to homomorphic encryption.
  • the hardware configurations of the user terminals 10 and 20 and the server 30 in the speech recognition system 201 are the same as those of the user terminals 10 and 20 and the server 30 provided in the speech recognition system 1 .
  • differences from the functions of the speech recognition system 1 will be mainly described.
  • the user terminal 20 encrypts the acoustic model M1 according to the homomorphic encryption method to generate the encrypted acoustic model E(M1).
  • the encrypted acoustic model E(M1) is sent to the server 30 .
  • the server 30 can store the encrypted acoustic model E(M1) received from the user terminal 10 in the storage 35, for example.
  • the user terminal 10 generates an encrypted feature time series E (A11) by encrypting the audio time series A1 according to the homomorphic encryption method, and sends the generated encrypted feature time series E (A11) to the server 30.
  • the server 30 uses the encrypted acoustic model E(M1) to extract the encrypted phoneme sequence E(A12) that best matches the encrypted feature amount time series E(A11).
  • the process of extracting the encrypted phoneme sequence E (A12) from the encrypted feature time series E (A11) using the encrypted acoustic model E (M1) is the same as the speech model except that the acoustic model is encrypted. This is the same as the processing in the phoneme string extraction unit 31b in the recognition system 1. Due to the homomorphism of the encryption algorithm used to generate the encrypted acoustic model E(M1), encrypted phonemes Column E (A12) can be extracted.
  • the server 30 in the speech recognition system 201 generates an encrypted character string E(T1) from the encrypted phoneme string E(A12) in the same manner as the processing in the speech recognition system 1, and sends the generated encrypted character string to the user terminal. 10 can be sent.
  • the user terminal 10 can decrypt the received encrypted character string E(T1) to obtain the character string T1.
  • the acoustic model used by the server 30 is encrypted by homomorphic encryption, it is possible to prevent leakage of confidential information due to analysis of the acoustic model.
  • triphone HMMs may be concatenated according to a dictionary called a pronunciation dictionary.
  • confidential information may also be leaked through analysis of the pronunciation dictionary.
  • the speech recognition system 201 using the encrypted acoustic model E (M1) encrypted according to the homomorphic encryption method in the on-premises environment 5, the encrypted feature amount time series E (A11) is converted to the encrypted phoneme sequence E (A12 ) is extracted, information leakage due to acoustic model analysis can also be prevented.
  • FIG. 18 is a block diagram showing an outline of the image recognition system 301
  • FIG. 19 is a flow diagram showing the flow of image recognition processing by the image recognition system 301.
  • the image recognition system 301 can detect one or more objects included in an image or moving image to be analyzed, and generate a character string corresponding to the detected objects.
  • the image recognition system 301 includes a user terminal 310 located in the on-premises environment 5 and a server 330 managed and operated by a vendor different from the owner or manager of the on-premises environment 5. and including.
  • the user terminal 310 includes a processor 311, memory 312, user interface 313, communication interface 314, and storage 315
  • the server 330 includes a processor 331, memory 332, user interface 333, communication interface 334, and storage 335.
  • a processor 311, a memory 312, a user interface 313, a communication interface 314, and a storage 315 provided in the user terminal 310, and a processor 331, a memory 332, a user interface 333, a communication interface 334, and The storage 335 may be configured similarly to the corresponding one of the processor 11, memory 12, user interface 13, communication interface 14, and storage 15 provided in the user terminal 10, respectively.
  • processors 311 and 331 may each be configured similarly to processor 11 . Therefore, detailed descriptions of the hardware configurations of the user terminal 310 and the server 330 are omitted.
  • User terminal 310 may include a camera for capturing images.
  • the user terminal 310 executes commands included in the program stored in the storage 315 and other commands as necessary to obtain an image acquisition unit 311a, a feature extraction unit 311b, an encryption unit 311c, and a transmission unit 311d. , and a decoding unit 311e.
  • the image acquisition unit 311a acquires an image to be analyzed.
  • the image to be analyzed can include objects to be detected, such as people and objects.
  • the image acquisition unit 311a may acquire, for example, an image captured by a camera included in the user terminal 310, or may acquire an image stored in advance in the storage 15 or another storage device.
  • the feature extraction unit 311b generates an image feature quantity sequence V11 indicating the features of the image acquired by the image acquisition unit 311a.
  • This image feature quantity sequence V11 may be a local feature quantity representing a local feature quantity of the image.
  • the local feature amount may be, for example, a SIFT (Scale-Invariant Feature Transform) feature amount or a HOG (Histograms of Oriented Gradients) feature amount.
  • the HOG feature amount is a histogram containing edge and color information obtained from pixels included in each of the local regions into which the image is divided.
  • the feature extraction unit 311b divides the image to be analyzed acquired by the image acquisition unit 311a into a plurality of regions, and calculates the local feature amount for each of the divided regions, thereby extracting the image feature amount from one image.
  • Column V11 can be calculated.
  • the encryption unit 311c encrypts the image feature quantity sequence V11 calculated by the feature extraction unit 311b according to the homomorphic encryption method to generate an encrypted image feature quantity sequence E(V11).
  • a public key PK1 paired with a private key SK1 in a key pair 315a stored in the storage 315 is used for encryption by the homomorphic encryption method by the encryption unit 311c.
  • the transmission unit 311d can transmit the encrypted image feature sequence E(V11) generated by the encryption unit 311c to the server 330 for image recognition processing.
  • the decryption unit 311e decrypts the encrypted character string E (T311) received from the server 330 using the secret key SK1 to generate a plaintext character string T311.
  • the storage 315 may store the character string T311 generated by decrypting the encrypted character string generated by the server 30 .
  • the user terminal 310 can use the character string T311 stored in the storage 315 to perform document creation, text analysis, machine learning, and various other processes.
  • the storage 335 of the server 330 stores encrypted dictionary data E (DV1) and general-purpose image dictionary data DV2.
  • the encrypted dictionary data E(DV1) can be generated by encrypting the on-premises image dictionary data DV1 according to the homomorphic encryption method.
  • Both the on-premises image dictionary data DV1 and the general-purpose image dictionary data DV2 are data that structurally store correspondence relationships between labels indicating objects that may be included in images to be analyzed and words corresponding to the labels. is a set. For example, in the on-premises image dictionary data DV1, a character string indicating the name of an object is associated with a label that identifies the object.
  • the object is a person
  • a label identifying the person is associated with a character string indicating the name of the person (for example, "person”, “person”, “person”, or other character strings).
  • the encrypted character string obtained by encrypting the character string indicating the name of the object according to the homomorphic encryption method is the encrypted character string obtained by encrypting the label identifying the object according to the homomorphic encryption method.
  • the server 330 can acquire the encrypted dictionary data E (DV1) from the information processing device arranged in the on-premises environment 5 and store the acquired encrypted dictionary data E (DV1) in the storage 335 .
  • the server 330 executes commands included in the program stored in the storage 335 and other commands as necessary, thereby performing Function.
  • the receiving unit 331a receives the encrypted image feature sequence E (V11) from the user terminal 310.
  • the detection unit 331b recognizes the object included in the image from the encrypted image feature quantity sequence E (V11).
  • the detection unit 331b can determine which objects are included in the image by the classifier.
  • a classifier for an object can be trained with training data that includes positively labeled images containing the object and negatively labeled images that do not contain the object.
  • the classifier may be configured to determine whether the image contains a single object, or it may be configured to identify multiple objects contained in the image.
  • the detection unit 331b can detect objects included in the analysis target image and output a label indicating one or more detected objects.
  • a label indicating an object may be an identifier that identifies the object.
  • a classifier evaluates the encrypted image feature value sequence E (V11) generated based on the image to be analyzed to output labels identifying each of the person, road, tree, and pedestrian crossing.
  • the detection unit 331b also detects the position of the detected object in the analysis target image. can be output. Since the encrypted image feature sequence E(V11) is encrypted by homomorphic encryption, the detection unit 331b evaluates the encrypted image feature sequence E(V11) using the above classifier without decrypting it. be able to. Since the calculation by the detection unit 331b is performed without decrypting the encrypted image feature sequence E(V11), the label output by the detection unit 331b is encrypted by homomorphic encryption.
  • the character string conversion unit 331c uses at least one of the encrypted dictionary data E (DV1) and the general-purpose image dictionary data DV2 to convert the label identifying the object detected by the detection unit 331b into the encrypted character string E (T311). Convert to For example, when each of a person, a road, a tree, and a pedestrian crossing is detected as an object by evaluating the encrypted image feature value sequence E (V11) of the image to be analyzed, the label corresponding to the person is set to " The label corresponding to the road is converted to the character string "road”, the label corresponding to the tree is converted to the character string "tree”, and the label corresponding to the pedestrian crossing is converted to the character string "crossing".
  • a sentence can be created by converting these converted words into a character string "sidewalk".
  • the character string converter 331c may generate a sentence by referring to the language model 35b or another mathematical model representing the appearance probability of a chain of character strings.
  • the character string corresponding to the generated text is set as the encrypted character string E (T311).
  • An example of a sentence generated by the character string conversion unit 331c may be "People are walking on a road with a pedestrian crossing. Trees are growing.”
  • a sentence generated by the character string converter 331c may include a plurality of sentences as in the above example, or may be a single sentence.
  • the character string conversion unit 331c supplements a word indicating the position of each object based on the in-image position information indicating in which area in the image the detected object is detected, and arranges the detected object.
  • the positional relationship between trees and roads and the positional relationship between people and crosswalks are specified based on the in-image positional information, and the specified positional relationships are reflected in the sentence. Since the calculation by the character string converter 331c is performed using the encrypted dictionary data E (DV1) without decrypting the label, the encrypted character string E (T311) output by the character string converter 331c is Encrypted by homomorphic encryption.
  • the transmission unit 331d can transmit the encrypted character string E (T311) generated by the character string conversion unit 331c to the user terminal 310.
  • step S311 the user terminal 310 acquires an image to be analyzed.
  • step S312 an image feature amount is calculated from the image acquired in step S311, and an image feature amount sequence V11 is generated based on the calculated image feature amount.
  • the generation of the image feature quantity sequence V11 may be performed by the feature extraction unit 311b.
  • step S313 the image feature string V11 calculated in step S312 is encrypted using the public key PK1 according to the homomorphic encryption method to generate an encrypted image feature string E(V11).
  • the generated encrypted image feature quantity sequence E(V11) is transmitted to the server 330.
  • the encryption of the image feature quantity sequence V11 in step S313 may be performed by the encryption unit 311c. Transmission of the encrypted image feature sequence E(V11) to the server 330 may be performed by the transmission unit 311d.
  • step S314 an object included in the image to be analyzed is detected based on the encrypted image feature quantity sequence E(V11). Labels corresponding to the one or more objects that have been processed are output. For example, if the image to be analyzed shows a pedestrian crossing a road with a pedestrian crossing and no cars on it, and trees planted along the road, if there are no false detections, people, roads, Labels are output that identify each tree and pedestrian crossing.
  • the detection of the object and the output of the positive label in step S314 may be performed by the detection unit 331b.
  • each of the labels generated in step S314 is converted into encrypted character string E (T311) using at least one of encrypted dictionary data E (DV1) and general-purpose image dictionary data DV2.
  • E encoded dictionary data
  • DV1 general-purpose image dictionary data
  • each of the labels generated in step S314 is converted into encrypted character string E (T311) using at least one of encrypted dictionary data E (DV1) and general-purpose image dictionary data DV2.
  • E farmers are planted along the road , a person is crossing the pedestrian crossing on that road.
  • the generation of the encrypted character string E (T311) may be performed by the character string converter 331c.
  • the generated encrypted character string E (T311) is sent to the user terminal 310.
  • step S316 the encrypted character string E(T311) is encrypted using the private key SK1 paired with the public key PK1 used in step S313. It is decrypted to generate a plaintext character string T311.
  • a character string corresponding to the image to be analyzed acquired by the user terminal 310 is obtained as an image recognition result.
  • the server 330 uses encrypted dictionary data E (DV1) encrypted according to the homomorphic encryption method to extract encrypted image features encrypted according to the homomorphic encryption method.
  • An object included in the image to be analyzed is detected based on the quantity sequence E (V11), an encrypted character string E (T311) including words or sentences corresponding to the detected object is generated, and the user terminal 310 are sending to
  • the image recognition system 301 not only the image feature values provided to the server 330 but also the on-premises image dictionary data DV1 used by the server 330 are encrypted.
  • Image recognition can be performed using the information processing resources of a certain server 330 .
  • FIG. FIG. 20 is a block diagram showing an outline of the odor recognition system 401, and FIG.
  • the odor recognition system 401 can detect odors drifting in the space to be analyzed by an odor sensor and generate a character string corresponding to the detected value of the odor sensor. According to the odor recognition system 401, it is possible to obtain a character string representing the odor drifting in the space to be analyzed.
  • the odor recognition system 401 includes a user terminal 410 located in the on-premises environment 5 and a server 430 managed and operated by a vendor different from the owner or manager of the on-premises environment 5. and including.
  • the user terminal 410 has a processor 411, a memory 412, a user interface 413, a communication interface 414, and a storage 415
  • the server 430 has a processor 431, a memory 432, a user interface 433, a communication interface 434, and a storage 435.
  • the storage 435 may be configured similarly to the corresponding one of the processor 11 , memory 12 , user interface 13 , communication interface 14 and storage 15 provided in the user terminal 10 .
  • processors 411 and 431 may each be configured similarly to processor 11 . Therefore, detailed descriptions of the hardware configurations of the user terminal 410 and the server 430 are omitted.
  • User terminal 410 may include a sensor that detects an odor. Odors can be expressed by the types and concentrations of volatile molecules floating in space. As a sensor for detecting odors, either a gas sensor that measures the concentration of volatile components or a biosensor that simulates the olfactory function of living organisms may be used.
  • the functions executed by the user terminal 410 and the data stored in the user terminal 410 will be explained.
  • the user terminal 410 executes the commands included in the program stored in the storage 415 and other commands as necessary to obtain the scent detection unit 411a, the feature extraction unit 411b, the encryption unit 411c, and the transmission unit 411d. , and a decoding unit 411e.
  • the odor detection unit 411a uses an odor sensor to detect the odor of the space to be analyzed, and outputs the detected value of the sensor.
  • the odor detection unit 411a may detect an odor using an odor sensor included in the user terminal 410, or may acquire the detected value of the odor sensor stored in advance in the storage 15 or another storage device.
  • the feature extraction unit 411b generates an odor feature quantity sequence F11 representing the odor features detected by the odor detection unit 411a.
  • the feature extraction unit 411b sets the sampling frequency to 10 Hz and calculates a vector including the instantaneous value, the average value, and the variance value of the detection values of the odor sensor in the past N samples, and this vector can be used as the odor feature quantity sequence F11. .
  • the encryption unit 411c encrypts the odor feature quantity sequence F11 calculated by the feature extraction unit 411b according to the homomorphic encryption method to generate an encrypted odor feature quantity sequence E (F11).
  • the public key PK1 paired with the secret key SK1 in the key pair 415a stored in the storage 415 is used.
  • the transmission unit 411d can transmit the encrypted odor feature sequence E (F11) generated by the encryption unit 411c to the server 430 for odor recognition processing.
  • the decryption unit 411e decrypts the encrypted character string E (T411) received from the server 430 using the secret key SK1 to generate a plaintext character string T411.
  • the storage 415 may store the character string T411 generated by decrypting the encrypted character string generated by the server 30 .
  • the user terminal 410 can use the character string T411 stored in the storage 415 to perform document creation, text analysis, machine learning, and various other processes.
  • the storage 435 of the server 430 stores encrypted dictionary data E (DF1) and general-purpose scent dictionary data DF2.
  • the encrypted dictionary data E(DF1) can be generated by encrypting the on-premise scent dictionary data DF1 according to the homomorphic encryption method.
  • Both the on-premise odor dictionary data DF1 and the general-purpose odor dictionary data DF2 are data sets that structurally store correspondence relationships between odor feature value strings and character strings representing the odors for each of various odors.
  • character strings representing odors are stored in association with odor feature strings.
  • Character strings representing odors include "vanilla scent”, “citrus scent”, “curry scent”, “after rain scent”, “oak barrel scent”, and other character strings. can contain.
  • the on-premise odor dictionary data DF1 detects odors drifting in a certain space with an odor sensor and calculates a feature value string of the detected values.
  • a sommelier determines a character string that linguistically expresses the scent of the space, and associates this feature value string with the character string.
  • the encrypted dictionary data E (DF1) the encrypted odor feature value string obtained by encrypting the feature value string of the detection values of the odor sensor in a certain space according to the homomorphic encryption method is a character string representing the odor of the space. It is associated with an encrypted character string encrypted by homomorphic encryption.
  • the server 430 functions as a receiver 431a, a character string converter 431b, and a transmitter 431c by executing commands included in the programs stored in the storage 435 and other commands as necessary.
  • the receiving unit 431a receives the encrypted odor feature sequence E (F11) from the user terminal 410.
  • the character string converter 431b converts the encrypted odor feature string E (F11) received from the user terminal 410 into an encrypted character string E. (T411).
  • the character string conversion unit 431b converts the encrypted character string E (F11) received from the user terminal 410 from the encrypted dictionary data E (DF1) or the general-purpose odor dictionary data DF2 into encrypted character strings that match the encrypted odor feature string E (F11) received from the user terminal 410. Search columns.
  • the space to be analyzed is filled with the smell of curry
  • at least one of the encrypted dictionary data E (DF1) and the general-purpose smell dictionary data DF2 is searched to detect the smell sensor in this space.
  • the ciphertext of the character string “curry aroma” that matches the encrypted odor feature value string E (F11) generated based on the value is specified as the encrypted character string E (T411).
  • More than one encrypted string may be extracted if the space to be analyzed includes complex scents, such as the space in a wine glass filled with wine.
  • the ciphertext of the two character strings “fragrance of vanilla” and “fragrance of oak barrel” Sentences may be extracted.
  • the character string converter 431b may generate a sentence based on the ciphertexts of the extracted two or more character strings. For example, based on the ciphertext of two character strings “vanilla scent” and “oak barrel scent”, the sentence “Vanilla scent has a slight scent of oak barrels” is generated.
  • the text generated in the above manner may be used as the encrypted character string E (T411).
  • the encryption output by the character string conversion unit 431b is The encrypted character string E (T411) is encrypted by homomorphic encryption.
  • the transmission unit 431c can transmit the encrypted character string E (T411) generated by the character string conversion unit 431b to the user terminal 410.
  • step S411 the user terminal 410 detects the odor of the space to be analyzed.
  • step S412 an odor feature amount is calculated based on the odor detection value detected in step S411, and an odor feature amount sequence F11 is generated based on the calculated image feature amount.
  • the generation of the odor feature quantity sequence F11 may be performed by the feature extraction unit 411b.
  • step S413 the odor feature string F11 calculated in step S412 is encrypted using the public key PK1 according to the homomorphic encryption method to generate an encrypted odor feature string E(F11).
  • the generated encrypted odor feature sequence E (F11) is sent to the server 430.
  • the encryption of the odor feature quantity sequence F11 in step S413 may be performed by the encryption unit 411c. Transmission of the encrypted odor feature sequence E (F11) to the server 430 may be performed by the transmission unit 411d.
  • step S414 When the server 430 receives the encrypted odor feature value string E (F11), in step S414, it is received from the user terminal 410 from among the records included in the encrypted dictionary data E (DF1) or the general-purpose odor dictionary data DF2. An encrypted character string that matches the encrypted odor feature value string E (F11) is retrieved, and the retrieved encrypted character string or text generated from the retrieved encrypted character string is the encrypted character string E ( T411).
  • the generation of the encrypted character string E (T411) may be performed by the character string converter 431b.
  • the generated encrypted character string E (T411) is sent to the user terminal 410.
  • step S416 When the encrypted character string E(T411) is received by the user terminal 410, in step S416, the encrypted character string E(T411) is encrypted using the private key SK1 paired with the public key PK1 used in step S413. It is decrypted to generate a plaintext character string T411.
  • the server 430 uses encrypted dictionary data E (DF1) encrypted according to the homomorphic encryption method to generate encrypted odor features encrypted according to the homomorphic encryption method. Based on the quantity sequence E (F11), an encrypted character string E (T411) representing the scent of the space to be analyzed is generated and transmitted to the user terminal 410.
  • FIG. According to the odor recognition system 401, not only the odor feature sequence F11 provided to the server 430 but also the on-premise odor dictionary data DF1 used by the server 430 are encrypted. Odor recognition can be performed using the computational resources of the server 430 in the environment.
  • the odor features By using the odor features, it is possible to digitize the evaluation of wine by, for example, a professional sommelier who smells the wine.
  • the wine's odor features and the sommelier's evaluation of the wine (“excellent wine”, "cheap wine”, etc.) in the on-premises odor dictionary data DF1
  • the wine can be evaluated by the sommelier based on the wine's odor features.
  • the present embodiment enables the on-premise odor dictionary data DF1 configured in this way to be used off-premise (such as in the cloud), while preventing unauthorized use of the on-premise odor dictionary data DF1 by others.
  • the on-premise odor dictionary data DF1 may be stored in association with the feature amount of paper odor and the type and attributes of the paper (old and new, wet and dry, place where it is placed, etc.). .
  • the difference in paper can be determined based on the encrypted odor feature amount of the paper, so the determination result can be used to detect fraud such as forgery of paper documents.
  • the on-premises smell dictionary data DF1 is homomorphically encrypted, it is possible to prevent information leakage (for example, leakage of unauthorized detection methods) through analysis of the on-premises smell dictionary data DF1.
  • the above embodiments can also be applied to sensing physical quantities other than sound (speech), images, and smells, or to data generated from sensing physical quantities. That is, the feature amount of the physical quantity sensed in the on-premises environment 5 is calculated, the feature amount is encrypted by the homomorphic encryption method, and the encrypted feature amount generated is transmitted to the server in the off-premises environment. Recognition of physical quantities sensed in the on-premises environment (that is, extraction or generation of the corresponding string). A server in an off-premises environment can generate or extract a character string corresponding to an encrypted feature using an encryption dictionary due to the homomorphism of the encryption method. Physical quantities that can be sensed or data generated from physical quantities that can be sensed include taste and touch, in addition to the sounds, images, and smells specifically described herein.
  • the above embodiments can be applied to various uses.
  • the above embodiments are applicable to audit, tax and advisory digitization, for example. These fields require more stringent data security than other fields.
  • voice interfaces are being introduced.
  • An example is the audio of an online meeting between an auditor and a client. Since such speech often contains confidential content, the use of the above-described embodiment has the great advantage of being able to document the content while keeping it confidential. Become. Further, by sharing voices between different auditors, it is possible to improve the accuracy of fraud detection, etc., and it is possible to prevent information leakage due to voices shared by different auditors.
  • the key to security in the cloud-native era is how to avoid leaving sensitive raw data in the cloud.
  • the word dictionary is homomorphically encrypted by the client and uploaded to the cloud before the start of voice transcription.
  • speech recognition can be performed on the cloud without leaving raw speech data, recognition results, or the contents of the word dictionary in the cloud.
  • character string conversion may be performed in the on-premises environment 5.
  • the phoneme string extraction (step S14 in FIG. 6) may be performed in the off-premises environment, and the character string conversion may be performed in the on-premises environment 5 (for example, the user terminal 10 or the on-premises server 50).
  • the server 30 in the off-premises environment transmits the encrypted phoneme sequence E(A12) to the user terminal 10, and the user terminal 10 decrypts the received encrypted phoneme sequence E(A12) to obtain the phoneme sequence.
  • the user terminal 10 converts the obtained phoneme string into a character string.
  • the user terminal 10 may hold a phoneme code correspondence table that holds phonemes and phoneme codes representing the phonemes in association with each other.
  • the phoneme code correspondence table for example, the phoneme code "1" is associated with the phoneme "k”.
  • the phoneme code correspondence table is managed as confidential information in an on-premises environment.
  • phoneme codes are extracted instead of phonemes, an encrypted phoneme code string is generated instead of the encrypted phoneme string, and sent back to the user terminal 10 .
  • the user terminal 10 first decodes the received encrypted phoneme code string to obtain a phoneme code string, and then refers to the phoneme code correspondence table to convert each phoneme code of the phoneme code string into a phoneme. to generate a phoneme sequence.
  • the homomorphic encryption is deciphered by the server 30, it will still be difficult to decipher the contents of the speech because the correspondence between the phonemic code and the phoneme is unknown.
  • a program or instructions included in the program described as being executed by the processor 11 may be executed by a single computer processor, or may be executed by a plurality of computer processors in a distributed manner. good. Also, the program executed by the processor 11 or instructions included in the program may be distributed and executed by a plurality of virtual computer processors.
  • the above description of data processing in the processor 11 also applies to data processing in the processors 21, 31, 311, and 331 as much as possible. However, if the data processed by the processors 11, 21, 311 is assumed to be used only in the on-premises environment 5, the data is processed only by the processors in the on-premises environment 5, and the data is processed only by the processors in the off-premises environment. Distributed processing by processors is not performed.
  • Non-transitory computer-readable media include various types of tangible storage media. Examples of non-transitory computer-readable media include magnetic recording media (e.g., floppy disks, magnetic tapes, hard disk drives), magneto-optical recording media (e.g., magneto-optical discs), Compact Disc Read Only Memory (CD-ROM), CD -R, CD-R/W, semiconductor memory (e.g. Mask ROM, Programmable ROM (PROM), Erasable PROM (EPROM), Flash ROM, Random Access Memory (RAM)).
  • magnetic recording media e.g., floppy disks, magnetic tapes, hard disk drives
  • magneto-optical recording media e.g., magneto-optical discs
  • CD-ROM Compact Disc Read Only Memory
  • CD-R Compact Disc Read Only Memory
  • CD-R Compact Disc Read Only Memory
  • CD-R Compact Disc Read Only Memory
  • CD-R Compact Disc Read Only Memory
  • CD-R Compact Disc Read Only Memory
  • CD-R Compact
  • various data that can be stored in the storage 15 may be stored in a storage or database server that is physically separate from the storage 15 inside or outside the on-premises environment 5 . That is, in this specification, the data described as being stored in the storage 15 may be stored in a single storage, or distributed and stored in a plurality of storages.
  • the term "storage" may refer to either a single storage or a collection of multiple storages, as long as the context permits.
  • data that can be stored in storage 15 also applies to data stored in storages 25, 35, 315, 335, and 435 as much as possible.
  • data that can be used only within the on-premises environment 5 is stored in storage within the on-premises environment 5 .
  • the combined aspect can be a further embodiment of the present invention.
  • the encrypted legend is generated based on the encrypted string
  • the encrypted character An encrypted translation has been generated based on the columns.
  • both the encrypted legend and the encrypted translation can be generated based on the encrypted string.
  • Notations such as “first”, “second”, “third” in this specification etc. are attached to identify the constituent elements, and do not necessarily limit the number, order, or content thereof is not. Also, numbers for identifying components are used for each context, and numbers used in one context do not necessarily indicate the same configuration in other contexts. Also, it does not preclude a component identified by a certain number from having the function of a component identified by another number.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本発明の少なくとも一つの実施形態によるプログラムは、オフプレミス環境に備えられた一又は複数のプロセッサに、暗号化音声時系列をオンプレミス環境から取得する機能と、準同型暗号方式に従って暗号化されている暗号化辞書を用いて前記暗号化音声時系列を解析することにより、準同型暗号方式に従って暗号化されている暗号化文字列を生成する機能と、を実行させる。本発明の少なくとも一つの態様において、暗号化音声時系列は、発話に対応する音素列を識別するための音声時系列が準同型暗号方式に従って暗号化することで生成される。

Description

プログラム、情報処理装置、及び情報処理方法
 本明細書の開示は、プログラム、情報処理装置、及び情報処理方法に関する。本明細書の開示の一側面は、音声認識のためのプログラム、情報処理装置、及び情報処理方法に関する。
 音声認識に関する様々な技術が提案されている。「音声認識におけるDeep Learningの活用」(非特許文献1)には、音声認識の開発動向が概説されている。
 近年、オフプレミス環境にある情報処理リソースを利用して音声認識を行うクラウドベースの音声認識が検討されている。しかしながら、「ENCRYPTED SPEECH RECOGNITION USING DEEP POLYNOMIAL NETWORKS」(非特許文献2)に記載されているように、クラウドベースでの音声認識においては、音声データに含まれる秘密情報の漏洩が懸念されている。
 クラウドベースで音声認識を行う際の情報セキュリティ面での懸念に対処するため、非特許文献2では、準同型暗号方式での暗号化を利用した音声認識が提案されている。非特許文献2では、クライアントにおいて入力音声の音声特徴量時系列が公開鍵を用いて準同型暗号方式で暗号化され、この暗号化された音声特徴量時系列がオフプレミス環境にある音声認識サーバに送信される。オフプレミス環境にある音声認識サーバでは、暗号化された音声特徴量時系列から音響モデルを用いて事後確率系列が推定され、この推定された事後確率系列がクライアントに返される。クライアントは、音声認識サーバから取得した事後確率系列を秘密鍵で復号し、復号された事後確率系列に基づいて入力音声に対応する文字列を生成する。このように、非特許文献2では、暗号化された音声特徴量時系列を復号することなく事後確率系列を推定し、その推定結果をクライアントへ返すので、音声認識サーバに秘密鍵を渡すことなく、オフプレミス環境にある音声認識サーバの計算リソースを利用して音声認識を行うことができる。
磯 健一、「音声認識におけるDeep Learningの活用」、日本神経回路学会誌 Vol. 24, No. 1 (2017) Shi-Xiong Zhang, Yifan Gongy and Dong Yu, "ENCRYPTED SPEECH RECOGNITION USING DEEP POLYNOMIAL NETWORKS," ICASSP 2019 - 2019 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP)
 従来のオフプレミス環境を利用した音声認識では、事後確率系列から文字列への変換処理がクライアントで行われているため、クライアントでの処理負荷が高い。入力音声から推定された事後確率系列又はその事後確率系列から生成される音素列を文字列へ精度良く変換するためには、言語モデルや辞書が利用される。辞書は、音素列と形態素(例えば、単語)との対応関係を示すため、優れた辞書を利用することにより音素列の文字列への変換精度の向上が期待される。
 しかしながら、従来のオフプレミス環境を利用した音声認識では、文字列への変換はクライアントで行われている。このため、情報セキュリティを低下させることなく、オフプレミス環境で精度良く文字列への変換を行うことが未解決の課題として残されている。
 本明細書に開示される発明の目的は、オフプレミス環境のリソースを利用して行われる音声認識における上記の問題の少なくとも一部を解決又な緩和することである。本明細書に開示される発明のより具体的な目的の一つは、オフプレミス環境のリソースを利用して行われる音声認識において、情報セキュリティを低下させることなくオフプレミス環境で精度良く文字列への変換を行うことである。
 本明細書に開示される発明の前記以外の目的は、本明細書全体を参照することにより明らかになる。本明細書に開示される発明は、前記の課題に代えて又は前記の課題に加えて、本明細書の記載から把握される課題を解決するものであってもよい。
 本発明の少なくとも一つの実施形態によるプログラムは、オフプレミス環境に備えられた一又は複数のプロセッサに、暗号化音声時系列をオンプレミス環境から取得する機能と、準同型暗号方式に従って暗号化されている暗号化辞書を用いて前記暗号化音声時系列を解析することにより、準同型暗号方式に従って暗号化されている暗号化文字列を生成する機能と、を実行させる。本発明の少なくとも一つの態様において、暗号化音声時系列は、発話に対応する音素列を識別するための音声時系列が準同型暗号方式に従って暗号化することで生成される。
 本発明の少なくとも一つの態様における暗号化音声時系列は、前記発話の特徴量を時系列で表す音声特徴量時系列が準同型暗号方式に従って暗号化された暗号化音声特徴量時系列である。
 本発明の少なくとも一つの態様において、一又は複数のプロセッサは、前記暗号化特徴量時系列に基づいて、前記発話に対応する音素列を識別でき準同型暗号方式に従って暗号化されている暗号化音素列を生成する。
 本発明の少なくとも一つの態様における暗号化文字列は、前記暗号化辞書を用いて前記暗号化音素列を解析することにより生成される、
 本発明の少なくとも一つの態様における暗号化音素列は、入力音から音素を識別するための音響モデルを用いて前記暗号化音声特徴量時系列から当該発話に含まれる音が各音素である確率を示す事後確率系列を推定することで算出される。
 本発明の少なくとも一つの態様における音響モデルは、オンプレミス環境において、準同型暗号方式に従って暗号化された暗号化音響モデルである。
 本発明の少なくとも一つの態様における暗号化音声時系列は、発話に対応する音素を識別する音素列が前記オンプレミス環境において準同型暗号方式に従って暗号化された暗号化音素列である。
 本発明の少なくとも一つの態様における暗号化文字列は、言語モデルをさらに用いて生成される。
 本発明の少なくとも一つの態様における暗号化辞書は、第1辞書をオンプレミス環境で準同型暗号方式に従って暗号化することで生成される。
 本発明の少なくとも一つの態様における暗号化文字列は、第1辞書とは異なり、平文の辞書データを含む第2辞書をさらに用いて生成される。
 本発明の少なくとも一つの態様におけるプログラムは、一又は複数のプロセッサに、準同型暗号方式に従って暗号化されている暗号化参照辞書を用いて、暗号化文字列に含まれている単語を説明する説明文であって準同型暗号方式に従って暗号化されている暗号化説明文を生成する機能を実行させる。
 本発明の少なくとも一つの態様における発話は、第1言語での発話である。本発明の少なくとも一つの態様におけるプログラムは、一又は複数のプロセッサに、準同型暗号方式に従って暗号化されている暗号化翻訳辞書を用いて、暗号化文字列を第1言語とは異なる第2言語に翻訳した暗号化翻訳文字列を生成する機能を実行させる。
 本発明の少なくとも一つの態様における暗号化音声時系列は、第1公開鍵を用いて準同型暗号方式に従って暗号化されており、暗号化辞書は、第2公開鍵を用いて準同型暗号方式に従って暗号化されている。
 本発明の少なくとも一つの態様における暗号化文字列は、第1公開鍵とペアとなる第1秘密鍵及び第2公開鍵とペアとなる第2秘密鍵のいずれも用いずに生成される。
 本発明の少なくとも一つの態様におけるプログラムは、一又は複数のプロセッサに、暗号化文字列をオンプレミス環境の情報処理装置に送信する機能を実行させる。
 本発明の少なくとも一つの態様におけるプログラムは、一又は複数のプロセッサに、オフプレミス環境に配置されているストレージに暗号化文字列を記憶させる。
 本発明の少なくとも一つの態様は、オフプレミス環境に備えられた情報処理装置に関する。本発明の少なくとも一つの態様における情報処理装置は、オンプレミス環境で入力された発話が表す音素列を識別することができ準同型暗号方式に従って暗号化されている暗号化音声時系列を取得する取得部と、準同型暗号方式に従って暗号化されている暗号化辞書を用いて前記暗号化音声時系列を解析することにより、準同型暗号方式に従って暗号化されている暗号化文字列を生成する生成部と、を備える。
 本発明の少なくとも一つの態様は、オフプレミス環境に備えられた一又は複数のプロセッサがコンピュータ読み取り可能な命令を実行することに実行される情報処理方法に関する。本発明の少なくとも一つの態様における情報処理方法は、オンプレミス環境で入力された発話が表す音素列を識別することができ準同型暗号方式に従って暗号化されている暗号化音声時系列を取得する工程と、準同型暗号方式に従って暗号化されている暗号化辞書を用いて前記暗号化音声時系列を解析することにより、準同型暗号方式に従って暗号化されている暗号化文字列を生成する工程と、を備える。
 本発明の少なくとも一つの態様によるプログラムは、オフプレミス環境に備えられた一又は複数のプロセッサに、解析対象画像の特徴量を表す画像特徴量が準同型暗号方式に従って暗号化された暗号化画像特徴量をオンプレミス環境から取得する機能と、準同型暗号方式に従って暗号化されている暗号化辞書を用いて前記暗号化画像特徴量を解析することにより、準同型暗号方式に従って暗号化されている暗号化文字列を生成する機能と、を実行させる。
 本発明の少なくとも一つの態様によるプログラムは、オフプレミス環境に備えられた一又は複数のプロセッサに、解析対象の空間における匂いの検出値の特徴量を表す匂い特徴量が準同型暗号方式に従って暗号化された暗号化匂い特徴量をオンプレミス環境から取得する機能と、準同型暗号方式に従って暗号化されている暗号化辞書を用いて前記暗号化匂い特徴量を解析することにより、準同型暗号方式に従って暗号化されている暗号化文字列を生成する機能と、を実行させる。
 本発明の実施形態によれば、情報セキュリティを低下させることなくオフプレミス環境で精度良く音声認識を行うことができる。
本発明の一態様における音声認識システムを概略的に示すブロック図である。 図1の音声認識システムに含まれるユーザ端末を示すブロック図である。 図1の音声認識システムに含まれる別のユーザ端末を示すブロック図である。 図1の音声認識システムに含まれるサーバを示すブロック図である。 暗号化辞書データを模式的に示す図である。 本発明の一態様における音声認識処理の流れを示すフロー図である。 音声波形データ及びその音声波形データに基づいて生成された音素列の例を模式的に示す図である。 本発明の別の態様における音声認識システムに含まれるユーザ端末を概略的に示すブロック図である。 本発明の別の態様における音声認識システムに含まれるサーバを概略的に示すブロック図である。 本発明の別の態様における音声認識処理の流れを示すフロー図である。 本発明の別の態様における音声認識処理の流れを示すフロー図である。 図11の処理で利用される暗号化辞書データを模式的に示す図である。 本発明の別の態様における音声認識処理の流れを示すフロー図である。 図13の処理で利用される暗号化辞書データを模式的に示す図である。 本発明の別の態様における音声認識システムを概略的に示すブロック図である。 本発明の別の態様における音声認識システムを概略的に示すブロック図である。 本発明の別の態様における音声認識システムを概略的に示すブロック図である。 本発明の一態様における画像認識システムを概略的に示すブロック図である。 本発明の一態様における画像認識処理の流れを示すフロー図である。 本発明の一態様における匂い認識システムを概略的に示すブロック図である。 本発明の一態様における匂い認識処理の流れを示すフロー図である。
 以下、適宜図面を参照し、本明細書に開示される発明が適用される音声認識システム及びそれ以外のシステムの実施形態について説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、重複した説明は適宜省略する。以下で説明される本発明の実施形態は特許請求の範囲にかかる発明を限定するものではない。以下の実施形態で説明されている諸要素が発明の解決手段に必須であるとは限らない。
 まず、図1を参照して、本発明の一実施形態による音声認識システム1について説明する。図1は、音声認識システム1の概略を示すブロック図である。図示のとおり、音声認識システム1は、オンプレミス環境5に配置されているユーザ端末10及びユーザ端末20と、オンプレミス環境5の所有者又は管理者とは異なるベンダーによって管理・運営されているサーバ30と、を含む。サーバ30は、オンプレミス環境5の所有者・管理者とは別のベンダーによって運営されているため、オンプレミス環境5から見てオフプレミス環境にある。サーバ30は、オフプレミス環境に備えられる情報処理装置の一つである。オフプレミス環境には、サーバ30以外の様々な情報処理装置が配置されてもよく、サーバ30以外の情報処理装置が図示されている各装置と通信可能に接続されていてもよい。
 オンプレミス環境5に配置されているユーザ端末10、20は、オフプレミス環境に配置されているサーバ30とネットワーク40を介して互いに通信可能に接続されている。ネットワーク40は、単一のネットワークであってもよく、複数のネットワークが接続されて構成されていてもよい。ネットワーク40は、例えば、インターネット、移動通信網、及びこれらの組み合わせである。ネットワーク40として、情報処理装置間の通信を可能とする任意のネットワークが適用され得る。
 ユーザ端末10は、発話を含む音の音声波形信号がデジタル化された音声データを取得する。音声データは、マイクロフォンで検出された発話に基づいて逐次的に生成されてもよいし、予め生成されストレージに蓄積されていてもよい。音声認識システム1は、この音声データに含まれる発話に対応する文字列を生成する。ユーザ端末10は、音声データに所定の信号処理を行うことで音声時系列A1を生成する。音声時系列A1は、例えば、音声データの特徴量の時系列である音声特徴量時系列であってもよいし、音響モデルを用いて音声データに含まれる音声信号が表す音素を識別することで生成された音素列であってもよい。
 音声時系列A1は、準同型暗号方式(又は準同型暗号アルゴリズム)に従って公開鍵PK1を用いて暗号化される。この暗号化処理によって、音声時系列A1から暗号化音声時系列E(A1)が生成される。準同型暗号方式(Homomorphic Encryption)は、準同型性を有する暗号アルゴリズムを利用する暗号方式である。準同型性を有する操作f(x)は、f(x)+f(y)=f(x+y)という関係を満たす。このf(x)+f(y)=f(x+y)が成り立つ場合、当該操作f(x)は、加法準同型性を有する。操作f(x)が加法準同型性を有し、さらにf(x)*f(y)=f(x*y)という関係を満たす場合、当該操作f(x)は完全準同型性を有する。このような準同型性の性質から、準同型性を有する暗号方式又は暗号化アルゴリズム(以下、単に「準同型暗号方式」という。)で平文を暗号化して生成された暗号文に対して演算を行う場合、その演算結果を復号することにより、平文に対して当該演算を行ったのと同じ演算結果を得ることができる。本開示において用いられる準同型暗号方式の種類に制限はなく、任意の種類の準同型暗号方式が用いられてもよい。例えば、RSA暗号、ElGamal暗号、modified-ElGamal暗号、Pillier暗号、又はこれら以外の準同型性を有する準同型暗号アルゴリズムが用いられてもよい。
 ユーザ端末20は、オンプレミス辞書データD1を準同型暗号方式で暗号化して暗号化辞書データE(D1)を生成し、この生成した暗号化辞書データE(D1)をサーバ30にアップロードすることができる。オンプレミス辞書データD1は、複数の音素列の各々と各音素列に対応する形態素との対応関係を構造的に記憶するデータセットである。形態素の例は、単語である。暗号化辞書データE(D1)は、オンプレミス環境5において公開鍵PK1により準同型暗号方式に従ってオンプレミス辞書データD1を暗号化することで生成される。オンプレミス辞書D1は、公開鍵PK1とは異なる公開鍵により準同型暗号方式に従って暗号化されてもよい。ユーザ端末20において、オンプレミス辞書D1を平文では保存せず、公開鍵PK2を用いて暗号化された暗号化辞書データE(D1)を保存することにより、公開鍵PK1とペアになっている秘密鍵SK1を利用できるユーザ端末10にオンプレミス辞書データD1を復号する権限を与えないようにすることができる。これにより、オンプレミス環境5内での機密情報の管理を行うことができる。
 サーバ30における処理についてさらに説明する。サーバ30は、準同型暗号方式に従って暗号化された暗号化音声時系列E(A1)をユーザ端末10から受信する。サーバ30は、準同型暗号方式に従ってオンプレミス辞書データD1を暗号化することで生成される暗号化辞書データE(D1)を利用可能に保持することができる。
 サーバ30は、暗号化辞書データE(D1)を用いて、暗号化音声時系列E(A1)が表す音素列に対応する暗号化された暗号化文字列E(T1)を生成する。暗号化文字列E(T1)は、例えば、暗号化辞書データE(D1)を用いたパターンマッチングにより生成される。このようにして生成された暗号化文字列E(T1)は、ユーザ端末10に送信される。
 ユーザ端末10は、公開鍵PK1とペアになっている秘密鍵SK1を用いて、サーバ30から取得した暗号化文字列E(T1)を復号し、平文の文字列T1を生成する。音声認識システム1で用いられている暗号化方式の準同型性により、暗号化辞書データE(D1)を用いて暗号化音声時系列E(A1)から生成された暗号化文字列E(T1)を復号して得られる文字列T1は、平文のオンプレミス辞書データD1を用いて平文の音声時系列A1にパターンマッチングを行うことで生成される文字列と同じである。ただし、アルゴリズム上不可避な誤認識の影響があるため、暗号化文字列E(T1)を復号して得られる文字列T1は、平文のオンプレミス辞書データD1を用いて平文の音声時系列A1から得られる文字列と常に同じとは限らない。ユーザ端末10は、この文字列T1を様々な用途に利用することができる。例えば、会議の音声を録音しておき、音声認識システム1により当該会議の音声を処理することにより、会議の音声に対応するテキストを含む文字列を得ることができる。このようにして得られる文字列は、会議の議事録として使用され得る。
 以上のとおり、音声認識システム1によれば、オフプレミス環境にあるサーバ30において、準同型暗号方式に従って暗号化された暗号化辞書データE(D1)を用いて、準同型暗号方式に従って暗号化された暗号化音声時系列E(A1)から暗号化文字列E(T1)を生成することができ、ユーザ端末10は、暗号化文字列E(T1)を復号することで平文の文字列T1を得ることができる。このため、音声認識システム1によれば、オフプレミス環境にあるサーバ30に秘密鍵SK1を渡すことなく、サーバ30の計算リソースを使用して音声認識を行うことができる。また、サーバ30は、暗号化音声時系列E(A1)を暗号化文字列E(T1)へ変換する際に暗号化辞書データE(D1)を利用しているため、オンプレミス辞書データD1がオフプレミス環境で解析されることによる秘密情報の漏洩を防止することができる。
 オンプレミス環境5のみでの利用が想定されているオンプレミス辞書データD1には、オフプレミス環境への公開が想定されていない情報が含まれている可能性がある。オンプレミス辞書データD1に含まれる音素列と形態素との個別の対応付けは秘密度が高くないとしても、オンプレミス辞書データD1を解析することにより、そのオンプレミス辞書データD1を利用しているエンティティの活動や戦略が推測されるおそれがある。よって、音素列を文字列へ変換するためにオンプレミス辞書データD1を使用する場合、オンプレミス辞書を平文のままでオフプレミス環境の情報処理装置に使用させることは情報セキュリティの観点から望ましくない。
 本発明の一実施形態における音声認識システム1においては、オフプレミス環境にあるサーバ30は、平文のオンプレミス辞書ではなく準同型暗号方式に従って暗号化された暗号化辞書データE(D1)を使用して暗号化文字列E(T1)を生成するので、オンプレミス辞書がオフプレミス環境で解析されることによる情報の漏洩が防止されている。また、オフプレミス環境にあるサーバ30では、暗号化音声時系列E(A1)から暗号化文字列E(T1)への変換が行われ、変換後には暗号化文字列E(T1)が暗号文のままユーザ端末10へ送信される。このように、サーバ30では平文の音声時系列A1及び平文の文字列T1は保持されないので、音声認識システム1によれば、音声データや音声データから変換された文字列を通じた情報漏洩も防止されている。
 サーバ30は、オンプレミス辞書が暗号化された暗号化辞書データE(D1)に加えて他の辞書も用いて音素列の文字列への変換を行うことができる。サーバ30が使用する辞書の全てをオンプレミス環境5で暗号化すると、オンプレミス環境5での処理負荷が高くなってしまい、オフプレミス環境の計算リソースを使用して音声認識を行うメリットが減殺されてしまう。そこで、本発明の少なくとも一つの実施形態においては、辞書を2つの類型に分け、暗号化が必要な類型の辞書のみがオンプレミス環境5において暗号化される。第1の類型に属する第1辞書は、情報セキュリティの低下に繋がり得るデータを含む辞書であり、第2の類型に属する第2辞書は、情報セキュリティの低下に繋がり得るデータを含まない辞書である。第1辞書の具体例の一つが、オンプレミス環境5においてのみ使用されることが想定されているオンプレミス辞書である。オンプレミス辞書は、オフプレミス環境へは公開されていない辞書である。オンプレミス辞書は、例えば、オンプレミス環境5の利用者によって頻繁に使用される単語について、その単語を表す文字列と音素列とを対応付けるオンプレミス辞書データD1を含む。このオンプレミス辞書データD1に含まれる個々の音素列と単語との対応付けには秘密性がないとしても、オンプレミス辞書データD1を解析することにより、オンプレミス環境5の利用者(例えば、特定の企業やプロフェッショナルファーム)の戦略、事業活動、又はアドバイス内容を推測することが可能となる可能性がある。例えば、オンプレミス辞書に、「ESG」、「企業価値」、「DCF」といった単語が含まれている場合、このオンプレミス辞書の辞書データを解析することにより、当該オンプレミス辞書の利用者がESGをテーマとした投資や企業買収を検討していること又はそのような投資や企業買収に関するアドバイスを行っていることが推測されてしまうおそれがある。このように、オンプレミス辞書に含まれるオンプレミス辞書データD1を解析することで推測可能な情報は、当該オンプレミス辞書を使用する企業にとって秘密性の高い情報であり得る。
 第2辞書は、例えば、一般に公開されている汎用的な辞書である。第1辞書と異なり、第2辞書には、特定のエンティティの情報セキュリティを低下させる情報は含まれていない。他方、第2辞書は、その汎用性ゆえに、特定の専門的な内容に関する入力音声を解析する際や特定のエンティティに固有の話題で使用される単語(またはその単語と音素列との対応関係)をカバーしていないことが想定される。その結果、第1辞書を用いずに第2辞書のみを用いて音素列から文字列への変換を行うと、専門的な内容やオンプレミス環境5の利用者に固有の内容に関する発話を文字列に変換する際に変換精度が劣化するおそれがある。本発明の少なくとも一つの実施形態によれば、第1辞書を準同型暗号方式に従って暗号化した暗号化辞書データE(D1)をサーバ30で利用可能とすることにより、オンプレミス環境5の利用者にとっての情報セキュリティの低下を防止しつつ、汎用的な第2辞書でカバーされていない単語を暗号化辞書データE(D1)でカバーすることによりオンプレミス環境5の入力音声から文字列へ変換する際の変換精度を向上させることができる。また、準同型暗号方式による暗号化の対象を第1辞書に限定することができるため、汎用的な用語も含む第2辞書を暗号化する必要がなく、これによりオンプレミス環境5における辞書の暗号化の処理負荷を軽減することができる。
 また、オンプレミス環境5のユーザは、第1辞書に関してのみ、辞書データを管理・更新すればよい。辞書データの管理及び更新には、例えば、音素列と単語との対応付けの変更、音素列と単語との新たな対応付けの追加、及び前記以外の辞書データをより望ましい状態とするための辞書データの変更が含まれる。第2辞書としては、汎用的な辞書を利用することができるため、第2辞書の管理・更新は、外部の辞書編集者や第2辞書のパブリッシャーによってなされればよい。
 暗号化音声時系列E(A1)から変換された暗号化文字列E(T1)は暗号文であるため、情報セキュリティを低下させることなくオフプレミス環境に保存され得る。暗号化文字列E(T1)をオフプレミス環境に保存し、オンプレミス環境5の情報処理装置は、必要に応じてオフプレミス環境のストレージから暗号化文字列E(T1)を取得することにより、オンプレミス環境5におけるストレージ容量を節約することができる。秘密鍵SK1を所持しているオンプレミス環境5のユーザは、必要に応じてオフプレミス環境のストレージに記憶されている暗号化文字列E(T1)を秘密鍵SK1により復号し、その復号した文字列T1を用いて必要な演算・解析を行うことができる。また、オンプレミス環境5のユーザは、オフプレミス環境5に記憶されている暗号化文字列E(T1)を用いた解析や学習をオフプレミス環境の計算リソースを用いて実行させることができる。暗号化文字列E(T1)は、準同型暗号方式により暗号化されているので、このような解析や学習の結果を復号することにより、平文での学習又は解析と同じ結果を得ることができる。
 次に、図2から図5を参照して、音声認識システム1に含まれるユーザ端末10、ユーザ端末20、及びサーバ30についてより詳しく説明する。図2から図4はそれぞれ、ユーザ端末10、ユーザ端末20、及びサーバ30の概略的なブロック図である。図5は、サーバ30に備えられる暗号化辞書データE(D1)を模式的に示す図である。図1を参照して説明したとおり、ユーザ端末10及びユーザ端末20はオンプレミス環境5に配置された情報処理装置であり、サーバ30はオンプレミス環境5の外に(すなわち、オフプレミス環境に)配置された情報処理装置である。各図では、ユーザ端末10とユーザ端末20とが物理的に別体の装置として図示されているが、ユーザ端末10及びユーザ端末20の機能は物理的に単一の情報処理装置により実行されてもよい。
 まず、ユーザ端末10、ユーザ端末20、及びサーバ30のハードウェア構成について説明する。図2に示されているように、ユーザ端末10は、プロセッサ11、メモリ12、ユーザインタフェース13、通信インタフェース14、及びストレージ15を備えている。図3に示されているように、ユーザ端末20は、プロセッサ21、メモリ22、ユーザインタフェース23、通信インタフェース24、及びストレージ25を備えている。図4に示されているように、サーバ30は、プロセッサ31、メモリ32、ユーザインタフェース33、通信インタフェース34、及びストレージ35を備えている。
 プロセッサ11は、ストレージ15又はそれ以外のストレージからオペレーティングシステムやそれ以外の様々なプログラムをメモリ12にロードし、ロードしたプログラムに含まれる命令を実行する演算装置である。プロセッサ11は、例えば、CPU、MPU、DSP、GPU、これら以外の各種演算装置、又はこれらの組み合わせである。プロセッサ11は、ASIC、PLD、FPGA、MCU等の集積回路により実現されてもよい。
 メモリ12は、プロセッサ11が実行する命令及びそれ以外の各種データを格納するために用いられる。メモリ12は、プロセッサ11が高速にアクセス可能な主記憶装置(メインメモリ)である。メモリ12は、例えば、DRAMやSRAM等のRAMによって構成される。
 ユーザインタフェース13は、ユーザの入力を受け付ける入力インタフェースと、プロセッサ11の制御により様々な情報を出力する出力インタフェースと、を備える。入力インタフェースは、例えば、音を電気信号に変換するマイクロフォンを含む。入力インタフェースは、キーボード、マウス等のポインティングデバイス、タッチパネル、又は前記以外のユーザの入力を入力可能な任意の情報入力装置である。出力インタフェースは、例えば、液晶ディスプレイ、表示パネル、又は前記以外のプロセッサ11の演算結果を出力可能な任意の情報出力装置である。
 通信インタフェース14は、ハードウェア、ファームウェア、又はTCP/IPドライバやPPPドライバ等の通信用ソフトウェア又はこれらの組み合わせとして実装される。ユーザ端末10は、通信インタフェース14を介して、オンプレミス環境5内に配置されている情報機器やオフプレミス環境にあるサーバ30とデータを送受信することができる。
 ストレージ15は、プロセッサ11によりアクセスされる外部記憶装置である。ストレージ15は、例えば、磁気ディスク、光ディスク、半導体メモリ、又はデータを記憶可能な前記以外の各種記憶装置である。
 ユーザ端末20に備えられプロセッサ21、メモリ22、ユーザインタフェース23、通信インタフェース24、及びストレージ25、並びに、サーバ30に備えられるプロセッサ31、メモリ32、ユーザインタフェース33、通信インタフェース34、及びストレージ35はそれぞれ、ユーザ端末10に備えられるプロセッサ11、メモリ12、ユーザインタフェース13、通信インタフェース14、及びストレージ15のうち対応するものと同様に構成され得る。例えばプロセッサ21及びプロセッサ31はそれぞれ、プロセッサ11と同様に構成され得る。このため、ユーザ端末20及びサーバ30のハードウェア構成についての詳細な説明は省略する。
 続いて、ユーザ端末10、ユーザ端末20、及びサーバ30の機能及びこれらの装置に記憶されるデータについて説明する。
 まず、ユーザ端末10が実行する機能及びユーザ端末10に格納されるデータについて説明する。ユーザ端末10は、ストレージ15に格納されているプログラムに含まれる命令及び必要に応じてそれ以外の命令を実行することにより、音声取得部11a、特徴抽出部11b、暗号化部11c、送信部11d、及び復号部11eとして機能する。
 音声取得部11aは、発話を含む音を電気信号に変換した音声データを取得する。音声取得部11aは、例えば、ユーザインタフェース13の一部であるマイクロフォンにより検出された音を表すアナログの音声波形信号に標本化処理及び量子化処理を行うことで、音声波形信号がデジタル化された音声データを生成することができる。音声取得部11aは、マイクロフォンで検出された音を逐次的に音声データに変換してもよいし、予めデジタル化された音声データをストレージ15又はそれ以外の記憶装置から取得してもよい。
 特徴抽出部11bは、音声取得部11aから音声データを取得し、この取得した音声データに単位時間(例えば、10msec)ごとに特徴量を算出するための公知の演算を行うことにより音声特徴量時系列A11を取得する。音声特徴量時系列A11は、音声の特徴量を時系列で表す時系列データである。音声特徴量時系列A11は、メル周波数ケプストラム係数(Mel-Frequency  Cepstral  Coefficient)等のノンパラメトリック分析により算出される特徴量の時系列であってもよいし、音声信号に対して特定のモデルを適用して(つまり、パラメトリック分析により)抽出される特徴量の時系列であってもよい。音声特徴量時系列A11は、図1において説明した音声時系列A1の一例である。
 特徴抽出部11bは、音声特徴量時系列A11を算出するために、音声データに公知の様々な演算を行うことができる。例えば、特徴抽出部11bは、メル周波数ケプストラム係数を算出するために、音声データに含まれる音声信号にフーリエ変換および離散コサイン変換等の各種演算を行うことができる。
 暗号化部11cは、特徴抽出部11bにより算出された音声特徴量時系列A11を準同型暗号方式に従って暗号化することで、暗号化特徴量時系列E(A11)を生成する。暗号化部11cによる準同型暗号方式による暗号化には、ストレージ15に記憶されている鍵ペア15aにおいて秘密鍵SK1とペアにされている公開鍵PK1が用いられる。暗号化部11cは、処理負荷軽減のために、音声特徴量時系列A11を暗号化用の単位フレームに分割し、この分割された音声特徴量時系列A11の各々を暗号化することで暗号化特徴量時系列E(A11)を生成することができる。つまり、暗号化特徴量時系列E(A11)は、単位フレームに分割された音声特徴量時系列A11を暗号化した暗号文の系列であってもよい。
 送信部11dは、暗号化部11cにより生成された暗号化特徴量時系列E(A11)を音声認識処理のためにサーバ30に送信することができる。
 復号部11eは、サーバ30から受信した暗号化文字列E(T1)を秘密鍵SK1により復号することで、平文の文字列T1を生成する。サーバ30における暗号化文字列E(T1)の生成については後述する。復号部11eにより生成された文字列T1は、ストレージ15に保存されてもよい。ユーザ端末10は、ストレージ15に記憶されている文字列T1を用いて、文書作成、文章解析、機械学習、及び前記以外の各種処理を行うことができる。
 次に、ユーザ端末20が実行する機能及びユーザ端末20に格納されるデータについて説明する。ユーザ端末20は、オンプレミス辞書データD1の管理のために用いられる情報処理装置である。ユーザ端末10は、ストレージ25に格納されているプログラムに含まれる命令及び必要に応じてそれ以外の命令を実行することにより、辞書管理部21a、暗号化部21b、及び送信部21cとして機能する。
 辞書管理部21aは、オンプレミス環境5で利用される複数の形態素(例えば単語)の各々について各形態素とその形態素に対応する音素列との対応関係を定めるオンプレミス辞書の管理を行う。オンプレミス辞書は、複数の単語の各々について、各単語を表す文字列とその単語を表す音素列とを対応付けるオンプレミス辞書データD1の形式でストレージ25に記憶され得る。オンプレミス辞書データD1において、音素列は、当該音素列を構成する音素をノードとする決定木ネットワーク構造を有していてもよい。オンプレミス辞書データD1がネットワーク構造を有する場合には、探索の効率化のために、複数の音素列において共通する音素が共通のノードに集約されてもよい。
 辞書管理部21aは、オンプレミス辞書データD1の更新、管理、編集、修正、追加及び前記以外の処理を行うことができる。例えば、辞書管理部21aは、オンプレミス環境5で使用されている文書を解析し、その中で使用頻度が一定の基準よりも高い単語をオンプレミス辞書に追加することができる。辞書管理部21aは、音声認識において一般に利用可能な(オンプレミス環境5の外で利用可能な)汎用辞書に登載されている単語とオンプレミス辞書に登載されている単語とを比較し、汎用辞書に登載されていない単語をオンプレミス辞書に追加することができる。逆に、オンプレミス環境5内の文書での使用頻度が高い単語であっても、サーバ30によって利用可能な汎用辞書に登載されている単語についてはオンプレミス辞書へ追加しなくともよい。これにより、オンプレミス辞書データD1のデータサイズを削減することができる。辞書管理部21aは、サーバ30で利用可能な汎用辞書を解析し、汎用辞書に登載されている単語をオンプレミス辞書から削除してもよい。辞書管理部21aは、上記以外にもオンプレミス辞書を改善するための様々な処理を行うことができる。
 暗号化部21bは、オンプレミス辞書データD1の少なくとも一部を準同型暗号方式に従って暗号化することで、暗号化辞書データE(D1)を生成する。暗号化部11cによる準同型暗号方式に従った暗号化では、ストレージ25に記憶されている鍵ペア25aにおいて秘密鍵SK1とペアにされている公開鍵PK1が用いられる。暗号化部21bは、秘密鍵SK1と公開鍵PK1とが対応付けられた鍵ペアとは異なる鍵ペアを用いてオンプレミス辞書データD1の暗号化を行ってもよい。
 送信部21cは、暗号化部21bにより生成された暗号化辞書データE(D1)をサーバ30に送信することができる。
 暗号化辞書データE(D1)は、サーバ30においてストレージ35に記憶され得る。図5に暗号化辞書データE(D1)の例を模式的に示す。暗号化辞書データE(D1)は、複数の単語について、その単語を表す文字列を準同型暗号方式により暗号化することで生成された暗号化文字列と、その単語を発話した音を表す音素列を準同型暗号方式により暗号化することで生成される暗号化音素列とが対応付けられたデータセットである。図5に示されている例では、「監査」という文字列を準同型暗号方式に従って暗号化した暗号化文字列「E(監査)」が、この「監査」を発話した音を表す音素列を準同型暗号方式に従って暗号化した暗号化音素列「E(k)E(a)E(n)E(s)E(a)」と対応付けられている。他の単語についても同様に、その単語を表す文字列を準同型暗号方式に従って暗号化した暗号化文字列と、その単語を発話した音を表す音素列を準同型暗号方式に従って暗号化した暗号化音素列とが対応付けて記憶されている。
 次に、サーバ30が実行する機能及びサーバ330に格納されるデータについて説明する。サーバ30は、ストレージ35に格納されているプログラムに含まれる命令及び必要に応じてそれ以外の命令を実行することにより、受信部31a、音素列抽出部31b、文字列変換部31c、及び送信部31dとして機能する。
 受信部31aは、ユーザ端末10から暗号化特徴量時系列E(A11)を受信する。また、上述したように、受信部31aは、ユーザ端末20から暗号化辞書データE(D1)を受信し、受信した暗号化辞書データE(D1)をストレージ35に格納することができる。ストレージ35には、オンプレミス辞書の辞書データD1が暗号化された暗号化辞書E(D1)に加えて、汎用辞書の汎用辞書データD2を記憶してもよい。汎用辞書データD2は、オンプレミス辞書データD1と同様に、複数の形態素について、各形態素を発話したときの音素列と各形態素の文字列との対応関係を構造的に記憶するデータセットである。
 音素列抽出部31bは、ストレージ35に記憶されている音響モデル35aを使用して、暗号化特徴量時系列E(A11)に最も良く整合する暗号化音素列E(A12)を抽出する。例えば、音素列抽出部31bは、音響モデル35aを用いて、暗号化特徴量時系列E(A11)の各単位時間の特徴量が各音素である確率を示す事後確率系列を推定し、この事後確率系列に基づいて当該特徴量に最も良く整合する音素を決定することができる。この事後確率系列に基づいて、暗号化特徴量時系列E(A11)から暗号化音素列E(A12)を生成することができる。準同型暗号方式により暗号化されている特徴量から事後確率系列を算出できることは、非特許文献2に記載されている。このように、音素列抽出部31bは、暗号化特徴量時系列E(A11)を復号することなく、音響モデル35aを用いて暗号化特徴量時系列E(A11)に最も良く整合する暗号化音素列E(A12)を抽出することができる。音素列抽出部31bは、ビタビアルゴリズムを利用したビタビサーチ又はコサインマッチングによって暗号化特徴量時系列E(A11)から暗号化音素列E(A12)を抽出することもできる。
 音響モデル35aは、単語列Wが音声Xを生成する確率p(X|W)を与える数学モデルである。音響モデル35aとして様々な公知の音響モデルを利用することができる。例えば、音響モデル35aは、各音素の特徴を3状態の隠れマルコフモデル(Hidden Markov Model)により表現するモデルであってもよい。音響モデル35aは、大量の学習データから、解析対象の言語の全ての音素をカバーするように設計される。例えば、日本語の音声の音声認識を行う場合には、日本語の全ての音素をカバーするように音響モデル35aを生成することができる。非特許文献1に記載されているように、音響モデル35aとして、ニューラルネットワークを用いることもできる。例えば、音響モデル35aとして、深層ニューラルネットワーク(DNN: Deep Neural Network)、長・短期記憶再帰型ネットワーク(LSTM: Long Short-Term Memory Network))、又はこれら以外のニューラルネットワークを用いることができる。
 文字列変換部31cは、暗号化辞書データE(D1)及び汎用辞書データD2の少なくとも一方並びに言語モデル35bを用いて、音素列抽出部31bにより生成された暗号化音素列E(A12)を暗号化文字列E(T1)に変換する。文字列変換部31cによる演算は、暗号化音素列E(A12)を復号せずに実行されるため、文字列変換部31cから出力される文字列も暗号化されている。文字列変換部31cは、例えば、暗号化音素列E(A12)と暗号化辞書データE(D1)及び汎用辞書データD2の少なくとも一方に含まれる音素列とのパターンマッチングを行い、暗号化音素列E(A12)に含まれる音素列とマッチする単語又は単語以外の形態素を決定することができる。文字列変換部31cは、例えば、前方探索により、暗号化音素列E(A12)に含まれる所定単位の音素列が、暗号化辞書データE(D1)及び汎用辞書データD2の少なくとも一方に登録されている音素列と一致する場合に、その形態素を当該音素列に対応する文字列とすることができる。例えば、暗号化音素列E(A12)に含まれる変換対象の所定単位の音素列が「/k/、/a/、/n/、/s/、/a/」の暗号文であり、暗号化辞書データE(D1)において暗号化されている音素列「/k/、/a/、/n/、/s/、/a/」と暗号化されている「監査」の文字列とが対応付けられている場合、この暗号化されている「監査」の文字列を変換対象である音素列「/k/、/a/、/n/、/s/、/a/」に対応する文字列として決定することができる。文字列変換部31cは、暗号化音素列E(A12)に含まれる変換対象の所定単位の音素列が、暗号化辞書データE(D1)及び汎用辞書データD2の少なくとも一方に登録されている音素列と完全一致していなくても、一致度が所定の基準値よりも高い場合には、その高い一致度を有する音素列に対応付けられている文字列を当該変換対象の音素列に対応する文字列とすることができる。
 本発明の少なくとも一つの実施形態において、汎用辞書データD2は、暗号化されていても暗号化されていなくともよい。文字列変換部31cにおけるパターンマッチングのアルゴリズムにおいて汎用辞書データD2も暗号化されている必要がある場合には、汎用辞書データD2を準同型暗号方式により暗号化してストレージ35に記憶し、パターンマッチングの際には暗号化されている汎用辞書データD2を用いてもよい。この場合、サーバ30が公開鍵PK1をユーザ端末10または20から取得し、その公開鍵PK1を用いて汎用辞書データD2を準同型暗号化してもよい。汎用辞書データD2が暗号化される場合であっても、この暗号化処理は、サーバ30又は汎用辞書データD2の提供者によって行われればよく、オンプレミス環境5において行われる必要はない。本明細書では、汎用辞書データD12は、平文の汎用辞書データと暗号化された汎用辞書データのいずれを指してもよいものとする。
 言語モデル35bは、ある言語における文字列(単語列など)の連鎖の出現確率を表す数学モデルである。言語モデル35bが単語の連鎖としてn単語の連鎖を用いて出現確率を表現する場合、当該言語モデル35bはnグラム言語モデルと呼ばれる。3単語の連鎖を用いるトライグラム(3-gram)言語モデルが広く用いられており、本発明の少なくとも一つの実施形態においては、この公知のトライグラム言語モデルを用いることができる。文字列の連鎖の出現確率は、文例を多数集めたコーパスに基づいて生成される。文字列変換部31cは、言語モデル35bが表す単語列の出現確率を重みとして使用することで、暗号化音素列E(A12)に最も整合する文字列を決定し、決定した文字列を出力することができる。
 音響モデル35a及び言語モデル35bは、準同型暗号方式により暗号化されていてもよいし、暗号化されていなくともよい。
 非特許文献1に記載されているように、音響モデル及び言語モデルがいずれも確率値を重みとする重み付き有限状態変換器で表され得るため、音響モデルと言語モデルとを合成して単一の有限状態変換器で表すことができる。この単一の有限状態変換器により、音素列抽出部31b及び文字列変換部31cを代替することができる。つまり、音響モデルと言語モデルとを合成した単一の有限状態変換器により、暗号化特徴量時系列E(A11)から暗号化文字列E(T1)を生成することができる。本発明の一実施形態におけるサーバ30は、音響モデルと言語モデルとを合成した単一の有限状態変換器を使用して暗号化特徴量時系列E(A11)から暗号化文字列E(T1)を生成する機能を備えることができる。
 送信部31dは、文字列変換部31cにより生成された暗号化文字列E(T1)をユーザ端末10に送信することができる。
 次に、図6及び図7を参照して、ユーザ端末10からの要求に基づいてサーバ30が行う音声認識処理の流れを説明する。まず、ステップS11において、ユーザ端末10において、解析対象となる発話を含む音を電気信号に変換した音声データが取得される。取得される音声データは、例えば、図7(a)に示すように、デジタル変換された音声波形信号s1である。デジタル化された音声波形信号s1は、解析対象となる音の振幅の時系列的な変化を表す信号である。ステップS11では、マイクロフォンで検出された音が逐次的に音声データに変換されてもよいし、予め集音されデジタル化された音声データがストレージ15又はそれ以外の記憶装置から取得されてもよい。音声データの取得は、音声取得部11aにより実行されてもよい。
 次に、ステップS12において、ステップS11において取得された音声データから単位時間ごとに音声特徴量が算出され、当該音声特徴量の時系列である音声特徴量時系列A11が生成される。ステップS12において算出される音声特徴量は、例えばメル周波数ケプストラム係数である。音声特徴量時系列A11の生成は、特徴抽出部11bにより実行されてもよい。
 次に、ステップS13において、ステップS12において算出された音声特徴量時系列A11が準同型暗号方式に従って公開鍵PK1を用いて暗号化され、暗号化特徴量時系列E(A11)が生成される。ステップS13においては、音声特徴量時系列A1がフレーム単位に分割され、この分割された部分ごとに音声特徴量時系列A11に対する暗号化が行われてもよい。この暗号化特徴量時系列E(A11)は、ユーザ端末10からサーバ30に送信される。ステップS13における音声特徴量時系列A11の暗号化は、暗号化部11cによって実行されてもよい。暗号化特徴量時系列E(A11)のサーバ30への送信は、送信部11dにより実行されてもよい。
 暗号化特徴量時系列E(A11)がサーバ30に受信されると、ステップS14において、暗号化特徴量時系列E(A11)に最も良く整合する暗号化音素列E(A12)が抽出される。暗号化特徴量時系列E(A11)から暗号化音素列E(A12)を抽出する処理には、音響モデル35aが用いられる。例えば、ステップS14では、音響モデル35aを用いて暗号化特徴量時系列E(A11)に最も良く整合する暗号化音素列E(A12)が生成される。具体的には、音声データに「監査(かんさ)」の発話を表す音声波形信号s1が含まれている場合、誤認識が起こらなければ、図7(b)に示されているように、当該音声波形信号s1に基づいて生成された暗号化特徴量時系列E(A11)に最も良く整合する暗号化音素列E(A12)として/k/、/a/、/n/、/s/、/a/の各音素をこの順番で含む暗号化された音素列「E(k)E(a)E(n)E(s)E(a)」が生成される。この暗号化音素列E(A12)の生成は、例えば、音素列抽出部31bにより実行されてもよい。図7には、説明の簡潔さのために、「監査」という一つの単語を表す音声データに対応する音声波形信号s1及びその音声波形信号s1に基づいて生成される暗号化音素列E(A12)を示しているが、音声認識システム1で音声認識の対象となる音声データは、複数の単語及びそれ以外の形態素を含む単語列又は文章を発話した音を表すデータであってもよい。
 次に、ステップS15において、ステップS14で生成された暗号化音素列E(A12)が暗号化文字列E(T1)に変換される。暗号化音素列E(A12)の暗号化文字列E(T1)への変換には、暗号化辞書データE(D1)及び汎用辞書データD2の少なくとも一方が用いられる。ステップS15での暗号化文字列E(T1)への変換には言語モデル35bが使用されてもよい。ステップS15では、例えば、暗号化音素列E(A12)と暗号化辞書データE(D1)及び汎用辞書データD2の少なくとも一方に含まれる音素列とのパターンマッチングが行われ、暗号化音素列E(A12)に含まれる音素列とマッチする単語又は単語以外の形態素が決定される。暗号化音素列E(A12)に含まれる変換対象の所定単位の音素列が「/k/、/a/、/n/、/s/、/a/」の暗号文であり、暗号化辞書データE(D1)に暗号化音素列「E(k)E(a)E(n)E(s)E(a)」と対応付けて「監査」の暗号化文字列が対応付けられている場合、この「監査」の暗号化文字列が暗号化文字列E(T1)として決定される。変換対象の音素列が複数の単語や単語以外の形態素を含む場合には、言語モデル35bが表す単語列の出現確率を重みとして使用することで、暗号化音素列E(A12)から暗号化文字列E(T1)への変換をより精度良く行うことができる。暗号化音素列E(A12)から暗号化文字列E(T1)への変換は、文字列変換部31cによって実行されてもよい。ステップS15で生成された暗号化文字列E(T1)は、ユーザ端末10に送信される。暗号化文字列E(T1)のユーザ端末10への送信は、送信部31dにより実行されてもよい。
 暗号化文字列E(T1)がユーザ端末10に受信されると、ステップS16において、ステップS13で使用された公開鍵PK1とペアになる秘密鍵SK1を用いて暗号化文字列E(T1)が復号され、平文の文字列T1が生成される。音声波形信号s1が音声データに含まれる「監査(かんさ)」という発話を表す場合、ステップS16において生成される平文の文字列T1は、誤認識がない場合には「監査」となる。暗号化文字列E(T1)を復号して文字列T1を生成する復号処理は、復号部11eにより実行されてもよい。
 以上により、ユーザ端末10において取得された「/k/、/a/、/n/、/s/、/a/」という音素列に対応する音を含む音声データに対してサーバ30で音声認識処理が行われ、当該音声データ中の発話に対応する「監査」という文字列が音声認識結果として得られる。
 この音声認識処理において、サーバ30は、準同型暗号方式に従って暗号化された暗号化特徴量時系列E(A11)から暗号化音素列E(A12)を抽出し、抽出された暗号化音素列E(A12)を暗号化文字列E(T1)に変換してユーザ端末10に送信している。暗号化音素列E(A12)から暗号化文字列E(T1)への変換には、準同型暗号方式に従って暗号化された暗号化辞書データE(D1)が用いられている。よって、音声認識システム1によれば、サーバ30に提供される音声特徴量だけでなく、サーバ30が利用するオンプレミス辞書データD1も暗号化されているから、情報セキュリティを低下させることなく、オフプレミス環境にあるサーバ30の計算リソースを利用して音声認識を行うことができる。音声認識システム1における音声認識においては、オンプレミス辞書D1が準同型暗号方式に従って暗号化された暗号化辞書データE(D1)が用いられているため、汎用辞書データD12には登載されていない単語(例えば、オンプレミス環境5で特有の話題で使用される単語、オンプレミス環境5で使用される専門性が高い単語など)についても精度よく文字列へ変換することができる。ステップS15においては、ストレージ35に保持されている暗号化辞書データE(D1辞書データE(D1)及び汎用辞書データD2のうち、暗号化音声特徴量時系列E(A11)の送信元であるオンプレミス環境5から提供され暗号化辞書データE(D1)が優先的に選択されてもよい。例えば、オンプレミス環境5が監査法人の計算環境であり、オンプレミス辞書データD1が監査ドメインの辞書データである場合、暗号化辞書データE(D1)が優先的に選択されることで、監査法人からの音声特徴量時系列を監査ドメインにおいて文字列に変換することができ、文字列への変換精度が向上する。
 続いて、図8から図10を参照して、本発明の別の実施形態について説明する。図8は、本発明の別の実施形態における音声認識システムに含まれるユーザ端末10のブロック図であり、図9は、当該音声認識システムに含まれるサーバ30を概略的に示すブロック図であり、図10は、当該音声認識システムにおける音声認識処理の流れを示すフロー図である。図8から図10に示されている実施形態においては、音声特徴量からの音素列の抽出がユーザ端末10で行われ、サーバ30は、ユーザ端末10から暗号化音素列E(A12)を取得し、このユーザ端末10から受信した暗号化音素列E(A12)を暗号化文字列E(T1)に変換する点で、音素列の抽出をサーバ30で行う図2から図4に示されている実施形態とは異なっている。
 図8に示されている実施形態において、ユーザ端末10のプロセッサ11は、ストレージ15に格納されているプログラムに含まれる命令及び必要に応じてそれ以外の命令を実行することにより、音素列抽出部111aとしても機能する。音素列抽出部111aは、ストレージ15に記憶されている音響モデル115aを使用して、特徴抽出部11bにより生成された音声特徴量時系列A11に最も良く整合する音素列E(A12)を抽出する。音響モデル115aは、音響モデル35aと同様に構成され得る。音素列抽出部111aは、音素列抽出部31bと同様のアルゴリズムによって音声特徴量時系列A11から音素列E(A12)を抽出することができる。上記のとおり、音素列抽出部31bは、暗号化特徴量時系列E(A11)から暗号化音素列E(A12)を抽出することができる。音素列抽出部111aにおける処理は、オンプレミス環境5で行われるため、平文の特徴量時系列A11から平文の音素列A12が抽出される。入力及び出力が暗号化されていない(つまり、平文である。)点以外は、音素列抽出部111aは、音素列抽出部31bと同様の処理によって音素列A12を生成することができる。
 音素列抽出部111aにより生成された音素列A12は、暗号化部11cに出力される。暗号化部11cは、音素列抽出部111aにより生成された音素列A12を準同型暗号方式に従って暗号化し、暗号化音素列E(A12)を生成する。送信部11dは、暗号化部11cにより生成された暗号化音素列E(A12)を音声認識処理のためにサーバ30に送信することができる。
 サーバ30は、受信部31aにおいて、ユーザ端末10から送信された暗号化音素列E(A12)を受信する。図9に示されているように、サーバ30のプロセッサ31は、ストレージ35に格納されているプログラムに含まれる命令及び必要に応じてそれ以外の命令を実行することにより、受信部31a、文字列変換部31c、及び送信部31dとして機能する。図4に示されている実施形態と異なり、図9に示されているサーバ30は、音素列抽出部31bとしての機能を実行しなくともよい。
 サーバ30において、文字列変換部31cは、暗号化辞書データE(D1)及び汎用辞書データD2の少なくとも一方並びに必要に応じて言語モデル35bを用いて、受信部31aにより受信された暗号化音素列E(A12)を暗号化文字列E(T1)に変換する。暗号化音素列E(A12)から暗号化文字列E(T1)への変換は、既述のとおりである。
 次に、図10を参照して、図8に示されているユーザ端末10からの要求に基づいて図9に示されているサーバ30が行う音声認識処理の流れを説明する。まず、ステップS111において、ユーザ端末10において、解析対象となる発話を含む音を電気信号に変換した音声データが取得される。次に、ステップS112において、ステップS111において取得された音声データから単位時間ごとに音声特徴量が算出され、当該音声特徴量の時系列である音声特徴量時系列A11が生成される。
 次に、ステップS113において、音響モデル115aを用いて、ステップS112で生成された音声特徴量時系列A11に最も良く整合する音素列A12が生成される。例えば、音声データに「監査(かんさ)」の発話を表す音声波形信号s1が含まれている場合、誤認識が起こらなければ、特徴量時系列A11に最も良く整合する音素列A12として/k/、/a/、/n/、/s/、/a/の各音素をこの順番で含む音素列が生成される。ステップS113における音素列A12の抽出は、例えば、音素列抽出部111aで行われてもよい。
 次に、ステップS114において、ステップS113において生成された音素列A12が準同型暗号方式に従って公開鍵PK1を用いて暗号化され、暗号化音素列E(A12)が生成される。暗号化音素列E(A12)は、図1を参照して説明した暗号化音声時系列(E(A1))の例である。この暗号化音素列E(A12)は、ユーザ端末10からサーバ30に送信される。ステップS13における音素列A12の暗号化は、暗号化部11cによって実行されてもよい。暗号化音素列E(A12)のサーバ30への送信は、送信部11dにより実行されてもよい。
 暗号化音素列E(A12)がサーバ30に受信されると、ステップS115において、暗号化音素列E(A12)が暗号化文字列E(T1)に変換される。暗号化音素列E(A12)の暗号化文字列E(T1)への変換には、暗号化辞書データE(D1)及び汎用辞書データD2の少なくとも一方並びに必要に応じて言語モデル35bが使用される。ステップS115で生成された暗号化文字列E(T1)は、ユーザ端末10に送信される。暗号化音素列E(A12)から暗号化文字列E(T1)への変換は、文字列変換部31cによって実行されてもよい。暗号化文字列E(T1)のユーザ端末10への送信は、送信部31dにより実行されてもよい。
 暗号化文字列E(T1)がユーザ端末10に受信されると、ステップS116において、公開鍵PK1とペアになる秘密鍵SK1を用いて暗号化文字列E(T1)が復号され、平文の文字列T1が生成される。暗号化文字列E(T1)を復号して文字列T1を生成する復号処理は、復号部11eにより実行されてもよい。以上により、ユーザ端末10において取得された「/k/、/a/、/n/、/s/、/a/」という音素に対応する音を含む音声データに対してサーバ30で音声認識処理が行われ、当該音声データ中の発話に対応する「監査」という文字列が音声認識結果として得られる。
 図8から図10を参照して説明した実施形態によれば、音声認識のためにユーザ端末10からサーバ30に送信されるデータは、暗号化音素列E(A12)である。暗号化音素列E(A12)は、暗号化特徴量時系列E(A11)よりもデータ量が小さいので、図8から図10に示されている実施形態によれば、情報セキュリティを低下させることなくオフプレミス環境にあるサーバ30の計算リソースを利用して音声認識を行えることに加え、ユーザ端末10とサーバ30との通信量を削減することができる。また、音響モデル115aがオンプレミス環境5のストレージ15に格納されているため、音響モデル115aのアップデイトを容易に行うことができる。
 続いて、図11及び図12を参照して、本発明の別の実施形態について説明する。図11は、本発明の別の実施形態における音声認識処理の流れを示すフロー図であり、図12は、図11に示されている処理で用いられる暗号化辞書データE(D11)を模式的に示す図である。図11に示されている音声認識処理は、文字列変換部31dにより生成された暗号化文字列E(T1)に含まれる単語の意味や定義を説明する暗号化説明文を生成する処理が追加されている点で、図5に示されている音声認識処理と異なっている。
 図12に示されているように、本実施形態で用いられる暗号化辞書データE(D11)は、複数の単語について、その単語を表す文字列を準同型暗号方式により暗号化することで生成された暗号化文字列と、その単語を発話した音を表す音素列を準同型暗号方式により暗号化することで生成される暗号化音素列と、その単語の定義又は説明文を準同型暗号方式で暗号化した暗号化説明文とが対応付けられたデータセットである。図12に示されている例では、「監査」という文字列を準同型暗号方式に従って暗号化した暗号化文字列「E(監査)」が、この「監査」を発話した音を表す音素列を準同型暗号方式に従って暗号化した暗号化音素列「E(k)E(a)E(n)E(s)E(a)」、及び「監査」の定義である「企業の経営活動とその結果について、正確性と妥当性を判断し、報告すること」という説明文を準同型暗号方式に従って暗号化した暗号化説明文と対応付けられている。他の単語についても同様に、その単語を表す文字列を準同型暗号方式に従って暗号化した暗号化文字列と、その単語を発話した音を表す音素列を準同型暗号方式に従って暗号化した暗号化音素列と、その単語の説明文を準同型暗号方式に従って暗号化した暗号化説明文と、が対応付けて記憶されている。
 図11に示されている音声認識処理では、図5に示されている処理と同様に、ステップS11からステップS15までの処理を実行することにより、処理対象の発話を表す暗号化文字列E(T1)が生成される。次に、ステップS211において、暗号化辞書データE(D11)を用いて、ステップS15で生成された暗号化文字列E(T1)の単語と対応付けられて記憶されている暗号化説明文E(T11)が抽出される。例えば、ステップS15で生成された暗号化文字列E(T1)が「E(監査)」である場合には、この「E(監査)」と対応付けられている「E(企業の経営活動とその結果について、正確性と妥当性を判断し、報告すること)」が暗号化説明文E(T11)として抽出される。暗号化説明文E(T11)の生成は、暗号化文字列E(T1)を復号することなく実行される。よって、暗号化説明文E(T11)も準同型暗号方式によって暗号化されている暗号文である。ステップS211で生成された暗号化説明文E(T11)は、ステップS15で生成された暗号化文字列E(T1)とともにユーザ端末10に送信される。
 暗号化文字列E(T1)及び暗号化説明文E(T11)がユーザ端末10に受信されると、ステップS212において、ステップS13で使用された公開鍵PK1とペアになる秘密鍵SK1を用いて暗号化文字列E(T1)及び暗号化説明文E(T11)が復号され、平文の文字列T1及び平文の説明文T2が生成される。音声波形信号s1が音声データに含まれる「監査(かんさ)」という発話を表す場合、ステップS212において生成される平文の文字列T1は、誤認識がない場合には「監査」となり、説明文T11は、「企業の経営活動とその結果について、正確性と妥当性を判断し、報告すること」となる。暗号化文字列E(T1)及び暗号化説明文E(T11)を復号して文字列T1及び説明文T2を生成する復号処理は、復号部11eにより実行されてもよい。
 ユーザ端末10は、説明文T2を文字列T1と関連付けた文章を生成し、その文章を表示してもよい。説明文T2は、文字列T1の定義又は説明文であるから、ユーザ端末10は、例えば、「『文字列T1』は、『説明文T2』を意味する。」という形式の文章を自動的に生成してもよい。例えば、上記の例においては、「『監査』は、『企業の経営活動とその結果について、正確性と妥当性を判断し、報告すること』を意味する。」という文章が自動的に作成されてもよい。ユーザが音声認識の結果得られる文字列T1を議事録として使用する場合には、議事録に含まれる単語の意味を表す文章を議事録に含めることができるので、利用者にとっての利便性が向上する。
 ステップS211において生成される暗号化文字列E(T1)に含まれる全ての単語のうち一部についてのみ暗号化説明文E(T11)が生成されてもよい。例えば、暗号化辞書データE(D11)は、単語ごとに、その単語の難易度を記憶してもよい。ステップS211においては、暗号化文字列E(T1)に含まれる単語のうち所定の難易度以上の単語についてのみ暗号化説明文E(T11)が生成されてもよい。暗号化説明文E(T11)を生成するか否かの基準となる難易度は、ユーザ端末10において、ユーザの操作に基づいて設定されてもよい。この難易度は、ユーザ端末10のユーザの属性に基づいて自動的に設定されてもよい。例えば、ユーザ端末10を使用するユーザが、オンプレミス環境5の利用を開始したばかりのユーザである場合には、低い難易度を設定することで、より多くの単語について暗号化説明文E(T11)が生成されるようにしてもよい。
 図11に示されている音声認識処理によれば、ユーザ端末10は、発話に含まれる単語の暗号化説明文E(T11)を、その単語を表す暗号化文字列E(T1)とともに取得することができる。また、この暗号化説明文E(T11)を生成するためにサーバ30において用いられる暗号化辞書データE(D11)及びサーバ30において生成される暗号化説明文E(T11)は、準同型暗号方式により暗号化されているから、情報セキュリティを低下させることなく、音声認識結果を示す文字列とともにその文字列に含まれる単語の説明文を生成することができる。
 続いて、図13及び図14を参照して、本発明の別の実施形態について説明する。図13は、本発明の別の実施形態における音声認識処理の流れを示すフロー図であり、図14は、図13に示されている処理で用いられる暗号化辞書データE(D21)を模式的に示す図である。図13に示されている音声認識処理は、文字列変換部31dにより生成された暗号化文字列E(T1)に含まれる単語を別の言語に翻訳した暗号化翻訳文E(T21)を生成する処理が追加されている点で、図5に示されている音声認識処理と異なっている。
 図14に示されているように、本実施形態で用いられる暗号化辞書データE(D21)は、複数の単語の各々について、各単語を表す文字列を準同型暗号方式により暗号化することで生成された暗号化文字列と、その単語を発話した音を表す音素列を準同型暗号方式により暗号化することで生成される暗号化音素列と、その単語を別の言語に翻訳した翻訳文を準同型暗号方式で暗号化した暗号化翻訳文とが対応付けられたデータセットである。図14に示されている例では、「監査」という文字列を準同型暗号方式に従って暗号化した暗号化文字列「E(監査)」が、この「監査」を発話した音を表す音素列を準同型暗号方式に従って暗号化した暗号化音素列、及び「監査」の英語の翻訳文である「accounting」を準同型暗号方式に従って暗号化した暗号化翻訳文「E(accounting)」と対応付けられている。他の単語についても同様に、その単語を表す文字列を準同型暗号方式に従って暗号化した暗号化文字列と、その単語を発話した音を表す音素列を準同型暗号方式に従って暗号化した暗号化音素列と、その単語の翻訳文を準同型暗号方式に従って暗号化した暗号化翻訳文と、が対応付けて記憶されている。暗号化辞書データE(D21)は、各単語について、その単語を複数の言語に翻訳した複数の翻訳文のそれぞれを準同型暗号方式で暗号化した複数の暗号化翻訳文を含んでいてもよい。
 図13に示されている音声認識処理では、図5に示されている処理と同様に、ステップS11からステップS15までの処理を実行することにより、処理対象の発話を表す暗号化文字列E(T1)が生成される。次に、ステップS213において、暗号化辞書データE(D21)を用いて、ステップS15で生成された暗号化文字列E(T1)の単語と対応付けられて記憶されている暗号化翻訳文E(T21)が抽出される。例えば、ステップS15で生成された暗号化文字列E(T1)が「E(監査)」である場合には、この「E(監査)」と対応付けられている「E(accounting)」が暗号化翻訳文E(T21)として抽出される。暗号化翻訳文E(T21)の生成は、暗号化文字列E(T1)を復号することなく実行される。よって、暗号化翻訳文E(T21)も準同型暗号方式によって暗号化されている暗号文である。ステップS213で生成された暗号化翻訳文E(T21)は、ステップS15で生成された暗号化文字列E(T1)とともにユーザ端末10に送信される。
 暗号化文字列E(T1)及び暗号化翻訳文E(T21)がユーザ端末10に受信されると、ステップS214において、ステップS13で使用された公開鍵PK1とペアになる秘密鍵SK1を用いて暗号化文字列E(T1)及び暗号化翻訳文E(T21)が復号され、平文の文字列T1及び平文の翻訳文T3が生成される。音声波形信号s1が音声データに含まれる「監査(かんさ)」という発話を表す場合、ステップS312において生成される平文の文字列T1は、誤認識がない場合には「監査」となり、翻訳文T21は、「accounting」となる。暗号化文字列E(T1)及び暗号化翻訳文E(T21)を復号して文字列T1及び翻訳文T21を生成する復号処理は、復号部11eにより実行されてもよい。
 ユーザ端末10は、翻訳文T21を文字列T1と関連付けて表示することができる。ユーザが音声認識の結果得られる文字列T1を議事録として使用する場合には、翻訳文T21を利用して複数の言語での議事録の作成を容易に行うことができるようになるので、ユーザにとっての利便性が向上する。
 ステップS213において生成される暗号化文字列E(T1)に含まれる全ての単語のうち一部についてのみ暗号化翻訳文E(T21)が生成されてもよい。例えば、暗号化辞書データE(D21)は、単語ごとに、その単語の難易度を記憶してもよい。ステップS213においては、暗号化文字列E(T1)に含まれる単語のうち所定の難易度以上の単語についてのみ暗号化翻訳文E(T21)が生成されてもよい。
 図13に示されている音声認識処理によれば、ユーザ端末10は、発話に含まれる単語の暗号化翻訳文E(T21)を、その単語を表す暗号化文字列E(T1)とともに取得することができる。また、この暗号化翻訳文E(T21)を生成するためにサーバ30において用いられる暗号化辞書データE(D21)及びサーバ30において生成される暗号化翻訳文E(T21)は、準同型暗号方式により暗号化されているから、情報セキュリティを低下させることなく、音声認識結果を示す文字列とともにその文字列に含まれる単語の翻訳文を生成することができる。
 続いて、図15を参照して、本発明の別の実施形態による音声認識システム101ついて説明する。図15は、本発明の別の実施形態による音声認識システム101を示すブロック図である。音声認識システム101は、オンプレミス環境5にオンプレミスサーバ50が備えられている点で、図1に示されている音声認識システム1と異なっている。また、音声認識システム101のサーバ30は、暗号化文字列の処理を行うデータ処理部31eとしても機能し得る点で音声認識システム1と異なっている。
 オンプレミスサーバ50のハードウェア構成は、サーバ30と同様とすることができる。すなわち、オンプレミスサーバ50は、プロセッサ51を備える。オンプレミスサーバ50は、プロセッサ51以外に、サーバ30と同様に、メモリ、ユーザインタフェース、通信インタフェース、ストレージ、及び前記以外のサーバとして機能するために必要な構成を備えることができる。
 図示の実施形態では、オンプレミス環境5に、オンプレミスサーバ50に加えて、ユーザ端末10A及びユーザ端末10Bが配置されている。ユーザ端末10A及びユーザ端末10Bはそれぞれ既述のユーザ端末10と同様に構成され、ユーザ端末10と同様の機能を実行することができる。図示の例において、ユーザ端末10Aは、公開鍵PK1を用いて準同型暗号方式に従って音声時系列A1を暗号化することで暗号化音声時系列E(A1)を生成し、この生成した暗号化音声時系列E(A1)をサーバ30に送信する。同様に、ユーザ端末10Bは、公開鍵PK1を用いて準同型暗号方式に従って音声時系列A2を暗号化することで暗号化音声時系列E(A2)を生成し、この生成した暗号化音声時系列E(A2)をサーバ30に送信する。音声認識システム101においては、後述するように、オンプレミスサーバ50によって暗号文が復号されてもよい。この場合、ユーザ端末10A及びユーザ端末10Bは、公開鍵PK1に対応する秘密鍵SK1を保持する必要がない。このようにユーザ端末10A、10Bに秘密鍵を保持させないことにより、秘密鍵を保持していないユーザ端末10A、10Bをオンプレミス環境5外に配置することができる。例えば、ユーザ端末10A、10Bは、オンプレミスサーバ50が提供する暗号化音声認識サービスを利用する一般ユーザがそのユーザサイト(オンプレミス環境5から見てオフプレミス環境)で使用する情報処理装置(デスクトップPC、ラップトップPC、スマートフォンなど)であってもよい。この場合、ユーザ端末10A、10Bは、音声認識サービスの利用に際しオンプレミスサーバ50から公開鍵PK1を取得してもよい。
 音声認識システム101に備えられているサーバ30は、ストレージ35に格納されているプログラムに含まれる命令及び必要に応じてそれ以外の命令を実行することにより、受信部31a、音素列抽出部31b、文字列変換部31c、及び送信部31dとして機能することができ、また、データ処理部31eとして機能することができる。受信部31a、音素列抽出部31b、文字列変換部31c、及び送信部31dについては、既述のとおりであるため、図示及び以下での詳細な説明は省略する。
 サーバ30は、ユーザ端末10Aから受信した暗号化音声時系列E(A1)及びユーザ端末10Bから受信した暗号化音声時系列E(A2)をそれぞれ文字列に変換し、暗号化文字列E(T1)及び暗号化文字列E(T2)を生成する。サーバ30は、暗号化文字列E(T1)及び暗号化文字列E(T2)をオンプレミスサーバ50に送信する。また、サーバ30は、生成した暗号化文字列E(T1)及び暗号化文字列E(T2)をストレージ35のデータレイク領域に保存することができる。サーバ30は、暗号化文字列E(T1)及び暗号化文字列E(T2)以外にも、オンプレミス環境5の情報処理装置から取得した暗号化音声時系列に基づいて生成した暗号化文字列をストレージ35に記憶することができる。
 オンプレミスサーバ50は、所定のプログラムを実行することにより、復号部51a及び解析部51bとして機能することができる。復号部51cは、公開鍵PK1とペアになる秘密鍵SK1を用いてサーバ30から受信した暗号化文字列E(T1)及び暗号化文字列E(T2)を復号し、平文の文字列T1及び文字列T2を生成する。生成された文字列T1は、ユーザ端末10Aに送信され、生成された文字列T2は、ユーザ端末10Bに送信される。
 このように、音声認識システム101においては、ユーザ端末10A、10Bにおいて復号を行うことが不要となるので、ユーザ端末10A、10Bでの処理負荷を低減することができる。また、音声認識システム101においては、ユーザ端末10A、10Bに秘密鍵SK1を渡す必要がなく、秘密鍵SK1はオンプレミスサーバ50においてのみ利用されるので、ユーザ端末10A、10Bから秘密鍵SK1が漏洩することを防止できる。
 解析部51bは、サーバ30のストレージ35に記憶されている暗号化文字列E(T1)、暗号化文字列E(T2)、及びこれら以外の暗号化文字列を取得し、これらの暗号化文字列を解析することができる。解析部51bは、サーバ30から取得した暗号化文字列を復号し、復号により得られた平文のデータセットを解析対象としてもよいし、サーバ30から取得した暗号化文字列をそのまま解析対象としてもよい。解析部51bは、例えば、サーバ30から取得した暗号化文字列のうち誤変換されている部分を解析し、この解析結果に基づいてオンプレミス辞書D1を更新することができる。解析部51bは、誤変換が音響モデル35aのアルゴリズムに起因する場合には、サーバ30から取得した暗号化文字列の解析結果に基づいて音響モデル35aをアップデイトし、アップデイトした音響モデルをサーバ30に送信してもよい。サーバ30は、解析部51bから受信した新しい音響モデル又は音響モデルをアップデイトするための更新情報に基づいて、ストレージ35に格納されている音響モデル35aをアップデイトすることができる。解析部51bは、誤変換の原因が言語モデル35bのアルゴリズムに存在する場合には、サーバ30から取得した暗号化文字列の解析結果に基づいて言語モデル35bをアップデイトし、アップデイトした言語モデルをサーバ30に送信してもよい。サーバ30は、解析部51bから受信した新しい言語モデル又は言語モデルをアップデイトするための更新情報に基づいて、ストレージ35に格納されている言語モデル35bをアップデイトすることができる。
 解析部51bは、サーバ30にデータの処理要求を行うこともできる。この処理要求には、ストレージ35のデータレイク領域に記憶されている暗号化文字列を用いた機械学習、統計分析、文書処理、及び前記以外のストレージ35に記憶されている暗号化文字列を利用した各種の処理を行うための要求が含まれ得る。解析部51bは、オフプレミス環境にあるサーバ30に対して処理要求を行い、サーバ30からその処理結果を受け取ることにより、サーバ30の計算リソースを利用して上記の各種処理を行うことができる。
 サーバ30において、解析部51bからの処理要求は、データ処理部31eによって実行され得る。
 このように、音声認識システム101においては、サーバ30のストレージ35に暗号化文字列を格納し、オンプレミスサーバ50が必要に応じてストレージ35から暗号化文字列を取得し、この取得した暗号化文字列を解析することができる。ストレージ35に記憶される暗号化文字列のデータ量は膨大となり得るが、オンプレミスサーバ50は、解析を行う際に、その解析の目的に応じて必要なデータセットをストレージ35に記憶されている暗号化文字列の全体の中から選択して取得し、その取得したデータセットを解析することができる。ストレージ35には、準同型暗号方式により暗号化されている暗号化文字列が記憶されているが、暗号化文字列が復号された平文の文字列は記憶されないため、音声認識システム101によれば、情報セキュリティを低下させることなくオフプレミス環境に配置されているストレージ資源を利用することができる。
 次に、図16を参照して、音声認識システム101の変形例について説明する。図16に示されている音声認識システム101においては、オンプレミス環境5に配置されている複数のユーザ端末の各々が他のユーザ端末と異なる公開鍵を用いて音声時系列の準同型暗号方式による暗号化を行う。より具体的には、図示されている実施形態では、準同型暗号方式に従った暗号化のために、ユーザ端末10Aは公開鍵PK1を用いている一方でユーザ端末Bは公開鍵PK1とは異なる公開鍵PK2を用いている。このため、ユーザ端末10Aによって生成された暗号化音声時系列E(A1)に基づいてサーバ30で生成された暗号化文字列E(T1)を復号する際には公開鍵PK1とペアになっている秘密鍵SK1が用いられるのに対し、ユーザ端末10Bxによって生成された暗号化音声時系列E(A2)に基づいてサーバ30で生成された暗号化文字列E(T2)を復号する際には、公開鍵PK2とペアになっている秘密鍵SK2が用いられる。秘密鍵を用いた暗号化文字列の復号処理は、オンプレミスサーバ50で行われてもよいし、ユーザ端末10A及びユーザ端末10Bの各々で行われてもよい。ユーザ端末10Aは、暗号化文字列E(T1)を復号する際に公開鍵PK1とペアになっている秘密鍵SK1を使用し、ユーザ端末10Bは、暗号化文字列E(T2)を復号する際に、公開鍵PK2とペアになっている秘密鍵SK2を使用する。
 図16に示されている音声認識システム101においては、公開鍵が使い分けられているため、各ユーザに個別の復号権限を付与することができる。具体的には、ユーザ端末10Aは、公開鍵PK1とペアになる秘密鍵SK1を利用できるが秘密鍵SK2は利用することができない。同様に、ユーザ端末10Bは、公開鍵PK2とペアになる秘密鍵SK2を利用できるが秘密鍵SK1は利用することができない。これにより、ユーザ端末10Aは、ストレージ35に記憶されている暗号化文字列のうち公開鍵PK1で暗号化された暗号化文字列のみを復号することができ、ユーザ端末10Bは、ストレージ35に記憶されている暗号化文字列のうち公開鍵PK2で暗号化された暗号化文字列のみを復号することができる。このように、ユーザ端末10A及びユーザ端末10Bはそれぞれ、自らに設定された復号権限の範囲内でのみ、ストレージ35に記憶されている暗号化文字列を復号して利用することができる。
 図16に示されている音声認識システム101によれば、オンプレミス環境5のユーザごとに復号権限を設定することができるので、オンプレミス環境5を利用するエンティティ内での機密情報の管理を容易に行うことができる。
 ストレージ35には、複数の異なる公開鍵を用いて暗号化されている暗号化文字列が記憶され得る。例えば、ストレージ35には、公開鍵PK1で暗号化された暗号化音声時系列E(A1)から生成された暗号化文字列E(T1)と、公開鍵PK1とは異なる公開鍵PK2で暗号化された暗号化音声時系列E(A2)から生成された暗号化文字列E(T2)とが記憶されている。柴田崇夫らの「Proxy re-encryption を用いたマルチユーザ向け完全準同型暗号の提案」(FIT2014(第13 回情報科学技術フォーラム)、第4分冊19-24)に示されているように、準同型暗号方式に従って異なる公開鍵で暗号化された暗号文同士の計算を実行することができる。このため、解析部51bは、ストレージ35に複数の異なる公開鍵を用いて暗号化されている暗号化文字列が記憶されている場合であっても、ストレージ35に記憶されている暗号化文字列の解析を行うことができる。データ処理部31eも同様に、複数の異なる公開鍵を用いて暗号化されている暗号化文字列を用いて、要求されたデータ処理を行うことができる。図16に示されている実施形態ではオンプレミスサーバ50において秘密鍵が管理されているが、秘密鍵の管理は各ユーザ端末で行われてもよい。例えば、公開鍵PK1とペアになる秘密鍵SK1は、ユーザ端末10Aによって保持、利用、管理されてもよい。同様に、公開鍵PK2とペアになる秘密鍵SK2は、ユーザ端末10Bによって保持、利用、管理されてもよい。秘密鍵をユーザ端末において保持することにより、暗号化文字列の復号をユーザ端末で行うことができる。この場合には、オンプレミスサーバ50を省略することができる。この態様によれば、ユーザ端末において公開鍵と秘密鍵とのペアを生成して管理することができるので、オンプレミスサーバの管理を受けずに暗号化及び復号を行うことができる。
 続いて、図17を参照して、本発明の別の実施形態による音声認識システム201ついて説明する。図17は、本発明の別の実施形態による音声認識システム201を示すブロック図である。音声認識システム201は、音響モデルM1を準同型暗号方式に従って暗号化することで生成された暗号化音響モデルE(M1)を用いる点で音声認識システム1、101と異なっている。音声認識システム201におけるユーザ端末10、20及びサーバ30のハードウェア構成は、音声認識システム1に備えられているユーザ端末10、20及びサーバ30のハードウェア構成と同じである。以下では、音声認識システム201の各機能のうち音声認識システム1の機能と異なる点を主に説明する。
 図17に示されているように、ユーザ端末20は、準同型暗号方式に従って音響モデルM1を暗号化し、暗号化音響モデルE(M1)を生成する。暗号化音響モデルE(M1)は、サーバ30に送信される。サーバ30は、ユーザ端末10から受信した暗号化音響モデルE(M1)を例えばストレージ35に格納することができる。
 ユーザ端末10は、準同型暗号方式に従って音声時系列A1を暗号化することにより暗号化特徴量時系列E(A11)を生成し、生成した暗号化特徴量時系列E(A11)をサーバ30に送信する。サーバ30は、暗号化音響モデルE(M1)を用いて、暗号化特徴量時系列E(A11)に最も良く整合する暗号化音素列E(A12)を抽出する。暗号化音響モデルE(M1)を使用して暗号化特徴量時系列E(A11)から暗号化音素列E(A12)を抽出する処理は、音響モデルが暗号化されている点以外は、音声認識システム1における音素列抽出部31bにおける処理と同じである。暗号化音響モデルE(M1)を生成するために使用した暗号化アルゴリズムの準同型性により、暗号化音響モデルE(M1)を用いても暗号化特徴量時系列E(A11)から暗号化音素列E(A12)を抽出することができる。
 音声認識システム201におけるサーバ30は、音声認識システム1における処理と同様に、暗号化音素列E(A12)から暗号化文字列E(T1)を生成し、この生成した暗号化文字列をユーザ端末10に送信することができる。ユーザ端末10は、受信した暗号化文字列E(T1)を復号し、文字列T1を得ることができる。
 音声認識システム201によれば、サーバ30によって使用される音響モデルが準同型暗号方式により暗号化されているため、音響モデルの解析による秘密情報の漏洩を防止することができる。音響モデルにおいては、発音辞書と呼ばれる辞書にしたがってトライフォンHMMが連結されることがある。オンプレミス辞書データD1の解析を通じて秘密情報が漏洩する可能性があるのと同様に、発音辞書の解析によっても秘密情報が漏洩する可能性がある。音声認識システム201によれば、オンプレミス環境5で準同型暗号方式に従って暗号化された暗号化音響モデルE(M1)を用いて暗号化特徴量時系列E(A11)から暗号化音素列E(A12)を抽出するので、音響モデルの解析による情報漏洩も防止することができる。
 続いて、図18及び図19を参照して、本発明の一実施形態による画像認識システム301について説明する。図18は、画像認識システム301の概略を示すブロック図であり、図19は、画像認識システム301による画像認識の処理の流れを示すフロー図である。画像認識システム301は、解析対象の画像や動画に含まれる一又は複数の物体を検出し、その検出した物体に対応する文字列を生成することができる。
 図18に示されているとおり、画像認識システム301は、オンプレミス環境5に配置されているユーザ端末310と、オンプレミス環境5の所有者又は管理者とは異なるベンダーによって管理・運営されているサーバ330と、を含む。
 ユーザ端末310は、プロセッサ311、メモリ312、ユーザインタフェース313、通信インタフェース314、及びストレージ315を備えており、サーバ330は、プロセッサ331、メモリ332、ユーザインタフェース333、通信インタフェース334、及びストレージ335を備えている。ユーザ端末310に備えられているプロセッサ311、メモリ312、ユーザインタフェース313、通信インタフェース314、及びストレージ315、並びに、サーバ330に備えられているプロセッサ331、メモリ332、ユーザインタフェース333、通信インタフェース334、及びストレージ335はそれぞれ、ユーザ端末10に備えられるプロセッサ11、メモリ12、ユーザインタフェース13、通信インタフェース14、及びストレージ15のうち対応するものと同様に構成され得る。例えばプロセッサ311及びプロセッサ331はそれぞれ、プロセッサ11と同様に構成され得る。このため、ユーザ端末310及びサーバ330のハードウェア構成についての詳細な説明は省略する。ユーザ端末310は、画像を取得するためのカメラを備えてもよい。
 ユーザ端末310が実行する機能及びユーザ端末310に格納されるデータについて説明する。ユーザ端末310は、ストレージ315に格納されているプログラムに含まれる命令及び必要に応じてそれ以外の命令を実行することにより、画像取得部311a、特徴抽出部311b、暗号化部311c、送信部311d、及び復号部311eとして機能する。
 画像取得部311aは、解析対象となる画像を取得する。解析対象となる画像には、人物や物体等の検出対象となる対象物を含むことができる。画像取得部311aは、例えば、ユーザ端末310が備えるカメラにより撮影された画像を取得しても良いし、予めストレージ15又はそれ以外の記憶装置に記憶されている画像を取得してもよい。
 特徴抽出部311bは、画像取得部311aにより取得された画像の特徴を示す画像特徴量列V11を生成する。この画像特徴量列V11は、画像の局所的な特徴量を示す局所特徴量であってもよい。局所特徴量は、例えば、SIFT(Scale-Invariant Feature Transform)特徴量やHOG(Histograms of Oriented Gradients)特徴量であってもよい。HOG特徴量は、画像を分割した局所的領域の各々に含まれる画素から得られるエッジ及び色の情報を含むヒストグラムである。特徴抽出部311bは、例えば、画像取得部311aにより取得された解析対象の画像を複数の領域に分割し、この分割された領域毎に局所特徴量を算出することで一つの画像から画像特徴量列V11を算出することができる。
 暗号化部311cは、特徴抽出部311bにより算出された画像特徴量列V11を準同型暗号方式に従って暗号化し、暗号化画像特徴量列E(V11)を生成する。暗号化部311cによる準同型暗号方式による暗号化には、ストレージ315に記憶されている鍵ペア315aにおいて秘密鍵SK1とペアにされている公開鍵PK1が用いられる。
 送信部311dは、暗号化部311cにより生成された暗号化画像特徴量列E(V11))を画像認識処理のためにサーバ330に送信することができる。
 復号部311eは、サーバ330から受信した暗号化文字列E(T311)を秘密鍵SK1により復号し、平文の文字列T311を生成する。ストレージ315は、サーバ30で生成された暗号化文字列を復号して生成された文字列T311を記憶していてもよい。ユーザ端末310は、ストレージ315に記憶されている文字列T311を用いて、文書作成、文章解析、機械学習、及び前記以外の各種処理を行うことができる。
 次に、サーバ330が実行する機能及びサーバ330に格納されるデータについて説明する。サーバ330のストレージ335には、暗号化辞書データE(DV1)及び汎用画像辞書データDV2が格納されている。暗号化辞書データE(DV1)は、オンプレミス画像辞書データDV1を準同型暗号方式に従って暗号化することで生成され得る。オンプレミス画像辞書データDV1及び汎用画像辞書データDV2はいずれも、解析対象の画像に含まれる可能性がある対象物を示すラベルと、当該ラベルに対応する単語との対応関係を構造的に記憶するデータセットである。例えば、オンプレミス画像辞書データDV1においては、対象物の名称を示す文字列が、当該対象物を識別するラベルと対応付けられている。対象物が人物の場合には、人物を識別するラベルと人物の名称を示す文字列(例えば、「人」、「人間」、「人物」、又はこれら以外の文字列)とが対応付けられる。暗号化辞書データE(DV1)においては、対象物の名称を示す文字列を準同型暗号方式に従って暗号化した暗号化文字列が、当該対象物を識別するラベルを準同型暗号方式により暗号化した暗号化ラベルと対応付けられている。サーバ330は、オンプレミス環境5に配置されている情報処理装置から、暗号化辞書データE(DV1)を取得し、取得した暗号化辞書データE(DV1)をストレージ335に格納することができる。
 サーバ330は、ストレージ335に格納されているプログラムに含まれる命令及び必要に応じてそれ以外の命令を実行することにより、受信部331a、検出部331b、文字列変換部331c、及び送信部331dとして機能する。
 受信部331aは、ユーザ端末310から暗号化画像特徴量列E(V11)を受信する。
 検出部331bは、暗号化画像特徴量列E(V11)から画像に含まれる対象物を認識する。検出部331bは、分類器により画像内にどの対象物が含まれるか判定することができる。ある対象物についての分類器は、当該対象物を含むポジティブラベルが付された複数の画像及び当該対象物を含まないネガティブラベルが付された複数の画像を含む教師データでトレーニングされ得る。分類器は、画像に単独の対象物が含まれるか否かを判定するように構成されてもよいし、画像に含まれる複数の対象物を特定できるように構成されてもよい。検出部331bは、解析対象画像に含まれている対象物を検出し、検出された一又は複数の対象物を示すラベルを出力することができる。ある対象物を示すラベルは、当該対象物を識別する識別子であってもよい。例えば、解析対象画像に、横断歩道があり車が通っていない道路を横断する歩行者とその道路に沿って植えられてる樹木が示されていることを想定する。この解析対象画像に基づいて生成された暗号化画像特徴量列E(V11)を分類器で評価することにより、人物、道路、木、及び横断歩道の各々を識別するラベルが出力される。暗号化画像特徴量列E(V11)が画像の分割された各領域の局所特徴量の特徴量ベクトルである場合には、検出部331bは、検出された対象物の解析対象画像内における位置も出力することができる。暗号化画像特徴量列E(V11)が準同型暗号方式により暗号化されているため、検出部331bは、暗号化画像特徴量列E(V11)を復号することなく上記の分類器によって評価することができる。検出部331bによる演算は、暗号化画像特徴量列E(V11)を復号することなく行われるため、検出部331bにより出力されるラベルは、準同型暗号方式により暗号化されている。
 文字列変換部331cは、暗号化辞書データE(DV1)及び汎用画像辞書データDV2の少なくとも一方を用いて、検出部331bにより検出された対象物を識別するラベルを暗号化文字列E(T311)に変換する。例えば、解析対象画像の暗号化画像特徴量列E(V11)を評価することにより人物、道路、木、及び横断歩道の各々が対象物として検出された場合には、人物に対応するラベルを「人」という文字列に変換し、道路に対応するラベルを「道路」という文字列に変換し、木に対応するブラベルを「樹木」という文字列に変換し、横断歩道に対応するラベルを「横断歩道」という文字列に変換し、これらの変換された単語を結びつけて、文章を作成することができる。文字列変換部331cは、言語モデル35b又はこれ以外の文字列の連鎖の出現確率を表す数学モデルを参照して文章を生成してもよい。文字列変換部331cが文章を生成する場合には、生成された文章に対応する文字列が暗号化文字列E(T311)とされる。文字列変換部331cにより生成される文章の例は、「横断歩道がある道路を人が歩いています。樹木が生えています。」であってもよい。文字列変換部331cによって生成される文章は、上記の例のように複数の文を含んでもよいし、単一の文であってもよい。文字列変換部331cは、検出された対象物が画像内のどの領域において検出されたかを示す画像内位置情報に基づいて各対象物の位置を示す単語を補って、検出された対象物の配置を描写する文章を作成することができる。対象物の画像内位置情報を利用して文字列変換部331cによって生成される文章の例は、「道路に沿って樹木が植えられており、人がその道路の横断歩道を横切っています。」である。この文章例では、画像内位置情報に基づいて、樹木と道路との位置関係及び人と横断歩道との位置関係が特定されており、この特定された位置関係が文章に反映されている。文字列変換部331cによる演算は、ラベルを復号することなく、暗号化辞書データE(DV1)を用いて行われるため、文字列変換部331cにより出力される暗号化文字列E(T311)は、準同型暗号方式により暗号化されている。
 送信部331dは、文字列変換部331cにより生成された暗号化文字列E(T311)をユーザ端末310に送信することができる。
 次に、図19を参照して、ユーザ端末310からの要求に基づいてサーバ330が行う画像認識処理の流れを説明する。まず、ステップS311において、ユーザ端末310において、解析対象となる画像が取得される。次に、ステップS312において、ステップS311において取得された画像から画像特徴量が算出され、この算出された画像特徴量に基づいて画像特徴量列V11が生成される。画像特徴量列V11の生成は、特徴抽出部311bにより実行されてもよい。
 次に、ステップS313において、ステップS312において算出された画像特徴量列V11が準同型暗号方式に従って公開鍵PK1を用いて暗号化され、暗号化画像特徴量列E(V11)が生成される。生成された暗号化画像特徴量列E(V11)は、サーバ330に送信される。ステップS313における画像特徴量列V11の暗号化は、暗号化部311cによって実行されてもよい。暗号化画像特徴量列E(V11)のサーバ330への送信は、送信部311dにより実行されてもよい。
 暗号化画像特徴量列E(V11)がサーバ330に受信されると、ステップS314において、暗号化画像特徴量列E(V11)に基づいて解析対象の画像に含まれる対象物が検出され、検出された一又は複数の対象物に対応するラベルが出力される。例えば、解析対象画像に、横断歩道があり車が通っていない道路を横断する歩行者とその道路に沿って植えられている樹木が示されている場合、誤検出がなければ、人物、道路、木、及び横断歩道の各々を識別するラベルが出力される。ステップS314における対象物の検出及びポジティブラベルの出力は、検出部331bにより実行されてもよい。
 次に、ステップS315において、ステップS314で生成されたラベルの各々が暗号化辞書データE(DV1)及び汎用画像辞書データDV2の少なくとも一方を用いて暗号化文字列E(T311)に変換される。例えば、解析対象画像が、横断歩道があり車が通っていない道路を横断する歩行者とその道路に沿って植えられている樹木を示す場合、「E(道路に沿って樹木が植えられており、人がその道路の横断歩道を横切っています。)」という暗号化文字列E(T311)が生成される。暗号化文字列E(T311)の生成は、文字列変換部331cにより実行されてもよい。生成された暗号化文字列E(T311)は、ユーザ端末310に送信される。
 暗号化文字列E(T311)がユーザ端末310に受信されると、ステップS316において、ステップS313で使用された公開鍵PK1とペアになる秘密鍵SK1を用いて暗号化文字列E(T311)が復号され、平文の文字列T311が生成される。
 以上により、ユーザ端末310において取得された解析対象の画像に対応する文字列が画像認識結果として得られる。
 画像認識システム301により行われる画像認識処理において、サーバ330は、準同型暗号方式に従って暗号化された暗号化辞書データE(DV1)を用いて、準同型暗号方式に従って暗号化された暗号化画像特徴量列E(V11)に基づいて解析対象の画像に含まれる対象物を検出し、検出された対象物に対応する単語又は文章を含む暗号化文字列E(T311)を生成してユーザ端末310に送信している。画像認識システム301によれば、サーバ330に提供される画像特徴量だけでなく、サーバ330が利用するオンプレミス画像辞書データDV1も暗号化されているから、情報セキュリティを低下させることなく、オフプレミス環境にあるサーバ330の情報処理資源を利用して画像認識を行うことができる。
 続いて、図20及び図21を参照して、本発明の一実施形態による匂い認識システム401について説明する。図20は、匂い認識システム401の概略を示すブロック図であり、図21は、匂い認識システム401による匂い認識の処理の流れを示すフロー図である。匂い認識システム401は、解析対象の空間に漂う匂いを匂いセンサにより検出し、この匂いセンサの検出値に対応する文字列を生成することができる。匂い認識システム401によれば、解析対象の空間に漂う匂いを表す文字列を得ることができる。
 図20に示されているとおり、匂い認識システム401は、オンプレミス環境5に配置されているユーザ端末410と、オンプレミス環境5の所有者又は管理者とは異なるベンダーによって管理・運営されているサーバ430と、を含む。
 ユーザ端末410は、プロセッサ411、メモリ412、ユーザインタフェース413、通信インタフェース414、及びストレージ415を備えており、サーバ430は、プロセッサ431、メモリ432、ユーザインタフェース433、通信インタフェース434、及びストレージ435を備えている。ユーザ端末410に備えられているプロセッサ411、メモリ412、ユーザインタフェース413、通信インタフェース414、及びストレージ415、並びに、サーバ430に備えられているプロセッサ431、メモリ432、ユーザインタフェース433、通信インタフェース434、及びストレージ435はそれぞれ、ユーザ端末10に備えられるプロセッサ11、メモリ12、ユーザインタフェース13、通信インタフェース14、及びストレージ15のうち対応するものと同様に構成され得る。例えばプロセッサ411及びプロセッサ431はそれぞれ、プロセッサ11と同様に構成され得る。このため、ユーザ端末410及びサーバ430のハードウェア構成についての詳細な説明は省略する。ユーザ端末410は、匂いを検出するセンサを備えてもよい。匂いは、空間に漂う揮発性分子の種類や濃度によって表現され得る。匂いを検出するセンサとして、揮発成分誌の濃度を測定するガスセンサ、及び、生物の嗅覚機能を模したバイオセンサのいずれを用いてもよい。
 ユーザ端末410が実行する機能及びユーザ端末410に格納されるデータについて説明する。ユーザ端末410は、ストレージ415に格納されているプログラムに含まれる命令及び必要に応じてそれ以外の命令を実行することにより、匂い検出部411a、特徴抽出部411b、暗号化部411c、送信部411d、及び復号部411eとして機能する。
 匂い検出部411aは、解析対象となる空間の匂いを匂いセンサにより検出し、センサの検出値を出力する。匂い検出部411aは、ユーザ端末410が備える匂いセンサにより匂いを検出してもよいし、予めストレージ15又はそれ以外の記憶装置に記憶されている匂いセンサの検出値を取得してもよい。
 特徴抽出部411bは、匂い検出部411aにより検出された匂いの特徴を示す匂い特徴量列F11を生成する。特徴抽出部411bは、サンプリング周波数を10Hzとして過去Nサンプルにおける匂いセンサの検出値の瞬時値、平均値、及び分散値を含むベクトルを算出し、このベクトルを匂い特徴量列F11とすることができる。
 暗号化部411cは、特徴抽出部411bにより算出された匂い特徴量列F11を準同型暗号方式に従って暗号化し、暗号化匂い特徴量列E(F11)を生成する。暗号化部411cによる準同型暗号方式による暗号化には、ストレージ415に記憶されている鍵ペア415aにおいて秘密鍵SK1とペアにされている公開鍵PK1が用いられる。
 送信部411dは、暗号化部411cにより生成された暗号化匂い特徴量列E(F11))を匂い認識処理のためにサーバ430に送信することができる。
 復号部411eは、サーバ430から受信した暗号化文字列E(T411)を秘密鍵SK1により復号し、平文の文字列T411を生成する。ストレージ415は、サーバ30で生成された暗号化文字列を復号して生成された文字列T411を記憶していてもよい。ユーザ端末410は、ストレージ415に記憶されている文字列T411を用いて、文書作成、文章解析、機械学習、及び前記以外の各種処理を行うことができる。
 次に、サーバ430が実行する機能及びサーバ430に格納されるデータについて説明する。サーバ430のストレージ435には、暗号化辞書データE(DF1)及び汎用匂い辞書データDF2が格納されている。暗号化辞書データE(DF1)は、オンプレミス匂い辞書データDF1を準同型暗号方式に従って暗号化することで生成され得る。オンプレミス匂い辞書データDF1及び汎用匂い辞書データDF2はいずれも、様々な匂いの各々について、匂い特徴量列とその匂いを表す文字列との対応関係を構造的に記憶するデータセットである。オンプレミス匂い辞書データDF1においては、におい特徴量列と対応付けて、その匂いを表現する文字列が記憶されている。匂いを表現する文字列としては、「バニラのような香り」、「柑橘系の香り」、「カレーの香り」、「雨上がりの香り」、「オーク樽の香り」、及びこれら以外の文字列を含むことができる。オンプレミス匂い辞書データDF1は、ある空間に漂う匂いを匂いセンサで検出し、その検出値の特徴量列を算出する一方で、嗅覚及びその言語表現に優れた能力を有する調香師(パフューマー)やソムリエが当該空間の匂いを言語的に表現した文字列を決定し、この特徴量列と文字列とを対応付けることにより生成され得る。暗号化辞書データE(DF1)においては、ある空間の匂いセンサの検出値の特徴量列を準同型暗号方式に従って暗号化した暗号化匂い特徴量列が、当該空間の匂いを表現する文字列を準同型暗号方式により暗号化した暗号化文字列と対応付けられている。
 サーバ430は、ストレージ435に格納されているプログラムに含まれる命令及び必要に応じてそれ以外の命令を実行することにより、受信部431a、文字列変換部431b、及び送信部431cとして機能する。
 受信部431aは、ユーザ端末410から暗号化匂い特徴量列E(F11)を受信する。
 文字列変換部431bは、暗号化辞書データE(DF1)及び汎用匂い辞書データDF2の少なくとも一方を用いて、ユーザ端末410から受信した暗号化匂い特徴量列E(F11)を暗号化文字列E(T411)に変換する。一実施形態において、文字列変換部431bは、暗号化辞書データE(DF1)又は汎用匂い辞書データDF2から、ユーザ端末410から受信した暗号化匂い特徴量列E(F11)とマッチする暗号化文字列を検索する。例えば、解析対象となる空間がカレーの匂いで充満している場合には、暗号化辞書データE(DF1)及び汎用匂い辞書データDF2の少なくとも一方を検索することにより、この空間の匂いセンサの検出値に基づいて生成された暗号化匂い特徴量列E(F11)とマッチする「カレーの香り」という文字列の暗号文が暗号化文字列E(T411)として特定される。解析対象の空間が、ワインが注がれたワイングラス内の空間のような複合的な香りを含む場合には、2つ以上の暗号化文字列が抽出されてもよい。例えば、ワインが注がれたワイングラス内の空間の暗号化匂い特徴量列E(F11)に対応する文字列として、「バニラの香り」と「オーク樽の香り」という2つの文字列の暗号文が抽出されてもよい。文字列変換部431bは、抽出された2つ以上の文字列の暗号文に基づいて文章を生成してもよい。例えば、「バニラの香り」と「オーク樽の香り」という2つの文字列の暗号文に基づいて「バニラの香りの中にわずかなオーク樽の香りがする。」という文章が生成され、このようにして生成された文章を暗号化文字列E(T411)としてもよい。文字列変換部431bによる演算は、暗号化匂い特徴量列E(F11)を復号することなく、暗号化辞書データE(DF1)を用いて行われるため、文字列変換部431bにより出力される暗号化文字列E(T411)は、準同型暗号方式により暗号化されている。
 送信部431cは、文字列変換部431bにより生成された暗号化文字列E(T411)をユーザ端末410に送信することができる。
 次に、図21を参照して、ユーザ端末410からの要求に基づいてサーバ430が行う匂い認識処理の流れを説明する。まず、ステップS411において、ユーザ端末410において、解析対象となる空間の匂いが検出される。次に、ステップS412において、ステップS411において検出された匂いの検出値に基づいて匂いの特徴量が算出され、この算出された画像特徴量に基づいて匂い特徴量列F11が生成される。匂い特徴量列F11の生成は、特徴抽出部411bにより実行されてもよい。
 次に、ステップS413において、ステップS412において算出された匂い特徴量列F11が準同型暗号方式に従って公開鍵PK1を用いて暗号化され、暗号化匂い特徴量列E(F11)が生成される。生成された暗号化匂い特徴量列E(F11)は、サーバ430に送信される。ステップS413における匂い特徴量列F11の暗号化は、暗号化部411cによって実行されてもよい。暗号化匂い特徴量列E(F11)のサーバ430への送信は、送信部411dにより実行されてもよい。
 暗号化匂い特徴量列E(F11)がサーバ430に受信されると、ステップS414において、暗号化辞書データE(DF1)又は汎用匂い辞書データDF2に含まれるレコードの中から、ユーザ端末410から受信した暗号化匂い特徴量列E(F11)とマッチする暗号化文字列が検索され、この検索された暗号化文字列又は検索された暗号化文字列から生成された文章が暗号化文字列E(T411)として出力される。暗号化文字列E(T411)の生成は、文字列変換部431bにより実行されてもよい。生成された暗号化文字列E(T411)は、ユーザ端末410に送信される。
 暗号化文字列E(T411)がユーザ端末410に受信されると、ステップS416において、ステップS413で使用された公開鍵PK1とペアになる秘密鍵SK1を用いて暗号化文字列E(T411)が復号され、平文の文字列T411が生成される。
 以上により、ユーザ端末410において取得された解析対象の空間の匂いの検出値に対応する文字列が匂い認識結果として得られる。
 匂い認識システム401により行われる匂い認識処理において、サーバ430は、準同型暗号方式に従って暗号化された暗号化辞書データE(DF1)を用いて、準同型暗号方式に従って暗号化された暗号化匂い特徴量列E(F11)に基づいて解析対象の空間の匂いを表す暗号化文字列E(T411)を生成してユーザ端末410に送信する。匂い認識システム401によれば、サーバ430に提供される匂い特徴量列F11だけでなく、サーバ430が利用するオンプレミス匂い辞書データDF1も暗号化されているから、情報セキュリティを低下させることなく、オフプレミス環境にあるサーバ430の計算リソースを利用して匂い認識を行うことができる。
 匂い特徴量を用いることにより、例えばプロのソムリエがワインの匂いを嗅ぎ分けることで行うワインの評価をデジタル化することができる。ワインの匂い特徴量と当該ワインに対するソムリエの評価(「極上のワイン」、「安いワイン」等)とをオンプレミス匂い辞書データDF1に登録することで、ワインの匂い特徴量からソムリエによる当該ワインの評価を得ることができる。したがって、そのようなオンプレミス匂い辞書データDF1には商業的な(ノウハウとしての)価値がある。本実施形態は、このように構成されたオンプレミス匂い辞書データDF1をオフプレミス(クラウド等)で利用することを可能としつつ、オンプレミス匂い辞書データDF1が他人に無断で利用されることを防止できる。
 本発明の少なくとも一つの実施形態において、オンプレミス匂い辞書データDF1に紙の匂いの特徴量と紙の種類や属性(新旧、乾湿、置かれている場所等)とを対応づけて保持させてもよい。この場合、紙の暗号化された匂い特徴量に基づいて紙の違いを判別できるので、当該判別結果を、紙書類の偽造等の不正の検知に用いることができる。また、オンプレミス匂い辞書データDF1が準同型暗号化されるので、オンプレミス匂い辞書データDF1の解析を通じた情報漏洩(例えば、不正検知手法の漏洩)を防止することができる。
 上記の実施形態は、音(発話)、画像、及び匂い以外のセンシング可能な物理量又はセンシング可能な物理量から生成されるデータにも応用可能である。すなわち、オンプレミス環境5においてセンシングされた物理量の特徴量を算出し、その特徴量を準同型暗号方式により暗号化して生成された暗号化特徴量をオフプレミス環境にあるサーバに送信し、このサーバにおいて準同型暗号方式により暗号化された暗号化辞書を用いて、ユーザ端末から受信した暗号化特徴量から文字列を抽出又は生成することにより、オンプレミス環境においてセンシングされた物理量の認識(つまり、当該物理量に対応する文字列の抽出または生成)を行うことができる。オフプレミス環境にあるサーバでは、暗号化方式の準同型性により、暗号化辞書を用いて暗号化特徴量に対応する文字列の生成または抽出を行うことができる。センシング可能な物理量又はセンシング可能な物理量から生成されるデータには、本明細書で具体的に説明した音声、画像、匂い以外に、味覚及び触覚がある。
 上記の各実施形態は、様々な用途に適用可能である。上記の実施形態は、例えば監査、税務、アドバイザリのデジタル化に適用可能である。これらの分野では他の分野よりも一層厳しいデータセキュリティが求められている。一方で、業務のデジタル化の進展に伴って視覚的なインタフェースだけでなく音声によるインタフェースが導入されつつある。監査人とクライアントとのオンライン会議の音声などはその一例である。このような音声は多くの場合秘密の内容を含むものであるから、上記の実施形態を用いることで内容を秘匿したまま文書化できるメリットは大きく、クライアントも安心して音声データを監査人に提供できるようになる。また、異なる監査人同士で音声を共有することで不正検知の精度向上などに役立てることができるが、その異なる監査人間で共有される音声による情報漏洩を防止することができる。
 また、近年、やはりデジタル化の進展と共にオンプレミス処理からクラウド処理への転換、さらにはクラウドネイティブが台頭してきている。監査、税務、アドバイザリの分野での上記の実施形態の使用はこのクラウドネイティブの文脈でもメリットがある。すなわち、クラウドネイティブ時代における秘匿性を担保した音声トランスクリプションに適合したシステムを提供することができる。
 オンプレミスでは、音声新式に必要な全てのコンポーネントは、自社で管理する情報処理装置に実装される。これに対してクラウドネイティブではクラウド上でシステムを構築するので、コストやスケーラビリティの面でより有利となる。クラウドネイティブにおいて機微な内容の音声トランスクリプションを行うための直感的な解は、シンクライアントとクラウドで秘密鍵を共有し、シンクライアントで音声生データを暗号化してクラウドに送り、クラウドで解読して音声トランスクリプションし、結果を暗号化して送り返し、シンクライアントで解読する、という手法である。しかし、この方法では、秘密鍵をクラウドに預ける必要があり、かつ、音声生データやその音声認識結果がそのままクラウドに残るのでセキュリティ上好ましくない。クラウドネイティブ時代のセキュリティの要諦は、いかにクラウドに生の機微なデータを残さないか、である。
 そこで、上記の実施形態を用いることで、音声トランスクリプションの開始前に単語辞書をクライアントで準同型暗号化してクラウドにアップロードする。これにより、クラウドに生の音声データや認識結果や単語辞書の内容を残さずにクラウド上で音声認識を行うことができる。
 上記実施形態では、オフプレミス環境で文字列変換を行う場合を説明したが、オンプレミス環境5で文字列変換を行ってもよい。例えば、オフプレミス環境で音素列抽出(図6のステップS14)を行い、文字列変換をオンプレミス環境5で(例えば、ユーザ端末10又はオンプレミスサーバ50で)行ってもよい。この場合、オフプレミス環境のサーバ30は暗号化音素列E(A12)をユーザ端末10に送信し、ユーザ端末10は受信した暗号化音素列E(A12)を復号して音素列を得る。ユーザ端末10は得られた音素列を文字列に変換する。あるいはまた、ユーザ端末10は、音素と、該音素を表す音素符号と、を対応付けて保持する音素符号対応テーブルを保持してもよい。音素符号対応テーブルでは、例えば音素「k」に音素符号「1」が対応付けられる。音素符号対応テーブルはオンプレミス環境で秘密情報として管理される。サーバ30における音素列抽出ステップでは、音素の代わりに音素符号が抽出され、暗号化音素列の代わりに暗号化音素符号列が生成され、ユーザ端末10に返信される。ユーザ端末10は、まず、受信した暗号化音素符号列を復号することで音素符号列を取得し、次に音素符号対応テーブルを参照することで音素符号列の各音素符号を音素に変換することで音素列を生成する。この場合、仮にサーバ30において準同型暗号が解読されてしまった場合でも、音素符号と音素との対応が分からないので依然として音声の内容の解読は困難となる。
 本明細書中で説明される処理及び手順が単一の装置、ソフトウェア、コンポーネント、モジュールによって実行される旨が説明されたとしても、そのような処理または手順は複数の装置、複数のソフトウェア、複数のコンポーネント、及び/又は複数のモジュールによって実行され得る。また、本明細書中で説明されるデータ、テーブル、又はデータベースが単一の記憶装置(ストレージやメモリ)に格納される旨説明されたとしても、そのようなデータ、テーブル、又はデータベースは、単一の装置に備えられた複数の記憶装置または複数の装置に分散して配置された複数の記憶装置に分散して格納され得る。さらに、本明細書において説明されるソフトウェアおよびハードウェアの要素は、それらをより少ない構成要素に統合して、またはより多い構成要素に分解することによって実現することも可能である。
 本明細書において説明された処理手順、特にフロー図を用いて説明された処理手順においては、その処理手順を構成する工程(ステップ)の一部を省略すること、その処理手順を構成する工程として明示されていない工程を追加すること、及び/又は当該工程の順序を入れ替えることが可能であり、このような省略、追加、順序の変更がなされた処理手順も本発明の趣旨を逸脱しない限り本発明の範囲に含まれる。
 本明細書において単数形で表される構成要素は、矛盾を生じさせない限り、複数形を含むものとする。
 本明細書において、プロセッサ11によって実行されるとして説明されるプログラム又は当該プログラムに含まれる命令は、単一のコンピュータプロセッサで実行されてもよいし、複数のコンピュータプロセッサにより分散して実行されてもよい。また、プロセッサ11によって実行されるプログラム又は当該プログラムに含まれる命令は、複数の仮想コンピュータプロセッサにより分散して実行されてもよい。以上のプロセッサ11でのデータ処理に関する説明は、プロセッサ21、31、311、331におけるデータ処理にも可能な限り当てはまる。ただし、プロセッサ11、21、311によって処理されるデータがオンプレミス環境5のみで使用されることが想定されている場合には、当該データは、オンプレミス環境5内のプロセッサのみによって処理され、オフプレミス環境のプロセッサによる分散処理は行われない。
 プロセッサ11、プロセッサ21、プロセッサ31、プロセッサ311、プロセッサ331、プロセッサ411、及び/又はプロセッサ431で実行されるプログラムは、図示されているストレージ以外にも様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)に格納され得る。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例には、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、Compact Disc Read Only Memory(CD-ROM)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、Programmable ROM(PROM)、Erasable PROM(EPROM)、フラッシュROM、Random Access Memory(RAM))を含む。
 音声認識システム1、101、201、画像認識システム301、及び匂い認識システム401において、データの格納場所には特段の制限はない。例えば、ストレージ15に記憶され得る各種データは、オンプレミス環境5内又はオンプレミス環境5外のストレージ15とは物理的に別体のストレージやデータベースサーバに格納されてもよい。つまり、本明細書において、ストレージ15に記憶されると説明されているデータは、単一のストレージに記憶されてもよいし、複数のストレージに分散して記憶されてもよい。また、本明細書及び特許請求の範囲において、単に「ストレージ」という場合には、文脈上許される限り、単一のストレージと複数のストレージの集合のいずれを指し示すこともある。以上のストレージ15に記憶され得るデータに関する説明は、ストレージ25、35、315、335、435に記憶されるデータにも可能な限り当てはまる。ただし、オンプレミス環境5内のみで利用可能なデータは、オンプレミス環境5内のストレージに格納される。
 本明細書に開示されている複数の実施形態を組み合わせることにより、その組み合わされた態様を、本発明のさらに別の実施形態とすることができる。例えば、図11及び図12に示されている実施形態では、暗号化文字列に基づいて暗号化説明文が生成されており、図13及び図14に示されている実施形態では、暗号化文字列に基づいて暗号化翻訳文が生成されている。これらの実施形態を組み合わせた実施形態においては、暗号化文字列に基づいて暗号化説明文及び暗号化翻訳文を両方とも生成することができる。
 本明細書等における「第1」、「第2」、「第3」などの表記は、構成要素を識別するために付するものであり、必ずしも、数、順序、もしくはその内容を限定するものではない。また、構成要素の識別のための番号は文脈毎に用いられ、一つの文脈で用いた番号が、他の文脈で必ずしも同一の構成を示すとは限らない。また、ある番号で識別された構成要素が、他の番号で識別された構成要素の機能を兼ねることを妨げるものではない。
 1、101、201 音声認識システム
 5 オンプレミス環境
 10、20、310、410 ユーザ端末
 30、330、430 サーバ
 50 オンプレミスサーバ
 301 画像認識システム
 401 匂い認識システム

Claims (18)

  1.  オフプレミス環境に備えられた一又は複数のプロセッサに、
     発話に対応する音素列を識別するための音声時系列が準同型暗号方式に従って暗号化された暗号化音声時系列をオンプレミス環境から取得する機能と、
     準同型暗号方式に従って暗号化されている暗号化辞書を用いて前記暗号化音声時系列を解析することにより、準同型暗号方式に従って暗号化されている暗号化文字列を生成する機能と、
     を実行させるプログラム。
  2.  前記暗号化音声時系列は、前記発話の特徴量を時系列で表す音声特徴量時系列が準同型暗号方式に従って暗号化された暗号化音声特徴量時系列であり、
     前記一又は複数のプロセッサは、前記暗号化音声特徴量時系列に基づいて、前記発話に対応する音素列を識別でき準同型暗号方式に従って暗号化されている暗号化音素列を生成し、
     前記暗号化文字列は、前記暗号化辞書を用いて前記暗号化音素列を解析することにより生成される、
     請求項1に記載のプログラム。
  3.  前記暗号化音素列は、入力音から音素を識別するための音響モデルを用いて前記暗号化音声特徴量時系列から当該発話に含まれる音が各音素である確率を示す事後確率系列を推定することで算出される、
     請求項2に記載のプログラム。
  4.  前記音響モデルは、前記オンプレミス環境において準同型暗号方式に従って暗号化された暗号化音響モデルである、
     請求項3に記載のプログラム。
  5.  前記暗号化音声時系列は、前記発話に対応する音素を識別する音素列が前記オンプレミス環境において準同型暗号方式に従って暗号化された暗号化音素列である、
     請求項1に記載のプログラム。
  6.  前記暗号化文字列は、言語モデルをさらに用いて生成される、
     請求項1から5のいずれか1項に記載のプログラム。
  7.  前記暗号化辞書は、第1辞書を前記オンプレミス環境で準同型暗号方式に従って暗号化することで生成される、
     請求項1から6のいずれか1項に記載のプログラム。
  8.  前記暗号化文字列は、前記第1辞書とは異なり、平文の辞書データを含む第2辞書をさらに用いて生成される、
     請求項7に記載のプログラム。
  9.  前記一又は複数のプロセッサに、準同型暗号方式に従って暗号化されている暗号化参照辞書を用いて、前記暗号化文字列に含まれている単語を説明する説明文であって準同型暗号方式に従って暗号化されている暗号化説明文を生成する機能と、
     請求項1から8のいずれか1項に記載のプログラム。
  10.  前記発話は、第1言語での発話であり、
     前記一又は複数のプロセッサに、準同型暗号方式に従って暗号化されている暗号化翻訳辞書を用いて、前記暗号化文字列を前記第1言語とは異なる第2言語に翻訳した暗号化翻訳文字列を生成する機能をさらに実行させる、
     請求項1から9のいずれか1項に記載のプログラム。
  11.  前記暗号化音声時系列は、第1公開鍵を用いて準同型暗号方式に従って暗号化されており、
     前記暗号化辞書は、第2公開鍵を用いて準同型暗号方式に従って暗号化されている、
     請求項1から10のいずれか1項に記載のプログラム。
  12.  前記暗号化文字列は、前記第1公開鍵とペアとなる第1秘密鍵及び前記第2公開鍵とペアとなる第2秘密鍵のいずれも用いずに生成される、
     請求項11に記載のプログラム。
  13.  前記一又は複数のプロセッサに、前記暗号化文字列を前記オンプレミス環境の情報処理装置に送信する機能をさらに実行させる、
     請求項1から11のいずれか1項に記載のプログラム。
  14.  前記一又は複数のプロセッサに、オフプレミス環境に配置されているストレージに暗号化文字列を記憶させる、
     請求項1から13のいずれか1項に記載のプログラム。
  15.  オフプレミス環境に備えられた情報処理装置であって、
     オンプレミス環境で入力された発話が表す音素列を識別することができ準同型暗号方式に従って暗号化されている暗号化音声時系列を取得する取得部と、
     準同型暗号方式に従って暗号化されている暗号化辞書を用いて前記暗号化音声時系列を解析することにより、準同型暗号方式に従って暗号化されている暗号化文字列を生成する生成部と、
     を備える、情報処理装置。
  16.  オフプレミス環境に備えられた一又は複数のプロセッサがコンピュータ読み取り可能な命令を実行することにより、
     オンプレミス環境で入力された発話が表す音素列を識別することができ準同型暗号方式に従って暗号化されている暗号化音声時系列を取得する工程と、
     準同型暗号方式に従って暗号化されている暗号化辞書を用いて前記暗号化音声時系列を解析することにより、準同型暗号方式に従って暗号化されている暗号化文字列を生成する工程と、
     を備える、情報処理方法。
  17.  オフプレミス環境に備えられた一又は複数のプロセッサに、
     解析対象画像の特徴量を表す画像特徴量が準同型暗号方式に従って暗号化された暗号化画像特徴量をオンプレミス環境から取得する機能と、
     準同型暗号方式に従って暗号化されている暗号化辞書を用いて前記暗号化画像特徴量を解析することにより、準同型暗号方式に従って暗号化されている暗号化文字列を生成する機能と、
     を実行させるプログラム。
  18.  オフプレミス環境に備えられた一又は複数のプロセッサに、
     解析対象の空間における匂いの検出値の特徴量を表す匂い特徴量が準同型暗号方式に従って暗号化された暗号化匂い特徴量をオンプレミス環境から取得する機能と、
     準同型暗号方式に従って暗号化されている暗号化辞書を用いて前記暗号化匂い特徴量を解析することにより、準同型暗号方式に従って暗号化されている暗号化文字列を生成する機能と、
     を実行させるプログラム。
PCT/JP2021/014543 2021-04-05 2021-04-05 プログラム、情報処理装置、及び情報処理方法 WO2022215140A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/014543 WO2022215140A1 (ja) 2021-04-05 2021-04-05 プログラム、情報処理装置、及び情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/014543 WO2022215140A1 (ja) 2021-04-05 2021-04-05 プログラム、情報処理装置、及び情報処理方法

Publications (1)

Publication Number Publication Date
WO2022215140A1 true WO2022215140A1 (ja) 2022-10-13

Family

ID=83545249

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/014543 WO2022215140A1 (ja) 2021-04-05 2021-04-05 プログラム、情報処理装置、及び情報処理方法

Country Status (1)

Country Link
WO (1) WO2022215140A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011052412A1 (ja) * 2009-10-28 2011-05-05 日本電気株式会社 音声認識システム、音声認識要求装置、音声認識方法、音声認識用プログラムおよび記録媒体
JP2015207191A (ja) * 2014-04-22 2015-11-19 株式会社エヌ・ティ・ティ・データ 外国語会話理解支援装置、外国語会話理解支援方法及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011052412A1 (ja) * 2009-10-28 2011-05-05 日本電気株式会社 音声認識システム、音声認識要求装置、音声認識方法、音声認識用プログラムおよび記録媒体
JP2015207191A (ja) * 2014-04-22 2015-11-19 株式会社エヌ・ティ・ティ・データ 外国語会話理解支援装置、外国語会話理解支援方法及びプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HAYASHI, TAKUYA: "3. Secure Computation using Homomorphic Encryption", SYSTEMS, CONTROL AND INFORMATION., vol. 63, no. 2, 15 February 2019 (2019-02-15), pages 22 - 28, XP009530682, DOI: 10.11509/isciesci.63.2_64 *
YUSUKE TOBA, SHINSUKE MATSUMOTO, SACHIO SAIKI, MASAHIDE NAKAMURA, TOMOHITO UCHINO, TOMOHIRO YOKOYAMA, YASUHIRO TAKEBAYASHI: "Supporting Development of Speech Visualization Mode for Deaf and Hard of Hearing People Support", CORRESPONDENCES ON HUMAN INTERFACE, vol. 17, no. 12, 1 December 2015 (2015-12-01), JP , pages 1 - 6, XP009540830, ISSN: 2185-9329 *

Similar Documents

Publication Publication Date Title
US11196540B2 (en) End-to-end secure operations from a natural language expression
Tomashenko et al. The voiceprivacy 2020 challenge: Results and findings
US10446134B2 (en) Computer-implemented system and method for identifying special information within a voice recording
US10181333B2 (en) Intelligent truthfulness indicator association
Qian et al. Towards privacy-preserving speech data publishing
CN112686036B (zh) 风险文本识别方法、装置、计算机设备及存储介质
US20100223057A1 (en) Method and system to authenticate a user and/or generate cryptographic data
JP6764851B2 (ja) 系列データ変換装置、学習装置、及びプログラム
CN109801638A (zh) 语音验证方法、装置、计算机设备及存储介质
CN113421594B (zh) 语音情感识别方法、装置、设备及存储介质
JP6553015B2 (ja) 話者属性推定システム、学習装置、推定装置、話者属性推定方法、およびプログラム
JPWO2012014301A1 (ja) 飲酒状態判定装置及び飲酒状態判定方法
KR101887629B1 (ko) 자연어기반 정보공개분류시스템
Champion Anonymizing speech: Evaluating and designing speaker anonymization techniques
CN112233666A (zh) 一种云存储环境下中文语音密文存储、检索方法及系统
Khanna Identifying Privacy Vulnerabilities in Key Stages of Computer Vision, Natural Language Processing, and Voice Processing Systems
Aloufi et al. Paralinguistic privacy protection at the edge
Birla A robust unsupervised pattern discovery and clustering of speech signals
Zhang et al. Voicepm: A robust privacy measurement on voice anonymity
US20220351715A1 (en) Using speech to text data in training text to speech models
WO2022215140A1 (ja) プログラム、情報処理装置、及び情報処理方法
Lu et al. Voxstructor: voice reconstruction from voiceprint
US20230162726A1 (en) Obfuscating audio samples for health privacy contexts
Hughes et al. What is the relevant population? Considerations for the computation of likelihood ratios in forensic voice comparison
Ferrer et al. A discriminative hierarchical PLDA-based model for spoken language recognition

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21935948

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: JP