2016-09-26 3 views
0

私は、主に -misspellワード -abbreviations - 非標準文字 と非標準単語を検出するノイズ除去プログラムを作成しています。JAVAで動作する都市辞書またはスラング辞書はありますか?

私は最初の3つについて進歩しましたが、最後のものについては、スラング語や非標準語を検出できる良いライブラリがありますか?例えば、それは良い夜のために素晴らしいとgudnightの代わりにgr8のような言葉を検出することができます。

答えて

3

私は、公に利用可能なライブラリや既に構築されたコーパスについて知らない。あなたはurbandictionary.comからそれを掻き取ろうとするかもしれません。私はお勧め:

  1. 使用TwitterのAPIと言葉でトークン化=英語

  2. LANGとのメッセージのいくつか数千Kを集めます。すでになどGR8、L8、

  3. 訪問project gutenbergのために持ってダウン

  4. 行く変換ルールを適用します絵文字、異なる言語の単語、など -

  5. 非ASCII文字を持つものを排除英語の古典のいくつかの執筆を取る。私はあなたが追加する他のルールの多くを見つけることを保証する - Twitterの

    残りのリストを調べる
  6. 開始に収集したコーパスからの類語辞典を引くそれらをトークン化し、propah英語の単語(:))

  7. のシソーラスを構築ポイント4に戻り、このサイクルを数回繰り返します。

何後で残っているのは、あなたの用語の手動選択を容易にするために、スラングに十分密になります。
大規模なスラングのコーパスでは、プロセス全体に約1週間から10日間かかります。オプションで、urbandictionary.comとクロスチェックしてください。

前回は楽しい経験でした。 (「私はあなたを憎んでいる」が「私はあなたを愛している」よりも約6倍のtweetedであることを知っていましたか?これはtwittererersのエモスについての何か、私は知らない)。

+0

urbandictionary.comからアルファベット順のリストを取得するにはどうすればよいですか? –

+1

@ChitKhine Webページのスクラップやクロール - 私はurbandictionaryがあなたに単語のリストを提供してくれるとは思っていません。つまり、彼らは科学の基礎ではなく、訪問者の目に表示された広告を必要とします。したがって、Seleniumを「Webオートメーションツール」として使用するか、サイトのほとんどをミラーリングするために「wget」を試してみてください(限られていますが、ほとんどのリンクはjavascriptで生成され、wgetは関連するコンテンツを取得するチャンスがあまりありません)。 –

+1

@ChitKhine - または、そのプロジェクトの助成金からいくらかの資金を得て、[Amazon Mechanical Turk](https://www.mturk.com/mturk/welcome)や群衆調達サイトファンシー。 –

関連する問題