記事をカスタム カテゴリに分類する必要があります。そこで、SciKit から MultinomialNB を選択しました。教師あり学習を行っています。そのため、記事を毎日見てタグ付けする編集者がいます。それらがタグ付けされたら、学習モデルなどに含めます。以下は、私が何をしていて何を使用しているかを理解するためのコードです。(私が何をしているかのアイデアを提供しようとしているだけなので、インポート行は含めていません) (参照)
corpus = (train_set)
vectorizer = HashingVectorizer(stop_words='english', non_negative=True)
x = vectorizer.transform(corpus)
x_array = x.toarray()
data_array = np.array(x_array)
cat_set = list(cat_set)
cat_array = np.array(cat_set)
filename = '/home/ubuntu/Classifier/Intelligence-MultinomialNB.pkl'
if(not os.path.exists(filename)):
classifier.partial_fit(data_array,cat_array,classes)
print "Saving Classifier"
joblib.dump(classifier, filename, compress=9)
else:
print "Loading Classifier"
classifier = joblib.load(filename)
classifier.partial_fit(data_array,cat_array)
print "Saving Classifier"
joblib.dump(classifier, filename, compress=9)
カスタムタグ付け後の分類子の準備が整いました。これは新しい記事でうまく機能し、魅力のように機能します。ここで、各カテゴリに対して最も頻繁に使用される単語を取得する必要が生じました。つまり、学習したモデルから機能を抽出する必要があります。ドキュメントを調べたところ、学習時にテキストの特徴を抽出する方法しかわかりませんでした。
しかし、学習したらモデル ファイル (.pkl) しか持っていないので、その分類器を読み込んで特徴を抽出することはできますか?
各クラスまたはカテゴリに対して最も頻繁な用語を取得することは可能でしょうか?