http://www.nltk.org/book-にあるpythonの正規表現とNLTKでさまざまなテキストを処理しようとしています。ランダムテキストジェネレーターを作成しようとしていますが、問題が発生しています。まず、私のアルゴリズムは次のとおりです。
入力として文を入力します-これはトリガー文字列と呼ばれます-
トリガー文字列で最長の単語を取得する
すべてのProjectGutenbergデータベースで、この単語を含む文を検索します-大文字と小文字に関係なく-
手順3で話した単語を含む最長の文を返します
ステップ1とステップ4の文を一緒に追加します
プロセスを繰り返します。私は2番目の文で最も長い単語を取得し、そのように続ける必要があることに注意してください-
これまでのところ、最初の2文でこれを実行できましたが、大文字と小文字を区別しない検索を実行できません。Project Gutenbergの全文データベースはgutenberg.sents()
関数を介して利用できますが、正規表現-大文字と小文字を区別しない検索はgutenberg.sents()
、本の文を次のように出力するため、実質的に不可能です-リスト形式のリスト-:
例:シェイクスピアのマクベスのすべての文は、次のように入力して呼び出されます
import nltk
from nltk.corpus import gutenberg
gutenberg.sents('shakespeare-macbeth.txt')
Pythonシェルコマンドラインに入力すると、出力は次のようになります。
[['[', 'The', 'Tragedie', 'of', 'Macbeth', 'by', 'William', 'Shakespeare', '1603', ']'],
['Actus', 'Primus', '.'], .......]
[ウィリアムシェイクスピアによるマクベスの悲劇、1603年]とアクタスプリムスと。最初の2つの文です。
大文字/小文字に関係なく、探している単語を見つけるにはどうすればよいですか?過去2日間、これをいじくり回していて、神経質になり始めているので、私は必死に助けを必要としています。どうもありがとう。