和布蕪(日本語)による用語抽出

モジュールをimport

In [2]:
import termextract.mecab
import termextract.core

from pprint import pprint # このサンプルでの処理結果の整形表示のため

和布蕪解析済のテキストを読み込み

和布蕪のPythonバインディングで和布蕪解析済テキストを読み込むのでもよい

In [4]:
f = open("mecab_out_sample.txt", "r", encoding="utf-8")
tagged_text = f.read()
print(tagged_text)

複合語抽出処理(ディクショナリとリストの両方可)

In [5]:
frequency = termextract.mecab.cmp_noun_dict(tagged_text)
pprint(frequency)

#erm_list = termextract.mecab.cmp_noun_list(tagged_text)
#pprint(term_list)

FrequencyからLRを生成する

In [6]:
LR = termextract.core.score_lr(frequency,
         ignore_words=termextract.mecab.IGNORE_WORDS,
         lr_mode=1, average_rate=1
     )
pprint(LR)

FrequencyとLRを組み合わせFLRの重要度を出す

In [7]:
term_imp = termextract.core.term_importance(frequency, LR)
pprint(term_imp)

collectionsを使って重要度が高い順に表示

膠着言語の場合は、termextract.core.modify_agglutinative_lang()で整形をする

In [8]:
import collections
data_collection = collections.Counter(term_imp)
for cmp_noun, value in data_collection.most_common():
    print(termextract.core.modify_agglutinative_lang(cmp_noun), value, sep="\t")
In [ ]: