問題タブ [nltk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - コードからnltkデータディレクトリを設定するには?
コードからnltkデータディレクトリを設定するには?
python - プロジェクトグーテンベルクPythonの問題?
http://www.nltk.org/book-にあるpythonの正規表現とNLTKでさまざまなテキストを処理しようとしています。ランダムテキストジェネレーターを作成しようとしていますが、問題が発生しています。まず、私のアルゴリズムは次のとおりです。
入力として文を入力します-これはトリガー文字列と呼ばれます-
トリガー文字列で最長の単語を取得する
すべてのProjectGutenbergデータベースで、この単語を含む文を検索します-大文字と小文字に関係なく-
手順3で話した単語を含む最長の文を返します
ステップ1とステップ4の文を一緒に追加します
プロセスを繰り返します。私は2番目の文で最も長い単語を取得し、そのように続ける必要があることに注意してください-
これまでのところ、最初の2文でこれを実行できましたが、大文字と小文字を区別しない検索を実行できません。Project Gutenbergの全文データベースはgutenberg.sents()
関数を介して利用できますが、正規表現-大文字と小文字を区別しない検索はgutenberg.sents()
、本の文を次のように出力するため、実質的に不可能です-リスト形式のリスト-:
例:シェイクスピアのマクベスのすべての文は、次のように入力して呼び出されます
Pythonシェルコマンドラインに入力すると、出力は次のようになります。
[ウィリアムシェイクスピアによるマクベスの悲劇、1603年]とアクタスプリムスと。最初の2つの文です。
大文字/小文字に関係なく、探している単語を見つけるにはどうすればよいですか?過去2日間、これをいじくり回していて、神経質になり始めているので、私は必死に助けを必要としています。どうもありがとう。
python - 複数の言語のテキストファイルがあります。NLTKで1つの言語を選択的に削除するにはどうすればよいですか?
多分これは不可能であり、私はすべての希望をあきらめるべきです。あるいは、私が考えもしなかった、本当に賢い方法があるかもしれません。
これが私が持っているものの2つの例です:
يَبِسَ --يَيْبَسُ(yabisa、yaybasu)[ybs] [ي-ب-س](乾く、固く、硬くなる)20:77yabasan=乾く。يَسَّرَ --يُيَسِّرُ(yassara、yuyassiru)[ysr] [ي-س-ر](簡単にするために)92:7nuyassiruhuu=私たちは彼を楽にします。
と
ZuHülfe!zuHülfe!ヘルプ!ヘルプ!
Sonst bin ich verloren!そうでなければ私は迷子になります!ZuHülfe!ZuHülfe!ヘルプ!ヘルプ!Sonst bin ich verloren!そうでなければ私は迷子になります!Der listigen Schlange zum Opfer erkoren、狡猾なヘビ、BarmherzigigeGötterへの捧げ物として選ばれました!慈悲深い神々!Schon nahet sie sich、もう近づいています、Schon nahet sie sich、もう近づいています、
...これらのテキスト行をさらに処理するために、1つの言語を調べて削除するのは、本当に面倒です。
NLTKでこれを実行できると考えていた方法の1つは、テキストをトークンに分割し、小さなコーパスに基づいて各トークンの出所を知る方法を用意し、NLTKに選択したトークンのみを「再構成」するように依頼することでした。これはただのワイルドファンタジーですか?
python - Python コード フローが期待どおりに動作しませんか?
http://www.nltk.org/book-にあるpythonの正規表現とNLTKでさまざまなテキストを処理しようとしています。ランダム テキスト ジェネレーターを作成しようとしていますが、少し問題があります。まず、私のコードフローは次のとおりです。
入力として文を入力 - これはトリガー文字列と呼ばれ、変数に割り当てられます -
トリガー文字列で最も長い単語を取得する
Project Gutenberg データベースで、この単語 -regardless of uppercase Lowercase- を含む文を検索します。
ステップ 3 で話した単語を含む最も長い文を返します
ステップ 1 とステップ 4 の文を一緒に追加します。
ステップ 4 のセンテンスを新しい「トリガー」センテンスとして割り当て、プロセスを繰り返します。2番目の文で最も長い単語を取得し、そのように続ける必要があることに注意してください-
これまでのところ、これを行うことができたのは一度だけです。これを続けようとすると、プログラムは検索結果の最初の文だけを出力し続けます。実際には、この新しい文で最も長い単語を探し、上記のコード フローを適用し続ける必要があります。
以下は私のコードとサンプルの入力/出力です:
サンプル入力
「コードの番人」
サンプル出力
「暗号の領主ノルウェー自身、恐ろしい数で、その最も不誠実な裏切り者、コーダーの領主に助けられて、小さな紛争を始めた.反抗的なアルメはアルメを獲得し、彼の怠惰な精神を抑制し、結論として、勝利者は対に陥った」
これで、実際には「Norway hime....」で始まる文を取得し、その中で最も長い単語を探し、上記の手順を実行する必要がありますが、そうではありません。助言がありますか?ありがとう。
python - NLTKを使用して初期近代英語を20世紀のスペルに変換する
'th'で終わる初期近代英語の単語である文字列のリストがあります。これらには、hath、appointeth、requestethなどが含まれます。これらはすべて、3人称単数のために結合されています。
はるかに大きなプロジェクトの一環として(私のコンピューターを使用して、ガルガンチュアとパンタグルエルのグーテンベルクのテキストを20世紀の英語のようなものに変換し、より読みやすくします)最後の2つまたは3つを削除したいと思いますこれらすべての単語の文字を「s」に置き換えてから、まだ近代化されていない単語に対してわずかに変更された関数を使用します。どちらも以下に含まれています。
私の主な問題は、Pythonで正しく入力することができなかったことです。この時点で、言語のその部分は本当に混乱していると思います。
これを削除する関数は次のとおりです。
無関係なeを削除する関数は次のとおりです。
したがって、「abateth」と「accuseth」という単語はethremaを通過しますが、ethremb(ethrema)は通過しませんが、「abhorreth」という単語は両方を通過する必要があります。
誰かがこれを行うためのより効率的な方法を考えることができれば、私はすべての耳です。
これは、近代化が必要な単語のトークン化されたリストでこれらの関数を使用しようとした私の非常に素人っぽい試みの結果です。
だから、ええ、それは本当にタイピングの問題です。これらは私がPythonで作成した最初の関数であり、実際のオブジェクトに適用する方法がわかりません。
python - このランダムテキストジェネレーターをPythonでより効率的にするには?
私は、マルコフ連鎖を使用せずにランダムテキストジェネレーターに取り組んでおり、現在、あまり問題なく動作しています。まず、私のコードフローは次のとおりです。
入力として文を入力 - これはトリガー文字列と呼ばれ、変数に割り当てられます -
トリガー文字列で最も長い単語を取得する
Project Gutenberg データベースで、この単語 -regardless of uppercase Lowercase- を含む文を検索します。
ステップ 3 で話した単語を含む最も長い文を返します
ステップ 1 とステップ 4 の文を一緒に追加します。
ステップ 4 のセンテンスを新しい「トリガー」センテンスとして割り当て、プロセスを繰り返します。2番目の文で最も長い単語を取得し、そのように続ける必要があることに注意してください-
そして、ここに私のコードがあります:
私の懸念は、ループがほとんどの場合、同じ文が何度も何度も印刷されるポイントに到達することです。最長の単語を持つのは最長の文だからです。同じ文が何度も繰り返されることに対抗するために、私は次のことを考えました。
*現在の文の最も長い単語が最後の文と同じ場合は、現在の文からこの最も長い単語を削除して、次に長い単語を探します。
このためにいくつかの実装を試みましたが、リストとリストのリストが含まれているため、上記の解決策を適用できませんでした-gutenbergモジュールの単語と文が原因です. 2 番目に長い単語を見つける方法について何か提案はありますか? NLTK の Gutenberg モジュールの .sents() および .words() 関数はそれぞれリストとリストのリストを生成するため、単純な文字列入力の解析ではこれを行うことができないようです。前もって感謝します。
python - このテキストジェネレータをさらにランダム化するにはどうすればよいですか?
私はランダムテキストジェネレーターに取り組んでいます-マルコフ連鎖を使用せずに-そして現在それはあまり多くの問題なしで動作します-実際には私の基準によってかなりの量のランダムな文を生成しますが、多くの文の繰り返しを防ぐためにさらに正確にしたいと思いますできるだけ-。まず、私のコードフローは次のとおりです。
入力として文を入力します-これはトリガー文字列と呼ばれ、変数に割り当てられます-
トリガー文字列で最長の単語を取得する
すべてのProjectGutenbergデータベースで、この単語を含む文を検索します-大文字と小文字に関係なく-
手順3で話した単語を含む最長の文を返します
ステップ1とステップ4の文を一緒に追加します
手順4の文を新しい「トリガー」文として割り当て、プロセスを繰り返します。私は2番目の文で最も長い単語を取得し、そのように続ける必要があることに注意してください-
そしてここに私のコードがあります:
私のコードによると、トリガーセンテンスを入力すると、入力したトリガーセンテンスの最長の単語を含む別の単語を取得する必要があります。次に、この新しい文がトリガー文になり、最長の単語が選択されます。ここで問題が発生することがあります。私が配置したコード行(47行目から最後まで)にも関わらず、アルゴリズムは、2番目に長い単語を探すのではなく、続く文の中で同じ最長の単語を選択できることに気付きました。
例えば:
トリガー文字列="スコットランドはいい場所です。"
文1=-これはスコットランドという単語が含まれるランダムな文です-
さて、これは時々私のコードで問題が発生する可能性がある場所です-それが文2、942、またはzillionなどで発生するかどうかは関係ありませんが、たとえば、sent.2でそれを与えます-
文2=スコットランドという単語が含まれているが、文1の2番目に長い単語が含まれていない別の文。私のコードによると、この文は、スコットランドではなく、文1の2番目に長い単語を含む文である必要があります。
どうすればこれを解決できますか?私は可能な限りコードを最適化しようとしています。どんな助けでも大歓迎です。
python - おそらくawkの方が簡単ですが、Pythonでこれをどのように言えますか?
私は持っている:
Rutsch は、ラッターマンが魚卵をランピングするためのものです。
フィネガンズ・ウェイクの言葉です。壮大ななぞなぞの本には、「あの白い帽子を脱いで」や「ヒント」など、このような重要な動機がたくさんあります。これらはすべて、本自体のどこにいるかに応じて、似たような響きの言葉に変化します。私が欲しいのは、この特定のライトモチーフの明らかな出現を見つける方法だけです, IE
[word1] は [word2] [word-part1]ing 彼の [word3] 用です
python - NLTK Python での語義の曖昧さ回避
私は NLTK Python を初めて使用し、単語の意味を明確にすることができるサンプル アプリケーションを探しています。検索結果には多くのアルゴリズムがありますが、サンプル アプリケーションはありません。文章を渡したいだけで、ワードネットのライブラリを参考に単語の意味を知りたいです。ありがとう
PERL で同様のモジュールを見つけました。http://marimba.d.umn.edu/allwords/allwords.html NLTK Python にそのようなモジュールはありますか?
python - テキストファイルを開いて読み取り、トークン化し、最後にコマンドラインまたはモジュールとして実行する Python 関数の作成
私はしばらくの間Pythonを学ぼうとしています。たまたま、 ここを指している Google 検索リンクから公式チュートリアルの第 6 章にたどり着きました。そのページから、関数はモジュールの心臓部であり、モジュールはコマンドラインから呼び出すことができることを知ったとき、私は完全に耳を傾けました. 両方を行う最初の試みは、openbook.py です。
私が望むのは、この関数がモジュール openbook としてインポート可能であることと、openbook.py がコマンド ラインからファイルを取得し、それらすべてを実行できるようにすることです。
コマンド ラインから openbook.py を実行すると、次のようになります。
モジュールとして使用しようとすると、次のようになります。
では、これを修正するにはどうすればよいでしょうか。うまくいけば、悟りへの長く曲がりくねった道を進み続けることができますか?