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

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

▶ コニカ ミノルタ ビジネス ソリューションズ ユー.エス.エー., インコーポレイテッドの特許一覧

特許7493937文書における見出しのシーケンスの識別方法、プログラム及びシステム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-24
(45)【発行日】2024-06-03
(54)【発明の名称】文書における見出しのシーケンスの識別方法、プログラム及びシステム
(51)【国際特許分類】
   G06F 40/258 20200101AFI20240527BHJP
【FI】
G06F40/258
【請求項の数】 20
【外国語出願】
(21)【出願番号】P 2019237067
(22)【出願日】2019-12-26
(65)【公開番号】P2020173779
(43)【公開日】2020-10-22
【審査請求日】2022-06-17
(31)【優先権主張番号】16/370,724
(32)【優先日】2019-03-29
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519448326
【氏名又は名称】コニカ ミノルタ ビジネス ソリューションズ ユー.エス.エー., インコーポレイテッド
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】ベラート, ダレル ユージン
【審査官】成瀬 博之
(56)【参考文献】
【文献】特開2014-075032(JP,A)
【文献】特開2013-206261(JP,A)
【文献】特開2012-160000(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-40/58
(57)【特許請求の範囲】
【請求項1】
コンピュータープロセッサーによって、電子文書(ED)を処理し、EDのセクション見出しのシーケンスを識別する方法であって、
所定のセクション見出しパターンと一致するEDの複数の文字から、前記所定のセクション見出しパターンに応じた一以上のシーケンス文字をそれぞれ有する複数の候補見出しからなるEDの候補見出しのリストを生成するステップと、
前記候補見出しのリストに基づいて、前記候補見出しのシーケンス文字において句読点によって区切られるシーケンス文字の数に対応するシーケンス文字のネストレベルに基づくランク及び前記シーケンス文字の文字種に基づく分類が同一の前記候補見出しからなるチェーンフラグメントを生成し、当該チェーンフラグメントをランクに応じてソートすることで、セクション見出しのシーケンスの一部を識別するためのチェーンフラグメントのリストを生成するステップと、
より高いランクのチェーンフラグメントにおけるより低いランクのチェーンフラグメントが挿入される点とより低いランクのチェーンフラグメントの最初の見出し候補と、の段落番号の差と対応する近接性及び前記候補見出しのスタイルの特有性の値と対応する信頼度を含む所定の基準に基づいて、前記チェーンフラグメントのリストにおける少なくとも二つのチェーンフラグメントを前記ランク又は前記分類に応じて結合してセクション見出しのシーケンスを生成するステップと、を含む文書における見出しのシーケンスの識別方法。
【請求項2】
EDの文字についての内容、レイアウト及びスタイルに関する情報を抽出することで、抽出された内容に基づいて符号化された、EDの複数の文字に関するスタイル属性が含まれる解析済みのEDを生成するステップと、
ED内の文字の総数に対する、前記候補見出しのリストのそれぞれの候補見出しの特定の共通スタイルである文字の数である前記スタイル属性の特有性の値の割合に基づいて、前記候補見出しのリストのそれぞれの候補見出しの信頼度を判断するステップと、を含む
請求項1に記載の文書における見出しのシーケンスの識別方法。
【請求項3】
前記候補見出しのリストのそれぞれの候補見出しの信頼度の平均に基づいて、前記チェーンフラグメントのリストのそれぞれのチェーンフラグメントの信頼度を判断するステップと、
所定の信頼度の閾値とそれぞれのチェーンフラグメントの信頼度とに基づいて、前記セクション見出しのシーケンスを識別するために前記チェーンフラグメントのリストから少なくとも一つのチェーンフラグメントを除外するステップと、を含む
請求項2に記載の文書における見出しのシーケンスの識別方法。
【請求項4】
記チェーンフラグメントのリストのそれぞれのチェーンフラグメントは、当該チェーンフラグメントのランクを定義する単一のランクを含む一以上の候補見出しを含む、
請求項1から3のいずれか一項に記載の文書における見出しのシーケンスの識別方法。
【請求項5】
前記チェーンフラグメントのリストを生成するステップは、
最初のシーケンス文字を始まりとする前記候補見出しのリストをさかのぼって検討して、前記チェーンフラグメントのリストのそれぞれのチェーンフラグメントについて先頭候補見出しを識別し、
前記先頭候補見出しから最初のシーケンス文字を始まりとする前記候補見出しのリストを先に進んで検討してそれぞれのチェーンフラグメントの残りの候補見出しを識別し、
前記先頭候補見出しは前記シーケンス文字の最も右の桁に先頭シーケンス文字を含む、
請求項4に記載の文書における見出しのシーケンスの識別方法。
【請求項6】
前記チェーンフラグメントのリストのそれぞれのチェーンフラグメントの前記ランクに応じて前記チェーンフラグメントのリストはソートされる、
請求項4又は5に記載の文書における見出しのシーケンスの識別方法。
【請求項7】
前記少なくとも二つのチェーンフラグメントを結合するステップは、
前記チェーンフラグメントのリストにおけるより高いランクのチェーンフラグメントとより低いランクのチェーンフラグメントとの間の近接性の値を判断し、前記より高いランクのチェーンフラグメントは前記より低いランクのチェーンフラグメントより一ランク高い、複数のより高いランクのチェーンフラグメントのうちの一つであり、
前記より高いランクのチェーンフラグメントと前記より低いチェーンフラグメントとの間の近接性の値と前記より高いランクのチェーンフラグメントのすべての見出しの信頼度の平均の設定された重み付に基づく重み付平均に基づいて前記より高いランクのチェーンフラグメントの点数を生成し、
前記点数に基づいて、前記チェーンフラグメントのリストのうちの前記複数のより高いランクのチェーンフラグメントから前記より低いランクのチェーンフラグメントに結合する前記より高いランクのチェーンフラグメントを選択する、
請求項4から6のいずれか一項に記載の文書における見出しのシーケンスの識別方法。
【請求項8】
電子文書(ED)を処理し、EDのセクション見出しのシーケンスを識別するためのコンピュータープロセッサーに、
所定のセクション見出しパターンと一致するEDの複数の文字から、前記所定のセクション見出しパターンに応じた一以上のシーケンス文字をそれぞれ有する複数の候補見出しからなるEDの候補見出しのリストを生成する機能と、
前記候補見出しのリストに基づいて、前記候補見出しのシーケンス文字において句読点によって区切られるシーケンス文字の数に対応するシーケンス文字のネストレベルに基づくランク及び前記シーケンス文字の文字種に基づく分類が同一の前記候補見出しからなるチェーンフラグメントを生成し、当該チェーンフラグメントをランクに応じてソートすることで、セクション見出しのシーケンスの一部を識別するためのチェーンフラグメントのリストを生成する機能と、
より高いランクのチェーンフラグメントにおけるより低いランクのチェーンフラグメントが挿入される点とより低いランクのチェーンフラグメントの最初の見出し候補と、の段落番号の差と対応する近接性及び前記候補見出しのスタイルの特有性の値と対応する信頼度を含む所定の基準に基づいて、前記チェーンフラグメントのリストにおける少なくとも二つのチェーンフラグメントを前記ランク又は前記分類に応じて結合してセクション見出しのシーケンスを生成する機能と、を実行させるプログラム。
【請求項9】
EDの文字についての内容、レイアウト及びスタイルに関する情報を抽出することで、抽出された内容に基づいて符号化された、EDの複数の文字に関するスタイル属性が含まれる解析済みのEDを生成する機能と、
ED内の文字の総数に対する、前記候補見出しのリストのそれぞれの候補見出しの特定の共通スタイルである文字の数である前記スタイル属性の特有性の値の割合に基づいて、前記候補見出しのリストのそれぞれの候補見出しの信頼度を判断する機能と、
を実行させる請求項8に記載のプログラム。
【請求項10】
前記候補見出しのリストのそれぞれの候補見出しの信頼度の平均に基づいて、前記チェーンフラグメントのリストのそれぞれのチェーンフラグメントの信頼度を判断する機能と、
所定の信頼度の閾値とそれぞれのチェーンフラグメントの信頼度とに基づいて、前記セクション見出しのシーケンスを識別するために前記チェーンフラグメントのリストから少なくとも一つのチェーンフラグメントを除外する機能と、
を実行させる請求項9に記載のプログラム。
【請求項11】
記チェーンフラグメントのリストのそれぞれのチェーンフラグメントは、当該チェーンフラグメントのランクを定義する単一のランクを含む一以上の候補見出しを含む、
請求項8から10のいずれか一項に記載のプログラム。
【請求項12】
前記チェーンフラグメントのリストを生成する機能は、
最初のシーケンス文字を始まりとする前記候補見出しのリストをさかのぼって検討して、前記チェーンフラグメントのリストのそれぞれのチェーンフラグメントについて先頭候補見出しを識別し、
前記先頭候補見出しから最初のシーケンス文字を始まりとする前記候補見出しのリストを先に進んで検討してそれぞれのチェーンフラグメントの残りの候補見出しを識別し、
前記先頭候補見出しは前記シーケンス文字の最も右の桁に先頭シーケンス文字を含む、
請求項11に記載のプログラム。
【請求項13】
前記少なくとも二つのチェーンフラグメントを結合する機能は、
前記チェーンフラグメントのリストにおけるより高いランクのチェーンフラグメントとより低いランクのチェーンフラグメントとの間の近接性の値を判断し、前記より高いランクのチェーンフラグメントは前記より低いランクのチェーンフラグメントより一ランク高い、複数のより高いランクのチェーンフラグメントのうちの一つであり、
前記より高いランクのチェーンフラグメントと前記より低いチェーンフラグメントと間の近接性の値と、前記より高いランクのチェーンフラグメントのすべての見出しの信頼度の平均の設定された重み付に基づく重み付平均に基づいて前記より高いランクのチェーンフラグメントの点数を生成し、
前記点数に基づいて、前記チェーンフラグメントのリストのうちの前記複数のより高いランクのチェーンフラグメントから前記より低いランクのチェーンフラグメントに結合する前記より高いランクのチェーンフラグメントを選択する、
請求項11又は12に記載のプログラム。
【請求項14】
電子文書(ED)を処理し、EDのセクション見出しのシーケンスを識別するシステムであって、
メモリーと、
メモリーと接続するコンピュータープロセッサーと、
を備え、
前記コンピュータープロセッサーは、
所定のセクション見出しパターンと一致するEDの複数の文字から、前記所定のセクション見出しパターンに応じた一以上のシーケンス文字をそれぞれ有する複数の候補見出しからなるEDの候補見出しのリストを生成し、
前記候補見出しのリストに基づいて、前記候補見出しのシーケンス文字において句読点によって区切られるシーケンス文字の数に対応するシーケンス文字のネストレベルに基づくランク及び前記シーケンス文字の文字種に基づく分類が同一の前記候補見出しからなるチェーンフラグメントを生成し、当該チェーンフラグメントをランクに応じてソートすることで、セクション見出しのシーケンスの一部を識別するためのチェーンフラグメントのリストを生成し、
より高いランクのチェーンフラグメントにおけるより低いランクのチェーンフラグメントが挿入される点とより低いランクのチェーンフラグメントの最初の見出し候補と、の段落番号の差と対応する近接性及び前記候補見出しのスタイルの特有性の値と対応する信頼度を含む所定の基準に基づいて、前記チェーンフラグメントのリストにおける少なくとも二つのチェーンフラグメントを前記ランク又は前記分類に応じて結合してセクション見出しのシーケンスを生成するシステム。
【請求項15】
前記コンピュータープロセッサーは、
EDの文字についての内容、レイアウト及びスタイルに関する情報を抽出することで、抽出された内容に基づいて符号化された、EDの複数の文字に関するスタイル属性が含まれる解析済みのEDを生成し、
ED内の文字の総数に対する、前記候補見出しのリストのそれぞれの候補見出しの特定の共通スタイルである文字の数である前記スタイル属性の特有性の値の割合に基づいて、前記候補見出しのリストのそれぞれの候補見出しの信頼度を判断する、
請求項14に記載のシステム。
【請求項16】
前記コンピュータープロセッサーは、
前記候補見出しのリストのそれぞれの候補見出しの信頼度の平均に基づいて、前記チェーンフラグメントのリストのそれぞれのチェーンフラグメントの信頼度を判断し、
所定の信頼度の閾値とそれぞれのチェーンフラグメントの信頼度とに基づいて、前記セクション見出しのシーケンスを識別するために前記チェーンフラグメントのリストから少なくとも一つのチェーンフラグメントを除外する、
請求項15に記載のシステム。
【請求項17】
記チェーンフラグメントのリストのそれぞれのチェーンフラグメントは、当該チェーンフラグメントのランクを定義する単一のランクを含む一以上の候補見出しを含む、
請求項14から16のいずれか一項に記載のシステム。
【請求項18】
前記チェーンフラグメントのリストを生成する機能は、
最初のシーケンス文字を始まりとする前記候補見出しのリストをさかのぼって検討して、前記チェーンフラグメントのリストのそれぞれのチェーンフラグメントについて先頭候補見出しを識別し、
前記先頭候補見出しから最初のシーケンス文字を始まりとする前記候補見出しのリストを先に進んで検討してそれぞれのチェーンフラグメントの残りの候補見出しを識別し、
前記先頭候補見出しは前記シーケンス文字の最も右の桁に先頭シーケンス文字を含む、
請求項17に記載のシステム。
【請求項19】
前記チェーンフラグメントのリストのそれぞれのチェーンフラグメントの前記ランクに応じて前記チェーンフラグメントのリストはソートされる、
請求項17又は18に記載のシステム。
【請求項20】
前記少なくとも二つのチェーンフラグメントを結合する機能は、
前記チェーンフラグメントのリストにおけるより高いランクのチェーンフラグメントとより低いランクのチェーンフラグメントとの間の近接性の値を判断し、前記より高いランクのチェーンフラグメントは前記より低いランクのチェーンフラグメントより一ランク高い、複数のより高いランクのチェーンフラグメントのうちの一つであり、
前記より高いランクのチェーンフラグメントと前記より低いチェーンフラグメントとの間の近接性の値と前記より高いランクのチェーンフラグメントのすべての見出しの信頼度の平均の設定された重み付に基づく重み付平均に基づいて前記より高いランクのチェーンフラグメントの点数を生成し、
前記点数に基づいて、前記チェーンフラグメントのリストのうちの前記複数のより高いランクのチェーンフラグメントから前記より低いランクのチェーンフラグメントに結合する前記より高いランクのチェーンフラグメントを選択する、
請求項17から19のいずれか一項に記載のシステム。
【発明の詳細な説明】
【背景技術】
【0001】
電子文書(ED)(例えば、PDFドキュメント、OOXMLドキュメント等)の内容は、著者によりED内においてセクションに分けられて整理されうる。様々な異なるファイル形式が存在する。それぞれのファイル形式がどのようにファイルの内容が符号化されるかを規定する。ファイル形式に関わらず、セクションやセクション見出し等の著者が意図する意味情報はED内においてコンピューターによる認識可能な情報によって指定されないことがある。
【発明の概要】
【0002】
一般に、本発明は一側面によれば、コンピュータープロセッサーによって、電子文書(ED)を処理し、EDのセクション見出しのシーケンスを識別する方法に関する。当該方法は、所定のセクション見出しパターンと一致するEDの複数の文字から、前記所定のセクション見出しパターンに応じた一以上のシーケンス文字をそれぞれ有する複数の候補見出しからなるEDの候補見出しのリストを生成するステップと、前記候補見出しのリストに基づいて、前記候補見出しのシーケンス文字において句読点によって区切られるシーケンス文字の数に対応するシーケンス文字のネストレベルに基づくランク及び前記シーケンス文字の文字種に基づく分類が同一の前記候補見出しからなるチェーンフラグメントを生成し、当該チェーンフラグメントをランクに応じてソートすることで、セクション見出しのシーケンスの一部を識別するためのチェーンフラグメントのリストを生成するステップと、より高いランクのチェーンフラグメントにおけるより低いランクのチェーンフラグメントが挿入される点とより低いランクのチェーンフラグメントの最初の見出し候補と、の段落番号の差と対応する近接性及び前記候補見出しのスタイルの特有性の値と対応する信頼度を含む所定の基準に基づいて、前記チェーンフラグメントのリストにおける少なくとも二つのチェーンフラグメントを前記ランク又は前記分類に応じて結合してセクション見出しのシーケンスを生成するステップと、を含む。
【0003】
一般に、本発明は一側面によれば、電子文書(ED)を処理し、EDのセクション見出しのシーケンスを識別するためのプログラムに関する。当該プログラムは、コンピュータープロセッサーに以下の機能を実行させる、所定のセクション見出しパターンと一致するEDの複数の文字から、前記所定のセクション見出しパターンに応じた一以上のシーケンス文字をそれぞれ有する複数の候補見出しからなるEDの候補見出しのリストを生成し、前記候補見出しのリストに基づいて、前記候補見出しのシーケンス文字において句読点によって区切られるシーケンス文字の数に対応するシーケンス文字のネストレベルに基づくランク及び前記シーケンス文字の文字種に基づく分類が同一の前記候補見出しからなるチェーンフラグメントを生成し、当該チェーンフラグメントをランクに応じてソートすることで、セクション見出しのシーケンスの一部を識別するためのチェーンフラグメントのリストを生成し、より高いランクのチェーンフラグメントにおけるより低いランクのチェーンフラグメントが挿入される点とより低いランクのチェーンフラグメントの最初の見出し候補と、の段落番号の差と対応する近接性及び前記候補見出しのスタイルの特有性の値と対応する信頼度を含む所定の基準に基づいて、前記チェーンフラグメントのリストにおける少なくとも二つのチェーンフラグメントを前記ランク又は前記分類に応じて結合してセクション見出しのシーケンスを生成する。
【0004】
一般に、本発明は一側面によれば、電子文書(ED)を処理し、EDのセクション見出しのシーケンスを識別するシステムに関する。前記システムは、メモリーと、メモリーと接続するコンピュータープロセッサーと、を備え、前記コンピュータープロセッサーは、以下の機能を実行する、所定のセクション見出しパターンと一致するEDの複数の文字から、前記所定のセクション見出しパターンに応じた一以上のシーケンス文字をそれぞれ有する複数の候補見出しからなるEDの候補見出しのリストを生成し、前記候補見出しのリストに基づいて、前記候補見出しのシーケンス文字において句読点によって区切られるシーケンス文字の数に対応するシーケンス文字のネストレベルに基づくランク及び前記シーケンス文字の文字種に基づく分類が同一の前記候補見出しからなるチェーンフラグメントを生成し、当該チェーンフラグメントをランクに応じてソートすることで、セクション見出しのシーケンスの一部を識別するためのチェーンフラグメントのリストを生成し、
より高いランクのチェーンフラグメントにおけるより低いランクのチェーンフラグメントが挿入される点とより低いランクのチェーンフラグメントの最初の見出し候補と、の段落番号の差と対応する近接性及び前記候補見出しのスタイルの特有性の値と対応する信頼度を含む所定の基準に基づいて、前記チェーンフラグメントのリストにおける少なくとも二つのチェーンフラグメントを前記ランク又は前記分類に応じて結合してセクション見出しのシーケンスを生成する。
【0005】
本発明に関するその他の点は後述の実施形態の説明及び添付される請求項によって明らかにされる。
【図面の簡単な説明】
【0006】
図1図1は本発明の一以上の実施形態におけるシステムを示す。
図2図2A図2Bは本発明の一以上の実施形態におけるフローチャートを示す。
図3図3A図3Gは本発明の一以上の実施形態における実施例を示す。
図4図4は本発明の一以上の実施形態におけるコンピューターシステムを示す。
【発明を実施するための形態】
【0007】
本発明の具体的な実施形態について図面を参照して説明する。図面における同様の要素は、一貫性を保つために同じ参照符号が付される。
【0008】
以下の本発明の実施形態の詳細な説明において本発明の理解をより深めるため、細部について具体的で詳細な説明がなされる。しかし、当業者はこれらの具体的な詳細がなくても本発明を実施可能であることが明らかである。また、公知の特徴については、説明が不必要に複雑になることを避けるために詳細に記載されていない。
【0009】
PDFドキュメントやOOXMLドキュメント等、EDによっては文書のセクションやセクション見出しが明確に示されないものがある。具体的には、セクション見出しとは著者によってEDのセクションの始めに示される一片のテキストである。より理解を深めるため、ユーザーは長い文書における具体的なセクションに記載される情報の閲覧又は検索を希望することがある。例えば、ユーザーは文書内の具体的なセクションに関する情報の検出を要求するために、「本文書内において、西部ライチョウの食習慣に関して記載されるセクションを示してください」といった命令を発行しうる。これに応じて、文書内のセクション及び/又はセクション見出しが具体的に示されない場合、示唆して目的とする質問に対する手助けとなる必要がある。
【0010】
一般に、本発明における実施形態はあるテキストをEDにおけるシーケンスセクション見出しとして推測する方法、非一時的なコンピューター読取可能媒体、及びシステムである。本発明の一以上の実施形態においては、シーケンスセクション見出しは順番に並ぶセクション見出しであり、それぞれのセクション見出しは、一以上のシーケンス文字(例えば、1.1、1.2、1.2.1、a.、b.、i.、ii.、iii.、iv.、等)をセクション見出しの最初の位置(最も左の位置)に有する。特に、シーケンス文字は句読点によって分けられる場合がある。後続のシーケンスセクション見出しにおけるシーケンス文字は当該シーケンス内において互いに従う。シーケンス見出しに含まれるすべてのシーケンス文字は同じ分類に含まれるものであり、数字、大文字ローマ数字、小文字ローマ数字、大文字アルファベット、小文字アルファベットのいずれか一つにあたる。また、セクション見出しに含まれるセクション文字に基づいて、セクション見出しを、数字、大文字ローマ数字、小文字ローマ数字、大文字アルファベット、小文字アルファベットの五つの可能性のある分類のうちの一以上の分類にまとめることができる。
【0011】
本発明の一以上の実施形態において、推測されるセクション見出しの情報が以前はセクションやセクション見出しがコンピューターによる認識可能な形で識別できなかったEDにおいて、OOXMLタグやその他の形式で指定されて挿入又は埋め込まれる。例えば、推測されるセクション見出し情報はED内の対応するテキストの近くに挿入または埋め込まれ又はその他の方法としてドキュメントプロパティに含まれる。また、推測情報が埋め込まれた最終的な文書はOOXML、PDF、又はOSやソフトウェアアプリケーションに含まれる標準的なテキスト検索ツールによって検索を実行できるその他のファイル形式である。
【0012】
図1は本発明の一以上の実施形態におけるシステム(100)を示す。図1に示すように当該システム(100)は複数の構成要素を含み、例えば、バッファー(104)、解析エンジン(108)、及び推論エンジン(110)を備える。これらの構成要素は(104、108、110)それぞれ同じコンピューター装置(例えば、パーソナルコンピューター(PC)、ラップトップ、タブレットPC、スマートフォン、複合機、キオスク、サーバー、等)に配置されるか又は有線及び/又は無線の部分を含み、規模を問わないネットワークによって接続される異なるコンピューター装置に配置される。これらの構成要素のそれぞれについて後述する。
【0013】
本発明の一以上の実施形態において、バッファー(104)はハードウェア(つまり、回路)、ソフトウェア、又はこれらの組み合わせにより備えうる。バッファー(104)には、一以上の行の、文字で構成されるテキストを含むED(106)が保存される。ED(106)は画像やグラフィックを含みうる。ED(106)はあらゆるソースから取得しうる(例えば、ダウンロード、スキャン等)。ED(106)はEDのコレクションの一部でありうる。また、ED(106)はあらゆる形式(例えばPDF、OOXML、ODF、HTML、等)のあらゆるサイズでありうる。ED(106)は、著者がセクション及びセクション見出しとして意図した意味内容を含み、これらはED(106)自体によっては指定されておらず、明確に示されていない。つまり、セクション及びセクション見出しは、ED(106)においてタグ又はその他の識別子等のコンピューターに認識可能な情報によって指定されておらず、明確に示されていない。
【0014】
本発明の一以上の実施形態において、解析エンジン(108)は、ハードウェア(つまり、回路)、ソフトウェア、又はこれらの組み合わせにより備えうる。解析エンジン(108)はED(106)を解析して、ED(106)の文字についての内容、レイアウト、及びスタイルに関する情報を抽出し、抽出された情報に基づいて解析されたED(106)(解析済みED(107)と称する)を生成する。具体的には、解析済みED(107)は、ED(106)の抽出した情報により元の内容の表現を含む。解析済みED(107)はバッファー(104)に保存される。
【0015】
一以上の実施形態において、解析済みED(107)は、JSONやXML等の一般的な所定の構築された形式であり、ED(106)からの抽出情報によって符号化される。この共通の形式はテキストの段落、行、塊に加え、対応するバウンディングボックス及びスタイル情報を保存する。また、この共通の形式は、画像やグラフィック等といった追加の文書の内容を保存しうる。ED(106)、解析済みED(107)の一例がそれぞれ図3A図3Bに示される。
【0016】
図3Aに示すように、ED A(310)はED(106)の一例であり、複数の行にわたって、文字によって構成されるテキストを含む。テキストの行は段落(312)にまとめうる。図3Aに示すように、各段落はテキストを一行又は複数行含みうる。ED A(310)が解析された後、文書のサブセットについての共通の形式の表現が図3Bに示される。
【0017】
図3Bは解析されたED A(310)の一部を示す(以下、解析済みED(321)と称する)。解析済みED(321)は解析済みED(107)の一例であり、ED A(310)の第三段落に含まれる文字に関するスタイル情報(324)、レイアウト情報(323)及び内容情報(322)を含む。例えば、内容情報(322)は図3Aに示す「bomb-sniffing cat(爆弾探知猫)」という文字を含む。図3Bに示すように、スタイル情報(324)は変数(つまり、v:4)として示されており、これはテキスト(つまり、style_id)の様々な特徴や見た目(つまり、スタイル)を定義する。具体的には、内容情報(322)は、当該スタイル情報(324)が適用されるテキストの行におけるすべての文字を含む。
【0018】
上述のものは例示的なものであるが、共通の形式は文書の基本的な構造とスタイルに関する詳細を示す。具体的には、文書の具体的な段落が識別され、各段落は一以上の行のテキストに分解される。また、各行はテキストの一以上の塊に分解され、塊に含まれるすべてのテキストは具体的なスタイル情報を有する。上述の例において、スタイル情報は参照ID(ファイルの最後に「run_props」リストに登場する特定のIDについての的確なスタイルの詳細を含む)を通じて扱う。その他の例においては、スタイル情報は塊自体と同列に符号化されうる。とにかく、スタイルの詳細は書体、ポイントの大きさ、テキストの色、太字、下線、斜体、等の処理に関する情報を符号化する。スタイル情報に加えて、レイアウト情報(例えば、レイアウト情報(323))がchar_bbox/visible_bboxを通じて提供され、これらは段落、行、及び塊の異なるバウンディングボックスを示す。最後に、文書自体のテキストがそれぞれの塊の一部として提供される。
【0019】
図1の説明に戻り、本発明の一以上の実施形態において、推論エンジン(110)は、ハードウェア(つまり、回路)、ソフトウェア、又はこれらの組み合わせにより実施しうる。具体的には、推論エンジン(110)は、解析済みED(107)のあるテキストをED(106)の順序をシーケンスセクション見出しとして推論するように構成される。解析エンジン(108)によって抽出された内容情報及びスタイル属性に基づいて、推論エンジン(110)は、ED(106)における候補見出しを生成し、これらはいくつかのチェーンフラグメントに組み立てられて、セクション見出しのシーケンスの一部を構築する。より低いランクのチェーンのフラグメントはより高いランクのチェーンのフラグメントに合わせられ、セクション見出しの完全なシーケンスを生成する。ここでは、候補見出しとはセクション見出しとして識別される候補となる一片のテキストである。チェーンフラグメント、又は単にフラグメントとは、セクション見出しのシークエンスの一部を満たしうる一以上の候補見出しである。本明細書においては、明確に「セクション見出し」と表現されない限り、「候補見出し」、「見出し」という表現は互いに置き換えうるものとして用いられる。
【0020】
本発明の一以上の実施形態において、推論エンジン(110)は推論エンジン(110)の一以上の中間結果に対応するED(106)のメタデータ(112)を生成し、例えば候補見出し、候補見出しの信頼度の値やランクの値、チェーンフラグメント、チェーンフラグメントの親子関係、等があげられる。言い換えると、メタデータ(112)は推論エンジン(110)の一以上の中間結果を表現する情報を含む。一以上の実施形態において、推論エンジン(110)はメタデータ(112)をバッファー(104)に保存する。また、一以上の実施形態において、推論エンジン(110)はメタデータ(112)を解析済みED(107)に戻して保存する。メタデータ(112)を外部バッファーに保存し、利用する際に推論エンジン(110)によって読み出されうる。
【0021】
本発明の一以上の実施形態において、推論エンジン(110)は、図2Aを参照しながら後述する方法を用いて、上述の機能を実行する。
【0022】
システム(100)は三つの構成要素(104、108、110)を有するものとして説明されているが、本発明のその他の実施形態において、システム(100)はより多くの又はより少ない構成要素を有しうる。また、上述のそれぞれの構成要素の機能については各構成要素にわたって分担しうる。さらに、それぞれの構成要素(104、108、110)は複数回用いて反復処理を実行しうる。
【0023】
図2Aは本発明の一以上の実施形態におけるフローチャートを示す。フローチャートは電子文書(ED)内における一以上のシーケンスセクション見出しを推測する処理を描く。図2Aに記載される一以上のステップは、図1を参照して説明したシステム(100)に含まれる構成要素により実行される。本発明の一以上の実施形態によれば、図2Aに示される一以上のステップが省略、反復、及び/又は図2Aに示す順番とは異なる順番で実行しうる。よって、本発明の範囲は図2Aで示される各ステップの具体的な構成に限定されるものではない。
【0024】
図2Aを参照して、まずステップ200において、EDを解析して、文字のスタイル属性、レイアウト属性、及び内容情報を含む解析済みEDを生成する。具体的には、EDは、タグ又は他の識別子等のコンピューターによって認識可能な情報を用いてED内で指定又は明確に示されていないセクション及びセクション見出しを含む。
【0025】
一以上の実施形態によれば、ステップ201において、所定のセクション見出しパターンに基づいてED内の候補見出しのリストが生成される。本発明の一以上の実施形態によれば、所定のセクション見出しパターンは「通常表現」であり、これは検索パターンを定義する文字のシーケンスである。候補見出しは、通常表現と一致する、セクション見出しのシーケンスを推測するED内における複数のテキストである(「通常表現マッチング」)。ED内における候補見出しを検索する通常表現として<シーケンス文字><テキスト>というパターンが用いられる。つまり、<シーケンス文字><テキスト>というパターンを有する一片のテキストは候補見出しの一つとして識別される。本明細書においては、候補見出しには、<シーケンス文字>部分と<テキスト>部分とを有し、これらはシーケンス文字、候補見出しのテキストと称する。候補見出しはED内において一つの段落を有する。つまり、候補見出しは、対応する段落のバウンディングボックスにより区切られる。候補見出しのリストは候補見出しの段落番号に応じてソートされ、候補見出しのリストを生成することは、リスト内の候補見出しを識別するメタデータを生成することとED又は解析済みEDと関連付けてメタデータを保存することとを含む。
【0026】
一以上の実施形態におけるステップ202では、候補見出しのリストに含まれるそれぞれの候補見出しにランクが付けられる。候補見出しのランクは候補見出しのシーケンス文字にみられるネストレベルの値である。例えば、ランクは候補見出しのシーケンス文字において句読点により句切られるシーケンス文字の数に対応しうる。ランクはED又は解析済みEDと関連付けてメタデータに保存される。
【0027】
一以上の実施形態におけるステップ203では、候補見出しのリストにおけるそれぞれの候補見出しの信頼度が生成される。候補見出しの信頼度は特定の候補見出しのスタイルの特有性の値である。例えば、スタイルの特有性は特定のスタイルを有する、ED内の文字の統計的な数値(例えば、パーセント)に対応しうる。信頼度はED又は解析済みのEDに関連付けられてメタデータに保存されうる。
【0028】
一以上の実施形態におけるステップ204では、候補見出しのリストに基づいてセクション見出しのシーケンスを推測するためのチェーンフラグメントのリストを生成する。一以上の候補見出しがランク及び分類に基づいてチェーンフラグメントにまとめられる。つまり、チェーンフラグメントに含まれる候補見出しはすべて同じランクと同じ分類であり、これがチェーンフラグメントのランクと分類とを定義する。チェーンフラグメントは該当するランクに応じてソートされ、チェーンフラグメントのリストを形成し、それぞれのチェーンフラグメントの信頼度はチェーンフラグメントに含まれるそれぞれの候補見出しの信頼度に基づいて決定する。また、基本となる候補見出しの平均信頼度が所定の信頼度の閾値より低い一以上のチェーンフラグメントはチェーンフラグメントのリストから削除されるか除外される。チェーンフラグメントのリストを表す情報はED又は解析済みEDに関連付けられてメタデータとして記録される。
【0029】
一以上の実施形態におけるステップ205では、セクション見出しのシーケンスは所定の基準に基づいてチェーンフラグメントを合わせることによって生成し、所定の基準として例えば、合わせるフラグメントについての近接性や信頼度に関する値が挙げられる。具体的には該当するランクや分類に応じて合わせられる。同じ分類において、より低いランクのチェーンフラグメントは当該より低いランクのチェーンフラグメントよりも一つ高いランクである、より高いランクのチェーンフラグメントと合わせられる。また、より高いランクのチェーンフラグメントとより低いランクのチェーンフラグメントとの間の近接性を示す値が生成される。例えば、近接性の値は、より高いランクのチェーンフラグメントが挿入される点とより低いランクのチェーンフラグメントの最初の候補見出しとの間の段落番号の差と対応しうる。さらに、より高いランクのチェーンフラグメントの点数はより高いランクのチェーンフラグメントの近接性の値と信頼度との重み付平均に基づいて生成される。よって、点数に基づいてより高いランクのチェーンフラグメントはより低いランクのチェーンフラグメントの親として選ばれる。例えば、より高いランクのチェーンフラグメントは、その点数がすべての可能性のあるより高いランクのチェーンフラグメントの中で最も高い場合はより低いランクのチェーンフラグメントの親として選ばれる。セクション見出しのシーケンスを表現する情報は、EDまたは解析済みのEDと関連付けられてメタデータとして記録される。
【0030】
図2Bは本発明の一以上の実施形態におけるフローチャートを示す。フローチャートは著者が意味上では意図したセクションやセクション見出しがタグやその他の識別子等のコンピューターによって認識可能な情報を用いてEDにおいて指定又は明確に識別されない場合にEDを検索する処理を示す。検索結果を向上させるため、図1を参照して説明したシステム(100)に含まれる構成要素と図2Aを参照して説明した方法を用いることによって、EDのセクション見出し情報を生成しうる。本発明の一以上の実施形態において、図2Bに示す一以上のステップを省略、反復及び/又は図2Bで示したものと異なる順番で実行することができる。よって、本発明の範囲は図2Bに示すステップの具体的な構成によって限定されない。
【0031】
ステップ210において、ユーザーから検索フレーズを指定した検索要求を受信する。本発明の一以上の実施形態において、ユーザーはファイルビューアーでEDを開きうる。ユーザーはファイルビューアーにおいて検索ダイアログボックスを開き、検索フレーズをタイプすることによって、ED内にあるユーザーにとって関連のある情報へ導く一以上の一致するフレーズを検索する。
【0032】
ステップ211において、EDを検索して、一以上の一致するフレーズの位置を識別する。例えば、EDにおいて一致するフレーズは複数存在しうるが、他の一致するフレーズよりもユーザーにより関係するED内のセクションに一致するフレーズをいくつか検索することがある。推測されるセクション見出し情報は、一致するフレーズが検出されたセクション全体に返るためにすでに存在する検索エンジン(例えば、レガシー)が用いることができるようにEDに追加される。例えば、セクション見出し情報は、ユーザーからの検索要求を受信する前に推測され、EDに追加されうる。他の例において、セクション見出し情報は、ユーザーからの検索要求を受信したことに応じて推測され、EDに追加されうる。セクション見出し情報は図2Aを参照して上述した方法を用いて推論され、EDに追加される。
【0033】
本発明の一以上の実施形態において、ビューアーの検索エンジンは、推論されるセクション見出し情報を検索して、一致するフレーズが検出されたセクション全体を識別する。一致が見つかった場合、ファイルビューアーは一致するフレーズと一致するフレーズを含むセクションの位置とを取得する。
【0034】
ステップ212において、一致するフレーズと一致するフレーズを含むセクションが本発明の一以上の実施形態におけるユーザーに示される。一致するフレーズと関連するセクションを示す方法として関連するセクションにおける一致するフレーズをハイライトすることが挙げられる。複数の一致するフレーズを含む複数のセクションがユーザーに示され、ユーザーは、ユーザーにとってもっとも関連する情報を含むセクションを選択しうる。
【0035】
図2A及び図2Bに示すように、一以上の実施形態によれば、EDをコンピューターによって検索することで、一致するフレーズを返すだけではなく、一致するフレーズが検出される、ED内のセクションも返す。よって、ユーザーは、タグ又はその他の識別子等のコンピューターによって認識可能な情報を用いてED内において指定又は明確に示されていない、著者が意味の上で意図するセクション見出しに基づいて、検索フレーズと関連する追加の情報を見ることができる。
【0036】
図3C図3Gは本発明の一以上の実施形態における実施例を示す。図3C図3Gに示す実施例は、図1図2A、及び図2Bを参照して上述したシステム及び方法のフローチャートに基づく。本発明の一以上の実施形態において、図3C図3Gに示される一以上の要素は省略、反復及び/又は異なる形で構成しうる。よって、本発明の範囲は、図3C図3Gに示す要素の具体的構成によって限定されない。
【0037】
関連するランクの値及び信頼度の値によって候補見出しを生成する例について、図3C及び表1を参照して以下に説明する。図3Cに示すように、ED B(330)は段落0から段落20までの21の段落を有し、例えば段落0(331)、段落2(332)、段落5(333)、段落6(334)、段落18(335)、段落19(336)、等が含まれる。通常表現を用いて<シーケンス文字><テキスト>というパターンを有するテキストを複数検索することによって、EDの候補見出しとして、以下の表1で示すような入力が16の行にわたるリストとして識別される。具体的には表1は上述の図2Aに示すステップ201、202、及び203を参照して説明した候補見出しのリストの一例を示す。
【表1】
【0038】
表1の候補見出しのリストにおいて、候補見出しの位置はED Bにおける候補見出しの段落番号を示す(330)。本明細書においては「位置」という用語は明示のない限り「候補見出しの位置」を意味する。候補見出しのランクは候補見出しに含まれるシーケンス文字の数である。ランクは候補見出しのネストレベルを示す。例えば、シーケンス文字「3.」を含む候補見出しはランク1であり、シーケンス文字「2.1」を含む候補見出しはランク2であり、シーケンス文字「2.2.1」を含む候補見出しはランク3であり、以下同様に続く。
【0039】
候補見出しの信頼度は特定の候補見出しのスタイルの特有性を示す。一般にEDの著者が意図する見出しはED内の他のテキストと比較すると特有のスタイルを有する。例えば、段落0(331)、段落2(332)、及び段落19(336)はすべて著者によって意図される主要な見出しであり、これらの段落のみに特有の、共通のスタイルを有する。よって、これらの候補見出しについての信頼度は以下のように計算される、この特定の共通スタイルである文字の数をED内の文字の総数と割った商から1引いた結果が信頼度となる。ED B(330)の例では段落0(331)、段落2(332)、及び段落19(336)には90文字が含まれ、文字の総数は503文字となる。よって、段落0(331)、段落2(332)、及び段落19(336)のそれぞれの信頼度は1-90/503で計算され、結果は上述の表1に示すように0.82となる。
【0040】
具体的に、注目すべきこととして、段落6(334)は二つの見出し候補として、表1に示されており、一方は小文字アルファベット、他方は小文字ローマ数字である。これは「i.」が曖昧で、アルファベットの文字であるとともにローマ数字だからである。つまりEDの一以上の候補見出しは、曖昧であることによって複数の分類に属するように分けられるが、これは後半のステップにおいて解決される。
【0041】
図2Aのステップ204を参照する例として、セクション見出しのシーケンスのチェーンフラグメントのいくつかが、ランクの値に基づいて候補見出しから生成される。上述のように、チェーンフラグメント又は単にフラグメントと称されるものは、セクション見出しのシーケンスの一部を満たす一以上の候補見出しである。最初のシーケンス文字(例えば、数字については「1.」、大文字アルファベットについては「A.」、小文字ローマ数字については「i.」)をシーケンス文字の最も右の値として有する候補見出しは、一つの見出しのチェーンフラグメントを形成するか複数の候補見出しを有するチェーンフラグメントの始まりとして機能する。チェーンフラグメントにおける複数の候補見出しのシーケンス文字は、始めのチェーンフラグメントより互いにしたがう。一以上の実施形態において、チェーンフラグメントは候補見出しのリストをさかのぼってチェーンフラグメントの始まりを検索して生成する。ここでは、「さかのぼる」とは表1の始まり又は上へ向かうことであり、「進む」とは表1の終わり又は下へ向かうことである。チェーンフラグメントの始まりはチェーンフラグメント始まりとも称される。例えば、以下のシーケンス文字はすべてチェーンフラグメントの始まりを示しうる。つまり、以下のシーケンス文字を含む候補見出しは潜在的なチェーンフラグメント始まりとして識別されうる。
●4.1
●4.2.1
●4.3.1
●1.
●i.
●a)
【0042】
いったん潜在的なチェーンフラグメント始まりが識別されると、チェーンフラグメントは、潜在的チェーンフラグメント始まりと同じテキストスタイルで、他のチェーンフラグメントにまだ組み込まれていない、同じランクで、同じ分類を有する後続の候補見出しを検索することによって、順次構築される。このステップでは異なる解釈の明確化が行われる。例えば、候補見出しにみられる「i.」はローマ数字チェーンの始まりかアルファベットチェーンの9番目として区別される。具体的に、チェーンフラグメント始まりとして「i.」を用いてチェーンフラグメントを生成しているかに基づいて区別される。つまり、チェーンフラグメント始まりとして「i.」を用いてチェーンフラグメントを生成した場合、「i.」はローマ数字として扱われる。一方、チェーンフラグメント始まりとして「i.」を用いて生成したチェーンフラグメントが存在しない場合、「i.」はアルファベットの文字として扱われる。
【0043】
図3Cの例と上述の表1の続きとして、アルゴリズムは段落19(336)から処理を始めて、この候補見出しのシーケンス文字が3で終わり、チェーンフラグメントの始まりではないことを検出する。表1の終わりからさかのぼって次の候補見出しは段落18(335)であり、1.で終わるシーケンス文字2.1を有する。よって、段落18(335)はチェーンフラグメントの始まりとして選択される。選択された段落18(335)から、アルゴリズムは表1の終わりに向かって進み、段落18(335)と同じスタイルを有する候補見出しに含まれる次のシーケンス文字2.2を検索する。しかし、表1のリストにこのような候補見出しは検出されないので、これにより、表2に示すように、チェーンフラグメント1は単一の候補見出しを含むとして結論付ける。
【表2】
【0044】
表1のリストにおける段落18と同様に、表3に示すように、段落16はチェーンフラグメント始まりとして識別され、これにより単一の候補見出しを含むチェーンフラグメント2が生成される。
【表3】
【0045】
アルゴリズムは表1のリストをさかのぼり、シーケンス文字の最も左の桁が「a)」であることに基づいて段落12をチェーンフラグメントとして識別する。アルゴリズムは次に表1を進み、同じ分類(小文字アルファベット)に属し、同じスタイルを有し、順番が続く次の候補見出しを検索する。よって、段落13、14、及び15は表4に示すようにチェーンフラグメント3に含まれる。


