Word

#NeuralNetwork #Embeddings #Analysis #NLP #ACL
Issue Date: 2017-12-30 Skip-Gram – Zipf + Uniform = Vector Additivity, Gittens+, ACL'17 Comment解説スライド:http://www.lr.pi.titech.ac.jp/~haseshun/acl2017suzukake/slides/09.pdfEmbeddingの加法構成性(e.g. man+royal=king)を理論的に理由づけ

(解説スライドより)
#NeuralNetwork #Embeddings #NLP #RepresentationLearning #NeurIPS
Issue Date: 2017-12-29 Poincar'e Embeddings for Learning Hierarchical Representations, Nickel+, NIPS'17 Comment解説: http://tech-blog.abeja.asia/entry/poincare-embeddings

解説スライド:https://speakerdeck.com/eumesy/poincare-embeddings-for-learning-hierarchical-representations

実装:https://github.com/TatsuyaShirakawa/poincare-embedding

・階層構造を持つデータ(WordNet上の上位語下位語、is-a関係など)を埋め込むために、双曲空間を使った話(通常はユークリッド空間)。

・階層構造・べき分布を持つデータはユークリッド空間ではなく双曲空間の方が効率的に埋め込める。

・階層構造・べき分布を持つデータを双曲空間(ポアンカレ球モデル)に埋め込むための学習手法(リーマン多様体上でSGD)を提案

・WordNet hypernymyの埋め込み:低次元でユークリッド埋め込みに圧勝

・Social Networkの埋め込み:低次元だと圧勝

・Lexical Entailment:2つのデータセットでSoTA

(解説スライドより)image



データとして上位・下位概念を与えていないのに、原点付近には上位語・円周付近には下位語が自然に埋め込まれている(意図した通りになっている)。

ポアンカレ円板では、原点からの距離に応じて指数的に円周長が増加していくので、指数的に数が増えていく下位語などは外側に配置されると効率的だけど、その通りになっている。



image





#Article #Embeddings #Library #Repository
Issue Date: 2024-12-28 floret, explosion, 2021 Commentfasttextを拡張したもの。本家fasttextがアーカイブ化してしまったので、代替手段に良さそう。元ポスト:https://x.com/fukkaa1225/status/1872222983772938551?s=46&t=Y6UuIHB0Lv0IpmFAjlc2-Q

#Article #NeuralNetwork #Embeddings #NLP #RepresentationLearning #STS (SemanticTextualSimilarity) Issue Date: 2024-11-20 Zipf 白色化:タイプとトークンの区別がもたらす良質な埋め込み空間と損失関数, Sho Yokoi, 2024.11 Summary単語埋め込み空間の歪みを修正することでタスクのパフォーマンスが向上することを示す。既存のアプローチは単語頻度が均一であると仮定しているが、実際にはZipfの法則に従う非均一な分布である。Zipfに基づく頻度で重み付けされたPCAホワイトニングを行うことで、パフォーマンスが大幅に向上し、ベースラインを超える。情報幾何学的な観点から、低頻度の単語を強調する理論を提案し、人気の自然言語処理手法がこの理論に基づいて機能することを示す。 Comment元論文: [Yokoi, Bao, Kurita, Shimodaira, “Zipfian Whitening,” NeurIPS 2024. ](https://arxiv.org/abs/2411.00680)単語ベクトルを活用して様々なタスクを実施する際に一般的な全部足して個数で割るような平均ベクトル計算は、
個々の単語頻度を一様と仮定した場合の"期待値"と等価であり、
これは現実世界の単語頻度の実態とは全然異なるから、きちんと考慮したいよね、という話で
image
頻度を考慮するとSemantic Textual Similarity(STS)タスクで効果絶大であることがわかった。
image

では、なぜこれまで一様分布扱いするのが一般的だったのかというと、
実態として単語埋め込み行列が単語をタイプとみなして構築されたものであり、
コーパス全体を捉えた(言語利用の実態を捉えた)データ行列(単語をトークンとみなしたもの)になっていなかったことに起因していたからです(だから、経験頻度を用いて頻度情報を復元する必要があるよね)、
という感じの話だと思われ、
image

経験頻度を考慮すると、そもそも背後に仮定しているモデル自体が暗黙的に変わり、
低頻度語が強調されることで、単語に対してTF-IDFのような重みづけがされることで性能が良くなるよね、みたいな話だと思われる。
<img src=\"https://github.com/user-attachments/assets/7495f250-d680-4698-99c5-a326ead77e12\" alt=\"image\" loading=\"lazy\">余談だが、昔のNLPでは、P\(w,c)をモデル化したものを生成モデル、テキスト生成で一般的なP\(w|c)は分類モデル(VAEとかはテキスト生成をするが、生成モデルなので別)、と呼んでいたと思うが、いまはテキスト生成モデルのことを略して生成モデル、と呼称するのが一般的なのだろうか。