2017-08-27 9 views
0

私はコーパスがあり、文字から始まる単語の埋め込みを見つけたいと思います。ですから、私は一連の文字を入力として持っていて、多次元空間に投影したいのです。既に学習された単語埋め込みを使用して文字から単語埋め込みを学習する

初期設定として、すでに学習した単語の埋め込み(たとえば、Googleの埋め込み)に合わせたいと思います。

私はいくつかの疑問があります。

  1. を私は入力シーケンスの各入力 文字のベクトルを埋め込む文字を使用する必要がありますか? を単純にasciiまたはutf-8エンコーディングを使用すると問題になりますか? seq2seq、自動:入力 ベクトル定義も何にもかかわらず
  2. は、いくつかのオプションが、1つは、より良い選択であるイムわからない があり、適切なモデルを選択することが には本当に紛らわしいです(..、VEC、アスキーを埋め込みます)エンコーダ、lstm、 マルチリグレッサ+ lstm?
  3. ケラスまたはテンソルフローでサンプルコードを教えてください。

答えて

0

私は、それぞれの質問に答える:

  1. あなたは文字の類似性(あまりにも発音の類似の領域は遠くの親戚)を活用する場合は、埋め込み層を必要としています。エンコーディングは記号入力であり、埋め込みは連続入力です。象徴的な知識では、距離(または類似性)の概念がないためにあらゆる種類の汎化が不可能ですが、埋め込みでは同様の入力で同様に振舞うことができます(一般化する)。しかしながら、入力空間は非常に小さいので、短い埋め込みで十分である。

  2. このモデルは、キャプチャしたい現象の種類によって大きく異なります。私が文献で頻繁に見ているモデルで、別の作業でうまく機能しているように見えるモデルは、文字の上に線状のレイヤーがある多層の双方向のlstmです。

  3. コードはTensorflowのすべてのRNN実装に似ています。 Tensorflowのチュートリアルhttps://www.tensorflow.org/tutorials/recurrentを起動するとよいでしょう。双方向を作成するための機能は経験から、私はキャラクターモデルを使用して単語ベースのワード埋め込みに合わせて問題を抱えていたhttps://www.tensorflow.org/api_docs/python/tf/nn/static_bidirectional_rnn

です。なぜなら、意味ベースの類似性がなければ、単語ベースのモデルは形態学的に類似した単語を非常に遠くに置くからです。形態学的に類似した入力を非常によく区別できない(埋め込み空間に非常に近い)ため、文字ベースのモデルはそれを行うことができない。

これは、文献では、単語モデルを「プラス」モデルではなくプラスモデルとして使用することが多い理由の1つです。文字モデルが意味論的類似性と形態的類似性の両方を捕捉するのに十分である場合、これはオープンな研究領域です。

+0

返事をいただきありがとうございました。しかし、本当に文字埋め込みが必要なのでしょうか、言い換えれば、なぜこの場合の文字類似性の一般化が必要ですか? –

関連する問題