Doc2Vecのモデルからタグの一覧だけを取り出す。

タグを取り出すには、doctagsを使用します。

以下のソースのようにかけは既存のモデルのそれぞれの分散表現につけたタグの一覧のみ表示することができます。

model = Doc2Vec.load(' ')

for i in model.docvecs.doctags:
print(i)

後書き

Doc2Vecのタグを最初は通常のidで管理していたのですが、分散表現作成後の分類がただのファイルiDだと扱いづらかったので、タグはファイル名などにしました。

その際に、タグの取り出し方も必要だったのでちょっとメモっておきます。

ちなみに、そもそもDoc2Vecのタグにファイル名など文字列を指定する場合は、TaggedDocumentの設定を以下のようにすると可能です。

#例えば事前にファイル名のリストを作っておく
fileNameLists = ["apple.txt","banana.txt",...]

#そしてTaggedDocumentの設定時に以下のようにする。
documents = [TaggedDocument(doc, tags=[fileNameLists[i]]) for i, doc in enumerate(sentences)]

これで、文書idが分かっても元のファイルがわかんねぇなんてことが避けられます。