(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-09-08
(45)【発行日】2025-09-17
(54)【発明の名称】医療明細書用文字認識プログラム及び医療明細書用文字認識装置
(51)【国際特許分類】
G06V 30/412 20220101AFI20250909BHJP
G06V 30/12 20220101ALI20250909BHJP
【FI】
G06V30/412
G06V30/12
(21)【出願番号】P 2021070728
(22)【出願日】2021-04-19
【審査請求日】2024-03-04
(31)【優先権主張番号】P 2020075060
(32)【優先日】2020-04-20
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】519128510
【氏名又は名称】株式会社アニポス
(74)【代理人】
【識別番号】100194478
【氏名又は名称】松本 文彦
(74)【代理人】
【識別番号】100187838
【氏名又は名称】黒住 智彦
(72)【発明者】
【氏名】中川 雄一朗
(72)【発明者】
【氏名】三好 航平
(72)【発明者】
【氏名】北村 寛
【審査官】山田 辰美
(56)【参考文献】
【文献】特開2019-040467(JP,A)
【文献】特開2018-073203(JP,A)
【文献】特開2019-204399(JP,A)
【文献】国際公開第2019/234865(WO,A1)
【文献】平山 淳一 他,仮説検証型アプローチを用いた定義レス非定型帳票認識技術,電子情報通信学会論文誌D VolumeJ97-D No.12,日本,電子情報通信学会,2014年,第J97-D巻 第12号,p.1797-p.1808
(58)【調査した分野】(Int.Cl.,DB名)
G06V 30/412
G06V 30/12
(57)【特許請求の範囲】
【請求項1】
医療明細書を文字認識処理するための医療明細書用文字認識プログラムであって、
画像情報中の読み取り対象に対して文字認識処理が行われてなるテキスト情報と前記テキスト情報の前記画像情報における位置情報とを紐付けた一次処理情報を取得する一次処理情報取得ステップと、
前記一次処理情報から、前記画像情報中の所定の高さ幅に入っている前記テキスト情報を一つの行として紐付ける行判定ステップと、
前記画像情報中の表開始文言を検出してその位置が表の開始と判定するとともに、表終了文言を検出したときには前記表終了文言の右側に存在する数字を表の終了と判定し、かつ表の右端はいずれの数字のテキスト情報よりも右側とし表の左端はいずれかのテキスト情報よりも左側として前記画像情報に含まれる表の位置を特定する表特定ステップと、
前記位置を特定された表の範囲に含まれる複数の前記行から動物病院の住所や電話番号、診療時間や
休診日であるその他お知らせを除くことで、その除いた残りを前記医療明細書における診療項目に関する対象行であると判定する診療項目判定ステップと、
前記対象行から診療項目名とその金額とを抽出しそれらを紐付ける診療項目明細作成ステップと、を実行することを特徴とする医療明細書用文字認識プログラム。
【請求項2】
前記診療項目明細作成ステップにおいて、前記対象行での前記テキスト情報が数字の場合、前記数字の左側の前記テキスト情報を診療項目名と判断することを特徴とする請求項1に記載の医療明細書用文字認識プログラム。
【請求項3】
前記対象行には数量及び単価が含まれ、前記金額が数量と単価の積であることの検算を行う金額検算ステップをさらに備えることを特徴とする請求項1又は2に記載の医療明細書用文字認識プログラム。
【請求項4】
医療明細書を文字認識処理するための医療明細書用文字認識装置であって、
画像情報中の読み取り対象に対して文字認識処理が行われてなるテキスト情報と前記テキスト情報の前記画像情報における位置情報とを紐付けた一次処理情報を取得する一次処理情報取得手段と、
前記一次処理情報から、前記画像情報中の所定の高さ幅に入っている前記テキスト情報を一つの行として紐付ける行判定手段と、
前記画像情報中の表開始文言を検出してその位置が表の開始と判定するとともに、表終了文言を検出したときには前記表終了文言の右側に存在する数字を表の終了と判定し、かつ表の右端はいずれの数字のテキスト情報よりも右側とし表の左端はいずれかのテキスト情報よりも左側として前記画像情報に含まれる表の位置を特定する表特定手段と、
前記位置を特定された表の範囲に含まれる複数の前記行から動物病院の住所や電話番号、診療時間や
休診日であるその他お知らせを除くことで、その除いた残りを前記医療明細書における診療項目に関する対象行であると判定する診療項目判定手段と、
前記対象行から診療項目名とその金額とを抽出しそれらを紐付ける診療項目明細作成手段と、を備えることを特徴とする医療明細書用文字認識装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、医療明細書を文字認識処理するための医療明細書用文字認識プログラム及び医療明細書用文字認識装置に関するものである。
【背景技術】
【0002】
近年、どの業界であってもパソコンによりデジタル処理を行うことが当たり前に行われているが、一度紙に印刷されたものをデジタル処理したいという要望も多くある。
【0003】
紙資料の内容についてデジタル処理を行いたいときには、スキャナ等の光学装置で読み取り、OCR(Optical Character Recognition)によってテキスト情報に変換するということが行われている(例えば、特許文献1参照)。
【0004】
ここで、例えば動物医療に関しペット保険の保険金の精算を行う場合、医療明細書を保険会社に送付し、保険会社が医療明細書の内容に基づいて保険金を支払う必要があるが、通常医療明細書は紙資料であるので、ここでも紙資料である医療明細書からテキスト情報を抽出する必要がある。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかし、医療明細書はフォーマットが定型化されておらず、多種多様な医療明細書が存在する。
【0007】
このように紙資料のフォーマットが定型化されていない場合、紙書類のどの部分を認識してデータ出力すべきか処理が複雑化するので、データを抽出し難いという問題がある。
現状として、医療明細書のデータ化は自動では行えておらず、オペレーターが手入力している。
【0008】
そこで、本発明の目的とするところは、定型化されていない医療明細書であってもテキスト情報を抽出し易い医療明細書用文字認識プログラム及び医療明細書用文字認識装置を提供することにある。
【課題を解決するための手段】
【0009】
上記の目的を達成するために、本発明の請求項1に記載の医療明細書用文字認識プログラムは、
医療明細書を文字認識処理するための医療明細書用文字認識プログラムであって、
画像情報中の読み取り対象に対して文字認識処理が行われてなるテキスト情報と前記テキスト情報の前記画像情報における位置情報とを紐付けた一次処理情報を取得する一次処理情報取得ステップ(S104)と、
前記一次処理情報から、前記画像情報中の所定の高さ幅に入っている前記テキスト情報を一つの行として紐付ける行判定ステップ(S105)と、
前記画像情報に含まれる表の位置を特定する表特定ステップ(S106)と、
前記位置を特定された表の範囲に含まれる前記行を、前記医療明細書における診療項目に関する対象行であると判定する診療項目判定ステップ(S107)と、
前記対象行から診療項目名とその金額とを抽出しそれらを紐付ける診療項目明細作成ステップ(S108)と、を実行することを特徴とする。
【0010】
また、請求項2に記載の医療明細書用文字認識プログラムは、
前記診療項目明細作成ステップ(S108)において、前記対象行での前記テキスト情報が数字の場合、前記数字の左側の前記テキスト情報を診療項目名と判断することを特徴とする。
【0011】
また、請求項3に記載の医療明細書用文字認識プログラムは、
前記対象行には数量及び単価が含まれ、前記金額が数量と単価の積であることの検算を行う金額検算ステップ(S110)をさらに備えることを特徴とする。
【0012】
また、請求項4に記載の医療明細書用文字認識装置(10)は、
医療明細書を文字認識処理するための医療明細書用文字認識装置(10)であって、
画像情報中の読み取り対象に対して文字認識処理が行われてなるテキスト情報と前記テキスト情報の前記画像情報における位置情報とを紐付けた一次処理情報を取得する一次処理情報取得手段(11d)と、
前記一次処理情報から、前記画像情報中の所定の高さ幅に入っている前記テキスト情報を一つの行として紐付ける行判定手段(11e)と、
前記画像情報に含まれる表の位置を特定する表特定手段(11f)と、
前記位置を特定された表の範囲に含まれる前記行を、前記医療明細書における診療項目に関する対象行であると判定する診療項目判定手段と、
前記対象行から診療項目名とその金額とを抽出しそれらを紐付ける診療項目明細作成手段(11h)と、を備えることを特徴とする。
【0013】
ここで、上記括弧内の記号は、図面および後述する発明を実施するための形態に掲載された対応要素または対応事項を示す。
【発明の効果】
【0014】
本発明によれば、テキスト情報と位置情報とを紐付けた一次処理情報を取得し、一次処理情報から、画像情報中の所定の高さ幅に入っているテキスト情報を一つの行として紐付け、画像情報に含まれる表の位置を特定し、位置を特定された表の範囲に含まれる行を、医療明細書における診療項目に関する対象行であると判定するとともに、対象行から診療項目名とその金額とを抽出しそれらを紐付けるので、定型化されていない医療明細書であっても紙資料の医療明細書からテキスト情報を抽出し易い。
【0015】
また、本発明によれば、対象行でのテキスト情報が数字の場合、数字の左側のテキスト情報を診療項目名と判断するので、より正確にテキスト情報を抽出し易い。
【0016】
また、本発明によれば、対象行には数量及び単価が含まれ、金額が数量と単価の積であることの検算を行うので、文字認識がより正確になる。
【0017】
なお、本発明の医療明細書用文字認識プログラム及び医療明細書用文字認識装置のように、位置を特定された表の範囲に含まれる行を、医療明細書における診療項目に関する対象行であると判定する点は、上述した特許文献1には全く記載されていない。
【図面の簡単な説明】
【0018】
【
図1】本発明の実施形態に係る医療明細書用文字認識装置の構成概要を示すブロック図である。
【
図2】本発明の実施形態に係る医療明細書用文字認識プログラムでの処理を示すフローチャートである。
【
図3】本発明の実施形態に係る医療明細書用文字認識プログラムで処理する医療明細書の例である。
【
図4】本発明の実施形態に係る医療明細書用文字認識プログラムで処理する医療明細書の例である。
【発明を実施するための形態】
【0019】
図1乃至
図4を参照して、本発明の実施形態に係る医療明細書用文字認識プログラム及び医療明細書用文字認識装置10を説明する。
この医療明細書用文字認識装置10は、
図1に示すようにサーバーであって、その制御部11として画像情報取得手段11aと、前処理手段11bと、画像情報送信手段11cと、一次処理情報取得手段11dと、行判定手段11eと、表特定手段11fと、診療項目名判定手段11gと、診療項目明細作成手段11hと、合計金額判定手段11iと、金額検算手段11jと、を備える。
【0020】
また、通常のサーバーが有している記憶部12等の構成要素を本実施形態に係る医療明細書用文字認識装置10も当然に有しており、その記憶部12には本実施形態に係る医療明細書用文字認識プログラムや、取得等したデータが適宜格納されたり読み出したりされる。
【0021】
この医療明細書用文字認識装置10が行う制御について
図2を参照しながら説明する。
まず、スマートフォンのカメラ等の光学装置を使用して
図3及び
図4に示すような医療明細書を撮影した画像情報を、医療明細書用文字認識装置10の画像情報取得手段11aが取得する(ステップS101(以下、「ステップ」という語を省略する))。
なお、本実施形態においては、情報処理の分野において当然に行っている、データをバッファ等の記憶部12に一時的に保存することについては説明を省略している。
【0022】
次に前処理手段11bは、OCRの前処理として画像情報に対して傾きの補正と歪みの補正を行う(S102)。これらの補正はOCRを行うための大前提であり、従来行われているものである。
次に画像情報送信手段11cが画像情報をインターネット100を介して外部サーバーに送信する(S103)。
【0023】
次に一次処理情報取得手段11dは、画像情報中の読み取り対象に対して文字認識処理、いわゆるOCR処理が行われてなるテキスト情報とテキスト情報の画像情報における位置情報とを紐付けた一次処理情報を取得する(S104)。
本実施形態においてはこのOCR処理自体は外部サーバーが行い、一次処理情報取得手段11dはその外部サーバーから一時処理情報を取得した。
【0024】
次に行判定手段11eは、一次処理情報から、画像情報中の所定の高さ幅に入っているテキスト情報を一つの行として紐付ける(S105)。
この段階では、診療項目名と単価や金額が行として紐付けられたものもあるし、医療明細書に記載されている動物病院の住所や電話番号、診療時間や休診日等のその他お知らせが含まれた行も存在する。
また、このとき行内に空白があればその空白によってテキスト情報をブロックに分ける。
【0025】
次に表特定手段11fは、画像情報に含まれる表の位置を特定する(S106)。
この特定処理に関して、まず言葉の定義を行う。
小計の横についている可能性がある文言としては「小計」、「計」、「合計」等である。これらを小計判定文言と呼ぶ。
また、合計金額の横についている可能性がある文言としては「税込み金額」、「今回ご請求」、「合計金額」、「今回診療計」、「ご請求額」、「請求額」、「合計」等であり、これらを合計金額判定文言と呼ぶ。
【0026】
表の位置の特定処理に関し、具体的には「数量」や「単価」という文言(表開始文言)が現れたらその位置が表の開始(上端)を表していると判定する。
一方、小計判定文言や合計金額判定文言のいずれかの文言(表終了文言)を検出したときには表の終了を表している。複数検出した場合には、もっとも下方に位置する表終了文言の位置を表の終了とする。
なお、これらの表終了文言の右側にはそれの数量を表す数字が存在するはずなので、より正確にはその数字が表の終了位置である。
表の右端はいずれの数字のテキスト情報よりも右側とする。一方、表の左端はいずれかのテキスト情報よりも左側とする。
また、この表の特定処理に関して、スマートフォン等の光学装置のユーザーから入力された表の範囲指定を組み合わせることにより、上記表の開始の判定及び表の終了の判定の精度を上げることもできる。
【0027】
次に診療項目名判定手段11gは、位置を特定された表の範囲に含まれる行を、医療明細書における診療項目に関する対象行であると判定する(S107)。
すなわち、S106で特定された表の中には診療項目名やその金額だけでなく、医療明細書に記載されている動物病院の住所や電話番号、診療時間や休診日等のその他お知らせが行として含まれているが、表の範囲から動物病院の住所や電話番号、診療時間や休診日等のその他お知らせを除くことで、その除いた残りを診療項目に関する対象行とする。
【0028】
次に診療項目明細作成手段11hは、対象行から診療項目名とその金額とを抽出しそれらを紐付ける(S108)。
詳しくは、それぞれの対象行におけるテキスト情報が数字の場合、数字の左側のテキスト情報を診療項目名と判断する。
また、その診療項目名と判断したテキスト情報が表の中の「診療項目」等の文言の位置の下方に位置していることを確認する。
本実施形態においては数量及び単価の記載があり、金額は数量と単価の積となっている。
数量と単価のテキスト情報(数字)の位置がそれぞれ「数量」と「単価」の文言の位置の下方にあることも確認する。
【0029】
次に合計金額判定手段11iは、対象行から合計金額判定文言とその右側の数字を抽出しそれらを紐付け、その数字が合計金額であるとして保持する(S109)。
【0030】
次に金額検算手段11jは、対象行において金額が数量と単価の積であることの検算を行う(S110)。また、対象行の金額の和が合計金額と等しいことの検算を行う。
また、数字の頭に付く円マークを「4」と誤認識する場合があるので、数字の頭のテキスト情報が「4」のときも検算を行う。
そして、この検算結果が正しければこれで終了する。
一方、検算結果が正しくなければ再度OCR処理を行う。一連のフローを繰り返してもよいし、再度のOCR処理ではテキスト情報だけ取れればそれで済むので、すぐに検算(S110)に戻ってもよい。
【0031】
以上のように構成された医療明細書用文字認識プログラム及び医療明細書用文字認識装置10によれば、テキスト情報と位置情報とを紐付けた一次処理情報を取得し、一次処理情報から、画像情報中の所定の高さ幅に入っているテキスト情報を一つの行として紐付け、画像情報に含まれる表の位置を特定し、位置を特定された表の範囲に含まれる行を、医療明細書における診療項目に関する対象行であると判定するとともに、対象行から診療項目名とその金額とを抽出しそれらを紐付けるので、定型化されていない医療明細書であっても紙資料の医療明細書からテキスト情報を抽出し易い。
【0032】
また、対象行でのテキスト情報が数字の場合、数字の左側のテキスト情報を診療項目名と判断するので、より正確にテキスト情報を抽出し易い。
さらに、対象行には数量及び単価が含まれ、金額が数量と単価の積であることの検算を行うので、文字認識がより正確になる。
【0033】
なお、本実施形態において、対象行における金額は数量と単価の積であるとしたが、これに限られるものではなく、数量と単価が省力され診療項目の金額だけが記載されていてもよい。
【0034】
また、表開始文言や表終了文言は例示のものに限られない。その他の医療明細書に表われている文言も全て例示のものに限られない。
【0035】
また、診療項目名について辞書を作成しておき、診療項目名のテキスト情報がその辞書に登録された文言と所定の割合以上合致する場合、テキスト情報をその辞書の文言に置き換えてもよい。
具体的には、データセットとして所持している複数枚の診療明細に含まれるテキスト、あるいは医薬品メーカーの公開している薬剤名等のリストなどから、診療明細特有の単語の辞書(Xとする)を作成しておく。
修正前の診療項目名、あるいはそれを適当なルール(例えば、括弧記号が入っていたら分割するなど)で単語単位に分割したもののそれぞれ(Aとする)に対して、以下の方法でXを用いた修正を試みる。
Aと、単語の辞書Xに含まれる各単語(B_iとする)の間で、何らかの方法で類似度(小さいほど類似しているとする)をd(A,B_i)として計算する。この類似度の計算方法としては、編集距離(レーベンシュタイン距離)などが考えられる。
そして、d(A,B_1),d(A,B_2),…,のうち、類似度が最小になる(つまり、最も類似しているとみなされる)B_iをB_i’とする。
そのB_i’に対する類似度d(A,B_i’)が、Aの値によって決まる閾値λ_A以下になっていたら、AとB_i’は十分類似しているとみなして、AをB_i’で置換して修正する。閾値λ_Aは、例えばAの語長をlen(A)として、λ_A=0.5×len(A)などとして定義する。
【0036】
また、OCR処理を外部サーバーで行ったが、医療明細書用文字認識装置10内で行ってもよい。
【符号の説明】
【0037】
10 医療明細書用文字認識装置
11 制御部
11a 画像情報取得手段
11b 前処理手段
11c 画像情報送信手段
11d 一次処理情報取得手段
11e 行判定手段
11f 表特定手段
11g 診療項目名判定手段
11h 診療項目明細作成手段
11i 合計金額判定手段
11j 金額検算手段
12 記憶部
100 インターネット