2013-03-07 5 views
7

まあ、私はこの質問が複数回尋ねられていたことを知っていましたが、まだ "利用可能な"解決策で解決できませんでした。私の文章をどのように検出するかについてのさらなるアイデアやコンセプトがあることを希望するのは、英語のpythonです。可能な解決策:(ルビーではないのpythonで:/)Pythonで英語のテキストを検出する

  • 言語検出器
  • GoogleがAPI v2の(もはや自由を、翻訳しない私は学術目的のために、このプロジェクトをやっている間、20ドルの月を支払わなければなりません。礼儀制限:。??0文字/日)
  • Python言語の識別(ソースコードが見つからない、リンクの下でautomatic-language-identification
  • Enchant(それはのpython 2.7のためではない私は、Pythonに新たなんだ、任意のガイドIこれが私が必要とするものになると賭ける)
  • NLTKからのワードネットなぜ "wordnet.synsets"が欠けていて、 "wordnet.Synset"だけが利用可能であるのか分かりません。ソリューションのサンプルコードは私にとってはうまくいきませんT_T、おそらくバージョン管理の問題でしょうか?)
  • 英語の単語がリストに格納され、単語が存在するかどうか比較しています(ちなみに、あなたはそれを知っていました:最後にしようとした一連の後P)

WORKING SOLUTION

を、以下では実用的なソリューションは、上記のリストに(代替)である

  • WiktイニシャルAPI(Urllib2とsimplejsonを使用して解析します)。キーが-1の場合、単語が存在しないことを意味します。それ以外は英語です。もちろん、Twitterでの使用のために、@#、?!のような特別な文字に単語を前処理しなければなりません。キーの検索方法は、ここを参照してください。 Simplejson and random key value
  • (脆弱性:20文字未満の長さの文章でPyEnchantをインストールする必要がある場合、またはUNKNOWNを返してください)PyEnchantはPython 2.7をサポートしていませんが、インストールできないことを意味します。 20未満の文字文)に取り組んで

参照

+0

興味深い質問です。単語をリストに格納することの改善は、単語をセットまたは辞書に格納することです。リストアプローチはO(n)であり、他のアプローチはO(1)である。 – Octipi

+0

解決策を質問に入れず、回答として投稿してください。答えがあればあなた自身の質問に答えてください –

答えて

8

私がMiguel Grinber's The Flask Mega Tutorialで見つけたguess_languageライブラリを試すことができます。それはPython 2と3をサポートしているようですので、大丈夫です。

+0

ありがとう;)最近私はドキュメントを見つけられず、無視されました。 Btw、これを修正する方法の手掛かりはありますか?エラーはインポートされませんが、guess_language( "My Sentence")を呼び出すと、次の結果が返されます:トレースバック(最新の最後の呼び出し): ファイル ""、行1、 TypeError: 'module'オブジェクトは呼び出し可能ではありません – 1myb

+3

あなたのインポートは以下の通りです:guess_languageからのインポートguessLanguageとあなたの呼び出しはguessLanguage( 'My sentence')です。あなたは間違っているモジュールを呼び出しています。あなたが何が言われているのかを理解しようとすると、タイプエラーは本当に役に立ちます。この場合、 'module'オブジェクトを呼び出しています。 –

+0

Tefekci、ありがとうございます;)迷惑なドキュメント - .- – 1myb

1

あなたは言語を検出するために、隠れマルコフモデルを利用することができるかもしれない、それぞれの言語は、独自の特性を持っているでしょう。

+0

参考リンクがありますか;)ありがとう – 1myb

+0

http://en.wikipedia。org/wiki/Hidden_​​Markov_model簡潔で申し訳ありませんが、基本的に特定のバイト列の確率は言語によって異なります。英語では、「hello」は、「encontrar」のように、言語ではめったに発生しないシーケンスよりも可能性の高いバイトシーケンスを表します。個々の単語の違いはわずかですが、フレーズがあれば、より決定的な結果を得ることができます。 – Arafangion

+0

率直に言って、私はドグカンの答えに行くだけです。 – Arafangion

関連する問題