[解決済み] NLTKで新しいコーパスを作成する
2023-05-27 19:37:17
質問
タイトルの答えは、ドキュメントを読んでくることだと思うのですが、その前に NLTKの本 を読んでみましたが、答えが出ません。Pythonは初心者なので。
私はたくさんの
.txt
ファイルがあり、NLTKが提供するコーパス関数をコーパス
nltk_data
.
試しに
PlaintextCorpusReader
よりも先に進めませんでした。
>>>import nltk
>>>from nltk.corpus import PlaintextCorpusReader
>>>corpus_root = './'
>>>newcorpus = PlaintextCorpusReader(corpus_root, '.*')
>>>newcorpus.words()
をどのようにセグメント化すればよいのでしょうか?
newcorpus
の文を分割するにはどうしたらよいでしょうか?punktの関数を使ってみたのですが、punktの関数では読み取れなかった
PlaintextCorpusReader
のクラスを読み取ることができません。
また、分割されたデータをテキストファイルに書き出す方法を教えてください。
どのように解決するのですか?
私は
PlaintextCorpusReader
は、少なくとも入力言語が英語の場合は、punkt tokenizer ですでに入力がセグメント化されていると思います。
PlainTextCorpusReaderのコンストラクタです。
def __init__(self, root, fileids,
word_tokenizer=WordPunctTokenizer(),
sent_tokenizer=nltk.data.LazyLoader(
'tokenizers/punkt/english.pickle'),
para_block_reader=read_blankline_block,
encoding='utf8'):
リーダーには単語や文のトークナイザーを渡すことができますが、後者については、すでにデフォルトで
nltk.data.LazyLoader('tokenizers/punkt/english.pickle')
.
単一の文字列の場合、トークナイザーは以下のように使用されます(説明は ここで を参照してください)。
>>> import nltk.data
>>> text = """
... Punkt knows that the periods in Mr. Smith and Johann S. Bach
... do not mark sentence boundaries. And sometimes sentences
... can start with non-capitalized words. i is a good variable
... name.
... """
>>> tokenizer = nltk.data.load('tokenizers/punkt/english.pickle')
>>> tokenizer.tokenize(text.strip())
関連
-
[解決済み] Pythonで辞書に新しいキーを追加するにはどうすればよいですか?
-
[解決済み] pipでPythonの全パッケージをアップグレードする方法
-
[解決済み] DataFrameの文字列、dtypeがobjectの場合
-
[解決済み] PILからopenCVフォーマットへの変換
-
[解決済み] django.db.migrations.exceptions.InconsistentMigrationHistory
-
[解決済み] Django Rest Framework ファイルアップロード
-
[解決済み] スペースがないテキストを単語のリストに分割する方法
-
[解決済み] Ctrl-CでPythonスクリプトを終了できない
-
[解決済み] Pythonで、ウェブサイトが404か200かを確認するためにurllibをどのように使用しますか?
-
[解決済み] virtualenvsはどこに作成するのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] DataFrameの文字列、dtypeがobjectの場合
-
[解決済み] PythonでファイルのMD5チェックサムを計算するには?重複
-
[解決済み] バブルソートの宿題
-
[解決済み] DataFrameに日付間の日数カラムを追加する pandas
-
[解決済み] 文字列から先頭と末尾のスペースを削除するには?
-
[解決済み] Ctrl-CでPythonスクリプトを終了できない
-
[解決済み] あるオブジェクトが数であるかどうかを確認する、最もパイソン的な方法は何でしょうか?
-
[解決済み] CSVデータを処理する際、1行目のデータを無視する方法を教えてください。
-
[解決済み] Pythonでファイルの読み込みと上書きをする
-
[解決済み] Django filter queryset __in for *every* item in list