本発明の実施例の目的、技術案及び利点をより明瞭にするために、以下、本開示の実施例の図面を参照しながら、本発明の実施例の技術案を明瞭かつ完全に説明する。勿論、説明する実施例は、本発明の実施例の一部に過ぎず、すべての実施例ではない。説明する本開示の実施例に基づいて、当業者が創造的な努力を必要とせずに想到しうるすべてのほかの実施例は、本発明の保護範囲に属する。
特に断らない限り、本開示に使用されている技術用語又は科学用語は、本開示の当業者が理解しうる一般的な意味である。本開示に使用されている「第1」、「第2」及び類似した用語は、いかなる順番、数量又は重要性を示すものでもなく、異なる構成部分を区別するために過ぎない。同様に、「1つ」、「一」又は「該」などの類似した用語も、数量の制限を示すものではなく、少なくとも1つが存在することを意味する。「含む」又は「備える」などの類似した用語は、該用語の前に記載の素子又は物品が該単語の後に挙げられている素子又は物品及びその同等物を含み、ほかの素子又は物品を排除しないことを意図する。「接続」又は「接続されている」などの類似した用語は、物理的又は機械的接続に限定されず、直接か間接かを問わず、電気的接続を含む。「上」、「下」、「左」、「右」などは、相対位置関係を示すものに過ぎず、説明対象の絶対位置が変わると、この相対位置関係もそれに対応して変化する。
本開示の発明者は、研究において、光学文字認識(Optical Character Recognition、OCR)技術を使用してピクチャから文字コンテンツを抽出するが、OCR技術によりピクチャから抽出された文字コンテンツはキャラクタ自体であり、解析技術(例えば、ページ解析技術)を使用して抽出されたキャラクタをルールに従って、ピクチャのコンテンツと一致し表示しやすいフォーマットに統合して、具体的な意味を持つ情報を取得することに気づいた。例えば、通常の光学文字認識技術、及び解析技術により、ピクチャ上から文字コンテンツを抽出し、ピクチャ中の文字コンテンツをテキストフォーマットに変換することができることに過ぎないので、ピクチャ中の文字コンテンツは、テキストフォーマットでメモリに記憶されることができる(つまり、通常のOCR技術及び解析技術は、医学検査報告書の電子化問題と記憶の問題のみを解決した)。しかしながら、コンピュータは、上記のテキストフォーマットの文字コンテンツを理解する能力が低く、上記のコンテンツを効果的に検索及び表示することができないため(例えば、グラフィカルユーザインタフェースを使用して表示する)、患者の医学検査報告書は依然として活用されない。
また、本開示の発明者は、研究において、さらに、医学分野の紙の文書(試験シート、処方箋、医療記録、身体検査報告書など)が、まれなキャラクタ、まれな単語などに係り、これらのまれなキャラクタ、まれな単語のキャラクタは複雑であるため、通常の方法でトレーニングされたOCRモジュール(つまり、通常のOCRモジュール)は、これらのまれなキャラクタ、まれな単語を認識しにくい場合があることに気づいた。本開示の発明者は、また、研究において、関連する医学OCRモジュールが非医学のタイプの文字の認識性能が低いことに気づいた。総合すると、通常のOCRモジュールと医学OCRモジュールは、医学分野の紙の文書に対応するピクチャ中のキャラクタ情報を抽出する際の精度が低いことがわかる。抽出されたキャラクタの精度は患者の健康と密接に関係しているため、抽出されたキャラクタの精度を向上させることが急務である。
知識グラフはインテリジェントビッグデータのフロンティア研究課題であり、独特の技術的優勢で情報化時代の発展に対応している。例えば、知識グラフは、インクリメンタルデータモデルの設計、優れたデータ統合機能、既存のRDF(Resource Description Framework)及びWebオントロジー言語(OWL、Web Ontology Language)標準によるサポート、セマンティック検索及び知識推論機能などの利点がある。例えば、知識グラフは、複雑な関連情報をクエリする際に優れた新機能があり、セマンティックの方面からユーザの意図を理解でき、そして、データを記述する強い機能を備える。知識グラフは、実世界に存在するさまざまなエンティティや概念を説明するために使用され得る。例えば、知識グラフを使用して、2つのエンティティ間の関連を記述することができる。例えば、「姚明は上海で生まれました」には、「姚明」と「上海」の2つのエンティティと、2つのエンティティの関係である「出生地」に係る。
医学分野では、地域の健康情報や医療情報システムの発展に伴い、膨大な量の医学データが蓄積されてきた。これらのデータから情報を抽出し、管理、共有、適用する方法は、医学インテリジェンスを推進する上で重要な問題であり、医学知識の検索、臨床診断、医療品質管理、電子医療記録、及び健康記録のインテリジェント化処理の基礎でもある。医学知識グラフは、スマートな医療を実現する方法であり、より効率的で正確な医療サービスの開発につながり、知識グラフの推論能力に基づいて、解釈可能性と強い安定性という利点がある。しかしながら、以下の問題により、医学グラフの適用範囲が狭い(例えば、知識の質問と検索にのみ使用される):既存の中国語の医学知識グラフが少なく、異なる地域の医学用語が統一されておらず、医学知識グラフの構築には医学専門家の深い参与が必要であり、結果として、医学知識グラフには、効率の低さ、多くの制限、拡張性の低さなどの問題がある。
編集距離(Edit Distance)とは、一方の文字列をもう一方の文字列に変形するのに必要な最小編集回数を指す。許可される編集操作は、一方の文字列からもう一方の文字列への変形、1キャラクタの挿入・削除である。一般的に、2つの文字列間の編集距離が小さいほど、2つの文字列間の類似性は高くなる。
例えば、最小編集距離アルゴリズムは、edit[i][j]を使用して、A文字列のi個のキャラクタで構成される文字列とB文字列のj個のキャラクタで構成される文字列の編集距離を表すことができます。edit[i][j]は、A文字列の0番目のキャラクタからi番目のキャラクタまでの文字列とB文字列の0番目のキャラクタからj番目のキャラクタまでの文字列の編集距離を表す。例えば、A文字列が「graph」で、B文字列が「grape」の場合、edit[5[5]は文字列「graph」と文字列「grape」の編集距離を表し、edit[2[3]は文字列「gr」と文字列「gra」の編集距離を表す。例えば、iとjは1以上にすることができる。
例えば、A文字列とB文字列の編集距離はdis[i][j]で表すこともできる。例えば、dis dis[0][0]は、A文字列とB文字列の両方が空の場合、この時にそれらの編集距離が0である。明らかに、dis[0][j]は、A文字列が空で、B文字列の長さがjの場合であり、この際に、それらの編集距離はjであり、つまり、空の文字列からj個のキャラクタを追加してB文字列に変換する最小編集距離はjであり、同様に、dis[i][0]は、Aの長さがiで、文字列Bが空の場合であり、A文字列は、空に変換する前に、i個のキャラクタを削除する必要があるため、A文字列からB文字列に変換する最小編集距離はiである。
以上の説明により、以下のベルマン方程式を得ることができる。
その中、置換の有効回数flagは、以下の方程式で表すことができる。
上記のベルマン方程式におけるmin()関数(つまり、最小値の計算に使用される関数)には、edit[i-1][j]+1、edit[i][j-1]+1及びedit[i-1][j-1]+flagの3つの式が含まれ、上記の3つの式はそれぞれ、キャラクタの挿入、削除、及びキャラクタの置換の操作を表する。具体的には、以下とおりである。
edit[i-1][j]+1は、B文字列の最後のキャラクタの後にA文字列の最後にあるキャラクタを挿入することに相当する。上記のキャラクタ挿入操作により、編集距離が1増加し、その後、編集距離edit[i][j]の計算の一部として、edit[i-1][j]を計算することでedit[i-1][j]+1を計算する。
edit[i][j-1]+1は、B文字列の最後のキャラクタを削除することに相当し、上記のキャラクタの削除操作により、編集距離が1増加し、その後、編集距離edit[i][j]の計算の一部として、edit[i][j-1]を計算することでedit[i][j-1]+1計算する。
edit[i-1][j-1]+flagは、B文字列の最後のキャラクタをA文字列の最後のキャラクタに置き換えることに相当する。ここでは、flagを使用して、キャラクタ置換の有効回数をマークする。
最小編集距離アルゴリズムによって計算された2つの文字列の編集距離を使用して、2つの文字列の類似性を取得することができる。例えば、次の式により、2つの文字列の編集距離を使用して、2つの文字列の類似性を計算できる。S(A,B)=1-(DIS(A,B)/max(Len(A),Len(B))である。ここで、DIS(A,B)はA文字列とB文字列の間の編集距離を表し、Len(A)とLen(B)はそれぞれAの文字列長さとBの文字列長さを表し、max(Len(A)、Len(B)))はAの文字列長とBの文字列長のうちの最大値と等しい。
本開示の少なくとも1つの実施例は、ピクチャ中のキャラクタ情報の取得方法及び装置、非一時的な記憶媒体、ページ処理方法、ならびに医学知識グラフの構築方法を提供する。当該ピクチャ中のキャラクタ情報の取得方法は、ピクチャを取得し、ピクチャに含まれる少なくとも一つのキャラクタ情報を抽出し、知識グラフに基づいて、少なくとも一つのキャラクタ情報をチェックすることを含む。当該ピクチャ中のキャラクタ情報の取得方法は、知識グラフに基づいて抽出された少なくとも一つのキャラクタ情報をチェックすることにより、取得されたキャラクタ情報の精度を向上させることができる。
以下、幾つかの例又は実施例により本開示の実施例で提供されるピクチャ中のキャラクタ情報の取得方法について非限定的に説明し、以下説明するように、矛盾しない限り、これらの具体的な例及び実施例における特徴は互いに組み合わせて新しい例又は実施例を得ることができ、これらの新しい例又は実施例も本開示の保護範囲に属する。
図1は、本開示の少なくとも1つの実施例が提供するピクチャ中のキャラクタ情報の取得方法の例示的なフローチャートである。図1に示すように、当該ピクチャ中のキャラクタ情報の取得方法は以下のステップS10、及びステップS20を含む。
ステップS10において、ピクチャを取得し、ピクチャに含まれる少なくとも一つのキャラクタ情報を抽出する。
ステップS20において、知識グラフに基づいて、少なくとも一つのキャラクタ情報をチェックする。
ステップS10において、ピクチャの取得の具体的な方法は、実際の適用ニーズに従って設定され得るが、本開示の少なくとも1つの実施例はそれを具体的に制限しない。一例において、ピクチャの取得は、メモリからメモリに記憶されているピクチャを取得する(読み取る)ことを含むことができる。別の例において、ピクチャの取得は、ピクチャを遠隔で取得することを含んでもよく、例えば、情報送受信装置を使用してピクチャを受信する。例えば、情報送受信装置は、クライアント(例えば、フォンモバイル端末やPC側)からピクチャを受信してもよい。
例えば、ステップS10において、取得したピクチャは、ピクチャ前処理後のピクチャであってもよいし、ピクチャ前処理前の画像であってもよい。例えば、取得したピクチャがピクチャ前処理前のピクチャである場合、ピクチャに含まれる少なくとも一つのキャラクタ情報を抽出する前に、ピクチャに対してピクチャ前処理を行うこともできる。例えば、ピクチャ前処理は、ピクチャの本体領域の検出及び抽出、ピクチャ補正、ピクチャ分割、ピクチャの文字方向補正、ピクチャの2値化、及びピクチャノイズ除去のうちの少なくとも1つを含むが、これらに限定されない。
例えば、ピクチャ本体領域の検出及び抽出は、上記のピクチャの本体領域(有用な情報を含む有効領域)を検出し、後続の処理のピクチャとして、検出された本体領域を抽出することを含む。例えば、ピクチャに文字が存在する領域をテキスト検出することで、単語又はテキスト行のバウンディングボックス(バウンディングボックス)探し出してピクチャの本体領域を検出することができる。例えば、ピクチャのメイン領域の検出と抽出では、ユーザは、抽出前に、検出されたメイン領域を確認する(つまり、ユーザは手動で有効領域を選択する)ことにより、ピクチャ本体領域の検出及び抽出の精度を向上させることができる。
例えば、ピクチャ補正(キーストーン補正など)は、ピクチャ(携帯電話で撮影したピクチャなど)の歪みを補正するために用いられる。 例えば、ガンマ補正を使用して、ピクチャ補正(例えば、キーストーン補正)を実現できる。
例えば、ピクチャ分割は、背景を含む画像(例えば、通常の携帯電話で撮影された写真)から文字(例えば、健康診断報告書のテキスト)を分割して、ピクチャから抽出された文字(例えば、キャラクタ情報)の精度を向上させるために用いられる。例えば、次の方法を使用して、背景を含むピクチャから文字を分割することができる。
まず、ピクチャに対して水平投影を実行して各行の上境界と下境界を探し出し、次に、各行の上境界と下境界に沿って行カットを行って複数の行を取得し、3番目に、次に、カットによって得られた行ごとに、垂直投影を実行して、各キャラクタの左境界と右境界を探し出し、4番目に、各キャラクタの左境界と右境界に沿って単一のキャラクタのカットを行う。例えば、水平投影は、1枚のピクチャの各行の要素を統計し(つまり、水平方向に沿った統計する)、そして、上記の統計の結果に応じて統計結果グラフをプロットできるために用いられ、それによって、各行の列方向に沿う開始点と終了点、つまり、各行の上境界と下境界を決定できる。例えば、垂直投影の投影方向は下向きであり、各列の要素の数と各列の要素の投影位置を統計するために使用され、それによって、各列の左境界と右境界を決定する。
例えば、ピクチャの水平投影は、次の方法で実現されることができ、まず、垂直方向に伸びる一本の直線(軸)を設定し、次に、ピクチャ上のピクセルを直線(軸)に垂直な方向に投影しこの直線(軸)上で投影し、投影後、ピクチャ上の複数のピクセルは直線(軸)上の複数の黒い点に対応し、3番目に、垂直直線に垂直なピクチャ上のピクセルの黒い点の数を統計し、累積して和を求め該軸の該位置の値とする。上記の水平投影が完了した後、ピクチャ投影に基づくカットを行うことができる。具体的には、作り上げたピクチャをマッピングして関連する特徴を取得した後、上記の特徴に基づいてピクチャのカット位置(座標)を決定し、上記の座標で上記のピクチャをカットして、ターゲットピクチャ(例えば、ピクチャを分割して取得した単一の文字のピクチャ))を取得する。例えば、ピクチャの垂直投影はピクチャの水平投影に類似するが、違いは、垂直方向に伸びる直線を設置し、ピクチャ上のピクセルを上記の垂直方向に伸びる直線に投影することである。
以下、例に基づいて、水平投影を例示的に説明する。例えば、水平投影は以下の方法で実現されることができる。まず、ピクチャを2値化して、文字が黒になり(例えば、この文字に対応するピクセル値がLbであり、例えば、Lb = 0)、背景が白になるようにする(例えば、この文字に対応するピクセル値がLwであり、例えば、Lw = 255)。次に、ピクチャの各行に対して次の手順を実行する。各列のピクセル値がLbに等しいかどうかを順番に判断し、ピクセル値がLbに等しいと、この行と列にあるピクセルが非常に文字に似ると判定し、この行において文字に非常に似るすべてのピクセルの数を統計し、この行の合計n個のピクセルのピクセル値がLbに等しいと仮定すると、この行の1番目の列からn番目の列までを黒に設定する。
例えば、ピクチャの文字方向補正は、ピクチャ撮影過程で生じる画像内の文字の傾きを補正するために用いられる。例えば、高速フーリエ変換(Fast Fourier Transformation)技術を使用してピクチャを補正し、そして、補正したピクチャを逆変換して、方向補正後の文字を取得することができる。
例えば、ピクチャの2値化は、文字のコントラストを高めるために使用され得る。 例えば、ピクチャの2値化は、次の方法で実現され得る。まず、1つのしきい値を設定し、次に、ピクチャ内の複数のピクセルについて、ピクセル値(例えば、ピクセルの階調値)がしきい値以上のピクセルの値を1に設定し(つまり、このピクセルが白く見える)、ピクセル値がしきい値よりも小さいピクセルの値を0に設定する(つまり、ピクセルを黒く見得る)。例えば、適応2値化を使用できる(各ピクセルは比較プロセスで異なるしきい値を使用する)。例えば、ピクセルの複数のピクセルのピクセル値に対応する2次元行列(つまり、ピクセルの複数のピクセルのピクセル値を格納するための行列)を、ベクトルに変換でき、次に、各ピクセルと、前の一定の範囲のピクセルに基づいて計算された閾値(つまり、適応しきい値)とを比較する。
例えば、ピクチャのノイズ除去は、ピクチャのノイズを低減して、ピクチャから抽出された文字の精度を向上させるために用いられる。例えば、受信したピクチャを2値ピクチャに変換した後に、2値ピクチャに多くのノイズが存在する可能性があり、それに対して中央値フィルタリングや、平均値フィルタリングを使用して、2値ピクチャに対してノイズ除去処理を行うことができる。
例えば、ピクチャから取得されたキャラクタ情報は、1つの項目のキャラクタ情報又は複数の項目のキャラクタ情報を含んでもよい。例えば、各項目のキャラクタ情報は単一のキャラクタ又は文字列を含んでもよい。例えば、キャラクタ情報は、文字情報であってもよいし、シンボル情報であってもよい。例えば、シンボル情報は、上向き矢印シンボル、下向き矢印シンボルなどであってもよい。
例えば、光学文字認識技術を使用して、ピクチャに含まれる少なくとも一つのキャラクタ情報を抽出してもよい。図2Aは、光学文字認識技術を使用してピクチャに含まれる少なくとも一つのキャラクタ情報を抽出するプロセスの模式図を示している。
例えば、図2Aに示すように、光学文字認識技術によりピクチャに含まれる少なくとも一つのキャラクタ情報を抽出するプロセスは、文字の検出、文字の認識及び結果の出力を含む。例えば、文字の検出は、ピクチャにおける単一のキャラクタを検出するために用いられる。例えば、文字の認識は、検出されたキャラクタを、テキストフォーマットに変換するために用いられる。例えば、文字の認識は、文字特徴抽出、及び比較認識を含み、又は、例えば、トレーニングされたニューラルネットワーク(例えば、自然画像中のテキストを検出するためのコネクショニストテキスト提案ネットワークや、畳み込みリカレントニューラルネットワーク)を使用して文字の認識を行うこともできる。例えば、比較認識は、文字特徴抽出を通じて取得された特徴と、比較データベース又は特徴データベース(全ての認識対象文字のセットを含む)とを比較することにより、ピクチャ中の文字の特徴に基づいて、当該ピクチャ中の文字に対応するテキストフォーマットの文字を探し出すことができる。例えば、光学文字認識技術を使用して文字の検出及びテキスト認識を行う具体的な方法は関連技術を参照できるので、ここで再度説明されない。例えば、ピクチャ中の文字行の上と下境界の座標、及び文字列の左と右境界の座標を検出することで、文字の検出を実現することができる。例えば、CTPN(自然画像中のテキストを検出するためのコネクショニストテキスト提案ネットワーク、Detecting Text in Natural Image with Connectionist Text Proposal Network)及び/又はCRNN(畳み込みリカレントニューラルネットワーク)を使用して文字の認識を行ってもよいし、OCR認識オープンソースライブラリ(例えば、Tesseractデジタル認識ライブラリ)で漢字認識トレーニングを行ってもよい。
図2Bは、光学文字認識技術を使用してピクチャに含まれる少なくとも一つのキャラクタ情報を抽出するプロセスの他の模式図を示している。例えば、図2Bに示すように、光学文字認識技術によりピクチャに含まれる少なくとも一つのキャラクタ情報を抽出するプロセスは、また、ピクチャ入力、及びピクチャ処理を含むことができる。例えば、ピクチャ処理とは、ピクチャ前処理を指し、ピクチャ前処理の具体的な方法は、ステップS10の関連説明を参照できるので、ここで再度説明されない。例えば、光学文字認識技術にイメージ処理(例えば、ピクチャ前処理)をさらに含む場合に、ステップS10にで取得されたピクチャは、ピクチャ前処理を行う前のピクチャであってもよく、そして、ピクチャに含まれる少なくとも一つのキャラクタ情報を抽出する前に、追加のピクチャ前処理を進行する必要がない。
例えば、ステップS20において、知識グラフに基づいて少なくとも一つのキャラクタ情報をチェックする(例えば、チェックや補正)ことにより、ピクチャから抽出されたキャラクタ情報に誤りがあるかどうかを確認し、誤りがあるキャラクタ情報を補正することができ、これにより、本開示の少なくとも1つの実施例が提供するピクチャ中のキャラクタ情報の取得方法を使用して取得されたキャラクタ情報の精度を向上させることができる。
例えば、ステップS20において、知識グラフは医学知識グラフである。例えば、当該医学知識グラフは、医学検査チェック知識グラフであってもよい。例えば、医学検査チェック知識グラフは、検出指標、検査シートの関連知識などを提供するために用いられる。例えば、医学検査チェック知識グラフは、正確な識別と分析の可能性を提供する。
例えば、医学知識グラフのアーキテクチャ(フレームワークやデータ構造)は、図3に示す医学知識グラフのデータ構造を使用することができる。例えば、本開示の少なくとも1つの実施例が提供する医学知識グラフの構築方法を使用して、図3に示す医学知識グラフのデータ構造に基づいて医学知識グラフを構築することができ、上記の構築された医学知識グラフをステップS20に適用できる。本開示の少なくとも1つの実施例が提供する医学知識グラフの構築方法については、図12に示す実施例において詳細に説明されるので、ここで再度説明されない。
例えば、図3に示す医学知識グラフのデータ構造に基づいて取得された医学知識グラフは、医用映像アーカイブと通信(PACS)システム、及びラボラトリー情報管理(LIS)システムから導出された複数のエンティティ及び関係を含んでもよい。例えば、医学知識グラフにPACSシステムから導出されたエンティティを含ませることにより、当該医学知識グラフに基づいてピクチャに医用映像を含むかどうかを確認し、ピクチャに医用映像を含む場合に、医用映像を保存することができる。
例えば、PACSシステムから導出されたエンティティは、臨床検査項目、臨床検査サブ項目、臨床検査報告書のうちの医用映像検査に関連するエンティティを含む。例えば、PACSシステムから導出されたエンティティは、電子コンピュータX線断層撮影画像、核磁気共鳴画像(NMRI)、超音波画像、心電図、脳電図などを含む。例えば、LISシステムから導出されたエンティティは、臨床検査項目、臨床検査サブ項目、臨床検査報告書のうちの医用映像検査に関連しないエンティティを含む。例えば、LISシステムから導出されたエンティティは、様々なラボラトリー検査項目を含む。例えば、ラボラトリー検査項目は、血液検査項目、尿検査項目、便検査項目などを含む。例えば、血液検査項目は、血液一般検査項目、血中中性脂肪検査項目、血糖値検査項目などを含む。例えば、血液一般検査項目は、血小板計数(PLT)サブ項目、血小板分布幅(PDW)サブ項目、及び血小板クリット値(PCT)サブ項目を含む。
例えば、図3に示す医学知識グラフのデータ構造に基づいて取得された医学知識グラフは、また、病院情報システムから導出されたエンティティ及び/又は臨床検査サブ項目のサブ項目説明に関連するエンティティを含んでもよい。例えば、病院情報システムから導出されたエンティティは、患者情報に関連するエンティティ、及び医師の指示に関連するエンティティを含む。例えば、臨床検査サブ項目のサブ項目説明に関連するエンティティは、臨床検査サブ項目の説明、及び臨床検査サブ項目結果に異常がある場合における異常の意味を提供し、これにより、患者は検査結果をより明確に理解できる。
なお、ステップS20にて使用される知識グラフのデータ構造は、図3に示す知識グラフのデータ構造に限定されない。例えば、ステップS20にて使用される知識グラフのデータ構造は、図3に示す知識グラフのデータ構造における病院情報システムに対応する部分及び/又は臨床検査サブ項目の医学意味に対応する部分を含まなくてもよい。
例えば、ステップS20に基づいて、知識グラフに基づいて少なくとも一つのキャラクタ情報をチェックするは、以下のステップS210を含む。
ステップS210において、知識グラフに基づいて、少なくとも一つのキャラクタ情報のうち、誤りがあるキャラクタ情報を確認する。
例えば、上記の少なくとも一つのキャラクタ情報は、複数の項目のキャラクタ情報を含み、誤りがあるキャラクタ情報は、認識中で誤りが認識されたキャラクタ情報(例えば、「水」は「小」と誤って識別された)及び/又は認識中で認識されなかったキャラクタ情報を含む。
例えば、ステップS210において、知識グラフに基づいて、少なくとも一つのキャラクタ情報のうち、誤りがあるキャラクタ情報を確認することは以下のステップS211及びステップ212を含む。
ステップS211において、ピクチャの複数の項目のキャラクタ情報に応じて複数のエンティティをそれぞれ取得し、チェック対象エンティティに対応するキャラクタ情報に誤りがあるかどうかを確定するために、複数のエンティティからチェック対象エンティティを選択する。
図4は、血液一般検査報告書の一例である。例えば、図4に示す血液一般検査報告書のピクチャについて、ピクチャの複数の項目のキャラクタ情報に応じて複数のエンティティをそれぞれ取得することは、報告書名、血液一般検査のサブ項目名(項目名)、サブ項目略語(コード)、サブ項目チェック結果(結果)、サブ項目チェック結果の単位(単位)、サブ項目のチェック結果の異常の有無(上矢印又は下矢印を使用して示す)、及びサブ項目チェック結果の参照値(項目参照値)を含んでもよい。例えば、血液一般検査の一部のサブ項目名、及び対応する略語は、血小板計数(PLT)、血小板分布幅(PDW)及び血小板クリット値(PCT)を含む。
例えば、ピクチャの複数の項目のキャラクタ情報に応じて複数のエンティティをそれぞれ取得し、ピクチャの複数の項目のキャラクタ情報に含まれる全てのエンティティがチェックされるまで、複数のエンティティを1つずつチェックすることができる。例えば、血小板計数をチェック対象エンティティとして選択してもよい。
ステップ212において、知識グラフの階層構造に応じて、チェック対象エンティティに対応するキャラクタ情報に誤りがあるかどうかを確認し、チェック対象エンティティに対応するキャラクタ情報に誤りがある場合に、チェック対象エンティティに対応するキャラクタ情報が、誤りがあるキャラクタ情報であると確認する。
例えば、在ステップ212において、知識グラフの階層構造に応じて、チェック対象エンティティに対応するキャラクタ情報に誤りがあるかどうかを確認することは、以下のステップ2121~ステップ2124を含む。
ステップ2121において、複数のエンティティを、知識グラフの階層構造に従って階層化する。
例えば、ステップ2121において、ピクチャ内のテーブル構造の分析と、ピクチャ内の文字のレイアウト、サイズ、及び太字の有無を通じて複数のエンティティを階層化することができる。例えば、光認識技術を使用して、ピクチャにテーブルがあるかどうかを確定し、テーブルがあると、さらに、ピクチャ内のテーブル構造を分析(又は解析)することができる。例えば、テーブル構造分析の具体的な方法は、図5A及び図5Bに示す例を参照できるので、ここで再度説明されない。例えば、ピクチャ中の文字の(相対)サイズ、太字の有無などはピクチャ分析を通じて得られることができ、例えば、一部は、ソーターや、ニューラルネットワークにより実現される。
例えば、図4に示す血液一般検査報告書のピクチャの複数のエンティティについて、以下の方法を使用して階層化することができる。
まず、報告書の1行目で、中にあり且つフォントが大きい文字列「血液一般」に対応するエンティティ(簡単にするために、この開示の以下の説明では「血液一般」を直接使用して示し、他のエンティティについて同様に処理される)を、報告書における第1のレベルのエンティティとし、テーブルの1行目にある「コード」、「項目名(つまり、血液一般検査のサブ項目名)」、「結果」、「項目参照値」などに対応するエンティティを、報告書における第2のレベルのエンティティとし、テーブル内にあり且つテーブルの1行目以外にある全てのエンティティを、報告書における第3のレベルのエンティティとする。
次に、報告書におけるレベルと、知識グラフの階層構造におけるエンティティのレベルと関連付けることができる。例えば、知識グラフの階層構造において、「血液一般」、「項目名(つまり、血液一般検査のサブ項目名)」及び「血小板計数」が第5のレベル、第6のレベル、及び第7のレベルにあると仮定すると、図4に示す血液一般検査報告書のピクチャにおける「血液一般」の、知識グラフの階層構造におけるレベルは第5のレベルであり、図4に示す血液一般検査報告書のピクチャにおける「コード」、「項目名(つまり、血液一般検査のサブ項目名)」、「結果」、「項目参照値」の、知識グラフの階層構造におけるレベルは第6のレベルであり、図4に示す血液一般検査報告書のピクチャにおける「血小板計数」などの、知識グラフの階層構造におけるレベルは第7のレベルである。
例えば、知識グラフに基づいて分かるように、血液一般検査報告書における「ベッド番号」などに対応するエンティティは、血液一般検査結果に関連するエンティティに属しないので、「ベッド番号」などに対応するエンティティは、複数のエンティティの階層化中に無視される。
ステップ2122において、知識グラフの階層構造におけるチェック対象エンティティのレベルを確定する。
例えば、ステップ2122において、ステップ2121での階層化結果に基づいて、知識グラフの階層構造におけるチェック対象エンティティのレベルを確定することができる。例えば、「血小板計数」をチェック対象エンティティとして選択した場合に、ステップ2121での階層化結果に基づいて、知識グラフの階層構造におけるチェック対象エンティティのレベルが第7のレベルであると確定することができる。
ステップ2123において、チェック対象エンティティと、知識グラフにおけるチェック対象エンティティと同じレベル及び同じ関係を持つ全てのエンティティとの類似度を計算して、チェック対象エンティティに関連する複数のエンティティ類似度を取得する。
例えば、チェック対象エンティティと、知識グラフにおけるチェック対象エンティティと同じレベル及び同じ関係を持つ全てのエンティティとの類似度は、0と1との間にある。
例えば、ステップ2123において、「同じ関係を持つ」とは、知識グラフにおけるチェック対象エンティティと同じレベル及び同じ関係を持つ全てのエンティティと、これらのエンティティの前のレベルのエンティティとの関係が、チェック対象エンティティとチェック対象エンティティの前のレベルのエンティティとの関係に等しいことを指す。
例えば、「血小板計数」をチェック対象エンティティとして選択した場合に、知識グラフにおけるチェック対象エンティティと同じレベル及び同じ関係を持つ全てのエンティティは、「血小板計数」、「血小板分布幅」、「血小板クリット値」及び「好中球パーセント」などを含む。
例えば、「血小板計数」に誤りがないと、チェック対象エンティティ(つまり、「血小板計数」)と知識グラフにおける「血小板計数」との類似度は1であり、チェック対象エンティティ(つまり、「血小板計数」)と知識グラフにおける「血小板分布幅」、「血小板クリット値」及び「好中球パーセント」との類似度は、例えば、それぞれ0.5、0.6及び0である。
例えば、「血小板計数」が「血小板計X」と誤って認識されたと、チェック対象エンティティ(つまり、「血小板計X」)と知識グラフにおける「血小板計数」、「血小板分布幅」、「血小板クリット値」及び「好中球パーセント」との類似度(つまり、「血小板計数」、「血小板分布幅」、「血小板クリット値」及び「好中球パーセント」のエンティティ類似度)は、例えば、それぞれ0.8、0.5、0.6及び0である。なお、「血小板計X」における「X」は、当該キャラクタが誤って認識されたことを示し、他のキャラクタ又はエンティティ中の「X」も同様な意味を持つので、再度説明されない。
例えば、ステップ2123において、最小編集距離アルゴリズムを使用して、チェック対象エンティティと知識グラフにおけるチェック対象エンティティと同じレベル及び同じ関係を持つ全てのエンティティとの類似度を取得することができる。
ステップ2124において、複数のエンティティ類似度の最大値が所定のエンティティの類似度閾値よりも小さいと、チェック対象エンティティが、誤りがあるチェック対象エンティティであり、チェック対象エンティティに対応するキャラクタ情報に誤りがあると判定する。
例えば、所定のエンティティ類似度閾値は、実際の適用ニーズに応じて設定され得る。例えば、所定のエンティティ類似度閾値は1に設定されてもよい。また、例えば、所定のエンティティ類似度閾値は、0.95に設定されてもよい。例えば、所定のエンティティ類似度閾値が1に設定された場合に、知識グラフにおけるチェック対象エンティティと同じレベル及び同じ関係を持つ全てのエンティティがチェック対象エンティティを含まないと、チェック対象エンティティが、誤りがあるチェック対象エンティティであり、チェック対象エンティティに対応するキャラクタ情報に誤りがあると判定する。
例えば、チェック対象エンティティ(つまり、「血小板計X」)と知識グラフにおける「血小板計数」、「血小板分布幅」、「血小板クリット値」及び「好中球パーセント」との類似度は、例えば、それぞれ0.8、0.5、0.6及び0である場合に、複数のエンティティ類似度の最大値(つまり、0.8)が所定のエンティティ類似度閾値(例えば、1)よりも小さいので、チェック対象エンティティに対応するキャラクタ情報に誤りがあり、チェック対象エンティティが誤りがあるチェック対象エンティティであると判定することができる。
例えば、複数のエンティティ類似度の最大値が所定のエンティティ類似度閾値以上であると、チェック対象エンティティに対応するキャラクタ情報に誤りがないと判定する。
例えば、チェック対象エンティティ(つまり、「血小板計数」)と知識グラフにおける「血小板計数」、「血小板分布幅」、「血小板クリット値」及び「好中球パーセント」との類似度は、例えば、それぞれ1、0.5、0.6及び0である場合に、複数のエンティティ類似度の最大値(つまり、1)が所定のエンティティ類似度閾値(例えば、1)以上であるので、チェック対象エンティティに対応するキャラクタ情報に誤りがないと判定することができる。
例えば、ステップS20において、知識グラフに基づいて少なくとも一つのキャラクタ情報をチェックすることは以下のステップ220をさらに含む。
ステップS220において、知識グラフに基づいて、誤りがあるキャラクタ情報を補正する。
例えば、知識グラフに基づいて、誤りがあるキャラクタ情報を補正することは、前記知識グラフにおける前記チェック対象エンティティと同じレベル及び同じ関係を持つ全てのエンティティの数を確定して、エンティティ数を取得することを含む。
例えば、知識グラフに基づいて、誤りがあるキャラクタ情報を補正することは、エンティティ数が1に等しい場合に、誤りがあるチェック対象エンティティに対応するキャラクタ情報を、知識グラフにおけるチェック対象エンティティと同じレベル及び同じ関係を持つエンティティに対応するキャラクタ情報に直接置換し、又は、チェック対象エンティティと同じレベル及び同じ関係を持つエンティティが誤りがあるチェック対象エンティティである確率を計算して、エンティティ確率を取得し、エンティティ確率が所定のエンティティ確率の閾値よりも大きい場合に、誤りがあるチェック対象エンティティに対応するキャラクタ情報を、チェック対象エンティティと同じレベル及び同じ関係を持つエンティティに対応するキャラクタ情報に置換することをさらに含む。
例えば、所定のエンティティ確率の閾値は、実際の適用ニーズに応じて設定され得る。例えば、所定のエンティティ確率の閾値は、0.5、0.8、0.9又は他の適用可能な数値に設置されてもよい。例えば、当該候補エンティティのエンティティ確率が所定のエンティティ確率の閾値以下である場合に、誤りがあるキャラクタ情報を手動で補正することができる。
例えば、知識グラフに基づいて、誤りがあるキャラクタ情報を補正することは、エンティティ数が1よりも大きい場合に、以下のステップS221~ステップS222を実行することをさらに含む。
ステップS221において、複数のエンティティ類似度に基づいて、少なくとも二つの候補エンティティを確定する。
例えば、ステップS221において、複数のエンティティ類似度に基づいて、少なくとも二つの候補エンティティを確定することは、複数のエンティティ類似度に基づいて、知識グラフにおけるチェック対象エンティティと同じレベル及び同じ関係を持つ全てのエンティティを降順でソートし、選択シーケンスの先頭にソートされた所定の数のエンティティを、少なくとも二つの候補エンティティとして選択し、又は複数のエンティティ類似度に基づいて、知識グラフにおけるチェック対象エンティティと同じレベル及び同じ関係を持つ全てのエンティティを昇順でソートし、シーケンスの最後にソートされた所定の数のエンティティを、少なくとも二つの候補エンティティとして選択することを含む。
例えば、実際の適用ニーズに応じて所定の数を設定することができる。例えば、所定の数を、2、3、10又は他の適用可能な数に設定してもよい。
例えば、ステップS221において、複数のエンティティ類似度(つまり、0.8、0.5、0.6及び0)に基づいて知識グラフにおける「血小板計数」、「血小板分布幅」、「血小板クリット値」及び「好中球パーセント」を以下のシーケンスに降順でソートすることができ、つまり、「血小板計数」、「血小板クリット値」、「血小板分布幅」及び「好中球パーセント」となる。例えば、所定の数を2に設定する場合に、シーケンスの先頭にソートされた二つのエンティティ、即ち、「血小板計数」及び「血小板クリット値」を少なくとも二つの候補エンティティとすることができる。
また、例えば、ステップS221において、複数のエンティティ類似度(つまり、0.8、0.5、0.6及び0)に基づいて知識グラフにおける「血小板計数」、「血小板分布幅」、「血小板クリット値」及び「好中球パーセント」を、以下のシーケンスに昇順でソートすることができ、「好中球パーセント」、「血小板分布幅」、「血小板クリット値」及び「血小板計数」となる。例えば、所定の数を2に設定する場合に、シーケンスの最後にソートされた2つのエンティティ、即ち、「血小板クリット値」及び「血小板計数」を、少なくとも二つの候補エンティティとすることができる。
ステップS222において、少なくとも二つの候補エンティティのそれぞれが誤りがあるチェック対象エンティティである確率を計算して、少なくとも二つの候補エンティティのそれぞれの候補確率を取得する。
例えば、少なくとも二つの候補エンティティのそれぞれが誤りがあるチェック対象エンティティである確率とは、少なくとも二つの候補エンティティのそれぞれに対応するキャラクタ情報は、誤りがあるチェック対象エンティティに対応するキャラクタ情報が誤って認識されない場合におけるキャラクタ情報の確率に相当する。例えば、「血小板クリット値」が誤りがあるチェック対象エンティティ「血小板計X」である確率とは、「血小板クリット値」に対応するキャラクタ情報が「血小板計X」 に対応するキャラクタ情報が誤って認識されない場合におけるキャラクタの確率に相当する。
例えば、ステップS222において、少なくとも二つの候補エンティティのそれぞれが誤りがあるチェック対象エンティティである確率を計算することは以下のステップS2221~ステップS2223を含む。
ステップS2221において、チェック対象エンティティに次のレベルのチェック対象エンティティを含むかどうかを判定して、第1の判定結果を取得する。次のレベルのチェック対象エンティティは、チェック対象エンティティの全ての次のレベルエンティティに属する。
例えば、図4に示す血液一般検査報告書のピクチャの複数のエンティティについて、「血小板計X」を、チェック対象エンティティとして選択する場合に、チェック対象エンティティに次のレベルのチェック対象エンティティを含まないと判定し、「項目名X」を、チェック対象エンティティとして選択する場合に、チェック対象エンティティに次のレベルのチェック対象エンティティを含むと判定することができ、例えば、「項目名X」が次のレベルのチェック対象エンティティを含み、「血小板計数」、「血小板分布幅」、「血小板クリット値」及び「好中球パーセント」などを含む。
例えば、第1の判定結果は、チェック対象エンティティに次のレベルのチェック対象エンティティを含むと判定された場合における第1の判定サブ結果、又はチェック対象エンティティに次のレベルのチェック対象エンティティを含まないと判定された場合における第2の判定サブ結果である。例えば、「項目名X」を、チェック対象エンティティとして選択する場合に、第1の判定結果は第1の判定サブ結果となり、「血小板計X」を、チェック対象エンティティとして選択する場合に、第1の判定結果は第2の判定サブ結果となる。
ステップS2222において、チェック対象エンティティが関連チェック対象エンティティに対応するかどうかを判定して、第2の判定結果を取得する。関連チェック対象エンティティは、知識グラフの階層構造におけるチェック対象エンティティと同じレベルにあり、チェック対象エンティティと関連付けられ、且つチェック対象エンティティが属する前のレベルのエンティティと異なる関係を持つ全てのエンティティである。例えば、関連チェック対象エンティティがチェック対象エンティティと関連付けられることは、関連チェック対象エンティティとチェック対象エンティティとが同一の本体の異なる方面を説明するために用いられる。例えば、「血小板計数(血小板計数検査サブ項目のフルネーム)」及び「PLT(血小板計数検査サブ項目の略語)」、「100-300(血小板計数検査サブ項目の参照値)は、血小板計数検査サブ項目の異なる方面を説明するために用いられるので、チェック対象エンティティ「血小板計数」と、「PLT」及び「100-300」とが関連付けられる。
例えば、図4に示す血液一般検査報告書のピクチャの複数のエンティティについて、「血小板計X」を、チェック対象エンティティとして選択する場合に、チェック対象エンティティが関連チェック対象エンティティに対応すると判定することができる。例えば、「血小板計X」に対応する関連チェック対象エンティティは、「PLT(血小板計数の略語)」、「100-300(血小板計数の参照値)」などを含む。「項目名X」をチェック対象エンティティとして選択する場合に、チェック対象エンティティが関連チェック対象エンティティに対応しないと判定することができる。
例えば、第2の判定結果は、チェック対象エンティティが関連チェック対象エンティティに対応すると判定された場合における第3の判定サブ結果、又は、チェック対象エンティティが関連チェック対象エンティティに対応しないと判定された場合における第4の判定サブ結果である。例えば、「項目名X」を、チェック対象エンティティとして選択する場合に、第2の判定結果は第4の判定サブ結果となり、「血小板計X」をチェック対象エンティティとして選択する場合に、第2の判定結果は第3の判定サブ結果となる。
ステップS2223において、第1の判定結果、及び第2の判定結果に基づいて、少なくとも二つの候補エンティティのそれぞれが、誤りがあるチェック対象エンティティである確率を計算するための方法を選択する。
例えば、ステップS2223において、第1の判定結果、及び第2の判定結果に基づいて、少なくとも二つの候補エンティティのそれぞれが、誤りがあるチェック対象エンティティである確率を計算するための方法を選択することは、以下のステップS231~ステップS234のうちの1つを含む。
ステップS232において、第1の判定結果が第2の判定サブ結果であり、且つ第2の判定結果が第3の判定サブ結果である場合に、関連チェック対象エンティティを利用して、少なくとも二つの候補エンティティのそれぞれの候補確率を計算する。
例えば、「血小板計X」を、チェック対象エンティティとして選択する場合に、第1の判定結果は第2の判定サブ結果となり、第2の判定結果は第3の判定サブ結果となり(つまり、「血小板計X」は次のレベルのチェック対象エンティティを有しないが、関連チェック対象エンティティに対応する)、関連チェック対象エンティティにより少なくとも二つの候補エンティティのそれぞれの候補確率を計算できる。
例えば、チェック対象エンティティ(つまり、「血小板計X」)の候補エンティティは「血小板計数」、「血小板クリット値」などを含む。なお、明確にするために ここで、チェック対象エンティティ(つまり、「血小板計X」)の候補エンティティが「血小板計数」及び「血小板クリット値」のみを含むことを仮定する。
例えば、関連チェック対象エンティティを利用して、少なくとも二つの候補エンティティのそれぞれの候補確率を計算することは以下のステップS241~ステップS244を含む。
ステップS241において、チェック対象エンティティに対応する関連チェック対象エンティティを取得する。
例えば、チェック対象エンティティ(つまり、「血小板計X」)に対応する関連チェック対象エンティティは、「PLT」、「100-300」などを含む。
ステップS242において、関連チェック対象エンティティに含まれるエンティティのそれぞれについて、以下のステップS2421~ステップS2422を実行する。
ステップS2421において、関連候補エンティティを取得する。関連候補エンティティは、知識グラフの階層構造における少なくとも二つの候補エンティティのそれぞれと同じレベルにあり、少なくとも二つの候補エンティティに関連付けられており、且つ少なくとも二つの候補エンティティのそれぞれが属する前のレベルのエンティティとの関係が、関連チェック対象エンティティに含まれるエンティティのそれぞれとチェック対象エンティティとの関係に等しい。
例えば、関連チェック対象エンティティ「PLT」について、候補エンティティ「血小板計数」に対応する関連候補エンティティは「PLT」であり、候補エンティティ「血小板クリット値」に対応する関連候補エンティティは「PCT」である。例えば、関連チェック対象エンティティ「100-300」について、候補エンティティ「血小板計数」に対応する関連候補エンティティは「100-300」であり、候補エンティティ「血小板クリット値」に対応する関連候補エンティティは「0.17-0.35」である。
ステップS2422において、関連チェック対象エンティティに含まれるエンティティのそれぞれと関連候補エンティティとの類似度を計算する。
例えば、関連チェック対象エンティティ「PLT」と候補エンティティ「血小板計数」に対応する関連候補エンティティ「PLTとの類似度は1であり、関連チェック対象エンティティ「PLT」と候補エンティティ「血小板クリット値」に対応する関連候補エンティティ「PCT」との類似度は0.65である。
例えば、関連チェック対象エンティティ「100-300」と候補エンティティ「血小板計数」に対応する関連候補エンティティ「100-300」との類似度は1であり、関連チェック対象エンティティ「100-300」と候補エンティティ「血小板クリット値」に対応する関連候補エンティティ「0.17-0.35」との類似度は0である。
ステップS243において、関連チェック対象エンティティに含まれるエンティティのそれぞれと関連候補エンティティとの類似度に基づいて、少なくとも二つの候補エンティティのそれぞれの関連類似度を取得する。
例えば、ステップS243において、関連チェック対象エンティティに含まれるエンティティのそれぞれと関連候補エンティティとの類似度に基づいて、少なくとも二つの候補エンティティのそれぞれの関連類似度を取得することは、以下のステップS2431~ステップS2433を含む。
ステップS2431において、関連チェック対象エンティティに含まれるエンティティの数を確定する。
例えば、チェック対象エンティティ(つまり、「血小板計X」)に対応する関連チェック対象エンティティが「PLT」のみを含む場合に、関連チェック対象エンティティに含まれるエンティティの数が1であると確定することができる。また、例えば、チェック対象エンティティ(つまり、「血小板計X」)に対応する関連チェック対象エンティティが「PLT」及び「100-300」を含む場合に、関連チェック対象エンティティに含まれるエンティティの数が2であると確定することができる。
ステップS2432において、関連チェック対象エンティティに含まれるエンティティの数が1に等しい場合に、関連チェック対象エンティティに含まれるエンティティと関連候補エンティティとの類似度を、少なくとも二つの候補エンティティのそれぞれの関連類似度とする。
例えば、チェック対象エンティティ(つまり、「血小板計X」)に対応する関連チェック対象エンティティが「PLT」のみを含む場合に、関連チェック対象エンティティ「PLT」と候補エンティティ「血小板計数」に対応する関連候補エンティティ「PLT」との類似度(つまり、1)を、候補エンティティ「血小板計数」の関連類似度とし、そして、関連チェック対象エンティティ「PLT」と、候補エンティティ「血小板クリット値」に対応する関連候補エンティティ「PCT」との類似度(0.65)を、候補エンティティ「血小板クリット値」の関連類似度とすることができる。
ステップS2433において、関連チェック対象エンティティに含まれるエンティティの数が1よりも大きい場合に、関連チェック対象エンティティに含まれるエンティティと関連候補エンティティとの間の複数の類似度の加重和を少なくとも二つの候補エンティティのそれぞれの関連類似度とする。
例えば、関連チェック対象エンティティに含まれるエンティティの数が1よりも大きい場合に、関連チェック対象エンティティに含まれる各エンティティに対して重みを設置することができる。例えば、チェック対象エンティティ(つまり、「血小板計X」)に対応する関連チェック対象エンティティが「PLT」及び「100-300」を含む場合に、サブ項目略語(例えば、「PLT」)の重みを0.7に設置し、項目参照値(例えば、「100-300」)を0.3に設置することができる。
例えば、候補エンティティ「血小板計数」の関連類似度=0.7×1+0.3×1=1であり、つまり、候補エンティティ「血小板計数」の関連類似=0.7(サブ項目略語の重み)×1(関連チェック対象エンティティ「PLT」と候補エンティティ「血小板計数」に対応する関連候補エンティティ「PLT」との類似度)+0.3(項目参照値の重み)×1(関連チェック対象エンティティ「100-300」と候補エンティティ「血小板計数」に対応する関連候補エンティティ「100-300」との類似度)となる。
例えば、候補エンティティ「血小板クリット値」の関連類似度=0.7×0.65+0.3×0=0.455であり、つまり、候補エンティティ「血小板クリット値」の関連類似度=0.7(サブ項目略語の重み)×0.65(関連チェック対象エンティティ「PLT」と候補エンティティ「血小板クリット値」に対応する関連候補エンティティ「PCT」との類似度)+0.3(項目参照値の重み)×0(関連チェック対象エンティティ「100-300」と候補エンティティ「血小板クリット値」に対応する関連候補エンティティ「0.17-0.35」との類似度)となる。
ステップS244において、少なくとも二つの候補エンティティのそれぞれの関連類似度及びエンティティ類似度に基づいて、少なくとも二つの候補エンティティのそれぞれの候補確率を取得する。
例えば、ステップS244において,少なくとも二つの候補エンティティのそれぞれの関連類似度及びエンティティ類似度に基づいて、少なくとも二つの候補エンティティのそれぞれの候補確率を取得することは、少なくとも二つの候補エンティティのそれぞれの関連類似度とエンティティ類似度との加重和を、少なくとも二つの候補エンティティのそれぞれの候補確率とすることを含む。
例えば、候補エンティティの候補確率=候補エンティティの関連類似度×候補エンティティの関連類似度の重み+候補エンティティのエンティティ類似度×候補エンティティのエンティティ類似度の重みである。例えば、関連類似度、及びエンティティ類似度の重みは、実際の適用ニーズに応じて設定され得る。例えば、関連類似度、及びエンティティ類似度の重みは、それぞれ0.6及び0.4に設置される。
例えば、候補エンティティ「血小板計数」及び候補エンティティ「血小板クリット値」のエンティティ類似度は、それぞれ0.8及び0.6であり、且つ、候補エンティティ「血小板計数」及び候補エンティティ「血小板クリット値」の関連類似度はそれぞれ1及び0.455である場合に、候補エンティティ「血小板計数」の候補確率=1×0.6+0.8×0.4=0.92であり、候補エンティティ「血小板クリット値」の候補確率=0.455×0.6+0.6×0.4=0.513である。
他の例において、また、少なくとも二つの候補エンティティのそれぞれの関連類似度とエンティティ類似度との積を、少なくとも二つの候補エンティティのそれぞれの候補確率とすることができる。この場合、候補エンティティ「血小板計数」の候補確率=1×0.8=0.8であり、候補エンティティ「血小板クリット値」の候補確率=0.455×0.6=0.273である。
ステップS233において、第1の判定結果が第1の判定サブ結果であり、第2の判定結果が第4の判定サブ結果である場合に、次のレベルのチェック対象エンティティを利用して、少なくとも二つの候補エンティティのそれぞれの候補確率を計算する。
例えば、「項目名X」をチェック対象エンティティとして選択する場合に、第1の判定結果は第1の判定サブ結果となり、第2の判定結果は第4の判定サブ結果となり(つまり、チェック対象エンティティ「項目名X」は次のレベルのチェック対象エンティティを有するが、関連チェック対象エンティティに対応しない)、次のレベルのチェック対象エンティティを利用して、少なくとも二つの候補エンティティのそれぞれの候補確率を計算することができる。例えば、「項目名X」の候補エンティティは「項目名」及び「項目参照値」を含む。
例えば、関連チェック対象エンティティを利用して、少なくとも二つの候補エンティティのそれぞれの候補確率を計算することは以下のステップS251~ステップS255を含む。
ステップS251において、チェック対象エンティティに含まれる次のレベルのチェック対象エンティティを取得する。
例えば、チェック対象エンティティ「項目名X」の次のレベルのチェック対象エンティティは、「血小板計数」や、「血小板クリット値」などを含む。なお、明確にするために、ここで、チェック対象エンティティ「項目名X」の次のレベルのチェック対象エンティティが「血小板計数」及び「血小板クリット値」のみを含むことを仮定する。
ステップS252において、チェック対象エンティティと次のレベルのチェック対象エンティティのそれぞれとの関係に基づいて、次のレベルのチェック対象エンティティを、少なくとも一組の次のレベルのチェック対象エンティティグループに分ける。
例えば、次のレベルのチェック対象エンティティに含まれる「血小板計数」及び「血小板クリット値」はチェック対象エンティティ「項目名X」と同じ関係を持つので、ここで、1組の次のレベルのチェック対象エンティティグループのみに分け、つまり、次のレベルのチェック対象エンティティグループに含まれるエンティティは、「血小板計数」及び「血小板クリット値」である。
ステップS253において、少なくとも一組の次のレベルのチェック対象エンティティグループのそれぞれ、以下のステップS2531~ステップS25312を実行する。
ステップS2531において、次のレベルの候補エンティティグループを取得する。次のレベルの候補エンティティグループは、少なくとも二つの候補エンティティのそれぞれに属し、且つ少なくとも二つの候補エンティティのそれぞれとの関係が次のレベルのチェック対象エンティティグループに含まれるエンティティのそれぞれとチェック対象エンティティとの関係と等しいエンティティの全部である。
例えば、候補エンティティ「項目名」に含まれる次のレベルの候補エンティティグループは、「血小板計数」、「血小板クリット値」、「血小板分布幅」などのエンティティを含み、候補エンティティ「項目参照値」に含まれる次のレベルの候補エンティティグループは「100-300」、「0.17-0.35」、「9-17」などを含む。
ステップS2532において、少なくとも一組の次のレベルのチェック対象エンティティグループのそれぞれと次のレベルの候補エンティティグループとの類似度を計算して、少なくとも一組の次のレベルのチェック対象エンティティグループに対応する少なくとも一組の類似度を取得する。
例えば、ステップS2532において、少なくとも一組の次のレベルのチェック対象エンティティグループに対応する少なくとも一組の類似度を取得することは以下のステップを含む。
ステップ310において、少なくとも一組の次のレベルのチェック対象エンティティグループのそれぞれに含まれる複数のエンティティの各々の最大類似度を取得して、少なくとも一組の次のレベルのチェック対象エンティティグループのそれぞれに含まれる複数のエンティティの複数の最大類似度を取得する。ここで、最大類似度は、少なくとも一組の次のレベルのチェック対象エンティティグループのそれぞれに含まれる複数のエンティティの各々と次のレベルの候補エンティティグループに含まれる全てのエンティティとの類似度のうちの値が最大となる類似度である。
例えば、次のレベルのチェック対象エンティティグループに含まれるエンティティ「血小板計数」と候補エンティティ「項目名」の次のレベルの候補エンティティグループの全てのエンティティ(例えば、「血小板計数」、「血小板クリット値」、「血小板分布幅」)との類似度は、それぞれ1、0.6及び0.5であるので、次のレベルのチェック対象エンティティグループに含まれるエンティティ「血小板計数」と候補エンティティ「項目名」の次のレベルの候補エンティティグループの全てのエンティティとの類似度のうちの値が最大となる類似度(つまり、候補エンティティ「項目名」について、次のレベルのチェック対象エンティティグループに含まれるエンティティ「血小板計数」の最大類似度)は1である。
例えば、次のレベルのチェック対象エンティティグループに含まれるエンティティ「血小板クリット値」と候補エンティティ「項目名」の次のレベルの候補エンティティグループの全てのエンティティ(例えば、「血小板計数」、「血小板クリット値」、「血小板分布幅」)との類似度はそれぞれ0.6、1及び0.5であるので、次のレベルのチェック対象エンティティグループに含まれるエンティティ「血小板クリット値」と候補エンティティ「項目名」の次のレベルの候補エンティティグループの全てのエンティティとの類似度のうちの値が最大となる類似度(つまり、候補エンティティ「項目名」に対して、次のレベルのチェック対象エンティティグループに含まれるエンティティ「血小板クリット値」の最大類似度)は1である。
従って、候補エンティティ「項目名」について、次のレベルのチェック対象エンティティグループに含まれる複数のエンティティ(つまり、「血小板計数」及び「血小板クリット値」)の複数の最大類似度は、それぞれ1及び1である。
例えば、次のレベルのチェック対象エンティティグループに含まれるエンティティ「血小板計数」と候補エンティティ「項目参照値」の次のレベルの候補エンティティグループの全てのエンティティとの類似度のうちの値が最大となる類似度(つまり、候補エンティティ「項目参照値」に対して、次のレベルのチェック対象エンティティグループに含まれるエンティティ「血小板計数」の最大類似度)は0であり、次のレベルのチェック対象エンティティグループに含まれるエンティティ「血小板クリット値」と候補エンティティ「項目参照値」の次のレベルの候補エンティティグループの全てのエンティティとの類似度のうちの値が最大となる類似度(つまり、候補エンティティ「項目参照値」に対して、次のレベルのチェック対象エンティティグループに含まれるエンティティ「血小板クリット値」の最大類似度)は0であり、この場合、候補エンティティ「項目参照値」に対して、次のレベルのチェック対象エンティティグループに含まれる複数のエンティティ(つまり、「血小板計数」及び「血小板クリット値」)の複数の最大類似度は、それぞれ0及び0である。
ステップ320において、複数の最大類似度に基づいて、少なくとも一組の次のレベルのチェック対象エンティティグループに対応する少なくとも一組の類似度を取得する。
例えば、複数の最大類似度に基づいて、少なくとも一組の次のレベルのチェック対象エンティティグループに対応する少なくとも一組の類似度を取得することは、複数の最大類似度の加重和を、少なくとも一組の次のレベルのチェック対象エンティティグループに対応する少なくとも一組の類似度とすることを含む。
例えば、次のレベルのチェック対象エンティティグループに含まれる複数のエンティティの重みは、実際の適用ニーズに応じて設定され得る。例えば、次のレベルのチェック対象エンティティグループに含まれる複数のエンティティの重みは1/複数のエンティティの数と等しい。例えば、次のレベルのチェック対象エンティティグループのエンティティ「血小板計数」及び「血小板クリット値」の重みは1/2と等しい。
例えば、候補エンティティ「項目名」に対して、次のレベルのチェック対象エンティティグループの(エンティティ「血小板計数」及び「血小板クリット値」を含む)グループ類似度=0.5×1+0.5×1=1である。例えば、候補エンティティ「項目参照値」に対して、次のレベルのチェック対象エンティティグループの(エンティティ「血小板計数」及び「血小板クリット値」を含む)グループ類似度=0.5×0+0.5×0=0である。
ステップS254において、少なくとも一組の類似度に基づいて、少なくとも二つの候補エンティティのそれぞれの次のレベルの類似度を取得する。
例えば、ステップS254において、少なくとも一組の類似度に基づいて、少なくとも二つの候補エンティティのそれぞれの次のレベルの類似度を取得することは、次のレベルのチェック対象エンティティに含まれる次のレベルのチェック対象エンティティグループの数を確定し、次のレベルのチェック対象エンティティグループの数が1に等しい場合に、次のレベルのチェック対象エンティティに含まれる次のレベルのチェック対象エンティティグループのグループ類似度を、少なくとも二つの候補エンティティのそれぞれの次のレベルの類似度とし、次のレベルのチェック対象エンティティグループの数が1よりも大きい場合に、次のレベルのチェック対象エンティティに含まれる次のレベルのチェック対象エンティティグループの複数のグループ類似度の加重和を、少なくとも二つの候補エンティティのそれぞれの次のレベルの類似度とすることを含む。
例えば、「項目名X」の次のレベルのチェック対象エンティティに含まれる「血小板計数」及び「血小板クリット値」の両方はチェック対象エンティティ「項目名X」と同じ関係を持ち、つまり、「項目名X」の次のレベルのチェック対象エンティティグループの数が1に等しいので、候補エンティティ「項目名」の次のレベルの類似度及び候補エンティティ「項目参照値」の次のレベルの類似度は、それぞれ1及び0である。
ステップS255において、少なくとも二つの候補エンティティのそれぞれの次のレベルの類似度、及びエンティティ類似度に基づいて、少なくとも二つの候補エンティティのそれぞれの候補確率を計算する。
例えば、ステップS255において、少なくとも二つの候補エンティティのそれぞれの次のレベルの類似度、及びエンティティ類似度に基づいて、少なくとも二つの候補エンティティのそれぞれの候補確率を計算することは、少なくとも二つの候補エンティティのそれぞれの次のレベルの類似度とエンティティ類似度との積を、少なくとも二つの候補エンティティのそれぞれの候補確率とすることを含む。
例えば、「項目名」及び「項目参照値」のエンティティ類似度はそれぞれ0.75及び0.3であり、且つ「項目名」及び「項目参照値」の次のレベルの類似度は、それぞれ1及び0である場合に、候補エンティティ「項目名」の候補確率=0.75×1=0.75で、「項目参照値」の候補確率=0.3×0=0である。
ステップS231において、第1の判定結果が第1の判定サブ結果であり、且つ第2の判定結果が第3の判定サブ結果である場合に、次のレベルのチェック対象エンティティ及び/又は関連チェック対象エンティティを利用して、少なくとも二つの候補エンティティのそれぞれの候補確率を計算する。
例えば、第1の判定結果が第1の判定サブ結果であり、且つ第2の判定結果が第3の判定サブ結果である場合に、次のレベルのチェック対象エンティティを利用して少なくとも二つの候補エンティティのそれぞれの候補確率を計算するか、又は関連チェック対象エンティティを利用して、少なくとも二つの候補エンティティのそれぞれの候補確率を計算することができる。また、例えば、第1の判定結果が第1の判定サブ結果であり、且つ第2の判定結果が第3の判定サブ結果である場合に、次のレベルのチェック対象エンティティ及び関連チェック対象エンティティを利用して、少なくとも二つの候補エンティティのそれぞれの候補確率を計算することができる。
例えば、次のレベルのチェック対象エンティティ及び関連チェック対象エンティティを利用して、少なくとも二つの候補エンティティのそれぞれの候補確率を計算することは、以上のステップS241~ステップS244、及びステップS251~ステップS255を含む。
例えば、次のレベルのチェック対象エンティティ、及び関連チェック対象エンティティを利用して少なくとも二つの候補エンティティのそれぞれの候補確率を計算することは、少なくとも二つの候補エンティティのそれぞれの関連類似度、次のレベルの類似度及びエンティティ類似度に基づいて、少なくとも二つの候補エンティティのそれぞれの候補確率を取得することをさらに含む。
例えば、少なくとも二つの候補エンティティのそれぞれの関連類似度、次のレベルの類似度及びエンティティ類似度に基づいて、少なくとも二つの候補エンティティのそれぞれの候補確率を取得することは、少なくとも二つの候補エンティティのそれぞれの関連類似度とエンティティ類似度の加重和と次のレベルの類似度との積を、少なくとも二つの候補エンティティのそれぞれの候補確率とすることを含む。例えば、候補エンティティの関連類似度、次のレベルの類似度及びエンティティ類似度はそれぞれ0.9、1及び0.8であり、関連類似度及びエンティティ類似度の重みはそれぞれ0.6及び0.4である場合に、候補エンティティの関連類似度=(0.6×0.9+0.4×0.8)×1=0.86である。
また、例えば、少なくとも二つの候補エンティティのそれぞれの関連類似度、次のレベルの類似度及びエンティティ類似度に基づいて少なくとも二つの候補エンティティのそれぞれの候補確率を取得することは、少なくとも二つの候補エンティティのそれぞれの関連類似度、次のレベルの類似度及びエンティティ類似度の積を、少なくとも二つの候補エンティティのそれぞれの候補確率とすることを含む。例えば、候補エンティティの関連類似度、次のレベルの類似度及びエンティティ類似度はそれぞれ0.9、1及び0.8である場合に、候補エンティティの関連類似度=0.9×1×0.8=0.72である。
ステップS234において、第1の判定結果が第2の判定サブ結果であり、第2の判定結果が第4の判定サブ結果である場合に、少なくとも二つの候補エンティティのそれぞれのエンティティ類似度を、少なくとも二つの候補エンティティのそれぞれが誤りがあるチェック対象エンティティである確率とする。
例えば、ステップS234において、チェック対象エンティティに次のレベルのチェック対象エンティティも関連チェック対象エンティティもないと、チェック対象エンティティの少なくとも二つの候補エンティティのそれぞれのエンティティ類似度を、少なくとも二つの候補エンティティのそれぞれが誤りがあるチェック対象エンティティである確率とすることができる。
例えば、ステップS220において、知識グラフに基づいて、誤りがあるキャラクタ情報を補正することは、エンティティ数が1よりも大きい場合に、以下のステップS223を実行することをさらに含む。
ステップS223において、誤りがあるチェック対象エンティティに対応するキャラクタ情報を、最大候補確率に対応する候補エンティティに対応するキャラクタ情報に置換する。
例えば、チェック対象エンティティ「血小板計X」の候補エンティティ「血小板計数」の候補確率が0.8であり、且つチェック対象エンティティ「血小板計X」の候補エンティティ「血小板クリット値」の候補確率が0.273であることを確認した場合に、チェック対象エンティティ「血小板計X」に対応するキャラクタ情報を、最大候補確率(つまり、0.8)に対応する候補エンティティ(つまり、「血小板計数」)に対応するキャラクタ情報に置換することができる。
例えば、チェック対象エンティティ「項目名X」の候補エンティティ「項目名」の候補確率が0.75であり、且つチェック対象エンティティ「項目名X」の候補エンティティ「項目参照値」の候補確率が0であることを確認した場合に、チェック対象エンティティ「項目名X」に対応するキャラクタ情報を最大候補確率(つまり、0.75)に対応する候補エンティティ(つまり、「項目名」)に対応するキャラクタ情報に置換することができる。
図5Aは本開示の少なくとも1つの実施例が提供する知識グラフに基づいて少なくとも一つのキャラクタ情報をチェックする例示的なフローチャートである。図5Bは、本開示の少なくとも1つの実施例が提供する知識グラフに基づいて解析する例示的なフローチャートである。
図5A及び図5Bに示すように、知識グラフに基づいて少なくとも一つのキャラクタ情報をチェックするは、テーブル分析(つまり、テーブル構造分析)、及びエンティティリンキング(Entity Linking、例えば、エンティティリンキング は、対応するエンティティを関連付ける又は/及び1つのエンティティを関連するエンティティにマッピングする)を含む。例えば、テーブル分析の結果は、ピクチャから抽出された少なくとも一つのキャラクタ情報に含まれる複数のエンティティを階層化するために使用され得る。例えば、エンティティリンキング により、ピクチャから抽出された少なくとも一つのキャラクタ情報に含まれる複数のエンティティと知識グラフにおけるエンティティとを関連付けすることにより、知識グラフにおける複数のエンティティのレベルを確定することができる。
例えば、図5A及び図5Bに示すように、エンティティリンキングが完了した後に、知識グラフに基づいて、ピクチャから抽出された少なくとも一つのキャラクタ情報をチェックすることができる。例えば、知識グラフに基づいて、ピクチャから抽出された少なくとも一つのキャラクタ情報をチェックする具体的な方法は、本開示の少なくとも1つの実施例が提供するピクチャ中のキャラクタ情報の取得方法を参照できるので、ここで再度説明されない。例えば、チェックが完了したに、結果を出力する(つまり、チェックされたキャラクタを出力する)ことができる。
例えば、図5Bに示すように、テーブル分析は、テーブル認識、及び分割を含むことができる。例えば、OpenCVによって提供されるプログラム認識テーブルを使用でき、これにより、テーブルを認識及び分割することができる。例えば、知識グラフにより、ページタイプがテーブルであると確認する。
例えば、テーブル認識及び分割は、テーブル横線検出、テーブル縦線検出及びテーブル頂点検出を含む。例えば、テーブル横線検出は、横方向直線検出、画像の2値化及び二次中央値フィルタリングを含む。例えば、ピクチャの各行のピクチャを検出し、隣接する平均ピクチャ差が120よりも大きいことを基準として、2つの記録を分割する横線を認識し、横方向直線リストを取得する。例えば、テーブル縦線検出は、階調ピクチャを検出し、その後、直線検出を行うことを含んでおり、最大間隔は30のピクチャであり、線分の最小長さは500のピクチャであり、垂直直線である。例えば、テーブル頂点検出は、各セルが所在する頂点を認識するために用いられる。
例えば、図5Bに示すように、テーブル分析は、また、テーブル微細再構成を含んでもよい。例えば、テーブル微細再構成は、行認識(横線なし)、列認識(縦線なし)及びインターライン認識の少なくとも1つを含む。例えば、文字の認識後に返された位置情報により統計と分析(行座標)の後に行認識を完了してもよい。文字の認識後に返された位置情報により統計と分析(列座標)の後に行認識を完了することができる。例えば、行認識(上アライメント)及び列認識(左アライメント)後の位置情報により、行数が最大の列の行数がテーブルの最大行数とし、隣接する行の同じ列位置の文字情報によって、文字がないと、文字インターラインと定義され、コンテンツを1行に統合する(上下に情報がない場合は、真ん中を基準として調整する)。
例えば、図5Bに示すように、知識グラフに基づいて解析することは、ページ番号認識、ページタイプ認識、行再構成及び文字ブロック再構成、ヘッダー及びフッター認識、ピクチャ/文字の認識分類の少なくとも一つの項目をさらに含んでもよい。例えば、ページ番号認識は、OCRにより各報告書のページ番号を識別するために用いられ、報告書の順序を確認し調整し正のシーケンスとなり、且つ連続的である。例えば、ページが連続していない場合、エラーが報告されることがある。例えば、ページタイプ認識は、ページに医用映像を含むかどうかを認識するために用いられる。例えば、レイアウト分析及びOCRの結果に応じて、文字情報及びレイアウト情報を含む電子文書を再構成し、行再構成及び文字ブロック再構成を行うとともに、標準化してHOCR(OCRで使用される文書のフォーマット)フォーマットの文書として出力される。例えば、ヘッダー及びフッター認識は、類似認識アルゴリズムにより報告書のヘッダー及びフッター認識を実現するために用いられ、例えば、類似認識とは、1通の複数枚の検査報告書に類似文字が複数回出現すると、ヘッダー及びフッターとして分類されることを指す。例えば、ピクチャ/文字の認識分類は、通常のディープラーニングフレームワークに基づいて、CTPN(自然画像中のテキストを検出するためのコネクショニストテキスト提案ネットワーク、Detecting Text in Natural Image with Connectionist Text Proposal Network)及び/又はCRNN(畳み込みリカレントニューラルネットワーク )を使用して、OCR認識オープンソースライブラリ(例えば、Tesseractデジタル認識ライブラリ)で漢字認識トレーニングを行うことを含む。
図6Aは本開示の少なくとも1つの実施例が提供する知識グラフに基づいて画像中のキャラクタ情報をチェックし、説明を追加する例示的なフローチャートである。
例えば、図6Aに示すように、本開示の少なくとも1つの実施例が提供する知識グラフに基づいて画像中のキャラクタ情報をチェックし、説明を追加することは、ピクチャの入力、認識結果の出力、解析結果の出力、及びグラフの検証を含む。
例えば、OCRによりピクチャからキャラクタ情報を抽出し、キャラクタ情報を認識結果として出力することができ、例えば、OCRによりピクチャから抽出されたキャラクタ情報を解析して、ピクチャ中のキャラクタ情報をテキストフォーマットのキャラクタ情報に変換し、テキストフォーマットのキャラクタ情報を解析結果として出力することができる。例えば、ピクチャ内のテーブルを分析し、テーブル分析結果を、解析後のキャラクタ情報に対応するエンティティと知識グラフにおけるエンティティとを対応付けるのに使用してもよい。例えば、グラフチェックは、知識グラフを使用して解析結果をチェックすることで、ピクチャから抽出キャラクタ情報に誤りがあるキャラクタ情報を含むかどうかを確認することを含む。例えば、ピクチャから抽出されたキャラクタ情報に誤りがあるキャラクタ情報を含まない場合に、グラフ解釈ステップにおいて、知識グラフを使用してピクチャから抽出されたキャラクタ情報に対応するエンティティに説明(例えば、サブ項目説明)を追加する。例えば、ピクチャから抽出されたキャラクタ情報に誤りがあるキャラクタ情報を含む場合に、グラフ補正ステップにおいて、知識グラフを使用して、誤りがあるキャラクタ情報を補正し、次に、グラフ解釈ステップにおいて、知識グラフを使用して補正されたキャラクタ情報に対応するエンティティに説明を追加することができる。例えば、グラフ解釈ステップが完了した後に、説明が追加されたキャラクタ情報を出力することができる。
例えば、知識グラフを使用して解析結果をチェックして、ピクチャから抽出されたキャラクタ情報に誤りのキャラクタ情報があるかどうかを確認し、知識グラフを使用して、誤りがあるキャラクタ情報を補正し、知識グラフを使用して、キャラクタ情報に対応するエンティティに説明を追加する具体的な方法は、例えば、本開示の少なくとも1つの実施例が提供するピクチャ中のキャラクタ情報の取得方法、及びページ処理方法の関連コンテンツを参照できるので、ここで再度説明されない。
図6Bは、本開示の少なくとも1つの実施例が提供する知識グラフに基づく医療記録解析の例示的なフローチャートである。
例えば、図6Bに示すように、当該知識グラフに基づく医療記録解析は以下のステップを含む。まず、関連ユーザの文書(つまり、医療記録)を取得し、当該文書は、紙や電子ファイル(即ち、ピクチャ)であり得、紙であると、それを走査してピクチャを取得し、例えば、医療記録は、患者の病歴、医学報告書などを含む。続いて、ピクチャに対して本体(本体領域)検出を行うことで、ピクチャの本体(本体領域)の境界を確定でき、次に、本体(本体領域)の境界に沿って本体(本体領域)を抽出できる。3番目に、本体(本体領域)に対して画像強調(例えば、ノイズ除去、コントラストの向上など)を実行する。4番目に、画像強調を行った本体領域に対してピクチャ認識を行う(つまり、ピクチャ中のキャラクタ情報を抽出する)ことで、認識結果(つまり、ピクチャから抽出されたキャラクタ情報)を取得する。5番目に、認識結果(つまり、ピクチャから抽出されたキャラクタ情報)を解析することで、抽出されたキャラクタ情報を、テキストフォーマットに変換する。6番目に、知識グラフ(例えば、通常の知識グラフや、医学検査チェック知識グラフ)を使用して、解析されたキャラクタ情報を検査し、解析されたキャラクタ情報に誤りのキャラクタ情報ないことを確認したと、解析されたキャラクタ情報を出力し、解析されたキャラクタ情報に誤りのキャラクタ情報があることを確認したと、医学検査チェック知識グラフを使用して補正し、その後、補正されたキャラクタ情報を出力する。
図6Bに示すように、医学検査チェック知識グラフを使用して補正することは、検査対象項目(例えば、補正対象キャラクタ情報)と検査報告書との関係、検査対象項目の名称、検査対象項目の略語などに基づいて、確率が最大となる組み合わせを確認し、確率が最大となる組み合わせに対応するキャラクタ情報で、誤りがあるキャラクタ情報を上書きする(置換)ことを含む。
例えば、図3に示す知識グラフにおける複数のエンティティ(つまり、検査報告書、検査項目、検査サブ項目、英文略語、医師の指示コード、医師の指示の名称、コンテンツ、診断、エイリアスなど)、及び上記の複数のエンティティ間の関係に基づいて、ピクチャから抽出された情報をチェックすることができる。例えば、最小編集距離アルゴリズムを使用して、上記の複数のエンティティの少なくとも1つと、チェック対象コンテンツ(チェック対象エンティティ)との編集距離(Levenshtein距離)を使用して、ピクチャから抽出された情報(例えば、キャラクタ情報)をチェックする(検査と補正)ことができる。
例えば、パーティショニング最小編集距離確率を計算する方法により、誤りがあるコンテンツ(例えば、誤りがあるキャラクタ情報であり、例えば、「血小板計X」)に対応する候補正確コンテンツ(例えば、候補のキャラクタ情報であり、例えば、「血小板クリット値」)は、誤りがあるコンテンツが誤って認識されない場合における対応するコンテンツ(例えば、「血小板計数」)である確率を確定し、最大確率に対応する候補正確コンテンツで誤りがあるコンテンツを上書きする。例えば、パーティショニング最小編集距離確率を計算することは、パーティショニング計算の方法を使用してチェック対象コンテンツ(名称、略語、範囲などを含む)と医学検査チェック知識グラフにおけるエンティティ(又はエンティティ及び関係)との最小編集距離を計算し、上記の計算された最小編集距離に基づいて確率を計算することを含む。
例えば、パーティショニング最小編集距離確率の計算は以下のステップに係る。まず、レイアウト分析、及びテーブルセマンティック認識と区画を通じて情報(例えば、検査機関、臨床検査項目、臨床検査サブ項目、検査報告書、検査タイプなど)を取得し、上記の情報に対応するエンティティを、知識グラフにおけるエンティティ名及びタイプに従って分類し、各エンティティモジュール(例えば、上記の情報に対応するエンティティの少なくとも1つと知識グラフにおける対応するエンティティ)に対して、編集距離を計算した後に、確率と最大となる組み合わせに対応するコンテンツ(例えば、キャラクタ情報)を選択して、誤りがあるコンテンツを上書きする。例えば、パーティショニング計算とは、検査機関に対応するエンティティと、知識グラフにおける検査機関に対応するエンティティとの編集距離のみを計算し、臨床検査項目に対応するエンティティと、知識グラフにおける臨床検査項目に対応するエンティティとの編集距離のみを計算し、検査報告書名に対応するエンティティと、知識グラフにおける検査報告書名に対応するエンティティとの編集距離のみを計算することを指す。例えば、パーティショニング最小編集距離確率アルゴリズムを使用することで、知識グラフにおけるエンティティ間の関係(含む情報や、含まれる情報など)を十分に利用することができ、各エンティティの最小編集距離の計算範囲を効果的に縮小(つまり、計算量を削減)し、誤り訂正の効率と誤り訂正後のコンテンツの精度を向上させることができる。
例えば、以下の式を使用して確率を計算することができる。
ここで、P(B)は正確なコンテンツ(例えば、正確なキャラクタ情報)の確率であり、Aiは、検査チェック知識グラフにおけるリスト、検査項目、検査の詳細、字数、英語の略語などに対応するエンティティの少なくとも1つである。
例えば、パーティショニング最小編集距離確率の計算において、外科検査(二)に対応するエンティティを、知識グラフにおける身体検査項目エンティティに含まれる外科検査(二)に対応する検査項目のエンティティとの編集距離確率のみを計算する必要があり、知識グラフにおける身体検査機関に含まれる関連エンティティとの編集距離確率を計算する必要がない。例えば、外科検査(二)に対応するエンティティ、及び知識グラフにおける身体検査項目エンティティに含まれる外科検査(二)に対応する検査項目のエンティティに対して、編集距離確率を計算する場合、外科検査(二)に含まれる外科検査サブ項目である「肌の色のチェック」を、知識グラフにおける外科検査(二)に含まれる少なくとも1つの外科検査サブ項目に対応するエンティティ(例えば、フルネーム、英語の略語 、字数など)との編集距離を計算するだけで済むので、正確なコンテンツを確定することができる。
図7Aは、一部の血液一般検査報告書に対応する一つのピクチャである。図7Bは図7Aに示す血液一般検査報告書の一部が汚されたピクチャである。
図7Bに示すように、汚された検査報告書に対応するピクチャから抽出された以下のキャラクタ情報の全部に誤りがあり、「平均血小板X量」、「大血小板X例」、「リンパ球XX比」である。なお、図7A及び図7Bの1列目から7列目のキャラクタ情報は、それぞれ「サブ項目番号」、「サブ項目名」、「サブ項目略語」、「サブ項目結果」、「サブ項目結果異常プロンプト」、「サブ項目結果単位」及び「サブ項目参照値」に対応する。
図7Cは、本開示の少なくとも1つの実施例が提供するピクチャ中のキャラクタ情報の取得方法に基づくソフトウェアプログラムを使用して図7Bのピクチャ中のキャラクタ情報を取得した結果である。図7Cに示す実線枠中のキャラクタは、図7Bに示すピクチャから取得されたキャラクタ情報であり、その中、実線枠中の「name」は、検査サブ項目名を表す。図7Cに示すように、本開示の少なくとも1つの実施例が提供するピクチャ中のキャラクタ情報の取得方法に基づくソフトウェアプログラムを使用して、誤りがあるキャラクタ情報である「平均血小板X量」、「大血小板X例」、「リンパ球XX比」を、それぞれ「平均血小板体積」、「大血小板比」及び「リンパ球パーセント」に補正して、出力する。
なお、図7Cの実線枠の外側のキャラクタは、本開示の実施例の技術案と関係しないので、ここで、実線枠の外側のキャラクタの意味について繰り返されない。
本開示の少なくとも1つの実施例は、さらに、ピクチャ中のキャラクタ情報の取得装置を提供する。図8は、本開示の少なくとも1つの実施例が提供するピクチャ中のキャラクタ情報の取得装置である。
例えば、図8に示すように、当該ピクチャ中のキャラクタ情報の取得装置は、キャラクタ情報抽出装置と、チェック補正装置とを含む。
例えば、キャラクタ情報抽出装置は、ピクチャを取得し、ピクチャに含まれる少なくとも一つのキャラクタ情報を抽出するように配置される。例えば、チェック補正装置は、知識グラフに基づいて少なくとも一つのキャラクタ情報をチェックするように配置される。
例えば、ピクチャを取得し、ピクチャに含まれる少なくとも一つのキャラクタ情報を抽出する具体的な方法、及び知識グラフに基づいて少なくとも一つのキャラクタ情報をチェックする具体的な方法は、本開示の少なくとも1つの実施例がさらに提供するピクチャ中のキャラクタ情報の取得方法を参照できるので、ここで再度説明されない。
例えば、キャラクタ情報抽出装置、及びチェック補正装置は、ソフトウェア、ファームウェア、ハードウェア、及びそれらの任意の組み合わせによって実現されることができる。例えば、当該ハードウェアは、フィールドプログラマブルゲートアレイ(FPGA)などを含む。
例えば、ピクチャ中のキャラクタ情報の取得装置にチェック補正装置を設置することにより、知識グラフに基づいて少なくとも一つのキャラクタ情報をチェックする(例えば、チェックや補正)ことができ、これにより、ピクチャから抽出されたキャラクタ情報に誤りがあるかどうかを確認し、誤りがあるキャラクタ情報を補正することができ、ひいては、本開示の少なくとも1つの実施例が提供するピクチャ中のキャラクタ情報の取得装置を使用して取得されたキャラクタ情報の精度を向上させることができる。
本開示の少なくとも1つの実施例は、さらに、他のピクチャ中のキャラクタ情報の取得装置を提供する。図9は、本開示の少なくとも1つの実施例が提供する他のピクチャ中のキャラクタ情報の取得装置である。例えば、図9に示すように、当該他のピクチャ中のキャラクタ情報の取得装置は、プロセッサ、及びメモリを含む。メモリには、プロセッサによる実行に適するコンピュータプログラムコマンドが記憶されており、コンピュータプログラムコマンドは、プロセッサによって実行される場合に、本開示の少なくとも1つの実施例が提供するいずれか一つのピクチャ中のキャラクタ情報の取得方法をプロセッサに実行させる。
例えば、当該プロセッサは、例えば、中央処理ユニット(CPU)、画像処理ユニット(GPU)、テンソル処理ユニット(TPU)又はデータ処理能力及び/又はコマンド実行能力を有するその他の形式の処理ユニットであり、例えば、当該プロセッサは、汎用プロセッサとして実現されることができ、シングルチップコンピューター、マイクロプロセッサ、デジタル信号プロセッサ、専用画像処理チップ、又はフィールドプログラマブルロジックアレイなどであってもよい。 例えば、メモリは揮発性メモリ、及び非揮発性メモリのうちの少なくとも一つを含んでもよく、例えば、メモリは、読み取り専用メモリ(ROM)、ハードディスク、フラッシュメモリなどを含んでもよい。それに対応して、当該メモリは、1つ又は複数のコンピュータプログラム製品として実現されてもよく、前記コンピュータプログラム製品は、様々なタイプのコンピュータ読み取り可能な記憶媒体を含んでもよく、前記コンピュータ読み取り可能な記憶媒体に1つ又は複数のコンピュータプログラムコマンドが記憶されてもよい。プロセッサは、前記プログラムコマンドを実行することで、本開示の少なくとも1つの実施例が提供するいずれか一つのピクチャ中のキャラクタ情報の取得方法を実行することができる。当該メモリは、さらに、様々なアプリケーションと様々なデータ、例えば、前記アプリケーションによって使用及び/又は生成される様々なデータなどを記憶することができる。
例えば、本開示の少なくとも1つの実施例は、さらに、他のピクチャ中のキャラクタ情報の取得装置を提供し、知識グラフに基づいて少なくとも一つのキャラクタ情報をチェックする(例えば、チェックや補正)ことができ、これにより、ピクチャから抽出されたキャラクタ情報に誤りがあるかどうかを確認し、誤りがあるキャラクタ情報を補正することができ、ひいては、本開示の少なくとも1つの実施例が提供する他のピクチャ中のキャラクタ情報の取得装置を使用して取得されたキャラクタ情報の精度を向上させることができる。
本開示の少なくとも1つの実施例は、さらに、非一時的な記憶媒体を提供する。図10は、本開示の少なくとも1つの実施例が提供する非一時的な記憶媒体である。例えば、図10に示すように、当該非一時的な記憶媒体は、その上に記憶されているコンピュータプログラムコマンドを含んでいる。コンピュータプログラムコマンドは、プロセッサによって実行される場合に、本開示の少なくとも1つの実施例が提供するいずれか一つのピクチャ中のキャラクタ情報の取得方法をコンピュータに実行させる。
例えば、非一時的な記憶媒体は、磁気記憶媒体、光学的記憶媒体、半導体記憶媒体などを含んでもよく、例えば、非一時的記憶媒体は、読み取り専用メモリ(ROM)、ハードディスク、フラッシュメモリなどを含んでもよい。例えば、図10に示される非一時的な記憶媒体は、ピクチャから得られるキャラクタ情報の精度を改善するために使用され得る。
本開示の少なくとも1つの実施例は、さらに、ページ処理方法を提供する。図11は、本開示の少なくとも1つの実施例が提供するページ処理方法の例示的なフローチャートである。例えば、図11に示すように、当該ページ処理方法は、以下のステップS510~ステップS530を含む。
ステップS510において、ページのピクチャを取得する。
ステップS520において、本開示の少なくとも1つの実施例が提供するいずれか一つの取得方法を実行することで、ページのピクチャのチェックされたキャラクタ情報を取得する。
ステップS530において、ページのピクチャのチェックされたキャラクタ情報を構造化することで、構造化データ組み合わせを取得する。
例えば、ステップS510において、ページは、医学報告書、医療記録、処方箋などであってもよい。例えば、医学報告書は、検査検出報告書、身体検査報告書、入院報告書、退院報告書などのうちの少なくとも1つを含んでもよい。
例えば、構造化データは関係モデルデータであり、関係型データベースに記憶され得る。例えば、非構造化データは、固定モードがないデータであり、非関係型データベースに記憶され得る。例えば、構造化データは、コンピュータによって理解され得、検索、及びユーザグラフィカルインターフェース上での表示に有利であり、これにより、本開示の少なくとも1つの実施例が提供するページ処理方法を使用してページのピクチャから構造化データ組み合わせを取得することにより、ページのピクチャから得られるキャラクタ情報の精度を向上させるだけでなく、患者の医学検査検出データはより効果的に使用されることも可能にする。 例えば、「血小板計数」-「値」-「215」は一種の構造化データであり、例えば、「血小板計数」-「値」-「0.2」も一種の構造化データである。例えば、ページのピクチャがチェックされたキャラクタ情報に基づいて複数の構造化データを取得し、上記の複数の構造化データを相互に関連付けて構造化データ組み合わせを取得することができる。
例えば、ページ処理方法は、以下のステップS540と、ステップS550とをさらに含むことができる。
ステップS540において、知識グラフに基づいて、ページのピクチャに医用映像を含むことを確認する。
ステップS550において、構造化データ組み合わせに医用映像を加入する。
例えば、本開示の少なくとも1つの実施例は、さらに、ページ処理方法を提供し、ステップS510、ステップS520、ステップS530、ステップS540及びステップS550の順に従って実行することができる。
また、例えば、本開示の少なくとも1つの実施例は、さらに、ページ処理方法を提供し、ステップS510、ステップS520、ステップS540、及びステップS530+ステップS550の順に従って(つまり、ステップS530とステップS550とを同時に実行する)実行することができる。
例えば、ステップS540において、知識グラフに基づいてページのピクチャに医用映像を含むのを確認することは、ページのピクチャから抽出され、知識グラフに基づいてチェックされたキャラクタ情報に(例えば、ステップS520にて得られたチェック後のキャラクタ情報)に応じて、医用映像に対応するキャラクタ判定ページのピクチャを含む医用映像を含む。例えば、ステップS520にて得られたチェック後のキャラクタ情報に核磁気共鳴画像(NMRI)などのキャラクタを含むが、検査サブ項目(例えば、血小板計数)に対応するキャラクタを含まないと、ページのピクチャに医用映像を含むと判定でき、医用映像をページのピクチャから抽出でき、それによって、本開示の少なくとも1つの実施例が提供するページ処理方法は、多くの医学検査結果を効果的に保存することができる。例えば、ページ処理方法は、また、知識グラフに基づいてページのピクチャに医用映像を含むことを確認することを含み得ることにより、本開示の少なくとも1つの実施例が提供するページ処理方法は、ページタイプ認識機能をさらに持たせることができる。
例えば、ステップS550において、ページのピクチャから検出され且つ抽出された医用映像と、ステップS530での構造化データとを関連付けることができ、それによって、更新された構造化データ組み合わせに医用映像を加入することができる。
例えば、ページ処理方法は、以下のステップS560をさらに含むことができる。
ステップS560において、知識グラフ、及びチェックされたキャラクタ情報に対応する複数のエンティティに基づいて、構造化データ組み合わせに複数のエンティティに対応する説明を追加する。
例えば、上記の複数のエンティティのそれぞれについて、知識グラフにおける複数のエンティティのそれぞれのレベルに基づいて、知識グラフにおいて上記の複数のエンティティのそれぞれに対応するエンティティ(例えば、検査サブ項目)に関連する(検査サブ項目の医学意味)検査項目解釈及び異常解釈を探し出して、当該検査項目解釈、及び異常解釈に基づいて、構造化データ組み合わせに複数のエンティティに対応する説明を追加することができる。例えば、構造化データ組み合わせに複数のエンティティに対応する説明を追加することで、患者は検査結果の意味をよりよく理解でき、それによって、患者は検査結果をより効果的に使用できるようになる 。
例えば、「血小板計数」というエンティティには、「血小板は、人類の血液中の細胞の一種です。血小板計数とは、単位体積の血液に含まれる血小板の数を指します」のような説明を追加してもよい。血小板計数の減少は、再生不良性貧血、急性白血病、放射線療法及び化学療法、血小板減少性紫斑病、脾機能亢進症などによく見られる。血小板計数の増加は、病的骨髄増殖性疾患、原発性血小板増加症、急性溶血、急性化膿性感染症などによく見られる。
例えば、当該ページ処理方法は、また、異なるページに位置する構造化データを組み合わせ、マージするために、ページ番号識別を含んでもよい。
本開示の少なくとも1つの実施例は、知識グラフ構築方法(例えば、医学知識グラフの構築方法)をさらに提供する。図12は、本開示の少なくとも1つの実施例が提供する医学知識グラフの構築方法である。
例えば、図12に示すように、当該医学知識グラフの構築方法は以下のステップS610~ステップS640を含む。
ステップS610において、医学知識グラフのデータ構造を取得する。
例えば、ステップS610において、医学知識グラフのデータ構造は、図3に示す医学知識グラフのデータ構造を採用し得るが、但本開示の実施例はそれに限定されない。例えば、医学知識グラフのデータ構造は、図3に示す医学知識グラフのデータ構造における病院情報システムに対応する部分及び/又は臨床検査サブ項目の医学意味に対応する部分を含まなくてもよい。例えば、医学知識グラフのデータ構造(医学知識グラフフレームワーク)の構築には、エンティティのタイプとエンティティ間の関係のタイプの定義が含まれる。
ステップS620において、少なくとも医用映像アーカイブと通信システム、及びラボラトリー情報管理システムから対応するエンティティを導出する。
例えば、医用映像アーカイブと通信システム、及びラボラトリー情報管理システムから対応するエンティティを手動で導出してもよい。また、例えば、医用映像アーカイブと通信システム、及びラボラトリー情報管理システムの導出機能により、医用映像アーカイブと通信システム、及びラボラトリー情報管理システムから対応するエンティティを自動で導出してもよい。
例えば、医学知識グラフに医用映像アーカイブ通信(PACS)システムを含むことにより、ピクチャに医用映像を含むかどうかを確認し、ピクチャに医用映像を含んでいる場合に、ページのピクチャから抽出することができ、これにより、本開示の少なくとも1つの実施例が提供する医学知識グラフの構築方法に基づいて取得された知識グラフは、多くの医学検査結果を効果的に保存するために使用され得る。
ステップS630において。医用映像アーカイブと通信システムから導出されたエンティティ、及びラボラトリー情報管理システムから導出されたエンティティに対してエンティティアライメントを行うことで、エンティティアライメントされた複数のエンティティを取得する。
例えば、医用映像アーカイブと通信システムから導出されたエンティティ、及びラボラトリー情報管理システムから導出されたエンティティに対してエンティティアライメントを行うことは、医用映像アーカイブと、通信システムから導出されたエンティティ及びラボラトリー情報管理システムから導出されたエンティティのうちの実際に同じな(意味が一致する)エンティティと関連付ける。例えば、医用映像アーカイブと通信システムは「項目名の略語」を「略語」で表示する場合があり、ラボラトリー情報管理システムは「項目名の略語」を「コード」で表示する場合があり、この場合、ステップS630において、「「略語」と「コード」を両方とも「項目名の略語」に関連付ける(又は、「略語」と「コード」とを直接関連付ける)ため、医用映像アーカイブと通信システムから導出されたエンティティ、及びラボラトリー情報管理システムから導出されたエンティティはエンティティアライメントを実現するようにする。
例えば、医用映像アーカイブと通信システムから導出されたエンティティ、及びラボラトリー情報管理システムから導出されたエンティティに対してエンティティアライメントを行うことで、本開示の少なくとも1つの実施例が提供する医学知識グラフの構築方法に基づいて取得された知識グラフは広い適用性を持つようにすることができる。
例えば、医用映像アーカイブと通信システムから導出されたエンティティ、及びラボラトリー情報管理システムから導出されたエンティティに対してエンティティアライメントを行うことに加えて、医学文献、ガイドライン、論文などを組み合わせて、医用映像アーカイブと通信システムから導出されたエンティティ、及びラボラトリー情報管理システムから導出されたエンティティに対して他の処理を行うことも可能である。例えば、他の処理は、データのクリア(例えば、無関係なエンティティの除去)、及びデータの補足(2つのシステムに含まれていない重要なエンティティの補充)を含む。
ステップS640において、アライメントされた複数のエンティティを、医学知識グラフのデータ構造に基づいて医学知識グラフに充填する。
例えば、医用映像アーカイブと通信システムから導出されたエンティティ、及びラボラトリー情報管理システムから導出されたエンティティに対してエンティティアライメント及び他の処理を行う場合に、アライメントした後に他の処理が完了するエンティティを、医学知識グラフのデータ構造に基づいて医学知識グラフに充填することができる。
例えば、当該医学知識グラフの構築方法は、病院情報システムから対応するエンティティを導出することを含んでおり、この場合、病院情報システムから導出されたエンティティ及びエンティティアライメントされた複数のエンティティに対してエンティティアライメントを行い、病院情報システムから導出され、且つエンティティアライメントされた複数のエンティティとエンティティアライメントを行ったエンティティを、医学知識グラフのデータ構造に基づいて医学知識グラフに充填することができる。
例えば、病院情報システムから対応するエンティティを導出する場合に、ステップS620において、病院情報システムから対応するエンティティを導出することを実行することができ、そして、ステップS630において、医用映像アーカイブと通信システムから導出されたエンティティ、ラボラトリー情報管理システムから導出されたエンティティ及び病院情報システムから導出された対応するエンティティに対して同時にエンティティアライメントを行う。
例えば、当該医学知識グラフの構築方法は、ラボラトリー情報管理システムに係る臨床検査サブ項目のサブ項目説明を取得することと、サブ項目説明を処理した後に、医学知識グラフに充填することとをさらに含む。
例えば、クローラー(すなわち、ネットワークロボット)を使用して、インターネット上に記録されたラボラトリー情報管理システムに係る臨床検査サブ項目のサブ項目説明を取得することができる。例えば、サブ項目説明には、「貧血の患者によく見られ、患者の血液が希釈されている場合の低ヘマトクリット値」を含んでもよい。
例えば、例えば、取得された臨床検査サブ項目のサブ項目説明に対する処理は、クリア(すなわち、無関係な情報の除去)を含む。また、例えば、取得された臨床検査サブ項目のサブ項目説明に対する処理は、また、マージ(すなわち、複数の情報源から得られた説明のマージ)、及びクリア(すなわち、無関係又は冗長な情報の除去)を含み得る。
例えば、サブ項目説明を処理した後に、医学知識グラフに充填することにより、本開示の少なくとも1つの実施例が提供される医学知識グラフに基づく構築方法によって取得された知識グラフの方法及び装置は、臨床検査サブ項目の説明、及び臨床検査サブ項目に異常がある場合における異常の意味を患者に提示する潜在力を持っており、患者は検査結果の意味をより明確に理解できるようにし、そして、患者は検査結果をより効果的に使用することができる。
図13は、本開示の少なくとも1つの実施例が提供するピクチャ中のキャラクタ情報の取得システムの例示的なシナリオ図を示している。図13に示すように、当該ピクチャ中のキャラクタ情報の取得システム300はユーザ端末310、ネットワーク320、サーバ330及びデータベース340を含むことができる。
例えば、ユーザ端末310は、図13に示すコンピュータ310-1、携帯端末310-2であり得る。ユーザ端末は、データの受信、処理、及び表示を実行することができる任意のタイプの電子機器であり得、デスクトップコンピュータ、ラップトップ、タブレット、スマートホームデバイス、ウェアラブルデバイス、車載用電子機器、医療用電子機器などを含むが、それらに限定されないことを理解されたい。
例えば、前記ネットワーク320は、単一のネットワーク、又は少なくとも2つの異なるネットワークの組み合わせであり得る。例えば、ネットワーク320は、ローカルエリアネットワーク、ワイドエリアネットワーク、公衆回路網、プライベートネットワーク、インターネット、モバイル通信ネットワークなどのうちの1つ又はそれらの組み合わせを含み得るが、これらに限定されない。
例えば、当該サーバ可330は、単一のサーバ又はサーバグループであり得、サーバグループ内の各サーバは、有線ネットワーク又は無線ネットワークを介して接続されている。有線ネットワークは、例えば、ツイストペア、同軸ケーブル又は光ファイバ伝送等の方式で通信を行うことができ、無線ネットワークは、例えば3G/4G/5G移動通信ネットワーク、ブルートゥース(登録商標)、Zigbee又はWiFi等の通信方式を用いることができる。本開示は、ネットワークのタイプ及び機能に対して、ここで制限しない。当該1つのサーバグループは、データセンターなどの一元化してもよいし、分散させてもよい。サーバはローカル又はリモートであってもよい。例えば、当該サーバ330は、汎用サーバ又は専用サーバであってもよいし、仮想サーバ又はクラウドサーバであってもよい。
例えば、データベース340は、ユーザ端末310及びサーバ330の作業から使用、生成、及び出力される様々なデータを格納するために使用され得る。データベース340は、ネットワーク320を介してサーバ330又はサーバ330の一部と互に接続又は通信され得るか、又はサーバ330と直接接続又は通信され得るか、又は上記の組み合わせを介してサーバ330と互に接続又は通信され得る。いくつかの実施形態では、データベース340は、個別のデバイスであり得る。他の実施例において、データベース340は、また、ユーザ端末310及びサーバ340のうちの少なくとも1つに統合され得る。例えば、データベース340は、ユーザ端末310又はサーバ340上に設置され得る。また、例えば、データベース340は、分散型であり、その一部がユーザ端末310に設置され、他の部分がサーバ340に設置されてもよい。
一例において、ユーザ端末310は、ピクチャを取得し(例えば、ユーザ端末のカメラにより紙類の医学検査報告書を撮影して取得されるピクチャ)、取得されたピクチャをネットワーク320又は他の技術(例えば、ブルートゥース(登録商標)通信、赤外線通信など)を介してサーバ330に送信することができ、サーバ330は、データベースから知識グラフの情報を取得し、本開示の少なくとも1つの実施例が提供するピクチャ中のキャラクタ情報の取得方法、及びページ処理方法を実行して、上記のピクチャから抽出されたチェック後のキャラクタ情報、及びチェック後のキャラクタ情報を構造化した構造化データ組み合わせを取得することができ、次に、サーバ330は、上記の構造化データ組み合わせをデータベース340に記憶し、上記の構造化データ組み合わせをユーザ端末310に送信することができ、最後、ユーザ端末は(例えば、予め設計されたグラフィカルユーザインタフェースで表示する)上記の構造化データ組み合わせを表示する。
幾つかの実現方式において、サーバ330は、サーバに内蔵されているアプリケーションプログラムにより、本開示の少なくとも1つの実施例が提供するピクチャ中のキャラクタ情報の取得方法、及びページ処理方法を実行することができる。他の実現方式において、サーバ330は、サーバの外部に記憶されているアプリケーションプログラムを呼び出すことで、本開示の少なくとも1つの実施例が提供するピクチャ中のキャラクタ情報の取得方法、及びページ処理方法を実行することができる。
別の例において、ユーザ端末310は、ピクチャを取得し、(例えば、ユーザ端末のカメラにより紙類の医学検査報告書を撮影して取得されるピクチャ)、ピクチャからキャラクタ情報を抽出し、抽出されたキャラクタ情報をネットワーク320又は他の技術(例えば、ブルートゥース(登録商標)通信、赤外線通信など)を介してサーバ330に送信することができ、サーバ330は、データベースから知識グラフの情報を取得し、本開示の少なくとも1つの実施例が提供するピクチャ中のキャラクタ情報の取得方法、及びページ処理方法を実行して、受信したキャラクタ情報をチェックし、チェックされたキャラクタ情報を構造化して構造化データ組み合わせを取得することができ、次に、サーバ330は、上記の構造化データ組み合わせをデータベース340に記憶し、上記の構造化データ組み合わせをユーザ端末310に送信することができ、最後、ユーザ端末は(例えば、予め設計されたグラフィカルユーザインタフェースで表示する)上記の構造化データ組み合わせを表示する。幾つかの実現方式において、ユーザ端末は、ユーザ端末に内蔵されているアプリケーションプログラムによりピクチャ中のキャラクタ情報を抽出することができる。他の実現方式において、ユーザ端末は、ユーザ端末の外部に記憶されているアプリケーションプログラムを呼び出すことで、ピクチャ中のキャラクタ情報を抽出することができる。
本出願の実施例による方法、装置又はシステムは、図14に示す計算装置400のアーキテクチャにより実現されてもよい。
図14は、当該計算装置400のアーキテクチャを示している。図14に示すように、計算装置400は、バス410と、1つ又は複数のCPU420と、読取り専用メモリ(ROM)430と、ランダムアクセスメモリ(RAM)440と、ネットワークに接続されている通信ポート450と、入力/出力コンポーネント460と、ハードディスク470などと、を備えることができる。計算装置400における記憶装置(例えば、ROM 430や、ハードディスク470)は本開示の少なくとも1つの実施例が提供するピクチャ中のキャラクタ情報の取得方法、ページ処理方法、及び医学知識グラフの構築方法のうちの少なくとも1つに対応するコマンド、及び様々な関連するデータ又はファイルを記憶することができる。計算装置400は、ユーザーインターフェース480をさらに含むことができる。当然のことながら、図14に示すアーキテクチャは、例示的なものに過ぎず、異なるデバイスを実装する場合、実際の必要に応じて、図14に示す計算装置のうちの1つ又は複数の構成要素を省略することができる。
以上、一般的な説明及び実施形態にて本開示を詳細に説明したが、本開示の実施例に基づいていくつかの修正や改良を行えることは、当業者にとって自明なことである。従って、本開示の主旨から逸脱せずに行われるこれら修正や改良はいずれも本開示の保護範囲に属する。
上記は、本開示の具体的な実施形態にすぎず、本開示の保護範囲は、それらに限定されず、本開示の保護範囲は、特許請求の範囲の保護範囲によって決定されるべきである。