JP7430274B2 - 計算機システム及び文字認識方法 - Google Patents

計算機システム及び文字認識方法 Download PDF

Info

Publication number
JP7430274B2
JP7430274B2 JP2022553411A JP2022553411A JP7430274B2 JP 7430274 B2 JP7430274 B2 JP 7430274B2 JP 2022553411 A JP2022553411 A JP 2022553411A JP 2022553411 A JP2022553411 A JP 2022553411A JP 7430274 B2 JP7430274 B2 JP 7430274B2
Authority
JP
Japan
Prior art keywords
character
time step
character string
probability
arithmetic device
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
JP2022553411A
Other languages
English (en)
Other versions
JPWO2022070422A1 (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2022070422A1 publication Critical patent/JPWO2022070422A1/ja
Application granted granted Critical
Publication of JP7430274B2 publication Critical patent/JP7430274B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • G06V30/1801Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections
    • G06V30/18019Detecting partial patterns, e.g. edges or contours, or configurations, e.g. loops, corners, strokes or intersections by matching or filtering
    • G06V30/18038Biologically-inspired filters, e.g. difference of Gaussians [DoG], Gabor filters
    • G06V30/18048Biologically-inspired filters, e.g. difference of Gaussians [DoG], Gabor filters with interaction between the responses of different filters, e.g. cortical complex cells
    • G06V30/18057Integrating the filters into a hierarchical structure, e.g. convolutional neural networks [CNN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/62Extraction of image or video features relating to a temporal dimension, e.g. time-based feature extraction; Pattern tracking

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Character Discrimination (AREA)

Description

本発明は、文字認識技術に関する。
機械学習技術の発達により、文字認識、画像認識、及び音声認識等の認識技術が向上し、多様なシステムで認識技術が活用されている。
前述の認識技術は、一般的に、入力データからの特徴(特徴量)抽出、特徴に基づく識別候補の出力、及び識別候補のデコードの三つの機能から構成される。特徴抽出及び識別候補の出力には、Convolutional Neural Network(CNN)及びRecurrent Neural Network(RNN)といった深層学習ベースの手法が広く用いられている。またRNNの普及に伴い、Connectionist Temporal Classification(CTC)というデコード方式が一般的になっている。
ここで、CTCとは、識別候補に含まれる余分な区間を削減して出力を簡素化するデコード方式である。例えば、音声認識において、入力音声から連続した微小区間(タイムステップ)の時系列特徴をRNNから取得した場合、何も音が鳴っていないblank区間及び前の区間と同じ音が鳴っている区間が存在する。CTCを用いて、大量に存在するこれらの無駄な区間を効率よく削除し、出力を簡素化することができる。
上記の認識技術に加え、現実的な認識システムにおいては、デコード結果を後処理で補正することが重要である。例えば、文字認識及び音声認識では、文字画像及び音声に対する認識の後に言語知識を用いた補正が考えられる。そこで、CTCによるデコード結果を補正する方法が検討されている。
例えば、非特許文献1には、「入力から深層学習の特徴抽出部を用いて特徴を抽出し、深層学習の識別部を用いて前記特徴に基づく識別候補を出力し、CTCを用いて前記識別候補を識別結果へデコードし、前記特徴と異なる種類の特徴に基づく処理によって前記識別結果を補正することを特徴とする認識方法。」が記載されている。
非特許文献1に記載の技術を用いることで、音声認識において、入力された音声を識別し、音声と異なる特徴の情報である言語知識を用いて識別結果を補正し、認識精度を高めることができる。
Yajie Miao, "EESEN: End-to-end speech recognition using deep RNN models and WFST-based decoding", Proceedings of 2015 IEEE Workshop on Automatic Speech Recognition and Understanding,pp.167―174, 2015.
非特許文献1に記載の技術は、識別器で扱う特徴と異なる種類の特徴に基づく補正処理を実行することによって認識精度を高めている。しかし、非特許文献1に記載の技術は、CTCを用いたデコード後に言語知識に基づく補正処理を実行する構成であるため、CTCを用いたデコードによって情報が欠落した場合、正しい補正が困難になるという課題がある。
本開示の目的は、文字認識処理において、CTCを用い、かつ、CTCを用いることによる情報の欠落と言語知識とを考慮した補正処理を含むデコードを実現する計算機システム及び情報処理方法を提供することにある。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、文字認識処理を実行する計算機システムであって、演算装置、前記演算装置に接続される記憶装置、及び、前記演算装置に接続され、外部装置と接続するインタフェースを有する計算機を少なくとも一つ備え、文字列の生起確率を示す情報を言語知識として保持し、入力画像から、第一数のタイムステップの時系列データの特徴量を算出する特徴量抽出部と、前記時系列データの特徴量に基づいて、前記各タイムステップにおける複数の文字の各々に該当する確率を算出する識別候補出力部と、Connectionist Temporal Classificationを用いて、前記各タイムステップの前記確率が最大の文字から構成される第一文字列を生成し、前記第一文字列から所定のタイムステップを削除することによって第二数の文字から構成される第二文字列を出力する処理と、前記識別候補出力部の処理結果及び前記言語知識を用いた補正ルールに基づいて前記第二文字列を補正することによって第三数の文字から構成される第三文字列を出力する処理とを実行するデコード部と、を備え、前記デコード部は、前記識別候補出力部によって算出された前記タイムステップの前記確率を成分とする確率ベクトルを前記タイムステップ順に並べた識別候補行列を取得する第1処理と、前記言語知識を用いて、前記第二文字列に含まれる文字から構成される文字ペアの生起確率を算出する第2処理と、前記識別候補行列及び前記文字ペアの生起確率を用いた前記補正ルールに基づいて前記第二文字列を補正する第3処理と、を実行し、前記第3処理は、前記第一文字列に含まれる文字に対応する前記タイムステップの中から探索タイムステップを選択する第4処理と、前記探索タイムステップの前記確率ベクトルを用いて、前記探索タイムステップの候補文字を選択し、前記候補文字をノードとする層を定義する第5処理と、時系列が隣接する二つの前記層の前記ノードを接続することによって有向グラフを生成する第6処理と、前記有向グラフを用いて最適パスを探索する第7処理と、前記最適パスを構成する前記ノードに対応する文字から構成される前記第三文字列を出力する第8処理と、を含み、前記第4処理は、前記識別候補行列及び前記文字ペアの生起確率を用いて、前記第一文字列から削除されたタイムステップの中から復元するタイムステップを選択して、前記選択されたタイムステップを復元する処理と、前記選択されたタイムステップが復元された前記第二文字列に含まれる文字に対応する前記第一文字列の前記タイムステップを前記探索タイムステップとして選択する処理と、を含む
本発明によれば、文字認識処理において、CTCを用い、かつ、CTCを用いたことによる情報の欠落と言語知識とを考慮した補正処理を含むデコードを実現できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
実施例1の計算機のハードウェア構成及びソフトウェア構成の一例を説明する図である。 実施例1の言語知識情報の一例を示す図である。 実施例1の計算機が実行する文字認識処理の概要を説明するフローチャートである。 実施例1の計算機が実行する文字認識処理におけるデータ処理の一例を示す図である。 実施例1のデコード処理の一例を説明するフローチャートである。 実施例1の削除タイムステップ対策処理の一例を説明するフローチャートである。 実施例1の削除タイムステップ対策処理の具体例を示す図である。 実施例1のノイズタイムステップ対策処理の一例を説明するフローチャートである。 実施例1のノイズタイムステップ対策処理の具体例を示す図である。 実施例1の誤読タイムステップ対策処理の一例を説明するフローチャートである。 実施例1の誤読タイムステップ対策処理において生成される有向グラフの一例を示す図である。 実施例1の計算機が提供するGUIの一例を示す図である。
以下、本開示の実施例1について図面を参照して説明する。
まず、本発明の概要を述べる。本発明は、文字認識処理において、CTCを用い、かつ、CTCによる情報の欠落と言語知識とを考慮した補正処理を含むデコードを実現することによって、認識対象の認識精度を向上させることを目的とする。また、従来のデコードと比較して計算量を抑えられるように工夫する。
前述の目的を実現するため、本発明に係る計算機システムは、特徴抽出及び識別候補の出力の後に、CTCと、言語知識に基づく補正ルールによって制御される補正処理とを含むデコードを実行する。また、本発明に係る計算機は、補正ルールを設定するためのGUIを提供する。
以下、本発明の実施例1について、図面を順番に参照して説明する。実施例1では、文字認識を行う計算機を一例に説明する。なお、本発明は、音声認識等についても適用することができる。
なお、実施例を説明する図において、同一の機能を有する箇所には同一の符号を付し、その繰り返しの説明は省略する。なお、以下に説明する実施例は特許請求の範囲にかかる発明を限定するものではない。また実施例において説明されている各要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
また、以下の説明では、情報の一例として「xxxデータ」といった表現を用いる場合があるが、情報のデータ構造はどのようなものでもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxデータ」を「xxxテーブル」と言うことができる。また、以下の説明において、各情報の構成は一例であり、情報を分割して保持したり、結合して保持したりしても良い。
まず、図1を参照し、本発明の実施例1の計算機のハードウェア構成及びソフトウェア構成を説明する。図1は、実施例1の計算機のハードウェア構成及びソフトウェア構成の一例を説明する図である。
計算機100は文字認識処理を実行する。また、計算機100は、文字認識処理に関する設定を行うためのGUIを提供する。
計算機100は、プロセッサ101、入力装置102、出力装置103、主記憶装置104、副記憶装置105、及びネットワークインタフェース106を有する。各ハードウェアは内部バス等を介して互いに接続される。図1では、各ハードウェアの数は一つであるが、二つ以上でもよい。
プロセッサ101は、主記憶装置104に格納されるプログラムを実行する。プロセッサ101がプログラムにしたがって処理を実行することによって、特定の機能を実現する。以降の説明において機能を主語に処理を説明する場合、プロセッサ101が機能を実現するプログラムを実行していることを示す。
入力装置102は、計算機100に対してデータを入力するための装置である。例えば、入力装置102は、キーボード、マウス、及びタッチパネル等の計算機100を操作するための機器を含む。また、入力装置102は、スキャナ、デジタルカメラ、及びスマートフォン等の画像取得のための機器も含む。
出力装置103は、データの入力画面及び処理結果等を出力する装置である。出力装置103は、タッチパネル及びディスプレイ等を含む。
ネットワークインタフェース106は、外部装置と通信するためのインタフェースである。
計算機100には、入力装置102又はネットワークインタフェース106を介して、識別対象の文字を含む入力画像が入力される。なお、入力画像は副記憶装置105又は外部記憶装置に格納されてもよい。
主記憶装置104は、プロセッサ101が実行するプログラム及びプログラムが使用する情報を格納する。また、主記憶装置104は、プログラムが一時的に使用するワークエリアを含む。主記憶装置104は、例えば、メモリ等が考えられる。
実施例1の主記憶装置104は、文字認識モジュール110及び設定モジュール120を実現するプログラムと、言語知識情報130とを格納する。
言語知識情報130は、言語知識を管理するための情報である。言語知識情報130の詳細は図2を用いて説明する。
文字認識モジュール110は、文字認識の機能を実現するモジュールであり、画像特徴抽出モジュール111、時系列特徴抽出モジュール112、識別候補出力モジュール113、及びデコードモジュール114を含む。文字認識モジュール110が実行する処理については図3を用いて説明する。
設定モジュール120は、デコードにおける補正ルールを設定するためのインタフェースを提供し、また、インタフェースを介して入力された補正ルールを文字認識モジュール110に設定する。
なお、主記憶装置104は、必要な一部のモジュールを実現できるプログラムを格納していればよく、すべてのモジュールを実現するプログラム及び情報を格納している必要はない。
副記憶装置105は、データを永続的に格納する。副記憶装置105は、例えば、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等が考えられる。なお、主記憶装置104に格納されるプログラム及び情報は、副記憶装置105に格納されてもよい。この場合、プロセッサ101が、副記憶装置105からプログラム及び情報を読み出し、主記憶装置104にロードする。
なお、複数の計算機100から構成される計算機システムを用いて文字認識処理を実行してもよい。この場合、各計算機100は直接又はネットワークを介して互いに接続される。ネットワークの種類及び接続方式には限定されない。計算機システムでは、各計算機100が同じ処理を実行してもよいし、各計算機100が異なる処理を実行してもよい。
図2は、実施例1の言語知識情報130の一例を示す図である。
図2に示す言語知識情報130は、bi-gramの生起確率辞書である。ここで、bi-gramとは、任意の文字列又は文書を連続したn個の文字で分割するテキスト分割方法であるn-gramにおいて、n=2の場合のことである。
言語知識情報130は、一つの起点文字に対する後続文字の生起確率を纏めたエントリを格納する。ここで、起点文字はbi-gramの一文字目の文字であり、後続文字はbi-gramの二文字目の文字である。エントリは、番号201、文字202、後続文字203、及び生起確率204を含む。
番号201は、エントリを一意に識別するための番号を格納するフィールドである。文字202は、bi-gramの一文字目の文字を格納するフィールドである。後続文字203は、bi-gramの二文字目の文字を格納するフィールドである。生起確率204は、起点文字及び後続文字が連続して生起する確率を格納するフィールドである。
図3は、実施例1の計算機100が実行する文字認識処理の概要を説明するフローチャートである。図4は、実施例1の計算機100が実行する文字認識処理におけるデータ処理の一例を示す図である。
計算機100の文字認識モジュール110は、入力画像400が入力された場合、以下で説明する文字認識処理を開始する。
文字認識モジュール110の画像特徴抽出モジュール111は、入力画像400に対して画像特徴抽出処理を実行する(ステップS301)。
画像特徴抽出処理では、画像特徴抽出モジュール111が入力画像400から特徴(画像の特徴量)を抽出する。画像特徴抽処理は、公知の手法を用いて実現可能である。例えば、ルールベースの方向特徴の抽出処理、及びCNNを用いた特徴抽出処理等が考えられる。
次に、文字認識モジュール110の時系列特徴抽出モジュール112は、画像の特徴量を用いて時系列特徴抽出処理を実行する(ステップS302)。
時系列特徴抽出処理では、時系列特徴抽出モジュール112が時系列データから特徴(時系列データの特徴量)を抽出する。時系列特徴抽出処理は、公知の手法を用いて実現可能である。例えば、画像の特徴量をタイムステップごとに区切りって時系列データの特徴量として保持し、RNN及びLong short-term memory(LSTM)等の再帰型ニューラルネットワークに入力する処理が考えられる。なお、画像特徴抽出処理において、入力画像を所定の領域に区切ってから、各領域の画像の特徴量を抽出し、各領域の画像の特徴量を時系列(文字の認識順又は領域の順番)に沿って保持してもよい。
図4では矩形401が時系列データを表す。時系列データを時系列順に再帰型ニューラルネットワークに入力することによって、タイムステップ毎の文字の確率(確率分布)が算出される。時系列特徴抽出処理によって、タイムステップの各文字の確率を成分とする確率ベクトルから構成される識別候補行列402が時系列データの特徴として抽出される。
次に、文字認識モジュール110の識別候補出力モジュール113は、時系列データの特徴量を用いて識別候補出力処理を実行する(ステップS303)。
識別候補出力処理では、識別候補出力モジュール113は、タイムステップ毎の識別候補(文字候補)を出力する。識別候補出力処理は、公知の手法を用いて実現可能である。例えば、文字認識辞書内の最近傍探索を実行し、又はソフトマックス関数を用いた演算を実行することによって、各タイムステップについて、可能性の高い順に複数の識別候補を出力する処理が考えられる。
次に、文字認識モジュール110のデコードモジュール114は、出力された識別候補に対してデコード処理を実行する(ステップS304)。
デコード処理では、デコードモジュール114が、CTCを用いて各タイムステップの最も確率が高い文字から構成される第一文字列403を出力し、第一文字列403を所定長の第二文字列404に変換し、さらに、言語知識情報130を用いた補正処理を実行する。より具体的には、デコードモジュール114は、識別候補行列402を用いて、計算量を抑制しながら、言語知識を考慮した最適パスを選択し、最終的な識別結果を得る。デコード処理の詳細については図5を用いて説明する。
従来技術では、CTCを用いたデコード処理及び補正処理が独立して実行されていた。CTCでは、各タイムステップの確率が最大の文字を選択することによって文字列が出力され、連続する同一文字及びblankの削除が実行され、最終的な文字列が出力される。そのため、補正処理では、削除されたタイムステップの文字を考慮することが困難であった。
これに対して、実施例1のデコード処理は、言語知識を用いて削除されたタイムステップを考慮した識別候補のデコードが行われる。
図5は、実施例1のデコード処理の一例を説明するフローチャートである。
デコードモジュール114は、識別候補行列402を取得する(ステップS501)。
デコードモジュール114は、識別候補行列402から、各タイムステップの確率が最大の文字を取得する(ステップS502)。これによって、第一文字列403が出力される。
デコードモジュール114は、同一文字が連続するタイムステップのうち、確率が最大のタイムステップ以外のタイムステップを削除する(ステップS503)。
デコードモジュール114は、取得した文字が「blank」であるタイムステップを削除する(ステップS504)。以上の処理によって、第二文字列404が出力される。
デコードモジュール114は、言語知識情報130から、残ったタイムステップの文字間の生起確率を取得する(ステップS505)。以下の説明では、二つの文字の組を文字ペアと記載する。
デコードモジュール114は、生起確率が閾値α以下の文字ペアが存在するか否かを判定する(ステップS506)。閾値αは任意の数値であり、ユーザによって設定される。なお、閾値αは適宜更新できる。
ステップS506は言語として自然な文字の並びであるか否かを判定するための処理である。
生起確率が閾値α以下の文字ペアが存在しない場合、デコードモジュール114は、最終的な識別結果を出力し(ステップS510)、デコード処理を終了する。この場合、CTCの出力結果(第二文字列404)がそのまま最終的な識別結果として出力される。
生起確率が閾値α以下の文字ペアが存在する場合、デコードモジュール114は、誤って削除されたタイムステップを復元するために、削除タイムステップ対策処理を実行する(ステップS507)。削除タイムステップ対策処理の詳細は図6を用いて説明する。
デコードモジュール114は、誤って残ったタイムステップを削除するために、ノイズタイムステップ対策処理を実行する(ステップS508)。ノイズタイムステップ対策処理の詳細は図8を用いて説明する。
デコードモジュール114は、誤った文字が選択されたタイムステップを補正するために、誤読タイムステップ対策処理を実行する(ステップS509)。誤読タイムステップ対策処理の詳細は図10を用いて説明する。
デコードモジュール114は、最終的な識別結果を出力し(ステップS510)、デコード処理を終了する。
なお、ステップS507からS509の処理については、一部の処理のみを実行するようにしてもよい。補正ルール(実行する対策処理)の設定及び変更は、図12に示すようなGUI1200を用いて行われる。
図6は、実施例1の削除タイムステップ対策処理の一例を説明するフローチャートである。図7は、実施例1の削除タイムステップ対策処理の具体例を示す図である。
デコードモジュール114は、生起確率が閾値α以下の文字ペアのループ処理を開始する(ステップS601)。具体的には、デコードモジュール114は、生起確率が閾値α以下の文字ペアの中からターゲット文字ペアを選択する。
デコードモジュール114は、識別候補行列402から、ターゲット文字ペアに対応するタイムステップの確率ベクトルを取得する(ステップS602)。
デコードモジュール114は、ターゲット文字ペアの間に削除タイムステップが存在するか否かを判定する(ステップS603)。例えば、デコードモジュール114は、第一文字列403及び第二文字列404を比較する。
ターゲット文字ペアの間に削除タイムステップが存在しない場合、デコードモジュール114はステップS606に進む。
ターゲット文字ペアの間に削除タイムステップが存在する場合、デコードモジュール114は、削除タイムステップのうち、最大確率が閾値β以下である削除タイムステップが存在するか否かを判定する(ステップS604)。閾値βは任意の数値であり、ユーザによって設定される。なお、閾値βは適宜更新できる。
削除タイムステップのうち、最大確率が閾値β以下である削除タイムステップが存在しない場合、デコードモジュール114はステップS606に進む。
削除タイムステップのうち、最大確率が閾値β以下である削除タイムステップが存在する場合、デコードモジュール114は、削除タイムステップを復元し(ステップS605)、その後、ステップS606に進む。具体的には、デコードモジュール114は、最大確率が閾値β以下である削除タイムステップと、当該削除タイムステップの一つ前の削除タイムステップと、当該削除タイムステップの一つ後の削除タイムステップとを復元する。
なお、復元する削除タイムステップの数及び範囲は任意に設定できる。また、範囲内に削除タイムステップが存在しない場合、削除タイムステップの復元は行われない。
ステップS606では、デコードモジュール114は、全ての文字ペアの処理が完了したか否かを判定する(ステップS606)。
全ての文字ペアの処理が完了していない場合、デコードモジュール114は、ステップS601に戻り、同様の処理を実行する。
全ての文字ペアの処理が完了した場合、デコードモジュール114は削除タイムステップ対策処理を終了する。
ここで、図7を用いて削除タイムステップ対策処理の具体例を説明する。
CTCの結果、第一文字列403から第二文字列404が得られる。この場合、二つの「あ」のいずれか一つの「あ」に対応するタイムステップが削除され、「あ」と「が」の間のblankに対応するタイムステップが削除されている。
図7は、削除タイムステップ対策処理によって、第二文字列404にblankに対応する削除タイムステップが復元されたことを示す。これによって、誤って削除されたタイムステップを含めた補正が可能となる。
図8は、実施例1のノイズタイムステップ対策処理の一例を説明するフローチャートである。図9は、実施例1のノイズタイムステップ対策処理の具体例を示す図である。
デコードモジュール114は、生起確率が閾値α以下の文字ペアのループ処理を開始する(ステップS801)。具体的には、デコードモジュール114は、生起確率が閾値α以下の文字ペアの中からターゲット文字ペアを選択する。
デコードモジュール114は、識別候補行列402から、ターゲット文字ペアに対応するタイムステップの確率ベクトルを取得する(ステップS802)。
デコードモジュール114は、ターゲット文字ペアに対応するタイムステップの少なくともいずれかの最大確率が閾値γ以下であるか否かを判定する(ステップS803)。閾値γは任意の数値であり、ユーザによって設定される。なお、閾値γは適宜更新できる。
ターゲット文字ペアに対応する両方のタイムステップの最大確率が閾値γより大きい場合、デコードモジュール114はステップS805に進む。
ターゲット文字ペアに対応するタイムステップの少なくともいずれかの最大確率が閾値γ以下である場合、デコードモジュール114は、最大確率が閾値γ以下のタイムステップを削除し(ステップS804)、その後、ステップS805に進む。
ステップS805では、デコードモジュール114は、全ての文字ペアの処理が完了したか否かを判定する(ステップS606)。
全ての文字ペアの処理が完了していない場合、デコードモジュール114は、ステップS801に戻り、同様の処理を実行する。
全ての文字ペアの処理が完了した場合、デコードモジュール114はノイズタイムステップ対策処理を終了する。
ここで、図9を用いてノイズタイムステップ対策処理の具体例を説明する。
CTCの結果、第一文字列403から第二文字列404が得られる。この場合、二つの「あ」のいずれか一つの「あ」に対応するタイムステップが削除され、また、「り」と「が」の間のblankに対応するタイムステップが削除されている。
図9は、ノイズタイムステップ対策処理によって、第二文字列404から「い」に対応するタイムステップが削除されたことを示す。これによって、ノイズとして混入した文字を削除することができる。
図10は、実施例1の誤読タイムステップ対策処理の一例を説明するフローチャートである。図11は、実施例1の誤読タイムステップ対策処理において生成される有向グラフの一例を示す図である。
デコードモジュール114は、タイムステップのループ処理を開始する(ステップS1001)。具体的には、デコードモジュール114は、削除タイムステップ対策処理及びノイズタイムステップ対策処理が実行された後の第二文字列404に含まれる文字に対応する第一文字列403のタイムステップを特定する。デコードモジュール114は、特定されたタイムステップの中から一つのタイムステップを選択する。ここでは、時系列順にタイムステップが選択されるものとする。以下の説明では、第二文字列404に含まれる文字に対応する第一文字列403の文字に対応するタイムステップを探索タイムステップと記載する。
デコードモジュール114は、識別候補行列402から、探索タイムステップの確率ベクトルを取得する(ステップS1002)。
デコードモジュール114は、探索タイムステップの確率ベクトルから、確率の上位n個の文字を選択する(ステップS1003)。nは任意の数値であり、ユーザによって設定される。なお、nは適宜更新できる。
具体的には、デコードモジュール114は、選択された文字及び当該文字の確率を含むノードから構成される層を生成する。図11の点線の枠線が一つの層を表す。また、一つの楕円が一つのノードを表す。
デコードモジュール114は、全ての探索タイムステップについて処理が完了したか否かを判定する(ステップS1004)。
全ての探索タイムステップについて処理が完了していない場合、デコードモジュール114は、ステップS1001に戻り、同様の処理を実行する。
全ての探索タイムステップについて処理が完了した場合、デコードモジュール114は、隣接する層のノードを結合することによって有向グラフを生成する(ステップS1005)。例えば、図11に示すような有向グラフが生成される。ノード間を接続するアローには文字間の生起確率が設定される。
デコードモジュール114は、有向グラフを用いた最適パス探索処理を実行する(ステップS1006)。例えば、デコードモジュール114は、各パスのノードの確率及びアローに設定された文字間の生起確率の乗算値を算出し、当該乗算値が最大となるパスを最適パスとして出力する。
デコードモジュール114は、最適パスの各ノードに対応する文字から構成される文字列を識別結果として出力し(ステップS1007)、その後、誤読タイムステップ対策処理を終了する。
図12は、実施例1の計算機100が提供するGUI1200の一例を示す図である。
GUI1200は、サンプル表示欄1210、ルール選択欄1220、設定ボタン1230、及び解除ボタン1240を含む。
ルール選択欄1220は、補正ルール、すなわち、実行する処理を選択するための欄である。ルール選択欄1220は、選択欄1221及び追加ボタン1222が含まれる。選択欄1221には、選択可能な処理(補正ルール)がプルダウン形式で表示される。追加ボタン1222は、選択欄1221を追加するための操作ボタンである。
なお、本実施例では、誤読タイムステップ対策処理は必ず選択されるように設定される。ユーザは削除タイムステップ対策処理及びノイズタイムステップ対策処理のいずれかを実行するように設定できる。
サンプル表示欄1210は、設定された補正ルールに基づいた処理の挙動サンプルを表示する欄である。サンプル表示欄1210には、識別候補行列402、デコード過程、及びデコード結果等が表示される。サンプル表示欄1210は、スクロール機能を有してもよい。
設定ボタン1230は、ルール選択欄1220にて選択した補正ルールを設定するための操作ボタンである。
解除ボタン1240は、設定された補正ルールを解除するための操作ボタンである。
以上で説明したように、実施例1の計算機100は、CTCによる情報の欠落と言語知識とを考慮した補正処理を含むデコードを実行する。これによって、識別精度を高めることができる。また、最適パスを探索するためのノードを絞り込むことによって、計算量を抑制できる。
上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Java等の広範囲のプログラム又はスクリプト言語で実装できる。
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。

Claims (6)

  1. 文字認識処理を実行する計算機システムであって、
    演算装置、前記演算装置に接続される記憶装置、及び、前記演算装置に接続され、外部装置と接続するインタフェースを有する計算機を少なくとも一つ備え、
    文字列の生起確率を示す情報を言語知識として保持し、
    入力画像から、第一数のタイムステップの時系列データの特徴量を算出する特徴量抽出部と、
    前記時系列データの特徴量に基づいて、前記各タイムステップにおける複数の文字の各々に該当する確率を算出する識別候補出力部と、
    Connectionist Temporal Classificationを用いて、前記各タイムステップの前記確率が最大の文字から構成される第一文字列を生成し、前記第一文字列から所定のタイムステップを削除することによって第二数の文字から構成される第二文字列を出力する処理と、前記識別候補出力部の処理結果及び前記言語知識を用いた補正ルールに基づいて前記第二文字列を補正することによって第三数の文字から構成される第三文字列を出力する処理とを実行するデコード部と、を備え
    前記デコード部は、
    前記識別候補出力部によって算出された前記タイムステップの前記確率を成分とする確率ベクトルを前記タイムステップ順に並べた識別候補行列を取得する第1処理と、
    前記言語知識を用いて、前記第二文字列に含まれる文字から構成される文字ペアの生起確率を算出する第2処理と、
    前記識別候補行列及び前記文字ペアの生起確率を用いた前記補正ルールに基づいて前記第二文字列を補正する第3処理と、を実行し、
    前記第3処理は、
    前記第一文字列に含まれる文字に対応する前記タイムステップの中から探索タイムステップを選択する第4処理と、
    前記探索タイムステップの前記確率ベクトルを用いて、前記探索タイムステップの候補文字を選択し、前記候補文字をノードとする層を定義する第5処理と、
    時系列が隣接する二つの前記層の前記ノードを接続することによって有向グラフを生成する第6処理と、
    前記有向グラフを用いて最適パスを探索する第7処理と、
    前記最適パスを構成する前記ノードに対応する文字から構成される前記第三文字列を出力する第8処理と、を含み、
    前記第4処理は、
    前記識別候補行列及び前記文字ペアの生起確率を用いて、前記第一文字列から削除されたタイムステップの中から復元するタイムステップを選択して、前記選択されたタイムステップを復元する処理と、
    前記選択されたタイムステップが復元された前記第二文字列に含まれる文字に対応する前記第一文字列の前記タイムステップを前記探索タイムステップとして選択する処理と、を含むことを特徴とする計算機システム。
  2. 請求項1に記載の計算機システムであって、
    前記第4処理は、
    前記識別候補行列及び前記文字ペアの生起確率を用いて、前記第二文字列から削除するタイムステップを選択して、前記選択されたタイムステップを削除する処理と、
    前記選択されたタイムステップが削除された前記第二文字列に含まれる文字に対応する前記第一文字列の前記タイムステップを前記探索タイムステップとして選択する処理と、を含むことを特徴とする計算機システム。
  3. 請求項1に記載の計算機システムであって、
    前記探索タイムステップを選択するための前記補正ルールを設定するためのインタフェースを提供する設定部を備えることを特徴とする計算機システム。
  4. 計算機システムが実行する文字認識方法であって、
    前記計算機システムは、
    演算装置、前記演算装置に接続される記憶装置、及び、前記演算装置に接続され、外部装置と接続するインタフェースを有する計算機を少なくとも一つ含み、
    文字列の生起確率を示す情報を言語知識として保持し、
    前記文字認識方法は、
    前記演算装置が、入力画像から、第一数のタイムステップの時系列データの特徴量を算出する第1のステップと、
    前記演算装置が、前記時系列データの特徴量に基づいて、前記各タイムステップにおける複数の文字の各々に該当する確率を算出する第2のステップと、
    前記演算装置が、Connectionist Temporal Classificationを用いて、前記各タイムステップの前記確率が最大の文字から構成される第一文字列を生成し、前記第一文字列から所定のタイムステップを削除することによって第二数の文字から構成される第二文字列を出力する第3のステップと、
    前記演算装置が、前記第2のステップの処理結果及び前記言語知識を用いた補正ルールに基づいて前記第二文字列を補正することによって第三数の文字から構成される第三文字列を出力する第4のステップと、を含み、
    前記第4のステップは、
    前記演算装置が、前記タイムステップの前記確率を成分とする確率ベクトルを前記タイムステップ順に並べた識別候補行列を取得する第5のステップと、
    前記演算装置が、前記言語知識を用いて、前記第二文字列に含まれる文字から構成される文字ペアの生起確率を算出する第6のステップと、
    前記演算装置が、前記識別候補行列及び前記文字ペアの生起確率を用いた前記補正ルールに基づいて前記第二文字列を補正する第7のステップと、を含み、
    前記第7のステップは、
    前記演算装置が、前記第一文字列に含まれる文字に対応する前記タイムステップの中から探索タイムステップを選択する第8のステップと、
    前記演算装置が、前記探索タイムステップの前記確率ベクトルを用いて、前記探索タイムステップの候補文字を選択し、前記候補文字をノードとする層を定義する第9のステップと、
    前記演算装置が、時系列が隣接する二つの前記層の前記ノードを接続することによって有向グラフを生成する第10のステップと、
    前記演算装置が、前記有向グラフを用いて最適パスを探索する第11のステップと、
    前記演算装置が、前記最適パスを構成する前記ノードに対応する文字から構成される前記第三文字列を出力する第12のステップと、を含み、
    前記第8のステップは、
    前記演算装置が、前記識別候補行列及び前記文字ペアの生起確率を用いて、前記第一文字列から削除されたタイムステップの中から復元するタイムステップを選択して、前記選択されたタイムステップを復元するステップと、
    前記演算装置が、前記選択されたタイムステップが復元された前記第二文字列に含まれる文字に対応する前記第一文字列の前記タイムステップを前記探索タイムステップとして選択するステップと、を含むことを特徴とする文字認識方法。
  5. 請求項4に記載の文字認識方法であって、
    前記第8のステップは、
    前記演算装置が、前記識別候補行列及び前記文字ペアの生起確率を用いて、前記第二文字列から削除するタイムステップを選択して、前記選択されたタイムステップを削除するステップと、
    前記演算装置が、前記選択されたタイムステップが削除された前記第二文字列に含まれる文字に対応する前記第一文字列の前記タイムステップを前記探索タイムステップとして選択するステップと、を含むことを特徴とする文字認識方法。
  6. 請求項4に記載の文字認識方法であって、
    前記演算装置が、前記探索タイムステップを選択するための前記補正ルールを設定するためのインタフェースを提供するステップを含むことを特徴とする文字認識方法。
JP2022553411A 2020-10-02 2020-10-02 計算機システム及び文字認識方法 Active JP7430274B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/037624 WO2022070422A1 (ja) 2020-10-02 2020-10-02 計算機システム及び文字認識方法

Publications (2)

Publication Number Publication Date
JPWO2022070422A1 JPWO2022070422A1 (ja) 2022-04-07
JP7430274B2 true JP7430274B2 (ja) 2024-02-09

Family

ID=80950414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022553411A Active JP7430274B2 (ja) 2020-10-02 2020-10-02 計算機システム及び文字認識方法

Country Status (2)

Country Link
JP (1) JP7430274B2 (ja)
WO (1) WO2022070422A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013047887A (ja) 2011-08-29 2013-03-07 Fuji Xerox Co Ltd 画像処理装置及び画像処理プログラム
CN110796092A (zh) 2019-10-30 2020-02-14 北京一起教育信息咨询有限责任公司 一种文字识别方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013047887A (ja) 2011-08-29 2013-03-07 Fuji Xerox Co Ltd 画像処理装置及び画像処理プログラム
CN110796092A (zh) 2019-10-30 2020-02-14 北京一起教育信息咨询有限责任公司 一种文字识别方法及装置

Also Published As

Publication number Publication date
JPWO2022070422A1 (ja) 2022-04-07
WO2022070422A1 (ja) 2022-04-07

Similar Documents

Publication Publication Date Title
CN110765763B (zh) 语音识别文本的纠错方法、装置、计算机设备和存储介质
US11636264B2 (en) Stylistic text rewriting for a target author
US11150875B2 (en) Automated content editor
JP3998668B2 (ja) 形態素解析装置、方法及びプログラム
US11276394B2 (en) Method for re-aligning corpus and improving the consistency
JP5071373B2 (ja) 言語処理装置、言語処理方法および言語処理用プログラム
JP6331756B2 (ja) テストケース生成プログラム、テストケース生成方法、及びテストケース生成装置
WO2014036827A1 (zh) 一种文本校正方法及用户设备
JP2019204214A (ja) 学習装置、学習方法、プログラム及び推定装置
JP2020060970A (ja) コンテキスト情報生成方法、コンテキスト情報生成装置およびコンテキスト情報生成プログラム
US20210342539A1 (en) Method and apparatus for recognizing medical entity in medical text
KR20180036074A (ko) 텍스트 필터링 장치 및 방법
JP7430274B2 (ja) 計算機システム及び文字認識方法
JP6261669B2 (ja) クエリ校正システムおよび方法
JP6473112B2 (ja) 音声認識精度推定装置、音声認識精度推定方法及び音声認識精度推定プログラム
JP4735958B2 (ja) テキストマイニング装置、テキストマイニング方法およびテキストマイニングプログラム
WO2021166231A1 (ja) シナリオ生成装置、シナリオ生成方法、及びコンピュータ読み取り可能な記録媒体
US20220138434A1 (en) Generation apparatus, generation method and program
KR102668118B1 (ko) 자연어 기반의 비디오 검색을 위한 학습 장치 및 학습 방법
US11537794B2 (en) Learning device, learning method, computer program product, and information processing system
JP2023010430A (ja) 計算機及び文字認識方法
US11423943B2 (en) Method and apparatus for generating a video based on a process
US20240013407A1 (en) Information processing apparatus, information processing method, and non-transitory computer-readable storage medium
US20220092260A1 (en) Information output apparatus, question generation apparatus, and non-transitory computer readable medium
WO2023084704A1 (ja) 画像処理装置、方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230926

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240130

R150 Certificate of patent or registration of utility model

Ref document number: 7430274

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150