コンテンツ分類モジュールが必要です。ベイジアン分類器は、私が探しているもののようです。Orange と NLTK のどちらを選ぶべきですか?
3 に答える
ドキュメントで証明されているように、各ライブラリのNaive Bayes実装は使いやすいので、両方でデータを実行して結果を比較してみませんか?
OrangeとNLTKはどちらも、大規模な大学で生まれた成熟した安定したライブラリ(各ライブラリで10年以上開発中)です。それらは、主に機械学習アルゴリズムのいくつかの共通機能を共有しています。それを超えて、それらは範囲、目的、および実装においてかなり異なります。
Orangeはドメインにとらわれず、特定の学問分野や商用ドメインを対象としておらず、代わりにフルスタックデータマイニングおよびMLプラットフォームとして宣伝しています。焦点はツール自体にあり、特定の分野でのそれらのツールの適用ではありません。
その機能には、IO、データ分析アルゴリズム、およびデータ視覚化キャンバスが含まれます。
一方、NLTKは、大規模な大学の計算言語学部での学術プロジェクトとして始まり、現在も続いています。あなたが言及したタスク(ドキュメントコンテンツの分類)と選択したアルゴリズム(ナイーブベイジアン)は、NLTKの機能の中核にあります。NLTKには確かにML/データマイニングアルゴリズムがありますが、それは計算言語学で特定の有用性があるからです。
もちろん、NLTKにはいくつかのMLアルゴリズムが含まれていますが、それは、ドキュメントパーサー、トークナイザー、品詞アナライザーなど、すべてNLTKを構成する計算言語学での有用性があるためです。
OrangeでのNaiveBayesの実装も同様に優れている可能性がありますが、言及した特定のタスクに合わせて明確に最適化されているため、NLTKの実装を選択します。
NLTK、特にコンテンツ分類を使用するためのナイーブベイズに関するチュートリアルは多数あります。たとえば、 Jim Plusとstreamhacker.comの別のブログ投稿では、NLTKのナイーブベイズを使用するための優れたチュートリアルが紹介されています。2つ目は、このモジュールにアクセスするために必要なコードの行ごとの説明です。これらの投稿の両方の著者は、NLTKを使用して良い結果を報告しています(前者で92%、後者で73%)。
オレンジはわかりませんが、NLTK の場合は +1:
私は NLTK の分類ツールを連続して使用して、テキストと関連するメタ データを分類してきました。ベイジアンがデフォルトですが、最大エントロピーなどの他の選択肢があります。また、ツールキットであるため、必要に応じてカスタマイズできます。独自の機能を作成します (これは、メタデータに対して行ったことです)。
NLTK には、2 冊の優れた書籍もあります。そのうちの 1 つは、Creative Commons (および O'Reilly) で入手できます。
NLTKは、自然言語処理の4つの状態モデルをサポートするツールキットです。
- トークン化:文字を単語としてグループ化します。これは、些細な正規表現から「できない」などの収縮への対処にまで及びます。
- タグ付け。これは、品詞タグをトークンに適用しています(たとえば、名詞の場合は「NN」、動名詞の場合は「VBG」)。これは通常、トレーニングコーパス(つまり、手作業でタグ付けされた文の大規模なリスト)でモデル(隠れマルコフなど)をトレーニングすることによって行われます。
- チャンキング/解析。これは、タグ付けされた各文を取得し、特徴をツリーに抽出します(名詞句など)。これは、手書きの文法またはコーパスでトレーニングされた文法に従うことができます。
- 情報抽出。これは、ツリーをトラバースしてデータを抽出しています。これはあなたの特定のorange=fruitが行われる場所です。
NLTKは、単語を分類する巨大なセマンティック辞書であるWordNetをサポートしています。したがって、オレンジには5つの名詞の定義があります(南アフリカでは、果物、樹木、色素、色、川)。これらのそれぞれには、分類の階層である1つ以上の「上位概念パス」があります。たとえば、「オレンジ」の最初の意味には2つのパスがあります。
- オレンジ/柑橘類/食用果物/果物/生殖構造/植物_器官/植物_部分/自然_オブジェクト/全体/オブジェクト/物理的エンティティ/エンティティ
と
- オレンジ/柑橘類/食用果物/農産物/食品/固形物/物質/物理的実体/実体
アプリケーションドメインに応じて、オレンジを果物、食品、または植物のものとして識別できます。次に、チャンク化されたツリー構造を使用して、より多くのことを決定できます(果物に誰が何をしたかなど)