2016-10-30 9 views
2

Gensim의 doc2vec 방법을 사용하여 한 줄에 한 문장 씩 들어있는 텍스트 파일을 읽습니다. 그것은 키가 토큰 화 된 용어 목록이고 값이 문장 번호 인 사전으로 파일을 읽습니다. 새 파일의python gensim doc2vec에서 원본 문장 검색 taggedlinedocument

from gensim import utils 
    from gensim.models.doc2vec import LabeledSentence,TaggedLineDocument 
    from gensim.models import Doc2Vec 
    new_file = open('new_file.txt','w') 
    with open('myfile.txt','r') as inp: 
     for line in inp: 
      utils.simple_preprocess(line) 
      file1.write(str(utils.simple_preprocess(line)) + "\n") 
    file1.close() 

예 출력 : 여기에

내 코드입니다

s = TaggedLineDocument('myfile.txt') 
for k,v in s: 
    print k, v 

예 출력 :

다음

[u'hi', u'how', u'are', u'you'] 
[u'its', u'such', u'great', u'day'] 
[u'its', u'such', u'great', u'day'] 
[u'its', u'such', u'great', u'day'] 

내가 gensim의 taggedlinedocument 기능에 그 목록을 공급

[u'hi', u'how', u'are', u'you'] [0] 
[u'hi', u'how', u'are', u'you'] [1] 
[u'hi', u'how', u'are', u'you'] [2] 
[u'its', u'such', u'a', u'great', u'day'] [3] 
[u'its', u'such', u'a', u'great', u'day'] [4] 

질문 : 태그 ID (예 : 0)가 주어지면 원래 문장을 어떻게 다시 얻을 수 있습니까?

답변

1

Gensim의 Word2Vec/Doc2Vec 모델은 코퍼스 데이터를 저장하지 않습니다. 여러 번 통과시켜 모델을 교육합니다. 원본 텍스트를 가져와야하는 경우 자체 데이터 구조를 사용해야합니다.