皆さんこんにちは。Eastmoney.com のアルゴリズム エンジニアです。ここでは、大規模モデルを活用してナレッジ グラフの構築を強化するためのプラクティスをいくつか紹介します。## なぜナレッジ グラフには大規模モデルが必要なのでしょうか。金融のシナリオでは、当然のことながら、作成と維持に多大な人手を必要とする大量の構造化データがあります。このデータは、タグ付け、推奨、リスク管理などの下流のシナリオで頻繁に使用されます。たとえば、ファンドに関連付けられているファンド マネージャー、ファンドの純資産額、ファンドの保有状況などの情報は、さまざまなファンド会社からの発表から抽出する必要があります。類推すると、1.0 時代では、対応するデータを抽出して検証するために多くのルールと人手を使用していましたが、この方法では特定のテキスト コンテンツに対して特定のルールを維持する必要があり、コストがかかっていました。2.0 時代では、NER やエンティティ リンクなどのタスクを支援する対応するディープラーニング モデルを構築できます。 **このプロセスでは、データのクリーニング、ラベリング、トレーニングには、高度に専門化されたラベリング担当者とアルゴリズム開発が必要になることが多く、精度を向上させるには多くの作業が必要です。** 大規模モデルの時代に、ChatGPTはさまざまなタスクを比較的高い精度で完了できることがわかりました。これにより、大規模モデルを使用してナレッジグラフの構築を支援できるかどうかを検討するようになりました(結局のところ、すべての企業が大規模モデルを購入できるわけではなく、単一のグラフで多くの下流タスクを解決できます)。いくつかの実践的な経験を通じて、ChatGPTは大量のテキストデータからエンティティ、属性、関係トリプルなどの知識要素を自動的に生成し、それによって大規模なナレッジグラフを迅速に構築できることがわかりました。 ## ChatGPTでナレッジグラフを構築する ChatGPTやGPT4を使ったナレッジグラフ構築の例は、コミュニティにすでに数多く存在します。 * [ChatGPT + SmartKGを使って3分で「ハリー・ポッター」のナレッジグラフを生成する](https://www.msn.cn/zh-cn/news/technology/chatgpt-smartkg-3%E5%88%86%E9%92%9F%E7%94%9F%E6%88%90-%E5%93%88%E5%88%A9%E6%B3%A2%E7%89%B9-%E7%9F%A5%E8%AF%86%E5%9B%BE%E8%B0%B1/ar-AA17ykNr) * [ChatGPTとGPT-4を使ってビデオスクリプトからナレッジグラフを作成する] [ドメインエキスパートとして、私は動画の文字起こしから知識を抽出するのに役立ちます](https://blog.csdn.net/iCloudEnd/article/details/129984488) グラフデータベースにすでにすべての上場企業を網羅するノードをいくつか構築していると仮定して、会長や上場日などの情報を含むこれらの企業に関する知識グラフを構築することが目標です。 ここでは、対応する知識グラフを構築するために、次のコードを変更することをお勧めします: [https://github.com/cocacola-lab/ChatIE](https://github.com/cocacola-lab/ChatIE)。 プリセットのエンティティタイプとリレーションタイプを、ゼロショットの大規模な知識グラフ構築を実現するために必要なタイプに変更するだけで済みます。 もちろん、GPT4を使用すると、さらに良い結果が得られます。 ## ローカルに展開されたChatGLMソリューション ローカル展開におけるデータプライバシーの問題を考慮すると、ChatIEのChatGPTインターフェースをChatGLM-6Bに置き換えることもできます。これは理論的にはChatGPTの効果に近づくことができます。しかし、実際のアプリケーションでは、ChatGLMは一定のコンテンツ抽出機能とリンク機能を備えているものの、生成されるコンテンツの制御性が低いことがわかりました。例えば、モデルに(エンティティ1、エンティティ2、…)またはエンティティ1リレーション1エンティティ2 \nという形式で結果を出力させたい場合、大規模モデルの入力に次のようなものを追加できます。「回答を捏造せず、(エンティティ1、エンティティ2、…)という形式に厳密に従って回答し、余分なコンテンツを含めないでください。」しかし、結果には制御不能なコンテンツが大量に含まれることが多く、データをクリーンアップするために広範な正規表現マッチングが必要になります。その後の試行では、ChatGLMの前に2ラウンドの対話を追加することで、より良い結果を得ることができました。具体的なコードデモについては、[ChatGLM を用いた金融知識抽出](https://github.com/zhuojianc/financial_chatglm_KG/blob/main/llm_financial_ie.py) をご覧ください。具体的な効果のデモについては、次の画像をご覧ください:  もちろん、これはあくまで基本的なデモであり、今後 ES と NebulaGraph を用いてさらに多くの機能を実装していく予定です。検証および適用のためのコードは、議論のために公開されています。 ## 同じトピックに関するオンライン共有 LLM とナレッジグラフに興味がある場合は、同じトピックに関するオンライン共有をチェックしてください: [この AI の波について LLM とグラフデータベースの実践者との夜間チャット](https://discuss.nebula-graph.com.cn/t/topic/13560)