SpacyでOOV用語の単語ベクトルを指定するにはどうすればよいですか?

フェラン

spacy新しい単語をベクトル化するためにロードする、事前にトレーニングされたword2vecモデルがあります。新しいテキストが与えられた場合nlp('hi').vector、単語「hi」のベクトルを取得するために実行ます

最終的には、事前にトレーニングしたモデルの語彙に存在しない新しい単語をベクトル化する必要があります。このシナリオでは、spacyデフォルトでゼロで満たされたベクトルになります。このデフォルトのベクトルをOOV用語に設定できるようにしたいと思います。

例:

import spacy
path_model= '/home/bionlp/spacy.bio_word2vec.model'
nlp=spacy.load(path_spacy)
print(nlp('abcdef').vector, '\n',nlp('gene').vector)

このコードは、単語「gene」の密なベクトルと単語「abcdef」の0でいっぱいのベクトルを出力します(語彙に存在しないため)。

ここに画像の説明を入力してください

私の目標は、欠落している単語のベクトルを指定できるようにすることです。したがって、単語 'abcdef'に対して0でいっぱいのベクトルを取得する代わりに、(たとえば)1でいっぱいのベクトルを取得できます。

ゴジョモ

SpaCyのデフォルトのすべてゼロのベクトルの代わりにプラグベクトルが必要な場合は、すべてゼロのベクトルを自分のものに置き換えるステップを追加するだけです。例えば:

words = ['words', 'may', 'by', 'fehlt']
my_oov_vec = ...  # whatever you like
spacy_vecs = [nlp(word) for word in words]
fixed_vecs = [vec if vec.any() else my_oov_vec 
              for vec in spacy_vecs]

なぜあなたがこれをしたいのか分かりません。単語ベクトルを使った多くの作業は、単に語彙外の単語を排除します。SpaCyのゼロベクトルを含む任意のプラグ値を使用すると、役に立たないノイズが追加される可能性があります。

また、OOV単語の処理を改善することが重要な場合は、FastTextなどの他の単語ベクトルモデルが、トレーニング中にサブ単語フラグメントに対して学習されたベクトルを使用して、OOV単語の何もない推測ベクトルを合成できることに注意してください。これは、よく知られている単語の語根から単語の要点を理解する方法と似ています。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

単語を削除するにはどうすればよいですか?Rベクトルで単語の後に続くものは何ですか?

分類Dev

文字列から単語ベクトルを取得するにはどうすればよいですか?

分類Dev

Word2Vecを使用して単一の単語の単一のベクトルを取得するにはどうすればよいですか?

分類Dev

単語のリストから最初の単語を抽出するにはどうすればよいですか?

分類Dev

ベクトル内のすべてのyesまたはnoをR内の別の単語に置き換えるにはどうすればよいですか?

分類Dev

ベクトル内の各文字列内で一意の単語のみを保持するにはどうすればよいですか

分類Dev

単語のベクトルを大文字のみで異なる大文字と小文字に置き換えるにはどうすればよいですか?

分類Dev

特定の単語で始まるすべてのクラスにルールを適用するにはどうすればよいですか?

分類Dev

Luceneのドキュメント用語ベクトルから位置を取得するにはどうすればよいですか?

分類Dev

Luceneのドキュメント用語ベクトルから位置を取得するにはどうすればよいですか?

分類Dev

インデックスで指定された2つの単語の間にテキストを取得するにはどうすればよいですか?

分類Dev

postgresqlで単語をそのルートに置き換えるにはどうすればよいですか?

分類Dev

postgresqlで単語をそのルートに置き換えるにはどうすればよいですか?

分類Dev

Pytrends:検索語ではなくトピックとして単語を指定するにはどうすればよいですか?

分類Dev

AngularJSスクリプトでベンガル語を使用するにはどうすればよいですか?

分類Dev

APL-文字列ベクトルで最長の単語を見つけるにはどうすればよいですか?

分類Dev

Railsのデフォルトの単語を変更するにはどうすればよいですか?

分類Dev

