WO2019044583A1 - コンフュージョンネットワーク分散表現生成装置、コンフュージョンネットワーク分類装置、コンフュージョンネットワーク分散表現生成方法、コンフュージョンネットワーク分類方法、プログラム - Google Patents

コンフュージョンネットワーク分散表現生成装置、コンフュージョンネットワーク分類装置、コンフュージョンネットワーク分散表現生成方法、コンフュージョンネットワーク分類方法、プログラム Download PDF

Info

Publication number
WO2019044583A1
WO2019044583A1 PCT/JP2018/030776 JP2018030776W WO2019044583A1 WO 2019044583 A1 WO2019044583 A1 WO 2019044583A1 JP 2018030776 W JP2018030776 W JP 2018030776W WO 2019044583 A1 WO2019044583 A1 WO 2019044583A1
Authority
WO
WIPO (PCT)
Prior art keywords
arc
confusion network
sequence
word
distributed representation
Prior art date
Application number
PCT/JP2018/030776
Other languages
English (en)
French (fr)
Inventor
亮 増村
浩和 政瀧
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to JP2019539388A priority Critical patent/JP6852167B2/ja
Priority to US16/641,779 priority patent/US11556783B2/en
Publication of WO2019044583A1 publication Critical patent/WO2019044583A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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/10Speech classification or search using distance or distortion measures between unknown speech and reference templates
    • 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/16Speech classification or search using artificial neural networks

