Jigsaw Rate Severity of Toxic Comments(文字列の変換)
言語使うものとかもやってみようかな~と。初心者向けの簡単にスコア提出までの流れをまとめてるNotebookをみていく。
Most VoteのNotebookをみると1. TF-IDF 2. リッジ回帰 3. RoBERTaの3つがメインっぽい。とりあえずTF-IDFとリッジを使ってるNotebookを手を動かしてみようと思う。
文字データをきれいに
文字列の変換も色々書き方がアルンデスネ。ちょっと細かくみれてないです
def clean(data, col): # Replace each occurrence of pattern/regex in the Series/Index # Clean some punctutations data[col] = data[col].str.replace('\n', ' \n ') data[col] = data[col].str.replace(r'([a-zA-Z]+)([/!?.])([a-zA-Z]+)',r'\1 \2 \3') # Replace repeating characters more than 3 times to length of 3 data[col] = data[col].str.replace(r'([*!?\'])\1\1{2,}',r'\1\1\1') # Add space around repeating characters data[col] = data[col].str.replace(r'([*!?\']+)',r' \1 ') # patterns with repeating characters data[col] = data[col].str.replace(r'([a-zA-Z])\1{2,}\b',r'\1\1') data[col] = data[col].str.replace(r'([a-zA-Z])\1\1{2,}\B',r'\1\1\1') data[col] = data[col].str.replace(r'[ ]{2,}',' ').str.strip() return data # the function returns the processed value