###### tags: `大学` # 聞き返しボット ``` git clone https://github.com/aozorabunko/aozorabunko.git cd aozorabunko ``` `cleasing.py` ```python= import glob import MeCab import re files = glob.glob("./cards/*/files/*.html") for html_file in files: f = open(html_file, 'r', encoding='Shift-JIS') data = f.read() p = re.compile(r"<[^>]*?>") txt = p.sub("", data) clean_txt = re.sub(r"[,.!?: ;' ?\t!\n]", "", txt) print(clean_txt) ``` ```shell= python3 cleasing.py >> all_clean.txt ``` `output:` ``` 竹越與三郎日本の眞の姿日本の眞の姿竹越與三郎只今後藤さんから御紹介を得まして、頗る過當な御評價でくすぐつたい思ひを致しました。併ながら名物に旨いものなしと申しますから、御紹介通りのことを申上げることが出來るか、頗る自信を缺いて居ります。私は今晩は日本の眞の姿と云ふことに付てお話を申上げたいのであります。... ``` `mecab_wakati.py` ```python= import MeCab import re tagger = MeCab.Tagger("-Owakati") f = open("all.txt","r") read_text = f.readlines() f.close() for text in read_text: text = re.sub(r"[a-xA-Z0-9_]", "", text) result = tagger.parse(text) with open("read_test_result.txt", mode="a") as write_file: result = result.replace(" ", "\n") print(result) ``` `output:` ``` 竹越 與三郎 日本 の 眞 の 姿 日本 の 眞 の 姿 竹越 與三郎 ``` `delete_duplicates.py` ```python= import re f = open("all_wakati.txt","r") read_text = f.readlines() read_text = [line.strip() for line in read_text] read_text = set(read_text) s = str(read_text) result = re.sub(r"['}{ ]","",s) result2 = result.replace(",","\n") print(result2) ``` `output:` ``` カラア 膜質 かすむ 甘やかし 圧巻 かいな 八丁 ピタゴラス 急 たんす 三流 ``` `kanji2kana.py` ```python= from pykakasi import kakasi import re f = open('kanji_goi.txt') text = f.readline() kakasi = kakasi() # モードの設定:J(Kanji) to K(Katakana) kakasi.setMode('J', 'K') conv = kakasi.getConverter() while text: text = conv.do(text) text = text.rstrip("\n") print(text) text = f.readline() f.close ``` `word2vowel.py` ```python= f = open('uniq_word_test.txt') line = f.readline() while line: print(line) line = f.readline() f.close ``` ## 大量の語彙から母音を作成 `goi2vowel.py` ```python= from pykakasi import kakasi import re import kana2vowel f = open('goi.txt') text = f.readline() kakasi = kakasi() # モードの設定:H(Hiragana) to K(Katakana) kakasi.setMode('H', 'K') conv = kakasi.getConverter() while text: text = conv.do(text) hira_val = kana2vowel.kana2vowel(text) text = hira_val.rstrip("\n") print(text) text = f.readline() f.close ``` ``` カラア マクシツ かすむ アマヤかし アッカン かいな ハッチョウ ``` 変換後↓ ``` アアア アウイウ アウウ アアアアイ アッアン アイア アッオウ ```