Definitions

  • the present invention relates to techniques for generating distributed representations of confusion networks.
  • a speech dialogue system it is common to estimate a speech intention and a speech act from the result of speech recognition of the user's speech, and to determine an action of the system based on the estimation result.
  • the estimation of the utterance intention and the utterance action is realized by constructing a class classifier which classifies a text which is a word sequence into a certain class. For example, in the case of an estimation of a speech act, the text "Is juice sold here?" Is an input, and there is a problem of estimating the label "Question".
  • the performance of this classifier is largely related to the smooth voice dialogue.
  • class label a text (word sequence) paired with a label to be classified (hereinafter referred to as class label), and use the machine classifier to obtain the class classifier.
  • class label a text (word sequence) paired with a label to be classified
  • Deep learning techniques are useful as a method for finely learning this classifier.
  • Several methods using deep learning have been proposed, but as a representative method, a method using Recurrent Neural Network (RNN) (Non-Patent Document 1) or a method using Convolutional Neural Network (CNN) (Non-patent document) There is 2).
  • RNN Recurrent Neural Network
  • CNN Convolutional Neural Network
  • the class classifier using RNN and the class classifier using CNN are generally the same. That is, each word of the text (word sequence) to be input is converted into a word vector called word distributed expression, and the word distributed expression sequence which is the word vector sequence is converted to a fixed length real-valued vector using RNN or CNN.
  • a class classifier can be realized by converting and inputting the real value vector to the discriminant function.
  • ⁇ t (1 ⁇ t ⁇ T) is a word distributed representation (word vector) of the word w t .
  • h is a fixed-length real-valued vector obtained by converting the word variance representation sequence ⁇ 1 , ⁇ 2 ,..., ⁇ T.
  • P is a probability distribution representing the posterior probability corresponding to each class.
  • EMBEDDING ( ⁇ ) is a function that converts a word into a word vector of a predetermined dimension.
  • EMBEDDING (.) Is expressed, for example, as a function of linear transformation.
  • EMBEDDING ( ⁇ ) is not limited to linear conversion, and may be any function as long as it has a similar function.
  • NN ( ⁇ ) is a function that converts a real-valued vector sequence into a fixed-length real-valued vector.
  • RNN or CNN can be used as the NN ( ⁇ ).
  • NN ( ⁇ ) is not limited to RNN or CNN, and may be any function as long as it has a similar function.
  • DISCRIMINATE ( ⁇ ) is a function for calculating the posterior probability corresponding to each class from a vector of fixed length.
  • a softmax function can be used as DISCRIMINATE ( ⁇ ).
  • a class having the largest probability in the probability distribution P is estimated as a class label of the input text.
  • the class classifier learning using the RNN and CNN it is general to use a set of an utterance text not containing a speech recognition error (that is, an utterance text having a speech recognition rate of 100%) and a class label.
  • a speech recognition error that is, an utterance text having a speech recognition rate of 100%
  • the speech dialogue system is actually used in the field, it is greatly affected by the speech recognition error. That is, there arises a problem that the estimation accuracy of the class label for the utterance text including the speech recognition error which is not included in the learning data is significantly reduced. This is due to a mismatch between input data at the time of class classifier learning and class label estimation.
  • learning is performed using a set of utterance text and class label including a speech recognition error generated by a speech recognizer.
  • learning is performed using an utterance text containing speech recognition errors, although there is no mismatch between input data at the time of learning and estimation, learning is performed from the utterance text containing errors, so the performance of the class classifier itself is low. Problems arise.
  • the present invention aims to provide a technique for converting a confusion network into a representation that can be used as an input for machine learning.
  • the confusion network can be used as an input for machine learning by expressing the confusion network as a confusion network distributed representation sequence which is a sequence of vectors.
  • FIG. 2 is a diagram showing an example of the configuration of the confusion network classification device 100.
  • FIG. 7 is a diagram showing an example of the operation of the confusion network classification device 100.
  • FIG. 2 is a diagram showing an example of the configuration of a confusion network distributed representation sequence generation unit 110.
  • FIG. 7 is a diagram showing an example of the operation of the confusion network distributed representation sequence generation unit 110.
  • FIG. 2 is a diagram showing an example of the configuration of a confusion network distributed representation generation device 200.
  • FIG. 16 is a diagram showing an example of the operation of the confusion network distributed representation generation device 200. It is a figure which shows an example of a structure of the confusion network similarity calculation apparatus 300. As shown in FIG. FIG. 16 is a diagram showing an example of the operation of the confusion network similarity degree computing device 300.
  • _ (Underscore) represents a subscript subscript.
  • xy_z represents that yz is a superscript for x
  • xy_z represents that yz is a subscript for x.
  • the confusion network is a structure that efficiently represents a hypothesis space at the time of speech recognition, and is a structure represented as a graph consisting of nodes and arcs (see FIG. 1).
  • Each arc of the confusion network obtained at the time of speech recognition corresponds to a word (hereinafter referred to as arc word), and has a probability (hereinafter referred to as arc weight) that each word is correct.
  • FIG. 2 is a block diagram showing the configuration of the confusion network classification device 100.
  • FIG. 3 is a flowchart showing the operation of the confusion network classification device 100.
  • the confusion network classification device 100 includes a confusion network distributed representation sequence generation unit 110, a class label estimation unit 120, and a recording unit 190.
  • the recording unit 190 is a component that appropriately records information necessary for the processing of the confusion network classification device 100.
  • the confusion network classification device 100 takes a confusion network as an input.
  • the confusion network is represented by an arc word set sequence and an arc weight set sequence.
  • the confusion network distributed representation sequence generation unit 110 generates a confusion network distributed representation sequence, which is a sequence of vectors, from the arc word set sequence and the arc weight set sequence that constitute the confusion network (S110).
  • the confusion network distributed representation sequence generation unit 110 will be described in detail below.
  • Input confusion network (arc word set sequence, arc weight set sequence)
  • Output confusion network distributed representation sequence confusion network distributed representation sequence generation unit 110, the arc word set sequence W 1, W 2, ..., W T and arc weights set sequence C 1, C 2, ..., from the C T,
  • a confusion network distributed representation sequence U 1 , U 2 ,..., U T is generated (S 110).
  • T is an integer of 1 or more.
  • the lengths of the arc word series set series and the arc weight set series are both T, and the lengths of the two series are the same.
  • the t-th arc word set W t (1 ⁇ t ⁇ T) constituting the confusion network is
  • w tn represents the n-th arc word included in the arc word set W t (1 ⁇ n ⁇ N t , N t is an integer of 1 or more).
  • N t is the number of arc word types included in the arc word set W t , and has different values depending on t.
  • c tn represents the n-th type arc weight included in the arc weight set C t (1 ⁇ n ⁇ N t ).
  • the arc weight c tn and the arc word w tn correspond to each other. That is, the arc weight c tn represents the probability that the arc word w tn is the correct answer.
  • FIG. 4 is a block diagram showing the configuration of the confusion network distributed representation sequence generation unit 110.
  • FIG. 5 is a flowchart showing the operation of the confusion network distributed representation sequence generation unit 110.
  • the confusion network distributed expression sequence generation unit 110 includes an arc word distributed expression set sequence conversion unit 112 and an arc word distributed expression set weighting integration unit 114.
  • a word distributed representation in which the arc word w tn which is a symbol is a vector according to the following equation Convert to ⁇ tn .
  • EMBEDDING ( ⁇ ) is a function that converts a word into a word vector of a predetermined dimension.
  • EMBEDDING (.) Is expressed, for example, as a function of linear transformation.
  • EMBEDDING ( ⁇ ) is not limited to linear conversion, and may be any function as long as it has a similar function.
  • a transformation matrix may be used to transform words into a word variance representation.
  • the transformation matrix is a dictionary (codebook table) in which corresponding vectors are prepared for each word, and the number of dimensions of the vectors and their values are determined when this dictionary is generated.
  • the word vector is a vector obtained by utilizing the word co-occurrence frequency
  • the concept vector is a vector obtained by compressing the word vector.
  • Input Arc word distributed expression set sequence
  • arc weight set sequence output Confusion network distributed expression sequence
  • Arc word distributed expression set weighting integration unit 114 arc word distributed expression set sequence ⁇ 1 , ⁇ 2 , ..., ⁇ T and arc From the weight set sequence C 1 , C 2 , ..., C T , a confusion network distributed representation sequence U 1 , U 2 , ..., U T is generated (S 114).
  • the arc word distributed representation set weighting integration unit 114 generates a confusion network distributed representation U t from the arc word distributed representation set ⁇ t and the arc weight set C t for each t (1 ⁇ t ⁇ T).
  • a confusion network distributed representation U t is generated by integrating word distributed representations ⁇ tn (1 ⁇ n ⁇ N t ) by weighting according to the following equation.
  • the class label estimation unit 120 estimates a class label indicating a class of the confusion network from the confusion network distributed expression sequence generated in S110 (S120).
  • the class label estimation unit 120 will be described in detail below.
  • Class label estimation unit 120 Input: Confusion network distributed representation sequence output: Class label The class label estimation unit 120 estimates a class label L from the confusion network distributed representation sequence U 1 , U 2 ,..., U T (S 120). The class label L is estimated by performing the following process on the confusion network distributed representation sequence U 1 , U 2 ,..., U T.
  • h is a fixed-length real-valued vector obtained by converting the confusion network distributed representation sequence U 1 , U 2 , ..., U T , and h of the confusion network distributed representation sequence U 1 , U 2 , ..., U T It represents a feature quantity.
  • This real-valued vector h is used as a feature in estimating class labels. Note that the dimension of the real value vector h is assumed to be predetermined.
  • P is a probability distribution representing the posterior probability corresponding to each class to be classified.
  • NN ( ⁇ ) is a function that converts a real-valued vector sequence into a fixed-length real-valued vector.
  • RNN or CNN can be used as the NN ( ⁇ ).
  • NN ( ⁇ ) is not limited to RNN or CNN, and may be any function as long as it has a similar function. It may be realized using machine learning other than neural networks such as RNN and CNN, for example, SVM (Support Vector Machine), random forest and the like.
  • DISCRIMINATE ( ⁇ ) is a function for calculating the posterior probability corresponding to each class from a vector of fixed length.
  • a softmax function can be used as DISCRIMINATE ( ⁇ ).
  • the output class label L is a label corresponding to the class having the largest probability in the probability distribution P.
  • the confusion network distributed representation generation device 101 includes the confusion network distributed representation sequence generation unit 110 and the recording unit 190, and receives the confusion network as an input, and generates a confusion network distributed representation sequence.
  • NN ( ⁇ ) which is a part of the function of the class label estimation unit 120 can be configured as a neural network, but the class label estimation unit 120 itself can also be configured as a neural network. That is, the class label estimation unit 120 can be configured as a neural network (for example, RNN or CNN) that receives a confusion network distributed expression sequence and outputs a class label.
  • the confusion network distributed representation sequence generation unit 110 can also be configured as a neural network (such as RNN or CNN, for example) that receives the confusion network and outputs a confusion network distributed representation sequence.
  • a neural network such as RNN or CNN, for example
  • the output of the neural network constituting the confusion network distributed representation sequence generation unit 110 is coupled so as to be the input of the neural network constituting the class label estimation unit 120, whereby the convergence network distributed expression sequence generation unit 110 It is also possible to construct one neural network having both the function and the function of the class label estimation unit 120. In this case, it is possible to simultaneously learn the parameters of the neural network constituting the confusion network distributed representation sequence generation unit 110 and the parameters of the neural network constituting the class label estimation unit 120, and the parameters of the two neural networks Learning is done in the form of being optimized.
  • the confusion network distributed representation sequence generation unit 110 and the class label estimation unit 120 do not necessarily have to be configured as a neural network, and may be configured by other machine learning.
  • the class label estimation unit 120 may be configured by an SVM or a random forest.
  • the confusion network distributed representation sequence generation unit 110 and the class label estimation unit 120 may be configured by methods other than machine learning.
  • the confusion network can be used as an input for machine learning by expressing the confusion network as a confusion network distributed representation sequence which is a sequence of vectors.
  • the confusion network includes various information of the speech recognition hypothesis space including the speech recognition result. That is, since the confusion network includes information on the plurality of candidates for the speech recognition result and the probability that each candidate is correct, it is considered based on whether or not it is a recognition error (or how accurate it seems to be correct). Class classifiers can be trained at, and the performance of the resulting learned class classifiers is enhanced.
  • the class classifier is learned using the confusion network obtained in the process of speech recognition, and the confusion network classification device is configured using the class classifier.
  • a confusion network is generated in the first-stage estimation process, such as a combination of a speech recognizer corresponding to the first-stage estimator and a class classifier corresponding to the second-stage estimator
  • the second stage estimator can be learned in a framework.
  • combinations such as a text basic analyzer and a class classifier, a speech recognizer and a text searcher, and a text basic analyzer and a text searcher are also possible. It is.
  • the confusion network is the input in the confusion network distributed expression generation device 101 described in the first embodiment, a text that is a word sequence may be input. Therefore, here, a confusion network distributed representation generation device 200 will be described, which generates a confusion network distributed representation sequence by inputting text that is a word sequence.
  • FIG. 6 is a block diagram showing the configuration of the confusion network distributed representation generation device 200.
  • FIG. 7 is a flowchart showing the operation of the confusion network distributed representation generation device 200.
  • the confusion network distributed representation generation device 200 includes a text conversion unit 210, a confusion network distributed representation sequence generation unit 110, and a recording unit 190.
  • the recording unit 190 is a configuration unit that appropriately records information necessary for the processing of the confusion network distributed representation generation device 200.
  • the confusion network distributed expression generation device 200 receives text (word sequence) as an input.
  • the operation of the confusion network distributed representation generation device 200 will be described according to FIG.
  • the text conversion unit 210 generates, from the word sequence, an arc word set sequence and an arc weight set sequence that constitute a confusion network that expresses the word sequence (S210).
  • the text conversion unit 210 will be described in detail.
  • Text conversion unit 210 Input: Text (word series)
  • Text conversion unit 210 the word sequence w 1, w 2, ..., from w T, arc word set sequence W 1, W 2 constituting the confusion network representing the word sequence, ..., W T and arc weights set Series C 1 , C 2 ,..., C T are generated (S 210).
  • the word series w 1 , w 2 ,..., W T can be obtained, for example, by dividing the input text using morphological analysis.
  • the arc word set W t is generated by the following equation.
  • the arc word set W t (1 ⁇ t ⁇ T) is a set including one word w t as an arc word.
  • the arc weight set C t is generated by the following equation.
  • the arc weight set C t (1 ⁇ t ⁇ T) is a set including only the arc weight 1 corresponding to the word w t .
  • the word sequence w 1, w 2, ..., arc word set sequence W 1, W 2 corresponding to w T, ..., W T, arc weights set sequence C 1, C 2, ..., is C T obtained .
  • the confusion network distributed representation sequence generation unit 110 generates a confusion network distributed representation sequence, which is a sequence of vectors, from the arc word set sequence and the arc weight set sequence that constitute the confusion network (S110).
  • the text to be input is not limited to the speech recognition result. Therefore, classification is performed using all of the confusion network corresponding to the speech recognition result including speech recognition error, the confusion network corresponding to speech recognition result not including speech recognition error, and the confusion network generated from general text. It is possible to learn the In addition, it is possible to learn a class classifier using not only learning data for a class classifier that classifies speech recognition results, but also learning data created for text classification in natural language processing.
  • FIG. 8 is a block diagram showing the configuration of the confusion network similarity calculation device 300.
  • FIG. 9 is a flowchart showing the operation of the confusion network similarity calculation device 300.
  • the confusion network similarity calculation apparatus 300 includes a confusion network distributed representation sequence generation unit 110, a similarity calculation unit 310, and a recording unit 190.
  • the recording unit 190 is a component that appropriately records information necessary for the process of the confusion network similarity calculation device 300.
  • the confusion network similarity calculation device 300 receives two confusion networks (a first confusion network and a second confusion network) as input.
  • Each confusion network to be input may be obtained, for example, at the time of speech recognition, or may be obtained by converting text by the same process as the text conversion unit 210.
  • the confusion network distributed representation sequence generation unit 110 generates a first confusion network distributed representation sequence from the first confusion network, and generates a second confusion network distributed representation sequence from the second confusion network (S110).
  • the similarity calculation unit 310 calculates the similarity between the first confusion network and the second confusion network from the first confusion network distributed representation sequence and the second confusion network distributed representation sequence (S310). Since the first confusion network distributed representation sequence and the second confusion network distributed representation sequence are both sequences of vectors, for example, the vector sum of the first confusion network distributed representation sequence and the second confusion network distributed representation sequence Calculate the vector sum and calculate the similarity of those vectors. Also, as similarity of vectors, for example, cosine similarity can be used.
  • the influence of recognition errors of the input speech on the search of the text database can be reduced. It can. Specifically, the similarity between the first confusion network corresponding to the input speech and the second confusion network corresponding to the text as the search result is calculated, and if the similarity is smaller than a predetermined value, If there is an error in the recognition result, voice input is prompted again.
  • each text in the text database is converted in advance to the second confusion network distributed representation sequence, and the first confusion network distributed representation sequence corresponding to the input speech and each text in the database are stored.
  • the second confusion network distributed representation sequence is used to calculate the degree of similarity, and the text with the highest degree of similarity is returned as a search result.
  • the apparatus is, for example, an input unit to which a keyboard or the like can be connected, an output unit to which a liquid crystal display or the like can be connected as a single hardware entity, or a communication device (for example, communication cable) capable of communicating outside the hardware entity.
  • Communication unit that can be connected, CPU (central processing unit, cache memory, registers, etc. may be provided), RAM or ROM that is memory, external storage device that is hard disk, input unit for these, output unit, communication unit , CPU, RAM, ROM, and a bus connected so as to enable exchange of data between external storage devices.
  • the hardware entity may be provided with a device (drive) capable of reading and writing a recording medium such as a CD-ROM. Examples of physical entities provided with such hardware resources include general purpose computers.
  • the external storage device of the hardware entity stores a program necessary for realizing the above-mentioned function, data required for processing the program, and the like (not limited to the external storage device, for example, the program is read) It may be stored in the ROM which is a dedicated storage device). In addition, data and the like obtained by the processing of these programs are appropriately stored in a RAM, an external storage device, and the like.
  • each program stored in the external storage device (or ROM etc.) and data necessary for processing of each program are read into the memory as necessary, and interpreted and processed appropriately by the CPU .
  • the CPU realizes predetermined functions (each component requirement expressed as the above-mentioned,...
  • the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the spirit of the present invention. Further, the processing described in the above embodiment may be performed not only in chronological order according to the order of description but also may be performed in parallel or individually depending on the processing capability of the device that executes the processing or the necessity. .
  • the processing function in the hardware entity (the apparatus of the present invention) described in the above embodiment is implemented by a computer, the processing content of the function that the hardware entity should have is described by a program. Then, by executing this program on a computer, the processing function of the hardware entity is realized on the computer.
  • the program describing the processing content can be recorded in a computer readable recording medium.
  • the computer readable recording medium any medium such as a magnetic recording device, an optical disc, a magneto-optical recording medium, a semiconductor memory, etc. may be used.
  • a magnetic recording device a hard disk drive, a flexible disk, a magnetic tape or the like as an optical disk, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only) Memory), CD-R (Recordable) / RW (Rewritable), etc. as magneto-optical recording medium, MO (Magneto-Optical disc) etc., as semiconductor memory, EEP-ROM (Electronically Erasable and Programmable Only Read Memory) etc. Can be used.
  • this program is carried out, for example, by selling, transferring, lending, etc. a portable recording medium such as a DVD, a CD-ROM, etc. in which the program is recorded.
  • this program may be stored in a storage device of a server computer, and the program may be distributed by transferring the program from the server computer to another computer via a network.
  • a computer that executes such a program first temporarily stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. Then, at the time of execution of the process, the computer reads the program stored in its own recording medium and executes the process according to the read program. Further, as another execution form of this program, the computer may read the program directly from the portable recording medium and execute processing according to the program, and further, the program is transferred from the server computer to this computer Each time, processing according to the received program may be executed sequentially.
  • ASP Application Service Provider
  • the program in the present embodiment includes information provided for processing by a computer that conforms to the program (such as data that is not a direct command to the computer but has a property that defines the processing of the computer).
  • the hardware entity is configured by executing a predetermined program on a computer, but at least a part of the processing content may be realized as hardware.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

