Pythonでのテキストトークン化の方法


  1. 文字トークン化: テキストを文字レベルで分割する場合、Pythonの組み込み関数であるsplit()を使用することができます。例えば、以下のコードは文字トークン化の基本的な例です。
text = "Hello, world!"
tokens = list(text)
print(tokens)

出力:

['H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!']
  1. 単語トークン化: テキストを単語レベルで分割する場合、Pythonのnltk(Natural Language Toolkit)やspaCyなどのライブラリを使用することができます。以下にnltkを使用した単語トークン化の例を示します。
import nltk
nltk.download('punkt')
from nltk.tokenize import word_tokenize
text = "Hello, world!"
tokens = word_tokenize(text)
print(tokens)

出力:

['Hello', ',', 'world', '!']
  1. N-gramトークン化: N-gramは、連続したN個のトークンを作成する手法です。Pythonのnltkを使用してN-gramトークン化を行うことができます。以下にバイグラム(2-gram)トークン化の例を示します。
from nltk import ngrams
text = "Hello, world!"
tokens = word_tokenize(text)
bigrams = list(ngrams(tokens, 2))
print(bigrams)

出力:

[('Hello', ','), (',', 'world'), ('world', '!')]

なお、テキストトークン化はタスクやデータによって最適な方法が異なる場合がありますので、使いやすさや性能を考慮して適切な方法を選択してください。