分析コードのまとめていく.前処理編
最近ずっとテキストデータの分析を行なっていた.自分の備忘用にコードをまとめておく.
まずは前処理からだ.
# テキストデータ 設定
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)