コンフュージョンネットワークを機械学習の入力として用いることができるような表現に変換するための技術を提供する。コンフュージョンネットワークを構成するアーク単語集合系列とアーク重み集合系列からベクトルの系列であるコンフュージョンネットワーク分散表現系列を生成するコンフュージョンネットワーク分散表現系列生成部とを含み、コンフュージョンネットワーク分散表現系列生成部は、アーク単語集合に含まれるアーク単語を単語分散表現に変換することによりアーク単語分散表現集合を得、アーク単語分散表現集合系列を生成するアーク単語分散表現集合系列変換部と、アーク単語分散表現集合系列とアーク重み集合系列からコンフュージョンネットワーク分散表現系列を生成するアーク単語分散表現集合重み付け統合部とを含む。

Description

コンフュージョンネットワーク分散表現生成装置、コンフュージョンネットワーク分類装置、コンフュージョンネットワーク分散表現生成方法、コンフュージョンネットワーク分類方法、プログラム
 本発明は、コンフュージョンネットワークの分散表現を生成する技術に関する。
 音声対話システムにおいては、ユーザの音声について音声認識した結果から発話意図や発話行為を推定し、その推定結果に基づいてシステムのアクションを決定することが一般的である。この発話意図や発話行為の推定は、単語系列であるテキストをあるクラスに分類するクラス分類器を構成することにより実現されている。例えば、発話行為の推定であれば、「ジュースはこちらに売っていますか?」というテキストが入力となり、「質問」というラベルを推定する問題である。このクラス分類器の性能が円滑な音声対話ができるかどうかに大きく関わってくる。
 このようなクラス分類器を構成するための主な方法として、分類先となるラベル(以下、クラスラベルという)と組になったテキスト(単語系列)を準備して、機械学習によりクラス分類器を構成する方法がある。前述の問題を扱う場合は、各テキスト(単語系列)に1つのクラスラベルが付いた学習用データを大量に準備しておくことで、クラス分類器を学習することが可能となる。例えば、100000テキストそれぞれにクラスラベルが付いた学習用データを準備することにより、クラス分類器を学習することができる。
 このクラス分類器を精緻に学習する方法として、深層学習技術が有用である。深層学習を用いる方法は、いくつか提案されているが、代表的な方法として、Recurrent Neural Network(RNN)を用いる方法(非特許文献1)やConvolutional Neural Network(CNN)を用いる方法(非特許文献2)がある。
 RNNを用いたクラス分類器もCNNを用いたクラス分類器も大枠は同じである。つまり、入力となるテキスト(単語系列)の各単語を単語分散表現と呼ばれる単語ベクトルに変換し、その単語ベクトルの系列である単語分散表現系列をRNNまたはCNNを用いて固定長の実数値ベクトルに変換し、その実数値ベクトルを識別関数に入力することにより、クラス分類器が実現できる。
 より詳しく説明すると、以下のようになる。w1, w2, …, wTを入力テキストの単語系列とし、クラス分類器は、以下のような処理を実行することで、クラスラベルを推定する。
