GitHubの公開レポジトリ

GitHubで公開しているレポジトリのうちいくつかを紹介します。

WAT2017

アジア言語の機械翻訳ワークショップでの英日翻訳タスク(shared task)に用いたコード。 Googleにより開発されたseq2seqをもとに実装されている。

工夫として

が実装されている。

実験では、これらの工夫の効果に加えて、学習時のバッチサイズが与える影響についても評価を行った。

論文: A Bag of Useful Tricks for Practical Neural Machine Translation: Embedding Layer Initialization and Large Batch Size

Locally linear mapping

CoNLL2019において提案した、2つの埋め込み空間を横断する写像(locally linear mapping)の実装。 2つの空間に共有されている語彙があると仮定し、写像したい単語とその周辺単語との 局所的な関係性 を保持する様に写像先の埋め込みを学習する。

論文では事前学習した多言語単語分散表現(e.g., 日英)の埋め込み空間と、英語で学習したニューラルネットワークの埋め込み空間の間で写像を適用し、タスクに最適化された埋め込み層をもつ多言語モデルを実現した。 具体的には、両埋め込み空間の英語の語彙を共有語彙とし、日本語の単語を写像した。

このレポジトリは、写像部分のみを含む。実験の再現用コードはCross-lingual model using cross-task embedding projectionを参照。

論文: Multilingual model using cross-task embedding projection

Cross-lingual model using cross-task embedding projection

CoNLL2019論文の再現コード。

事前学習した多言語単語分散表現(e.g., 日英)の埋め込み空間と、 英語で学習したニューラルネットワークの埋め込み空間の間でlocally linear mapping (上記)を適用し、 タスクに最適化された埋め込み層をもつ多言語モデルを実現した。 具体的には、両埋め込み空間の英語の語彙を共有語彙とし、日本語の単語を写像した。

実験では、文書分類タスクと評判分析タスクにおいて、計14言語で評価を行い精度向上を確認した。

写像部分のコードについてはLocalliy linear mappingを参照。

論文: Multilingual model using cross-task embedding projection

Subword alignment based cross-lingual word embeddings

CICLING2019論文の再現コード。

多言語単語分散表現の学習において、異なる言語の単語間の表層アライメントを用いる。

異なる言語であっても近い言語対であれば語源を同じくする単語(de: garten - en: garden)や、文化的な交流のある言語対デあれば借用語(ja: コミュニケーション - en: communication)や固有名詞(ja: バラク・オバマ - en: Barack Obama)などが存在する。 これらの単語は言語間で意味のゆらぎが少なく、多言語単語分散表現の学習に重要な特徴となる可能性がある。 これらを活用するために、異なる言語の単語間の表層アライメントを用いて多言語単語分散表現の学習をより高精度化する手法を構築した。

具体的には、最初に学習した多言語単語分散表現を用いて対訳辞書を構築し、その対訳辞書を教師データとして表層アライメントモデルを学習した。 この表層アライメントモデルを用いて各単語対がどれだけ表層アライメントが取れているかを計算し、そのスコアによって対訳辞書のフィルタリングを行う(表層アライメントが取れている単語のみを含む対訳辞書を構築)。 得られた対訳辞書を教師データとして多言語単語分散表現を再学習する。

論文: Unsupervised Cross-lingual Word Embeddings Based on Subword Alignment