Luceneで複数単語の単語の頻度を取得するにはどうすればよいですか?

分類Dev

変数として指定した単語のみをgrepするにはどうすればよいですか?

分類Dev

.txt単語リストから単語を印刷するにはどうすればよいですか?

分類Dev

他の単語に似た単語を検索するにはどうすればよいですか?

分類Dev

単語を特定の単語に変更するにはどうすればよいですか?

分類Dev

文字列内の単語(単語のみ)を検索するにはどうすればよいですか?

分類Dev

入力した単語を単語リストと比較するにはどうすればよいですか?

分類Dev

用語リストの特定の用語に続くすべての用語を変更するにはどうすればよいですか?

分類Dev

単語のリストに基づいて文字列の単語をグループ化するにはどうすればよいですか?

分類Dev

大文字という単語の最初のアルファベットを作成するにはどうすればよいですか?

分類Dev

データベース内の特定の単語を削除するにはどうすればよいですか?

分類Dev

次のコードを修正して、アルファベットで長さ$ k $の単語を列挙するにはどうすればよいですか?

Related 関連記事

  1. 1

    単語を削除するにはどうすればよいですか?Rベクトルで単語の後に続くものは何ですか?

  2. 2

    文字列から単語ベクトルを取得するにはどうすればよいですか?

  3. 3

    Word2Vecを使用して単一の単語の単一のベクトルを取得するにはどうすればよいですか?

  4. 4

    単語のリストから最初の単語を抽出するにはどうすればよいですか?

  5. 5

    ベクトル内のすべてのyesまたはnoをR内の別の単語に置き換えるにはどうすればよいですか?

  6. 6

    ベクトル内の各文字列内で一意の単語のみを保持するにはどうすればよいですか

  7. 7

    単語のベクトルを大文字のみで異なる大文字と小文字に置き換えるにはどうすればよいですか?

  8. 8

    特定の単語で始まるすべてのクラスにルールを適用するにはどうすればよいですか?

  9. 9

    Luceneのドキュメント用語ベクトルから位置を取得するにはどうすればよいですか?

  10. 10

    Luceneのドキュメント用語ベクトルから位置を取得するにはどうすればよいですか?

  11. 11

    インデックスで指定された2つの単語の間にテキストを取得するにはどうすればよいですか?

  12. 12

    postgresqlで単語をそのルートに置き換えるにはどうすればよいですか?

  13. 13

    postgresqlで単語をそのルートに置き換えるにはどうすればよいですか?

  14. 14

    Pytrends:検索語ではなくトピックとして単語を指定するにはどうすればよいですか?

  15. 15

    AngularJSスクリプトでベンガル語を使用するにはどうすればよいですか?

  16. 16

    APL-文字列ベクトルで最長の単語を見つけるにはどうすればよいですか?

  17. 17

    Railsのデフォルトの単語を変更するにはどうすればよいですか?

  18. 18

    Luceneで複数単語の単語の頻度を取得するにはどうすればよいですか?

  19. 19

    変数として指定した単語のみをgrepするにはどうすればよいですか?

  20. 20

    .txt単語リストから単語を印刷するにはどうすればよいですか?

  21. 21

    他の単語に似た単語を検索するにはどうすればよいですか?

  22. 22

    単語を特定の単語に変更するにはどうすればよいですか?

  23. 23

    文字列内の単語(単語のみ)を検索するにはどうすればよいですか?

  24. 24

    入力した単語を単語リストと比較するにはどうすればよいですか?

  25. 25

    用語リストの特定の用語に続くすべての用語を変更するにはどうすればよいですか?

  26. 26

    単語のリストに基づいて文字列の単語をグループ化するにはどうすればよいですか?

  27. 27

    大文字という単語の最初のアルファベットを作成するにはどうすればよいですか?

  28. 28

    データベース内の特定の単語を削除するにはどうすればよいですか?

  29. 29

    次のコードを修正して、アルファベットで長さ$ k $の単語を列挙するにはどうすればよいですか?

ホットタグ

アーカイブ