Figure JPOXMLDOC01-appb-M000002
 ここで、ωt(1≦t≦T)は、単語wtの単語分散表現(単語ベクトル)である。hは、単語分散表現系列ω1, ω2, …, ωTを変換した固定長の実数値ベクトルである。Pは、各クラスに対応した事後確率を表す確率分布である。
 EMBEDDING(・)は、単語を所定の次元の単語ベクトルに変換する関数である。EMBEDDING(・)は、例えば線形変換の関数として表される。なお、EMBEDDING(・)は線形変換に限るものではなく、同様の機能を持つ関数であればどのような関数であってもよい。
 NN(・)は、実数値ベクトル系列を固定長の実数値ベクトルに変換する関数である。NN(・)として、例えばRNNやCNNを用いることができる。なお、NN(・)はRNNやCNNに限るものではなく、同様の機能を持つ関数であればどのような関数であってもよい。
 DISCRIMINATE(・)は、固定長のベクトルから各クラスに対応した事後確率を計算するための関数である。DISCRIMINATE(・)として、例えばsoftmax関数を用いることができる。
 クラスラベルの推定時は、確率分布Pにおける最大の確率を持つクラスを入力テキストのクラスラベルとして推定する。
Suman Ravuri, Andreas Stolcke,"Recurrent Neural Network and LSTM Models for Lexical Utterance Classification", In Proc. INTERSPEECH 2015, pp.135-139, 2015. Yoon Kim,"Convolutional Neural Networks for Sentence Classification", In Proc. EMNLP 2014, pp.1746-1751, 2014.
 上記RNNやCNNを用いたクラス分類器の学習では、音声認識誤りを含まない発話テキスト(つまり、音声認識率が100%である発話テキスト)とクラスラベルの組を用いることが一般的である。しかし、音声認識誤りを含まない発話テキストを用いて学習を行うと、実際に音声対話システムを現場で利用する場合に、音声認識誤りの影響を大きく受ける。すなわち、学習用データに含まれていなかった音声認識誤りを含む発話テキストに対するクラスラベルの推定精度が著しく低下するという問題が生じる。これはクラス分類器学習時とクラスラベル推定時の入力データのミスマッチに起因するものである。
 そこで、音声認識器により生成された音声認識誤りを含む発話テキストとクラスラベルの組を用いて学習を行う場合もある。しかし、音声認識誤りを含む発話テキストを用いて学習を行うと、学習時と推定時の入力データのミスマッチはなくなるものの、誤りを含む発話テキストから学習を行うため、クラス分類器そのものの性能が低くなるという問題が生じる。
 上記2つの問題は、音声認識結果を表す発話テキストのみを用いていることに起因する。そこで、音声認識結果を含む、音声認識時に生成される様々な情報(音声認識時の仮説空間)を用いることが考えられる。このような様々な情報を扱う方法としてコンフュージョンネットワークがある(参考非特許文献1)。
(参考非特許文献1:Lidia Mangu, Eric Brill, Andreas Stolcke,“Finding consensus in speech recognition: word error minimization and other applications of confusion networks”, Computer Speech and Language, vol.14, pp.373-400, 2000.)
 しかし、このコンフュージョンネットワークを用いてクラス分類器を学習することができるようにするためには、学習の入力として用いることができるようにコンフュージョンネットワークを表現することが必要となるが、これまでこの目的に適したコンフュージョンネットワークの表現方法が存在しなかった。
 そこで本発明では、コンフュージョンネットワークを機械学習の入力として用いることができるような表現に変換するための技術を提供することを目的とする。
 本発明の一態様は、Tを1以上の整数とし、Wt=(wt1, wt2, …, wtN_t) (1≦t≦T)をコンフュージョンネットワークを構成するt番目のアーク単語集合(ただし、wtn(1≦n≦Nt、Ntは1以上の整数)はアーク単語集合Wtに含まれるアーク単語)、Ct=(ct1, ct2, …, ctN_t) (1≦t≦T)を前記コンフュージョンネットワークを構成するt番目のアーク重み集合(ただし、ctn(1≦n≦Nt)はアーク単語wtnに対応するアーク重み)とし、前記コンフュージョンネットワークを構成するアーク単語集合系列W1, W2, …, WTとアーク重み集合系列C1, C2, …, CTから、ベクトルの系列であるコンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成するコンフュージョンネットワーク分散表現系列生成部とを含み、前記コンフュージョンネットワーク分散表現系列生成部は、前記アーク単語集合Wtに含まれるアーク単語wtnを単語分散表現ωtnに変換することによりアーク単語分散表現集合Ωt=(ωt1, ωt2,…, ωtN_t)を得、アーク単語分散表現集合系列Ω1, Ω2, …, ΩTを生成するアーク単語分散表現集合系列変換部と、前記アーク単語分散表現集合系列Ω1, Ω2, …, ΩTと前記アーク重み集合系列C1, C2, …, CTから、前記コンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成するアーク単語分散表現集合重み付け統合部とを含む。
 本発明によれば、コンフュージョンネットワークをベクトルの系列であるコンフュージョンネットワーク分散表現系列として表現することにより、コンフュージョンネットワークを機械学習の入力として用いることが可能となる。
コンフュージョンネットワーク、アーク単語集合系列、アーク重み集合系列の関係の一例を示す図である。 コンフュージョンネットワーク分類装置100の構成の一例を示す図である。 コンフュージョンネットワーク分類装置100の動作の一例を示す図である。 コンフュージョンネットワーク分散表現系列生成部110の構成の一例を示す図である。 コンフュージョンネットワーク分散表現系列生成部110の動作の一例を示す図である。 コンフュージョンネットワーク分散表現生成装置200の構成の一例を示す図である。 コンフュージョンネットワーク分散表現生成装置200の動作の一例を示す図である。 コンフュージョンネットワーク類似度計算装置300の構成の一例を示す図である。 コンフュージョンネットワーク類似度計算装置300の動作の一例を示す図である。
 以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
 実施形態の説明に先立って、この明細書における表記方法について説明する。
 _(アンダースコア)は下付き添字を表す。例えば、xy_zはyzがxに対する上付き添字であり、xy_zはyzがxに対する下付き添字であることを表す。
 次に、コンフュージョンネットワークについて説明する。コンフュージョンネットワークとは、音声認識時の仮説空間を効率的に表現する構造であり、ノードとアークからなるグラフとして表される構造である(図1参照)。
 音声認識時に得られるコンフュージョンネットワークの各アークは、単語(以下、アーク単語という)に対応し、それぞれの単語が正解である確率(以下、アーク重みという)を持つ。図1のコンフュージョンネットワークは、17個のアーク単語w11, w12, w13, w21, …, w52を含み、アーク単語wtnが正解である確率であるアーク重みはctnとなっている。なお、任意のtについて、Σnctn=1となる。
 重要な点としては、(始端時間に対応する)始端ノードと(終端時間に対応する)終端ノードが同一となる単語(以下、このような単語の集合をアーク単語集合という)を同一のノード間にアークとして位置させることにより、アーク単語集合系列とアーク重み集合系列(アーク単語集合に対応するアーク重み集合の系列)の組であるコンフュージョンネットワークとして音声認識時の仮説空間を表現することが可能であることが挙げられる。図1の例では、アーク単語集合W1=(w11, w12, w13)に対応するアーク重み集合はC1=(c11,c12, c13)であり、アーク単語集合系列W1, W2, W3, W4, W5とアーク重み集合系列C1, C2, C3, C4, C5の組がコンフュージョンネットワークを表す。
 なお、コンフュージョンネットワークの詳細は、参考非特許文献1を参照にされたい。
