2019-01-01から1年間の記事一覧

分かち書きする言語しない言語のトークン化を統一的に扱う方法を妄想してみる

日本語で文を書くときには、分かち書き(文節や単語の間にスペースを入れる)をしないことが多い。 一方で英語などでは分かち書きをする。 ニューラルな言語処理の文脈で英語と日本語の語彙を共有して扱うとき1、この違いは地味に扱いにくい。 実は、分かち書…

Google ColabのTPUでtransformerを学習

注: この記事は2019年4月29日現在のColabとTensorflow(1.13)での話です。 概要 kerasで書かれたtransformerをtf.kerasで書き直してGoogle Colabの無料で使えるTPU上で学習させた。 デモとして「Wikipedia日英京都関連文書対訳コーパス」を使って英→日翻訳を…

Sentencepieceの水増しをBERTで試してみる

前回、事前学習済みのbertモデルbert-japaneseを使って対話破綻検知チャレンジ(Dialog Breakdown Detection Challenge)コーパスでのファインチューニングを行った。 結果は決して悪いものではなかったが、当時(DBDC2)のトップモデルの性能には届かなかった。…

BERTで対話破綻検知

対話破綻検知チャレンジは人と対話システムとの雑談対話に対して○、△、×の3値分類を行うコンペティションで今まで3回行われている。 データが公開刺されいるので、今回はこのタスクについてBERTをファインチューニングしてみる。 対話破綻検知チャレンジ(Dia…

新辞林

ノイズが少ない日本語語義リストを探していた。 もちろんwikipediaでも良いのだが、もう少し基本的な語彙を含んでいるものがいい。 そこでCD-ROM付き辞典がいいのではと思い付いた。例えば、以下は良さそうだ。 旺文社 国語辞典 第9版 三省堂 ハイブリッド…

sentencepiece APIの詳細を調べる (bert-japanese関連)

bert-japaneseのモデルを使っているとsentencepieceへの入力と出力が異なる場合がしばしばあって、文字数のずれが気になったのでsentencepieceについてもう少し調べた。 sentencepieceのNormalizerは何をしてる sentencepieceのテキストのノーマライズ処理は…

bert-japaneseの学習済みsentencepieceモデルを眺める

bert-japaneseでは日本語のテキストのトークン化にsentencepieceが使われる。 日本語版wikipedia(リポジトリのconfig.iniによると20181220のダンプ)で学習されたsentencepieceのモデルが作者のサイトのgoogle driveで公開されている。 今回はこのsentencepie…

BERTのファインチューニング

時間に余裕ができたのでBERTを触ってみる。 日本語での性能が気になるのでyoheikikutaさんの学習済みモデルとリポジトリを基とする。 Livedoorニュースコーパスの分類タスクのファインチューニング コーパス Livedoorニュースコーパスは日本語テキストコーパ…