Boost camp週間6追加学習
Ubuntu Metacbのインストール
Macにインストールするのは少し簡単ですが、WindowやUbuntuにJDKをインストールする手間や追加の設定が不便になります.この問題を解決するためのハーブのリンクを共有します.
Ubuntu 18.04 Mecabインストール
コードコメント
コード#コード#の様々なコードについてコメントします.
これはRNNを使用して言語モデルを作成するコードで、RNNモデルコードにforwardに対応するコードが表示されます.
def forward(self, input, hidden):
emb = self.drop(self.encoder(input))
output, hidden = self.rnn(emb, hidden)
output = self.drop(output)
decoded = self.decoder(output)
decoded = decoded.view(-1, self.ntoken)
return F.log_softmax(decoded, dim=1), hidden
RNNにinputとhidden stateを加えます.各Dimensionは次のようになります.Input : (Seq_length, Batch)
hidden : (Num_layers×\times×dir, Batch, Hidden_dimension)
この場合、InputはEncoderを通過し、Encoderはnnを通過します.Embeddingを使用して単語ベクトルを埋め込みdimに変換します.したがって,embの次元は以下のようになる.
Emb:(Sequence Length,Batch size,Embedding dimension)Emb : (Sequence\Length, Batch\size, Embedding\dimension)Emb:(Sequence Length,Batch size,Embedding dimension)
このときoutputは、時間ステップごとのhidden statesセットとして表示されます.
その後、言語モデルに基づいて、各時間ステップのhidden stateを復号する.Hidden dimにデコード×\times×ntokens nn.線形変換モジュールは、結果をソフトmaxで特定の単語に変換します.decodedの結果は(Seq length,Batch,ntoken)の形式であり,view関数を用いて(−1,ntoken)の2次元データに変換される.
例えば、Seq lenは35、batch sizeは20、Num layers×\times×dirを1,ntokenを3000とする
入力:(35,20)Decode(最終):(700300)入力:(35,20)Decoded(最終):(700300)入力:(35,20)Decoded(最終):(700300)
すなわち,このモデルにより,任意のseq lenを有するbatch sizeの文データを入力すると,その単語の後に予め指定されたCorpusのサイズ(ontoken)に基づいて予測することができる.
NSMC応用モデル
Reference
この問題について(Boost camp週間6追加学習), 我々は、より多くの情報をここで見つけました https://velog.io/@dayday/부스트캠프-week6-추가학습テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol