0

オブジェクト(この場合はiTunes App Storeのアプリケーション)の長いリストを取得して、より具体的に分類しようとしています。たとえば、現在「教育」に分類されているアプリケーションはたくさんありますが、生物学、英語、数学などのラベルを付けたいと思います。

これはAI/機械学習の問題ですか?私はその分野のバックグラウンドをまったく持っていませんが、この種のことをどこから始めるべきかについてのリソースやアイデアが欲しいです。

4

2 に答える 2

3

はい。それで合っています。分類は機械学習の問題であり、テキスト データに基づいて分類するには自然言語処理が必要です。

標準的な分類の問題は、単純ベイズ分類器を使用したスパム検出であり、非常に単純です。考え方は次のとおりです。

  1. 大量のデータ (電子メール) を収集し、それらをクラス (スパムまたは非スパム) でラベル付けします。
  2. メールごとに、ストップワードを削除し、そのメール内の固有の単語のリストを取得します
  3. 次に、単語ごとに、スパム メールと非スパム メールの確率を計算します (つまり、スパム メールと非スパム メールの出現回数をカウントします)。
  4. これで、メールに単語が含まれている場合に、メールがスパムである確率というモデルができました。しかし、メールには多くの単語が含まれています。Naive Bayes では、単語が互いに独立して発生すると仮定し (これは正しい仮定であることが判明しました)、電子メール内のすべての単語の確率を相互に乗算します。
  5. 通常、データはトレーニングとテストに分割されるため、モデルをトレーニングする一連のメールと、精度と再現率を計算する場所に対してテストする一連のラベル付けされたデータがあります。

Python 機械学習および nlp ライブラリである NLTK を試してみることを強くお勧めします。非常にユーザーフレンドリーで、優れたドキュメントとチュートリアルがあり、この分野に慣れるための良い方法です。

編集:コードを使用して単純な NB 分類子を作成する方法の説明を次に示します。

于 2012-07-31T21:43:29.473 に答える
2

おそらくそうではありません。使用可能な形式 (名前など) でデータを抽出するには、かなりの作業を行う必要があります。また、結局のところ、カテゴリのリストを手動で特定する方が簡単なカテゴリがほとんどない可能性があります。各カテゴリのキーワードと、タイトル/説明でパーサーを緩く設定します。

たとえば、半ダースの生物学アプリを調べて、名前/説明/アクセスできるものに「細胞」、「生命」、「成長」という言葉がかなり頻繁に表示されることに気付くことができます-結果としてではありませんいくつかの機械学習の結果ですが、あなた自身の人間の直感の結果です。そこで、これらの単語を含むすべてを生物学アプリとして分類するパーサーを作成し、他のカテゴリについても同様のことを行います。

iTunes アプリ ストア全体を分類しようとしている場合を除き、それで十分であり、複数の分類があるアプリや分類がないアプリを手動でチェックするのは比較的小さな作業です。機械学習は 100% 正確ではないため、単純なパーサーの使用 + 異常の手動チェックに伴う労力は、機械学習を支援するためのより複雑なパーサーの構築、機械学習のセットアップ、およびすべての再チェックに伴う労力よりもおそらくはるかに少ないでしょう。 .

于 2012-07-29T22:25:16.733 に答える