(57)【要約】【課題】予め設定されたルールに基づく検出が難しい誤字脱字や原稿内不一致の検出を行う。【解決手段】対象文書の校閲を行う文書校閲装置であって、機械学習によって、文章中の誤字を検出するための誤字検出モデルを構築するモデル構築部と、誤字検出モデルを用いて、対象文書に含まれる誤字脱字の情報を抽出する誤字脱字抽出部と、対象文書に含まれる複数の単語間の関連性を解析し、文書内不一致を抽出する文書内不一致抽出部と、を備える。【選択図】図４
2019145023.tif 000002
【特許請求の範囲】
【請求項１】
対象文書の校閲を行う文書校閲装置であって、
機械学習によって、文章中の誤字を検出するための誤字検出モデルを構築するモデル構築部と、
前記誤字検出モデルを用いて、前記対象文書に含まれる誤字脱字の情報を抽出する誤字脱字抽出部と、
前記対象文書に含まれる複数の単語間の関連性を解析し、文書内不一致を抽出する文書内不一致抽出部と、を備えた文書校閲装置。
【請求項２】
前記誤字脱字抽出部は、
前記対象文書の各文字の出現確率を、前後の文脈に基づいて計算し、出現確率が一定値以下の文字を誤字と判定して抽出する、請求項１に記載の文書校閲装置。
【請求項３】
誤字と判定された前記文字について、より出願確率の高い文字を修正候補として提示する修正候補提示部を備えた請求項２に記載の文書校閲装置。
【請求項４】
前記文書内不一致抽出部は、
前記対象文書に含まれる２つの単語間の類似度を機械学習によって構築した文書内不一致検出モデルを用いて算出し、算出した類似度が所定の閾値以上の場合には、当該２つの単語を文書内不一致として抽出する、請求項１から３のいずれか１項に記載の文書校閲装置。
【請求項５】
前記文書内不一致抽出部は、
前記対象文書に含まれる２つの固有名詞間の編集距離を算出し、算出した編集距離がゼロではなく、且つ所定の閾値以内の場合には、２つの固有名詞を文書内不一致として抽出し、
前記対象文書に含まれる読み方が一致する２つの一般名詞間の類似度を、前記文書内不一致検出モデルを用いて算出し、算出した類似度が所定の閾値以上の場合には、当該２つの一般名詞を文書内不一致として抽出する、請求項４に記載の文書校閲装置。
【請求項６】
対象文書の校閲を行うコンピュータを、
機械学習によって、文章中の誤字を検出するための誤字検出モデルを構築するモデル構築部と、
前記誤字検出モデルを用いて、前記対象文書に含まれる誤字脱字の情報を抽出する誤字脱字抽出部と、
前記対象文書に含まれる複数の単語間の関連性を解析し、文書内不一致を抽出する文書内不一致抽出部と、して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書校閲装置およびプログラムに関する。
【背景技術】
【０００２】
文章中の誤字脱字や原稿内不一致（矛盾や表記ゆれ）を検出するシステムが活用されている。例えば、特許文献１には、予め記憶されている誤字脱字のパターンに基づいて、文書中から誤字脱字の情報を抽出するシステムが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１３０１０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来のシステムでは、予め設定されたルールに基づいて、文書の校閲が行われていた。このため、ルールベースでは検出が難しい誤字脱字や原稿内不一致に適切に対応することができなかった。
【０００５】
本発明は、以上説明した事情を鑑みてなされたものであり、予め設定されたルールに基づく検出が難しい誤字脱字や原稿内不一致の検出を行うことを目的の一つとする。
【課題を解決するための手段】
【０００６】
本発明の一実施形態に係る文書校閲装置は、対象文書の校閲を行う文書校閲装置であって、
機械学習によって、文章中の誤字を検出するための誤字検出モデルを構築するモデル構築部と、
前記誤字検出モデルを用いて、前記対象文書に含まれる誤字脱字の情報を抽出する誤字脱字抽出部と、
前記対象文書に含まれる複数の単語間の関連性を解析し、文書内不一致を抽出する文書内不一致抽出部と、を備えたものである。
【０００７】
また、前記誤字脱字抽出部は、前記対象文書の各文字の出現確率を、前後の文脈に基づいて計算し、出現確率が一定値以下の文字を誤字と判定して抽出するようにしてもよい。
【０００８】
また、誤字と判定された前記文字について、より出願確率の高い文字を修正候補として提示する修正候補提示部を備えるようにしてもよい。
【０００９】
また、前記文書内不一致抽出部は、前記対象文書に含まれる２つの単語間の類似度を算出し、算出した類似度が所定の閾値以上の場合には、当該２つの単語を文書内不一致として抽出するようにしてもよい。
【００１０】
また、前記文書内不一致抽出部は、前記対象文書に含まれる２つの固有名詞間の編集距離を算出し、算出した編集距離がゼロではなく、且つ所定の閾値以内の場合には、２つの固有名詞を文書内不一致として抽出し、前記対象文書に含まれる読み方が一致する２つの一般名詞間の類似度を、前記文書内不一致検出モデルを用いて算出し、算出した類似度が所定の閾値以上の場合には、当該２つの一般名詞を文書内不一致として抽出するようにしてもよい。
【発明の効果】
【００１１】
本発明によれば、予め設定されたルールに基づく検出が難しい誤字脱字や原稿内不一致の検出を行うことができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る文書校閲システム１の構成を示す図。
【図２】本発明の実施形態に係る誤字検出モデル構築処理のフローチャート。
【図３】本発明の実施形態に係る誤字検出モデルを説明する図。
【図４】本発明の実施形態に係る誤字脱字の検出処理のフローチャート。
【図５】本発明の実施形態に係る修正候補の表示方法を例示する図。
【図６】本発明の実施形態に係る文書内不一致の検出処理のフローチャート。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について図面を参照しつつ詳細に説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略する。
【００１４】
実施の形態
図１は、本実施形態に係る文書校閲システム１の構成を示す図である。
図１に示すように、文書校閲システム１は、文書校閲サーバ（文書校閲装置）１０と、端末２０を含んでいる。文書校閲サーバ１０と端末２０は、通信ネットワークＮを介して接続される。通信ネットワークＮは、例えば、インターネット、ＬＡＮ、専用線、電話回線、企業内ネットワーク、移動体通信網、ブルートゥース（登録商標）、ＷｉＦｉ（Wireless Fidelity）、その他の通信回線、それらの組み合わせ等のいずれであってもよく、有線であるか無線であるかを問わない。また、端末２０は複数含まれていてもよい。
【００１５】
文書校閲サーバ１０は、利用者が端末２０を介して入力する文書の校閲を行う。文書校閲サーバ１０は、汎用的なコンピュータであり、１台のコンピュータで構成されていてもよいし、通信ネットワークＮ上に分散する複数のコンピュータから構成されてもよい。文書校閲サーバ１０は、制御装置１１（モデル構築部、誤字脱字抽出部、文書内不一致抽出部、修正候補提示部）と、外部記憶装置１２を備えている。制御装置１１は、ハードウェアとして、ＣＰＵ、ＲＯＭやＲＡＭ等のメモリ、入力インタフェース、出力インタフェース、通信インタフェース及びこれらを結ぶバス等を備えている。制御装置１１は、ＣＰＵがＲＯＭ等に格納されたプログラムを実行することにより各種機能を実現する。外部記憶装置１２は、ハードディスクドライブ等である。
【００１６】
端末２０は、通信ネットワークＮを介して文書校閲サーバ１０とデータの授受が可能なあらゆる端末装置を利用することができる。例えば、タブレット端末やスマートフォン、パーソナルコンピュータ（ＰＣ）、ノートＰＣ、携帯電話機、携帯情報端末（ＰＤＡ）などであってもよい。端末２０は、プロセッサ２０１、各種操作ボタンやタッチパネルなどの入力装置２０２、液晶ディスプレイなどの表示装置２０３、通信ネットワークＮに接続するための通信インタフェース２０４、ディスクドライブまたは半導体メモリ（ＲＯＭ、ＲＡＭなど）などの記憶資源２０５を備えている。
【００１７】
（誤字検出モデルの構築）
次に、本実施形態による誤字検出モデルの構築について、図２のフローチャートを用いて説明する。
【００１８】
まず、文書校閲サーバ１０は、モデル構築のための機械学習に用いる学習用データを取得する（ステップＳ１０１）。学習用データは、文章のサンプルデータであり、誤字脱字を含まない大量の文章（ＯＫデータ、例「私は犬と散歩する。」）と、誤字脱字を含む文章と、誤っている箇所の情報（ＮＧデータ、例「私は犬に散歩する。（に）」）が含まれる。学習用データは、外部記憶装置１２に記憶されていてもよいし、通信ネットワークＮを介して外部のサーバ等から取得するようにしてもよい。なお、学習用データとして用いる文書のサンプルは、校閲対象の文書と形式や内容ができるだけ類似しているものを用いることが望ましい。
【００１９】
次に、文書校閲サーバ１０は、学習用データを用いて機械学習を行うためのネットワークを構築する（ステップＳ１０２）。図３は、誤字検出モデルを図式化したものである。図３に示す誤字検出モデルは、双方向ＬＳＴＭ（Bidirectional Long Short-Term Memory）をもとに構成した言語モデルであり、文章中の対象箇所にあてはまる文字の出現確率を、前後の文言に基づいて算出し、当該文字の出現確率が低ければ誤字と判定する。具体的には、前方層（Forward Layer）と後方層（Backward Layer）からなる双方向ＬＳＴＭにおいて、前方層及び後方層を構成する各ＬＳＴＭに、文章を構成する各文字を入力する。そして、誤字判定をする文字が入力される対象箇所に位置するＬＳＴＭ（図中のＬ）に対して、前方層において１つ前方に位置するＬＳＴＭ（図中のＬｆ）の出力と、後方層において１つ後方に位置するＬＳＴＭ（図中のＬｂ）の出力とに基づいて、当該対象箇所に出現する文字候補とその出願確率を出力する。
【００２０】
図３に示す例では、「数億円単位（Ａ）金額の商談となる。」という文章の対象箇所（Ａ）に入る文字として、「が」、「の」、「を」の出現確率はそれぞれ０．１、０．５、０．０５と算出される。この場合、誤字検出モデルは、「数億円単位の金額の商談となる。」という文章に対しては、誤字なしと判定し、「数億円単位が金額の商談となる。」または「数億円単位を金額の商談となる。」という文章に対しては、「が」、「の」をそれぞれ誤字と判定する。
【００２１】
文書校閲サーバ１０は、まず、誤字検出モデルを構築するための学習ネットワークを構築する。具体的には、双方向ＬＳＴＭにより、文章中の対象箇所にある文字が出現する尤度（もっともらしさ）と出現確率を、前後の文言の並びに基づいて算出するネットワークを構築する。
【００２２】
次に、文書校閲サーバ１０は、大量のＯＫデータとＮＧデータを含む学習用データを入力として学習ネットワークの機械学習を行う（ステップＳ１０３）。例えば、「私は犬と散歩する。」のようなＯＫデータが大量に入力され、これに対して「私は犬に散歩する。（に）」のようなＮＧデータが入力されることにより、「私は犬」と「散歩する。」の間に入る文字としては「と」が尤度と出現確率が高く、「に」は低いということが学習される。
【００２３】
次に、文書校閲サーバ１０は、ステップＳ１０３で得られた尤度と出現確率に基づいて、文章中に誤字が含まれるか否かを判定するディープネットワークを構築する（ステップＳ１０４）。
【００２４】
さらに、文書校閲サーバ１０は、ステップＳ１０４で構築したディープネットワークの機械学習を行い、対象文書に誤字が含まれるか否かを判定する誤字検出モデルを構築する（ステップＳ１０５）。
【００２５】
（誤字脱字の検出）
次に、本実施形態による誤字脱字の検出処理について、図４のフローチャートを用いて説明する。
【００２６】
文書校閲サーバ１０は、校閲対象の文書を取得する（ステップＳ２０１）。校閲対象の文書は、利用者が端末２０を介して文章を入力したり、文書校閲サーバ１０に文書ファイルを送信することにより文書校閲サーバ１０に提供するようにしてもよい。また、文書は外部記憶装置１２に記憶しておいてもよいし、通信ネットワークＮを介して外部のサーバ等から取得するようにしてもよい。
【００２７】
文書校閲サーバ１０は、学習済の誤字検出モデルを用いて、対象文書を解析する（ステップＳ２０２）。誤字検出モデルは、対象運所の中に出現確率が所定の閾値以下の文字が検出された場合には出力「１」（誤字有り）を、検出されなかった場合には出力「０」（誤字無し）を返す。誤字検出モデルによる出力が「０」（の場合（ステップＳ２０３：ＮＯ）、処理を終了する。
【００２８】
一方、誤字検出モデルによる出力が「１」の場合（ステップＳ２０３：ＹＥＳ）、文書校閲サーバ１０は、図２のステップＳ１０３で機械学習を行ったモデルに問い合わせを行い、誤字として検出された箇所（出現確率が所定の閾値以下の文字）の情報と、修正候補の文字の情報を取得する（ステップＳ２０４）。修正候補の文字としては、当該誤り箇所において最も尤度の高い文字が提示される。また、尤度が一定値以上の複数の文字を候補として提示するようにしてもよい。修正候補の文字は、端末２０の表示装置２０３に表示される。例えば、図５に示すように、「私は犬に散歩する。」という元の文書が入力された場合に、「に」の修正候補として「と」を表示する。
【００２９】
予め定義された辞書に基づく誤字検出のようなルールベースでの誤字検出の場合、上記の「私は犬に散歩する。」のような例では、各単語が辞書に存在するため、誤字として検出することは難しい。しかし、本実施形態のように、大量の文書サンプルを用いて機械学習を行った誤字検出モデルを用いることにより、ルールベースでは検出が難しい前後の文脈を考慮した誤字の判定を実現することができる。
【００３０】
（文書内不一致の検出）
次に、本実施形態による文書内不一致の検出処理について、図６のフローチャートを用いて説明する。
【００３１】
文書校閲サーバ１０は、校閲対象の文書を単語単位に分割する（ステップＳ３０１）。文書校閲サーバ１０は、分割した単語の中から固有名詞を抽出し、各固有名詞間の距離を算出する（ステップＳ３０２）。固有名詞間の距離は、例えば、レーベンシュタイン距離のような編集距離を利用することができる。レーベンシュタイン距離は、一方の文字列を他方の文字列に変換するのに必要な編集の回数（文字の削除、挿入、置換などの手順の回数）を表している。例えば、「ウエディング」という文字列を「ウェディング」という文字列に変換するためには、「エ」を「ェ」に変換する、という１つの手順が必要になるので、「ウエディング」と「ウェディング」のレーベンシュタイン距離は「１」となる。
【００３２】
文書校閲サーバ１０は、算出した距離が所定の閾値以内（距離がゼロは含まない。）の場合（ステップＳ３０３：ＹＥＳ）、それらの単語を文書内不一致として抽出する（ステップＳ３０４）。すなわち、文字列同士が同一（距離がゼロ）ではないものの、ある程度近い（距離が閾値以内）であれば、不一致の可能性が高いと判断される。
【００３３】
次に、文書校閲サーバ１０は、分割した単語の中から、読み方が一致する一般名詞の組を抽出する（ステップＳ３０５）。例えば、「街並み」（マチナミ）と「街並」（マチナミ）、「式」（シキ）と「四季」（シキ）のように、表記が異なっていても読み方が一致する単語の組み合わせが抽出される。
【００３４】
さらに、文書校閲サーバ１０は、抽出したそれぞれの単語間の類似度を算出する（ステップＳ３０６）。具体的には、まず、Ｗｏｒｄ２Ｖｅｃ等のニューラルネットワークモデル（文書内不一致検出モデル）を利用してそれぞれの単語をベクトルで表現する。Ｗｏｒｄ２Ｖｅｃは、大量のサンプル文書データを用いて、ある単語の周辺に高い頻度で出現する単語（例えば、「リンゴ」の周辺に「食べる」、「赤い」、「おいしい」等）を学習し、その結果を反映したベクトルを出力する。したがって、同じような文脈で使用される意味の似た単語のベクトルは同じような値のベクトル（ベクトル間の距離が近い）となる。
【００３５】
文書校閲サーバ１０は、出力されたそれぞれのベクトル間の距離を、単語間の類似度として算出する。例えば、「街並み」（マチナミ）と「街並」（マチナミ）については、意味がほぼ同じなので、類似度は高い値となる。一方、「式」（シキ）と「四季」（シキ）については、意味は全く異なるため類似度は低くなる。
【００３６】
文書校閲サーバ１０は、算出した類似度が所定の閾値以上の場合（ステップＳ３０７：ＹＥＳ）、それらの単語を文書内不一致として抽出する（ステップＳ３０８）。
【００３７】
例えば、上記の例では、「街並み」と「街並」の組み合わせは文書内不一致と判定されるが、「式」と「四季」については文書内不一致とは判定されない。このように、ニューラルネットワークモデルを用いて文書内不一致の判定を行うことにより、表記ゆれの検出精度を向上させることができる。
【００３８】
次に、文書校閲サーバ１０は、日付、人数、距離等の主に数値についての表記の矛盾の検出を行う（ステップＳ３０９）。具体的には、予め設定したルールにしたがって、文書内の矛盾した表記を抽出する。例えば、文書中に「２００人まで収容可能」という記載と「３００人まで貸切ＯＫ」という記載が含まれている場合、「２００人」と「３００人」が矛盾した表記として抽出される。
【００３９】
以上のように、本実施形態によれば、機械学習によって構築した誤字検出モデルを用いて、文書中に含まれる誤字脱字を抽出するようにしたので、予め設定されたルールに基づく検出が難しい誤字脱字や原稿内不一致の検出を行うことができる。なお、本実施形態では、機械学習により構築した誤字検出モデルを用いて誤字脱字の検出を行っているが、既存のルールベースでの誤字検出（予め作成した辞書に基づく判定等）と組み合わせて誤字脱字の検出を行うようにしてもよい。
【００４０】
また、誤字検出モデルは、文書中の各文字の出現確率を前後の文脈に基づいて計算し、出現確率が一定値以下の文字を誤字と判定して抽出するので、誤字の判定の精度を向上させることができる。
【００４１】
また、誤字と判定された文字については、より出願確率の高い文字を代替案として提示するようにしたので、利用者が効率的に文書の修正を行うことができる。
【００４２】
また、対象文書に含まれる２つの単語間の類似度を機械学習によって構築した文書内不一致検出モデルを用いて算出し、算出した類似度が所定の閾値以上の場合には、当該２つの単語を文書内不一致として抽出するようにしたので、文書内の表記ゆれを高い精度で抽出することができる。
【００４３】
また、対象文書に含まれる２つの固有名詞間の編集距離を算出し、算出した編集距離が所定の閾値以内の場合には、２つの固有名詞を文書内不一致として抽出するとともに、対象文書に含まれる読み方が一致する２つの一般名詞間の類似度を、文書内不一致検出モデルを用いて算出し、算出した類似度が所定の閾値以上の場合には、当該２つの一般名詞を文書内不一致として抽出するようにした。これにより、単語の種類を考慮して、より精度の高い表記ゆれの判定を行うことができる。
【００４４】
なお、本発明は、上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。このため、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、上述した各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更し、または並列に実行することができる。
【符号の説明】
【００４５】
１…文書校閲システム
１０…文書校閲サーバ
１１…制御装置
１２…外部記憶装置
２０…端末
２０１…プロセッサ
２０２…入力装置
２０３…表示装置
２０４…通信インタフェース
２０５…記憶資源
Ｎ…通信ネットワーク
【図１】
2019145023.tif 000003
【図２】
2019145023.tif 000004
【図３】
2019145023.tif 000005
【図４】
2019145023.tif 000006
【図５】
2019145023.tif 000007
【図６】
2019145023.tif 000008
【手続補正書】
【提出日】平成31年4月26日(2019.4.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
対象文書の校閲を行う文書校閲装置であって、
機械学習によって、文章中の誤字を検出するための誤字検出モデルを構築するモデル構築部と、
前記誤字検出モデルを用いて、前記対象文書に含まれる誤字脱字の情報を抽出する誤字脱字抽出部と、
前記対象文書に含まれる複数の単語間の関連性を解析し、文書内不一致を抽出する文書内不一致抽出部と、を備え、
前記文書内不一致抽出部は、
前記対象文書に含まれる２つの固有名詞間の編集距離を算出し、算出した編集距離がゼロではなく、且つ所定の閾値以内の場合には、２つの固有名詞を文書内不一致として抽出し、
前記対象文書に含まれる読み方が一致する２つの一般名詞間の類似度を、機械学習によって構築した文書内不一致検出モデルを用いて算出し、算出した類似度が所定の閾値以上の場合には、当該２つの単語を文書内不一致として抽出する、文書校閲装置。
【請求項２】
前記誤字脱字抽出部は、
前記対象文書の各文字の出現確率を、前後の文脈に基づいて計算し、出現確率が一定値以下の文字を誤字と判定して抽出する、請求項１に記載の文書校閲装置。
【請求項３】
誤字と判定された前記文字について、より出願確率の高い文字を修正候補として提示する修正候補提示部を備えた請求項２に記載の文書校閲装置。
【請求項４】
対象文書の校閲を行うコンピュータを、
機械学習によって、文章中の誤字を検出するための誤字検出モデルを構築するモデル構築部と、
前記誤字検出モデルを用いて、前記対象文書に含まれる誤字脱字の情報を抽出する誤字脱字抽出部と、
前記対象文書に含まれる複数の単語間の関連性を解析し、文書内不一致を抽出する文書内不一致抽出部と、して機能させ、
前記文書内不一致抽出部は、
前記対象文書に含まれる２つの固有名詞間の編集距離を算出し、算出した編集距離がゼロではなく、且つ所定の閾値以内の場合には、２つの固有名詞を文書内不一致として抽出し、
前記対象文書に含まれる読み方が一致する２つの一般名詞間の類似度を、機械学習によって構築した文書内不一致検出モデルを用いて算出し、算出した類似度が所定の閾値以上の場合には、当該２つの単語を文書内不一致として抽出する、プログラム。