機械学習プロジェクトを始める前にすべき10の質問
- 機械学習プロジェクトを始める前にすべき10の質問
- 機械学習プロジェクトを始める前にすべき10の質問
- 1) プロジェクトの核となる問題と焦点は何か?
- 2) プロジェクトの成功を測るために、どのような指標を用い、どのような閾値を設定するか。
- 3) どの程度のデータから始めるのか?
- 4) プロジェクト開始前にラベル付けできるデータの量と、月に生成できるデータの量は?
- 5) 人間のアノテーターによるラベリングには、どの程度の主観が含まれるか?
- 6) 各文書について、どのようなメタデータが利用可能か。
- 7) 我々が遭遇するであろうエンティティのリストにアクセスすることは可能か?
- 8) データ収集/ラベリングプロセスをスピードアップするために、何かできることはありますか?
- 9) 同じドメインからの既存のラベルなしデータ、またはパイロット予測タスクとは無関係/半関係の既存のラベル付きデータはあるか?
- 10) 類似した語彙(およびエンティティ)を共有する、ドメイン固有のテキストの既知のデータベースはあるか。
- 機械学習プロジェクトを始める前にすべき10の質問
機械学習プロジェクトを始める前にすべき10の質問
データサイエンス・プロジェクトの80%以上が、テストから本番へと移行できずにいる。誰もが機械学習プロジェクトを始めているとしたら、どこで失敗しているのだろうか?間違いなく、MLソリューションは、大量のデータを収集したり分析したりする業務に携わる人々の効率を向上させる。しかし、そのようなプロジェクトをどのように実施するかという脅威的な考えが、しばしば私たちを遠ざけてしまう。
では、そのような作業にどう取りかかればいいのだろうか?象を食べるのと同じ方法だ。私のチームを率いて標準的なAIプラットフォーム(スキムAIクロームツールバー)およびカスタムソリューションで、機械学習プロジェクトを開始する前に尋ねるべき10の質問を特定した。この10の質問に答えることで、プロジェクトにどのようにアプローチすべきかの明確な基礎をつかむことができる。
機械学習プロジェクトを始める前にすべき10の質問
1) プロジェクトの核となる問題と焦点は何か?
この質問にはいくつかの有効な回答がある。まず、全体的な目標を特定する。情報を抽出する必要があるのか、それとも情報を分類する必要があるのか?
次に、どの詳細レベルで実行すべきかを特定する。例えば、文レベルで分析するのか、文書全体レベルで分析するのか。あるいは、段落内のセンテンスのサブセットなど、高い精度で実装するのが理想的でないようなカスタムなものが必要でしょうか?
2) プロジェクトの成功を測るために、どのような指標を用い、どのような閾値を設定するか。
定量的な望ましい結果を決定する。自動データ抽出によって分類されるデータ量を増やしたいかもしれません。この場合、どのくらい増やすかを示さなければならない。あるいは、企業としてまとめてラベル付けするデータ量を増やしたい、あるいは一定レベルの精度で予測を行えるようにしたいのかもしれません。ゴールが何であれ、それを明確にし、測定可能な指標を設定する。
3) どの程度のデータから始めるのか?
理想的には、2~5,000点のデータから始めたい。 各 分類のカテゴリーモデルのレイヤーとして使用するために、ラベル付けされていない生テキスト、記事、または同等のものが5万から10万個あると有益です。ニュースデータ中の製品に関する言及に対するセンチメントやその他の分類器を構築する場合、たとえそれらの記事にラベル付けがされていなくても、製品やモデルを構築しようとしている業界について言及している数十万件のニュースがあると良いでしょう。
4) プロジェクト開始前にラベル付けできるデータの量と、月に生成できるデータの量は?
質問3で述べたように、人間の精度に近い結果を提供するモデルを開発するために必要なデータポイントの数は、カテゴリーごとに5,000が最低限必要です。現実的なスケジュールを立てるためには、最初のセットを手作業でラベル付けするのにかかる時間を考慮する必要があります。
5) 人間のアノテーターによるラベリングには、どの程度の主観が含まれるか?
方法論について:
有用な機械学習モデルを導入するためには、システムを単純化しなければならないことがある。多くの場合、その理由は、カテゴリーを区別するために人間レベルの精度でモデルを構築するには、単純に十分なデータがないからである。
あなたの方法論は人間にとって理解しやすいものですか?分類のカテゴリーは明確で、カテゴリー間に語彙の違いがあるのか、それとも主観的で確実なルールを定義できないために区別が難しいのか。
もし人間が1、2秒以内に決断できなければ、機械は問題を抱えることになる。チームによっては、"混合 "分類カテゴリーを作成し、テスラが混乱した状況で何をすべきかわからないときにドライバーにハンドル操作を求めるのと同じように、アナリストによるレビューのためにそのカテゴリーにフラグを立てることでこれを緩和している。
6) 各文書について、どのようなメタデータが利用可能か。
データベース内の各文書から収集できる情報を決めておくと便利です。これには、著者、日付、時間、新聞欄、場所、情報源、カテゴリー、関係団体など(他にもいろいろあります)が含まれます。
7) 我々が遭遇するであろうエンティティのリストにアクセスすることは可能か?
データ抽出プロジェクトの多くは、テキストに含まれるエンティティ(人、場所、物)を簡単に抽出したいと考えています。多くの企業は、そのデータを特定のクライアントにマッピングしたり、エンドユーザー(おそらくクライアントまたは顧客)にエンティティレベルの分析を表示したりしたいと考えています。テキスト内のエンティティをデータベース内のエンティティにマッチさせる必要がある場合は、マッチさせたいエンティティを書き出しておくと便利です。
さらに、すでにテキストにラベル付けされたエンティティがある場合、新しいテキストからエンティティを抽出するモデルを構築すると、高い精度で実行できる。これは特に、単一の統一されたエンティティのすべてのバリエーションをラベル付けすることが目的である場合に当てはまります(たとえば、「Facebook」、「WhatsApp」、「Instagram」を、共有されている株式シンボル「FB」にマッチングさせるなど)。エンティティのマスターリストを作成することは、BIダッシュボードのようなクライアント向けのフロントエンドインターフェースに表示する必要がある、テキストで言及されたエンティティを見つけるさまざまな方法がある場合にも役立ちます。
8) データ収集/ラベリングプロセスをスピードアップするために、何かできることはありますか?
データはモデル構築を可能にする競争優位性である。将来のプロジェクトを可能にするために、この能力を社内で、あるいはアウトソーシングで構築することを検討すべきである。
社内にチームがない場合は、インドや東欧の企業にデータ収集のニーズをアウトソーシングすることを検討してください。ラベリング・システムの高度さにもよるが、データ収集担当者の月給は500~1000ドル程度と、非常に競争力のある料金設定になっている。
9) 同じドメインからの既存のラベルなしデータ、またはパイロット予測タスクとは無関係/半関係の既存のラベル付きデータはあるか?
例えば、この特定の問題や、将来モデルを作成することになる他のドメイン固有の文書について、データベースに保存されているラベル付けすべきデータがまだたくさんあるのか?
もしそうなら、ほとんどのソリューションのパフォーマンスを向上させるために、様々な言語モデルを構築したり、調整したりすることができる。ラベル付けされていないデータであっても、ラベル付けされていないテキストにすでに存在する関係から意味を抽出する機械学習モデルには役立つからだ。
10) 類似した語彙(およびエンティティ)を共有する、ドメイン固有のテキストの既知のデータベースはあるか。
上記と同じ理由で、ML/NLPにはドメイン固有のデータが非常に有用である。多くの場合、誰かが、あるいはどこかのデータ・プロバイダーが、あなたが始めるのに必要なものを、時には無料で持っています。多くの研究プロジェクトは、データセットの共有を検討している。彼らにメールを送ってみよう。費用やAPIがあるかどうかなど、アクセスするために何が必要かを確認しよう。
グーグル、フェイスブック、政府、マーケット・データ・プロバイダー、研究プロジェクトなどは、彼らがコミュニティで利用可能にしているデータを使って、あなたの初期データセットのシードを作る手助けをしてくれる。多くの場合、このような大規模なデータセットがあれば、ラベル付けされたデータが少なくても、モデルからより多くの情報を得ることができます。