Warning: preg_match(): Compilation failed: regular expression is too large at offset 40355 in /home/wp769435/a-mun.com/public_html/wp-content/plugins/easy-table-of-contents/easy-table-of-contents.php on line 1806
# NLTKの例
import nltk
nltk.download('punkt')
from nltk.tokenize import word_tokenize
text = "Python is a powerful programming language."
tokens = word_tokenize(text)
print(tokens)
# spaCyの例
import spacy
nlp = spacy.load("en_core_web_sm")
doc = nlp("Python is a powerful programming language.")
tokens = [token.text for token in doc]
print(tokens)
動作解説
NLTK: punktトークナイザーを使い、単語を分割。
spaCy: 事前学習モデルを利用して、高速に単語を分割。
3. 実践例:感情分析
3.1 簡単な感情分析コード
# spaCyを用いた感情分析(サンプル)
from textblob import TextBlob
text = "I love Python programming!"
blob = TextBlob(text)
print(blob.sentiment)
動作解説
TextBlob: 感情分析や文法チェックを提供するライブラリ。
sentiment: ポジティブ・ネガティブ度合いを数値で取得。
4. 練習問題
以下の課題に挑戦してみましょう。
NLTKを使って、文ごとに分割するスクリプトを作成してください。
spaCyを使って、文章から固有名詞を抽出してください。
TextBlobを使って、顧客レビューの感情分析を行ってください。
5. 練習問題の解答と解説
問2の解答例
# spaCyで固有名詞を抽出
doc = nlp("Google was founded in September 1998 by Larry Page and Sergey Brin.")
entities = [(ent.text, ent.label_) for ent in doc.ents]
print(entities)