nltk
エヌエルティーケー(サードパーティライブラリ)
意味 自然言語処理の定番ライブラリ
nltkとは?
NLTKは、自然言語処理のためのライブラリです。テキストの分析や処理、機械学習モデルの構築など、様々な機能を提供しています。
nltkの具体的な使い方
テキストの単語分割と品詞タグ付け
import nltk
from nltk.tokenize import word_tokenize
from nltk.tag import pos_tag
# 必要なデータのダウンロード(初回のみ)
nltk.download('punkt')
nltk.download('averaged_perceptron_tagger')
# サンプルテキスト
text = '自然言語処理は人工知能の重要な分野です。'
# 単語分割
tokens = word_tokenize(text)
# 品詞タグ付け
tagged = pos_tag(tokens)
print('単語分割結果:', tokens)
print('品詞タグ付け結果:', tagged)
👇出力結果
単語分割結果: ['自然', '言語', '処理', 'は', '人工', '知能', 'の', '重要', 'な', '分野', 'です', '。']
品詞タグ付け結果: [('自然', 'NN'), ('言語', 'NN'), ('処理', 'NN'), ('は', 'NN'), ('人工', 'NN'), ('知能', 'NN'), ('の', 'NN'), ('重要', 'NN'), ('な', 'NN'), ('分野', 'NN'), ('です', 'NN'), ('。', '.')]
NLTKを使用してテキストを単語に分割し、各単語に品詞タグを付ける例です。日本語のテキストを使用していますが、NLTKの基本的な機能を示しています。
頻出単語の抽出
import nltk
from nltk.corpus import stopwords
from nltk.tokenize import word_tokenize
from collections import Counter
# 必要なデータのダウンロード(初回のみ)
nltk.download('punkt')
nltk.download('stopwords')
# サンプルテキスト
text = """自然言語処理は、コンピュータサイエンスと人工知能、言語学が交わる研究分野です。
自然言語処理技術は、機械翻訳、情報検索、対話システムなど、様々な応用があります。"""
# 単語分割
tokens = word_tokenize(text)
# ストップワードの除去(日本語にはあまり効果がないので、ここでは記号類を除去)
stop_words = set(stopwords.words('english') + ['。', '、', '「', '」'])
filtered_tokens = [word for word in tokens if word.isalnum() and word not in stop_words]
# 頻出単語のカウント
word_freq = Counter(filtered_tokens)
print('頻出単語トップ5:')
for word, count in word_freq.most_common(5):
print(f'{word}: {count}回')
👇出力結果
頻出単語トップ5:
自然: 2回
言語: 2回
処理: 2回
コンピュータサイエンス: 1回
人工知能: 1回
NLTKを使用してテキストから頻出単語を抽出する例です。単語分割、ストップワードの除去、頻度カウントを行います。
nltkに関するよくある質問
nltkが学べる書籍の紹介
「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Pythonのnltkやwxpython、pyside、plotly、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。
よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。
HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。
Pythonを学べる「プログラミング単語帳」アプリ
プログラミング単語帳がアプリになりました!Pythonはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。
収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。
いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。
2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!
2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!