(57)【要約】      （修正有）【課題】数学公式に関する情報を特定する方法を提供する。【解決手段】数学公式に関する情報を特定する方法は、第１電子文書に含まれている数学公式を受信することを含むことができる。その方法はまた、数学公式から、フォーマット化公式を生成することを含むことができる。その方法はまた、複数の数学公式において、フォーマット化公式と類似の、またはフォーマット化公式と同じ戻り公式を見つけることを含むことができる。その方法はまた、少なくとも一つの他の電子文書から、戻り公式を記述し、戻り公式の派生物を含むコンテンツを特定することを含むことができる。【選択図】図２
2016206675.tif 000002
【特許請求の範囲】
【請求項１】
数学公式に関する情報を特定する方法であって、
第１電子文書に含まれている数学公式を受信し、
前記数学公式からフォーマット化公式を生成し、
複数の数学公式において、前記フォーマット化公式と類似の、または前記フォーマット化公式と同じ戻り公式を見つけ、
少なくとも一つの他の電子文書から、前記戻り公式の派生物を含む公式の派生物を特定する、
ことを含む方法。
【請求項２】
描画されると、前記第１電子文書から前記数学公式を選択するように構成されているツールを含むユーザインタフェースを表示するグラフィックスを生成することをさらに含む請求項１に記載の方法。
【請求項３】
前記フォーマット化公式を生成することは、
前記数学公式が画像に含まれているかどうかを判定し、
前記数学公式が前記画像に含まれていることに応じて、前記画像に対して光学式文字認識を行い、前記数学公式の記号を特定し、
前記数学公式の前記記号を、前記フォーマット化公式として、特定のフォーマットで保存すること、を含む請求項１に記載の方法。
【請求項４】
前記フォーマット化公式を生成することは、
前記数学公式がベクトルグラフィックに含まれているかどうかを判定し、
前記数学公式が前記ベクトルグラフィックに含まれていることに応じて、前記ベクトルグラフィックを構文解析して前記数学公式の記号を特定し、
前記数学公式の前記記号を、前記フォーマット化公式として、特定のフォーマットで保存することと、を含む請求項１に記載の方法。
【請求項５】
前記少なくとも一つの他の電子文書から、前記戻り公式の前記派生物を含む公式の派生物を特定することは、
前記少なくとも一つの他の電子文書において、前記戻り公式の位置を特定し、
前記少なくとも一つの他の電子文書にページが付けられているかどうかを判定し、
前記少なくとも一つの他の電子文書にページが付けられていることに応じて、前記少なくとも一つの他の電子文書の現在のページに基づいて、現在の境界を前記戻り公式の周りに設定し、
前記少なくとも一つの他の電子文書において、前記現在の境界内の他の公式の位置を特定し、
前記他の公式のそれぞれについて、前記戻り公式と、前記他の公式の対応する一つとの間の距離を求め、
前記他の公式のそれぞれと前記戻り公式との間の前記距離および類似性に基づいてスコアを計算する、ことを含む請求項１に記載の方法。
【請求項６】
前記少なくとも一つの他の電子文書から、前記戻り公式の前記派生物を含む前記公式の派生物を特定することは、
前記少なくとも一つの他の電子文書において、前記戻り公式の位置を特定し、
前記少なくとも一つの他の電子文書にページが付けられているかどうかを判定し、
前記少なくとも一つの他の電子文書にページが付けられていないことに応じて、上方境界および下方境界を設定して前記戻り公式の周りに現在の境界を作成し、
前記少なくとも一つの他の電子文書において、前記現在の境界内の他の公式の位置を特定し、
前記他の公式のそれぞれについて、前記戻り公式と、前記他の公式の対応する一つとの間の距離を求め、
前記他の公式のそれぞれと前記戻り公式との間の前記距離および類似性に基づいてスコアを計算する、ことを含む請求項１に記載の方法。
【請求項７】
前記数学公式に関連する関連コンテンツを特定することをさらに含み、当該関連するコンテンツは、
類似スコア閾値を設定し、
前記フォーマット化公式と類似し、または前記フォーマット化公式と同じであり、前記類似スコア閾値を超える類似性スコアを有し、前記戻り公式を含む複数の戻り公式を特定し、前記複数の戻り公式のそれぞれは、対応する他の電子文書に出現し、
前記対応する他の電子文書において、前記複数の戻り公式のそれぞれに対して現在の境界を設定し、
前記複数の戻り公式のそれぞれに対して、前記対応する他の電子文書の前記現在の境界内のテキストを検索し、
セクションタイトルの一部、または強調されている、前記検索されたテキストに含まれる各語句の重みを調整し、
調整された重みを用いて、検索された前記テキストから繰り返されるｎ−ｇｒａｍパターンを抽出し、
前記ｎ−ｇｒａｍパターンからストップ語句を除去し、
閾値頻度を有するｎ−ｇｒａｍパターンを、前記除去処理が行われたｎ−ｇｒａｍパターンから抽出する、
ことにより特定される、請求項１に記載の方法。
【請求項８】
記憶されたコンピュータ読み取り可能命令を含む非一時的コンピュータ読み取り可能媒体であって、前記命令は、
第１電子文書に含まれる数学公式を受信し、
前記数学公式からフォーマット化公式を生成し、
複数の数学公式において、前記フォーマット化公式と類似の、または前記フォーマット化公式と同じ戻り公式を見つけ、
少なくとも一つの他の電子文書から、前記戻り公式の派生物を含む公式の派生物を特定する、
ことを含む動作を行う、または動作の実行を制御するためにプロセッサにより実行可能である、非一時的コンピュータ読み取り可能媒体。
【請求項９】
前記動作は、描画されると、前記第１電子文書から前記数学公式を選択するように構成されているツールを含むユーザインタフェースを表示するグラフィックスを生成することをさらに含む請求項８に記載の非一時的コンピュータ読み取り可能媒体。
【請求項１０】
前記動作は、
前記数学公式が画像に含まれているかどうかを判定し、
前記数学公式が前記画像に含まれていることに応じて、前記画像に対して光学式文字認識を行い、前記数学公式の記号を特定し、
前記数学公式の前記記号を、前記フォーマット化公式として、特定のフォーマットで保存すること、をさらに含む請求項８に記載の非一時的コンピュータ読み取り可能媒体。
【請求項１１】
前記少なくとも一つの他の電子文書から、前記戻り公式の前記派生物を含む前記公式の派生物を特定することは、
前記少なくとも一つの他の電子文書において、前記戻り公式の位置を特定し、
前記少なくとも一つの他の電子文書にページが付けられているかどうかを判定し、
前記少なくとも一つの他の電子文書にページが付けられていることに応じて、前記少なくとも一つの他の電子文書の現在のページに基づいて、現在の境界を前記戻り公式の周りに設定し、
前記少なくとも一つの他の電子文書において、前記現在の境界内の他の公式の位置を特定し、
前記他の公式のそれぞれについて、前記戻り公式と、前記他の公式の対応する一つとの間の距離を求め、
前記他の公式のそれぞれと前記戻り公式との間の前記距離および類似性に基づいてスコアを計算する、ことを含む請求項８に記載の非一時的コンピュータ読み取り可能媒体。
【請求項１２】
前記少なくとも一つの他の電子文書から、前記戻り公式の前記派生物を含む前記公式のコンテンツを特定することは、
前記少なくとも一つの他の電子文書において、前記戻り公式の位置を特定し、
前記少なくとも一つの他の電子文書にページが付けられているかどうかを判定し、
前記少なくとも一つの他の電子文書にページが付けられていないことに応じて、上方境界および下方境界を設定して前記戻り公式の周りに現在の境界を作成し、
前記少なくとも一つの他の電子文書において、前記現在の境界内の他の公式の位置を特定し、
前記他の公式のそれぞれについて、前記戻り公式と、前記他の公式の対応する一つとの間の距離を求め、
前記他の公式のそれぞれと前記戻り公式との間の前記距離および類似性に基づいてスコアを計算する、ことを含む請求項８に記載の非一時的コンピュータ読み取り可能媒体。
【請求項１３】
前記動作は、前記数学公式に関連する関連コンテンツを特定することをさらに含み、当該関連するコンテンツは、
類似スコア閾値を設定し、
前記フォーマット化公式と類似し、または前記フォーマット化公式と同じであり、前記類似スコア閾値を超える類似性スコアを有し、前記戻り公式を含む複数の戻り公式を特定子、前記複数の戻り公式のそれぞれは、対応する他の電子文書に出現し、
前記対応する他の電子文書において、前記複数の戻り公式のそれぞれに対して現在の境界を設定し、
前記複数の戻り公式のそれぞれに対して、前記対応する他の電子文書の前記現在の境界内のテキストを検索し、
セクションタイトルの一部、または強調されている、前記検索されたテキストに含まれる各語句の重みを調整し、
調整された重みを用いて、検索された前記テキストから繰り返されるｎ−ｇｒａｍパターンを抽出し、
前記ｎ−ｇｒａｍパターンからストップ語句を除去し、
閾値頻度を有するｎ−ｇｒａｍパターンを、前記除去処理が行われたｎ−ｇｒａｍパターンから抽出する、
ことにより特定される、請求項８に記載の非一時的コンピュータ読み取り可能媒体。
【請求項１４】
数学公式に関する情報を少なくとも一つの他の電子文書から特定するシステムであって、
第１電子文書に含まれている数学公式を受信して、前記数学公式からフォーマット化公式を生成するように構成されているフォーマットモジュールと、
前記フォーマットモジュールに通信可能に結合されている類似性モジュールであって、複数の数学公式において、前記フォーマット化公式と類似の、または前記フォーマット化公式と同じ戻り公式を見つけるように構成されている類似性モジュールと、
前記類似性モジュールに通信可能に結合されている識別子モジュールであって、少なくとも一つの他の電子文書から、前記戻り公式の派生物を含む公式の派生物を特定するように構成されている識別子モジュールと、
を有するシステム。
【請求項１５】
前記フォーマットモジュールに結合されているユーザインタフェースモジュールであって、描画されると、前記第１電子文書から前記数学公式を選択するように構成されているツールを含むユーザインタフェースを表示するグラフィックスを生成するように構成されているユーザインタフェースモジュールをさらに含む請求項１４に記載のシステム。
【請求項１６】
前記フォーマットモジュールは、
前記数学公式が画像に含まれているかどうかを判定し、
前記数学公式が前記画像に含まれていることに応じて、前記画像に対して光学式文字認識を行い、前記数学公式の記号を特定し、
前記数学公式の前記記号を、前記フォーマット化公式として、特定のフォーマットで保存すること、
により前記フォーマット化公式を生成するようにさらに構成されている請求項１４に記載のシステム。
【請求項１７】
前記フォーマットモジュールは、
前記数学公式がベクトルグラフィックに含まれているかどうかを判定し、
前記数学公式が前記ベクトルグラフィックに含まれていることに応じて、前記ベクトルグラフィックを構文解析して前記数学公式の記号を特定し、
前記数学公式の前記記号を、前記フォーマット化公式として、特定のフォーマットで保存する、
ことにより前記フォーマット化公式を生成するようにさらに構成されている請求項１４に記載のシステム。
【請求項１８】
前記識別子モジュールは、
前記少なくとも一つの他の電子文書において、前記戻り公式の位置を特定し、
前記少なくとも一つの他の電子文書にページが付けられているかどうかを判定し、
前記少なくとも一つの教育ウェブサイトにページが付けられていることに応じて、前記少なくとも一つの他の電子文書の現在のページに基づいて、現在の境界を前記戻り公式の周りに設定し、
前記少なくとも一つの他の電子文書において、前記現在の境界内の他の公式の位置を特定し、
前記他の公式のそれぞれについて、前記戻り公式と、前記他の公式の対応する一つとの間の距離を求め、
前記他の公式のそれぞれと前記戻り公式との間の前記距離および類似性に基づいてスコアを計算する、
ことにより前記少なくとも一つの他の電子文書から前記戻り公式の前記派生物を含む前記公式の派生物を特定するようにさらに構成される請求項１４に記載のシステム。
【請求項１９】
前記識別子モジュールは、
前記少なくとも一つの他の電子文書において、前記戻り公式の位置を特定し、
前記少なくとも一つの他の電子文書にページが付けられているかどうかを判定し、
前記少なくとも一つの他の電子文書にページが付けられていないことに応じて、上方境界および下方境界を設定して前記戻り公式の周りに現在の境界を作成し、
前記少なくとも一つの他の電子文書において、前記現在の境界内の他の公式の位置を特定し、
前記他の公式のそれぞれに対して、前記戻り公式と、前記他の公式の対応する一つとの間の距離を求め、
前記他の公式のそれぞれと前記戻り公式との間の前記距離および類似性に基づいてスコアを計算する、
ことにより前記少なくとも一つの他の電子文書から、前記戻り公式の前記派生物を含む、前記公式の派生物を特定するようにさらに構成される請求項１４に記載のシステム。
【請求項２０】
前記識別子モジュールは、
類似スコア閾値を設定し、
前記フォーマット化公式と類似し、または前記フォーマット化公式と同じであり、前記類似スコア閾値を超える類似性スコアを有し、前記戻り公式を含む複数の戻り公式を特定子、前記複数の戻り公式のそれぞれは、対応する他の電子文書に出現し、
前記対応する他の電子文書において、前記複数の戻り公式のそれぞれに対して現在の境界を設定し、
前記複数の戻り公式のそれぞれに対して、前記対応する他の電子文書の前記現在の境界内のテキストを検索し、
セクションタイトルの一部、または強調されている、前記検索されたテキストに含まれる各語句の重みを調整し、
調整された重みを用いて、検索された前記テキストから繰り返されるｎ−ｇｒａｍパターンを抽出し、
前記ｎ−ｇｒａｍパターンからストップ語句を除去し、
閾値頻度を有するｎ−ｇｒａｍパターンを、前記除去処理が行われたｎ−ｇｒａｍパターンから抽出する、
ことにより前記数学公式に関連する関連コンテンツを特定するようにさらに構成される請求項１４に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
ここで検討される実施の形態は、数学公式学習者支援システムに関する。
【背景技術】
【０００２】
オンライン教育システムは、数学公式に関する情報を提供できる。学習者、特に初学者が、論文／本を読んでいるとき、または教材を学習しているときに、彼／彼女は、スペースの制限または簡潔さのために、派生物の詳細が省略された特定の数学公式に遭遇する可能性がある。そのため、学習者は、数学公式をなぜ、およびどのように展開可能なのかを理解できない可能性がある。
【０００３】
ここにおいて主張される主題は、如何なる不利点をも解決し、または上記のような環境においてのみ動作する実施の形態に制限されない。この背景は、ここにおいて記述される幾つかの実施の形態を実践できる一つの例としての技術領域を例示するためにのみ提供される。
【発明の概要】
【０００４】
実施の形態の一態様によれば、数学公式に関する情報を特定する方法は、第１電子文書に含まれている数学公式を受信することを含むことができる。方法はまた、数学公式から、フォーマット化公式を生成することも含むことができる。方法はまた、複数の数学公式において、フォーマット化公式と類似の、またはフォーマット化公式と同じである戻り公式を見つけることも含むことができる。方法はまた、少なくとも一つの他の電子文書から、戻り公式の派生物を含む公式の派生物を特定することも含むことができる。
【０００５】
実施の形態の目的および利点は、特に請求項において指摘される、少なくとも要素、特徴、およびその組み合わせにより実現および達成されるであろう。
【０００６】
上記の一般的な記述と、下記の詳細な記述の両者は、例示および説明のためのものであり、請求されるような本発明を制限するものではないことは理解されるべきである。
【図面の簡単な説明】
【０００７】
例としての実施の形態を、付随する図面を使用して、追加的具体性および詳細さを伴って、記述および説明する。
【０００８】
【図１】学習者支援システムの、一例としてのブロック図を例示している。
【図２】学習者支援装置の、一例としてのブロック図を例示している。
【図３】数学公式についての公式の派生物および数学公式に関連する関連コンテンツを特定する方法の、一例としてのフロー図である。
【図４】数学公式からフォーマット化公式を生成する方法の、一例としてのフロー図である。
【図５】選択できる、例としての数学公式のイラストである。
【図６Ａ】図４のフォーマット化公式と類似の、またはフォーマット化公式と同じである戻り公式を特定する方法の、一例としてのフロー図を例示している。
【図６Ｂ】電子文書に含まれる数学公式から公式のインデックスを作成する方法の、一例としてのフロー図を例示している。
【図７Ａ】一例としてのツリーを例示している。
【図７Ｂ】一例としての規格化公式を例示している。
【図７Ｃ】一例としての一般化公式を例示している。
【図７Ｄ】異なる関数プログラミング言語における類似コードの断片の一例を例示している。
【図８】図５の数学公式と類似の、または数学公式と同じである戻り公式の一例を例示している。
【図９】公式の派生物を特定する方法の、一例としてのフロー図を例示している。
【図１０Ａ】図８の戻り公式の一つの派生物に含まれていると判定された公式の一例を例示している。
【図１０Ｂ】図８の戻り公式の一つの派生物に含まれていると判定された公式の別の一例を例示している。
【図１０Ｃ】図８の戻り公式の一つの派生物に含まれることを拒絶された公式の一例を例示している。
【図１１】数学公式に関連する関連コンテンツを特定する方法の、一例としてのフロー図を例示している。
【図１２】関連コンテンツの一例のイラストである。
【発明を実施するための形態】
【０００９】
オンライン教育システムは、数学公式に関する情報を提供できる。学習者、特に初学者が、論文／本を読んでいるとき、または教材を学習しているときに、彼／彼女は、スペースの制限または簡潔さのために、派生物の詳細が省略された特定の数学公式に遭遇する可能性がある。そのため、学習者は、数学公式をなぜ、およびどのように展開可能なのかを理解できない可能性がある。
【００１０】
学習者が公式の名前を知っている場合は、学習者は、その名前を一般的な検索エンジンに入力することが可能であり、検索エンジンは、数学公式の名前を含んでいる多くの文書を返すが、学習者は依然として、返された文書が数学公式を含んでいるかどうかを手作業で確認し、さらに、返された文書が数学公式の派生物の詳細を含んでいるかどうかを手作業で確認する。これは、非常に非効率且つ時間のかかる作業である。
【００１１】
学習者が、数学公式の名前を知らない場合は、学習者は、特定のフォーマットで数学公式を、数学公式のための特定の検索エンジンに手作業で入力することが可能である。入力プロセスは、特に、数学公式が長いものであり、多くの異なる変数および／または演算子を含んでいる場合は、時間がかかり、間違いが起こりやすい。数学公式検索エンジンは、戻り数学公式を含む多くの文書を返すことができるが、学習者は依然として、返された文書が、数学公式の派生物の詳細を含んでいるかどうかを手作業で確認する必要がある。
【００１２】
これと比較して、ここにおいて記述される幾つかの実施の形態は、学習者が、数学公式に関連する名前または用語を知っていることを必要とせず、また数学公式を手作業で入力することを必要としないで、数学公式に関する情報を特定できる。例えば、学習者は、電子文書において数学公式に遭遇し、電子文書に含まれている以上に、数学公式に関する、より詳細な派生物の情報を所望する可能性がある。従って、学習者は、電子文書から直接数学公式を選択するために有効な入力を提供して、数学公式のための特定の検索エンジンへの、特定のフォーマット入力を生成できる。この場合、数学公式検索エンジンは、入力された公式と類似の、または入力された公式と同じである戻り数学公式を含んでいる多くの文書を返すことができるが、学習者は依然として、返された文書が数学公式の派生物の詳細を含んでいるかどうかを手作業で確認する必要がある。
【００１３】
上記の実施の形態と比較して、ここにおいて含まれている幾つかの実施の形態は、単に最もよく一致している公式を見つけるだけでなく、さらに１ステップ先に進んで、関心のある公式の詳細な説明および派生物を含んでいるコンテンツを自動的に見つけようとする。幾つかの実施の形態もまた、名前が未知の公式の関連技術用語も見つけようとする。
【００１４】
本発明の実施の形態が、付随する図面を参照して説明される。ここにおける、実質的に如何なる複数および／または単数の用語の使用に関しては、当業者であれば、状況および／または適用に対して適切なように、複数から単数へ、および／または、単数から複数へ変換可能である。種々の単数／複数の並べ替えは、ここにおいては、明確にするために明示的に記述される。
【００１５】
図１は、幾つかの実施の形態を実現できる、学習者支援システム１００の、一例としてのブロック図を例示している。学習者支援システム１００は、ネットワーク１０５と、学習者支援サーバ１０１と、ユーザ装置１２０と、コンテンツサーバ１１５を含むことができる。
【００１６】
一般的に、ネットワーク１０５は、一つ以上の広域ネットワーク（ＷＡＮ）および／または構内ネットワーク（ＬＡＮ）を含むことができ、ＷＡＮおよびＬＡＮにより、学習者アプリケーション１１１または１２１は、コンテンツサーバ１１５にアクセスすることが可能になり、および／または、ユーザ装置１２０の一つ以上と、学習者支援サーバ１０１が相互に、および／またはコンテンツサーバ１１５と通信することが可能になる。幾つかの実施の形態においては、ネットワーク１０５は、複数のＷＡＮおよび／またはＬＡＮの間の論理および物理接続により形成されるグローバルインターネットワークを含むインターネットを含む。代替的または追加的に、ネットワーク１０５は、８０２．ｘｘネットワーク、ブルートゥース（Ｂｌｕｅｔｏｏｔｈ）アクセスポイント、無線アクセスポイント、またはインターネットプロトコル（ＩＰ）ベースネットワークのような、一つ以上のセルラー（無線周波数）ＲＦネットワークおよび／または一つ以上の有線および／または無線ネットワークを含むことができる。ネットワーク１０５はまた、一つのタイプのネットワークが、別のタイプのネットワークとのインタフェースを取ることを可能にするサーバも含むことができる。
【００１７】
学習者支援サーバ１０１は、プロセッサ、メモリ、および学習者アプリケーション１１１を含むことができる。幾つかの実施の形態においては、学習者支援サーバ１０１上の学習者アプリケーション１１１は、ユーザ装置１２０から数学公式を受信するように構成できる。例えば、学習者アプリケーション１１１は、数学公式を選択した後に、電子文書から数学公式を受信できる。電子文書は、ポータブルドキュメントフォーマット（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）文書（．ｐｄｆ文書）、ウェブページ（例えば、ハイパーテキストマークアップ言語（ＨＴＭＬ））文書）、または、他の適切な電子文書を含むことができる。電子文書に含まれている数学公式は、電子文書の画像、ベクトルグラフィック、またはテキストに含まれる。
【００１８】
学習者アプリケーション１１１は、フォーマット化公式を数学公式（例えば、選択された数学公式、または、ユーザにより入力された数学公式）から生成でき、フォーマット化公式は、コンテンツサーバ１１５の一つ以上により生成および／または管理される一つ以上の電子文書から戻り公式を見つけるために使用できる。電子文書および／またはそれらの原本の例は下記に記述される。学習者アプリケーション１１１は、戻り公式を検索する前に、数学公式を規格化、一般化、およびトークン化して、処理時間を短縮し、数学公式に対して、より良好に一致する公式を見つけることができる。戻り公式を含む電子文書は、コンテンツサーバ１１５の一つにより生成および／または管理できる。
【００１９】
幾つかの実施の形態においては、クローラは、複数のオンライン教育リソースウェブサイトを巡回し、収集したコンテンツをダウンロードし、収集したコンテンツをコンテンツサーバ１１５に記憶できる。クローラは、学習者アプリケーション１１１、コンテンツサーバ１１５、または、ネットワーク１０５に通信可能に結合されている他の位置の一部として含むことができる。学習者アプリケーション１１１は、コンテンツサーバ１１５に記憶されている、収集されたコンテンツを処理し、収集されたコンテンツを走査して、数学公式を含む電子文書があるかどうかを確認し、数学公式を含む電子文書に対しては、数学公式用の特定の検索エンジンの一部である公式のインデックスを生成する。そして、学習者アプリケーション１１１は、数学公式に類似の、または数学公式と同じである（および／またはフォーマット化公式に類似の、またはフォーマット化公式と同じである）公式のインデックスにおける戻り公式を見つけて、戻り公式を含む電子文書を判定し、対応する電子文書を検索して、公式の派生物を特定できる。
【００２０】
公式の派生物は、戻り公式の派生物を含むことができる。例えば、学習者アプリケーション１１１は、コンテンツサーバ１１５により記憶されている少なくとも一つの電子文書における戻り公式の位置を特定し、戻り公式の周りに境界を設定し、境界内の他の公式の位置を特定することができる。他の公式の、戻り公式への近接性および類似性に基づいて、他の公式は、戻り公式の派生物を記述できる。
【００２１】
学習者アプリケーション１１１はまた、数学公式に関連する名前または専門用語のような関連コンテンツを特定するようにも構成できる。例えば、学習者アプリケーション１１１は戻り公式を特定し、戻り公式のそれぞれの周りに境界を設定し、境界内のテキストを検索し、戻り公式の境界内で繰り返される専門用語を抽出することができる。専門用語は、数学公式をより良好に理解するために使用できる。
【００２２】
ユーザ装置１２０のそれぞれは、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、携帯電話、スマートフォン、個人情報端末（ＰＤＡ）、電子リーダ装置、または他の適切なユーザ装置を含むことができる。
【００２３】
ユーザ装置１２０のそれぞれは、一般的に電子文書を描画および表示するように構成されている表示装置（図示されてない）を含むことができ、および／または表示装置に通信可能に結合できる。代替的または追加的に、ユーザ装置１２０のそれぞれは、電子文書内の数学公式を選択するためのツールを含むことができる。表示装置は、ラップトップコンピュータ、タブレットコンピュータ、携帯電話、スマートフォン、ＰＤＡ、電子リーダ装置、または内蔵モニタを有している他のユーザ装置１２０において実現できるような、内蔵モニタを含むことができる。代替的または追加的に、表示装置は外部モニタ、プロジェクタ、テレビジョン、または、ユーザ装置１２０とは別個であってよく、ユーザ装置１２０に通信可能に結合できる他の適切な表示装置として実現できる。
【００２４】
幾つかの実施の形態においては、各ユーザ装置１２０は、学習者支援サーバ１０１上に記憶されている学習者アプリケーション１１１を参照して記述したステップの幾つか、またはすべてを行うように構成されている学習者アプリケーション１２１を含む。例えば、学習者アプリケーション１２１は、学習者が電子文書から数学公式を選択するためのツールを生成するためのユーザインタフェースモジュールを含むことができる。他の実施の形態においては、ユーザ装置１２０は、例えば、ブラウザベースアプリケーションにアクセスすることにより、学習者支援サーバ１０１の学習者アプリケーション１１１にアクセスする。代替的または追加的に、各ユーザ装置１２０上の学習者アプリケーション１２１は、クライアント／サーバ関係にある学習者支援サーバ１０１上の学習者アプリケーション１１１と通信できる。
【００２５】
幾つかの例においては、学習者アプリケーション１２１はまた、コンテンツサーバ１１５に記憶され、インデックスを付けられた電子文書から戻り公式を特定し、公式の派生物を特定し、および／または関連コンテンツを特定することもできる。幾つかの他の例においては、学習者アプリケーション１２１は、選択された数学公式を学習者支援サーバ１０１上の学習者アプリケーション１１１に送信する。図１においては、複数のユーザ装置１２０が例示されているが、学習者支援システム１００は、より一般的には、一つ以上のユーザ装置１２０を含むことができる。
【００２６】
コンテンツサーバ１１５は、電子文書を生成および／または管理するように構成されているアプリケーションおよび／またはハードウェア（例えば、ラック搭載サーバコンピュータ、ブレードサーバコンピュータ、および／または他のコンピュータハードウェア）を含むことができる。電子文書は、オープンコースウェア（ＯＣＷ）学習教材、巨大オープンオンラインコース（ＭＯＯＣ）学習教材、教授および講師を含む個人により教育機関で教示されるコースのためのコースページ、そのようなコースに関連する講義ノート、ジャーナル記事および／または学会論文を含むオンライン出版物、オンライン百科事典、本など、またはそれらの任意の組み合わせのような、オープン教育リソース（以降、「ＯＥＲ」）を含むことができる。図１においては、複数のコンテンツサーバ１１５が例示されているが、学習者支援システム１００は、より一般的には、一つ以上のコンテンツサーバ１１５を含むことができる。
【００２７】
下記に、より詳細に記述されるように、コンテンツサーバ１１５、または、より特別にはコンテンツサーバ１１５に記憶されている電子文書は、一つ以上の学習者アプリケーション１１１および１２１により巡回または処理されることができ、電子文書に含まれる公式のインデックスを作成することができる。学習者アプリケーション１１１および１２１の一つ以上は、戻り公式を見つけるために公式のインデックスを使用することができ、戻り公式を含む特定の電子文書を解析でき、公式の派生物および／または関連コンテンツを特定できる。
【００２８】
幾つかの実施の形態においては、学習者アプリケーション１１１、１２１の一つまたは両者は、フィールドプログラマブルゲートアレイ（Field-Programmable Gate Array:FPGA）または特定用途向け集積回路（Application-Specific Integrated Circuit:ASIC）を含むハードウェアを使用して実現できる。幾つかの実施の形態においては、学習者アプリケーション１１１、１２１の一つまたは両者は、ハードウェアとソフトウェアの組み合わせを使用して実現できる。学習者アプリケーション１１１、１２１は、装置とサーバの組み合わせにおいて、または、図１の装置またはサーバの一つにおいて記憶できる。学習者アプリケーション１１１、１２１の一つまたは両者に対応することができる学習者アプリケーションの、一例としての実施の形態は、下記に、より詳細に記述される。
【００２９】
図２は、ここにおいて記述される少なくとも一つの実施の形態に応じて配置された学習者支援装置（以降「装置」）２００の、一例としてのブロック図を例示している。装置２００は、図１の学習者支援サーバ１０１およびユーザ装置１２０の一つ以上を含むことができ、または、それらに対応することができる。装置２００は、ラック搭載サーバコンピュータ、ブレードサーバコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、携帯電話、スマートフォン、個人情報端末（ＰＤＡ）、電子リーダ装置、または他の適切なコンピューティング装置のような、任意の適切な構成因子を有しているコンピューティング装置として実現できる。
【００３０】
幾つかの例によれば、装置２００は、学習者アプリケーション２０１、プロセッサ装置２２５、通信インタフェース２２７、記憶装置２３３、およびメモリ２２９を含むことができる。装置２００の構成要素は、バス２１２により通信可能に結合できる。バス２１２は、メモリバス、記憶装置インタフェースバス、バス／インタフェースコントローラ、インタフェースバスなど、またはそれらの任意の組み合わせを含むことができる。幾つかの実施の形態においては、装置２００は追加的に、バス２１２に結合されている表示装置２３１を含む。
【００３１】
プロセッサ装置２２５は、演算論理ユニット、マイクロプロセッサ、汎用コントローラ、または、ここにおいて記述されるような動作を行う、または動作の実行を制御するための幾つかの他のプロセッサアレイを含む。プロセッサ装置２２５はデータ信号を処理し、複合命令セットコンピュータ（Complex Instruction Set Computer(CISC)）アーキテクチャ、縮小命令セットコンピュータ（Reduced Instruction Set Computer(RISC)）アーキテクチャ、または、命令セットの組み合わせを実現するアーキテクチャを含む種々のコンピューティングアーキテクチャを含むことができる。図２は単一のプロセッサ装置２２５を含んでいるが、複数のプロセッサ装置を含むことができる。他のプロセッサ、オペレーティングシステム、および物理構成が可能である。
【００３２】
メモリ２２９は、プロセッサ装置２２５により実行でき、または、プロセッサ装置２２５上で動作できる命令またはデータを記憶している。命令またはデータは、ここにおいて記述された動作を行う、または動作の実行を制御するためにプロセッサ装置２２５により実行できるプログラミングコードを含むことができる。メモリ２２９は、ダイナミックランダムアクセスメモリ（Dynamic Random Access Memory:DRAM）装置、スタティックランダムアクセスメモリ（Static Random Access Memory:SRAM）装置、フラッシュメモリ、または幾つかの他のメモリ装置を含むことができる。幾つかの実施の形態においては、メモリ２２９はまた、不揮発性メモリ、または、類似の固定記憶装置、およびハードディスクドライブ、フロッピーディスクドライブ（登録商標）、コンパクトディスクＲＯＭ（Compact Disc-ROM：CD-ROM）装置、ＤＶＤ-ＲＯＭ装置、ＤＶＤ-ＲＡＭ装置、ＤＶＤ-ＲＷ装置、フラッシュメモリ装置、または、より固定的に情報を記憶するための、幾つかの他の大容量記憶装置を含む媒体も含むことができる。
【００３３】
メモリ２２９は、公式データ２９２を記憶できる。公式データ２９２は、電子文書から選択され、それぞれが、電子文書に画像、ベクトルグラフィックス、および／または他のデータオブジェクトとして含まれている一つ以上の数学公式と、画像に対して光学式文字認識を行って、またはベクトルグラフィックスの構文解析を行って特定した記号を含む一つ以上のフォーマット化公式と、一つ以上の規格化公式と、一つ以上の一般化公式と、一つ以上のトークンと、上記の一つ以上と類似の、または上記の一つ以上と同じである一つ以上の戻り公式を含むことができる。
【００３４】
通信インタフェース２２７は、装置２００が図１の学習者支援サーバ１０１またはユーザ装置１２０であるかどうかにより、学習者支援サーバ１０１、ユーザ装置１２０、およびコンテンツサーバ１１５の少なくとも一つとの間で、データの送信および受信を行うことができる。通信インタフェース２２７は、図１の学習者支援システム１００の任意の他のエンティティとの間で、データの送信および受信を行うことができる。幾つかの実施の形態においては、通信インタフェース２２７は、図１のネットワーク１０５、または他の通信チャネルへの直接物理接続のためのポートを含んでいる。例えば、通信インタフェース２２７は、ユニバーサルシリアルバス（Universal Serial Bus:BUS）ポート、セキュアデジタル（Secure Digital:SD）ポート、カテゴリ５（CATegory5:CAT-5）ケーブルポート、または、図１の学習者支援サーバ１０１、ユーザ装置１２０、コンテンツサーバ１１５、または、任意の他のエンティティとの有線通信のための同様のポートを含むことができる。幾つかの実施の形態においては、通信インタフェース２２７は、図１の学習者支援サーバ１０１、ユーザ装置１２０、コンテンツサーバ１１５、または、任意の他のエンティティの少なくとも一つ以上とデータを交換するための無線トランシーバ、または、IEEE802.11、IEEE802.16、ブルートゥース（Bluetooth（登録商標））または他の適切な無線通信方法を含む一つ以上の無線通信方法を使用する他の通信チャネルを含んでいる。
【００３５】
幾つかの実施の形態においては、通信インタフェース２２７は、ショートメッセージングサービス（Short Messaging Service:SMS）、マルチメディアメッセージングサービス（Multimedia Messaging Service:MMS）、ハイパーテキストトランスファープロトコル（HyperText Transfer protocol:HTTP）、直接データ接続、無線アプリケーションプロトコル（Wireless Application Protocol:WAP）、電子メール、または他の適切なタイプの電子通信を経由することを含む、セルラー通信ネットワーク上でデータの送受信を行うためのセルラー通信トランシーバを含んでいる。幾つかの実施の形態においては、通信インタフェース２２７は、有線ポートおよび無線トランシーバを含んでいる。通信インタフェース２２７はまた、図１のネットワーク１０５への他の接続も提供でき、送信制御プロトコル／インターネットプロトコル（Trasmission Control Protocol／Internet Protocol:TCP/IP）、HTTP、HTTPセキュア（HTTP Secure:HTTPS）、簡易メール転送プロトコル（Simple Mail Transfer Protocol:SMTP）などを含む標準ネットワークプロトコルを使用して、ファイルおよびメディアオブジェクトを配信できる。
【００３６】
記憶装置２３３は、ここにおいて記述される機能を提供するためのデータを記憶する非一時的記憶媒体を含むことができる。記憶装置２３３は、ダイナミックランダムアクセスメモリ（Dynamic Random Access Memory:DRAM）装置、スタティックランダムアクセスメモリ（Static Random Access Memory:SRAM）装置、フラッシュメモリ、または幾つかの他のメモリ装置を含むことができる。幾つかの実施の形態においては、記憶装置２３３はまた不揮発性メモリまたは類似の固定記憶装置および、ハードディスクドライブ、フロッピーディスクドライブ（登録商標）、ＣＤ−ＲＯＭ装置、ＤＶＤ−ＲＯＭ装置、ＤＶＤ−ＲＡＭ装置、ＤＶＤ−ＲＷ装置、フラッシュメモリ装置、または情報を、より固定的に記憶するための幾つかの他の大容量記憶装置を含む媒体も含んでいる。記憶装置２３３はまた、一時的にメモリ２２９に記憶またはロードされる命令および／またはデータも記憶できる。
【００３７】
幾つかの実施の形態においては、記憶装置２３３は数学公式を含んでいる。学習者アプリケーション２０１は、例えば、数学公式についてのセマンティック演算子ツリーを構築することにより、数学公式を編成でき、トークンを生成できる。学習者アプリケーション２０１は、トークンを記憶装置２３３に記憶できる。従って、数学公式を、非一時的コンピュータ読み取り可能媒体（例えば、記憶装置２３３および／またはメモリ２９９）に記憶できる。
【００３８】
図２に例示されているように、学習者アプリケーション２０１は、ユーザインタフェースモジュール２０２、フォーマットモジュール２０６、類似性モジュール２０８、および識別子モジュール２１０の少なくとも一つを含むことができる。モジュール２０２、２０６、２０８、および２１０を含む学習者アプリケーション２０１は、ここにおいて記述される機能および動作を行う、またはそれらの実行を制御するために、プロセッサ装置２２５により実行可能なプログラミングコードおよび／またはコンピュータ読み取り可能命令を含むソフトウェアを一般的に含むことができる。学習者アプリケーション２０１は、装置２００の別の構成要素の一つからデータを受信して、そのデータを、記憶装置２３３とメモリ２２９の一つ、またはその両者に記憶できる。代替的または追加的に、学習者アプリケーション２０１は、装置２００の他の構成要素にデータ送ることができ、および／またはデータを、記憶装置２３３とメモリ２２９の一方、またはその両者に書き込むことができる。
【００３９】
ユーザインタフェースモジュール２０２は、描画されると、入力された数学公式を電子文書から選択するためのツールを含んでいるユーザインタフェースを表示するグラフィックスを生成するように一般的に構成できる。フォーマットモジュール２０６は、ここにおいて、より詳細に記述するように、入力された数学公式からフォーマット化公式を生成するように一般的に構成できる。類似性モジュール２０８は、ここにおいて、より詳細に記述するように、入力された数学公式と類似の、または入力された数学公式と同じ公式を見つけるように一般的に構成できる。識別子モジュール２１０は、ここにおいて、より詳細に記述するように、公式の派生物および、入力された数学公式に関連する関連コンテンツを特定するように一般的に構成できる。
【００４０】
表示装置２３１は、バス２１２を介して学習者アプリケーション２０１に通信可能に結合できる。描画されたグラフィックスは、表示装置２３１上で学習者に表示できる。
【００４１】
ユーザインタフェースモジュール２０２は、入力された数学公式を電子文書から選択するツールを含むユーザインタフェースを表示するグラフィックスを生成できる。電子文書は、学習者には不慣れな数式を伴う、例えば、ワード（Word）またはpdf文書を含むことができる。別の例においては、電子文書は、数学公式の画像を含んでいる記事、または入力された数学公式を特定のフォーマットで描画するプラグインのようなウェブページを含んでいる。
【００４２】
ツールは、ツールを起動するために有効な入力を学習者が提供することにより起動できる。例えば、ツールは、学習者が電子文書のある範囲上でマウスを動かす、入力された数学公式の選択の開始を示すためにマウス上のボタンをクリックする、ボタンを押したままマウスをドラッグする、および入力された数学公式の選択の終了を示すためにボタンから指を放すことにより起動できる。ユーザインタフェースモジュール２０２は、マウスで選択された領域のアウトラインを表示するグラフィックスを生成できる。幾つかの実施の形態においては、ユーザインタフェースモジュール２０２は、例えば、入力された公式を選択する最初の試みが、入力された数学公式全体を囲っていない領域という結果となった場合に有益である、領域を再選択するためのオプションを含んでいる。任意の他の適切な入力装置および／または入力動作を、学習者がツールを起動および／または入力された数学公式を選択するために使用できる。
【００４３】
フォーマットモジュール２０６は、選択された数学公式からフォーマット化公式を生成できる。幾つかの実施の形態においては、フォーマットモジュール２０６は、選択された数学公式が、画像またはベクトルグラフィックに含まれているかどうか、または、ラテック（LaTex）または数学マークアップ言語（MathML）のような文書マークアップ言語の一部であるかどうかを判定する。選択された数学公式が画像に含まれている場合は、フォーマットモジュール２０６は、画像に光学式文字認識を行い、選択された数学公式における記号を特定できる。選択された数学公式がベクトルグラフィックに含まれている場合は、フォーマットモジュール２０６は、ベクトルグラフィックの構文解析を行い、記号を特定できる。選択された数学公式が文書マークアップ言語の一部である場合は、フォーマットモジュール２０６は、選択された数学公式を文書マークアップ言語から特定できる。フォーマットモジュール２０６が記号を特定した後、フォーマットモジュール２０６は、フォーマット化公式として、特定のフォーマットで記号を保存できる。幾つかの実施の形態においては、フォーマットモジュール２０６は、フォーマット化公式を含むクエリを生成し、クエリは、公式のインデックスを問い合わせるために類似性モジュール２０８により使用される。
【００４４】
類似性モジュール２０８は、公式のインデックスから、フォーマット化公式と類似の、またはフォーマット化公式と同じである類似公式を見つけることができる。幾つかの実施の形態においては、類似性モジュール２０８は、フォーマット化公式に基づいて、公式のインデックスを検索するためのクエリを作成する。例えば、類似性モジュール２０８は、セマンティック演算子ツリー、レイアウト表現ツリー、または他のタイプのツリーのようなツリーをフォーマット化公式から構築する。ツリーは、フォーマット化公式の特定のタイプと関連するコードと共に、フォーマット化公式からの変数と演算子の両者を含むことができる。セマンティック演算子ツリーは、図７Ａを参照して下記に、より詳細に検討される。
【００４５】
類似性モジュール２０８は、所定の規則に基づいて、フォーマット化公式および／または構築されたツリーの順序を整理することにより、フォーマット化公式および／または構築されたツリーを規格化できる。所定の規則は、フォーマット化公式を規格化するために使用される演算子の順序を含むことができる。例えば、同じ公式を、Ｃ×Ｖ＋Ｃとしても、Ｃ＋Ｃ×Ｖとしても表現できる。これらは両者とも同じ公式であるが、変数は異なる順序となっている。類似性モジュール２０８は、加算演算子を乗算演算子の前に置くことで、公式の両者の例を、Ｃ＋Ｃ×Ｖとして公式を規格化できる。規格化は、図７Ｂを参照して下記に、より詳細に検討される。
【００４６】
幾つかの実施の形態においては、類似性モジュール２０８は、フォーマット化公式、構築されたツリー、および／または規格化公式から、変数をプレースホルダと置き換えた一般化公式を生成する。例えば、類似性モジュール２０８は、Ｘ＋ＹとＡ＋Ｂを、＊＋＊と一般化できる。複数の変数と少なくとも一つの演算子がカッコの中にある幾つかの実施の形態においては、類似性モジュール２０８は、カッコ内の式を結合して、単一の変数を生成できる。例えば、類似性モジュール２０８は、Ａ＋（Ｂ×Ｃ）を最初は＊×（＊＋＊）と一般化し、そして、＊×＊と一般化できる。類似性モジュール２０８はまた、フォーマット化公式および／または構築されたツリーにおいて、タグで符号化された変数と定数を除去することもできる。一般化は、図７Ｃを参照して下記に、より詳細に検討される。
【００４７】
類似性モジュール２０８は、フォーマット化公式、規格化公式、および／または一般化公式からトークンを生成できる。例えば、類似性モジュール２０８は、一般化公式と構築されたツリーに基づくトークンを生成できる。各トークンは、コンテンツが元々の項（例えば、フォーマット化公式または構築されたツリーから）または一般化公式からの一般化された項（例えばプレースホルダ）を記述する場合は、コンテンツとレベルのペアを含むことができる。レベルは、コンテンツに関連する構築されたツリーにおける対応する位置を含むことができる。
【００４８】
類似性モジュール２０８は、公式のインデックスにおいて、フォーマット化公式と類似の、またはフォーマット化公式と同じである戻り公式を見つけることができる。例えば、類似性モジュール２０８は公式のインデックスを検索して、選択された数学公式と類似の、または選択された数学公式と同じである戻り公式を特定できる。類似性モジュール２０８が規格化公式、一般化公式、および／またはトークンを生成する実施の形態においては、類似性モジュール２０８は、公式のインデックスを検索して戻り公式を特定できる。戻り公式は、選択された数学公式と同じ、例えば、同一であってよく、または、同一の構造を有するが、異なる変数名を有する公式のように、違いを有していてよい。例えば、選択された数学公式は、処理することができ、トークン化公式として表現でき、類似性モジュール２０８は、これもまたトークン化され、従って、選択された数学公式と類似の戻り公式を特定できる。
【００４９】
幾つかの実施の形態においては、類似性モジュール２０８は、選択された数学公式と戻り公式との間の類似性の程度を示す類似スコアを生成して、類似スコアが類似スコア閾値を超えている場合は、類似公式を返す。幾つかの実施の形態においては、類似性モジュール２０８は、上位ｎ個のスコアを有するｎ個の戻り公式を返すことができる。幾つかの実施の形態においては、類似性モジュール２０８は、閾値類似性を適用して戻り公式を見つける。例えば、閾値類似性は、選択された数学公式と戻り公式との間の９０％（または他の適切なパーセント）の類似性を構成できる。
【００５０】
幾つかの実施の形態においては、類似性モジュール２０８、またはコンテンツサーバ１１５上のクローラは、公式のインデックスを生成する検索エンジンを含んでいる。例えば、類似性モジュール２０８、またはコンテンツサーバ上のクローラは、電子文書を巡回し、電子文書をコンテンツサーバ１１５に記憶して、数学公式を特定し、電子文書における検出された数学公式にインデックスを付けて、公式のインデックスにする。類似性モジュール２０８は、特定された数学公式を含む電子文書における公式領域を特定し、特定された数学公式のそれぞれのテキストの行を分割し、そこからフォーマット化公式を作成できる。類似性モジュール２０８は、フォーマット化公式それぞれに対して、例えば、セマンティック演算子ツリーのようなツリーを構築し、フォーマット化公式および／または対応する構築されたツリーを規格化し、一般化公式を生成し、元々の項および一般化された項を有するトークンを生成できる。類似性モジュール２０８は、公式のインデックスにおけるトークンを、例えば、図２において記述された記憶装置２３３に記憶できる。公式のインデックスはまた、公式のインデックスにおける各公式が見つけられた電子文書の表示および／または、それを指し示すポインタ（例えば、ユニフォームリソースロケータ（uniform resource locator:URL））も含むことができ、それにより、類似性モジュール２０８は、公式のインデックスにおける公式が、選択された数学公式に関して類似公式と判定されたときに、電子文書にアクセスして公式の派生物と関連コンテンツを特定できる。
【００５１】
識別子モジュール２１０は、選択された数学公式に対する公式の派生物、および名前または専門用語のような関連コンテンツを特定するように構成できる。例えば、公式の派生物は、戻り公式の派生物を含むことができる。幾つかの実施の形態においては、識別子モジュール２１０は、公式の派生物を、コンテンツサーバ１１５に記憶されている電子文書の少なくとも一つから特定する。例えば、識別子モジュール２１０は、電子文書の少なくとも一つおける戻り公式の位置を特定し、電子文書がどのように編成されているかに基づいて、戻り公式の周りに現在の境界を設定する。例えば、電子文書にページが付けられている場合は、識別子モジュール２１０は、戻り公式の周りの現在の境界を、現在の境界がまた他のページにも延伸している現在のページ上に設定できる。例えば、戻り公式が、現在のページの最初にある場合は、識別子モジュール２１０は、前ページのすべてまたは一部を、現在の境界の一部として含むことができ、現在のページのすべてまたは一部を含むことができる。代替的または追加的に、識別子モジュール２１０は、現在のページ内の戻り公式の位置によっては、現在の境界内のみの現在のページのすべてまたは一部、または現在の境界内の現在および次のページ両者のすべてまたは一部を含むことができる。戻り公式が、少なくとも一つのページの境界により分割された、公式の一連の連続する行、または実質的に連続する行に含まれている場合は、現在の境界を延伸して、複数のページをカバーするようにして、公式の一連の連続する行、または実質的に連続する行のすべてを含むことができる。例えば、類似公式が、１ページ目の最後から開始し、２ページ目の中央部で終了する一連の連続する公式に含まれる場合には、識別子モジュール２１０は、２ページにまたがる連続する公式の周りに現在の境界を設定できる。公式の行は、一連の行におけるすべての行が公式を含んでいる場合は、連続していると考えることができる。公式の行は、電子文書のある領域内で、公式の少なくとも一部を含むと分類される行のパーセンテージが閾値を超える場合は、実質的に連続であると考えることができる。例えば、公式を、公式を記述するテキストと混在させることができるので、閾値は７５％であってよい。公式の一部である行のパーセンテージが７５％を超える場合は、公式の行は、実質的に連続である。公式の一部である行のパーセンテージが７５％未満のときは、公式の行は、複数の公式を表現している可能性がある。
【００５２】
戻り公式が、ページが付けられていない電子文書の一部である例においては、識別子モジュール２１０は、戻り公式の周りに、現在の境界を作成するために、上方境界と下方境界を設定できる。上方境界は、下方境界よりも大きな設定された距離として定義できる。例えば、上方境界は、戻り公式の上１０行として定義でき、下方境界は、戻り公式の下５行として定義できる。
【００５３】
識別子モジュール２１０が現在の境界を設定した後に、識別子モジュール２１０は、現在の境界内の他の公式の位置を特定できる。戻り公式の周りまたはその近くに位置している他の公式は、戻り公式の派生物に含まれている可能性があるので、識別子モジュール２１０は、戻り公式と、他の公式の対応する一つとの間の距離を求めてもよい。距離を求めるための、任意の適切な方法が実装される。例えば、距離は、対応する他の公式から戻り公式までの公式の行数として判定でき、その際は、その間のテキスト（例えば、公式に関連する説明的なテキスト）の行数は考慮しない。代替的または追加的に、距離は、公式の行数と、対応する他の公式から戻り公式までのテキストの行数の両者に基づいて判定できる。代替的にまたは追加的に、距離は、ページが付けられている電子文書に対するページサイズのパーセンテージまたは分数として判定できる。
【００５４】
識別子モジュール２１０は、他の公式のそれぞれに対して距離を求めて、距離と、他の公式のそれぞれと戻り公式との間の類似性とに基づいてスコアを計算できる。例えば、識別子モジュール２１０は、フォーマット化公式と戻り公式との間の類似スコア（QC_S）の関数であり、戻り公式と他の公式の一つとの間の各類似スコアＣ（CO_Si）の合計であるトータルスコア（TS）を計算できる。例えば、トータルスコアを計算する数式は下記のようであってよい。
【００５５】
TS=QC_S*ΣCO_Si*(1/(1+exp(α*LFi+β*LTi)))                            （1）
【００５６】
ここでｉはインデックスであり、expは、自然対数の底ｅ（例えば、約2.71828）の、カッコ内で指定されている冪数であり、LFiは、ｉ番目の他の公式から戻り公式までの公式の行数であり、LTiは、ｉ番目の他の公式から戻り公式までのテキストの行数であり、αとβは、距離効果を調整するための負の定数因子である。
【００５７】
幾つかの実施の形態においては、識別子モジュール２１０は、公式の名前、知識のポイント、または専門用語のような関連コンテンツを、コンテンツサーバ１１５に記憶されている電子文書から戻り公式を特定して、戻り公式を囲んでいるテキストから、ｎ−ｇｒａｍパターンを抽出することにより特定する。例えば、類似スコア閾値は、識別子モジュール２１０、学習者により設定でき、または予め設定することができ、またはデフォルト値であってよい。識別子モジュール２１０は、類似スコア閾値を超える類似性スコアを有する戻り公式に基づいて、選択された数学公式と類似の、または選択された数学公式と同じである戻り公式を特定できる。識別子モジュール２１０は、戻り公式それぞれに対して現在の境界を設定して、現在の境界内のテキストを検索できる。現在の境界は、公式の派生物を特定することを参照して上記に記述した方法と同じ方法で判定できる。テキストがセクションタイトルの一部であったり、またはテキストが強調されたりしている場合は、識別子モジュール２１０は、テキストにおける語句のそれぞれの重みを調整できる。例えば、重みは、タイトルの一部である語句、または強調されている語句は、公式の名前、知識のポイント、または専門用語と関連する可能性が高いことを反映するように調整できる。より特別には、タイトルの一部である語句、または強調されている語句の重みは、幾つかの実施の形態においては増加できる。識別子モジュール２１０は、調整された重みで検索されたテキストから、繰り返されるｎ−ｇｒａｍパターンを抽出できる。幾つかの実施の形態においては、識別子モジュール２１０は、ｎ−ｇｒａｍパターンからストップ語句を除去する。例えば、識別子モジュール２１０は、「ｔｈｅ」、「ｉｓ」、「ａｔ」、および「ｏｎ」のような機能語句を除去できる。識別子モジュール２１０は、ストップ語句が除去されたｎ−ｇｒａｍパターンから、閾値頻度を有するｎ−ｇｒａｍパターンを抽出できる。閾値頻度は、語句が戻り公式に関連しているために、語句が十分に共通しているという確率を確実に、または増大できる。例えば、戻り公式の名前を、類似公式の近くで特定できる可能性がある。
【００５８】
図３は、数学公式に対する公式の派生物と、数学公式に関連している関連コンテンツを特定する方法３００の、一例としてのフロー図である。方法３００は、その全体または一部を、図１の学習者アプリケーション１１１、１２１、図２の装置２００、または他の適切な装置、サーバ、および／またはシステムの一つ以上により実現できる。方法３００は、ブロック３０２において開始できる。
【００５９】
ブロック３０２において、第１電子文書に含まれている数学公式を受信できる。数学公式は、ユーザインタフェース、例えば、図２のユーザインタフェースモジュール２０２により生成されるユーザインタフェースを介して学習者により選択されたものであってよい。
【００６０】
ブロック３０４において、フォーマット化公式を、数学公式から生成できる。図２におけるフォーマットモジュール２０６は、フォーマット化公式を生成できる。フォーマット化公式は、数学公式が、第１電子文書においてどのように表現されているかに基づいて生成できる。例えば、数学公式の記号は、数学公式が、第１電子文書において画像として、ベクトルグラフィックとして、または他のデータオブジェクトとして含まれているかに従って、異なる方法で特定できる。フォーマット化公式を生成する一つの例としての方法を、図４に関して記述する。選択された数学公式と、異なる対応するフォーマット化公式のイラストが図５に例示されている。
【００６１】
ブロック３０６において、複数の数学公式において、フォーマット化公式と類似の、またはフォーマット化公式と同じである戻り公式を見つけることができ、この戻り公式は、前述した公式のインデックスを含むことができる。代替的にまたは追加的に、図２の類似性モジュール２０８は、戻り公式を見つけることができる。幾つかの実施の形態においては、フォーマット化公式をクエリとして使用して（セマンティック演算子ツリーのような）ツリーを構築して、規格化および一般化によりトークン化公式を生成し、戻り公式を特定するための公式のインデックスを検索することにより、戻り公式（またはこの戻り公式を含む複数の戻り公式）を見つけることができる。戻り公式を見つけるための、一例としての方法を、図６Ａに関して記述する。戻り公式を見つける方法の、一例としてのイラストが図７Ａ〜７Ｃに例示されている。戻り公式の、一例としてのイラストが、図８に例示されている。幾つかの実施の形態においては、公式のインデックスもまた、図２の類似性モジュール２０８により生成される。公式のインデックスを生成する、一例としての方法は、図６Ｂに関して記述される。
【００６２】
ブロック３０８において、公式の派生物を、戻り公式の派生物を含む少なくとも一つの他の電子文書から特定できる。例えば、現在の境界を戻り公式の周りに設定することができ、現在の境界内の他の公式は、戻り公式からの距離のそれぞれ、および戻り公式との類似性に基づいて特定できる。図２の識別子モジュール２１０は、図１のコンテンツサーバ１１５に記憶されている少なくとも一つの他の電子文書から公式のコンテンツを特定できる。公式の派生物を特定する、一例としての方法は、図９に関して記述される。戻り公式の派生物に含むことができる他の公式の、一例としてのイラストは、図１０Ａ〜１０Ｃに例示されている。
【００６３】
ブロック３１０において、数学公式に関連する関連コンテンツを特定できる。図２の識別子モジュール２１０は、関連コンテンツを特定できる。関連コンテンツは、例えば、数学公式に関連する知識ポイントまたは用語を含むことができる。関連コンテンツを特定する、一例としての方法は、図１１に関して記述される。関連コンテンツの、一例としてのイラストが、図１２に例示されている。
【００６４】
図４は、数学公式からフォーマット化公式を生成する方法４００の、一例としてのフロー図である。方法４００は、その全体または一部を、図１の学習者アプリケーション１１１、１２１、図２の装置２００、または他の適切な装置、サーバ、および／またはシステムの一つ以上により実現できる。方法４００は、ブロック４０２において開始できる。
【００６５】
ブロック４０２において、電子文書を受信できる。例えば、図２のフォーマットモジュール２０６は、電子文書を受信できる。電子文書は、数学公式を含んでいる。ブロック４０２にはブロック４０４が続くことができる。
【００６６】
ブロック４０４において、数学公式が画像に含まれているかどうかが判定される。例えば、数学公式はジェイペグ（Joint PhotoGraphic Experts Group:jpeg）画像、ポータブルネットワークグラフィックス（Portable Network Graphics:png）画像、エグジフ（Exchangeable Image File Format:Exif）画像、ティフ（Tagged Image File Format:TIFF）画像、ロー（Raw Image Format:RAW）画像、またはビットマップ画像の一部であってよい。代替的または追加的に、電子文書は、.pdf文書または他のタイプの電子文書を含むことができ、数学公式は、例えば、スナップショットツールを使用して、数学公式の画像をキャプチャすることにより選択できる。図２のフォーマットモジュール２０６は、数学公式が画像に含まれているかどうかを判定できる。ブロック４０４にはブロック４０６（ブロック４０４において「ＹＥＳ」）が続くことができ、またはブロック４０８（ブロック４０４において「ＮＯ」）が続くことができる。
【００６７】
数学公式が画像に含まれている場合は、方法４００はブロック４０６に進むことができ、そこにおいて、光学式文字認識が画像に対して行われ、数学公式の記号が特定される。図２のフォーマットモジュール２０６は、光学式文字認識を行うことができる。ブロック４０６にはブロック４１２が続くことができる。
【００６８】
数学公式が画像に含まれていない場合は、ブロック４０４にはブロック４０８が続くことができ、数学公式がベクトルグラフィックに含まれているかどうかが判定される。幾つかの実施の形態においては、図２のフォーマットモジュール２０６は、数学公式がベクトルグラフィックに含まれているかどうかを判定できる。ブロック４０８にはブロック４１０（ブロック４０８において「ＹＥＳ」）が続くことができ、またはブロック４１２（ブロック４０８において「ＮＯ」）が続くことができる。
【００６９】
数学公式がベクトルグラフィックに含まれている場合は、ブロック４０８にはブロック４１０が続くことができ、そこにおいて、ベクトルグラフィックは構文解析されて、数学公式の記号が特定される。例えば、図２のフォーマットモジュール２０６は、ベクトルグラフィックの構文解析を行うことができる。数学公式における記号が特定された後、ブロック４１２において、数学公式の記号は、フォーマット化公式として特定のフォーマットで保存される。幾つかの実施の形態においては、図２のフォーマットモジュール２０６は記号を保存する。フォーマット化公式は、クエリに含むことができる。数学公式が、画像にもベクトルグラフィックにも含まれていない場合は、数学公式は、すでにフォーマット化されている可能性があるので、数学公式の記号は、ブロック４０６と４１０に関して記述した処理なしで、ブロック４１２において、特定のフォーマットで保存できる。この、および他の実施の形態においては、フォーマット化された数学公式を、ラテック（LaTex）および数学マークアップ言語（Mathematical Markup Language:MathML）を含む文書マークアップ言語に含めることができる。これらの場合、記号は、対応するテキストから構文解析できる。
【００７０】
図５は、電子文書５０１から選択できる、一例としての数学公式のイラスト５００である。数学公式５０５は、電子文書５０１から、前述したユーザインタフェースに含まれているツールにより選択できる。
【００７１】
数学公式５０５は、図４の方法４００に従って処理して、対応するフォーマット化公式を生成することができ、その二つの例が、図５において５１０（以降、「第１フォーマット化公式５１０」）と、５１５（以降、「第２フォーマット化公式」）で例示されている。第１および第２フォーマット化公式５１０と５１５は、総称して、複数または単数で、複数の「フォーマット化公式５１０／５１５」または単数の「フォーマット化公式５１０／５１５」と称することができる。第１フォーマット化公式５１０はLaTextフォーマットである。第２フォーマット化公式５１５は、MathMLフォーマットである。より一般的には、数学公式５０５のような選択された数学公式から生成される、フォーマット化公式５１０／５１５のようなフォーマット化公式は、任意の適切なフォーマットを有することができる。数学公式５０５の記号は、図４の方法４００に従って特定できる。
【００７２】
ＬａＴｅｘフォーマットによれば、\(バックスラッシュ)leftは、先行する変数の位置を示すことができる。この例においては、P\leftは、Ｐが第１変数であることを示すことができる。それに加えて、\overlineは、ｘの上にティルド（波型記号）を作成することを示すことができ、通常のスラッシュ（／）は、変数の間にラインを作成することができ、幾つかの変数は、語句で表現できる（例えば、「theta（シータ）」は、「θ」を描画できる）。
【００７３】
MathMLフォーマットによれば、＜mi＞要素は、識別子の存在を意味することができ、＜mo＞要素は、演算子の存在を意味することができ、＜mfenced＞要素は、コンテンツをフェンス、例えば、カッコで囲むことを示すことができる。＜mrow＞要素は、アイテムの水平行を示すことができ、＜mover＞要素は、式の上方のアクセント記号または極限を示すことができ、＜munder＞要素は、式の下方のアクセント記号または極限を示すことができる。
【００７４】
図６Ａは、図４のフォーマット化公式と類似の、またはそれと同じである戻り公式を特定する方法６００の、一例としてのフロー図を例示している。方法６００は、その全体または一部を、図１の学習者アプリケーション１１１、１２１、図２の装置２００、または他の適切な装置、サーバ、および／またはシステムの一つ以上により実現できる。方法６００は、ブロック６０２において開始できる。
【００７５】
ブロック６０２において、図４のブロック４１２からのフォーマット化公式のようなフォーマット化公式を含むクエリを受信する。上記ですでに述べたように、フォーマット化公式は、図４のブロック４０２における電子文書のような電子文書から得られる。
【００７６】
ブロック６０４において、セマンティック演算子ツリーを構築できる。例えば、図２における類似性モジュール２０８は、数学公式を、ツリーの一つ以上のノードをトラバースすることにより再作成ができるように、演算子および変数からツリーを構築できる。例えば、Ｘ＋Ｙは、ＸおよびＹが子ノードで、＋が親ノードであるツリーに構築できる。追加的または代替的に、他のタイプの演算子ツリーも作成できる。例えば、幾つかの演算子、例えば、乗算および加算については水平軸上で、および幾つかの演算子、例えば除算については垂直軸上で表現されるレイアウト表現ツリーを作成できる。
【００７７】
ブロック６０６において、規格化公式は、所定の規則に基づいてフォーマット化公式の順序を整理することにより、フォーマット化公式から生成できる。例えば、図２の類似性モジュール２０８は、フォーマット化公式を規格化できる。所定の規則は、例えば、減算、加算、乗算、および除算を含む演算子の順序を含むことができる。演算子の同じ順序を使用することにより、表面上は異なるように見える公式を、戻り公式と同じ、または戻り公式と類似していると特定できる。
【００７８】
ブロック６０８において、一般化公式は、変数をプレースホルダと置き換え、カッコ内の変数を結合して単一の変数を形成し、単一の変数をプレースホルダにより置き換えることにより規格化公式から生成できる。例えば、Ｘ＋Ｙは＊＋＊に一般化でき、Ａ−Ｂは＊−＊に一般化でき、Ｘ×Ｙは＊×＊に一般化でき、Ｘ／Ｙは＊／＊に一般化できる。式がカッコ内のときは、その式は、単一の式に一般化できる。例えば、（Ｘ＋Ｙ）は＊に一般化できる。幾つかの実施の形態においては、一般化公式は、数学公式をウェブページ上で描画するためのマークアップ言語を含むことができる。図２における類似性モジュール２０８は、一般化公式を生成できる。
【００７９】
ブロック６１０において、一般化公式およびツリーに基づいて、トークンを生成できる。例えば、図２の類似性モジュール２０８は、トークンを生成できる。トークンは、コンテンツとレベルのペアを含むことができ、コンテンツは、一般項および元々の項を記述し、レベルは、コンテンツに対するツリーにおける対応する位置を記述している。
【００８０】
ブロック６１２において、非一時的コンピュータ読み取り可能媒体に記憶されている公式のインデックスを検索して、トークンと類似の、またはトークンと同じである戻り公式を特定できる。図２の類似性モジュール２０８は、公式のインデックスを検索できる。トークンとトークン化された戻り公式との間の類似性は、同一の公式、または、それぞれが閾値類似性よりも大きい、トークン化公式との類似性を有している同一の複数の公式を含むことができる。例えば、類似性モジュール２０８は、トークン化された戻り公式が、使用されている演算子、記号などの順序が違うだけで、数学公式と類似、または、数学公式と同一である場合は、トークン化公式と一致すると判定できる。幾つかの実施の形態においては、トークンと、トークン化された戻り公式との間の類似性は、類似スコア閾値に基づくことができる。ブロック６１４において、トークン化された戻り公式は、トークンとの類似性に基づいてランク付けできる。代替的または追加的に、図２の類似性モジュール２０８は、トークン化された戻り公式をランク付けできる。幾つかの実施の形態においては、トークン化された戻り公式は、それらの類似性スコアに基づいてランクの高い順にランク付けすることができ、戻り公式６１６として出力できる。
【００８１】
図６Ｂは、オープン教育リソース６５２に含まれる数学公式から、公式のインデックスを作成する方法６５０の、一例としてのフロー図を例示している。方法６５０は、オープン教育リソース６５２の一部である電子文書を受信できる。電子文書は、図１におけるコンテンツサーバ１１５に記憶できる。ブロック６５４において、オープン教育リソースの一部である電子文書を、巡回して数学公式を特定することができる。例えば、図２における類似性モジュール２０８は、オープン教育リソース６５２を巡回できる。幾つかの実施の形態においては、類似性モジュール２０８またはコンテンツサーバ１１５は、例えば、ｐｄｆｓ、ｈｔｍｌなどの数学公式、文書マークアップ言語、画像、またはベクトルグラフィックで表現されている数学公式を共通して含んでいるフォーマットの電子文書を抽出する教育的クローラを含んでいる。電子文書は、オープン教育リソースから抽出でき、図１において例示されている記憶装置２３３に取り込むことができる。
【００８２】
ブロック６５６において、電子文書における数学公式を含む公式領域が特定される。幾つかの実施の形態においては、図２における類似性モジュール２０８は公式領域を特定できる。
【００８３】
ブロック６５８において、テキストの行は、特定された公式領域における公式の行から分割できる。例えば、類似性モジュール２０８は、テキストの行を、公式の行から分割できる。テキストの行は、数学公式を特定することを目的として、公式の行から分割できる。ブロック６６０において、フォーマット化公式を作成できる。例えば、図４の方法において記述されるステップは、フォーマットモジュール２０６により行われて、フォーマット化公式を作成できる。
【００８４】
ブロック６６２において、セマンティック演算子ツリーを、各フォーマット化公式に対して作成できる。各セマンティック演算子ツリーは、図２の類似性モジュール２０８により作成できる。ブロック６６４において、規格化公式は、所定の規則に基づいて、フォーマット化公式のそれぞれの順序を整理することにより、フォーマット化公式のそれぞれから生成できる。幾つかの実施の形態においては、図２の類似性モジュール２０８は、フォーマット化公式のそれぞれを規格化できる。
【００８５】
ブロック６６６において、一般化公式は、単独の変数をプレースホルダで置き換え、カッコ内の複数の変数を結合して、プレースホルダで単一の変数を形成することにより、規格化公式のそれぞれから生成できる。幾つかの実施の形態においては、図２の類似性モジュール２０８は、一般化公式を生成する。ブロック６６８において、トークンが、一般化公式とツリーに基づいて生成される。図２の類似性モジュール２０８はトークンを生成できる。
【００８６】
ブロック６７０において、トークンは、非一時的コンピュータ読み取り可能媒体に含まれる公式のインデックスに記憶できる。例えば、トークンは、図２の記憶装置２３３に記憶できる。幾つかの実施の形態においては、図６Ｂにおける公式のインデックスは、図６Ａのブロック６１２で検索された公式のインデックスと同じである。
【００８７】
図７Ａは、同じ数学公式（Ｘ＋Ｙ）＊（ａ／ｂ）を表している、一例としてのツリー７００を例示している。レイアウト表現ツリー７０２は、加算および乗算演算子に関連する変数の水平表現と、除算演算子に関連する変数の垂直表現を含むことができる。セマンティック演算子ツリー７０４は、数学公式を再作成するために、子ノードから開始する順序付けられたトラバーサルとしてツリーをトラバースすることができる。例えば、まず、左側のサブツリーをトラバースして（Ｘ＋Ｙ）を作成する。そして、右側のサブツリーをトラバースして（ａ／ｂ）を作成する。最後に、二つのサブツリーを結合して（Ｘ＋Ｙ）＊（ａ／ｂ）を作成する。
【００８８】
二つのツリー７０２と７０４は同じ数式を表現しているが、二つのツリーのそれぞれの対応するＭａｔｈＭＬ表現７０６または７０８は異なっている。例えば、レイアウト表現ツリー７０２のＭａｔｈＭＬ表現７０６は（Ｘ＋Ｙ）＊を行に編成して、変数の前に除算演算子を表示する。これと比較して、セマンティック演算子ツリー７０４のＭａｔｈＭＬ表現７０８は、セマンティック演算子ツリー７０４が編成される方法に類似している方法で数学公式を編成する。
【００８９】
図７Ｂは、一例としての規格化公式７１０を例示している。この例において、Ｃ×Ｖ＋ＣとＣ＋Ｃ×Ｖは、順序が異なるが同じ公式である。所定の規則が、数学公式に適用されると、数学公式は、必要であれば順序を再配置することで、Ｃ＋Ｃ×Ｖと規格化できる。幾つかの実施の形態においては、図２の類似性モジュール２０８は、演算順序の規則を適用して、数学公式をどのように規格化するかを判定する。
【００９０】
図７Ｃは、一例としての一般化公式７２０を例示している。この例においては、各変数はアスタリスクで置き換えられており、アスタリスクは、任意の変数に対するプレースホルダを表現している。それに加えて、複数の変数がカッコ内でグループとしてまとめられている場合は、変数は、単一のプレースホルダと関連付けて簡略化できる。例えば、第１行の（Ｘ＋Ｙ）は＊として表現できる。
【００９１】
図７Ｄは、異なる関数プログラミング言語における、類似コードの断片７３５および７４０の例７３０を例示している。幾つかの実施の形態においては、ある関数プログラミング言語におけるコードまたは式は、構造を数学公式の一部として含むことができる。結果として、コードまたは式は、類似の構造において表現できる。類似性モジュール２０８は、戻り公式を特定できることに加えて、類似コードの断片も特定できる。この例においては、コードの断片７３５は、リスプ（LISP）関数プログラミング言語で記述され、コードの断片７４０は、ハスケル（Haskell）関数プログラミング言語で記述されている。他の、一例としての関数プログラミング言語としては、アーラン（Erlang）がある。
【００９２】
ＬＩＳＰのコードの断片７３５は、数学公式がポーランド（Polish）表記法で処理される場合の例を含んでいる。例えば、第１行は、関数（lambda(arg)(+arg1)）を確立している。この関数は、それを関数定義に渡すことで呼び出せる。第２行は、関数定義defunの例を含んでいる。第３行は、1、2、3、a、5及び6を追加する追加手順を使用している。
【００９３】
コードの断片７４０のHaskellでの関数コーディングは、タイプクラスのインテグラル（整数）、フラクショナル（小数）、およびフローティング（浮動小数）、およびクラスの各タイプと関連付けられているクラスメソッドを含んでいる。例えば、インテグラルクラスは、quot、rem、div、mod、quotRem、divMod、およびtoIntegerのクラスメソッドを含んでいる。Quotは、整数の除算で、余りは0に切り捨て、remは整数の除算で、余りは、被除数の符号を有しており、divは整数の除算で、余りは、負の無限大に切り捨て、quotRemは、被除数と除数を引数として、（商、余り）のペアを返し、divModは、被除数と除数を引数として、(div,mod)のペアを返す。
【００９４】
図８は、図５の数学公式５０５と類似の、または数学公式５０５と同じである戻り公式８０３Ａ〜８０３Ｃ（以降、まとめて「類似公式８０３」）の例８００を例示している。戻り公式８０３のそれぞれは、対応する教育ウェブサイト８０５Ａ〜８０５Ｃ（以降、まとめて「教育ウェブサイト８０５」）に含むことができる。数学公式５０５は、前記で検討したように、クエリとして選択できる。図６Ａにおいて記述した方法６００のような方法は、戻り公式８０３が数学公式５０５と類似している、または数学公式５０５と同じであると特定するために実行できる。例えば、数学公式５０５と比較して、戻り公式８０３のそれぞれは、区間の存在、および変数に対する、少なくとも幾つかの異なる記号のように、違いの少ない同じ基本レイアウトを含んでいる。
【００９５】
図９は、公式の派生物を特定する方法９００の、一例としてのフロー図を例示している。一般的に、数学公式の派生物は、対応する学習教材（例えば、教育ウェブサイト、教科書など）内で、数学公式に近接している位置で特定できることがよくある。従って、公式の派生物は、下記に、より詳細に記述するように、他の公式の、対応する戻り公式からの距離と、他の公式の、対応する戻り公式との類似性に基づいて特定できる。方法９００は、その全体または一部を、図１の学習者アプリケーション１１１、１２１、図２の装置２００、または他の適切な装置、サーバ、および／またはシステムの一つ以上により実現できる。方法９００は、ブロック９０２において開始できる。
【００９６】
ブロック９０２において、戻り公式の位置が、少なくとも一つの電子文書において特定される。幾つかの実施の形態においては、図２の識別子モジュール２１０は、戻り公式の位置を、図１におけるコンテンツサーバ１１５の対応する一つにより生成および／または管理される少なくとも一つの電子文書において特定する。例えば、戻り公式は、図１のコンテンツサーバ１１５の一つにより管理されている．ｐｄｆ文書において位置を特定できる。
【００９７】
ブロック９０４において、少なくとも一つの電子文書にページが付けられているかどうかが判定される。例えば、図２の識別子モジュール２１０は、少なくとも一つの電子文書にページが付けられているかどうかを判定できる。少なくとも一つの電子文書にページが付けられている場合は（ブロック９０４において「ＹＥＳ」）、ブロック９０８において、現在の境界を、少なくとも一つの電子文書の現在のページに基づいて、戻り公式の周りに設定でき、ここにおいて、現在のページとは、戻り公式を含んでいる、少なくとも一つの電子文書のページのことである。幾つかの実施の形態においては、図２の識別子モジュール２１０は、現在のページに基づいて現在の境界を設定できる。例えば、戻り公式が現在のページの最初に位置している場合は、識別子モジュール２１０は、前のページのすべてまたは一部を現在の境界の一部として含むことができ、および／または現在のページのすべてまたは一部を含むことができる。戻り公式が、少なくとも一つのページ境界で分割されている公式の一連の連続する、または実質的に連続する行に含まれている場合は、現在の境界を、公式の一連の連続する、または実質的に連続する行のすべてを含むために複数のページをカバーするように拡張できる。幾つかの実施の形態においては、一連の連続する、または実質的に連続する公式の閾値量を、現在の境界内に含むことができる。ブロック９０８には、下記に検討するブロック９１０が続くことができる。
【００９８】
幾つかの実施の形態においては、少なくとも一つの教育ウェブサイトにページが付けられていない場合は（ブロック９０４において「ＮＯ」）、ブロック９０６において、上方境界と下方境界を設定して、戻り公式の周りに現在の境界を設定できる。幾つかの実施の形態においては、現在の境界は、上方境界と下方境界を含み、上方境界は、下方境界よりも長い、設定された距離である。例えば、上方境界を１０行、１５行、または他の数の行だけ戻り公式の上方に設定でき、下方境界を、５行、７行、または他の数の行だけ戻り公式の下方に設定できる。代替的または追加的に、戻り公式が、公式の一連の連続する、または実質的に連続する行において、ページが付けられていない教育ウェブサイト内に含まれている場合は、上方および下方境界を、公式の一連の連続する、または実質的に連続する行の最初および／または最後を含むために、十分な行数だけ拡張できる。ブロック９０６にはブロック９１０を続くことができる。
【００９９】
ブロック９１０において、少なくとも一つの教育ウェブサイトにおける現在の境界内の他の公式の位置を特定できる。例えば、図２の識別子モジュール２１０は、現在の境界内の他の公式の位置を特定できる。他の公式を教育ウェブサイト全体で検索せずに、他の公式を現在の境界内に位置している公式に制限することにより、処理オーバーヘッドを有利に削減できる。戻り公式が、一連の連続する、または実質的に連続する公式に含まれている場合は、現在の境界内に位置している他の公式は、一連の連続する、または実質的に連続する公式に含まれている戻り公式以外の任意の公式を含むことができる。
【０１００】
ブロック９１２において、他の公式のそれぞれに対して、戻り公式と、他の公式の対応する一つとの間の距離を求めることができる。例えば、図２の識別子モジュール２１０は、他の公式のそれぞれに対して距離を求めることができる。代替的または追加的に、図９には例示されていないが、方法９００は追加的に、他の公式のそれぞれに対して、戻り公式と他の公式の対応する一つとの間の類似性を計算することを含むことができる。ブロック９１４において、戻り公式に関連する、公式の派生物に対するスコアが、他の公式のそれぞれと、戻り公式との間の距離および類似性に基づいて計算できる。幾つかの実施の形態においては、図２の識別子モジュール２１０は、スコアを計算できる。スコアは、クエリにおける戻り公式とフォーマット化公式との間の類似スコアQC_Sと、戻り公式と他の公式のそれぞれとの間の類似スコアCO_Siの両者に基づく、上記に検討したトータルスコアTSを含むことができる。幾つかの実施の形態においては、複数の戻り公式のそれぞれと関連付けられた公式の派生物に対するトータルスコアは、図９の方法９００に従って判定でき、関連する公式の派生物は、それらのトータルスコアに従ってランク付けできる。トータルスコアおよび／またはランキングが高いほど、学習者に、対応する戻り公式の派生物のような、適切な公式の派生物を含む可能性がより高い、それらの関連する公式の派生物を示すことができる。各戻り公式は、選択された数学公式と類似、または選択された数学公式と同じであってよいが、戻り公式の派生物は、学習者により、選択された数学公式の派生物について学習するために調べることができる。
【０１０１】
図１０Ａは、図８の戻り公式８０３の一つの派生物に含まれていると判定された公式１００５の例１０００を例示している。特に、公式１００５は、戻り公式８０３Ａの派生物に含まれていると判定される。戻り公式８０３Ａに関して、公式１００５は、図９の状況において検討された「他の公式」の一つの例である。この例においては、公式１００５は、戻り公式８０３Ａに近い（例えば、戻り公式８０３Ａからの距離が短い）。特に、公式１００５は、戻り公式８０３Ａからの距離が１行である。公式１００５と戻り公式８０３Ａとの間の唯一の違いは、公式１００５が、戻り公式８０３Ａと比較して、余分なｘ変数を含んでいることである。公式１００５と戻り公式８０３Ａとの間の相対的に小さな距離および類似性に少なくとも基づいて、公式１００５は、戻り公式８０３Ａの派生物に含まれると判定できる。
【０１０２】
図１０Ｂは、図８の戻り公式８０３の一つの派生物に含まれると判定された別の公式１０１５の例１０１０を例示している。特に、公式１０１５は、戻り公式８０３Ｂの派生物に含まれると判定できる。戻り公式８０３Ｂに関して、公式１０１５は、図９の状況において検討した「他の公式」の一つの例である。この例においては、公式１０１５は、戻り公式８０３Ｂからの距離が３行である。公式１０１５と戻り公式８０３Ｂとの間の唯一の違いは、公式１０１５におけるp(y|y,θ)が、戻り公式８０３Ｂにおいてはp(y|θ)と短縮されていることである。公式１０１５と戻り公式８０３Ｂとの間の相対的に小さな距離および類似性に少なくとも基づいて、公式１０１５は、戻り公式８０３Ｂの派生物に含まれると判定できる。
【０１０３】
図１０Ｃは、図８の戻り公式８０３の一つの派生物に含まれることを拒絶された公式１０２７の例１０２０を例示している。特に、公式１０２７は、戻り公式８０３Ｃの派生物に含まれないと判定される。戻り公式８０３Ｃに関して、公式１０２７は、図９の状況において検討した「他の公式」の一つの例である。この例においては、公式１０２７は、戻り公式８０３Ｃからの距離が１行である。戻り公式８０３Ｃに対する、公式１０２７の相対的に近い近接性にも拘わらず、図１０Ｃから明白なように、公式１０２７と戻り公式８０３Ｃとの間の類似度は相対的に低い。従って、戻り公式８０３Ｃと公式１０２７との間の差は、公式１０２７が、戻り公式８０３Ｃの派生物に含まれることを拒絶されるのに十分なほど大きい。例えば、公式１０２７および／または、公式１０２７を含み、戻り公式８０３Ｃを囲む現在の境界内の一つ以上の他の公式からの距離およびそれらとの類似性に基づいて、戻り公式８０３Ｃに対して計算されるトータルスコアＴＳ（上記の検討参照）は相対的に低い。
【０１０４】
図１１は、数学公式に関連する関連コンテンツを特定する方法１１００の、一例としてのフロー図を例示している。数学公式は、学習者により選択され、それに対して学習者が、より多くの情報を所望している数学公式を含むことができる。上記の検討と類似して、数学公式を、下記に続く検討において都合のよいように、「選択された数学公式」と称することができる。代替的または追加的に、方法１１００は、図４の方法４００のような、任意の適切な方法に従って、選択された数学公式に対して生成できるフォーマット化公式を含むことができる。方法１１００は、その全体または一部を、図１の学習者アプリケーション１１１、１２１、図２の装置２００、または他の適切な装置、サーバ、および／またはシステムの一つ以上により実現できる。方法１１００は、ブロック１１０２において開始できる。
【０１０５】
ブロック１１０２において、類似スコア閾値を設定できる。図２の識別子モジュール２１０は、類似スコア閾値を設定できる。代替的または追加的に、類似スコア閾値はデフォルト値に設定でき、学習者の入力に基づいて設定でき、および／または機械学習に基づいて設定できる。
【０１０６】
ブロック１１０４において、フォーマット化公式と類似の、またはフォーマット化公式と同じであり、類似スコア閾値を超える類似性スコアを有し、類似公式を含む戻り公式を特定でき、戻り公式のそれぞれは、対応する電子文書において出現する。幾つかの実施の形態においては、図２の識別子モジュール２１０は戻り公式を特定し、戻り公式のそれぞれは、図２におけるコンテンツサーバ１１５の少なくとも一つにより生成された、対応する電子文書において出現する。
【０１０７】
ブロック１１０６において、対応する電子文書における戻り公式のそれぞれに対して現在の境界を設定できる。図２における識別子モジュール２１０は、現在の境界を設定できる。現在の境界は、例えば、図９に関して記述したように、戻り公式のそれぞれに対して設定できる。ブロック１１０８において、戻り公式のそれぞれに対して、対応する電子文書の現在の境界内においてテキストを検索できる。テキストは、戻り公式の対応する一つを記述することを支援できる知識ポイントまたは専門用語を含むことができる。図２の識別子モジュール２１０は、テキストを検索できる。
【０１０８】
ブロック１１１０において、セクションタイトルの一部、または強調されている、検索されたテキストに含まれる各語句の重みを調整できる。例えば、セクションタイトルの一部である語句、または強調されている語句は、戻り公式に関連する知識ポイントまたは専門用語である可能性が高い。代替的または追加的に、識別子モジュール２１０は、セクションタイトルの一部、または強調されている、検索されたテキストに含まれている各語句の重みを調整できる。
【０１０９】
ブロック１１１２において、調整された重みで検索されたテキストからの繰り返されるｎ−ｇｒａｍパターンを抽出できる。図２の識別子モジュール２１０は、繰り返されるｎ−ｇｒａｍパターンを抽出できる。ストップ語句を、管理者により、または通常容認されているストップ語句のリストに基づいて定義できる。ブロック１１１４において、ストップ語句をｎ−ｇｒａｍパターンから除去できる。例えば、図２の識別子モジュール２１０は、ｎ−ｇｒａｍパターンからストップ語句を除去できる。ブロック１１１６において、閾値頻度を有するｎ−ｇｒａｍパターンを、除去処理されたｎ−ｇｒａｍパターンから抽出できる。幾つかの実施の形態においては、図２の識別子モジュール２１０は、閾値頻度を有するｎ−ｇｒａｍパターンを抽出できる。
【０１１０】
図１２は、関連コンテンツの例のイラスト１２００である。例えば、図２の識別子モジュール２１０および／または他のモジュールは、教育ウェブサイト８０５における戻り公式８０３を特定でき、または、図１１の方法１１００を実行して、学習者が関心を持つ、選択された数学公式に関連付けることができる戻り公式８０３に関連する知識ポイントまたは専門用語を特定できる。図１２のイラスト１２００においては、識別子モジュール２１０は、「事後予測分布」が、戻り公式に関連する専門用語１２００であることを、少なくとも、専門用語１２００がｎ−ｇｒａｍパターンの一部であり、また、ページのうちの一つのページではタイトル中に存在していることに基づいて特定できる。
【０１１１】
ここにおいて記述された実施の形態は、下記に、より詳細に検討されるように、種々のコンピュータハードウェアまたはソフトウェアモジュールを含む特定用途または汎用コンピュータの使用を含むことができる。
【０１１２】
ここにおいて記述された実施の形態は、記憶されているコンピュータ実行可能命令またはデータ構造を保持または有するコンピュータ読み取り可能媒体を使用することにより実現できる。そのようなコンピュータ読み取り可能媒体は、汎用または特定用途コンピュータによりアクセスできる任意の利用可能な媒体であってよい。一例としては、そのようなコンピュータ読み取り可能媒体は、ランダムアクセスメモリ（Random Access Memory:RAM）、リードオンリメモリ（Read-Only Memory:ROM）、電気的消去可能型プログラマブルリードオンリメモリ（Electrically Erasable Programmable Read-Only Memory:EEPROM）、コンパクトディスクリードオンリメモリ（Compact Disc Read-Only Memory:CD-ROM）または他の光ディスクストレージ、磁気ディスクストレージまたは他の磁気記憶装置、フラッシュメモリ装置（例えば、固定回路記憶装置）、または、コンピュータ実行可能命令またはデータ構造の形式の所望のプログラムコードを保持または記憶するために使用でき、汎用または特定用途コンピュータによりアクセスできる任意の他の記憶媒体を含んでいる実体的コンピュータ読み取り可能記憶媒体を含むことができる。上記の組合せもまたコンピュータ読み取り可能媒体の範囲内に含めることができる。
【０１１３】
コンピュータ実行可能命令は、例えば、汎用コンピュータ、特定用途コンピュータ、または特定用途処理装置（例えば、一つ以上のプロセッサ）に、ある機能または機能群を行わせる命令およびデータを含むことができる。主題を、構造的特徴および／または方法論的動作に関して特定の言語において記述してきたが、付随する請求項において定義される主題は、上記に記述した特定の特徴または動作に必ずしも制限されないということは理解されるべきである。上記に記述した特定の特徴および動作は、請求項を実現する、一例としての形式として開示されている。
【０１１４】
ここにおいて使用されているように、「モジュール」または「構成要素」という用語は、モジュールまたは構成要素の動作、および／または、コンピューティングシステムの汎用ハードウェア（例えば、コンピュータ読み取り可能媒体、処理装置など）上に記憶でき、および／または、それにより実行できるソフトウェアオブジェクトまたはソフトウェアルーチンを行うように構成されている特定のハードウェア実現形態のことを指すことができる。幾つかの実施の形態においては、ここにおいて記述されている異なる構成要素、モジュール、エンジン、およびサービスは、コンピューティングシステム上で実行される（例えば、別個のスレッドのような）オブジェクトまたはプロセスとして実現できる。ここにおいて記述されるシステムおよび方法の幾つかは、全体的に、ソフトウェア（汎用ハードウェア上に記憶され、および／または、それにより実行される）において実現されるものとして記述されたが、特定のハードウェアインプレメンテーションまたはソフトウェアと特定のハードウェアインプレメンテーションの組合せもまた可能であり、想定される。本記述においては、「コンピューティングエンティティ」は、ここにおいて以前に定義したような任意のコンピューティングシステムであってよく、またはコンピューティングシステム上で動作する任意のモジュールまたはモジュールの組み合せであってよい。
【０１１５】
ここにおいて詳説されたすべての例および条件付き言語は、教示的な目的を意図したものであり、発明者により技術を促進するために貢献された本発明および概念を読者が理解することを支援するものであり、そのような特定の詳説された例および条件に制限されるものではないと解釈されるべきである。本発明の実施の形態を詳細に記述したが、本発明の精神および範囲から逸脱することなく、種々の変化、置換、および変更を、それらに対して行うことができるということは理解されるべきである。
【図１】
2016206675.tif 000003
【図２】
2016206675.tif 000004
【図３】
2016206675.tif 000005
【図４】
2016206675.tif 000006
【図５】
2016206675.tif 000007
【図６Ａ】
2016206675.tif 000008
【図６Ｂ】
2016206675.tif 000009
【図７Ａ】
2016206675.tif 000010
【図７Ｂ】
2016206675.tif 000011
【図７Ｃ】
2016206675.tif 000012
【図７Ｄ】
2016206675.tif 000013
【図８】
2016206675.tif 000014
【図９】
2016206675.tif 000015
【図１１】
2016206675.tif 000016
【図１２】
2016206675.tif 000017
【図１０Ａ】
2016206675.tif 000018
【図１０Ｂ】
2016206675.tif 000019
【図１０Ｃ】
2016206675.tif 000020