- 文字トークン化:
テキストを文字レベルで分割する場合、Pythonの組み込み関数である
split()
を使用することができます。例えば、以下のコードは文字トークン化の基本的な例です。
text = "Hello, world!"
tokens = list(text)
print(tokens)
出力:
['H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!']
- 単語トークン化:
テキストを単語レベルで分割する場合、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', '!']
- 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', '!')]
なお、テキストトークン化はタスクやデータによって最適な方法が異なる場合がありますので、使いやすさや性能を考慮して適切な方法を選択してください。