kusoimox.hatenablog.jp
でも書きましたが,こっちの方がよいかと思い,改めて形態素解析器をPythonから呼び出すスクリプトを紹介します.
def choice_analysis() -> str: analysis = input('choice analysis:') if analysis == 'mecab': dic = input('dic type?:') if dic == 'ipadic-neologd': return 'mecab -d $(echo `mecab-config --dicdir`"/mecab-ipadic-neologd")' elif dic == 'unidic-neologd': return 'mecab -d $(echo `mecab-config --dicdir`"/mecab-unidic-neologd")' else: return 'mecab' elif analysis == 'jumanpp': return 'jumanpp' elif analysis == 'kytea': if input('now?(y/n):') == 'y': return 'kytea -nows' else: return 'kytea' def morphological(text: str): import subprocess cmd = "echo '{0}' | {1}".format(text,choice_analysis()) proc = subprocess.Popen( cmd, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE ) stdout, stderr = proc.communicate() print(stdout.decode('utf-8')) if stderr != b'': raise(Exception(stderr.decode("utf-8"))) return stdout.decode('utf-8').split("\n")
morphological
メソッドにテキストを渡せば,形態素解析結果のリストが返却されます.
参考
前回とかの過去記事の山椒に載っけ忘れてたかもしれません.その場合はスミマセン...