基本コマンド実行を想定されて組まれていますが、PythonでできているからPythonから叩けるんじゃね?って思ったので試したら結構難しい。。。
とりあえず試行錯誤のすえ、うまくいった感じのログだけ残す
from subword_nmt.learn_bpe import learn_bpe import sys input_data = """吾輩 わがはい は 猫 で ある 。 名前 は まだ 無い 。 どこ で 生れ た か とんと 見当 けん とう が つか ぬ 。 何 でも 薄暗い じめじめ し た 所 で ニャーニャー 泣い て いた事 だけ は 記憶 し て いる 。 吾輩 は ここ で 始め て 人間 という もの を 見 た """ sys.stdin = input_data.split('\n') learn_bpe(infile=sys.stdin, outfile=sys.stdout, num_symbols=3000, min_frequency=2, verbose=True, is_dict=False, total_symbols=False) # 実行すると下記出力される # #version: 0.2 # 吾 輩</w> # ニ ャ
僕が試した結果が、qiita記事の結果と違うのはなぜかわからんが、とりあえずこれで動いたっぽさ。ただ、 sys.stdin
を直接上書きしているので何が起こるかはわからない....