Python で文を単語に分割する

Muhammad Maisam Abbas 2023年1月30日
  1. Python の str.split() 関数を使用して文を単語に分割する
  2. Python でリスト内包表記を使用して文を単語に分割する
  3. Python の nltk ライブラリを使用して文を単語に分割する
Python で文を単語に分割する

このチュートリアルでは、Python で文を単語のリストに分割する方法について説明します。

Python の str.split() 関数を使用して文を単語に分割する

Python の str.split() 関数は、入力パラメーターとして区切り文字を受け取り、区切り文字に基づいて呼び出し元の文字列を複数の文字列に分割します。区切り文字を指定しない場合、str.split() 関数は空のスペースに基づいて文字列を分割します。次のコードスニペットは、str.split() 関数を使用して文を単語のリストに分割する方法を示しています。

sentence = "This is a sentence"
words = sentence.split()
print(words)

出力:

['This', 'is', 'a', 'sentence']

いくつかのデータを含む文字列変数 sentence を宣言しました。次に、sentence 変数を sentence.split() 関数を使用して文字列のリストに分割し、結果を words リストに保存しました。str.split() 関数は、Python で文を単語のリストに変換する最も簡単な方法です。

Python でリスト内包表記を使用して文を単語に分割する

リスト内包表記を使用して、文を単語のリストに分割することもできます。ただし、このアプローチは、str.split() 関数ほど単純ではありません。リスト内包表記を使用する利点は、取得した単語に対していくつかの操作を実行できることです。操作は、各単語に何かを追加することから、各単語から何かを削除することまで多岐にわたります。次のコードスニペットは、リスト内包表記と str.split() 関数を使用して文を単語に分割する方法を示しています。

sentence = "This is a sentence"
words = [word for word in sentence.split()]
print(words)

出力:

['This', 'is', 'a', 'sentence']

いくつかのデータを含む文字列変数 sentence を宣言しました。次に、sentence 変数をリスト内包表記の文字列のリストに分割し、結果を words リストに保存しました。このメソッドは、単語を単語リストに保存する前に、取得した各単語を変更するのに役立ちます。

Python の nltk ライブラリを使用して文を単語に分割する

nltk または Natural 言語ツールキットライブラリは、Python でのテキスト処理に使用されます。外部ライブラリであるため、使用する前にインストールする必要があります。自然言語ツールキットをインストールするコマンドを以下に示します。

pip install nltk

インストールしたら、nltk.download() 関数を使用して punkt パッケージをダウンロードする必要があります。この現象は、次のコードスニペットに示されています。

import nltk

nltk.download("punkt")

出力:

[nltk_data] Downloading package punkt to /root/nltk_data...
[nltk_data]   Unzipping tokenizers/punkt.zip.

nltk ライブラリ内の word_tokenize() 関数を使用して、特定の問題を解決できます。この関数は、入力パラメーターとして文字列を受け取り、それを複数のサブ文字列に分割します。次のコードスニペットは、nltk.word_tokenize() 関数を使用して文を単語のリストに分割する方法を示しています。

sentence = "This is a sentence"
words = nltk.word_tokenize(sentence)
print(words)

出力:

['This', 'is', 'a', 'sentence']

sentence 文字列を nltk.word_tokenize(sentence) 関数を使用して単語のリストに分割し、結果を words リストに保存しました。最後に、words リスト内の要素を表示しました。

str.split() メソッドはこの特定の問題を解決する最も簡単な方法ですが、単語のリストを取得したら、split() 関数でできることはあまりありません。他の 2つの方法は、取得した単語に対して追加の操作を実行する場合に役立ちます。

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

関連記事 - Python String