IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社東芝の特許一覧 ▶ 東芝ソリューション株式会社の特許一覧

特許7438744情報処理装置、情報処理方法、およびプログラム
<>
  • 特許-情報処理装置、情報処理方法、およびプログラム 図1
  • 特許-情報処理装置、情報処理方法、およびプログラム 図2
  • 特許-情報処理装置、情報処理方法、およびプログラム 図3
  • 特許-情報処理装置、情報処理方法、およびプログラム 図4
  • 特許-情報処理装置、情報処理方法、およびプログラム 図5
  • 特許-情報処理装置、情報処理方法、およびプログラム 図6
  • 特許-情報処理装置、情報処理方法、およびプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-16
(45)【発行日】2024-02-27
(54)【発明の名称】情報処理装置、情報処理方法、およびプログラム
(51)【国際特許分類】
   G10L 15/08 20060101AFI20240219BHJP
   G10L 15/10 20060101ALI20240219BHJP
   G06V 30/24 20220101ALI20240219BHJP
   G10L 15/16 20060101ALI20240219BHJP
   G10L 15/06 20130101ALI20240219BHJP
【FI】
G10L15/08 300Z
G10L15/10 300F
G06V30/24
G10L15/16
G10L15/06 300C
【請求項の数】 13
(21)【出願番号】P 2019228171
(22)【出願日】2019-12-18
(65)【公開番号】P2021096378
(43)【公開日】2021-06-24
【審査請求日】2022-11-25
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(73)【特許権者】
【識別番号】301063496
【氏名又は名称】東芝デジタルソリューションズ株式会社
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】田中 遼平
【審査官】菊池 智紀
(56)【参考文献】
【文献】特開2018-081546(JP,A)
【文献】国際公開第2019/001428(WO,A1)
【文献】田中遼平 他,"CTC-VATのための高速事後分布平滑化手法及びその文字列認識への応用",電子情報通信学会技術研究報告,2018年12月06日,Vol.118, No.362,pp.29-34
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-15/34
G06V 30/00-30/424
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
クラスごとのスコアを有するカテゴリカル分布を複数並べて成るカテゴリカル分布列を取得し、前記カテゴリカル分布列に含まれる前記カテゴリカル分布ごとに、当該カテゴリカル分布に基づいてリジェクトクラスのスコアを求めることによってリジェクトクラスを追加するリジェクトクラス追加部と、
前記リジェクトクラスを追加した後の前記カテゴリカル分布列に基づいて、前記カテゴリカル分布列に対応するラベル列候補の尤度を計算し、前記ラベル列候補の尤度に応じて複数の前記ラベル列候補の中からラベル列を選択するラベル列選択部と、
選択された前記ラベル列を出力する出力部と、
を備える情報処理装置。
【請求項2】
前記クラスは、ブランクに対応するブランククラスと、リジェクトに対応するリジェクトクラスと、その他の通常クラスとを含むものであり、
前記ブランククラスは、ブランクラベルに対応し、
前記リジェクトクラスは、リジェクトラベルに対応し、
前記通常クラスの各々は、それぞれの通常ラベルに対応し、
前記ラベル列選択部は、前記カテゴリカル分布列が有する前記クラスの前記尤度に基づいて、第1ラベル列ごとの第1ラベル列尤度を求めるものであり、
前記ラベル列選択部は、前記第1ラベル列に所定のマッピング関数を適用した結果を第2ラベル列として、前記マッピング関数によって前記第2ラベル列に対応付けられる前記第1ラベル列の前記第1ラベル列尤度に基づいて、前記第2ラベル列ごとの第2ラベル列尤度を求めるものであり、
前記ラベル列選択部は、前記第2ラベル列を前記ラベル列候補として、前記第2ラベル列尤度に基づいて前記第2ラベル列の中から前記ラベル列を選択する、
請求項1に記載の情報処理装置。
【請求項3】
前記マッピング関数は、
前記第1ラベル列から前記ブランクラベルを削除し、
前記第1ラベル列内に連続する同一のラベルが存在する場合には当該連続する同一のラベルを1個だけの当該ラベルで置換し、
前記第1ラベル列内に通常ラベルとリジェクトラベルとが連続する箇所がある場合には当該通常ラベルと当該リジェクトラベルのいずれが他方に先行するかに関わらず当該リジェクトラベルを削除して当該通常ラベルを残す、
操作、
を行うものであり、当該操作の結果を前記第2ラベル列とする関数である、
請求項2に記載の情報処理装置。
【請求項4】
前記マッピング関数は、
前記第1ラベル列から前記ブランクラベルを削除し、
前記第1ラベル列内に連続する同一のラベルが存在する場合には当該連続する同一のラベルを1個だけの当該ラベルで置換する、
操作、
を行うものであり、当該操作の結果を前記第2ラベル列とする関数であって、
前記第1ラベル列内に通常ラベルとリジェクトラベルとが連続する箇所がある場合には当該通常ラベルと当該リジェクトラベルのいずれが他方に先行するかに関わらず、除外対象ラベル列を前記第2ラベル列とする関数である、
請求項2に記載の情報処理装置。
【請求項5】
前記クラスは、ブランクに対応するブランククラスと、リジェクトに対応するリジェクトクラスと、その他の通常クラスとを含むものであり、
前記ブランククラスは、ブランクラベルに対応し、
前記リジェクトクラスは、リジェクトラベルに対応し、
前記通常クラスの各々は、それぞれの通常ラベルに対応し、
前記ラベル列選択部は、前記カテゴリカル分布列が有する前記クラスの前記尤度に基づいて、第1ラベル列ごとの第1ラベル列尤度を求めるものであり、
前記ラベル列選択部は、前記第1ラベル列尤度に応じて複数の前記第1ラベル列の中から所定数の前記第1ラベル列を選択し、選択された前記第1ラベル列に所定のマッピング関数を適用した結果である第2ラベル列を、前記ラベル列として選択するものであり、
前記マッピング関数は、
前記第1ラベル列から前記ブランクラベルを削除し、
前記第1ラベル列内に連続する同一のラベルが存在する場合には当該連続する同一のラベルを1個だけの当該ラベルで置換する、
操作、
を行うものであり、当該操作の結果を前記第2ラベル列とする関数である、
請求項1に記載の情報処理装置。
【請求項6】
前記リジェクトクラス追加部は、前記カテゴリカル分布内の第1位候補であるクラスのスコアに対して広義単調減少となる値を、前記リジェクトクラスのスコアとする、
請求項1から5までのいずれか一項に記載の情報処理装置。
【請求項7】
前記リジェクトクラス追加部は、前記カテゴリカル分布内の第1位候補であるクラスのスコアが所定の閾値(θ)以上である場合には前記リジェクトクラスのスコアをすべてのクラスのスコアの中の最低値とし、前記カテゴリカル分布内の第1位候補であるクラスのスコアが当該閾値(θ)未満である場合には前記リジェクトクラスのスコアを前記最低値以外の所定の値とする、
請求項6に記載の情報処理装置。
【請求項8】
前記リジェクトクラス追加部は、前記カテゴリカル分布内の第1位候補であるクラスの第1位スコアと当該カテゴリカル分布内の第2位候補であるクラスの第2位スコアとの差が所定の閾値(θ)以上である場合には前記リジェクトクラスのスコアをすべてのクラスのスコアの中の最低値とし、前記カテゴリカル分布内の第1位候補であるクラスの第1位スコアと当該カテゴリカル分布内の第2位候補であるクラスの第2位スコアとの差が所定の閾値(θ)未満である場合には前記リジェクトクラスのスコアを前記最低値以外の所定の値とする、
請求項1から5までのいずれか一項に記載の情報処理装置。
【請求項9】
前記リジェクトクラス追加部は、前記カテゴリカル分布内の第1位候補であるクラスのスコアが所定の閾値(θ)以上である場合、または、当該第1位候補であるクラスがブランクに対応するブランククラスではない場合には、前記リジェクトクラスのスコアを、すべてのクラスのスコアの中の最低値とする、
請求項6に記載の情報処理装置。
【請求項10】
前記カテゴリカル分布列に含まれる隣接し合う前記カテゴリカル分布間での変化を平滑化する平滑化部、
をさらに備える請求項1から9までのいずれか一項に記載の情報処理装置。
【請求項11】
前記平滑化部は、クラスごとのスコアの値についてカテゴリカル分布列内の列の方向のガウシアンフィルタの処理を適用する、
請求項10に記載の情報処理装置。
【請求項12】
情報処理装置が備えるリジェクトクラス追加部が、クラスごとのスコアを有するカテゴリカル分布を複数並べて成るカテゴリカル分布列を取得し、前記カテゴリカル分布列に含まれる前記カテゴリカル分布ごとに、当該カテゴリカル分布に基づいてリジェクトクラスのスコアを求めることによってリジェクトクラスを追加するリジェクトクラス追加過程と、
前記情報処理装置が備えるラベル列選択部が、前記リジェクトクラスを追加した後の前記カテゴリカル分布列に基づいて、前記カテゴリカル分布列に対応するラベル列候補の尤度を計算し、前記ラベル列候補の尤度に応じて複数の前記ラベル列候補の中からラベル列を選択するラベル列選択過程と、
前記情報処理装置が備える出力部が、選択された前記ラベル列を出力する出力過程と、
を含む情報処理方法。
【請求項13】
クラスごとのスコアを有するカテゴリカル分布を複数並べて成るカテゴリカル分布列を取得し、前記カテゴリカル分布列に含まれる前記カテゴリカル分布ごとに、当該カテゴリカル分布に基づいてリジェクトクラスのスコアを求めることによってリジェクトクラスを追加するリジェクトクラス追加過程と、
前記リジェクトクラスを追加した後の前記カテゴリカル分布列に基づいて、前記カテゴリカル分布列に対応するラベル列候補の尤度を計算し、前記ラベル列候補の尤度に応じて複数の前記ラベル列候補の中からラベル列を選択するラベル列選択過程と、
選択された前記ラベル列を出力する出力過程と、
の処理をコンピューターに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置、情報処理方法、およびプログラムに関する。
【背景技術】
【0002】
系列単位での認識処理の技術が用いられている。具体的には、コネクショニスト・テンポラル・クラシフィケーション(CTC)といった手法が用いられている。系列単位で認識を行うことにより、系列を構成する記号単位で認識を行う場合よりも高い精度が得られる。これは、記号単位での特徴のみに頼るのではなく、系列としての特徴を利用した認識処理を行えるためである。従来の系列単位での認識処理の技術において、認識処理結果の信頼度が低い場合等に、その認識処理結果をリジェクト(棄却)することは行われていた。しかしながら、系列単位での認識処理においてリジェクトする対象は系列全体であった。このような従来技術では、系列内の一部分のみの信頼度が低い場合にも、その系列全体をリジェクトする必要があった。つまり、認識処理の過程で得られた情報を部分的に有効活用することができないという問題があった。
【先行技術文献】
【特許文献】
【0003】
【文献】国際公開第2018/216511号
【文献】特許第3533773号公報
【文献】特許第2658104号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明が解決しようとする課題は、系列単位での認識処理において、系列内の部分のみをリジェクトすることができる情報処理装置、情報処理方法、およびプログラムを提供することである。
【課題を解決するための手段】
【0005】
実施形態の情報処理装置は、リジェクトクラス追加部と、ラベル列選択部と、出力部とを持つ。リジェクトクラス追加部は、クラスごとのスコアを有するカテゴリカル分布を複数並べて成るカテゴリカル分布列を取得し、前記カテゴリカル分布列に含まれる前記カテゴリカル分布ごとに、当該カテゴリカル分布に基づいてリジェクトクラスのスコアを求めることによってリジェクトクラスを追加するラベル列選択部は、前記リジェクトクラスを追加した後の前記カテゴリカル分布列に基づいて、前記カテゴリカル分布列に対応するラベル列候補の尤度を計算し、前記ラベル列候補の尤度に応じて複数の前記ラベル列候補の中からラベル列を選択する。出力部は、選択された前記ラベル列を出力する。
【図面の簡単な説明】
【0006】
図1】第1の実施形態による情報処理装置の概略機能構成を示すブロック図。
図2】第1の実施形態による情報処理装置の処理手順を示すフローチャート。
図3】第1の実施形態の情報処理装置に入力されるカテゴリカル分布列の一例を示すグラフであり、横軸がタイムステップで、縦軸が尤度。
図4】第1の実施形態(基本形)の情報処理装置による処理を行った結果を示すグラフであり、横軸がタイムステップで、縦軸が尤度。
図5】第1の実施形態(第4の変形例)の情報処理装置による処理を行った結果を示すグラフであり、横軸がタイムステップで、縦軸が尤度。
図6】第2の実施形態による情報処理装置の概略機能構成を示すブロック図。
図7】第2の実施形態による情報処理装置の処理手順を示すフローチャート。
【発明を実施するための形態】
【0007】
以下、実施形態の情報処理装置、情報処理方法、およびプログラムを、図面を参照して説明する。
【0008】
(第1の実施形態)
本実施形態の情報処理装置は、CTCを用いた系列認識問題の認識結果を求める。CTCは、コネクショニスト・テンポラル・クラシフィケーション(Connectionist Temporal Classification)を表す。系列認識問題の具体例は、音声認識、文字列認識、ジェスチャー認識などといった認識処理を含む。本実施形態の情報処理装置は、これらのすべての系列認識問題に適用可能である。例えば、音声認識は、音声を入力して、その音声に対応するテキスト(文字列)を出力する処理である。また、例えば、文字列認識は、手書きの文字の列あるいは所定のフォントを用いて印刷された文字の列の画像を入力して、その画像に対応するテキスト(文字列)を出力する処理である。また、例えば、ジェスチャー認識は、人のジェスチャーを検知するセンサ(例えば、タッチパネルや、加速度センサ等)が捉えた時系列の信号を入力して、ジェスチャーに対応する記号の列を出力する処理である。
【0009】
本実施形態において、カテゴリカル分布とは、複数のクラスそれぞれの確率を表す離散確率分布である。言い換えれば、カテゴリカル分布は、クラスの集合であって、その各クラスは確率値を持つ。確率値は、本実施形態において尤度、確信度、スコア等と呼ばれる値に対応するものである。確率値は、正規化されている数値である。正規化されているとは、あるカテゴリカル分布について、そのカテゴリカル分布に属するクラスが有する数値の総計が1であることである。尤度、確信度、スコア等と呼ばれる数値は、上記の意味において正規化されていてもよく、正規化されていなくてもよい。
【0010】
また、カテゴリカル分布列とは、カテゴリカル分布の系列、即ち、順序を有する集合である。
【0011】
本実施形態の情報処理装置は、カテゴリカル分布列を入力として取り込み、そのカテゴリカル分布列を基に、最尤ラベル列を選択して出力する。入力されるカテゴリカル分布列は、例えば画像や音声や物理的に検出される量や統計値等の特徴を表す特徴量に基づいて算出されている。なお、本実施形態の情報処理装置が、これらの特徴量を基にカテゴリカル分布列を生成する処理を含むようにしてもよい。
【0012】
クラスには、ラベルが対応付けられている。また、カテゴリカル分布列内のカテゴリカル分布に含まれるクラスに対応するラベルを並べたものが、ラベル列である。ただし、後述するマッピング関数は、ラベル列を、他のラベル列に写像し得るものである。マッピング関数により、ラベル列の長さが変わることもある。クラスは、通常クラスと、ブランククラスと、リジェクトクラスとを含む。これらのクラスに対応して、それぞれ、通常ラベルと、ブランクラベルと、リジェクトラベルとが存在する。通常クラスは、認識結果として求められるラベル列を構成するラベルに対応するものである。ブランククラスは、ブランクに対応するものである。例えば、手書き文字認識の処理においては、文字と文字との間の空白の領域はブランクである。また、例えば、音声認識の処理においては、音素と音素との間の無音(あるいは雑音のみ)の区間はブランクである。その他の適用領域におけるブランクも、同様のものである。リジェクトクラスは、棄却の対象となるクラスである。例えば、認識対象が、どのクラスであるとも判別し難い場合や、特定のクラスとしての尤度が低すぎる(例えば、所定の閾値未満である)場合などが、リジェクトクラスに相当する。
【0013】
図1は、本実施形態による情報処理装置の概略機能構成を示すブロック図である。図示するように、情報処理装置1は、入力部21と、リジェクトクラス追加部25と、ラベル列選択部27と、出力部29とを含む。これらの各機能部は、例えば、電子回路を用いて実現される。また、各機能部は、必要に応じて、半導体メモリーや磁気ハードディスク装置などといった記憶手段を内部に備えてよい。また、各機能を、コンピューターおよびソフトウェアによって実現するようにしてもよい。
【0014】
入力部21は、カテゴリカル分布列を取得する。カテゴリカル分布列は、対象が有する特徴に基づいて求められるものである。入力部21は、外部の装置等によって求められたカテゴリカル分布列を取得してもよいし、対象の特徴量に基づいて自らカテゴリカル分布列を求めてもよい。
【0015】
リジェクトクラス追加部25は、入力部21からカテゴリカル分布列を受け取る。そして、リジェクトクラス追加部25は、カテゴリカル分布列に含まれるカテゴリカル分布ごとに、当該カテゴリカル分布に基づいてリジェクトクラスのスコアを求める。リジェクトクラス追加部25は、求められたスコアを有するリジェクトクラスを、そのカテゴリカル分布に追加する。リジェクトクラス追加部25が処理対象とするカテゴリカル分布列は、クラスごとのスコアを有するカテゴリカル分布を複数並べて、系列として成るものである。
【0016】
ラベル列選択部27は、リジェクトクラスを追加した後のカテゴリカル分布列に基づいて、カテゴリカル分布列に対応するラベル列候補の尤度を計算する。ラベル列選択部27は、算出されたラベル列候補の尤度に応じて複数のラベル列候補の中から特定のラベル列を選択する。ラベル列選択部27は、例えば、尤度の最も高い1個のラベル列を選択する。ただし、ラベル列選択部27は、例えば、上位の第n位(nは正整数)までのラベル列を選択してもよい。また、ラベル列選択部27は、必ずしも尤度が最も高いラベル列を選択しなくてもよい。
【0017】
ラベル列選択部27は、マッピング関数を用いてもよい。マッピング関数は、カテゴリカル分布列を構成する各カテゴリカル分布に対応するラベルの列(便宜的に、これを、第1ラベル列と呼ぶ)から、最終的に出力するためのラベルの列(便宜的に、これを、第2ラベル列と呼ぶ)への写像である。マッピング関数は、一般的には、多対1の写像である。つまり、マッピング関数への異なる複数の入力に、1つの同一の出力が対応し得る。詳細は後述するが、ラベル列選択部27は、一例として、カテゴリカル分布列が有するクラスの尤度(各カテゴリカル分布におけるクラスの尤度)に基づいて、第1ラベル列ごとの第1ラベル列尤度を求める。そして、ラベル列選択部27は、第1ラベル列に所定のマッピング関数を適用した結果を第2ラベル列とする。ラベル列選択部27は、マッピング関数によって第2ラベル列に対応付けられる第1ラベル列の第1ラベル列尤度に基づいて、第2ラベル列ごとの第2ラベル列尤度を求める。言い換えれば、ラベル列選択部27は、第2ラベル列に上記マッピング関数の逆関数を適用して、結果として、第1ラベル列の集合を得る。そこで得られた第1ラベル列の個々の尤度(第1ラベル列尤度)の総計を、当該第2ラベル列の尤度(第2ラベル列尤度)とする。ラベル列選択部27は、第2ラベル列を前記ラベル列候補として、第2ラベル列尤度に基づいて、それらの第2ラベル列の中から、出力すべきラベル列を選択する。
【0018】
出力部29は、ラベル列選択部27が選択したラベル列を外部に出力する。
【0019】
図2は、本実施形態による情報処理装置1の処理の手順を示すフローチャートである。以下、このフローチャートに沿ってその手順を説明する。
【0020】
ステップS1において、入力部21は、カテゴリカル分布列p,・・・,pを外部から取得する。このカテゴリカル分布列p,・・・,pは、認識対象のデータの特徴に基づいて求められたものである。
【0021】
ステップS2において、情報処理装置1は、カテゴリカル分布列内の位置を指標する変数であるtを、1に初期化する。
【0022】
ステップS3からS7までの処理において、リジェクトクラス追加部25は、変数tによって指標されるカテゴリカル分布pに対して、リジェクトクラスを追加する。各ステップにおける具体的な処理は、つぎのとおりである。
【0023】
ステップS3において、リジェクトクラス追加部25は、入力されたデータに含まれるクラスkの尤度p(k)を、そのまま、リジェクトクラス挿入後のスコアとする。ここでのクラスkは、通常クラスまたはブランククラスである。
【0024】
ステップS4において、リジェクトクラス追加部25は、当該tにおける尤度p(k)の最大値(max(k))の値が、閾値θ未満であるか否かを判定する。
なお、閾値θについては、後述する。尤度p(k)の最大値が閾値θ未満である場合(ステップS4:YES)には、ステップS6に進む。尤度p(k)の最大値が閾値θ以上である場合(ステップS4:NO)には、ステップS5に進む。
【0025】
ステップS5では、リジェクトクラス追加部25は、追加されるリジェクトクラスのスコアを0とする。本ステップの終了後には、ステップS7の処理に移る。
【0026】
ステップS6では、リジェクトクラス追加部25は、追加されるリジェクトクラスのスコアをαとする。αは、適宜定められる正の値である。本ステップの終了後には、ステップS7の処理に移る。
【0027】
ステップS7において、リジェクトクラス追加部25は、リジェクトクラスを追加した後のカテゴリカル分布p(チルダ)を正規化する。正規化することにより、リジェクトクラス追加部25は、当該tに関して、リジェクトクラスを含むすべてのクラスのスコアの総計を、例えば、1にする。
【0028】
ステップS8において、情報処理装置1は、t≧Lであるか否かを判定する。言い換えれば、本ステップにおいて、情報処理装置1は、入力されたカテゴリカル分布列のすべての位置tについての処理を終了したか否かを判定する。t≧Lである場合(ステップS8:YES)、ステップS11に進む。t<Lである場合(ステップS8:NO)、ステップS9に進む。
【0029】
ステップS9に進んだ場合、情報処理装置1は、カテゴリカル分布列内の位置を進めるために、tの値を増分する。即ち、(t+1)の値を変数tに代入する。情報処理装置1は、本ステップの処理の後、ステップS3の処理に戻る。
【0030】
ステップS10に進んだ場合、ラベル列選択部27は、リジェクトクラス追加後のカテゴリカル分布列に基づいて、尤度が最も高いラベル列を選択する。ラベル列選択部27による選択の詳細については、後述する。
【0031】
ステップS11において、出力部29は、ステップS10において選択されたラベル列を、外部に出力する。本ステップで出力されるラベル列は、入力部21が取得したカテゴリカル分布列に基づいて情報処理装置1が求めた認識結果である。本ステップの処理が終了すると、情報処理装置1は、このフローチャート全体の処理を終了する。
【0032】
次に、情報処理装置1内部の処理をより詳細に説明する。
【0033】
CTCは、本来の認識対象であるクラスに加えてブランククラスを含むカテゴリカル分布系列を入力として、特定のラベル列の尤度を計算する処理方法を用いる。前述の通り、入力部21は、L個のカテゴリカル分布の列p,・・・,pを入力として取得する。このようなカテゴリカル分布の列p,・・・,pに対して、ラベル列l(エル)の尤度は、下の式(1)で算出される。
【0034】
【数1】
【0035】
ただし、Bは、ブランクラベルを削除し、また連続する同一のラベルを削除する(但し、それらの連続する同一のラベルのうちの1つのラベルを残す)マッピング関数である。式(1)におけるB-1は、上記の関数Bの逆関数である。即ち、B-1(l)は、関数Bによってlに変換され得るパスの集合を表す。このパスは、ブランクラベルを含むラベル列で合って、長さLのラベル列である。p(π)はpにおけるパスπのt番目のラベルπの確率を表す。CTCの処理の結果、通常は、計算される尤度が最も高いラベル列を予測結果として出力する。
【0036】
入力部21は、L個のリジェクトクラスを含まずブランクラベルを含むカテゴリカル分布から構成されるカテゴリカル分布列p,・・・,pを取得する(図2のステップS1)。
【0037】
リジェクトクラス追加部25は、L個のカテゴリカル分布p,・・・,pのそれぞれに、リジェクトクラスを追加する。具体的には、リジェクトクラス追加部25は、カテゴリカル分布p(1≦t≦L)が持つ第1位の候補であるクラスのスコアが閾値θ未満である場合には、所定のスコアαを有するリジェクトクラスを追加する(図2のステップS6)。その他の場合、即ち、カテゴリカル分布p(1≦t≦L)が持つ第1位の候補であるクラスのスコアが閾値θ以上である場合には、リジェクトクラス追加部25は、スコア0を有するリジェクトクラスを追加する(図2のステップS5)。なお、θは、例えば、適宜定められる定数としてよい。また、αもまた、例えば、適宜定められる定数としてよい。
【0038】
このようにして、リジェクトクラス追加部25は、リジェクトクラス追加後のカテゴリカル分布である
【数2】
を求める。即ち、チルダを付したpは、リジェクトクラスを追加した後のカテゴリカル分布である。
【0039】
上で説明したように、追加されるリジェクトクラスを追加した後のカテゴリカル分布は、下の式(2)および式(3)で表される通りである。
【0040】
【数3】
【0041】
【数4】
【0042】
リジェクトクラス追加部25は、さらに、リジェクトクラスを追加した後のカテゴリカル分布のスコアの総和が1になるように正規化してもよい(図2のステップS7)。正規化する方法の一例は、p(チルダ)に属する各クラスのスコアの値を、p(チルダ)のすべてのクラス(リジェクトクラスを含む)のスコアの総和で割ることである。
【0043】
このように正規化することにより、
【数5】
を確率尺度のように扱うことができ、p,・・・,pと同様のスケールで計算できる。ただし、p,・・・,pと同様のスケールで計算する必要がない場合など、正規化の処理は必須ではない。
【0044】
正規化後の、t番目のカテゴリカル分布のk番目のクラスのスコアの値は、下の式(4)で表される。
【0045】
【数6】
【0046】
なお、リジェクトクラス追加部25は、式(2)に現れるαを無限大としてもよい。αを無限大とした場合で、且つカテゴリカル分布内の第1位のクラスのスコアがθ未満である場合、且つ式(4)で表される正規化を行った場合に、
【数7】
は、下の式(5)で表される。
【0047】
【数8】
【0048】
なお、αを無限大としたのは、式(4)による正規化を行った結果として式(5)のカテゴリカル分布を得るためである。代わりに、αの値に関わらず、カテゴリカル分布内の第1位のクラスのスコアがθ未満の場合には、定義として、式(5)のように正規化するようにしてもよい。
【0049】
つまり、本実施形態では、リジェクトクラス追加部25は、カテゴリカル分布内の第1位候補であるクラスのスコアが所定の閾値(θ)以上である場合には、リジェクトクラスのスコアを、すべてのクラスのスコアの中の最低値とする。式(2)に示した右辺下段の0は、クラスのスコアの値が0以上且つ1以下の値を取る場合の最低値である。また、リジェクトクラス追加部25は、カテゴリカル分布内の第1位候補であるクラスのスコアが当該閾値(θ)未満である場合には、リジェクトクラスのスコアを、前記最低値以外の所定の値(α)とする。即ち、例えばクラスのスコアの値が0以上且つ1以下の値を取る場合、α>0とする。
【0050】
ラベル列選択部27は、リジェクトクラスを追加されたカテゴリカル分布の列に基づいて、尤度が最も高いラベル列loutを選択する。選択されるラベル列loutは、リジェクトラベルを含み得る。選択するラベル列loutを決定するための計算は、式(6)および式(7)に示す通りである。
【0051】
【数9】
【0052】
【数10】
【0053】
式(6)は、ラベル列lのスコアを求めるための数式である。つまり、ラベル列lのスコアは、マッピング関数Bを適用することによってラベル列lが得られるようなパスπの尤度の総和である。パスπの尤度は、パスπを構成する列π(1≦t≦L)の尤度(リジェクトクラスありのカテゴリカル分布に基づく)の積として算出される。
【0054】
なお、式(6)にも示すように、ラベル列の尤度を求める際に、ラベル列選択部27は、マッピング関数Bを用いる。前述のマッピング関数Bは、ブランクラベルを削除し、また連続する同一のラベルを削除するものであった。これに対して、マッピング関数Bは、ブランクラベルを削除し、また連続する同一のラベルを削除するとともに、さらに、通常ラベルとリジェクトラベルとが隣接し合っている場合にその箇所におけるリジェクトラベルを削除してその通常ラベルを残す操作を行う。
【0055】
表1は、関数Bと関数Bとを対比するための表である。この表は、入力ラベル列πの所定の例に対して、関数Bおよび関数Bのそれぞれの出力を示す。なお、便宜的に、表の各行に行番号を付している。
【0056】
【表1】
【0057】
表1において、1行目と2行目に現れるリジェクトラベルは、通常ラベルとは隣接しておらず、ブランクラベルによって隔てられている。よって、これらのリジェクトラベルは、関数Bを適用する場合にも、関数Bを適用する場合にも、出力ラベル列内に残る。一方、3行目と4行目に現れるリジェクトラベルは、通常ラベルであるaやbと隣接している。このようなリジェクトラベルは、関数Bを適用する場合には出力ラベル列内に残るが、関数Bを適用する場合には削除される。
【0058】
つまり、マッピング関数Bは、第1ラベル列を引数として、(1)第1ラベル列からブランクラベルを削除し、(2)第1ラベル列内に連続する同一のラベルが存在する場合には当該連続する同一のラベルを1個だけの当該ラベルで置換し(当該ラベルを1個だけ残し)、(3)第1ラベル列内に通常ラベルとリジェクトラベルとが連続する箇所がある場合には当該通常ラベルと当該リジェクトラベルのいずれが他方に先行するかに関わらず当該リジェクトラベルを削除して当該通常ラベルを残す、という操作を行う。その操作の結果が、マッピング関数Bの出力値である第2ラベル列である。なお、マッピング関数Bの逆関数は、上記の第2ラベル列を引数として、対応する第1ラベル列の集合を出力値とするものである。
【0059】
本実施形態によれば、リジェクトクラス追加部25は、カテゴリカル分布列全体ではなく、その中のカテゴリカル分布ごとに、リジェクトクラスを追加し、それらのリジェクトクラスに適切なスコアを与える。これにより、ラベル列全体のリジェクトではなく、ラベル単位のリジェクトが可能(出力するラベル列内にリジェクトラベルを与えることが可能)となる。
【0060】
また、本実施形態によれば、マッピング関数としてBを用いた。これにより、第1ラベル列内に通常ラベルとリジェクトラベルとが連続する箇所がある場合には当該通常ラベルと当該リジェクトラベルのいずれが他方に先行するかに関わらず当該リジェクトラベルを削除して当該通常ラベルを残す。つまり、より適切なラベル列を選択して出力することができる。
【0061】
次に、本実施形態の第1の変形例について説明する。なお、ここでは、本変形例に特有の事項を中心に説明する。ここで特に言及しない点については、本実施形態において既に説明した事項と同様である。
【0062】
この変形例では、マッピング関数Bの代わりに、マッピング関数Bを用いる。マッピング関数Bは、通常ラベルとリジェクトラベルとが隣接し合っている場合に、その箇所におけるリジェクトラベルを削除してその通常ラベルを残す操作をしていた。
ここでのマッピング関数Bは、通常ラベルとリジェクトラベルとが隣接し合っている箇所がある場合に、そのラベル列全体を除外対象ラベル列に変換する。
【0063】
表2は、関数Bと関数Bと関数Bを対比するための表である。この表は、入力ラベル列πの所定の例に対して、関数B、関数Bおよび関数Bのそれぞれの出力を示す。なお、便宜的に、表の各行に行番号を付している。
【0064】
【表2】
【0065】
表2に示すように、通常ラベルであるaやbとリジェクトラベルとが隣接する箇所を含むラベル列に関して、マッピング関数Bは「除外」を出力する。言い換えれば、あるラベル列lにマッピング関数Bの逆関数を適用したとき、B -1(l)が出力する集合には、「a?__b_」や「a?_??b」などといった、通常ラベルとリジェクトラベルとが隣接し合うパターンを含むラベル列を含まない。このことは、ラベル列lの尤度を計算するために必要な計算量を削減する作用を有する。
【0066】
つまり、マッピング関数Bは、第1ラベル列を引数として、(1)第1ラベル列から前記ブランクラベルを削除し、(2)第1ラベル列内に連続する同一のラベルが存在する場合には当該連続する同一のラベルを1個だけの当該ラベルで置換する、という操作を行う。その操作の結果が、マッピング関数Bの出力値である第2ラベル列である。ただし、第1ラベル列内に通常ラベルとリジェクトラベルとが連続する箇所がある場合には当該通常ラベルと当該リジェクトラベルのいずれが他方に先行するかに関わらず、除外対象ラベル列(単に「除外」と呼ぶ場合もある)を、Bの出力値である第2ラベル列とする。なお、マッピング関数Bの逆関数は、上記の第2ラベル列を引数として、対応する第1ラベル列の集合を出力値とするものである。
【0067】
本変形例では、ラベル列選択部27は、下の式(8)および式(9)による計算を行って、尤度が最も高いラベル列loutを選択する。
【0068】
【数11】
【0069】
【数12】
【0070】
つまり、式(8)に示すように、本変形例では、ラベル列選択部27は、マッピング関数Bの逆関数を用いる。即ち、ラベル列選択部27は、マッピング関数Bを適用するとラベル列lになるようなパスπの尤度の総和を、ラベル列lの尤度とする。
【0071】
本変形例では、マッピング関数としてBを使用した。これにより、第1ラベル列内に通常ラベルとリジェクトラベルとが連続する箇所がある場合には当該通常ラベルと当該リジェクトラベルのいずれが他方に先行するかに関わらず、対応する第2ラベル列を除外対象ラベル列としている。これにより、ラベル列の候補の尤度を算出する処理に関して、簡易な実装を行うことができる。言い換えれば、計算量を削減できる。
【0072】
次に、本実施形態の第2の変形例について説明する。なお、ここでは、本変形例に特有の事項を中心に説明する。ここで特に言及しない点については、本実施形態(他の変形例を含む)において既に説明した事項と同様である。
【0073】
本変形例では、ラベル列選択部27が最尤ラベル列を選択する際の処理の手順に特徴がある。具体的には、本変形例では、ラベル列選択部27は、各カテゴリカル分布
【数13】
において尤度が最大となるラベルを並べて成る最大尤度パスπを求める。そして、ラベル列選択部27は、最大尤度パスπをマッピング関数Bで変換した結果であるB(π)を、出力ラベル列として選択する。
【0074】
つまり、本変形例では、ラベル列選択部27は、下の式(10)、式(11)、および式(12)によって、出力ラベル列loutを選択する。
【0075】
【数14】
【0076】
【数15】
【0077】
【数16】
【0078】
式(11)に示すように、π (ただし、1≦t≦L)は、t番目のカテゴリカル分布(ただし、リジェクトクラスあり)における最尤クラスに相当するラベルである。また、“π π ・・・π ”は、π からπ までをその順序で並べたラベル列(パス)である。
【0079】
つまり、本変形例では、ラベル列選択部27は、カテゴリカル分布列が有するクラスの尤度(各カテゴリカル分布における尤度)に基づいて、第1ラベル列ごとの第1ラベル列尤度を求める。ラベル列選択部27は、第1ラベル列尤度に応じて複数の第1ラベル列の中から所定数(1個または複数)の第1ラベル列を選択する。ラベル列選択部27は、選択された第1ラベル列に所定のマッピング関数を適用した結果である第2ラベル列を、出力すべきラベル列として選択する。
【0080】
ここで、マッピング関数は、前述のBであってもよい。即ち、マッピング関数Bは、(1)第1ラベル列からブランクラベルを削除し、(2)第1ラベル列内に連続する同一のラベルが存在する場合には当該連続する同一のラベルを1個だけの当該ラベルで置換する、という操作を行うものである。マッピング関数Bは、当該操作の結果を、出力値である第2ラベル列とする。
【0081】
なお、式(12)で用いているマッピング関数Bを、前述のマッピング関数BやBで置き換えてもよい。
【0082】
本変形例によれば、ラベル列の尤度を求める際の、組み合わせの場合の数が減る。つまりより簡易な実装で、言い換えればより少ない計算量で、類似の効果を得ることが可能となる。
【0083】
次に、本実施形態の第3の変形例について説明する。なお、ここでは、本変形例に特有の事項を中心に説明する。ここで特に言及しない点については、本実施形態(他の変形例を含む)において既に説明した事項と同様である。
【0084】
本変形例の特徴は、リジェクトクラスの追加のしかたにある。本変形例において、リジェクトクラス追加部25は、リジェクトクラス追加前の各々のカテゴリカル分布p
において第1位の候補と第2位の候補の尤度の差に基づいてリジェクトクラスのスコアを与える。
【0085】
具体的には、リジェクトクラス追加部25は、下の式(13)および式(14)により、
【数17】
を計算する。ただし
【数18】
は、それぞれ、pの第1位候補の尤度および第2位候補の尤度を表す。ただし、1≦t≦Lである。
【0086】
【数19】
【0087】
【数20】
【0088】
式(13)に示す通り、本変形例において、リジェクトクラス追加部25は、カテゴリカル分布p(1≦t≦L)の第1位候補と第2位候補の尤度差が所定の閾値θ未満のカテゴリカル分布に、所定のスコアα(α>0)を有するリジェクトクラスを追加する。また、その他の場合(即ち、第1位候補と第2位候補との間の尤度差がθ以上の場合)には、リジェクトクラス追加部25は、スコア0のリジェクトクラスを追加する。
【0089】
なお、αの値については、既に述べた通りである。また、閾値θの値は、例えば、予め与えられた正定数としてよい。
【0090】
リジェクトクラスのスコアの与え方をより一般化して、次のようにしてもよい。
即ち、リジェクトクラス追加部25は、カテゴリカル分布内の第1位候補であるクラスの第1位スコアと当該カテゴリカル分布内の第2位候補であるクラスの第2位スコアとの差が所定の閾値(θ)以上である場合には、リジェクトクラスのスコアをすべてのクラスのスコアの中の最低値とする。この最低値の一例は、式(13)の右辺下段に示した0である。例えば、クラスのスコアの値の範囲を、0以上且つ1以下とすることができる。一方、リジェクトクラス追加部25は、カテゴリカル分布内の第1位候補であるクラスの第1位スコアと当該カテゴリカル分布内の第2位候補であるクラスの第2位スコアとの差が所定の閾値(θ)未満である場合には、リジェクトクラスのスコアを前記最低値以外の所定の値とする。この「所定の値」の一例は、式(13)の右辺上段に示したαである。
【0091】
さらなる変形例として、第1位候補の尤度が前述の閾値θ未満であるか、あるいは第1位候補と第2位候補との間の尤度差が上記の閾値θ未満であるかのいずれかの場合に、スコアがαのリジェクトクラスを与えるようにしてもよい。そして、その他の場合にはスコアが0のリジェクトクラスを与える。
【0092】
また、本変形例においても、リジェクトクラス追加部25は、前記の式(4)等を用いて、リジェクトクラスを追加した後のカテゴリカル分布のスコアを正規化するようにしてもよい。
【0093】
本変形例によれば、第1位の候補のスコアと第2位の候補のスコアとの相対的な関係に基づいて、リジェクトクラスのスコアを与える。つまり、本変形例では、調整すべきハイパパラメタが増える一方で、リジェクト性能の向上が期待できる。
【0094】
次に、本実施形態の第4の変形例について説明する。なお、ここでは、本変形例に特有の事項を中心に説明する。ここで特に言及しない点については、本実施形態(他の変形例を含む)において既に説明した事項と同様である。
【0095】
本変形例の特徴は、リジェクトクラスの追加のしかたにある。本変形例では、リジェクトクラス追加部25は、リジェクトクラスを追加する前のカテゴリカル分布p(1≦t≦L)において、第1位候補の尤度が閾値θ未満であり、且つ第1位候補がブランククラスである場合に、所定のスコアα(α>0)を有するリジェクトクラスを追加する。その他の場合には、リジェクトクラス追加部25は、スコア0を有するリジェクトクラスを追加する。
【0096】
つまり、本変形例では、リジェクトクラス追加部25は、下の式(15)および式(16)によって、リジェクトクラス追加後のカテゴリカル分布
【数21】
を計算する。
【0097】
【数22】
【0098】
【数23】
【0099】
なお、θやαの値については、既に説明した通りである。また、本変形例においても、リジェクトクラス追加部25が、リジェクトクラスの追加後に、式(4)等を用いた正規化を行ってもよい。
【0100】
以上、説明したように、本変形例では、カテゴリカル分布において第1位候補がブランククラスであることが、有効なリジェクトを追加するための必要条件である。本変形例では、ブランクのみをリジェクト対象とすることで、ラベル削除のみを対象としたリジェクト機能を実現できる。
【0101】
後で示す図5のグラフは、縦軸を尤度,横軸を系列(タイムステップ)t=1,・・・,Lとして、p,・・・,p
【数24】
をプロットしたものである。
【0102】
なお、スコアαを与える条件は、第1の実施形態の基本形や、第3の変形例と組み合わせてもよい。
【0103】
つまり、本変形例では、リジェクトクラス追加部25は、カテゴリカル分布内の第1位候補であるクラスのスコアが所定の閾値(θ)以上である場合、または、当該第1位候補であるクラスがブランクに対応するブランククラスではない場合には、前記リジェクトクラスのスコアを、すべてのクラスのスコアの中の最低値とする。式(15)の右辺下段の0は、この最低値の一例(例えば、スコアの値の範囲を、0以上且つ1以下とする場合)である。
【0104】
図3図4図5は、本実施形態の基本パターンと第4の変形例のそれぞれに、同一のカテゴリカル分布列を入力した場合の、処理結果の違いを説明するためのグラフである。これらのグラフは、例えば、手書き文字の認識処理を行う場合の例である。
図3は、入力部21が取得するカテゴリカル分布列を示すグラフである。
図4は、本実施形態の基本パターンの処理を行った結果を示すグラフである。
図5は、本実施形態の第4の変形例の処理を行った結果を示すグラフである。
図3図4図5のそれぞれのグラフにおいて、横軸はタイムステップ(系列)であり、縦軸は尤度(スコア)である。
【0105】
図3では、通常クラスであるa,b,cと、ブランククラスの、計4つのクラスの、タイムステップに応じた尤度の変化のグラフを示している。なお、T,T,Tの各々は、横軸上の所定の位置である。また、水平方向に引いた破線は、尤度に関する閾値θを表している。図示するように、この入力(カテゴリカル分布列)の例では、位置Tにおいて通常クラスaの尤度が上がって第1位候補となっている。位置Tにおいてはブランククラスの尤度は閾値θ未満まで下がっている。また、位置Tにおいて、ブランククラスの尤度が閾値θ未満まで下がっているが、位置Tにおける第1位候補はブランククラスである。位置Tにおいては通常クラスbの尤度が立ち上がっているが、ブランククラスの尤度よりはかなり低い。位置Tにおいて、閾値θ以上の尤度を持つクラスはない。位置Tにおいて、通常クラスcの尤度がブランククラスの尤度を上回って、第1位候補となっている。しかしながら、通常クラスcおよびブランククラスも含めて、位置Tにおいて、閾値θ以上の尤度を持つクラスはない。なお、位置T,T,Tのそれぞれの近傍以外においては、概ね、ブランククラスが第1位候補であり、且つその尤度は閾値θ以上である。
【0106】
図4では、入力に含まれていた通常クラスa,b,c、およびブランククラスに加えて、リジェクトクラスが追加されている。また、図4では、すべてのクラスの尤度の合計値が1.0になるように正規化されている。図示するように、リジェクトクラス追加部25による処理の結果、位置Tにおける第1位候補は、通常クラスaである。また、位置Tにおける第1位候補は、リジェクトクラスである。また、位置Tにおける第1位候補は、リジェクトクラスである。また、マッピング関数を適用することにより、ブランクラベルは削除される。したがって、この場合、情報処理装置1は、デコード結果として「a??」を出力する。
【0107】
図5においても、入力に含まれていた通常クラスa,b,c、およびブランククラスに加えて、リジェクトクラスが追加されている。また、図5においても、すべてのクラスの尤度の合計値が1.0になるように正規化されている。図示するように、リジェクトクラス追加部25による処理の結果、位置Tにおける第1位候補は、通常クラスaである。また、位置Tにおける第1位候補は、リジェクトクラスである。つまり、位置TおよびTのそれぞれにおける第1位候補は、図4に示した場合と同様である。位置Tにおいては、この第4の変形例の処理では、第1位候補がブランククラスではないため、式(15)によって、リジェクトクラスのスコアは0と決定される。したがって、位置Tにおける第1位候補は通常クラスcである。さらに、マッピング関数を適用することによって、ブランククラスは削除される。したがって、この場合、情報処理装置1は、デコード結果として「a?c」を出力する。
【0108】
次に、本実施形態の第5の変形例について説明する。なお、ここでは、本変形例に特有の事項を中心に説明する。ここで特に言及しない点については、本実施形態(他の変形例を含む)において既に説明した事項と同様である。
【0109】
本変形例の特徴は、リジェクトクラスに付与されるスコアの値にある。本変形例では、リジェクトクラス追加部25は、リジェクトクラスを追加する前のカテゴリカル分布p(1≦t≦L)における最大尤度(第1位候補の尤度)の値に、所定の関数fを適用して、その関数値をリジェクトクラスのスコアとする。つまり、リジェクトクラス追加部25は、次の式(17)で表されるスコアを有するリジェクトクラスを、カテゴリカル分布列内のt番目のカテゴリカル分布に追加する。
【0110】
【数25】
【0111】
これにより、リジェクトクラス追加部25は、リジェクトクラスを追加した後の
【数26】
を計算する。即ち、式(18)に表す通りである。
【0112】
【数27】
【0113】
関数f(x)の定義域は、pに含まれるクラスの尤度が取り得る値の範囲を含む。例えば、定義域は、0≦x≦1である。また、f(x)を、単調減少関数(広義単調減少関数)とする。即ち、0≦x<x≦1ならば、f(x)≧f(x)である。あるいは、0≦x<x≦1ならば、f(x)>f(x)としてもよい。このようなf(x)を用いることにより、第1位候補のクラスの尤度が高いほどリジェクトクラスのスコアを低く、第1位候補のクラスの尤度が低いほどリジェクトクラスのスコアを高くすることができる。
【0114】
定義域を0≦x≦1として、関数f(x)の例は、f(x)=1-x、あるいはf(x)=(x-1)^2などというものである。
【0115】
つまり、本変形例では、リジェクトクラス追加部25は、リジェクトクラスを追加する前のカテゴリカル分布内の第1位候補であるクラスのスコアに対して単調減少(広義単調減少)となる値(上記の関数f(x)で与えられる値)を、当該カテゴリカル分布におけるリジェクトクラスのスコアとする。
【0116】
本変形例によると、第1位候補であるクラスのスコアに応じて、リジェクトクラスのスコアを可変にすることができる。
【0117】
ここで、第1の実施形態による情報処理装置1の動作の実例を、説明する。下の表3は、リジェクトクラス追加部25がリジェクトクラスを追加した後のカテゴリカル分布列の一例を示す。このカテゴリカル分布における尤度の値は正規化されている。即ち、各タイムステップにおけるクラスごとの尤度の総計は1である。この例において、カテゴリカル分布列の長さは2である。即ち、タイムステップとして1と2のみが含まれる。また、クラスは、通常クラスであるaと、ブランククラスと、リジェクトクラスの3種類である。表内に記された数値は、各タイムステップにおける各クラスの尤度である。
【0118】
【表3】
【0119】
表3に示すように、タイムステップが1のとき、第1位候補であるaの尤度が閾値θを超えるため、リジェクトクラス(?)の尤度は0である。タイムステップが2のとき、第1位候補であるaの尤度が閾値θ未満であるため、リジェクトクラス(?)の尤度として0.7(前述のαの値の一例)が与えられている。
【0120】
表3に示したカテゴリカル分布列(リジェクトクラスを含む)に対して、3通りの場合に、最尤ラベル列がどのように選択されるかを示す表が、それぞれ、表4、表5、表6である。表4、表5、表6のそれぞれは、ラベル列候補ごとの尤度を計算する過程を示している。表4は、マッピング関数としてBを使用する場合(従来技術の場合)に対応する。表5は、マッピング関数としてBを使用する場合(本実施形態の基本形の場合)に対応する。表6は、マッピング関数としてBを使用する場合(本実施形態の第1の変形例の場合)に対応する。
【0121】
【表4】
【0122】
表4において、便宜的に行番号を付与している。第1列のlは、候補のラベル列である。第2列のB-1(l)は、マッピング関数Bの逆関数をラベル列lに適用した結果である。第3列のp(l)は、ラベル列lの尤度を表す。第1行目から第5行目まで、ラベル列は、それぞれ、空白、「a」、「?」、「a?」、「?a」である。
第1行目の空白のラベル列に対応するB-1(l)は、「__」のみである。この「__」に対応する尤度は、表3より、0.1×0.1で、0.01である。即ち、空白のラベル列の尤度は、0.01である。
第2行目のラベル列「a」に対応するB-1(l)は、「aa」、「a_」、「_a」である。これら「aa」、「a_」、「_a」の尤度は、表3から計算可能で、それぞれ、0.18、0.09、0.02である。これらの合計の0.29が、ラベル列「a」の尤度である。
第3行目のラベル列「?」に対応するB-1(l)は、「??」、「_?」、「?_」である。これら「??」、「_?」、「?_」の尤度は、表3から計算可能で、それぞれ、0.00、0.07、0.00である。これらの合計の0.07が、ラベル列「?」の尤度である。
第4行目のラベル列「a?」に対応するB-1(l)は、「a?」のみである。この「a?」の尤度は、表3より、0.9×0.7で、0.63である。即ち、ラベル列「a?」の尤度は、0.63である。
第5行目のラベル列「?a」に対応するB-1(l)は、「?a」のみである。この「?a」の尤度は、表3より、0.0×0.2で、0.00である。即ち、ラベル列「?a」の尤度は、0.00である。
【0123】
【表5】
【0124】
表5(マッピング関数Bを使用する場合)に、便宜的に行番号を付与している。表に示すように、第1行目から第5行目まで、ラベル列の候補は、それぞれ、空白、「a」、「?」、「a?」、「?a」である。表4の場合とは異なるマッピング関数を使用しているため、ラベル列の候補lに対応するB -1(l)は、表4の場合とは異なる。
第1行目の空白のラベル列に対応するB -1(l)は、「__」のみである。この「__」の尤度は、表3より、0.01である。即ち、空白ラベル列の尤度は、0.01である。
第2行目のラベル列「a」に対応するB -1(l)は、「aa」、「a_」、「_a」、「a?」、「?a」である。これら「aa」、「a_」、「_a」、「a?」、「?a」の尤度の合計は、0.92である。即ち、ラベル列「a」の尤度は、0.92である。
第3行目のラベル列「?」に対応するB -1(l)は、「??」、「_?」、「?_」である。これら「??」、「_?」、「?_」の尤度の合計は、0.07である。即ち、ラベル列「?」の尤度は、0.07である。
第4行目のラベル列「a?」と、第5行目のラベル列「?a」のそれぞれについては、対応するB -1(l)は空集合である。つまり、第4行目のラベル列「a?」の尤度と、第5行目のラベル列「?a」の尤度とは、ともに、0.00である。
【0125】
以上のように、表5では、5種類のラベル列の候補のうち、最も尤度の高いラベル列は「a」である。また、その尤度p(l)は、0.92である。この表5のような場合には、ラベル列選択部27は、最も尤度の高いラベル列である「a」を選択し、出力部29に渡す。
【0126】
つまり、従来技術を用いる場合(表4)には出力ラベル列として「a?」が選択されるのに対して、本実施形態の基本形を用いる場合(表5)には出力ラベル列として「a」が選択される。これは、マッピング関数としてBを使用することによるものである。
【0127】
【表6】
【0128】
表6(マッピング関数Bを使用する場合)に、便宜的に行番号を付与している。表に示すように、第1行目から第6行目まで、ラベル列の候補は、それぞれ、空白、「a」、「?」、「a?」、「?a」、および除外である。表4や表5の場合とは異なるマッピング関数を使用しているため、ラベル列の候補lに対応するB -1(l)は、本例特有である。
【0129】
第1行目の空白のラベル列に対応するB -1(l)は、「__」のみである。この「__」の尤度は、表3より、0.01である。即ち、空白ラベル列の尤度は、0.01である。
第2行目のラベル列「a」に対応するB -1(l)は、「aa」、「a_」、「_a」である。これら「aa」、「a_」、「_a」の尤度の合計は、0.29である。即ち、ラベル列「a」の尤度は、0.29である。
第3行目のラベル列「?」に対応するB -1(l)は、「??」、「_?」、「?_」である。これら「??」、「_?」、「?_」の尤度の合計は、0.07である。即ち、ラベル列「?」の尤度は、0.07である。
第4行目のラベル列「a?」と、第5行目のラベル列「?a」のそれぞれについては、対応するB -1(l)は空集合である。つまり、第4行目のラベル列「a?」の尤度と、第5行目のラベル列「?a」の尤度とは、ともに、0.00である。
第6行目のラベル列は、除外である。これに対応するB -1(l)は、「a?」および「?a」である。表3より、「a?」の尤度は0.63であり、「?a」の尤度は0.00である。つまり、除外の尤度は、これらの尤度の合計の0.63である。
【0130】
表6の第6行目に示す「除外」は、ラベル列選択部27によって最尤ラベル列として選択され得るものではない。つまり、ラベル列選択部27は、表6の第1行目から第5行目までの中で尤度の最も高いラベル列である「a」(第2行目)を選択する。その尤度は、0.29である。ラベル列選択部27は、選択されたラベル列「a」を、出力部29に渡す。
【0131】
つまり、従来技術を用いる場合(表4)には出力ラベル列として「a?」が選択されるのに対して、本実施形態の第1の変形例を用いる場合(表6)には出力ラベル列として「a」が選択される。これは、マッピング関数としてBを使用することによるものである。
【0132】
(第2の実施形態)
次に、第2の実施形態について説明する。なお、前実施形態(変形例を含む)において既に説明した事項については以下において説明を省略する場合がある。ここでは、本実施形態に特有の事項を中心に説明する。
【0133】
図6は、本実施形態による情報処理装置の概略機能構成を示すブロック図である。図示するように、情報処理装置2は、入力部21と、平滑化部23と、リジェクトクラス追加部25と、ラベル列選択部27と、出力部29とを含んで構成される。つまり、本実施形態の特徴は、情報処理装置2が、平滑化部23を備える点である。平滑化部23以外の各部の機能は、第1の実施形態におけるものと同様である。
【0134】
平滑化部23は、入力部21が取得するカテゴリカル分布列の、隣接する要素間の変化が小さくなるように平滑化する。言い換えれば、平滑化部23は、カテゴリカル分布列に含まれる隣接し合うカテゴリカル分布間での変化を平滑化する。その方法の一例として、平滑化部23は、クラスごとにガウシアンフィルタを適用する。つまり、平滑化部23は、クラスごとのスコアの値についてカテゴリカル分布列内の列の方向のガウシアンフィルタの処理を適用する。この場合、平滑化部23は、p(k)の値を、下の式(19)が表す値で置き換える。
【0135】
【数28】
【0136】
この式(19)において、sは、適宜定める正整数である。また、wは、適宜定める係数である。
例えば、s=1として、w-1=1、w=1、w=1としてもよい。
また、例えば、s=1として、w-1=1、w=2、w=1としてもよい。
また、例えば、s=2として、w-2=1、w-1=2、w=4、w=2、w-2=1としてもよい。
また、wを他の値としてもよい。
ただし、(t+r)の値がカテゴリカル分布列の範囲の外である場合、即ち、(t+r)<1または(t+r)>Lである場合には、対応する項を、式(9)の分子および分母の両方から削除する。言い換えれば、この場合には、対応するwの値を0としてよい。
【0137】
なお、平滑化部23は、式(19)等の処理によって平滑化した結果の尤度値を、正規化してもよいし、正規化しなくてもよい。平滑化部23は、正規化する場合には、例えば、各々のt(1≦t≦L)の位置におけるクラスごとの尤度の総計が1になるように正規化する。なお、平滑化部23が正規化処理を行うか否かに関わらず、後のリジェクトクラス追加部25が、リジェクトクラス追加後のスコアを正規化することができる。
【0138】
本実施形態におけるリジェクトクラス追加部25の機能自体は、第1の実施形態におけるそれと同様である。ただし、本実施形態において、リジェクトクラス追加部25は、平滑化部23によって平滑化された結果のカテゴリカルクラス列に基づいて、後続する処理を行う。
【0139】
図7は、本実施形態による情報処理装置の処理手順を示すフローチャートである。以下、このフローチャートに沿って、情報処理装置2の動作を説明する。
【0140】
ステップS51において、入力部21は、カテゴリカル分布列p,・・・,pを外部から取得する。本ステップの処理は、図2のフローチャート(第1の実施形態)におけるステップS1に対応する。
【0141】
ステップS52において、平滑化部23は、入力部21が取得したカテゴリカル分布列の、系列方向の平滑化の処理を行う。平滑化部23は、前述の通り、一例としてガウシアンフィルタを用いた平滑化を行ってもよい。本ステップの処理は、本実施形態に特有の処理である。平滑化部23は、平滑化後のカテゴリカル分布列を、リジェクトクラス追加部25に渡す。
【0142】
ステップS53からS62までの処理は、それぞれ、図2のフローチャートにおけるステップS2からS11までの処理に対応する。ステップS53からS62までにおいては、情報処理装置2は、ステップS52で平滑化された後のデータを処理対象とする。その点を除いては、ステップS53からS62までの処理は、それぞれ、ステップS2からS11までの処理と同様のものであるため、ここでは詳細な説明を省略する。
【0143】
なお、第1の実施形態における第1の変形例から第5の変形例までのいずれかを、本実施形態と組み合わせて処理してもよい。その場合も、平滑化部23による平滑化処理の結果を用いて、それぞれの場合の処理を行う。
【0144】
本実施形態によれば、平滑化部23がカテゴリカル分布列を平滑化するため、ノイズに頑健なリジェクトを実現することが期待できる。
【0145】
上記各実施形態では、ラベル列選択部27は、候補の中から、尤度が最も高い(すなわち、第1位の)ラベル列を選択していた。変形例として、ラベル列選択部27が、候補の中から、第1位以外の(つまり、例えば、第2位あるいは第3位等の)ラベル列を選択するようにしてもよい。また、ラベル列選択部27が、候補の中から、尤度に応じて、複数のラベル列(例えば、上位第n位まで(nは正整数)の)ラベル列を選択するようにしてもよい。これらの場合にも、出力部29は、ラベル列選択部27が選択したラベル列を出力する。
【0146】
また、実施形態では、複数の変形例を記載した。ここで、組み合わせることが可能な限りにおいて、複数の変形例を組み合わせて実施するようにしてもよい。
【0147】
以上説明した少なくともひとつの実施形態によれば、系列全体をリジェクトするのではなく、あるいは系列全体にリジェクトのスコアを与えるのではなく、リジェクトクラス追加部25は、カテゴリカル分布列内のカテゴリカル分布ごとに、スコアを有するリジェクトクラスを追加する。このようなリジェクトクラス追加部25を持つことにより、出力するラベル列(系列)内の、特定のラベル位置に、リジェクトラベルを含むようにできる。
【0148】
言い換えれば、少なくともひとつの実施形態によれば、系列単位での認識処理において、系列内の一部のみをリジェクトすることができるようになる。
【0149】
一例として、文字列認識問題において「abc」と書かれた画像を文字認識したところ、「a」「c」の確信度は高く、「b」の確信度が低かった場合、「a?c」のように「b」のみ文字単位でリジェクトすることができるようになる。
【0150】
なお、上述した実施形態における情報処理装置の機能をコンピューターで実現するようにしても良い。その場合、この機能を実現するためのプログラムをコンピューター読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピューターシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピューターシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピューター読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM、DVD-ROM、USBメモリー等の可搬媒体、コンピューターシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピューター読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバーやクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【0151】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【0152】
1,2…情報処理装置、21…入力部、23…平滑化部、25…リジェクトクラス追加部、27…ラベル列選択部、29…出力部
図1
図2
図3
図4
図5
図6
図7