ここで議論されるある実施形態は、インフォーマル学習のための学習教材を収集すること及び/又はインフォーマル学習システムへ追加されたアイテムに基づいた自動抽出規則(規則)の生成に関係する。規則は、システムをソースへ案内する。本明細書では、ソースは、適切なインデックスページ(index page)として参照される。規則は、学習サーバ又は学習システムが、その後適切なインデックスページから学習教材を取り込むことを許容し得る。ある実施形態では、学習教材を取り込むことは、抽出頻度に従って定期的に実行され得る。抽出頻度は、複数の学習者の学習活動並びに規則及び関連する抽出規則(関連規則)の彼らの使用の解析に基づいて、決定され得る。
例示の実施形態は、インフォーマル学習のための学習教材を収集する方法を含む。方法は、例えば、学習者が、キュレーションへのアイテムとして、ウェブページ(ページ)をブックマークすること又はページを追加するという、キュレーションへのアイテムの追加を検出することを含み得る。アイテムによって参照されるページに含まれるリンクが抽出され、リンクに対応するページがダウンロードされ得る。ダウンロードされたページがアイテムによって参照されるページへ指し返すリンクを含むか否かに基づいて、ダウンロードされたページがフィルタリングされ得る。フィルタリングされたページは、候補インデックスページとなり得る。方法は、また、候補インデックスページから適切なインデックスページを特定することを含み得る。方法は、更に、適切なインデックスページ内にプライマリ情報ブロックを見つけることを含み得る。方法は、また、システムを適切なインデックスページのプライマリ情報ブロックへ案内するように構成された規則を生成することを含み得る。本実施形態及び他の実施形態は、添付の図面を参照して説明される。
図1は、一例のインフォーマル学習システム(学習システム)100を含む例示の動作環境50のブロック図である。学習システム100は、学習教材のソースが動作環境50内に特定され得るように構成され得る。次に、学習教材は、ソースから収集されて、インフォーマル学習に対して利用可能となされ得る。学習教材のソース又は潜在的ソースは、本明細書ではインデックスページと称される。
図示の実施形態では、動作環境50は、二人の学習者102A及び102B(一般に、一人の学習者102又は複数の学習者102)を含み得る。学習者102は、学習システム100とインターフェース(interface:相互作用、入出)する学生のような個人又はエンティティ(entity:実体)を含み得る。学習者102は、装置104A及び104B(一般に、1つの装置104又は複数の装置104)と関係し得る。装置104、第三者サーバ114及び学習サーバ108は、ネットワーク140を介して通信し得る。例えば、装置104、第三者サーバ114及び学習サーバ108は、ネットワーク140を介して、学習教材を通信し得る。
また、図1の学習システム100では、学習サーバ108は、学習モジュール110を含み得る。学習モジュール110は、インフォーマル学習のための学習教材を収集するように構成され得る。具体的には、ある実施形態では、学習モジュール110は、ネットワーク140を介して、装置104、学習サーバ108及び第三者サーバ114の間で、学習教材及び/又は学習教材に関連する情報の通信を可能にし得る。
ネットワーク140は、有線又は無線であり得えて、制限されないが、スター構成、トークンリング構成又は他の構成を含む多くの異なる構成を有し得る。更に、ネットワーク140は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)(例えばインターネット)、及び/又は、複数の装置が通信可能な他の相互接続する横断するデータ経路を含み得る。ある実施形態では、ネットワーク140は、ピアツーピアネットワークであり得る。ネットワーク140は、また、様々な異なる通信プロトコルのデータの通信を可能とする電話通信ネットワークの一部と接続するか又は含んでいても良い。
ある実施形態では、ネットワーク140は、ショートメッセージサービス(SMS)、マルチメディアメッセージサービス(MMS)、ハイパーテキストトランスファプロトコル(HTTP)、ダイレクトデータコネクション、無線アプリケーションプロトコル(WAP)、Eメール等を介することを含む、データを送信及び受信するための、ブルートゥース(登録商標)通信ネットワーク及び/又は携帯通信ネットワークを含む。
第三者サーバ114は、プロセッサ、メモリ及び通信能力を含むハードウェアサーバを有し得る。図示の実施形態では、第三者サーバ114は、ネットワーク140に接続されて、装置104及び/又は学習サーバ108との間でネットワーク140を介して情報及びデータを送信及び受信し得る。
第三者サーバ114は、ネットワーク140を介してアクセス可能であるウェブサイト126をホスト(host)するように構成され得る。具体的には、ある実施形態では、第三者サーバ114は、学習者102が、装置104及び/又は学習モジュール110を用いる学習サーバ108を用いて、ウェブサイト126にアクセスすることを許容し得る。学習者102、装置104及び学習サーバ108は、ネットワーク140を介して、それに応じて、ウェブサイト126とアクセス及び/又はインターフェースし得る。
特に、ウェブサイト126は、1つ又は複数のページ116を含み得る。それぞれのページ116は、第1装置104Aを用いて、第1学習者102Aによってアクセスされ得る。第1装置104A、第2装置104B、学習サーバ108の学習モジュール110又はこれらの内の組み合わせは、また、ウェブサイト126に含まれる他のページ116と共に、第1学習者102Aによってアクセスされるページ116のそれぞれを含むウェブサイト126にアクセスし得る。
本明細書で使用されているように、ページ116の内の所与の1つにアクセスすることは、制限されないが、ページ116をシステムレポジトリ(repository:収納場所)112又はパーソナルレポジトリ118(図1において112/118として一緒に示す)へ複製すること、ページ116をキュレーションへ追加すること、ページ116を学習システム100にブックマークすること、ページ116のユニフォームリソースロケータ(URL)の構造の解析を実行すること、ページ116のページ構造の解析を実行すること、ページ116の内容一貫性(content coherence)の解析を実行すること、又はこれらの内の組み合わせを含み得る。
装置104は、プロセッサ、メモリ及びネットワーク通信能力を含む計算装置を有し得る。例えば、各装置104は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、携帯電話、パーソナルデジタルアシスタント(PDA)、携帯Eメール装置、携帯ゲーム機、携帯音楽プレーヤ、1つ又は複数のプロセッサが内蔵又は結合されたテレビ、又は、ネットワーク140へアクセス可能な他の電子装置を含み得る。
装置104は、学習者102と相互作用を可能にするように構成され得る。例えば、装置104は、学習者102がキュレーションを作成及び修正することを許容する学習モジュール110によって、ブラウザにおいて、ユーザインターフェースを提供するように構成され得る。本実施形態及び他の実施形態では、装置104は、ユーザインターフェースを提供し得る。ある実施形態では、装置は、ユーザインターフェース及び/又は装置104による1つ又は複数の機能を提供するインストールされたプログラム(例えば、シンクライアントプログラム)を含み得る。
キュレーションは、学習者102が結合される及び/又は組織化される、所定の主題と関連し得る学習教材のセットを含み得る。例えば、キュレーションは、特定のトピックスと関連する様々なソースから複数のページ(例えば、ページ116)を参照するアイテムを含み得る。ある実施形態では、装置104は、学習者102が学習モジュール110を介してアイテムをキュレーションへ追加することを可能にし得る。アイテムは、学習教材、テキスト文書、イメージ、ビデオ、記事、一連の記事、記事の一部、グラフィックス又は任意の形式の他のデジタル情報を含み得る。
例えば、装置104は、学習者102がネットワーク140を介してウェブサイト126のページ116にアクセスすることを可能にし得る。そして、学習者102は、ページ116をキュレーションへ追加し、及び/又はページ116へのブックマークをキュレーションへ追加し得る。アイテムの追加を示す信号が、学習サーバ108の学習モジュール110へ通信され得る。追加して又は代わりに、学習モジュール110は、アイテムの追加を検出し得る。
学習モジュール110は、また、アイテムがキュレーションへ追加された日付け/時間を追跡するように構成され得る。例えば、第1学習者102Aがウェブサイト126からのページを追加する度に、学習モジュール110は、追加の日付け/時間を記録するか、さもなくば追跡し得る。追加して又は代わりに、装置104は、追加の日付け/時間を記録するか、さもなくば追跡し得る。追加して又は代わりに、装置104は、日付け/時間の情報を、学習サーバ108の学習モジュール110へ通信し得る。追加して又は代わりに、装置104は、学習サーバ108の学習モジュール110がアイテムの追加の日付け/時間を追跡することを可能にするように構成され得る。
パーソナルレポジトリ118は、学習者102によって作成されたキュレーション、キュレーションに含まれるアイテム及び/又は学習教材を格納し得る。ある実施形態では、パーソナルレポジトリ118は、少なくともシステムレポジトリ112内の一部に存在し得る。例えば、システムレポジトリ112は、パーソナルレポジトリ118であり得る、1つ又は複数の学習者102に対して指定された部分を含み得る。追加して又は代わりに、パーソナルレポジトリ118又はその一部は、装置104上に位置付けられ得る。
学習サーバ108は、プロセッサ、メモリ及びネットワーク通信能力を含むハードウェアサーバを有し得る。図示の実施形態では、学習サーバ108は、ネットワーク140に接続されて、装置104及び/又は第三者サーバ114との間でネットワーク140を介してデータを送信及び受信し得る。学習サーバ108は、学習モジュール110を含み得る。学習モジュール110は、装置104及び/又は第三者サーバ114と相互作用して、学習システム100におけるインフォーマル学習のための学習教材を収集するように構成され得る。
ある実施形態では、一人又は両方の学習者102がアイテムをキュレーションへ追加し得る。例えば、第1学習者102Aは、第1装置104Aを使用して1つのページ116をキュレーションへ追加し得る。追加して又は代わりに、第1学習者102Aは、第1装置104Aを使用して1つのページ116をキュレーションへブックマークし得る。学習モジュール110は、キュレーションへのアイテムの追加を検出し得る。ある実施形態では、学習サーバ108の学習モジュール110は、ネットワーク140を介して、アイテムの追加を検出し得る。追加して又は代わりに、装置104は、アイテムの追加を検出して、学習モジュール110へのアイテムの追加を示す信号を通信し得る。
そして、学習モジュール110は、アイテムによって参照されるページに含まれる1つ又は複数のリンクを抽出し得る。ある実施形態では、学習モジュールは、ページに含まれる全てのリンクを抽出し得る。リンクは、ページ116のようなページと対応するか又はページへの経路を含み得る。いくつかのリンクは、アイテムによって参照されるページへ指し返すページに対応し得る。いくつかのリンクは、アイテムによって参照されるページへ指し返さないページに対応し得る。
例えば、第三者サーバ114のウェブサイト126は、ツリー構造に少なくとも部分的に組織されるページ116を含み得る。キュレーションに追加され得るページ116は、ツリー構造における葉ノードと称され得る。ページに含まれるリンクは、ツリー構造における兄弟ノード、ツリー構造における親ノード又はツリー構造における子ノードであるページ116に対応し得る。ツリー構造におけるノードであるページ116は、一般に、アイテムであり得るページ116を参照する。また、リンクは、他のウェブサイトへのパス及び/又はウェブサイトに含まれる他のページへのパスを含み得る。他のウェブサイトからの他のページは、アイテムによって参照されるページへ指し返さないだろう。
学習モジュール110は、リンクに対応するページをダウンロードし得る。例えば、学習モジュール110は、ネットワーク140を介して、リンクに対応するページ116にアクセスし得る。そして、学習モジュール110は、ウェブサイト126からページ116をダウンロードし得る。そして、学習モジュール110は、候補インデックスページを生成するべく、ダウンロードされたページをフィルタリングし得る。具体的には、ある実施形態では、学習モジュール110は、アイテムによって参照されるページへ指し返すリンクを含まないダウンロードされたページを除外し得る。
学習モジュール110は、候補インデックスページから適切なインデックスページを特定し得る。また、学習モジュール110は、適切なインデックスページ及び/又は候補インデックスページ(まとめてインデックスページ)内にプライマリ情報ブロックを見つけ得る。適切なインデックスページは、学習モジュール110によって後にアクセスされて、適切に収集され得る他の学習教材を見つけ得るページを含み得る。プライマリ情報ブロックは、大部分の実質的な情報が含まれるインデックスページの一部を含み得る。一般に、プライマリ情報ブロックは、ページの中央部分を含み、及び/又は、1つ又は複数の他のページへのリンクのリストを含み得る。対照的に、サイド情報ブロックは、二次的な部分の実質的な情報が含まれるインデックスページの一部を含み得る。一般に、サイド情報ブロックは、ページのサイド部分を含み、及び/又は、1つ又は複数の他のページへのリンクのリストを含み得る。学習モジュール110が適切なインデックスページを後に訪れる時、学習モジュール110は、プライマリ情報ブロックから学習教材を取り出し得る。ある実施形態では、インデックスページ内にプライマリ情報ブロックを見つけることは、適切なインデックスページを特定することに含まれ得る。
プライマリ情報ブロックを見つけること及び/又は少なくとも部分的に適切なインデックスページを特定するために、学習モジュール110は、1つ又は複数の候補インデックスページのページ構造の解析を実行し得る。候補インデックスページのページ構造の解析は、候補インデックスページの内容の位置及びレイアウトの解析を含み得る。具体的には、本実施形態及び他の実施形態では、ページ構造の解析は、学習モジュール110が、アイテムによって参照されるページへ指し返すリンクの位置を検出することを含み得る。
例えば、プライマリ情報ブロックは、一般に、ページ116の中央の位置にあり得る。従って、学習モジュール110は、候補インデックスページのプライマリ情報ブロックを、候補インデックスページの中央の部分として、見つけ得る。そして、学習モジュール110は、アイテムによって参照されるページへ指し返すリンクがプライマリ情報ブロック内に位置するか否かを決定する。ある実施形態では、プライマリ情報ブロック内のアイテムによって参照されるページへ指し返すリンクを有する候補インデックスページが、適切なインデックスページのより良い候補であり得る。
追加して又は代わりに、学習モジュール110は、URL構造の解析を実行して、適切なインデックスページを特定又は少なくとも部分的に特定し得る。ある実施形態では、学習モジュール110は、1つ又は複数の候補インデックスページのURL構造を比較して、候補インデックスページの深さを決定し得る。一般に、ツリー構造を有するウェブサイト126を参照すると、URL構造は、ツリー構造に含まれるページ116の深さの表示であり得る。例えば、短いURLが、ツリー構造の浅い又は高い葉節(又は根節)を示し得ると同時に、長いURLは、ツリー構造の深い又は低い葉節を示し得る。従って、長いURLは、より特定の主題の兆候であり得えて、より良い適切なインデックスページの特徴であり得る。
追加して又は代わりに、学習モジュール110は、内容一貫性の解析を実行して、適切な候補インデックスページを特定するか、又は、少なくとも部分的に特定する。内容一貫性の解析は、プライマリ情報ブロックの内容の類似性を調べるべく、テキストの類似性の解析を含み得る。より類似している内容又はより近い関係の内容を含むプライマリ情報ブロックは、より良い適切なインデックスページの兆候であり得る。
本実施形態及び他の実施形態では、学習モジュール110は、1つ又は複数の処理を実行して、適切なインデックスページを特定し得る。ある実施形態では、プライマリ情報ブロック内のアイテムによって参照されるページへ指し返すリンクを含む第1候補インデックスページ及びサイド情報ブロック内のアイテムによって参照されるページへ指し返すリンクを含む第2候補インデックスページという2つの候補インデックスページがある場合、学習モジュール110は、第1候補インデックスページを、適切なインデックスページとして特定し得る。ある実施形態では、学習モジュール110は、ページ構造の解析、URL構造の解析及び内容一貫性の解析を実行し得る。例えば、学習モジュール110は、候補インデックスページ内のアイテムによって参照されるページへ指し返すリンクを含む情報ブロックを検出し得る。そして、学習モジュール110は、ページ構造の解析に基づいて、1つ又は複数の候補インデックスページ内にプライマリ情報ブロックを見つけ得る。プライマリ情報ブロック内のアイテムによって参照されるページへ指し返すリンクを含む複数の候補インデックスページに対して、学習モジュール110は、URL構造を比較する。そして、学習モジュール110は、2つ以上の候補インデックスページのURL構造が、他の候補インデックスページのURL構造よりも深い(大きい)、同じ深さを有しているか否かを決定し得る。2つ以上の候補インデックスページのURL構造が、他の候補インデックスページのURL構造よりも深い、同じ深さを有していない結果に応えて、学習モジュール110は、URL深さに基づいて、適切なインデックスページを特定し得る。例えば、最大の深さのURLを有する候補インデックスページが、適切なインデックスページとして特定され得る。
2つ以上の候補インデックスページのURL構造が、他の候補インデックスページのURL構造よりも深い、同じ深さを有している結果に応えて、学習モジュール110は、同じ深さのURL構造を有する複数の候補インデックスページのプライマリ情報ブロックの内容一貫性を測定し得る。そして、学習モジュール110は、適切なインデックスページを、最大の内容一貫性を有する候補インデックスページとして特定し得る。
また、ある実施形態では、学習モジュール110は、1つ又は複数の候補インデックスページに対して、ページ構造のスコア、URLスコア及び一貫性スコアを測定し得る。
ページ構造のスコアは、ページ構造の解析に基づき得る。例えば、プライマリ情報ブロック内のアイテムによって参照されるページへ指し返すリンクを含む候補インデックスページは、1のページ構造のスコアを受け取り得る。サイド情報ブロック内のアイテムによって参照されるページへ指し返すリンクを含む候補インデックスページは、例えば、0.33又は0.5のページ構造のスコアを受け取り得る。アイテムによって参照されるページへ指し返すリンクを含まない候補インデックスページは、ゼロのページ構造のスコアを受けとるか、又は、ページ構造の解析の前にフィルタリングされ得る。
URLスコアは、URL構造の解析に基づき得る。ある実施形態では、最大の深さのURL構造を有する候補インデックスページは、1のURLスコアを受け取り、他の候補インデックスページは、最大の深さのURL構造におけるURL部分の数に関して、他の候補インデックスページのURL構造それぞれのURL部分の比と等しいURLスコアを受け取り得る。例えば、候補インデックスページは、最大の深さのURLを含み得る。最大の深さのURLは、ドメインネーム、ディレクトリ、サブディレクトリ及びファイルネームという4つのURL部分を含み得る。最大の深さのURLを有する候補インデックスページは、1のURLスコアを受け取り得る。1つ又は複数の他の候補インデックスページは、2番目の最大の深さのURLを含み得る。2番目の最大の深さのURLは、ドメインネーム、ディレクトリ及びサブディレクトリという3つのURL部分を含み得る。2番目の最大の深さのURLを有する1つ又は複数の他の候補インデックスページは、0.75のURLスコア(例えば、3つのURL部分/4つのURL部分)を受け取り得る。1つ又は複数の他の候補インデックスページは、3番目の最大の深さのURLを有し得る。3番目の最大の深さのURLは、ドメインネーム及びディレクトリという2つのURL部分を含み得る。3番目の最大の深さのURLを有する1つ又は複数の候補インデックスページは、0.5のURLスコア(例えば、2つのURL部分/4つのURL部分)を受け取り得る。
内容一貫性スコアは、候補インデックスページの内容一貫性の解析に基づき得る。ある実施形態では、内容一貫性の解析は、アイテムによって参照されるページへ指し返すリンクが位置づけられるプライマリ情報ブロック及び/又はサイド情報ブロックのベクトル空間モデル(vector space model:VSM)に基づき得る、テキストの類似性の平均のスコアを含み得る。ある実施形態では、テキストの類似性は、プライマリ情報ブロック及び/又はサイド情報ブロックに含まれるリンクと関連するテキストの間で決定され得る。本実施形態及び他の実施形態では、候補インデックスページの内容一貫性のスコアは、0と1との間の値を含み得る。
学習モジュール110は、ページ構造のスコア、URLスコア及び内容一貫性のスコアのそれぞれに対して、重みを割り当て得る。ある実施形態では、重みは、1の値を加え得る。例えば、ページ構造のスコアに割り当てられる第1重みは0.35であり、URLスコアに割り当てられる第2重みは0.15であり、内容一貫性のスコアに割り当てられる第3重みは0.5であり得る。追加して又は代わりに、重みは、適当な機械学習技術によって、決定されるか及び/又は最適化され得る。
学習モジュール110は、1つ又は複数の候補インデックスページに対するトータルスコアを計算し得る。トータルスコアは、1つ又は複数の候補インデックスページに対して、ページ構造のスコア、URLスコア及び内容一貫性のスコアそれぞれと、割り当てられた重みとの積の線形和に基づいて、計算され得る。例えば、第1候補インデックスページに対して第1ページ構造のスコアは、0.5が生成され、第1候補インデックスページに対して、第1URLスコアは、0.8が生成され、第1候補インデックスページに対して、第1内容一貫性スコアは、0.866が生成され得る。ページ構造のスコアに対して割り当てられる重みは0.35であり、URLスコアに対して割り当てられる重みは0.25であり、内容一貫性スコアに対して割り当てられる重みは0.4であり得る。従って、第1候補インデックスページに対するトータルスコアは、0.7214(0.5*0.35+0.8*0.25+0.866*0.4)であり得る。学習モジュール110は、トータルスコアに基づいて、適切なインデックスページを特定し得る。
学習モジュール110は、規則を生成し得る。規則は、学習システム100又はその内の学習サーバ108又は1つ又は複数の装置104のような構成要素を、適切なインデックスページのプライマリ情報ブロックへ案内するように構成され得る。学習システム100又はその内の構成要素は、適切なインデックスページのプライマリ情報ブロックから学習教材を取り出し得る。例えば、規則が生成された後、第1装置104Aは、規則を用いて、適切なインデックスページのプライマリ情報ブロックから学習教材を取り出し得る。ある実施形態では、規則は、適切なインデックスページのURL及びプライマリ情報ブロックに含まれる1つ又は複数のURLの誘導されたXPathを含み得る。
そして、学習モジュール110は、学習教材を、パーソナルレポジトリ118及び/又はシステムレポジトリ112内へ置き得る。例えば、第1学習者102Aは、学習教材を、キュレーションへの新しいアイテムとして、追加し得る。そして、学習モジュール110は、上述した処理に従って、新しいアイテムに基づいて、他の規則を生成し得る。そして、学習モジュール110は、規則を使用して、ネットワーク140を介して、適切なインデックスページのプライマリ情報ブロックを後に訪れ、そこから学習教材を取り出し、第1パーソナルレポジトリ118A内に学習教材を置き得る。
本実施形態及び他の実施形態では、学習モジュール110は、学習教材が適切なインデックスページのプライマリ情報ブロックから自動的に取り出され得る抽出頻度を決定し得る。抽出頻度は、一人又は複数の学習者102の学習活動に基づき得る。例えば、学習モジュール110は、学習システム100とインターフェースする学習者102の学習活動に沿った規則を解析し得る。解析された学習活動に基づいて、学習モジュール110は、抽出頻度を決定し得る。そして、学習モジュール110は、抽出頻度において、適切なインデックスページから学習教材を取り出し、適切なインデックスページからの学習教材を、1つ又は複数のパーソナルレポジトリ118及び/又はシステムレポジトリ112内に置き得る。
例えば、ウェブサイト126は、著者が特定の主題に関する毎月の記事を発表するデジタル誌を含み得る。一人又は複数の学習者102は、毎月ウェブサイト126を訪れて、記事を彼らのキュレーションへ追加し得る。学習モジュール110は、記事に基づいて規則を生成し得る。規則は、例えばデジタル誌のプライマリ情報ブロックを含み得る、適切なインデックスページを示し得る。更に、学習モジュールは、学習活動(例えば、記事の毎月の追加)を解析して、一ヶ月の抽出頻度を決定し得る。そして、学習モジュール110は、毎月ウェブサイト126から記事を取り出して、記事を、1つ又は複数のパーソナルレポジトリ118及び/又はシステムレポジトリ112内に置き得る。
学習活動及び/又は規則の解析は、少なくとも部分的に、規則が生成される度に生じ得る。例えば、学習モジュール110は、規則を受け取り得る。そして、学習モジュール110は、規則を記録し得る。例えば、規則は、それが生成されたアイテムと共に及び/又は複数の学習者102からの関連する規則と共に記録され得る。関連する規則は、同じ規則か、又は、関連するか、又は、十分に類似の規則であり得る。例えば、関連する規則は、同じURL及び同じXPathを有する規則、同じドメインネーム、サブディレクトリ又はファイルネーム及び/又は類似のXPathを有するURLを含む規則であり得る。
学習モジュール110は、規則がログ(log:記録)120内に存在するか否かを決定し得る。図1のログ120は、学習サーバ108内に示されている。他の実施形態では、ログ120は、1つ又は複数の装置104又はネットワーク140を介してアクセス可能な他の場所に位置付けられ得る。規則がログ120内に存在しない結果に応えて、学習モジュール110は、学習活動及び/又は規則の解析を停止し得る。本実施形態及び他の実施形態では、規則が一度のみしか生成されておらず、抽出頻度の決定及びそれに基づく学習教材の後続する取り出しには不十分であるので、学習モジュール110は、解析を停止し得る。
規則がログ120内に存在する結果に応えて、学習モジュール110は、規則及び関連する規則の適用が所定の閾値よりも大きいか否かを決定し得る。規則及び関連する規則の適用が所定の閾値よりも小さい結果に応えて、学習モジュール110は、解析を停止し得る。規則及び関連する規則の適用が所定の閾値よりも大きい結果に応えて、学習モジュール110は、そこから規則及び/又は関連する規則が生成されたアイテムに関係する日付け/時間の情報を解析するここで、日付け/時間の情報は、日付け/時間の分布と称される。少なくとも日付け/時間の分布に部分的に基づいて、学習モジュール110は、抽出頻度を決定し得る。
例えば、所定の閾値は、3に設定され得る。規則及び関連する規則の適用が3よりも大きい時、学習モジュール110は、十分な数の学習者102が、適切なインデックスページ又は十分に類似する適切なインデックスページからアイテムを追加して、そこから学習教材を取り出すことを正当化することを決定し得る。そして、学習モジュール110は、アイテムがキュレーションへ追加されている時を解析し得る。学習モジュール110は、アイテムがキュレーションへ追加されている時に基づいて、抽出頻度を決定し得る。また、抽出頻度の決定及びそれに基づいた学習教材の後続の取り出しを正当化するのに、規則が十分には使用されていない時、学習モジュール110は、解析を停止し得る。
修正、追加又は省力は、本開示を逸脱しない範囲で、動作環境50及び/又は学習システム100になされ得る。具体的には、図1に示される動作環境50の実施形態は、二人の学習者102、ウェブサイト126をホストする1つの第三者サーバ114、及び、2つの装置104及び1つの学習サーバ108を含む学習システム100を有する。しかし、本開示は、より一般に、一人又は複数の学習者102、1つ又は複数のウェブサイト126をホストする1つ又は複数の第三者サーバ114、及び1つ又は複数の装置104及び1つ又は複数の学習サーバ108を含む学習システム100、又はこれらの内の組み合わせを含む動作環境50に適用される。
更に、本明細書に説明される実施形態内の様々な構成要素の分離は、分離が全ての実施形態において生じることを示すことを意味するものではない。また、本開示の利益と共に、説明された複数の構成要素が1つの構成要素内に集積されるか又は複数の構成要素に分離され得ることを理解されたい。
学習モジュール110は、適切なインデックスページを特定し且つ規則を生成するためのコード(code)及びルーチン(routine:決められた動作)を含み得る。ある実施形態では、学習モジュール110は、装置104のような計算装置上に格納され得るシンクライアントアプリケーションとして、部分的に働き、また、例えば、学習サーバ108上に格納され得る構成要素として部分的に働く。ある実施形態では、学習モジュール110は、フィールドプログラマブルアレイ(FPGA)又は特定用途向け集積回路(ASIC)を含むハードウェアを用いて実装され得る。いくつかの他の実施形態では、学習モジュール110は、ハードウェア及びソフトウェアの組み合わせを用いて実装され得る。また、学習モジュール110は、及び/又はパーソナルレポジトリ118は、1つ又は複数の装置104に含まれ得る。
動作環境50では、装置104、学習サーバ108、及び第三者サーバ114内の記憶部のようなメモリは、本明細書で説明される機能を提供するデータを記憶する非一時的なメモリを含み得る。記憶部に含まれるメモリは、ダイナミックランダムアクセスメモリ(DRAM)装置、スタティックランダムアクセスメモリ(SRAM)装置、フラッシュメモリ又はいくつかの他の記憶装置を含み得る。ある実施形態では、記憶部は、また、不揮発性メモリ又は同等の永久記憶装置、及び、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置を含む媒体、又はより永久ベースで情報を格納するいくつかの他の大容量記憶装置を含む。
さて図2を参照して、例示の学習モジュール110は、より詳細に示される。図2は、学習モジュール110、プロセッサ224、メモリ222及び通信ユニット226を含む計算装置200のブロック図である。計算装置200の構成要素は、バス220によって通信可能に接続され得る。ある実施形態では、計算装置200は、図1における学習システム100の学習サーバ108又は1つ又は複数の装置104ビデオ解析システム150の装置104を含み得る。
図1及び図2を組み合わせて参照して、プロセッサ224は、算術演算論理ユニット(ALU)、マイクロプロセッサ、多目的コントローラ、又はいくつかの他のプロセッサアレイを含み、計算及びソフトウェアプログラムの解析を実行し得る。プロセッサ224は、他の構成要素(例えば、110、226、222)との通信のためにバス220と接続し得る。プロセッサ224は、一般に、データ信号を処理し、復号命令セットコンピュータ(CISC)アーキテクチャ、縮小命令セットコンピュータ(RISC)アーキテクチャ又は命令セットの組み合わせを実装するアーキテクチャを含む様々な計算アーキテクチャを含み得る。図2は、単一のプロセッサ224を示しているけれども、複数のプロセッサが計算装置200に含まれ得る。他のプロセッサ、オペレーティングシステム、及び物理的構成が可能であり得る。
メモリ222は、プロセッサ224によって実行され得る命令及び/又はデータを記憶するように構成され得る。メモリ222は、他の構成要素と通信するためのバス220に接続され得る。命令及び/又はデータは、本明細書に説明される技術又は方法を実行するためのコード(code)を含み得る。メモリ222は、DRAM装置、SRAM装置、フラッシュメモリ又はいくつかの他の記憶装置を含み得る。ある実施形態では、メモリ222は、また、不揮発性メモリ又は同等の永久記憶装置、及び、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD−ROM装置、DVD−ROM装置、DVD−RAM装置、DVD−RW装置、フラッシュメモリ装置を含む媒体、又はより永久ベースで情報を格納するいくつかの他の大容量記憶装置を含む。
図示される実施形態では、メモリ222は、システムレポジトリ112、パーソナルレポジトリ118及びログ120を含む。システムレポジトリ112及び/又はパーソナルレポジトリ118は、学習教材を受け取るように構成され得る。ログ120は、規則を受け取り、格納し且つアクセス可能なように構成され得る。また、ある実施形態では、メモリ222は、システムレポジトリ112、パーソナルレポジトリ118又はログ120は、学習者102によって、アイテムの追加に関係する時間/日付けの情報を格納及びアクセス可能なように構成され得る。例えば、学習モジュール110は、規則及び時間/日付けの分布の解析を実行して、抽出頻度を決定し得る。学習モジュール110は、時間/日付けの情報にアクセスし、及び/又は第1の規則と、システムレポジトリ112、パーソナルレポジトリ118又はログ120内にアクセスされた以前に生成された規則とを比較し得る。
通信ユニット226は、学習モジュール110が格納されている場所に依存して、第三者サーバ114、装置104及び学習サーバ108の内の少なくとも1つとの間でデータを送信及び受信するように構成され得る。通信ユニット226は、バス220に接続され得る。ある実施形態では、通信ユニット226は、ネットワーク140又は他の通信チャネルへの直接の物理的な接続のためのポートを含み得る。例えば、通信ユニット226は、学習システム100の構成要素との有線通信のために、USB、SD、CAT−5又は同様のポートを含み得る。ある実施形態では、通信ユニット226は、通信チャネルを介して、IEEE802.11,IEEE802.16,ブルートゥース(登録商標)又は他の適切な無線通信方法を含む1つ又は複数の無線通信方法を用いて、データを交換するための無線トランシーバを含む。
ある実施形態では、通信ユニット226は、SMS、MMS、HTTP、ダイレクトデータ接続、WAP、Eメール又は他の適切なタイプの電気通信を介することを含む無線通信ネットワーク上で、データの送受信のために無線通信トランシーバを含む。ある実施形態では、通信ユニット226は、有線ポート及び無線トランシーバを含む。通信ユニット226は、また、トランスミッションコントロールプロトコル/インターネットプロトコル(TCP/IP)、HTTP、HTTPセキュア(HTTPS)及び単純なメール転送プロトコル(SMTP)等を含む標準のネットワークプロトコルを用いて、ファイル及び/又はメディア物の分配のために、他の従来の接続をネットワーク140へ提供し得る。
図2の実施形態では、学習モジュール110は、通信モジュール234、検出モジュール204、判断モジュール206、抽出モジュール208、ダウンロードモジュール210、フィルタモジュール212、特定モジュール214、デポジットモジュール216、ロケーションモジュール218、生成モジュール228、比較モジュール230、測定モジュール232、解析モジュール236、割り当てモジュール244、計算モジュール242、及びログモジュール238(まとめて、モジュール240)を含み得る。モジュール240のそれぞれは、1つ又は複数の動作を実行するように構成された1つ又は複数のルーチン(routine:決められた動作)を含むソフトウェアとして実装され得る。モジュール240は、後述される機能を提供するべく、プロセッサ224によって実行可能な命令のセットを含み得る。いくつかの例では、モジュール240は、計算装置200のメモリ222に記憶され又は少なくとも一時的にロードされて、プロセッサ224によってアクセスされて実行可能であり得る。モジュール240の内の1つ又は複数が、バス220を介して、プロセッサ224及び計算装置200の構成要素と協働及び通信するために適合し得る。
通信モジュール234は、学習モジュール110と計算装置200の他の構成要素(例えば、224、222及び226)との間の通信を処理するように構成され得る。通信モジュール234は、通信ユニット226を介して、第三者サーバ114、装置104及び/又は学習サーバ108との間でデータを送受信するように構成され得る。ある実施形態では、通信モジュール202は、他のモジュール(例えば、204,206,208,210,212,214,216,218,228,230,232,236,238,242,244)と協働して、通信ユニット226を介して、第三者サーバ114、装置104及び学習サーバ108の内の1つ又は複数との間で、データの受け取り及び/又は送信し得る。
検出モジュール204は、計算装置200内、又は装置及び/又は学習サーバ108内の出来事(occurrence)を検出する。例えば、検出モジュール204は、キュレーションへのアイテムの追加を検出し得る。アイテムの追加は、学習者102がキュレーション内へアイテムをブックマークすること及び/又はキュレーションへアイテムを追加することを含む。検出モジュール204は、ある実施形態では、通信ユニット226及び通信モジュール234を介して、アイテムの追加の表示を受け取り得る。検出モジュール204は、アイテムが追加されたことを示す信号を抽出モジュール208へ通信し得る。
また、ある実施形態では、通信モジュール234は、追加の時間/日付けをログモジュール238へ通信し得る。ログモジュール238は、追加の時間/日付けを、ログ120へ記録するか、又は、バス220を介してメモリ222内の他の場所に記録するように構成され得る。追加の時間/日付けは、例えば、本明細書に説明されるように、追加に基づいて生成された規則と共に、又は規則を伴わないで、ログ120に記録され得る。
抽出モジュール208は、アイテム及びページから情報を抽出するように構成され得る。例えば、抽出モジュール208は、検出モジュール204から、アイテムが追加されたことを示す信号を受け取り得る。抽出モジュール208は、アイテムによって参照されるページから1つ又は複数のリンクを抽出し得る。リンクはページ116に対応しており、例えば、ページ116は、第三者サーバ114によってホスト(host)されるウェブサイト126内に存在し得る。ページ116は、ネットワーク140を介してアクセスされ得る。抽出モジュール208は、リンクを示す信号を、ダウンロードモジュール210へ通信し得る。
ダウンロードモジュール210は、リンクを受け取り、リンクに対応するページ116をダウンロードするように構成され得る。例えば、ダウンロードモジュール210は、アイテムによって参照されるページ内の1つ又は複数のリンクに対応するページ116をダウンロードし得る。ダウンロードモジュール210は、ダウンロードされたページをフィルタモジュール212へ通信し得る。
フィルタモジュール212は、ダウンロードされたページの内容に基づいて、ダウンロードされたページをフィルタリングするように構成され得る。例えば、フィルタモジュール212は、ダウンロードされたページをフィルタリングして、候補インデックスページを生成するように構成され得る。ある実施形態では、フィルタモジュール212は、ダウンロードされたページの内のどれが、アイテムによって参照されるページへ指し返すリンクを含むのかを決定し得る。そして、フィルタモジュール212は、アイテムによって参照されるページへ指し返すリンクを含まないダウンロードされたページのサブセットを除外し得る。フィルタモジュール212は、候補インデックスページを特定モジュール214へ通信し得る。
特定モジュール214は、候補インデックスページから適切なインデックスページを特定するように構成され得る。ある実施形態では、特定モジュール214は、1つ又は複数のページ構造の解析、ユニフォームリソースロケータ(URL)構造の解析、及び内容一貫性の解析を実行して適切なインデックスページを特定し得る。
ある実施形態では、特定モジュール214は、ロケーションモジュール218、検出モジュール204、比較モジュール230、判断モジュール206及び測定モジュール232と協力して、適切なインデックスページを特定し得る。
例えば、検出モジュール204は、候補インデックスページ内のアイテムによって参照されるページへ指し返すリンクを含む情報ブロックを検出するように構成され得る。検出モジュール204は、リンクを含む情報ブロックを示す信号を、ロケーションモジュール218へ通信し得る。ロケーションモジュール218は、ページ構造の解析に基づいて、1つ又は複数の候補インデックスページ内のプライマリ情報ブロックを見つけるように構成され得る。
例えば、ロケーションモジュール218は、ページ116上のアイテムによって参照されるページへ指し返すリンクを含む情報ブロックの位置を解析し得る。情報ブロックが候補インデックスページの中央に近い時には、情報ブロックは、プライマリ情報ブロックであり得る。
比較モジュール230は、複数の候補インデックスページのURLの構造を比較するように構成され得る。例えば、本実施形態及び他の実施形態では、比較モジュール230は、プライマリ情報ブロック内のアイテムによって参照されるページへ指し返すリンクを含む複数の候補インデックスページのURLを比較し得る。比較モジュール230は、比較を示す信号を判断モジュール206へ通信し得る。
判断モジュール206は、2つ以上の候補インデックスページのURL構造が、他の候補インデックスページのURL構造よりも深い、同じ深さを有しているか否かを決定するように構成され得る。例えば、URL構造は、ドメインネームが後続するプロトコル(例えばhttp)を含み得る、ここで、ドメインメームには1つ又は複数のサブディレクトリが続き、サブディレクトリにはファイルネームが続く。同じ深さのURLの例は、両方が、プロトコル、ドメインネーム及び第1サブディレクトリを含むが、異なるファイルネームを有する2つのURLを含み得る。
2つ以上の候補インデックスページのURL構造が、他の候補インデックスページのURL構造よりも深い、同じ深さを有していない結果に応えて、特定モジュール214は、URL深さに基づいて、適切なインデックスページを特定し得る。例えば、最大の深さのURLを有する候補インデックスページが、適切なインデックスページとして特定され得る。
2つ以上の候補インデックスページのURL構造が、他の候補インデックスページのURL構造よりも深い、同じ深さを有している結果に応えて、判断モジュール206は、同じ深さを備えるURL構造を有する候補インデックスページのプライマリ情報ブロックを、測定モジュール232へ通信し得る。
測定モジュール232は、内容一貫性を測定するように構成され得る。例えば、本実施形態及び他の実施形態では、測定モジュール232は、同じURL構造を有する候補インデックスページのプライマリ情報ブロックの内容一貫性を測定し得る。特定モジュール214は、適切なインデックスページを、最も高い内容一貫性を有する候補インデックスページとして特定し得る。
追加して又は代わりに、特定モジュール214は、ロケーションモジュール218、検出モジュール204、生成モジュール228、割り当てモジュール244及び計算モジュール242と協力して、適切なインデックスページを特定し得る。
例えば、検出モジュール204は、候補インデックスページ内のアイテムによって参照されるページへ指し返すリンクを含む情報ブロックを検出するように構成され得る。検出モジュール204は、リンクを含む情報ブロックを示す信号を、ロケーションモジュール218へ通信し得る。ロケーションモジュール218は、プライマリ情報ブロックを見つけるか、又は、ページ構造の解析に基づいて1つ又は複数の候補インデックスページ内のプライマリ情報ブロックがないことを決定するように構成され得る。測定モジュール232は、ページ構造の解析、URL構造の解析及び内容一貫性の解析それぞれに基づいて、1つ又は複数の候補インデックスページに対して、ページ構造のスコア、URLスコア及び内容一貫性スコアを測定するように構成し得る。
そして、割り当てモジュール244は、ページ構造のスコア、URLスコア及び一貫性スコアのそれぞれに対して、重みを割り当て得る。計算モジュール242は、1つ又は複数の候補インデックスページに対するトータルスコアを計算するように構成され得る。トータルスコアは、候補インデックスページのそれぞれに対して、ページ構造のスコア、URLスコア及び内容一貫性スコアのそれぞれと、割り当てられた重みとの積の線形和に基づいて計算され得る。特定モジュール214は、トータルスコアに基づいて、特定するように構成され得る。
特定モジュール214及びロケーションモジュール218は、適切なインデックスページ及びプライマリ情報ブロックを、生成モジュール228へ通信し得る。生成モジュール228は、規則を生成するように構成され得る。規則は、装置104、学習サーバ108又は同様の他のシステムのようなシステムを、適切なインデックスページのプライマリ情報ブロックへ案内するように構成され得る。生成モジュール228は、規則を、通信モジュール234へ通信し得る。通信モジュール234は、規則を、ログ120へ通信し得る。また、通信モジュール234は、規則を使用して、適切なインデックスページのプライマリ情報ブロックから学習教材を取り出し得る。そして、通信モジュール234は、学習教材を、デポジットモジュール216へ通信し得る。
デポジットモジュール216は、学習教材を受け取って、学習教材をパーソナルレポジトリ118及び/又はシステムレポジトリ112内に置くように構成され得る。例えば、デポジットモジュール216は、学習教材を受け取って、学習教材をパーソナルレポジトリ118内に置くだろう。
規則が生成された後、解析モジュール236は、複数の学習者102の学習活動と共に、規則を解析するように構成され得る。解析された学習活動に基づいて、判断モジュール206は、抽出頻度を決定し得る。そして、通信モジュール234は、抽出頻度でプライマリ情報ブロックから学習教材を取り出し、デポジットモジュール216は、学習教材をパーソナルレポジトリ118及び/又はシステムレポジトリ112内に置き得る。
ある実施形態では、解析モジュール236は、通信モジュール234、ログモジュール238及び判断モジュール206と協力して、抽出頻度を決定し得る。例えば、通信モジュール234は、上述したように、規則を受け取り得る。通信モジュール234は、規則を、ログモジュール238へ通信し得る。ログモジュール238は、規則を記憶し得る。例えば、規則は、アイテム、複数の学習者からの関連する規則、日付け/時間の情報又はこれらの内の組み合わせと共に記憶され得る。
そして、判断モジュール206は、規則がログ120内に存在するか否かを決定し得る。規則がログ120内に存在しない結果に応えて、解析モジュール236は、規則の解析を停止し得る。規則がログ120内に存在する結果に応えて、判断モジュール206は、規則及び/又は関連する規則の適用が所定の閾値よりも大きいか否かを決定し得る。規則及び/又は関連する規則の適用が所定の閾値よりも小さい結果に応えて、解析モジュール236は、規則の解析を停止し得る。
規則及び/又は関連する規則の適用が所定の閾値よりも大きい結果に応えて、解析モジュール236は、規則及び関連する抽出規則がそこから生成されたアイテムの日付け/時間の分布を解析し得る。判断モジュール206は、日付け/時間の分布に少なくとも部分的に基づいて、抽出頻度を決定し得る。
図3〜6は、適切なインデックスページ及び/又はキュレーションへ追加されたアイテムから規則を生成することの例を示す。
図3は、図1の学習システムで作られ得る例示のキュレーションの一例のスクリーンショットを示す。
キュレーション300は、2つのサイド306A及び306Bを含み得る。第1サイド306A上には、アイテム302A及び302Bが追加され得る。第2サイド306B上には、アイテム302C〜302Hがブックマークされ得る。アイテム302C〜302Hは、通常、アイテム302又は複数のアイテム302と称される。アイテム302は、テキスト、画像、ビデオ、記事、グラフィック又は任意の形式の他のデジタル情報を含み得る。アイテム302は、図1のウェブサイト126のようなウェブサイトから複製されるか、学習システムとインターフェースする他の学習者、教師、生徒又は管理者によって直接又は非直接的に作られるか、又はキュレーションを作る学習者によって作られるか、又はこれらの内の組み合わせによって作られ得る。第1サイド306A上に示すようにアイテム302を複製又は追加することによって、又は、第2サイド306B上に示すようにアイテム302へのリンク310をキュレーション内にブックマークすることによって、アイテム302がキュレーションへ追加され得る。
例えば、第1アイテム302Aは、図示のキュレーション300へ追加されている。第1アイテム302Aは、ページの一部、及び、自動的に生成又は手動で入力され、アイテム302によって参照されるページの要約を含み、これらは、タイトル、説明、画像、URL、ページからの他の情報又はこれらの内の組み合わせを含み得る。第1アイテム302Aは、第1アイテム302Aによって参照されるページの第1URL304Aを含み得る。第1URL304Aは、第1アイテム302Aによって参照されるページのウェブアドレスを含み得る。同様に、第2アイテム302Bは、他のページからの情報を含む図示のキュレーション300へ追加されている。第2アイテム302Bは、第2アイテム302Bによって参照されるページの第2URL304Bを含み得る。第2URL304Bは、第2アイテム302Bによって参照されるページのウェブアドレスを含み得る。第2サイド306B上には、キュレーション300がブックマーク308のリストを含み得る。ブックマーク308のリストは、アイテム302C〜302Hへのリンク310を含み得る。アイテム302C〜302Hは、それによってキュレーションに含まれて、リンク310を選択することによってアクセスされ得る。追加して又は代わりに、ブックマーク308のリストは、例えば、リンク310に加えて、アイテム302C〜302Hを説明する記載を含み得る。
図4は、図3の第1アイテム302Aによって参照されるページ400を、5つのダウンロードされたページ402A〜402E(一般にページ402又は複数のページ402)と共に示す。1つ又は複数のページ402は、図1を参照して説明されたページ116と実質的に同じ及び/又は対応する。上述したように、ページ400は、トップメニューにリンクを含み得る。例えば、第1ページ402A、第2ページ402B、第3ページ402C及び第4ページ402Dへのリンクは、トップメニューに含まれ得る。第5ページ402Eへのリンクは、バーナ広告に含まれ得る。より一般に、ページ400は、任意の数のリンク、5、5より少ない、5よりも多いリンクを含み得る。
ページ402は、ダウンロードされ得る。また、ページ402は、解析されて、ページ400へ指し返すリンク404A〜404E(一般に、ページ400へ指し返すリンク404又は複数のリンク404と称される)が見つけられ得る。例えば、図示の実施形態では、第1、第2、第3及び第4ページ402A〜402Dは、それぞれ、ページ400へ指し返す1つ又は複数のリンク404を含み得る。一方、第5ページ402Eは、ページ400へ指し返すリンク404を含まないだろう。従って、本実施形態及び他の実施形態では、候補インデックスページは、第1、第2、第3及び第4ページ402A〜402Dを含み得る。第5ページ402Eは、候補インデックスページから除外され得る。
図5は、図4のページ402A〜402Eからフィルタリングされた候補インデックスページであり得るページ402A〜402Dを示す。図4のページ400へ指し返すリンク404の位置が決定され得る。例えば、第1、第2及び第3ページ402A〜402Cでは、ページ400へ指し返すリンク404A〜404Cは、第1、第2及び第3ページ402A〜402Cのプライマリ情報ブロック502A〜502C内に含まれ得る。第4ページ402D内のページ400へ指し返すリンク404Dは、サイド情報ブロック502D内に見つけられ得る。また、第3ページ402Cは、サイド情報ブロック502E内にサイドリンク404Eを含み得る。また、第1、第2及び第3ページ402A〜402Cは、第4ページ402Dよりも良い適切な候補インデックスページであると決定され得る。
第1、第2及び第3ページ402A〜402Cは、それぞれ、URL504A〜504Cを含み得る。URL504A〜504Cの構造は、比較され得る。第1URL504Aは、第2URL504B及び第3URL504Cよりも短い。従って、第2URL504B及び第3URL504Cは、第2URL504B及び第3URL504Cが第1URL504Aよりも深い深さを有している限り、第1URL504Aよりも良い適切な候補インデックスページと考えられ得る。また、ある実施形態では、サイド情報ブロック502D内に位置し第4ページ402D内のリンク404Dがページ400へ指し返すにも関わらず、URL504Dは、URL504〜504Cと比較される。
また、第2URL504B及び第3URL504Cは、同じURL深さを示し得る同じ長さを有し得る。ある実施形態では、第2URL504B及び第3URL504Cが同じURL深さを有し得る結果に応えて、プライマリ情報ブロック502B及び502Cの内容一貫性の解析が実行され得る。この例では、内容一貫性の解析後に、第2ページ402Bが適切な候補インデックスページであると決定され得る。
追加して又は代わりに、ページ構造のスコア、URLスコア及び内容一貫性のスコアが、ページ構造の解析、URL構造の解析及び内容一貫性の解析に基づいて、1つ又は複数のページ402に対して生成され得る。ページ構造のスコア、URLスコア及び内容一貫性のスコアのそれぞれに対して、重みが割り当てられ得る。トータルスコアは、1つ又は複数のページ402に対して、ページ構造のスコア、URLスコア及び内容一貫性スコアそれぞれと、割り当てられた重みとの積の線形和に基づいて、計算され得る。適切なインデックスページが、トータルスコアに基づいて特定され得る。
図6は、第2ページ402Bのプライマリ情報ブロック502Bを示す。また、図6は、図5に示されるページ402から特定された適切な候補インデックスページから生成され得る例示の規則600を示す。プライマリ情報ブロック502Bは、URLエントリを含み得るリンク604A〜604Cのリストを含む。内容一貫性の解析は、リンク604A〜604Cと関連するテキスト間の平均の類似度を決定し得る。
規則600は、図4及び6の第2ページ402Bの第2URL504Bを含み得る。また、規則600は、誘導されるXPath606を含み得る。誘導されるXPathは、プライマリ情報ブロック502BのXPath602A〜602C及び第2ページ402Bのそれぞれに含まれるURLエントリから誘導され得る。具体的には、それぞれのXPath602A〜602Cは、第2ページ402Bのプライマリ情報ブロック502Bのそれぞれのリンク604A〜604Cにおける1つのURLエントリに対応する。
図7A及び7Bは、本明細書で説明される少なくとも1つの実施形態に従って配置される、インフォーマル学習のための学習教材を収集する例示の方法700のフロー図を示す。方法700は、ある実施形態では、図2を参照して説明される計算装置200によって、プログラム可能に実行され得る。追加して又は代わりに、方法700は、図1の装置104又は学習サーバ108によって、プログラム可能に実行され得る。装置104、学習サーバ108及び計算装置200は、プロセッサによって実行可能又は方法700の処理を生じさせるプログラムコード又は命令が内部に記憶されるか又はコード化されている非一時的なコンピュータ可読媒体(例えば、図2のメモリ222)を含むか又は通信可能に接続され得る。装置104、学習サーバ108及び計算装置200は、コンピュータ命令を実行して、方法700の処理を生じさせるか又は制御するように構成されるプロセッサ(例えば、図2のプロセッサ224)を含み得る。離散的なブロックとして示さているけれども、各ブロックは、所望の実装に依存して、追加の複数のブロックに分割されたり、より少数のブロックに結合されたり、又は省略され得る。
図7Aを参照して、方法700は、ブロック702で開始して、アイテムのキュレーションへの追加が検出され得る。アイテムの追加は、アイテムがキュレーションへブックマークされること又はアイテムがキュレーションへ追加されることを含み得る。ブロック704では、アイテムの追加の日付け/時間が記録され得る。例えば、図1を参照して、学習者102Aがページ116をキュレーションへ追加する時、学習モジュール110は、対応する日付け/時間にページ116がキュレーションへ追加されたことをログ120に記録し得る。
ブロック706では、アイテムによって参照されるページから1つ又は複数のリンクが抽出され得る。ブロック708では、1つ又は複数のリンクに対応するページがダウンロードされ得る。例えば、図1を参照して、第1学習者102Aによって追加されたページ116は、他のページ116への複数のリンクを含み得る。学習モジュール110は、キュレーションへ追加されたページ116へアクセスして、そこから他のページ116へのリンクを抽出し得る。リンクに対応する他のページ116は、ウェブサイト126からダウンロードされ得る。
ブロック710では、ダウンロードされたページは、フィルタリングされて候補インデックスページが生成され得る。ある実施形態では、フィルタリングは、アイテムによって参照されるページへ指し返すリンクを含まないダウンロードされたページを除外する。
ブロック712では、適切なインデックスページがフィルタリングされたページから特定され得る。ある実施形態では、適切なインデックスページは、ページ構造の解析、URL構造の解析、内容一貫性の解析又はこれらの内の組み合わせを用いて、特定され得る。追加して又は代わりに、適切なインデックスページは、図8及び/又は図10を参照して説明されるように特定され得る。
ブロック714では、適切なインデックスページ上のプライマリ情報ブロックが見つけられ得る。ブロック716では、規則が生成され得る。規則は、システムを適切なインデックスページのプライマリ情報ブロックへ案内するように構成され得る。ある実施形態では、規則は、適切なインデックスページのURL、及び、プライマリ情報ブロックに含まれる1つ又は複数のURLの誘導されたXPathを含み得る。
図7Bを参照して、ブロック716の後、方法700は、ブロック718及び/又はブロック720へ進む。ブロック718では、学習教材が、適切なインデックスページのプライマリ情報ブロックから取り出され得る。ある実施形態では、学習教材が、規則を用いて取り出され得る。規則を用いて学習教材を取り出すことは、誘導されたXPathと一致するリンクによって指し示される全てのページを取り出すことを含み得る。方法700は、ブロック718からブロック720及び/又はブロック726へ進み得る。
ブロック720では、学習システムとインターフェースする複数の学習者の学習活動と共に規則が解析され得る。例えば、図1を参照して、学習者102は、学習システムとインターフェースする学習者を含み得る。ブロック722では、抽出頻度が決定され得る。抽出頻度は、解析された学習活動に基づき得る。
ブロック724では、学習教材が、抽出頻度でプライマリ情報ブロックから取り出され得る。ブロック726では、学習教材が、1つ又は複数のレポジトリに置かれ得る。
図8は、本明細書で説明される少なくとも1つの実施形態に従って配置される、候補インデックスページから適切なインデックスページを特定する例示の方法800のフロー図である。方法800は、ある実施形態では、図2を参照して説明される計算装置200によって、プログラム可能に実行され得る。追加して又は代わりに、方法800は、図1の装置104又は学習サーバ108によって、プログラム可能に実行され得る。装置104、学習サーバ108及び計算装置200は、プロセッサによって実行可能又は方法800の処理を生じさせるプログラムコード又は命令が内部に記憶されるか又はコード化されている非一時的なコンピュータ可読媒体(例えば、図2のメモリ222)を含むか又は通信可能に接続され得る。装置104、学習サーバ108及び計算装置200は、コンピュータ命令を実行して、方法800の処理を生じさせるか又は制御するように構成されるプロセッサ(例えば、図2のプロセッサ224)を含み得る。離散的なブロックとして示さているけれども、各ブロックは、所望の実装に依存して、追加の複数のブロックに分割されたり、より少数のブロックに結合されたり、又は省略され得る。
ブロック802では、候補インデックスページが受け取られ得る。候補インデックスページは、キュレーションへ追加されたアイテムによって参照されるページから抽出されたリンクからダウンロードされたページを含み得る。ブロック804では、アイテムによって参照されるページへ指し返すリンクを含む情報ブロックが、1つ又は複数の候補インデックスページ内で検出され得る。ブロック806では、プライマリ情報ブロックが、1つ又は複数の候補インデックスページ内に見つけられ得る。ある実施形態では、プライマリ情報ブロックを見つけることは、ページ構造の解析に基づき得る。
ブロック808では、1つ又は複数の候補インデックスページの複数のURL構造が、比較され得る。ある実施形態では、プライマリ情報ブロック内のアイテムによって参照されるページへ指し返すリンクを含む複数の候補インデックスページのURL構造が、比較され得る。
ブロック810では、2つ以上の候補インデックスページのURL構造が、他の候補インデックスページのURL構造よりも深い、同じ深さを有しているか否かが決定され得る。2つ以上の候補インデックスページのURL構造が、他の候補インデックスページのURL構造よりも深い、同じ深さを有していない結果に応えて(810における「いいえ」)、方法800はブロック812へ進む。2つ以上の候補インデックスページのURL構造が、他の候補インデックスページのURL構造よりも深い、同じ深さを有している結果に応えて(810における「はい」)、方法800はブロック814及び816へ進む。
ブロック812では、適切なインデックスページが、URL深さに基づいて特定され得る。ブロック814では、同じURL深さを有する2つ以上の候補インデックスページのプライマリ情報ブロックの内容一貫性が測定され得る。ブロック816では、適切なインデックスページが、最大の内容一貫性を有する候補インデックスページとして特定され得る。
図9は、本明細書で説明される少なくとも1つの実施形態に従って配置される、複数の学習者の学習活動と共に規則を解析する例示の方法900のフロー図である。方法900は、ある実施形態では、図2を参照して説明される計算装置200によって、プログラム可能に実行され得る。追加して又は代わりに、方法900は、図1の装置104又は学習サーバ108によって、プログラム可能に実行され得る。装置104、学習サーバ108及び計算装置200は、プロセッサによって実行可能又は方法900の処理を生じさせるプログラムコード又は命令が内部に記憶されるか又はコード化されている非一時的なコンピュータ可読媒体(例えば、図2のメモリ222)を含むか又は通信可能に接続され得る。装置104、学習サーバ108及び計算装置200は、コンピュータ命令を実行して、方法900の処理を生じさせるか又は制御するように構成されるプロセッサ(例えば、図2のプロセッサ224)を含み得る。離散的なブロックとして示さているけれども、各ブロックは、所望の実装に依存して、追加の複数のブロックに分割されたり、より少数のブロックに結合されたり、又は省略され得る。
方法900は、規則が受け取られ得るブロック902において、開始し得る。ブロック904では、規則は記録され得る。ある実施形態では、規則は、そこから規則が生成されたアイテムと共に記録され得る。追加して又は代わりに、規則は、一人又は複数の他の学習者からの関連する規則と共に記録され得る。追加して又は代わりに、規則は、規則を用いて及び/又は関連する規則を用いて、取り出された記録されたアイテムであり得る。
ブロック906では、規則がログに存在するか否かが決定され得る。規則がログに存在しない結果に応えて(906における「いいえ」)、方法900は、方法900が停止するブロック914へ進む。規則がログに存在する結果に応えて(906における「はい」)、方法900は、ブロック908へ進む。
ブロック908では、規則及び関連する規則の適用(applicaiton)が所定の閾値よりも大きいか否かが決定される。適用が所定の閾値よりも小さい結果に応えて(908における「いいえ」)、方法900は、方法900が停止するブロック914へ進む。適用が所定の閾値よりも大きい結果に応えて(908における「はい」)、方法900は、ブロック910へ進む。
ブロック910では、日付け/時間の分布が解析され得る。日付け/時間の分布は、そこから規則が生成されて追加されたアイテム、そこから関連する規則が生成されたアイテム、規則及び/又は関連する規則を用いて取り出されたアイテム、又はこれらの内の組み合わせ、を含み得る。ブロック912では、抽出頻度が決定され得る。抽出頻度は、日付け/時間の分布に基づいて決定され得る。
図10は、本明細書で説明される少なくとも1つの実施形態に従って配置される、候補インデックスページから適切なインデックスページを特定する例示の方法1000のフロー図を示す。方法1000は、ある実施形態では、図2を参照して説明される計算装置200によって、プログラム可能に実行され得る。追加して又は代わりに、方法1000は、図1の装置104又は学習サーバ108によって、プログラム可能に実行され得る。装置104、学習サーバ108及び計算装置200は、プロセッサによって実行可能又は方法1000の処理を生じさせるプログラムコード又は命令が内部に記憶されるか又はコード化されている非一時的なコンピュータ可読媒体(例えば、図2のメモリ222)を含むか又は通信可能に接続され得る。装置104、学習サーバ108及び計算装置200は、コンピュータ命令を実行して、方法1000の処理を生じさせるか又は制御するように構成されるプロセッサ(例えば、図2のプロセッサ224)を含み得る。離散的なブロックとして示さているけれども、各ブロックは、所望の実装に依存して、追加の複数のブロックに分割されたり、より少数のブロックに結合されたり、又は省略され得る。
ブロック1002では、候補インデックスページが受け取られ得る。候補インデックスページは、キュレーションへ追加されたアイテムによって参照されるページから抽出されたリンクからダウンロードされたページを含み得る。ブロック1004では、アイテムによって参照されるページへ指し返すリンクを含む情報ブロックが、1つ又は複数の候補インデックスページ内に検出され得る。ブロック1006では、プライマリ情報ブロックが、1つ又は複数の候補インデックスページ内に見つけられ得る。ある実施形態では、プライマリ情報ブロックは、ページ構造の解析に基づいて、見つけられ得る。ブロック1008では、ページ構造のスコアが、1つ又は複数の候補インデックスページに対して測定され得る。ブロック1010では、URLスコアが、1つ又は複数の候補インデックスページに対して測定され得る。URLスコアは、URL構造の解析に基づき得る。例えば、長いURLを有する候補インデックスページは、短いURLを有する他の候補インデックスページよりも高いスコアを有し得る。ブロック1012では、内容一貫性が、1つ又は複数の候補インデックスページに対して測定され得る。内容一貫性のスコアは、内容一貫性の解析に基づき得る。例えば、プライマリ情報ブロック又はサイド情報ブロックに含まれる内容の高い一貫性を有する候補インデックスページは、プライマリ情報ブロック又はサイド情報ブロックに含まれる内容の低い一貫性を有する他の候補インデックスページよりも、高いスコアを有し得る。
ブロック1014では、ページ構造のスコア、URLスコア及び内容一貫性のスコアのそれぞれに対して、重みが割り当てられ得る。ブロック1016では、候補インデックスページのそれぞれに対して、ページ構造のスコア、URLスコア及び内容一貫性のスコアのそれぞれと、割り当てられた重みとの積の線形和に基づいて、トータルスコアが計算され得る。ブロック1018では、適切なインデックスページが、トータルスコアに基づいて特定され得る。例えば、最大のトータルスコアを有する候補インデックスページが適切なインデックスページとして特定され得る。
後で更に詳しく論じられるように、ここに説明される実施形態は、様々なコンピュータ・ハードウェア又はソフトウェア・モジュールを含む特別な目的又は多目的なコンピュータの使用を含み得る。
ここに説明される実施形態は、内部に記憶されたコンピュータ実行可能な命令又はデータ構造を運ぶ又は有するコンピュータ可読媒体を用いて、実装され得る。そのようなコンピュータ可読媒体は、多目的又は特別な目的のコンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。例えば、制限されることなく、そのようなコンピュータ可読媒体は、コンピュータ実行可能な命令又はデータ構造の形で所望のプログラムコードを運ぶ又は記憶するために使用され、且つ多目的又は特別な目的のコンピュータによってアクセスされ得る、RAM、ROM、EEPROM、CD−ROM又は他の光ディスクメモリ、磁気ディスクメモリ又は他の磁気記憶装置、又は他の任意の記憶媒体を含む非一時的なコンピュータ可読媒体を有し得る。上記の組み合わせは、また、コンピュータ可読媒体の範囲内に含まれ得る。
コンピュータ実行可能な命令は、例えば、多目的コンピュータ、特別な目的のコンピュータ、又は特別な目的の処理装置が、所定の機能又は機能の群を実行させる命令及びデータを有する。主題は、特有の言語において構造的な特徴及び/又は方法論的な行為に対して説明されているが、添付の請求項において定義される主題は、上述された特別な特徴又は行為に制限される必要のないことを理解されたい。むしろ、上述された特別な特徴及び行為は、請求項を実装する例示の形として開示される。
本明細書では、「モジュール」又は「構成要素(コンポーネント)」という用語は、コンピュータシステム上で実行するソフトウェアオブジェクト又はルーチンに言及し得る。本明細書で説明される異なる構成要素、モジュール、エンジン及びサービスは、コンピュータシステム上で実行するオブジェクト又は処理(例えば、分離したスレッドとして)として実装され得る。本明細書で説明されるシステム及び方法は、ソフトウェアで実装されることが好ましいが、ハードウェア、又はソフトウェア及びハードウェアの組み合わせにおける実装も可能であり且つ考慮される。本明細書の記載では、「コンピューティングエンティティ(計算実体)」は、上述したように本明細書で定義されるように任意の計算システム、又は任意のモジュール、又はコンピュータシステム上で動作するモジュールの組み合わせであり得る。
ここで述べられた全ての例及び条件付きの言葉は、読者が、発明者によって寄与された発明及び概念を技術を深めて理解することを助けるための教育的な目的を意図しており、そのような具体的に述べられた例及び条件に限定されることなく解釈されるべきである。
本発明の実施形態は詳細に説明されているが、その様々な変更、置き換え又は修正が本発明の精神及び範囲を逸脱しない限り行われ得ることが理解されるべきである。