<第1実施形態>
 以下、図2~図3を参照してコンフュージョンネットワーク分類装置100について説明する。図2は、コンフュージョンネットワーク分類装置100の構成を示すブロック図である。図3は、コンフュージョンネットワーク分類装置100の動作を示すフローチャートである。図2に示すように、コンフュージョンネットワーク分類装置100は、コンフュージョンネットワーク分散表現系列生成部110、クラスラベル推定部120、記録部190を含む。記録部190は、コンフュージョンネットワーク分類装置100の処理に必要な情報を適宜記録する構成部である。
 コンフュージョンネットワーク分類装置100は、コンフュージョンネットワークを入力とする。コンフュージョンネットワークは、アーク単語集合系列とアーク重み集合系列の2つで表現される。
 図3に従いコンフュージョンネットワーク分類装置100の動作について説明する。コンフュージョンネットワーク分散表現系列生成部110は、コンフュージョンネットワークを構成するアーク単語集合系列とアーク重み集合系列から、ベクトルの系列であるコンフュージョンネットワーク分散表現系列を生成する(S110)。以下、コンフュージョンネットワーク分散表現系列生成部110について、詳細に説明する。
[コンフュージョンネットワーク分散表現系列生成部110]
入力:コンフュージョンネットワーク(アーク単語集合系列、アーク重み集合系列)
出力:コンフュージョンネットワーク分散表現系列
 コンフュージョンネットワーク分散表現系列生成部110は、アーク単語集合系列W1, W2, …, WTとアーク重み集合系列C1, C2, …, CTから、コンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成する(S110)。ただし、Tは1以上の整数である。なお、アーク単語系列集合系列の長さとアーク重み集合系列の長さはいずれもTであり、2つの系列の長さは同一となる。
 コンフュージョンネットワークを構成するt番目のアーク単語集合Wt(1≦t≦T)は、
Figure JPOXMLDOC01-appb-M000003
と表される。ここで、wtnはアーク単語集合Wtに含まれるn種類目のアーク単語を表す(1≦n≦Nt、Ntは1以上の整数)。Ntはアーク単語集合Wtに含まれるアーク単語種類数であり、tにより異なる値となる。
 同様に、コンフュージョンネットワークを構成するt番目のアーク重み集合Ct(1≦t≦T)は、
Figure JPOXMLDOC01-appb-M000004
と表される。ここで、ctnはアーク重み集合Ctに含まれるn種類目のアーク重みを表す(1≦n≦Nt)。なお、
Figure JPOXMLDOC01-appb-M000005
である。また、アーク重みctnとアーク単語wtnは対応がとれているものとする。すなわち、アーク重みctnはアーク単語wtnが正解である確率を表す。
 以下、図4~図5を参照してコンフュージョンネットワーク分散表現系列生成部110について説明する。図4は、コンフュージョンネットワーク分散表現系列生成部110の構成を示すブロック図である。図5は、コンフュージョンネットワーク分散表現系列生成部110の動作を示すフローチャートである。図4に示すように、コンフュージョンネットワーク分散表現系列生成部110は、アーク単語分散表現集合系列変換部112、アーク単語分散表現集合重み付け統合部114を含む。
[アーク単語分散表現集合系列変換部112]
入力:アーク単語集合系列
出力:アーク単語分散表現集合系列
 アーク単語分散表現集合系列変換部112は、アーク単語集合Wtに含まれるアーク単語wtnを単語分散表現ωtnに変換することによりアーク単語分散表現集合Ωt=(ωt1, ωt2,…, ωtN_t)を得、アーク単語分散表現集合系列Ω1, Ω2, …, ΩTを生成する(S112)。t番目のアーク単語集合Wt(1≦t≦T)の各アーク単語wtn(1≦n≦Nt)に対して、次式によりシンボルであるアーク単語wtnをベクトルである単語分散表現ωtnに変換する。
Figure JPOXMLDOC01-appb-M000006
 EMBEDDING(・)は、単語を所定の次元の単語ベクトルに変換する関数である。EMBEDDING(・)は、例えば線形変換の関数として表される。なお、EMBEDDING(・)は線形変換に限るものではなく、同様の機能を持つ関数であればどのような関数であってもよい。例えば、単語を単語分散表現に変換するための変換行列を用いることができる。変換行列は各単語に対して対応するベクトルが準備されている辞書(コードブックテーブル)であり、ベクトルの次元数やその値はこの辞書を生成するときに決まる。また、別の例として、自然言語処理で用いられる単語ベクトルや概念ベクトルを計算する関数などがある。単語ベクトルは単語の共起頻度を利用して得られるベクトルであり、概念ベクトルは単語ベクトルを圧縮して得られるベクトルである。
[アーク単語分散表現集合重み付け統合部114]
入力:アーク単語分散表現集合系列、アーク重み集合系列
出力:コンフュージョンネットワーク分散表現系列
 アーク単語分散表現集合重み付け統合部114は、アーク単語分散表現集合系列Ω1, Ω2, …, ΩTとアーク重み集合系列C1, C2, …, CTから、コンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成する(S114)。アーク単語分散表現集合重み付け統合部114は、各t(1≦t≦T)について、アーク単語分散表現集合Ωtとアーク重み集合Ctからコンフュージョンネットワーク分散表現Utを生成する。具体的には、次式により単語分散表現ωtn(1≦n≦Nt)を重み付けで統合することにより、コンフュージョンネットワーク分散表現Utを生成する。
Figure JPOXMLDOC01-appb-M000007
 この統合処理をすべてのt(1≦t≦T)について行うことにより、コンフュージョンネットワーク分散表現系列U1, U2, …, UTが得られる。
 次に、クラスラベル推定部120は、S110で生成したコンフュージョンネットワーク分散表現系列から、コンフュージョンネットワークのクラスを示すクラスラベルを推定する(S120)。以下、クラスラベル推定部120について、詳細に説明する。
[クラスラベル推定部120]
入力:コンフュージョンネットワーク分散表現系列
出力:クラスラベル
 クラスラベル推定部120は、コンフュージョンネットワーク分散表現系列U1, U2, …, UTから、クラスラベルLを推定する(S120)。コンフュージョンネットワーク分散表現系列U1, U2, …, UTに対して、以下のような処理を実行することにより、クラスラベルLを推定する。
Figure JPOXMLDOC01-appb-M000008
 ここで、hはコンフュージョンネットワーク分散表現系列U1, U2, …, UTを変換した固定長の実数値ベクトルであり、コンフュージョンネットワーク分散表現系列U1, U2, …, UTの特徴量を表すものである。この実数値ベクトルhはクラスラベルを推定する際の素性として用いられる。なお、実数値ベクトルhの次元は予め定められているものとする。また、Pは分類先となる各クラスに対応した事後確率を表す確率分布である。
 NN(・)は、実数値ベクトル系列を固定長の実数値ベクトルに変換する関数である。NN(・)として、例えばRNNやCNNを用いることができる。なお、NN(・)はRNNやCNNに限るものではなく、同様の機能を持つ関数であればどのような関数であってもよい。RNNやCNNなどのニューラルネットワーク以外の機械学習、例えば、SVM(Support Vector Machine)、ランダムフォレストなどを用いて実現してもよい。
 DISCRIMINATE(・)は、固定長のベクトルから各クラスに対応した事後確率を計算するための関数である。DISCRIMINATE(・)として、例えばsoftmax関数を用いることができる。
 出力となるクラスラベルLは、確率分布Pにおける最大の確率を持つクラスに対応したラベルである。
 なお、コンフュージョンネットワーク分類装置100からクラスラベル推定部120を省力することにより、コンフュージョンネットワーク分散表現生成装置101(図示せず)を構成することができる。つまり、コンフュージョンネットワーク分散表現生成装置101は、コンフュージョンネットワーク分散表現系列生成部110、記録部190を含み、コンフュージョンネットワークを入力とし、コンフュージョンネットワーク分散表現系列を生成する。
