Я пытаюсь сохранить данные и атрибуты Doc в двоичном виде, используя новый класс DocBin () в spacy
Ранее я сохранял данные с использованием pickle, но ищу более эффективный метод.
def serialize_to_disk ():
doc_bin = DocBin(attrs=["LEMMA", "ENT_IOB", "ENT_TYPE", "POS", "TAG"], store_user_data=True)
for doc in nlp.pipe(ff):
# print(doc.is_parsed) this DOES produce parsed docs
doc_bin.add(doc)
bytes_data = doc_bin.to_bytes()
print(type(bytes_data))
with open("bytes/test", "wb") as binary_file:
binary_file.write(bytes_data)
def deserialize_from_disk ():
nlp = spacy.blank("en")
with open("bytes/test", "rb") as f:
data = f.read()
doc_bin = DocBin().from_bytes(data)
docs = list(doc_bin.get_docs(nlp.vocab))
# this list does not have the tag data. Why?
return docs
когда я вызываю doc.is_parsed в десериализованном списке, он возвращает False. Перед сериализацией возвращается True