3

目的: ニュース記事 (タイトル、テキスト、タグなど) を渡すことができ、その記事のカテゴリ (「テクノロジー」、「ファッション」、「食品」など) を返す node.js 関数

可能な結果のリストが有限で合理的 (10-50) である限り、正確にどのカテゴリが返されるかについて私はうるさいわけではありません。

これを行う Web API があります (例: alchemy ) が、可能であれば (外部 HTTP 要求と $$ の両方に関して) 余分なコストが発生しないようにしたいと考えています。

ノードモジュール「自然」を見てきました。私は NLP に少し慣れていませんが、妥当な単語リストで BayesClassifier をトレーニングすることでこれを達成できるようです。これは良い/論理的なアプローチのように思えますか? もっと良いものを考えられますか?

4

1 に答える 1

7

あなたがまだ答えを探しているかどうかはわかりませんが、たまたまこの質問に戻ってきた人のために、2 セントを差し上げましょう。

NLP で働いたことがあるので、問題を解決するために次のアプローチを検討することをお勧めします。単一のパッケージ ソリューションを探してはいけません。そこには素晴らしいパッケージがあり、多くのものに疑いの余地はありません。しかし、NLP、ML、最適化などの活発な研究分野になると、ツールは学術界よりも少なくとも 3 ~ 4 回の反復が必要になる傾向があります。

コアの問題に来ます。あなたが達成したいのは、テキストの分類です。これを実現する最も簡単な方法は、SVM マルチクラス分類器です。はい、最も単純ですが、非常に(二重強調を参照)合理的な分類精度、実行時パフォーマンス、および使いやすさも備えています。

取り組む必要があるのは、ニュース記事/テキスト/タグを表すために使用される機能セットです。バッグ オブ ワード モデルを使用できます。名前付きエンティティを追加機能として追加します。記事の場所/時間を特徴として使用できます。(ただし、単純なカテゴリ分類の場合、これではあまり改善されない可能性があります)。肝心なのは。SVMはうまく機能します。複数の実装があります。実行時には、ML 機構はほとんど必要ありません。一方、機能エンジニアリングは非常にタスク固有です。しかし、いくつかの基本的な機能セットと優れたラベル付きデータがあれば、非常にまともな分類器をトレーニングできます。

ここにいくつかのリソースがあります。 http://svmlight.joachims.org/ SVM マルチクラスはあなたが興味を持っているものです。

そして、ここに SVM zen 自身によるチュートリアルがあります! http://www.cs.cornell.edu/People/tj/publications/joachims_98a.pdf

これの安定性についてはわかりませんが、コードからはバイナリ分類器 SVM です。つまり、テキストを分類したいサイズ N の既知のタグのセットがある場合、N 個のバイナリ SVM 分類器をトレーニングする必要があります。N カテゴリ タグごとに 1 つ。

お役に立てれば。

于 2013-05-07T19:59:58.173 に答える