(コンフュージョンネットワーク分散表現系列生成部110及びクラスラベル推定部120の構成方法)
 先述の通り、クラスラベル推定部120の機能の一部であるNN(・)は、ニューラルネットワークとして構成することができるが、クラスラベル推定部120そのものもニューラルネットワークとして構成することができる。つまり、クラスラベル推定部120は、コンフュージョンネットワーク分散表現系列を入力とし、クラスラベルを出力する(例えば、RNNやCNNのような)ニューラルネットワークとして構成することができる。
 同様に、コンフュージョンネットワーク分散表現系列生成部110も、コンフュージョンネットワークを入力とし、コンフュージョンネットワーク分散表現系列を出力する(例えば、RNNやCNNのような)ニューラルネットワークとして構成することができる。
 さらに、コンフュージョンネットワーク分散表現系列生成部110を構成するニューラルネットワークの出力がクラスラベル推定部120を構成するニューラルネットワークの入力となるように結合することにより、コンフュージョンネットワーク分散表現系列生成部110の機能とクラスラベル推定部120の機能を併せ持つ1つのニューラルネットワークを構成することもできる。この場合、コンフュージョンネットワーク分散表現系列生成部110を構成するニューラルネットワークのパラメータと、クラスラベル推定部120を構成するニューラルネットワークのパラメータを同時に学習することが可能となり、2つのニューラルネットワークのパラメータが全体として最適化される形で学習がなされる。
 もちろん、コンフュージョンネットワーク分散表現系列生成部110を構成するニューラルネットワークのパラメータと、クラスラベル推定部120を構成するニューラルネットワークのパラメータを個別に学習することより、独立に最適化するように学習してもよい。
 なお、コンフュージョンネットワーク分散表現系列生成部110やクラスラベル推定部120は、必ずしもニューラルネットワークとして構成する必要はなく、他の機械学習により構成してもよい。例えば、クラスラベル推定部120をSVMやランダムフォレストにより構成してもよい。さらには、コンフュージョンネットワーク分散表現系列生成部110やクラスラベル推定部120を機械学習以外の方法により構成してもよい。
 本発明によれば、コンフュージョンネットワークをベクトルの系列であるコンフュージョンネットワーク分散表現系列として表現することにより、コンフュージョンネットワークを機械学習の入力として用いることが可能となる。
 また、コンフュージョンネットワーク分散表現系列を用いてクラス分類器を構成できるようになることから、例えば、音声認識結果のように一つの単語列のみを用いてクラス分類器を構成する場合よりも、より性能がよいクラス分類器を構成できるようになる。これは、コンフュージョンネットワークが、音声認識結果を含む、音声認識の仮説空間の様々な情報が含んでいることによる。つまり、コンフュージョンネットワークには音声認識結果の複数候補と各候補が正解である確率の情報が含まれるため、認識誤りであるか否か(あるいは、どのくらいの精度で正解らしいのか)を踏まえたうえでクラス分類器を学習することができ、結果学習されたクラス分類器の性能は高くなる。
(適用例)
 ここまで、音声認識の過程で得られるコンフュージョンネットワークを用いてクラス分類器を学習し、当該クラス分類器を用いてコンフュージョンネットワーク分類装置を構成することを念頭に説明してきた。1段目の推定器に相当する音声認識器と2段目の推定器に相当するクラス分類器の組合せのように、1段目の推定過程においてコンフュージョンネットワークが生成される場合は、同様の枠組みで2段目の推定器を学習することができる。1段目の推定器と2段目の推定器の組合せとして、例えば、テキスト基本解析器とクラス分類器、音声認識器とテキスト検索器、テキスト基本解析器とテキスト検索器のような組み合わせも可能である。
<第2実施形態>
 第1実施形態で説明したコンフュージョンネットワーク分散表現生成装置101では、コンフュージョンネットワークを入力としたが、単語系列であるテキストを入力としてもよい。そこで、ここでは、単語系列であるテキストを入力とし、コンフュージョンネットワーク分散表現系列を生成するコンフュージョンネットワーク分散表現生成装置200について説明する。
 以下、図6~図7を参照してコンフュージョンネットワーク分散表現生成装置200について説明する。図6は、コンフュージョンネットワーク分散表現生成装置200の構成を示すブロック図である。図7は、コンフュージョンネットワーク分散表現生成装置200の動作を示すフローチャートである。図6に示すように、コンフュージョンネットワーク分散表現生成装置200は、テキスト変換部210、コンフュージョンネットワーク分散表現系列生成部110、記録部190を含む。記録部190は、コンフュージョンネットワーク分散表現生成装置200の処理に必要な情報を適宜記録する構成部である。
 コンフュージョンネットワーク分散表現生成装置200は、テキスト(単語系列)を入力とする。
 図7に従いコンフュージョンネットワーク分散表現生成装置200の動作について説明する。テキスト変換部210は、単語系列から、当該単語系列を表現するコンフュージョンネットワークを構成するアーク単語集合系列とアーク重み集合系列を生成する(S210)。以下、テキスト変換部210について、詳細に説明する。
[テキスト変換部210]
入力:テキスト(単語系列)
出力:コンフュージョンネットワーク(アーク単語集合系列、アーク重み集合系列)
 テキスト変換部210は、単語系列w1, w2, …, wTから、当該単語系列を表現するコンフュージョンネットワークを構成するアーク単語集合系列W1, W2, …, WTとアーク重み集合系列C1, C2, …, CTを生成する(S210)。ここで、単語系列w1, w2, …, wTは、例えば、形態素解析を用いて入力テキストを分割することにより得ることができる。アーク単語集合Wtは次式により生成される。
Figure JPOXMLDOC01-appb-M000009
 つまり、アーク単語集合Wt(1≦t≦T)は、1つの単語wtをアーク単語として含む集合となる。また、アーク重み集合Ctは次式により生成される。
Figure JPOXMLDOC01-appb-M000010
 つまり、アーク重み集合Ct(1≦t≦T)は、単語wtに対応するアーク重み1のみを含む集合となる。これにより、単語系列w1, w2, …, wTに対応するアーク単語集合系列W1, W2, …, WT、アーク重み集合系列C1, C2, …, CTが得られる。
 次に、コンフュージョンネットワーク分散表現系列生成部110は、コンフュージョンネットワークを構成するアーク単語集合系列とアーク重み集合系列から、ベクトルの系列であるコンフュージョンネットワーク分散表現系列を生成する(S110)。
 本発明によれば、テキストからコンフュージョンネットワーク分散表現系列を生成することが可能となる。ここで、入力となるテキストは音声認識結果に限らない。したがって、音声認識誤りを含む音声認識結果に対応するコンフュージョンネットワーク、音声認識誤りを含まない音声認識結果に対応するコンフュージョンネットワーク、一般のテキストから生成されるコンフュージョンネットワークのすべてを用いてクラス分類器を学習することが可能となる。また、音声認識結果を分類するクラス分類器のための学習データだけでなく、自然言語処理におけるテキスト分類のために作成された学習データを利用してクラス分類器を学習することが可能となる。
<第3実施形態>
 第3実施形態では、コンフュージョンネットワーク分散表現系列を用いて、コンフュージョンネットワーク間の類似度を計算する方法について説明する。
 以下、図8~図9を参照してコンフュージョンネットワーク類似度計算装置300について説明する。図8は、コンフュージョンネットワーク類似度計算装置300の構成を示すブロック図である。図9は、コンフュージョンネットワーク類似度計算装置300の動作を示すフローチャートである。図8に示すように、コンフュージョンネットワーク類似度計算装置300は、コンフュージョンネットワーク分散表現系列生成部110、類似度計算部310、記録部190を含む。記録部190は、コンフュージョンネットワーク類似度計算装置300の処理に必要な情報を適宜記録する構成部である。
 コンフュージョンネットワーク類似度計算装置300は、2つのコンフュージョンネットワーク(第1コンフュージョンネットワークと第2コンフュージョンネットワーク)を入力とする。入力となる各コンフュージョンネットワークは、例えば、音声認識時に得られるものであってもよいし、テキストをテキスト変換部210と同様の処理により変換して得られるものであってもよい。
 図9に従いコンフュージョンネットワーク類似度計算装置300の動作について説明する。コンフュージョンネットワーク分散表現系列生成部110は、第1コンフュージョンネットワークから第1コンフュージョンネットワーク分散表現系列を生成し、第2コンフュージョンネットワークから第2コンフュージョンネットワーク分散表現系列を生成する(S110)。
 類似度計算部310は、第1コンフュージョンネットワーク分散表現系列と第2コンフュージョンネットワーク分散表現系列から、第1コンフュージョンネットワークと第2コンフュージョンネットワークの類似度を計算する(S310)。第1コンフュージョンネットワーク分散表現系列と第2コンフュージョンネットワーク分散表現系列はいずれもベクトルの系列であるので、例えば、第1コンフュージョンネットワーク分散表現系列のベクトル和と第2コンフュージョンネットワーク分散表現系列のベクトル和を計算し、それらのベクトルの類似度を計算する。また、ベクトルの類似度として、例えば、コサイン類似度を用いることができる。
 本発明によれば、2つのコンフュージョンネットワークの類似の程度を数値として表すことが可能となる。
 このような構成を音声検索システムや音声対話システムに組み込み、音声を入力としてテキストのデータベースを検索する処理に用いることにより、入力音声の認識誤りがテキストのデータベースの検索に与える影響を低減することができる。具体的には、入力音声に対応する第1コンフュージョンネットワークと検索結果であるテキストに対応する第2コンフュージョンネットワークの類似度を計算し、類似度が所定の値より小さくなる場合、入力音声の認識結果に誤りがあるとして、再度音声入力を促すようにする。
 また、音声を入力としてテキストのデータベースを検索する処理に上述したコンフュージョンネットワークの分散表現とコンフュージョンネットワーク間の類似度計算の枠組みを適用することにより、入力音声の認識誤りがテキストのデータベースの検索に与える影響を低減することができる。具体的には、テキストのデータベース中の各テキストを予め第2コンフュージョンネットワーク分散表現系列に変換しておき、入力音声に対応する第1コンフュージョンネットワーク分散表現系列とデータベース中の各テキストに対応する第2コンフュージョンネットワーク分散表現系列を用いて類似度を計算し、類似度が最も高いテキストを検索結果として返すようにする。
