Sentence Transformers 2.2 : 使用方法 : クラスタリング

Sentence Transformers 2.2 : 使用方法 : クラスタリング (翻訳/解説)

翻訳 : (株)クラスキャット セールスインフォメーション
作成日時 : 11/27/2022 (v2.2.2)

* 本ページは、UKPLab/sentence-transformers の以下のドキュメントを翻訳した上で適宜、補足説明したものです:

* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
* ご自由にリンクを張って頂いてかまいませんが、sales-info@classcat.com までご一報いただけると嬉しいです。

 

クラスキャット 人工知能 研究開発支援サービス

クラスキャット は人工知能・テレワークに関する各種サービスを提供しています。お気軽にご相談ください :

◆ 人工知能とビジネスをテーマに WEB セミナーを定期的に開催しています。スケジュール
  • お住まいの地域に関係なく Web ブラウザからご参加頂けます。事前登録 が必要ですのでご注意ください。

お問合せ : 本件に関するお問い合わせ先は下記までお願いいたします。

  • 株式会社クラスキャット セールス・マーケティング本部 セールス・インフォメーション
  • sales-info@classcat.com  ;  Web: www.classcat.com  ;   ClassCatJP

 

 

Sentence Transformers 2.2 : 使用方法 : クラスタリング

Sentence-Transformers はセンテンスの小さなあるいは大きなセットのクラスタリングを実行するために様々な方法で利用できます。

 

k-Means (k-平均法)

kmeans.pyK-means クラスタリング・アルゴリズム を使用する例を含みます。K-Means は前もってクラスタ数が指定される必要があります。センテンス群はおおよそ同じサイズのグループにクラスタリングされます。

 

凝集型クラスタリング

agglomerative.py凝集型クラスタリング・アルゴリズム を使用した 階層型クラスタリング を使用するサンプルを示します。k-means とは対照的に、クラスタリングに対して閾値を指定できます : その閾値以下のクラスタはマージされます。このアルゴリズムはクラスタの数が未知の場合に有用であり得ます。閾値により、多くの小さくて粒子の細かいクラスタや粒子の粗いクラスタを持つかを制御できます。

 

高速クラスタリング

大規模なデータセットに対する凝集型クラスタリングは非常に遅いので、おそらく数千のセンテンスに対してだけ適用可能です。

fast_clustering.py では大規模なデータセットに対して調整されたクラスタリング・アルゴリズムを提示しています (50k センテンスで 5 秒以下)。センテンスの巨大なリストでそれは局所的コミュニティを探します : 局所的コミュニティは非常に類似しているセンテンスのセットです。

2 つのセンテンスが類似していると考えられるような、コサイン類以度の閾値を設定できます。また、局所的コミュニティに対して最小サイズを指定できます。これは大きな粗い粒子のクラスタか小さい粒子の細かいクラスタのいずれかを得ることを可能にします。

それを Quora Duplicate 質問 データセットに適用すると出力はこのようなものになります :

Cluster 1, #83 Elements
         What should I do to improve my English ?
         What should I do to improve my spoken English?
         Can I improve my English?
         ...

Cluster 2, #79 Elements
         How can I earn money online?
         How do I earn money online?
         Can I earn money online?
         ...
       
...

Cluster 47, #25 Elements
         What are some mind-blowing Mobile gadgets that exist that most people don't know about?
         What are some mind-blowing gadgets and technologies that exist that most people don't know about?
         What are some mind-blowing mobile technology tools that exist that most people don't know about?
         ...

 

トピック・モデリング

トピックモデリングはドキュメントのコレクション内のトピックを発見するプロセスです。

例は以下の図で示されます、これは 20 newsgroup データセットの識別されたトピックを示しています :

各トピックに対して、このトピックを說明する単語を抽出したいでしょう :

Sentence-Transformers はセンテンス, パラグラフや短いドキュメントのコレクションでこれらのトピックを識別するために使用できます。優れたチュートリアルについては、Topic Modeling with BERT とレポジトリ Top2VecBERTopic をご覧ください。

 

以上