0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Livedoorニュースコーパスで主成分分析 - 前準備 -

Last updated at Posted at 2019-12-02

#この記事について
前回、テキストデータの主成分分析に挑戦したのですが、
もっと別のテキストデータでやってみたいなということで、
株式会社ロンウイット様が公開されているLivedoorニュースコーパスを使って主成分分析に挑戦したいと思います。

その前処理として、1記事毎に分かれているテキストファイルの内容を順次読み込んで、形態素解析した後、1つのcsvファイルにまとめるということをやっていきたいと思います。

形態素解析ライブラリは、janomeを使用しました。

#参考

#Livedoorニュースコーパスのディレクトリ構成
上記のリンクよりファイルをダウンロードし、解凍すると、textフォルダ配下に、it-life-hackといった分類毎に分かれた9つのフォルダがあり、各フォルダ配下にその分類の記事が1記事1ファイル単位で格納されています。

#前処理プログラム

import pandas as pd
import numpy as np
import pathlib
import glob
from janome.tokenizer import Tokenizer
tnz = Tokenizer()

pth = pathlib.Path('c:/temp/text')

l = []
for p in pth.glob('**/*.txt') :
    # 記事データ以外はスキップ
    if p.name in ['CHANGES.txt','README.txt','LICENSE.txt']:
        continue
        
    # 記事データを開き、janomeで形態素解析⇒1行1単語の形式でリストに保持
    with open(p,'r',encoding='utf-8-sig') as f :
        l.extend([[p.parent.name, p.name, t.surface, t.part_of_speech] for s in f for t in tnz.tokenize(s)])

# リストをデータフレームに変換
df = pd.DataFrame(np.array(l))

# 列名を付与
df.columns = ['記事分類','ファイル名','単語','品詞']

# データフレームをcsv出力
df.to_csv('c:/temp/livedoor_corpus.csv', index=False)

出力結果

出力結果はこのような感じです。
出力結果.png

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?