【表4】
【0046】
アルゴリズムは、表1のリストをさかのぼり、段落6を潜在的なチェーンフラグメント始まりとして識別する。ここでは、候補見出しの「i.」として二つの解釈が可能である。「i.」の第一の解釈は小文字アルファベットであり、潜在的なチェーンフラグメント始まりとして識別されず、無視される。「i.」の第二の解釈は小文字ローマ数字であり、潜在的なチェーンフラグメント始まりとして識別され、処理を進めるようにアルゴリズムによって採用される。よって、表5に示すようにチェーンフラグメント4は段落6をチェーンフラグメント始まりとして用いて生成される。
【表5】
【0047】
同様に、表6及び表7に示すようにチェーンフラグメント5及び6が生成される。
【表6】
【表7】
【0048】
図2Aのステップ204を参照して説明するように、チェーンフラグメントはランクによってソートされる。一以上の実施形態において、ランク1のすべてのチェーンフラグメントがフラグメントのリストに最初に追加され、ランク2のすべてのチェーンフラグメントが続き、続いてランク3が続き、以下同様に続く。図3Dは、ED B(330)から生成されたフラグメント(340)のソート済みリストの一例を示す。図3Dに示すように、チェーンフラグメント6(346)、チェーンフラグメント4(344)、及びチェーンフラグメント3(343)がフラグメント(340)のリストのランク1の部分に含まれ、チェーンフラグメント5(345)及びチェーンフラグメント1(341)がフラグメント(340)のリストのランク2の部分に含まれ、チェーンフラグメント2(342)がフラグメントのリストのランク3の部分に含まれる。
【0049】
不適格なチェーンフラグメントはフラグメントのリストから除外される。いったんすべてのチェーンフラグメントを組み立てると、アルゴリズムはより長いシーケンスチェーンを形成する可能性が少ないチェーンフラグメントを削除する。一以上の実施形態において、一定の信頼度の閾値より低いリスト又はチェーンフラグメントと識別されたチェーンフラグメントは不適格とされ、フラグメントのリストから除外される。
【0050】
チェーンフラグメントは、そのチェーンフラグメントの「リスト確率」が一定の閾値よりも高くなる場合にリストとして識別される。「リスト確率」はチェーンフラグメントの候補見出しの総数に対するチェーンフラグメントの隣接する候補見出しの数を表す比率として計算される。例えば、段落0、2、及び19を含むチェーンフラグメント6(346)は、0、2、及び19が隣接する位置の段落ではないため、隣接する候補見出しは0となる。よって、チェーンフラグメント6(346)の「リスト確率」は、0/3=0である。他の例では、段落6、7、8、及び9を含むチェーンフラグメント4(344)は4つの隣接する段落を含み、「リスト確率」は4/4=1である。単一の候補見出しを含むチェーンフラグメントは「リスト確率」に基づく削除対象とならない。なぜなら、チェーンフラグメントが独立した見出しであるか一つの要素のリストであるか識別するのに十分な内容がないからである。
【0051】
チェーンフラグメントの信頼度は当該チェーンフラグメントのすべての候補見出しの信頼度の平均として計算される。例えば、段落4及び10を有するチェーンフラグメント5(345)の信頼度は0.88として計算される。指定の閾値よりも低い信頼度を有するチェーンフラグメントも削除される。
【0052】
一以上の実施形態において、「リスト確率」の閾値は1とし、チェーンフラグメント信頼度の閾値は0.8とする。よって、段落6、7、8、及び9を含むチェーンフラグメント4(344)、段落12、13、14、及び15を含むチェーンフラグメント3(346)、及び段落18を含むチェーンフラグメント1(341)はフラグメント(340)のリストから除外され、図3Eに示すように、フラグメント(350)の削除済みリストが生成される。
【0053】
上述の図2Aのステップ205を参照した一例として、セクション見出しのシーケンスはより低いランクのチェーンフラグメントをより高いランクのチェーンフラグメントに合わせることによって削除済みのフラグメントのリストから生成する。最も低いランクのチェーンフラグメントから始めて、それぞれのチェーンフラグメントにとって親として可能性のあるものを見つける。親として可能性のあるすべてのものから最もいい親が選択され、親と子のチェーンフラグメントは合わせられる。この処理は繰り返されて、より高いランクのチェーンフラグメントへ進む。
【0054】
一以上の実施形態において、特定のランクでチェーンフラグメントを合わせる処理は以下のように行う。
● 特定のランクにおけるすべてのチェーンフラグメントを信頼度により降順でソートして、最も信頼度の高いチェーンフラグメントを最初に処理する。
● ソート済みリストのそれぞれのチェーンフラグメントについて以下を行う、
a.チェーンフラグメントが潜在的に入りうる、すべての親チェーンフラグメントのリストを生成する(potential_parents)。検索する各親チェーンフラグメントは現在のチェーンフラグメントのランクよりひとつ高いランクのものである。よって、ひとつ高いランクのチェーンフラグメントにあるそれぞれの親チェーンフラグメントについて、チェーンフラグメントが親チェーンフラグメントに潜在的に入りうる場合、当該親チェーンフラグメントとその前にくる親見出しの位置(parent_pos)がpotential_parentsのリストに追加される。つまり、当該親見出しは候補見出しとして、子チェーンフラグメントはこの後に挿入されることで合わせられうる。後述のFitsWithin()という機能を用いる。
b.potential_parentsに含まれるそれぞれのフラグメントについて、parent_posから子チェーンフラグメントの最初の候補見出しの位置までの距離を識別し、最大距離をmax_disとして記録する。
c.potential_parentsのうち、最高の親チェーンフラグメントを識別する。これは近接性とチェーンフラグメントの信頼度とを組み合わせて判断する。それぞれの親チェーンフラグメントにScoreFit()機能を適用して最も高い点数の親チェーンフラグメントを選択する。
d.チェーンフラグメントを最高の親チェーフラグメントと合わせる。具体的に、チェーンフラグメントのうちのそれぞれの候補見出しは最高の親チェーンフラグメントへ移動され、空白となったチェーンフラグメントは消去される。
【0055】
以下はFitsWithin()の機能の例示的な展開である。
● 親チェーンフラグメントにおけるそれぞれの見出しについて以下の行程を実行する。
a.もし存在する場合、現在の親見出しの後の、親チェーンフラグメントにおける次の見出しを識別し、これをnext_headingとして指定する。
b.子チェーンフラグメントについてplacement_fitを識別する。子チェーンフラグメントの最初の見出し位置が現在の親見出し位置parent_posよりも大きくかつ、1)next_headingが存在せず又は2)next_headingが存在し、子チェーンフラグメントの最後の見出し位置がnext_headingの位置よりも少ない場合、placement_fitは真である。
c.子チェーンフラグメントについてsequence_fitを識別する。子チェーンフラグメントの最初の見出し位置が現在の親見出しのシーケンス文字に続く場合に、sequence_fitは真である。例えば、2.3及び2.2.1は2.2に続き、ともにシーケンスに合うものとして適格であるが、2.2.2及び2.4は2.2に続くものではなく、シーケンスに合わず、不適格である。ある候補見出しが他の候補見出しに続くかについてのチェックは後述の機能Follows()で扱う。
d.現在の親見出しについてplacement_fit及びsequence_fitの両方が存在する場合、この親フラグメント及び、子チェーンフラグメントを挿入する位置の前の親見出し(parent_pos)を識別し、ループを離れる。
● 親フラグメントを識別した場合、親フラグメントが子チェーンフラグメントの最初の見出しのシーケンス文字と一致するシーケンス文字を含まないことを確認する。つまり、追加する予定の子チェーンフラグメントがすでに親チェーンフラグメントに存在しないことを確認する。すでに存在する場合又は適切な親見出しが検出されない場合、親フラグメントについて「NULL」と返し、parent_posについて「-1」を返す。その他の場合は親フラグメント及びparent_posに対して参照を返す。
【0056】
以下はScoreFit()の機能の例示的な展開である。
● 子チェーンフラグメントから親チェーンフラグメントまでの距離に基づく距離の点数を計算する。例えば、dist_score=1.0-(子チェーンフラグメントの最初の見出しの位置とparent_posの差)/max_dist。
● 親チェーンフラグメントのすべての見出しについての信頼度の平均としてconfidence_scoreを計算する。
● dist_scoreとconfidence_scoreとの間の重み付平均を返す。final_scoreとして。例えば、final_score=0.75*dist_score+0.25*confidence_score。
【0057】
以下はFollows(a,b)の機能の例示的な展開であり、この機能により、見出しbが見出しaに続くか判断する。
● aとbと両方に対応する数字レベルの配列を形成する。配列の大きさは見出しのランクに等しく、配列のそれぞれの値はシーケンスにおけるそれぞれの文字に等しい数字である。ここにいくつかの異なるシーケンス見出しについての数字レベルの例をいくつか示す。
【表8】
● found_an_incrementのブールを偽に初期化する。
● bの数字レベル配列に含まれる各値について以下を繰り返す。
a.この値の位置を識別し、entry_numと称する。
b.found_an_incrementが真である場合、偽を返す。(根拠:インクリメントがすでに検出される場合、bの数字レベル配列に他に値が存在しないはずである。例えば:4.2.1.1は4.2に続かない。)
c.値の数字がaの数字レベル配列の大きさより小さい場合、次に、
i.entry_numのbの数字レベル配列がentry_numのaの数字レベル配列よりも小さい場合、偽を返す。(例:4.2.1は4.2.3に続かない、なぜなら1が3よりも小さいからである。)
ii.entry_numのbの数字レベル配列がentry_numに1を足したaの数字レベル配列と等しい場合、found_an_incrementは真に設定する。その他の場合は、entry_numのbの数字レベル配列がentry_numでのaの数字レベル配列に等しくない場合、偽を返す。(根拠:bの値がaの対応する値より1大きい場合、インクリメントが検出される。その他の場合は、現在の対応する値が等しい場合は数字レベル配列の次の値へと続くのみである。例:4.2.2は4.2.1に続く。)
d.その他、数値がaの数字レベル配列の大きさと等しい場合、次に、
i.entry_numでのbの数字レベル配列が1と等しい場合、found_an_incrementは真に設定する。(例:4.2.1は4.2に続く。)
● found_an_incrementを返す。
【0058】
上述の図3Eに示す削除済みフラグメント(350)について、チェーンフラグメントを合わせる処理は最も低いランクのすべてのチェーンフラグメントから始まり、これはフラグメント2(342)における3である。このランクのすべてのチェーンフラグメントは信頼度により降順でソートされる。ランク3のチェーンフラグメントが一つだけの場合(つまりフラグメント2(342))、ソートの効果はない。チェーンフラグメントを合わせる処理はすべてのチェーンフラグメントが一つ高いランクで始まり、これはランク2である。削除済みのフラグメント(350)のリストにおいて、ランク2のチェーンフラグメントは一つしかない(つまりフラグメント5(345))。FitsWithin()の機能を適用することで、ランク2のフラグメント5(345)を親フラグメントとしてランク3のフラグメント2(342)が子フラグメントとして当てはまるか判断する。
【0059】
FitsWithin()では、ランク2のフラグメント5(345)におけるそれぞれの見出しを分析する。最初の見出しは下記の段落4と対応する。
【表9】
【0060】
この見出しについて、placement_fitは偽である。フラグメント5(345)に次の見出しがあり(位置10)、フラグメント2(342)の最後の見出し位置16は次の見出しの位置10を超えるからである。また、sequence_fitは偽である。フラグメント2(342)のシーケンス文字2.2.1がフラグメント5(345)のシーケンス文字2.1に続かないからである。よって、FitsWithin()の分析はランク2のフラグメント5(345)の次の見出しへ続く。次の見出しは下記の段落10と対応する。
【表10】
【0061】
この見出しについて、placement_fitは真である。フラグメント5(345)には次の見出しがなく、子フラグメント2(342)の最初の見出し位置16は親フラグメント5(345)の現在の親見出し位置10よりも大きいからである。また、sequence_fitは真である。子フラグメント2(345)のシーケンス文字2.2.1が親フラグメント5(345)のシーケンス文字2.2に続くからである。
【0062】
最後にランク2のフラグメント5(345)にはシーケンス文字2.2.1を含む見出しがすでに存在しないことを確認する。親フラグメントがすでにそのような子フラグメントを有しないことを確認すると、FitsWithin()はフラグメント5(345)を親フラグメントとし、parent_posを10として返し、これらは潜在的な親のリストに追加される。
【0063】
リストに潜在的な親が一つしかない場合、ランク2のフラグメント5(345)がランク3のフラグメント2(342)に最もふさわしい親として選ばれる。よって、ランク3のフラグメント2(342)がランク2のフラグメント5(345)に合わせられて、図3Fに示す合わせられたフラグメントA(360)のリストを生成する。図3Fに示すように、合わせられたフラグメントA(360)のリストはランク1のフラグメント6(346)及びランク2の合わせられたフラグメントA(361)を含む。具体的に、合わせられたフラグメントA(361)は削除されたフラグメント(350)のリストにある、フラグメント2(342)とフラグメント5(345)の組み合わせである。
【0064】
ランク3のチェーンフラグメントは残っておらず、合わせられたフラグメントA(360)で二度目の合わせる処理をランク2のすべてのチェーンフラグメントで繰り返すが、これには合わせられたフラグメントA(361)しか含まれない。合わせる処理によれば、ランク2のすべてのチェーンフラグメントは信頼度により降順でソートされる。チェーンフラグメントが一つしかない場合(つまり合わせられたフラグメントA(361))、ソートの効果はない。よって、チェーンフラグメントを合わせる処理はすべてのチェーンフラグメントが一つ高いランク、つまりランク1で始める。合わせたフラグメントA(360)のリストには、ランク1のチェーンフラグメント(つまりフラグメント6(346)は一つしか存在しない。FitsWithin()の機能を適用して、親フラグメントとしてランク1のフラグメント6(346)に子フラグメントとしてランク2の合わせたフラグメントA(361)が合わせられるか判断する。
【0065】
FitsWithin()では、ランク1のフラグメント6(346)のそれぞれの見出しを評価する。最初の見出しは下記段落0と対応する。
【表11】
【0066】
この見出しについて、placement_fitは偽である。フラグメント6(346)には次の見出し(位置2)があり、合わせたフラグメントA(361)の最後の見出し位置16は次の見出しの位置2を超えるからである。また、sequence_fitは偽である。合わせたフラグメントA(361)のシーケンス文字2.1はフラグメント6(346)のシーケンス文字1に続くものではないからである。よって、FitsWithin()の分析はランク1のフラグメント6(346)における次の見出しへと続く。次の見出しは下記の段落2に対応する。
【表12】
【0067】
この見出しについて、placement_fitは真である。合わせた子フラグメントA(361)の最初の見出し位置4は親フラグメント6(346)の現在の親見出し位置2よりも大きい。また、合わせた子フラグメントA(361)の最後の見出し位置16は親フラグメント6(346)の次の見出し位置19よりも少ない。また、sequence_fitは真である。合わせた子フラグメントA(361)のシーケンス文字2.1は親フラグメント6(346)のシーケンス文字2に続くからである。
【0068】
最後にランク1のフラグメント6(346)にシーケンス文字2.1を含む見出しがすでに存在しないことを確認する。親フラグメントがすでに子フラグメントを含まない場合、FitsWithin()はフラグメント6(346)を親フラグメントとし、parent_posを2として返し、これらは潜在的な親のリストに追加される。
【0069】
リストに潜在的な親が一つしかない場合、フラグメント6(346)がランク2の合わせたフラグメントA(361)に最もふさわしい親として選ばれる。よって、ランク2の合わせたフラグメントA(361)はランク1のフラグメント6(346)と合わせられて、図3Gに示すように、合わせたフラグメントB(370)のリストを生成する。図3Gに示すように、合わせたフラグメントB(370)のリストはランク1の合わせたフラグメントB(371)しか含まない。具体的に、合わせたフラグメントB(371)は、合わせたフラグメントA(360)のリストに含まれる合わせたフラグメントA(361)とフラグメント6(346)との組み合わせである。
【0070】
合わせる処理はこれで完了し、合わせたフラグメントB(371)はシーケンス見出し又はED B(330)のセクション見出しのシーケンスとして識別される。この情報から、セクション見出しの間のセクションは自動的にテキスト領域として識別され、文書のセクションの全体的なネストはランク情報から識別され、これにより「…に関するセクションを示してください」といった質問に答えられる。
【0071】
上述の例のステップにおいて、推論メタデータは本発明の一以上の実施形態における中間結果について生成される。具体的には、推論メタデータは、候補見出しのリスト、関連するランクや信頼度、チェーンフラグメントのリスト、関連する点数及び親子関係の表現を含む。本発明の一以上の実施形態において、推論メタデータはED及び/又は解析済みEDに追加される。
【0072】
本発明の実施形態は、用いられるプラットフォームを問わず、事実上あらゆる種類のコンピューターシステムの上で実施することができる。例えば、コンピューティングシステムとして一以上のモバイル装置(例えば、ノートパソコン、スマートフォン、PDA、タブレット等のモバイル装置)、デスクトップパソコン、サーバー、サーバーの筐体に含まれるブレード、又はその他の種類のコンピューティングデバイス、又は本発明の一以上の実施形態を実施するのに最低限の処理能力、メモリー及び入力/出力装置を含む装置があげられる。例えば、図4に示すように、コンピューティングシステム(400)は一以上のコンピュータープロセッサー(402)、関連するメモリー(404)(例えば、RAM、キャッシュメモリー、フラッシュメモリー、等)、一以上の記憶装置(406)(例えば、ハードディスク、CDドライブやDVDドライブ等の光学ドライブ、フラッシュメモリースティック、等)、並びに複数のその他の要素や機能を含む。コンピュータープロセッサーは(402)は命令を処理する集積回路でありうる。例えば、コンピュータープロセッサーはプロセッサーの一以上のコア又はマイクロコアでありうる。コンピューティングシステム(400)は一以上の入力装置(410)を含みうる。例えば、タッチスクリーン、キーボード、マウス、マイク、タッチパッド、電子ペン又はその他の種類の入力装置があげられる。さらに、コンピューティングシステム(400)は、一以上の出力装置(408)を含む。例えば、表示画面(例えば、液晶ディスプレイ(LCD)、プラズマディスプレイ、タッチスクリーン、CRTモニター、プロジェクター又はその他の表示装置)、プリンター、外部記憶、又はその他の出力装置が挙げられる。一以上の出力装置は入力装置とは同じか異なりうる。コンピューティングシステム(400)は、ネットワークインターフェース接続(図示せず)を介してネットワーク(412)(例えば、LAN、インターネット等のWAN、モバイルネットワーク又はその他の種類のネットワーク)に接続しうる。入力/出力装置はコンピュータープロセッサー(402)、メモリー(404)、及び記憶装置(406)にローカルで又はリモートで(例えば、ネットワーク(412)を介して)接続される。様々な異なる種類のコンピューティングシステムが存在し、上述の入力/出力装置はその他の形式を取りうる。
【0073】
本発明の実施形態を実行するコンピューターに読取可能なプログラムコードの形式を取るソフトウェア命令は、すべて又はその一部が一時的に又は永続的に、非一時的なコンピューター読取可能媒体に記憶され、その例として、CD、DVD、記憶装置、ディスケット、テープ、フラッシュメモリー、物理的メモリー、又はその他のコンピューター記録媒体を用いうる。具体的に、ソフトウェア命令はコンピューターに読取可能なプログラムコードに対応し、プロセッサーによって実行されることによって、本発明の実施形態を実行する。
【0074】
さらに、上述のコンピューティングシステム(400)の一以上の要素は離れた場所に位置し、ネットワーク(412)の他の要素に接続されうる。さらに、本発明の一以上の実施形態は、複数のノードを有する分散システムに実施し、本発明の各部分が分散システムの異なるノードに位置しうる。本発明の実施形態において、ノードは区別されたコンピューティング装置と対応する。また、ノードは関連付けられた物理的なメモリーを有するコンピュータープロセッサーに対応しうる。また、ノードは共有メモリー及び/又はリソースを含むコンピュータープロセッサー又はコンピュータープロセッサーのマイクロコアと対応しうる。
【0075】
本発明は限られた実施形態について説明したが、当業者は本明細書によって、開示された本発明の範囲を逸脱することなくその他の実施形態を考案することができることを認識しうるであろう。よって、本発明の範囲は添付のクレームによってのみ限定される。
図1
図2A
図2B
図3A
図3B
図3C
図3D
図3E
図3F
図3G
図4