<補記>
 本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい)、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD-ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
 ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくこととしてもよい)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。
 ハードウェアエンティティでは、外部記憶装置(あるいはROMなど)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(上記、…部、…手段などと表した各構成要件)を実現する。
 本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
 既述のように、上記実施形態において説明したハードウェアエンティティ(本発明の装置)における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD-RAM(Random Access Memory)、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP-ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
 上述の本発明の実施形態の記載は、例証と記載の目的で提示されたものである。網羅的であるという意思はなく、開示された厳密な形式に発明を限定する意思もない。変形やバリエーションは上述の教示から可能である。実施形態は、本発明の原理の最も良い例証を提供するために、そして、この分野の当業者が、熟考された実際の使用に適するように本発明を色々な実施形態で、また、色々な変形を付加して利用できるようにするために、選ばれて表現されたものである。すべてのそのような変形やバリエーションは、公正に合法的に公平に与えられる幅にしたがって解釈された添付の請求項によって定められた本発明のスコープ内である。

Claims (7)

  1.  Tを1以上の整数とし、
     Wt=(wt1, wt2, …, wtN_t) (1≦t≦T)をコンフュージョンネットワークを構成するt番目のアーク単語集合(ただし、wtn(1≦n≦Nt、Ntは1以上の整数)はアーク単語集合Wtに含まれるアーク単語)、Ct=(ct1, ct2, …, ctN_t) (1≦t≦T)を前記コンフュージョンネットワークを構成するt番目のアーク重み集合(ただし、ctn(1≦n≦Nt)はアーク単語wtnに対応するアーク重み)とし、
     前記コンフュージョンネットワークを構成するアーク単語集合系列W1, W2, …, WTとアーク重み集合系列C1, C2, …, CTから、ベクトルの系列であるコンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成するコンフュージョンネットワーク分散表現系列生成部と
     を含むコンフュージョンネットワーク分散表現生成装置であって、
     前記コンフュージョンネットワーク分散表現系列生成部は、
     前記アーク単語集合Wtに含まれるアーク単語wtnを単語分散表現ωtnに変換することによりアーク単語分散表現集合Ωt=(ωt1, ωt2,…, ωtN_t)を得、アーク単語分散表現集合系列Ω1, Ω2, …, ΩTを生成するアーク単語分散表現集合系列変換部と、
     前記アーク単語分散表現集合系列Ω1, Ω2, …, ΩTと前記アーク重み集合系列C1, C2,…, CTから、前記コンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成するアーク単語分散表現集合重み付け統合部と
     を含むコンフュージョンネットワーク分散表現生成装置。
  2.  請求項1に記載のコンフュージョンネットワーク分散表現生成装置であって、
     さらに、単語系列w1, w2, …, wTから、次式によりコンフュージョンネットワークを構成するアーク単語集合系列W1, W2, …, WTとアーク重み集合系列C1, C2, …, CTを生成するテキスト変換部を含む
    Figure JPOXMLDOC01-appb-M000001

     ことを特徴とするコンフュージョンネットワーク分散表現生成装置。
  3.  Tを1以上の整数とし、
     Wt=(wt1, wt2, …, wtN_t) (1≦t≦T)をコンフュージョンネットワークを構成するt番目のアーク単語集合(ただし、wtn(1≦n≦Nt、Ntは1以上の整数)はアーク単語集合Wtに含まれるアーク単語)、Ct=(ct1, ct2, …, ctN_t) (1≦t≦T)を前記コンフュージョンネットワークを構成するt番目のアーク重み集合(ただし、ctn(1≦n≦Nt)はアーク単語wtnに対応するアーク重み)とし、
     前記コンフュージョンネットワークを構成するアーク単語集合系列W1, W2, …, WTとアーク重み集合系列C1, C2, …, CTから、ベクトルの系列であるコンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成するコンフュージョンネットワーク分散表現系列生成部と
     前記コンフュージョンネットワーク分散表現系列U1, U2, …, UTから、前記コンフュージョンネットワークのクラスを示すクラスラベルを推定するクラスラベル推定部と
     を含むコンフュージョンネットワーク分類装置であって、
     前記コンフュージョンネットワーク分散表現系列生成部は、
     前記アーク単語集合Wtに含まれるアーク単語wtnを単語分散表現ωtnに変換することによりアーク単語分散表現集合Ωt=(ωt1, ωt2,…, ωtN_t)を得、アーク単語分散表現集合系列Ω1, Ω2, …, ΩTを生成するアーク単語分散表現集合系列変換部と、
     前記アーク単語分散表現集合系列Ω1, Ω2, …, ΩTと前記アーク重み集合系列C1, C2,…, CTから、前記コンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成するアーク単語分散表現集合重み付け統合部と
     を含むコンフュージョンネットワーク分類装置。
  4.  請求項3に記載のコンフュージョンネットワーク分類装置であって、
     前記コンフュージョンネットワーク分散表現系列生成部と前記クラスラベル推定部は、ニューラルネットワークとして構成され、
     前記コンフュージョンネットワーク分散表現系列生成部を構成するニューラルネットワークのパラメータと前記クラスラベル推定部を構成するニューラルネットワークのパラメータは、2つのニューラルネットワークを結合して得られる1つのニューラルネットワークとして学習したものである
     ことを特徴とするコンフュージョンネットワーク分類装置。
  5.  Tを1以上の整数とし、
     Wt=(wt1, wt2, …, wtN_t) (1≦t≦T)をコンフュージョンネットワークを構成するt番目のアーク単語集合(ただし、wtn(1≦n≦Nt、Ntは1以上の整数)はアーク単語集合Wtに含まれるアーク単語)、Ct=(ct1, ct2, …, ctN_t) (1≦t≦T)を前記コンフュージョンネットワークを構成するt番目のアーク重み集合(ただし、ctn(1≦n≦Nt)はアーク単語wtnに対応するアーク重み)とし、
     コンフュージョンネットワーク分散表現生成装置が、前記コンフュージョンネットワークを構成するアーク単語集合系列W1, W2, …, WTとアーク重み集合系列C1, C2, …, CTから、ベクトルの系列であるコンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成するコンフュージョンネットワーク分散表現系列生成ステップと
     を含むコンフュージョンネットワーク分散表現生成方法であって、
     前記コンフュージョンネットワーク分散表現系列生成ステップは、
     前記アーク単語集合Wtに含まれるアーク単語wtnを単語分散表現ωtnに変換することによりアーク単語分散表現集合Ωt=(ωt1, ωt2,…, ωtN_t)を得、アーク単語分散表現集合系列Ω1, Ω2, …, ΩTを生成するアーク単語分散表現集合系列変換ステップと、
     前記アーク単語分散表現集合系列Ω1, Ω2, …, ΩTと前記アーク重み集合系列C1, C2,…, CTから、前記コンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成するアーク単語分散表現集合重み付け統合ステップと
     を含むコンフュージョンネットワーク分散表現生成方法。
  6.  Tを1以上の整数とし、
     Wt=(wt1, wt2, …, wtN_t) (1≦t≦T)をコンフュージョンネットワークを構成するt番目のアーク単語集合(ただし、wtn(1≦n≦Nt、Ntは1以上の整数)はアーク単語集合Wtに含まれるアーク単語)、Ct=(ct1, ct2, …, ctN_t) (1≦t≦T)を前記コンフュージョンネットワークを構成するt番目のアーク重み集合(ただし、ctn(1≦n≦Nt)はアーク単語wtnに対応するアーク重み)とし、
     コンフュージョンネットワーク分類装置が、前記コンフュージョンネットワークを構成するアーク単語集合系列W1, W2, …, WTとアーク重み集合系列C1, C2, …, CTから、ベクトルの系列であるコンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成するコンフュージョンネットワーク分散表現系列生成ステップと
     前記コンフュージョンネットワーク分類装置が、前記コンフュージョンネットワーク分散表現系列U1, U2, …, UTから、前記コンフュージョンネットワークのクラスを示すクラスラベルを推定するクラスラベル推定ステップと
     を含むコンフュージョンネットワーク分類方法であって、
     前記コンフュージョンネットワーク分散表現系列生成ステップは、
     前記アーク単語集合Wtに含まれるアーク単語wtnを単語分散表現ωtnに変換することによりアーク単語分散表現集合Ωt=(ωt1, ωt2,…, ωtN_t)を得、アーク単語分散表現集合系列Ω1, Ω2, …, ΩTを生成するアーク単語分散表現集合系列変換ステップと、
     前記アーク単語分散表現集合系列Ω1, Ω2, …, ΩTと前記アーク重み集合系列C1, C2,…, CTから、前記コンフュージョンネットワーク分散表現系列U1, U2, …, UTを生成するアーク単語分散表現集合重み付け統合ステップと
     を含むコンフュージョンネットワーク分類方法。
  7.  請求項1もしくは2に記載のコンフュージョンネットワーク分散表現生成装置または請求項3もしくは4に記載のコンフュージョンネットワーク分類装置としてコンピュータを機能させるためのプログラム。
