NLP Cloud is an API for natural language processing.
エンベッディングとは、テキストの断片をベクトル表現したものである。もし2つのテキストが同じようなベクトル表現をしていれば、それは似たような意味を持っている可能性が高い。
次の3つの文章があるとする:
NLP Cloud is an API for natural language processing.
NLP Cloud proposes an API dedicated to NLP at scale.
I went to the cinema yesterday. It was great!
以下は、上の3つの文の埋め込みです(簡単のために切り捨ててあります):
[[0.0927242711186409,-0.19866740703582764,-0.013638739474117756,-0.11876793205738068,0.011521861888468266,-0.03629707545042038, -0.030676838010549545,-0.03159608319401741,0.021390020847320557,0.03344911336898804,0.1698218137025833,-0.0009996045846492052, -0.07465217262506485,-0.21483412384986877,0.11283198744058609,0.03549865633249283,0.04985387250781059,-0.027558118104934692, 0.06297887861728668,0.09421529620885849,0.03700404614210129,0.06565431505441666,0.02284885197877884,0.06327767670154572, -0.09266531467437744,-0.014569456689059734,-0.06129194051027298,0.1818675994873047,0.09628438949584961,-0.09874546527862549, 0.030865425243973732, [...] ,-0.02097163535654545,0.021617714315652847,0.11045169830322266,0.01000999379903078,0.11451057344675064,0.18813028931617737, 0.007419265806674957,0.1630171686410904,0.21308083832263947,-0.03355317562818527,0.0778832957148552,0.2268853485584259,-0.13271427154541016, 0.005264544393867254,0.16081497073173523,0.09937280416488647,-0.12673905491828918,-0.12035898119211197,-0.06462062895298004, -0.0024213052820414305,0.08730605989694595,-0.04702030122280121,-0.03694896399974823,0.002265638206154108,-0.027780283242464066, -0.00017151003703474998,-0.20887477695941925,-0.2585527300834656,0.3124837279319763,0.05403835326433182,0.027094876393675804, -0.022925367578864098,0.038322173058986664]]
ひとたび機械がテキスト間の類似性を検出できれば、意味的類似性、RAG(検索拡張世代)システム、意味検索、言い換え検出、クラスタリングなど、多くの興味深いアプリケーションへの道が開けるからである。
エンベッディングが非常に役立つ例をいくつか紹介しよう:
2つの文章が同じことを話しているかどうかを検出したい場合があります。例えば、言い換え(剽窃)を検出するのに便利です。また、複数の人が同じトピックについて話しているかどうかを理解するのにも便利です。
セマンティック検索は現代的な情報検索の方法です。特定のキーワードを含むテキストを素朴に検索する代わりに、キーワードが一致しなくても(例として同義語の場合)、興味のあるトピックについて話しているテキストを検索できるようになりました。
カテゴリー(アイデア、スピーチ、会話...)ごとに物事をグループ化したいかもしれない。クラスタリングは古くからある機械学習のテクニックで、今では自然言語処理に効果的に適用できる。
RAG(Retrieval Augmented Generation)システムは、大規模な言語モデルの機能と、データベースやテキストのコーパスから関連情報を取得する検索コンポーネントを組み合わせてテキストを生成する、自然言語処理モデルの一種である。このアプローチでは、外部の知識ソースを活用することで、より正確で情報量が多く、文脈に関連した応答を生成することができる。
NLP Cloudは、Paraphrase Multilingual Mpnet Base v2のようなSentence Transformersモデルに基づいて、すぐに埋め込みを抽出する機会を与える埋め込みAPIを提案します。
エンベッディング・モデルの応答時間(レイテンシー)は非常に低く、エンベッディング抽出をより大規模で複雑なワークフローに簡単に組み込むことができます。
詳細については、埋め込みに関するドキュメントを参照してください。 これ.
エンベッディングをローカルでテストすることと、本番で確実に使うことは別のことです。NLP Cloud を使えば、その両方を行うことができます!