Die meisten ähnlichen Wörter, angesichts der Vektor, der das Wort (und nicht das Wort selbst)

Mithilfe der gensim.models.Word2Vec Bibliothek haben Sie die Möglichkeit, um ein Modell und ein "Wort", für die Sie möchten, um die Liste der meisten ähnlichen Wörter:

model = gensim.models.Word2Vec.load_word2vec_format(model_file, binary=True)
model.most_similar(positive=[WORD], topn=N)

Ich Frage mich, ob es eine Möglichkeit geben das system als Eingabe des Modells und ein "Vektor", und bitten Sie den Systemadministrator, die Rückkehr der top-ähnliche Wörter (die Ihre Vektoren ist sehr nah an dem gegebenen Vektor). Etwas ähnliches wie:

model.most_similar(positive=[VECTOR], topn=N)

Ich brauche diese Funktion für ein zweisprachiges Umfeld, in dem ich 2 Modelle (Englisch und Deutsch), sowie einige englische Wörter, für die ich brauche zu finden, die Ihre meisten ähnlich deutschen Kandidaten.
Was ich will zu tun ist, um den Vektor, der jedes englische Wort aus dem englischen model:

model_EN = gensim.models.Word2Vec.load_word2vec_format(model_file_EN, binary=True)
vector_w_en=model_EN[WORD_EN]

und dann-Abfrage wird das Deutsche Modell mit diesen Vektoren.

model_DE = gensim.models.Word2Vec.load_word2vec_format(model_file_DE, binary=True)
model_DE.most_similar(positive=[vector_w_en], topn=N)

Habe ich implementiert diese in C unter Verwendung der original-Abstand-Funktion in der word2vec Paket. Aber, nun muss ich es in python, um der Lage sein zu integrieren, Sie mit meinen anderen Scripten.

Wissen Sie, ob es bereits eine Methode in gensim.models.Word2Vec Bibliothek oder von anderen ähnlichen Bibliotheken, die dies tut? Brauche ich, um es zu implementieren, indem ich mich?

  • Tut most_similar(..) Gegenzug die Punktzahlen für Sie als auch? Ich bin Malte Sie eine benutzerdefinierte Funktion schreiben Sie, dass Anrufe most_similar für jedes Wort in dem Vektor, fügt die Ergebnisse ALLE auf die gleiche Liste und sortiert dann in der Partitur und zurück.
  • Dank nbryans. Wenn es keine Methode, die dies tut, ich habe es zu implementieren, wie folgt: für jedes Wort im Vokabular, um seine entsprechenden Vektor aus dem Modell. Berechne die Kosinus-ähnlichkeit des input Vektor und die zurückgegebenen. Und dann wieder die meisten top-similars. Aber, dachte ich, dass solch eine Methode vorhanden sein; die scheint nicht.
  • Hi amin, hast du umgesetzt, deine Methode? wenn dem so ist, dann bin ich daran interessiert zu wissen, warum verwenden Sie Kosinus-ähnlichkeit statt der euklidischen Distanz?
  • Hi @MiNdFrEaK, ich es umgesetzt habe. naja, eigentlich war es keine große Sache, aber damals war ich gerade gefragt, ob es schon umgesetzt und ich kann es aus dem Regal. Leider eine sehr kurze Zeit, danach habe ich aufgehört zu arbeiten, ist das Thema. Ich muss schauen in meine codes für meine Implementierung. Ich werde Sie wissen lassen, sobald ich es finde.
InformationsquelleAutor amin | 2016-06-14
Schreibe einen Kommentar