分析コードのまとめていく.前処理編


最近ずっとテキストデータの分析を行なっていた.自分の備忘用にコードをまとめておく.

まずは前処理からだ.

# テキストデータ 設定
full_text = """

解析対象の文章を記載.(英文のみ)

"""
import re
import unicodedata

def fullwidth_to_halfwidth(full_text):
    """
    全角を半角に変換する関数
    """
    return full_text.translate(str.maketrans(
        'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
        'Abcdefghijklmnopqrstuvwxyz'
        '0123456789'
        ',.!?:;”“’‘()[]{}〈〉《》「」『』【】+-='
        '¥%#@&*',
        'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
        'abcdefghijklmnopqrstuvwxyz'
        '0123456789'
        ',.!?:;""\'\'()[]{}<>《》「」『』【】+-='
        '¥%#@&*'
    ))

def preprocess_text(text):
    """
    テキストを前処理する関数
    """
    # 全角を半角に変換
    text = fullwidth_to_halfwidth(text)

    # 小文字に変換
    text = text.lower()

    # 特殊文字や不要な空白の削除
    text = re.sub(r'[\r\n\t]', ' ', text)  # 改行、タブをスペースに置換
    text = re.sub(r'[^a-zA-Z0-9\s,.!?]', '', text)  # 英数字と基本的な句読点以外を削除
    text = re.sub(r'\\', '', text)  # バックスラッシュを削除
    text = re.sub(r'\s+', ' ', text).strip()  # 複数のスペースを一つにまとめる

    # 正規化(必要に応じて)
    text = unicodedata.normalize('NFKC', text)

    return text

def save_text_to_file(text, filename):
    """
    テキストをファイルに保存する関数
    """
    with open(filename, 'w', encoding='utf-8') as file:
        file.write(text)


# テキストの前処理
processed_text = preprocess_text(full_text)

# 前処理したテキストをファイルに保存
save_text_to_file(processed_text, 'processed_text.txt')

# 結果の表示
print(processed_text)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です