2017-05-09 15 views
0

私は、面倒なソーシャルメディアと電子商取引の注文テキストデータを整理するプロジェクトに取り組んでいます。私はアプローチをチェックし、ライブラリやその他私が使うべきだと思うリソース。スペルミスの修正と面倒なテキストのアドレスの検索

英語で書かれていますが、完全な文章ではなく、人名、ビジネス名、連絡先情報、メールアドレス、ソーシャルメディア投稿のコンテンツが混在している数十万のテキストスニペットを処理していますTwitterやInstagramのハンドルなどのソーシャルメディアハンドルへのリンクやハンドルを提供します。私が得ているテキストは、フォーマットされていない、構造化されていないテキストです。私は、テキストがしばしばフレーズと言葉の混乱であることを指摘します。したがって、英語の完全な文章と見なすことはできません。私はこれが、これが標準的なNLPと部分的なタグ付け技術(私はこの点については分かりません)で行うことができるセマンティック解析の量を制限するかもしれないと思うので、これを言及します。

私の目標は、各テキストスニペットに以下の修正と強化を実装することです: 自信を持って行うことができますが、自信を持って置き換えが利用できないときは既存のトークンを保持しています。テキストに余分な改行やスペースがないことがあるので、スペルミスには3つの種類があります。1)通常のスペルミス(例:「bananna」)。スペースのスペルミスはありません(例:「yellowbanana」)。余分なスペースのスペルミス:(例:「ban ana」) 住所と場所の名前にタグを付けて、それらの場所をジオコードして、その場所の地図にリンクすることができます。ここで

はいくつか作られているが、代表的な例:

例1:この例では

7pcs gillette razors and 1 mens cardi 
gan sweater 231 E Front St Missoula 
MT Order total $34.39 shipping ground UPS 

は、私が「カーディガン」のスペルミスを修正したいとも気づくだろう231 E」というFront St Missoula MT "は郵送先住所です。

例2:この例では

6600 cartons yellowbanana for @metmuseum 
Marpa was a seminal figure of early Tibetan Bud 
dhism and principal teacher of Milarapa 

は、私は確かにの束を書くことができますが、「yellowbanana」のスペルミスを修正し、「仏教」

のスペルミスを修正したいのですがルールや正規表現、私は既存のNLPや他のツールを活用して、特別なケースをたくさん避けようとしています。私はこれまでのところ、次のユーティリティで探しています:

  • https://hunspell.github.io/はGoogle Chromeのは、Firefox、および他の多くのプロジェクトが使用スペルチェッカーです。
  • https://textblob.readthedocs.io/en/dev/はNLTKの上に構築され、上記の問題を解決するために私の非文章のテキストデータで動作するかどうかはわかりませんが、多くの異なる機能を持っているようです。これは強力に見えますが、自分の問題にどの程度正確に反映させるかはわかりません。
  • 例2では、​​私はhttps://geocode.xyz/を見つけましたが、完全なアドレスでピックアップすることはできません(Missoula MTを取得します)。 https://pypi.python.org/pypi/pyapも興味深いようですが、それは米国とカナダだけのものですが、私は世界中の住所を解析する能力が必要です。残念なことに、各テキストスニペットがどの国にあるのかはわかりません。

私はあなたが私に与えてくれるポインタをありがとうと思います。ありがとうございました。

答えて

0

NLPの観点から質問には複数の質問(またはデータマイニングの問題)があります:1)綴り修正、2)エンティティ抽出(あなたのケースでのアドレス抽出)。

問題1、すなわちスペル修正に集中し、そのスペル修正テキストを上記の問題2を解決する情報抽出ツールモデルに渡します。

あなたの場合の綴り修正のための最良の賭けは、データ(具体的にはあなたのデータ)から学ぶ確率論的フレームワークです。現時点では、最良の確率論的/機械学習ベースのスペル矯正器は、ディープニューラルネットワークに基づくモデルである。ここをクリックしてください - https://medium.com/@majortal/deep-spelling-9ffef96a24f6コードhttps://github.com/MajorTal/DeepSpell(およびそれ以上の改善https://hackernoon.com/improving-deepspell-code-bdaab1c5fb7e)があります。フォーム標準のスペル修正データを開始して、手作業で作成したトレーニングデータを追加して、特定のケースのモデルを調整することができます。

エンティティ抽出では、整形式ではないテキストを使用して、Twitterなどのソーシャルメディアテキストを訓練するモデルから始めます。 http://www.cs.cmu.edu/~ark/TweetNLP/https://github.com/aritter/twitter_nlpとし、そこから取り出して、ラベル付きのデータとパラメータの調整を追加して調整します。

関連する問題