JP7332486B2 - 記号列変換装置および記号列変換方法 - Google Patents

記号列変換装置および記号列変換方法 Download PDF

Info

Publication number
JP7332486B2
JP7332486B2 JP2020001450A JP2020001450A JP7332486B2 JP 7332486 B2 JP7332486 B2 JP 7332486B2 JP 2020001450 A JP2020001450 A JP 2020001450A JP 2020001450 A JP2020001450 A JP 2020001450A JP 7332486 B2 JP7332486 B2 JP 7332486B2
Authority
JP
Japan
Prior art keywords
string
symbol
output
input
symbol string
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2020001450A
Other languages
English (en)
Other versions
JP2021111051A (ja
Inventor
智弘 山崎
快行 爰島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2020001450A priority Critical patent/JP7332486B2/ja
Priority to US17/004,069 priority patent/US11809831B2/en
Publication of JP2021111051A publication Critical patent/JP2021111051A/ja
Application granted granted Critical
Publication of JP7332486B2 publication Critical patent/JP7332486B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/53Processing of non-Latin text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/51Translation evaluation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/55Rule-based translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Description

本発明の実施形態は、記号列変換装置および記号列変換方法に関する。
アルファベットなどの文字列を、特定の言語の読みに変換する技術が開示されている。例えば、アルファベット文字列に対する英語発音表記の辞書と、英語発音表記に対応する日本語読みが対応付けられた規則データと、を用いて、アルファベット文字列の日本語読みを出力する技術が開示されている。また、Seq2Seq(sequence-to-sequence)の仕組みを用いることで、アライメント情報を用いずに直接的に英単語を構成する文字列を発音記号列に変換する方法が知られている。
特開2009-199434号公報
しかし、従来技術では、アルファベットなどの入力記号列に含まれるどの部分が、何れの発音表記に対応するか、を示すアライメント情報が事前に必要となる。このようなアライメント情報は自動的に推定することが難しい。また、Seq2Seqの仕組みを用いた場合であっても、変換精度にばらつきがあり、入力記号列から不自然な読みや発音などの出力記号列が出力される場合があった。すなわち、従来技術では、入力記号列に対応する出力記号列を精度良く特定することは困難であった。
実施形態の記号列変換装置は、生成部と、導出部と、特定部と、を備える。生成部は、入力記号と、前記入力記号を予め定めた変換条件に応じて変換した1または複数の出力記号と、を対応付けたルール情報に基づいて、1または複数の前記入力記号を含む入力記号列に対応する、1または複数の前記出力記号を含む複数の出力記号候補列を生成する。導出部は、複数の前記出力記号候補列の各々の信頼度を、学習モデルを用いて導出する。特定部は、最も高い信頼度の前記出力記号候補列を、前記入力記号列に対応する出力記号列として特定する。前記信頼度は、前記出力記号候補列と、前記入力記号列に対応する正解出力記号列と、の類似度である。
実施形態に係る記号列変換装置の機能的構成を示す模式図。 実施形態に係るルール情報のデータ構成を示す模式図。 実施形態に係る出力記号列の特定処理の流れを示す模式図。 実施形態に係る編集距離の説明図。 実施形態に係る関数の説明図。 実施形態に係る導出部の機能ブロック図。 実施形態に係る学習部の説明図。 実施形態に係る記号列変換処理の流れを示すフローチャート。 実施形態に係るハードウェア構成図。
以下に添付図面を参照して、記号列変換装置および記号列変換方法を詳細に説明する。
図1は、本実施形態の記号列変換装置10の機能的構成の一例を示す模式図である。
記号列変換装置10は、処理部20と、記憶部22と、通信部24と、UI(ユーザ・インターフェース)部26と、を備える。処理部20と、記憶部22と、通信部24と、UI部26とは、バス28を介してデータまたは信号を授受可能に接続されている。
なお、記憶部22、通信部24、およびUI部26の少なくとも1つと、処理部20とを、ネットワークを介して接続してもよい。すなわち、記憶部22、通信部24、およびUI部26の少なくとも1つを、記号列変換装置10に対してネットワークを介して接続された外部装置に設けてもよい。また、処理部20に含まれる後述する機能部の少なくとも1つを、該外部装置に設けた構成としてもよい。外部装置は、例えば、外部サーバなどである。
記憶部22は、各種データを記憶する。記憶部22は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、ハードディスク、光ディスク等である。なお、記憶部22は、記号列変換装置10の外部に設けられた記憶装置であってもよい。また、記憶部22は、記憶媒体であってもよい。具体的には、記憶媒体は、プログラムや各種情報を、LAN(Local Area Network)やインターネットなどを介してダウンロードして記憶または一時記憶したものであってもよい。また、記憶部22を、複数の記憶媒体から構成してもよい。
本実施形態では、記憶部22は、ルール情報22Aと、学習モデル22Bと、を記憶する。ルール情報22Aおよび学習モデル22Bの詳細は後述する。
通信部24は、ネットワークを介して外部装置と通信する。UI部26は、ユーザによる操作入力を受付ける機能、および、各種の情報を出力する機能を備える。
例えば、UI部26は、ディスプレイと、入力部と、を含む。ディスプレイは、各種の情報を表示する。ディスプレイは、例えば、公知の有機EL(Electro-Luminescence)ディスプレイ、LCD(Liquid Crystal Display、投影装置などである。入力部は、ユーザからの各種指示を受付ける。入力部は、例えば、キーボード、マウス、タッチパネル、マイクロフォン、などである。なお、UI部26を、入力機構と出力機構とを備えたタッチパネルで構成してもよい。また、UI部26は、更に、音声を出力するスピーカを含む構成であってもよい。
処理部20は、生成部20Aと、導出部20Bと、特定部20Cと、出力制御部20Dと、を備える。生成部20A、導出部20B、特定部20C、および出力制御部20Dの少なくとも1つは、例えば、1または複数のプロセッサにより実現される。例えば、上記各部は、CPU(Central Processing Unit)などのプロセッサにプログラムを実行させること、すなわちソフトウェアにより実現してもよい。上記各部は、専用のIC(Integrated Circuit)などのプロセッサ、すなわちハードウェアにより実現してもよい。上記各部は、ソフトウェアおよびハードウェアを併用して実現してもよい。複数のプロセッサを用いる場合、各プロセッサは、各部のうち1つを実現してもよいし、各部のうち2以上を実現してもよい。
生成部20Aは、ルール情報22Aに基づいて、入力記号列に対応する複数の出力記号候補列を生成する。ルール情報22Aの詳細は後述する。
入力記号列とは、記号列変換装置10で変換する対象の記号列である。入力記号列は、1または複数の入力記号から構成される。入力記号は、例えば、アルファベットなどの文字または記号である。
入力記号列は、例えば、表音文字列、表意文字および表語文字の少なくとも一方を含む文字列、表語文字を含む文字列、正規化前の文字列、などである。
表音文字列とは、表音文字の列である。表音文字とは、一つの文字で音素または音節を表す文字体系の文字である。表音文字列は、例えば、英語、タイ語、などの言語の文字列である。表音文字列を構成する1または複数の入力記号は、例えば、アルファベットなどである。
表意文字および表語文字の少なくとも一方を含む文字列とは、表意文字および表語文字の少なくとも一方を含む文字の列である。表意文字とは、ひとつひとつの文字が意味を表す文字体系の文字である。表意文字は、例えば、古代エジプト文字、などである。表語文字とは、一つ一つの文字によって、言語の一つ一つの語や形態素を表す文字体系の文字である。表語文字は、例えば、漢字などである。なお、漢字の一部は、表意文字に分類される場合がある。すなわち、表音文字および表語文字の少なくとも一方を含む文字列を構成する入力記号は、例えば、漢字、古代エジプト文字、などである。
正規化前の文字列とは、正解の文字列に正規化される前の文字列、または、意味を成す正しい文字の配列または正しい組合せに正規化される前の文字列である。正規化前の文字列は、例えば、表記揺れ、および、語形変化、の少なくとも一方を含む文字列である。正規化前の文字列を構成する入力記号は、例えば、数字、漢字、ひらがな、カタカナ、記号、などである。
出力記号候補列とは、入力記号列に対応する出力記号列の候補となる文字列である。出力記号列は、1または複数の出力記号から構成される。出力記号は、出力記号列を構成する文字または記号であり、出力記号列の種類によって異なる。
例えば、入力記号列が表音文字列である場合には、該入力記号列に対応する出力記号列は、音素列である。音素列は、例えば、表音文字列の発音である。また、入力記号列が表意文字および表語文字の少なくとも一方を含む文字列である場合には、該入力記号列に対応する出力記号列は、該文字列の読みを示す記号列である。文字列の読みは、文字列が日本語である場合には、漢字などを含む文字列の振り仮名であってもよい。
また、入力記号列が正規化前の文字列である場合には、出力記号列は正規化された文字列である。具体的には、正規化前の文字列が「got」である場合、正規化された文字列は、例えば、「get」である。
生成部20Aは、ルール情報22Aに基づいて、入力記号列に対応する出力記号の候補である複数の出力記号候補列を生成する。
ルール情報22Aは、入力記号と、該入力記号を予め定めた変換条件に応じて変換した1または複数の出力記号と、を対応付けたデータベースである。なお、ルール情報22Aのデータ形式は、データベースに限定されない。
図2は、ルール情報22Aのデータ構成の一例を示す模式図である。図2には、入力記号列が表音文字列であり出力記号列が発音の音素列である場合の、入力記号および出力記号の一例を示した。具体的には、図2には、入力記号がアルファベットであり、出力記号が発音記号である場合を一例として示した。発音記号は、発音の音素を表す出力記号の一例である。なお、図2には、入力記号が、フォニックスと称される綴り字である場合を一例として示した。
変換条件は、対応する入力記号を、対応する出力記号に変換するときの条件である。言い換えると、変換条件は、入力記号列に含まれる入力記号の各々に対して、前後にどのような他の入力記号があると、どのような出力記号が出力されるか、をルールとして規定したものである。
例えば、図2中に示される変換条件「後に子音+Eがある」は、対応する入力記号「A」を含む入力記号列における該「A」の後に子音と「E」が連続して配列されている場合に、出力記号として「ei」を出力することを意味している。
生成部20Aは、入力記号列を構成する複数の入力記号を先頭から順に読取り、変換条件に応じて変換することで、該入力列に対応する出力記号を含む出力記号列を生成する。先頭から順に読取る、とは、入力記号列の読み方向に沿って先頭から順に入力記号を読取る事を意味する。
なお、図2に示すように、ルール情報22Aには、1つの入力記号に対して、1または複数の変換条件が対応付けられている。
生成部20Aは、入力記号列を構成する入力記号を先頭から順に読取り、読取った入力記号を、ルール情報22Aを用いて、対応する1または複数の変換条件に応じて変換する。この変換処理により、生成部20Aは、入力記号列を構成する入力記号ごとに、1または複数の出力記号を得る。このため、生成部20Aは、1つの入力記号列から、変換条件の組合せの異なる複数の出力記号候補列を生成する。
例えば、入力記号列30が「BOOK」であった場合を想定する。この場合、ルール情報22Aに示すように、入力記号「B」に対応する出力記号は「b」である。入力記号「OO」に対応する出力記号は「u」または「u:」である。入力記号「K」に対応する出力記号は「k」である。このため、この場合、生成部20Aは、入力記号列30である「BOOK」から、複数の出力記号候補列32として、「buk」および「bu:k」を生成することとなる。
図1に戻り説明を続ける。導出部20Bは、複数の出力記号候補列の各々の信頼度を、学習モデル22Bを用いて導出する。特定部20Cは、最も高い信頼度の出力記号候補列を、入力記号列に対応する出力記号列として特定する。
図3は、処理部20による、入力記号列30から出力記号列36を特定する処理の流れの一例を示す模式図である。
生成部20Aは、ルール情報22Aを用いて入力記号列30から複数の出力記号候補列32を生成する(ステップS1,S2,S3)。図3には、1つの入力記号列30から3つの出力記号候補列32(出力記号候補列32A、出力記号候補列32B、出力記号候補列32C)を生成した場合を一例として示した。
導出部20Bは、複数の出力記号候補列32(出力記号候補列32A~出力記号候補列32C)の各々の信頼度34(信頼度34A~34C)を、学習モデル22Bを用いて導出する(ステップS4,S5,S6)。
特定部20Cは、複数の出力記号候補列32(出力記号候補列32A~出力記号候補列32C)の内、信頼度34の最も高い出力記号候補列32(例えば、出力記号候補列32A)を、出力記号列36として特定する(ステップS7,S8,S9)。
導出部20Bおよび特定部20Cについて詳細を説明する。
導出部20Bは、入力記号列30と出力記号候補列32との1対1の対からなる入力データから信頼度34を導出するための学習モデル22Bを用いて、信頼度34を導出する。
すなわち、学習モデル22Bは、入力記号列30と出力記号候補列32との1対1の対からなる入力データから、信頼度34を導出するためのニューラルネットワークモデルである。学習モデル22Bは、予め学習され、記憶部22に予め記憶されている。
信頼度34は、出力記号候補列32と正解出力記号列との類似度を示す。正解出力記号とは、入力記号列30に対応する正解の出力記号列である。
出力記号候補列32と正解出力記号列との類似度は、出力記号候補列32と正解出力記号列との距離が近いほど高い値である。距離としては、記号の並びの近さに基づく編集距離や音素・発音の近さに基づく音素距離などを用いることができる。本実施形態では、編集距離および音素距離は、出力記号候補列32と正解出力記号列とが完全一致する場合に“0”であり、完全一致する場合に“1”であり、不一致からら完全一致に近づくほど“0”に近づく値である。
また、本実施形態では、類似度の最小値は“0”であり、類似度の最大値が“1”である場合を一例として説明する。類似度の最小値は、非類似を示し、類似度の最大値は、完全に一致する場合を示す。
編集距離とは、出力記号候補列32正解出力記号列とがどの程度異なっているかを示す尺度である。
例えば、出力記号候補列32と正解出力記号列との編集距離は、含まれる出力記号同士の距離を表す。この場合、出力記号候補列32と正解出力記号列との編集距離は、出力記号候補列32を正解出力記号列に変換するために必要な文字(入力記号)の操作の回数を示す。文字の操作とは、挿入、削除、および置換の何れかを意味する。
図4は、出力記号候補列32と正解出力記号列との編集距離の一例の説明図である。例えば、出力記号候補列32が“kitten”であり、正解出力記号列が“sitting”である場合を想定する。
この場合の操作の回数は、“kitten”を“sitting”に変換するために必要な操作の回数は、1文字目の“k”を“s”に置換、5文字目の“e”を“i”に置換、7文字目に“g”を挿入、の合計3回である。このため、この場合、出力記号候補列32と正解出力記号列との編集距離は、“3”となる。
ここで、出力記号候補列32をSとし、その文字数をLen(S)、正解出力記号列をTとし、その文字数をLen(T)と仮定する。すると、SとTとの編集距離D(S,T)は、下記式(1)で表される。Sを1文字ずつ全て削除し、Tを1文字ずつ全て追加していくと、必ずSからTになるためである。
0≦D(S,T)≦Len(S)+Len(T) ・・・式(1)
式(1)中、D(S,T)は、出力記号候補列32と正解出力記号列との編集距離を表す。Len(S)およびLen(T)は、上記と同様である。
このため、上記式(1)が成り立つと仮定すると、類似度は、0以上1以下の範囲の値で表される。
C(S,T)=1-D(S,T)/(Len(S)+Len(T)) ・・・式(2)
上記式(2)中、C(S,T)は、出力記号候補列32と正解出力記号列との類似度を表す。
なお、編集距離は、出力記号候補列32と正解出力記号列との各々について、含まれる出力記号同士の距離を表す形態に限定されない。例えば、編集距離は、音節ごとの距離を表すものであってもよい。
一方、音素距離とは、音素の距離または発音の距離を表す。音素距離は、入力記号列30と出力記号候補列32との音素または発音がどの程度異なっているかを示す尺度である。例えば、出力記号候補列32と正解出力記号列との音素距離は、音の特徴量が近いほど小さい値であり、音の特徴量が遠いほど大きい値となる。例えば日本語のダ行音はラ行音に近いことが知られているが、一般的に音の特徴量は、公知の方法で導出される値であればよい。
また、出力記号候補列32と正解出力記号列との音素距離には、出力記号候補列32と正解出力記号列との各々の合成音声の、ユーザによる音の近さの入力結果を用いてもよい。この場合、導出部20Bは、出力記号候補列32と正解出力記号列との各々の合成音声をスピーカから出力すればよい。そして、導出部20Bは、ユーザによるUI部26の操作指示によって入力された音の近さの入力結果を、音素距離として用いればよい。なお、導出部20Bは、該入力結果が一致する音を示す場合を“0”とし、完全に不一致な音を示す場合を“1”とし、不一致から一致する音に近いほど“0”に近づく値に変換した値を、音素距離として用いればよい。
例えば、入力記号列30が「BOOK」であった場合を想定する。この場合、上述したように、生成部20Aは、ルール情報22Aを用いることで、入力記号列30である「BOOK」から、複数の出力記号候補列32として「buk」および「bu:k」を生成する。
ここで、入力記号列30「BOOK」に対する正解出力記号列は「buk」である。このめ、この場合、出力記号候補列32である「buk」の編集距離は“0”であり、上記式(2)から類似度は“1”となる。また、出力記号候補列32である「bu:k」の編集距離は、出力記号「:」のみが異なることから“1”である。この場合、出力記号候補列32である「bu:k」の類似度は、上記式(2)により、1-1/(3+4)=0.86となる。
なお、入力記号列30が正規化前の文字列であり、表記揺れを含む文字列である場合を想定する。この場合、出力記号候補列32と正解出力記号列との編集距離および音素距離として、例えば、出力記号候補列32と正解出力記号列との読みの近さ、または、異表記の近さを用いてもよい。
そして、導出部20Bは、類似度を、信頼度34として用いればよい。すなわち、学習モデル22Bは、入力記号列30の出力記号候補列32と、該入力記号列30の正解の出力記号列36である正解出力記号列と、の編集距離および音素距離の少なくとも一方が近いほど高い類似度を、信頼度34として導出するモデルであればよい。
なお、学習モデル22Bは、特有の関数を用いて類似度を変換した値を、信頼度34として導出するためのモデルであることが好ましい。
特有の関数は、上記類似度の変化率に対する信頼度34の変化率が、類似度が完全一致を示す値に近づくほど高くなる関数である。類似度が完全一致を示す値は、本実施形態では、“1”である。
図5は、特有の関数の一例である関数Xを示す線図の説明図である。図5中、横軸は、出力記号候補列32と正解出力記号列との類似度を示す。図5中、縦軸は、出力記号候補列32の信頼度34を示す。信頼度34“1”は、類似度“1”に対応する。類似度“1”とは、出力記号候補列32と正解出力記号列とが完全一致であることを意味する。
図5に示すように、関数Xは、類似度の変化率αに対する信頼度34の変化率αが、類似度が完全一致を示す“1”に近づくほど高くなる関数である。例えば、関数Xは、下記式(3)によって表される。
f(x)=(1024-1)/1023 ・・・式(3)
上記式(1)および式(2)を用いて類似度を算出した場合を想定する。上述したように、C(S,T)は類似度であり、D(S,T)は編集距離である。この場合、C(S,T)が“0”(すなわち、完全一致)の場合とD(S,T)が“1”(すなわち、1文字異なる場合)の場合との類似度の差と、D(S,T)が“1”の場合とD(S,T)が“2”の場合との類似度の差と、が等しくなってしまう。このような場合であっても、関数Xを用いて類似度を補正した値を信頼度34として用いることで、近似する類似度の値を、より差のある値である信頼度34に補正することができる。
このため、出力記号候補列32の信頼度34は、出力記号候補列32の正解出力記号列との類似度が高いほど、少しの類似度の変化で大きな差を示す値となる。このため、導出部20Bは、正解出力記号列との類似度の高い複数の出力記号候補列32を、より弁別しやすい信頼度34で表すことが可能となる。
例えば、入力記号列30が「BOOK」であった場合を想定する。この場合、上述したように、生成部20Aは、ルール情報22Aを用いることで、入力記号列30である「BOOK」から、複数の出力記号候補列32として「buk」および「bu:k」を生成する。また、上述したように、「buk」の類似度は“1”であり、「bu:k」の類似度は“0.86”である。
そして、上記関数Xを適用することで、「buk」の信頼度34として“1”が導出され、「bu:k」の信頼度34として“0.37”が導出されることとなる。
このため、導出部20Bは、解出力記号列との類似度が完全一致する出力記号候補列32と、完全一致しない出力記号候補列32と、を正確に区別可能な信頼度34を導出することができる。また、導出部20Bは、記号列変換装置10は、正解出力記号列との類似度がより高い出力記号候補列32について、他の出力記号候補列32と容易に区別可能な信頼度34を導出することができる。
図1に戻り説明を続ける。導出部20Bは、入力記号列30と出力記号候補列32との1対1の対からなる入力データと、学習モデル22Bと、を用いて、信頼度34を導出する。
図6は、導出部20Bの一例を示す機能ブロック図である。
導出部20Bは、第1エンコード部40Aと、第2エンコード部40Bと、信頼度推定部40Cと、を備える。
第1エンコード部40Aは、入力記号列30をエンコードする再帰型ニューラルネットワーク(Recurrent Neural Network:RNN)である。第1エンコード部40Aは、入力記号列30をエンコードし、エンコード結果を信頼度推定部40Cへ出力する。入力記号列30のエンコード結果は、例えば、ベクトル表現の数値列によって表される。
第2エンコード部40Bは、出力記号候補列32をエンコードするRNNである。第2エンコード部40Bは、出力記号候補列32をエンコードし、エンコード結果を信頼度推定部40Cへ出力する。出力記号候補列32のエンコード結果は、例えば、ベクトル表現の数値列によって表される。
信頼度推定部40Cは、入力記号列30のエンコード結果と、出力記号候補列32のエンコード結果と、学習モデル22Bと、を用いて、出力記号候補列32の信頼度34を導出する。すなわち、信頼度推定部40Cは、入力記号列30のエンコード結果と、出力記号候補列32のエンコード結果と、を入力データとして学習モデル22Bへ入力することで、学習モデル22Bからの出力データとして信頼度34を導出する。
図3に戻り説明を続ける。特定部20Cは、生成部20Aで生成された複数の出力記号候補列32(出力記号候補列32A~出力記号候補列32C)の内、導出部20Bで導出された信頼度34(信頼度34A~信頼度34C)の最も高い出力記号候補列32を特定する。図3に示す例の場合、特定部20Cは、出力記号候補列32A~出力記号候補列32Cの内、信頼度34の最も高い出力記号候補列32Aを特定する。そして、特定部20Cは、特定した出力記号候補列32Aを、入力記号列30に対応する出力記号列36として特定する。
図1に戻り説明を続ける。出力制御部20Dは、特定部20Cによって特定された出力記号列36を、UI部26へ出力する。UI部26は、特定された出力記号列36を表示する。このため、出力制御部20Dは、入力記号列30に対応する高精度な出力記号列36を、ユーザに提供することができる。
なお、出力制御部20Dは、特定部20Cによって特定された出力記号列36を、通信部24を介して外部装置へ出力してもよい。この場合、出力制御部20Dは、入力記号列30に対応する高精度な出力記号列36を、外部装置へ提供することができる。
また、出力制御部20Dは、特定部20Cによって特定された出力記号列36を、記憶部22へ記憶してもよい。
次に、学習モデル22Bの学習について説明する。上述したように、学習モデル22Bは予め学習され、予め記憶部22に記憶されている。学習モデル22Bは、記号列変換装置10で予め学習してもよい。例えば、導出部20Bを学習部として機能させてもよい。
図7は、学習部21Bの一例の説明図である。本実施形態では、学習モデル22Bの学習時に、導出部20Bが学習部21Bとして機能する形態を一例として説明する。
学習部21Bは、第1エンコード部40Aと、第2エンコード部40Bと、信頼度推定部40Cと、を備える。第1エンコード部40A、第2エンコード部40B、および信頼度推定部40Cは、上記と同様である。
但し、学習モデル22Bの学習時には、入力記号列30と出力記号候補列32との対として、教師データとなる入力記号列30と出力記号候補列32との対を複数用いる。教師データとなる対とは、真の信頼度が予め導出済の出力記号候補列32を含む対である。真の信頼度とは、該出力記号候補列32の正解の信頼度である。そして、信頼度推定部40Cは、以下の処理を実行する。
詳細には、信頼度推定部40Cは、入力記号列30のエンコード結果と、出力記号候補列32のエンコード結果と、生成済の学習モデル22Bと、を用いて、出力記号候補列32の信頼度34を仮の信頼度34として導出する。
そして、信頼度推定部40Cは、導出した仮の信頼度34が、該出力記号候補列32の真の信頼度となるように、出力記号候補列32のエンコード結果を調整する。
更に、信頼度推定部40Cは、入力記号列30のエンコード結果と、調整された出力記号候補列32のエンコード結果と、導出した仮の信頼度34と、真の信頼度と、を用いて学習モデル22Bの重み値を更新する。この更新処理によって、学習部21Bは、学習モデル22Bを学習する。学習モデル22Bの学習には、公知の学習方法を用いればよい。
なお、学習部21Bを、導出部20Bとは別体として構成してもよい。この場合、記号列変換装置10は、学習部21Bを更に備えた構成とすればよい。また、学習部21Bは、外部装置に設けられた構成であってもよい。
次に、本実施形態の記号列変換装置10が実行する記号列変換処理の流れの一例を説明する。
図8は、記号列変換装置10が実行する記号列変換処理の流れの一例を示す、フローチャートである。
生成部20Aが、記号列変換対象の入力記号列30を取得する(ステップS100)。例えば、生成部20Aは、記憶部22から入力記号列30を取得する。なお、生成部20Aは、通信部24を介して外部装置から入力記号列30を取得してもよい。
次に、生成部20Aは、ルール情報22Aを用いて、ステップS100で取得した入力記号列30から複数の出力記号候補列32を生成する(ステップS102)。
導出部20Bは、ステップS102で生成された複数の出力記号候補列32の各々の信頼度34を、学習モデル22Bを用いて導出する(ステップS104)。
特定部20Cは、ステップS102で生成された複数の出力記号候補列32の内、ステップS104で導出された信頼度34の最も高い出力記号候補列32を、出力記号列36として特定する(ステップS106)。
出力制御部20Dは、ステップS106で特定された出力記号列36をUI部26または外部装置へ出力する(ステップS108)。そして、本ルーチンを終了する。
以上説明したように、本実施形態の記号列変換装置10は、生成部20Aと、導出部20Bと、特定部20Cと、を備える。生成部20Aは、入力記号と、入力記号を予め定めた変換条件に応じて変換した1または複数の出力記号と、を対応付けたルール情報22Aに基づいて、1または複数の入力記号を含む入力記号列30に対応する、1または複数の出力記号を含む複数の出力記号候補列32を生成する。導出部20Bは、複数の出力記号候補列32の各々の信頼度34を、学習モデル22Bを用いて導出する。特定部20Cは、最も高い信頼度34の出力記号候補列32を、入力記号列30に対応する出力記号列36として特定する。
ここで、従来技術では、入力記号列30に対して不自然な出力記号列が特定される場合があった。
例えば、従来技術では、アルファベットなどの入力記号列に含まれるどの部分が、何れの発音表記に対応するか、を示すアライメント情報が事前に必要であった。このようなアライメント情報は自動的に推定することが難しい。このため、従来技術では、入力記号列に対して、不自然な日本語読みなどの出力記号列が出力される場合があった。
また、近年、ニューラルネットワークに入出力のペアを大量に与えて学習させることで、書記素分割を行なわずに、入力記号列30から出力記号列を特定する試みが知られている。具体的には、ディープラーニングの自然言語処理で用いられるSeq2Seqの仕組みを用いることで、アライメント情報を用いずに直接的に英単語を構成する文字列を発音記号列に変換する方法が知られている。
しかし、Seq2Seqの仕組みを用いた場合であっても、変換精度にばらつきがあり、入力記号列30から不自然な出力記号列が出力される場合があった。
一方、本実施形態の記号列変換装置10は、ルール情報22Aを用いて、入力記号列30から複数の出力記号候補列32を生成する。そして、記号列変換装置10は、複数の出力記号候補列32の各々の信頼度34を、学習モデル22Bを用いて導出する。そして、記号列変換装置10は、最も信頼度34の高い出力記号候補列32を、出力記号列36として特定する。
このように、本実施形態の記号列変換装置10は、ルール情報22Aを用いて、1つの入力記号列30から複数の出力記号候補列32を生成する。そして、記号列変換装置10は、これらの複数の出力記号候補列32の各々と正解出力記号列との類似度を反映した信頼度34を、学習モデル22Bを用いて導出する。そして、記号列変換装置10は、最も信頼度34の高い1つの出力記号候補列32を、出力記号列36として特定する。
このため、本実施形態の記号列変換装置10は、複数の出力記号候補列32の内、最も尤度の高い出力記号候補列32を、出力記号列36として特定することができる。よって、記号列変換装置10は、入力記号列30に対して不自然な、読み、発音、正規化された文字列、などの出力記号列36が特定されることを抑制することができる。
従って、本実施形態の記号列変換装置10は、入力記号列30に対応する出力記号列36を精度良く特定することができる。
具体的には、本実施形態の記号列変換装置10は、英語やタイ語などの表音文字からなる入力記号列30に対して、発音などの出力記号列36を高精度に特定することができる。また、本実施形態の記号列変換装置10は、表記揺れ、または、語形変化などを含む正規化前の文字列である入力記号列30に対して、表記揺れまたは語形変化を含まない正解の文字列である出力記号列36を高精度に特定することができる。
また、本実施形態の記号列変換装置10は、特有の関数Xを用いて類似度を変換した値を、信頼度34として導出する学習モデル22Bを用いることができる。図5を用いて説明したように、関数Xは、類似度の変化率に対する信頼度34の変化率が、類似度が完全一致を示す値に近づくほど高くなる関数である。
このため、本実施形態の記号列変換装置10は、正解出力記号列との類似度が完全一致する出力記号候補列32と、完全一致しない出力記号候補列32と、を正確に区別可能な信頼度34を導出することができる。このため、記号列変換装置10は、正解出力記号列に完全一致する出力記号候補列32を、出力記号列36として高精度に特定することができる。また、記号列変換装置10は、より類似度の高い出力記号候補列32を、高精度に出力記号列36として特定することができる。
次に、上記実施形態における記号列変換装置10の、ハードウェア構成の一例を説明する。
図9は、上記実施形態に係る記号列変換装置10の、ハードウェア構成図の一例である。
記号列変換装置10は、CPU52などの制御装置と、ROM(Read Only Memory)54やRAM(Random Access Memory)56やHDD(ハードディスクドライブ)58などの記憶装置と、各種機器とのインターフェースであるI/F部50と、各部を接続するバス60とを備えており、通常のコンピュータを利用したハードウェア構成となっている。
記号列変換装置10では、CPU52が、ROM54からプログラムをRAM56上に読み出して実行することにより、上記各部がコンピュータ上で実現される。
なお、記号列変換装置10で実行される上記各処理を実行するためのプログラムは、HDD58に記憶されていてもよい。また、記号列変換装置10で実行される上記各処理を実行するためのプログラムは、ROM54に予め組み込まれて提供されていてもよい。
また、記号列変換装置10で実行される上記処理を実行するためのプログラムは、インストール可能な形式または実行可能な形式のファイルでCD-ROM、CD-R、メモリカード、DVD(Digital Versatile Disk)、フレキシブルディスク(FD)等のコンピュータで読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されるようにしてもよい。また、記号列変換装置10で実行される上記処理を実行するためのプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、記号列変換装置10で実行される上記処理を実行するためのプログラムを、インターネットなどのネットワーク経由で提供または配布するようにしてもよい。
なお、上記には、本発明の実施形態を説明したが、上記実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10 記号列変換装置
20A 生成部
20B 導出部
20C 特定部
22A ルール情報
22B 学習モデル

Claims (7)

  1. 入力記号と、前記入力記号を予め定めた変換条件に応じて変換した1または複数の出力記号と、を対応付けたルール情報に基づいて、1または複数の前記入力記号を含む入力記号列に対応する、1または複数の前記出力記号を含む複数の出力記号候補列を生成する生成部と、
    複数の前記出力記号候補列の各々の信頼度を、学習モデルを用いて導出する導出部と、
    最も高い信頼度の前記出力記号候補列を、前記入力記号列に対応する出力記号列として特定する特定部と、
    を備え
    前記信頼度は、
    前記出力記号候補列と、前記入力記号列に対応する正解出力記号列と、の類似度である、
    記号列変換装置。
  2. 前記導出部は、
    前記入力記号列と前記出力記号候補列との対からなる入力データから前記信頼度を導出するための前記学習モデルを用いて、前記信頼度を導出する、
    請求項1に記載の記号列変換装置。
  3. 前記類似度は、
    前記出力記号候補列と前記正解出力記号列との編集距離および音素距離の少なくとも一方が近いほど高い、
    請求項1または請求項2に記載の記号列変換装置。
  4. 前記学習モデルは、
    前記類似度の変化率に対する前記信頼度の変化率が、前記類似度が完全一致を示す値に近づくほど高くなる関数を用いて、前記類似度を変換した値を、前記信頼度として導出するためのモデルである、
    請求項1~請求項3の何れか1項に記載の記号列変換装置。
  5. 前記学習モデルを学習する学習部を備える、
    請求項1~請求項の何れか1項に記載の記号列変換装置。
  6. 前記入力記号列と該入力記号列に対応する前記出力記号列とは、表音文字列と音素列、表意文字および表語文字の少なくとも一方を含む文字列と該文字列の読みを示す記号列、正規化前の文字列と正規化された文字列、である、
    請求項1~請求項の何れか1項に記載の記号列変換装置。
  7. コンピュータによって実行される記号列変換方法であって、
    入力記号と、前記入力記号を予め定めた変換条件に応じて変換した1または複数の出力記号と、を対応付けたルール情報に基づいて、1または複数の前記入力記号を含む入力記号列に対応する、1または複数の前記出力記号を含む複数の出力記号候補列を生成するステップと、
    複数の前記出力記号候補列の各々の信頼度を、学習モデルを用いて導出するステップと、
    最も高い信頼度の前記出力記号候補列を、前記入力記号列に対応する出力記号列として特定するステップと、
    を含み、
    前記信頼度は、前記出力記号候補列と、前記入力記号列に対応する正解出力記号列と、の類似度である、
    記号列変換方法。
JP2020001450A 2020-01-08 2020-01-08 記号列変換装置および記号列変換方法 Active JP7332486B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020001450A JP7332486B2 (ja) 2020-01-08 2020-01-08 記号列変換装置および記号列変換方法
US17/004,069 US11809831B2 (en) 2020-01-08 2020-08-27 Symbol sequence converting apparatus and symbol sequence conversion method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020001450A JP7332486B2 (ja) 2020-01-08 2020-01-08 記号列変換装置および記号列変換方法

Publications (2)

Publication Number Publication Date
JP2021111051A JP2021111051A (ja) 2021-08-02
JP7332486B2 true JP7332486B2 (ja) 2023-08-23

Family

ID=76655508

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020001450A Active JP7332486B2 (ja) 2020-01-08 2020-01-08 記号列変換装置および記号列変換方法

Country Status (2)

Country Link
US (1) US11809831B2 (ja)
JP (1) JP7332486B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005092682A (ja) 2003-09-19 2005-04-07 Nippon Hoso Kyokai <Nhk> 翻字装置、及び翻字プログラム
JP2010009329A (ja) 2008-06-27 2010-01-14 Internatl Business Mach Corp <Ibm> 文字列変換を行う情報処理装置、文字列変換方法、プログラム、および情報処理システム
JP2015169947A (ja) 2014-03-04 2015-09-28 日本電信電話株式会社 モデル学習装置、形態素解析装置、及び方法
US20160179774A1 (en) 2014-12-18 2016-06-23 International Business Machines Corporation Orthographic Error Correction Using Phonetic Transcription
US20180308003A1 (en) 2017-04-21 2018-10-25 Pranjal Singh Hybrid approach to approximate string matching using machine learning

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7403888B1 (en) * 1999-11-05 2008-07-22 Microsoft Corporation Language input user interface
US20030088416A1 (en) * 2001-11-06 2003-05-08 D.S.P.C. Technologies Ltd. HMM-based text-to-phoneme parser and method for training same
EP1618556A1 (en) * 2003-04-30 2006-01-25 Loquendo S.p.A. Grapheme to phoneme alignment method and relative rule-set generating system
US7418387B2 (en) * 2004-11-24 2008-08-26 Microsoft Corporation Generic spelling mnemonics
JP4961755B2 (ja) * 2006-01-23 2012-06-27 富士ゼロックス株式会社 単語アライメント装置、単語アライメント方法、単語アライメントプログラム
US7831911B2 (en) * 2006-03-08 2010-11-09 Microsoft Corporation Spell checking system including a phonetic speller
JP2009199434A (ja) 2008-02-22 2009-09-03 Mitsubishi Electric Corp アルファベット文字列日本語読み変換装置及びアルファベット文字列日本語読み変換プログラム
US8615388B2 (en) * 2008-03-28 2013-12-24 Microsoft Corporation Intra-language statistical machine translation
US10049655B1 (en) * 2016-01-05 2018-08-14 Google Llc Biasing voice correction suggestions
KR20210016767A (ko) * 2019-08-05 2021-02-17 삼성전자주식회사 음성 인식 방법 및 음성 인식 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005092682A (ja) 2003-09-19 2005-04-07 Nippon Hoso Kyokai <Nhk> 翻字装置、及び翻字プログラム
JP2010009329A (ja) 2008-06-27 2010-01-14 Internatl Business Mach Corp <Ibm> 文字列変換を行う情報処理装置、文字列変換方法、プログラム、および情報処理システム
JP2015169947A (ja) 2014-03-04 2015-09-28 日本電信電話株式会社 モデル学習装置、形態素解析装置、及び方法
US20160179774A1 (en) 2014-12-18 2016-06-23 International Business Machines Corporation Orthographic Error Correction Using Phonetic Transcription
US20180308003A1 (en) 2017-04-21 2018-10-25 Pranjal Singh Hybrid approach to approximate string matching using machine learning

Also Published As

Publication number Publication date
US11809831B2 (en) 2023-11-07
JP2021111051A (ja) 2021-08-02
US20210209314A1 (en) 2021-07-08

Similar Documents

Publication Publication Date Title
JP7280382B2 (ja) 数字列のエンドツーエンド自動音声認識
JP6251958B2 (ja) 発話解析装置、音声対話制御装置、方法、及びプログラム
KR20230009564A (ko) 앙상블 스코어를 이용한 학습 데이터 교정 방법 및 그 장치
JP7190283B2 (ja) 音声認識結果整形モデル学習装置およびそのプログラム
US11694028B2 (en) Data generation apparatus and data generation method that generate recognition text from speech data
Rajendran et al. A robust syllable centric pronunciation model for Tamil text to speech synthesizer
Baby et al. Non-native english lexicon creation for bilingual speech synthesis
JP7332486B2 (ja) 記号列変換装置および記号列変換方法
Route et al. Multimodal, multilingual grapheme-to-phoneme conversion for low-resource languages
JP2023093349A (ja) 情報処理装置及び情報処理方法
JP2016161765A (ja) 発音系列拡張装置およびそのプログラム
US11080488B2 (en) Information processing apparatus, output control method, and computer-readable recording medium
Chowdhury et al. Bangla grapheme to phoneme conversion using conditional random fields
Kabra et al. Auto spell suggestion for high quality speech synthesis in hindi
JP2009199434A (ja) アルファベット文字列日本語読み変換装置及びアルファベット文字列日本語読み変換プログラム
JP2021089300A (ja) 多言語音声認識およびテーマ−意義素解析方法および装置
Saychum et al. Efficient Thai Grapheme-to-Phoneme Conversion Using CRF-Based Joint Sequence Modeling.
US20180033425A1 (en) Evaluation device and evaluation method
JP4226942B2 (ja) アクセント位置推定方法、装置およびプログラム
JP2024017194A (ja) 音声合成装置、音声合成方法およびプログラム
JP2013175067A (ja) 自動読み付与装置及び自動読み付与方法
US11893349B2 (en) Systems and methods for generating locale-specific phonetic spelling variations
CN113811946B (zh) 数字序列的端到端自动语音识别
Adnew et al. Semantically Corrected Amharic Automatic Speech Recognition
O’Neil et al. Comparing methods of orthographic conversion for Bàsàá, a language of Cameroon

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230424

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230718

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230810

R151 Written notification of patent or utility model registration

Ref document number: 7332486

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151