将自定义矢量从fasttext加载到spacy中

问题描述

我用fasttext创建了自己的单词向量,如下所示:

python3 -m spacy init-model de model --vectors-loc some_file.vec

我现在想用我的向量加载一个伪模型。为此,我将必须运行以下命令来创建一个spacy模型

nlp = spacy.load('model')

然后我应该能够像这样加载它:

some_file.vec

我的问题是,我需要将向量而不是模型输入命令(my_model.bin),但是我只有一个print(model["test"]) 文件,其中包含模型。 我知道我可以像这样从模型中获取特定的向量

private void uploadImage() {
   StorageReference reference = mStorage.child(System.currentTimeMillis()+"."+getExtension(imageUri));

uploadTask= reference.putFile(imageUri)
        .addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
            @Override
            public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {

               reference.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
                                              @Override
                                                public void onSuccess(Uri uri) {
                                                        
                                                        String uploadedImageUrl = uri.toString();
                                                        
            // Now you have your image in (uploadedImageUrl) variable so write your code to upload in firebaseDatabase and enjoy
                                                    }
                                                });

                Toast.makeText(AddImageActivity.this,"Image Uploaded",Toast.LENGTH_SHORT).show();

                Intent ii = new Intent(AddImageActivity.this,MainActivity.class);
                startActivity(ii);
                finish();

            }
        })
        .addOnFailureListener(new OnFailureListener() {
            @Override
            public void onFailure(@NonNull Exception exception) {
                // Handle unsuccessful uploads
                // ...
            }
        });

,并且可以遍历所有单词以获得所有向量。但是

  1. 我不知道.vec文件的外观如何
  2. 我相信必须有更好的方法解决这个问题。

非常感谢您的帮助

解决方法

我刚刚意识到,我只需要将.bin文件转换为.vec文件。我不知道这很容易做到。 here发布的代码对我有帮助