web-dev-qa-db-ja.com

知識グラフを作成する方法は?

私は自分のコンピューターで動作するページランクを備えた小さな検索エンジンのプロトタイプを作成しました。その上にナレッジグラフを作成することに興味があります。Googleが検索の質問に関連する回答を見つけたのと同様に、適切なコンテキスト内にあるクエリされたWebページのみが返されるはずです。ナレッジグラフの周りには多くの宣伝がありましたが、多くの文献はなく、作成のガイドラインのような擬似コードはほとんどありませんでした。そのようなナレッジグラフが内部でどのように機能するかについての良い参考資料を知っている人はいますか?したがって、ナレッジグラフに関するモデルを作成する必要はありませんか?

16
Pippi

ナレッジグラフは流行語です。これは、結果を達成するために組み合わされたモデルとテクノロジーの合計です。旅の最初の目的地は、 自然言語処理オントロジーテキストマイニング 。これは人工知能の幅広い分野です。この分野の調査調査については、 ここ にアクセスしてください。

独自のモデルを構築する前に、 gensim などの専用ツールボックスを使用してさまざまな標準アルゴリズムを試すことをお勧めします。 tf-idf、LDA、ドキュメント特徴ベクトルなどについて学習します。

私はあなたがテキストデータを扱いたいと思っていると思います、あなたが他の画像を使って画像検索をしたいのならそれは違います。オーディオ部分も同様です。

モデルの構築は最初のステップにすぎません。Googleのナレッジグラフの最も難しい部分は、実際に毎日数十億のリクエストにスケーリングすることです...

優れた処理パイプラインは、 Apache Spark 、「現在の世代のHadoop」の上に「簡単に」構築できます。スケーリングする場合に必須の復元力のある分散データストアを提供します。

グラフ理論(ページランクなど)のように、ライブクエリでデータをグラフとして保持する場合は、 Bulbs を使用することをお勧めします。 「グラフのORMに似ていますが、SQLの代わりに、グラフトラバーサル言語のGremlinを使用してデータベースにクエリを実行する」フレームワーク。たとえば、バックエンドをNeo4jからOpenRDFに切り替えることができます(オントロジーを行う場合に便利です)。

グラフ分析には、Spark、 GraphX モジュールまたは GraphLab を使用できます。

それが役に立てば幸い。

35
Kirell