2012-01-12 11 views
3

カテゴリに分類しようとしている製品のリストがあります。 「500GBハードディスクドライブはメーカーからの改装、」NLTKで不完全な文章で件名を検索

「ソリッドステートドライブ住宅」

「ハードドライブケーブルの」

「1TBハードドライブ」:彼らはのような不完全な文章で説明します

「住宅、ケーブル、ドライブ、ドライブ」のような出力や、どの単語が変更されているかを示すツリーを得るにはどうすればよいですか? は、私はあなたが探しているすべての名詞で、手動で、名詞のリストを作成し、またはそのようなthis oneなどの辞書を解析するだろう事前

答えて

2

NLPのテクニックは、この種のテキストに対処するために比較的不十分です。

異なるフレーズ:望ましい分類器を実装するためのNLPプロセスを含むソリューションを構築することは可能ですが、開発のスピードと分類子の精度向上の点で必ずしも充実しません。
実際にNLPテクニックを使用することを主張する場合は、POSタグ付けとその名詞識別能力が最も明白ですが、WordNetや他の語彙ソースへのアクセスはNLTKの他のもっともらしい使用方法です。

単純な正規表現といくつかのヒューリスティックス、つまりNoBugsで提案されているようなアドホックな解決策はおそらく、この問題に対する適切なアプローチです。あまりにも多くのルールやサブルールがある場合の上にフィットルール

  • に解決の可能散らかっ/複雑性を構築する上でのテキストレビュー/見なさの部分に

    • :確かに、そのような解決策は、2つの主要なリスクを負担します導入されました。いくつかのヒューリスティックの選択を導く手助けし、また、オーバーフィッティングの問題を避けるべきであると考えるべきテキストの完全な(または非常に大きなサンプル)にいくつかのプレーンな静的な解析を実行

    。カスタムディクショナリに関連する比較的少数のルールが、適切な精度と速度/リソースのパフォーマンスを持つ分類子を生成するのに十分であるはずです。

    いくつかのアイデア:

    • コーパスのかなりの部分で(おそらく、すべてのバイグラムとトライグラム)すべての単語の手を数えます。この情報は、最も一般的なパターンに最も厳しいルールと最も厳しいルールを割り当てることを可能にすることによって、分類器の設計を推進することができる。
      • 彼らのPOS機能(主にバイナリここで問題:すなわち名詞対剤及び他の非名詞
      • は、手動で最も人気のある言葉を関連付け短い辞書を紹介します。[該当する場合]
      • そのクラス[該当する場合]
      • その同義語のルート
    • パターンが入力されたテキストのほとんどは、テキストの終わりの前または最初の前に最後の言葉を使用することを検討するために保持している場合カンマをクラス選択のメインキーとして使用します。 パターンが保持されていない場合は、最初の単語と最後の単語の重みを増やしてください。
    • 最も一般的なバイグラムを1つの単語(人工コードワードでも可)で置き換えてテキストを書き直す最初のパスを考えてください。
    • また、対応する同義語ルートと同義語。入力に規則性を追加すると、精度が向上し、辞書のいくつかのルール/いくつかのエントリを作成して精度を大きく向上させることができます。
    • 辞書に見つからない単語の場合、数字が混在する単語や数字が前に付いた単語は修飾語であり、名詞ではないとします。
    • は2つの層の分類を考慮して、クラスを妥当に割り当てることができない入力を「手動パイル」に入れて、追加のレビューを促し、ルールおよび/または辞書エントリを追加すると仮定する。数回の反復の後で、分類器は、改善および調整を少なくする必要があります。
    • 明白でない機能を探します。例えば、いくつかのコーパスは、複数のソースから構成されていますが、いくつかのソースには、ソースの識別や分類ヒントとしての適用に役立つ特定の規則が含まれています。例えば、いくつかのソースが唯一の私はこの答えはとしてPython/NLTKスニペットを提供するには及ばない怖い

    (など最後に、通常より長い50の文字、または切り捨て言葉よりもまたはテキスト)大文字のテキストを言う含まれていることしかし、率直に言って、このような単純なNLTKベースの手法は、せいぜい失望しがちです。また、NLTKやNLPの手法をベースにしたアプローチを含む、妥当なアプローチの選択を導く入力テキストのサンプルセットをはるかに大きくする必要があります。

  • 1

    でいただきありがとうございます。名詞以外のすべてをフィルタリングすると、少なくとも「State Drive」、「Drive Cable」、または「Drive」に移動し、最初の句読記号の後のすべてを無視します。

    関連する問題