特定の単語を名前、携帯電話番号、住所、電子メール、州、郡、市などとして分類するために使用される機械/ディープラーニング/ nlpテクニック


9

一連の単語または文字列をスキャンし、機械学習またはディープラーニングを使用して、それらを名前、携帯電話番号、住所、都市、州、国、およびその他のエンティティとして分類できるインテリジェントモデルを生成しようとしています。

私はアプローチを探していましたが、残念ながら、どのようなアプローチを取るべきかわかりませんでした。文字列が名前であるか都市であるかなどを予測するために、バッグオブワードモデルとグローブワードの埋め込みを試しました。

しかし、私はバッグオブワードモデルでは成功しませんでした。GloVeには、埋め込み例でカバーされていない名前がたくさんあります。-laurenはGloveに存在し、laurenaは存在しません

私はこの投稿をここで見つけましたが、それは合理的な答えでしたが、NLPとSVMがそれを解決するために使用されたという事実を除いて、その問題を解決するために使用されたアプローチはできませんでした。

どんな提案もありがたいです

よろしくお願いいたします。SaiCharan Adurthi。


4
答えではありませんが、これは名前付きエンティティの認識と呼ばれます。それらの用語で検索すると、役立つ情報が表示される場合があります。
kbrose 2018年

@kbroseに感謝します。名前付きエンティティの認識手法を調べます。
Sai Charan Adurthi 2018年

回答:


1

文字グラムを適用できます-直感的には、電話番号とメールアドレスの文字セットに大きな違いがあるかもしれません。次に、文字グラムベクトルをSVMに渡して予測を行います。これは、以下の特徴抽出器を使用してsklearnで実装できます。

  1. TfIdfVectorizer(analyzer = 'character')

  2. CountVectorizer(analyzer = 'character')

SVMのngram範囲とスラック変数を相互検証して、モデルを微調整します。


ありがとう!@karthikbharadwaj。私は現在、sklearnに見て、それが動作するかどうかを確認、Rを使用します働いています...
サイチャランAdurthi

@Sai Charan Adurthi-役立つと思われる場合は賛成票を投じ、役立つ場合は回答を受け入れてください。
karthikbharadwaj

確かに、Pythonで確認したら間違いなく実行されます...
Sai Charan Adurthi 2018

0

一般的なカテゴリラベルを単語に適用することは、通常、名前付きエンティティ認識(NER)と呼ばれます。

NERは、静的ルール(たとえば、正規表現)または学習済みルール(たとえば、決定木)によって実行できます。これらのルールはしばしば脆弱であり、一般化されません。条件付きランダムフィールド(CRF)は、言語の潜在状態をモデル化できるため、多くの場合、より優れたソリューションです。NERの現在の最先端のパフォーマンスは、ディープラーニングモデルの組み合わせで行われます

スタンフォード固有表現認識装置スペイシーは NERを実行するためのパッケージです。


ブレイン博士、ありがとうございました!..しかし、私は単一の単語または文字列の単語だけを取り、それが名前、アドレスなどであるかどうかを予測するモデルを構築したいと思います。RでApacheによってopenNLPを使用してNERを試してみました。初期化。文法と品詞を利用するために必要な単語の段落。郵便番号、郵便番号、州コードなどを理解できるモデルが欲しい。ここで博士の脳は正しいアプローチで進んでいますか?
サイチャランアドゥルティ

単一の一般モデルがあると考えるべきではありません。要素のタイプごとにモデルを作成する必要があります。たとえば、ほとんどの郵便番号は正規表現で見つけることができます。また、コンテキストも重要です。1つの単語が与えられたモデルでは、NERの予測がうまくいきません。テキストのセクションを大きくすることをお勧めします。
ブライアンスピアリング

こんにちは、@ Dr。脳、私はRのtext2vecパッケージを試してみましたが、Glove Word埋め込みを使用して、単語の類似度をチェックしました。例:名前、都市、州、国などのカテゴリを持つ1000行のトレーニングデータ、さまざまな値のテストデータがあります。text2vecを使用してトレーニングデータとテストデータ値の両方のTCMを作成し、グローブモデルをそれらのTCMに適合させ、テストデータの各単語の類似性をチェックして、コサイン類似度関数を使用してカテゴリ別にデータをトレーニングしました。しかし、グローブモデルを生成し、類似性をチェックするたびに、精度と変数を均一にすることはできませんでした。
サイチャランアドゥルティ

ありがとう、Dr.Brianは、文章を使用してコンテキストを取得し、NERを使用すれば機能します。しかし、私は言葉だけを使ってそれを行い、モデルがその言葉からパターンを学習できるかどうかを確認したいと思います。
サイチャランアドゥルティ

こんにちは、私はApache Open NLPを使用して、事前トレーニング済みのNERモデルを使用していました。そしてはい、それは言葉にも働きます。
サイチャランアドゥルティ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.