

**使用環境**  
jupyternotebook  
windows10

言葉では非常に説明しづらいので出力結果を見ていただきたいです。

[code]

    from gensim.models.doc2vec import Doc2Vec
    from gensim.models.doc2vec import TaggedDocument
    
    import MeCab
    import csv
    
    mt = MeCab.Tagger()
    
    reports = []
    with open("allcomment.tsv",mode='r',encoding='utf-8') as f:
        # reports.tsvには一行にID,文章がtab区切りで保存されている
        reader = csv.reader(f, delimiter="\t")
        for report_id, report in reader:
            words = []
            node = mt.parseToNode(report)
            while node:
                if len(node.surface) > 0:
                    words.append(node.surface)
                node = node.next
            stopword = ['評価','使用','デザイン','配慮','商品','形状','機能','機能' '使用', 'ほとんど','W']
            words2 = [token for token in words if token not in stopword]
            # wordsが文章の単語のリスト,tagsには文章IDを指定
            reports.append(TaggedDocument(words=words2, tags=[report_id]))
            print(reports)
    
[/code]

出力結果

[code]

    [TaggedDocument(words=['過剰', '装飾', '重視', '考慮', '新しい', 'レンズ', 'フレーム', '関係', '出来', '軽量', '掛け', '心地', '技術', '反映', '真面目', '眼鏡', '印象', '受ける', 'フレーム', '視界', '妨げ', 'サイドリブ', '特徴', '外観', '生かし', '美しい', '形体', '眼鏡', 'フレーム', '新しい', '印象', '生み出し'], tags=['1'])]
    [TaggedDocument(words=['過剰', '装飾', '重視', '考慮', '新しい', 'レンズ', 'フレーム', '関係', '出来', '軽量', '掛け', '心地', '技術', '反映', '真面目', '眼鏡', '印象', '受ける', 'フレーム', '視界', '妨げ', 'サイドリブ', '特徴', '外観', '生かし', '美しい', '形体', '眼鏡', 'フレーム', '新しい', '印象', '生み出し'], tags=['1']), TaggedDocument(words=['眼鏡', 'フレーム', '求め', '要素', '調和', '新しい', 'レンズ', '留め', 'パーツ', '新しく', '開発', 'いかさ', 'オール', 'チタン', '製', 'あたたか', '材質', '生かし', '印象', '受ける'], tags=['2'])]
    [TaggedDocument(words=['過剰', '装飾', '重視', '考慮', '新しい', 'レンズ', 'フレーム', '関係', '出来', '軽量', '掛け', '心地', '技術', '反映', '真面目', '眼鏡', '印象', '受ける', 'フレーム', '視界', '妨げ', 'サイドリブ', '特徴', '外観', '生かし', '美しい', '形体', '眼鏡', 'フレーム', '新しい', '印象', '生み出し'], tags=['1']), TaggedDocument(words=['眼鏡', 'フレーム', '求め', '要素', '調和', '新しい', 'レンズ', '留め', 'パーツ', '新しく', '開発', 'いかさ', 'オール', 'チタン', '製', 'あたたか', '材質', '生かし', '印象', '受ける'], tags=['2']), TaggedDocument(words=['視力', '矯正', '及び', 'サングラス', '歳', '代', '歳', '代', '対象', '若者', '自分', 'ファッション', 'あわせる', '個性', '掛け', 'つくり', '良', '売り', '考慮', '新しい', '試み', '見'], tags=['3'])]
    
[/code]

上記のように[(1)],[(1,2)],[(1,2,3)]...と出力されます。  
このデータを用いてDoc2vecでモデルを作成したいのですが、この状態の  
'reports'をモデル作成に用いても問題はないのでしょうか？  
問題があるとすれば、最後の[(1,2,3...n)]だけを出力するにはどうすれば良いでしょうか？  
どなたかご教授いただけると幸いです。


CC BY-SA 4.0
2019-11-14T11:11:40.950
60517
2019-11-14T11:11:40.950
36375
question
python 自然言語処理
pythonでtaggeddocumentが階段のような構造で出力される