日本語x-vector抽出器により声優統計コーパスからx-vectorを抽出してPaCMAPで可視化した話

はじめに

次元削減の新たな手法として,PaCMAPの存在を知った.

github.com

以前の記事にて,声優統計コーパスを対象に,次元削減手法の1つであるUMAPを使ってxvectorの可視化を試みた.

tam5917.hatenablog.com

今回はPaCMAPで同様の可視化を試みたので,その結果を示す.

実装

以下のリポジトリに置いてある.

github.com

  • plot_pacmap.py ... xvectorを話者ごとに可視化

  • plot_pacmap_all.py ... 全話者のxvectorを可視化

可視化例

図1に声優統計コーパス3話者から抽出したx-vectorを可視化した例を示す.3話者とは「fujitou, tsuchiya, umemura」の3名である.

図1. PaCMAPによるx-vectorの可視化(声優統計コーパス3話者)

参考まで,図2にUMAPにより可視化した例を示す(n_neighbors=10).

図2. UMAPによるx-vectorの可視化(声優統計コーパス3話者)

PaCMAPのfit時のパラメータは全てdefault値である.ちなみにPaCMAPのn_neighborsはデフォルト値が10であり,UMAPのn_neighbors値はそれを受けて揃えてみた.

上図を見比べると,PaCMAPもきれいにクラスタに分かれているが,UMAPのときと比べて一部のクラスタで形状が細長く伸びているのが興味深い.3話者の「happy」クラスタが近接する(ように見える)可視化が得られたのもまた興味深い.これらはUMAPにはなかった特徴である.もっとも次元削減した空間における見かけの距離に,どれほどの意味があるかは分からない.今後,デフォルト値からパラメタを変えて可視化の様子を観察する楽しみもあるだろう.

ちなみに体感ではあるがPaCMAPのほうがfitにかかる時間が短い(高速).

おわりに

これからは次元削減・可視化のツールとしてPaCMAPも使っていきたい.