PCT/JP2018/030776 2017-09-04 2018-08-21 コンフュージョンネットワーク分散表現生成装置、コンフュージョンネットワーク分類装置、コンフュージョンネットワーク分散表現生成方法、コンフュージョンネットワーク分類方法、プログラム WO2019044583A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019539388A JP6852167B2 (ja) 2017-09-04 2018-08-21 コンフュージョンネットワーク分散表現生成装置、コンフュージョンネットワーク分類装置、コンフュージョンネットワーク分散表現生成方法、コンフュージョンネットワーク分類方法、プログラム
US16/641,779 US11556783B2 (en) 2017-09-04 2018-08-21 Confusion network distributed representation generation apparatus, confusion network classification apparatus, confusion network distributed representation generation method, confusion network classification method and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017169325 2017-09-04
JP2017-169325 2017-09-04

Publications (1)

Publication Number Publication Date
WO2019044583A1 true WO2019044583A1 (ja) 2019-03-07

Family

ID=65525508

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/030776 WO2019044583A1 (ja) 2017-09-04 2018-08-21 コンフュージョンネットワーク分散表現生成装置、コンフュージョンネットワーク分類装置、コンフュージョンネットワーク分散表現生成方法、コンフュージョンネットワーク分類方法、プログラム

Country Status (3)

Country Link
US (1) US11556783B2 (ja)
JP (1) JP6852167B2 (ja)
WO (1) WO2019044583A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010522923A (ja) * 2007-04-13 2010-07-08 マサチューセッツ インスティテュート オブ テクノロジー 音声データ検索装置、音声データ検索方法、音声データ検索プログラム、及びコンピュータが読取可能な音声データ検索プログラムを内蔵したコンピュータが使用可能な媒体
JP2014160168A (ja) * 2013-02-20 2014-09-04 Nippon Telegr & Teleph Corp <Ntt> 学習データ選択装置、識別的音声認識精度推定装置、学習データ選択方法、識別的音声認識精度推定方法、プログラム
JP2017026808A (ja) * 2015-07-22 2017-02-02 日本電信電話株式会社 音声認識装置、音声認識方法、プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010522923A (ja) * 2007-04-13 2010-07-08 マサチューセッツ インスティテュート オブ テクノロジー 音声データ検索装置、音声データ検索方法、音声データ検索プログラム、及びコンピュータが読取可能な音声データ検索プログラムを内蔵したコンピュータが使用可能な媒体
JP2014160168A (ja) * 2013-02-20 2014-09-04 Nippon Telegr & Teleph Corp <Ntt> 学習データ選択装置、識別的音声認識精度推定装置、学習データ選択方法、識別的音声認識精度推定方法、プログラム
JP2017026808A (ja) * 2015-07-22 2017-02-02 日本電信電話株式会社 音声認識装置、音声認識方法、プログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
IKESHITA YUKI ET AL.: "Detection method for unknown words considering word history by LSTM", IEICE TECHNICAL REPORT, vol. 116, no. 189, 17 August 2016 (2016-08-17), pages 33 - 36 *
YANG, XIAOHAO ET AL.: "Using Word Confusion Networks for Slot Filling in Spoken Language Understanding", PROC. OF INTERSPEECH2015, 6 September 2015 (2015-09-06), pages 1353 - 1357 *

Also Published As

Publication number Publication date
US11556783B2 (en) 2023-01-17
US20200218975A1 (en) 2020-07-09
JP6852167B2 (ja) 2021-03-31
JPWO2019044583A1 (ja) 2020-10-08

Similar Documents

Publication Publication Date Title
US10417350B1 (en) Artificial intelligence system for automated adaptation of text-based classification models for multiple languages
JP3768205B2 (ja) 形態素解析装置、形態素解析方法及び形態素解析プログラム
CN108475262A (zh) 用于文本处理的电子设备和方法
EP3707622A1 (en) Generation of text from structured data
JP6705318B2 (ja) 対訳辞書作成装置、対訳辞書作成方法、及び対訳辞書作成プログラム
JP7070653B2 (ja) 学習装置、音声認識順位推定装置、それらの方法、およびプログラム
JP2019082931A (ja) 検索装置、類似度算出方法、およびプログラム
JP5975938B2 (ja) 音声認識装置、音声認識方法及びプログラム
JP2016224483A (ja) モデル学習装置、方法、及びプログラム
US20190129948A1 (en) Generating method, generating device, and recording medium
JP7211103B2 (ja) 系列ラベリング装置、系列ラベリング方法、およびプログラム
CN112836019A (zh) 公共医疗卫生命名实体识别与实体链接方法、装置、电子设备及存储介质
JP6082657B2 (ja) ポーズ付与モデル選択装置とポーズ付与装置とそれらの方法とプログラム
JP6549064B2 (ja) 音声認識装置、音声認識方法、プログラム
JP2023181819A (ja) 言語処理装置、機械学習方法、推定方法及びプログラム
JP6558856B2 (ja) 形態素解析装置、モデル学習装置、及びプログラム
JP6852167B2 (ja) コンフュージョンネットワーク分散表現生成装置、コンフュージョンネットワーク分類装置、コンフュージョンネットワーク分散表現生成方法、コンフュージョンネットワーク分類方法、プログラム
JP6486789B2 (ja) 音声認識装置、音声認識方法、プログラム
JP2022185799A (ja) 情報処理プログラム、情報処理方法および情報処理装置
JP5342574B2 (ja) トピックモデリング装置、トピックモデリング方法、及びプログラム
JP5780516B2 (ja) モデル縮減装置とその方法とプログラム
JP6441203B2 (ja) 音声認識結果圧縮装置、音声認識結果圧縮方法、プログラム
Song et al. A hybrid model for community-oriented lexical simplification
Brunet et al. ICL Markup: Structuring In-Context Learning using Soft-Token Tags
Alselwi et al. Extractive Arabic Text Summarization Using PageRank and Word Embedding

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019539388

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18850946

Country of ref document: EP

Kind code of ref document: A1