1 Import pustaka jieba
dan tentukan teks
import jieba text = "Python是一种高级编程语言,广泛应用于人工智能、数据分析、Web开发等领域。"
2 >
words = jieba.cut(text)
, yang boleh digunakan untuk menggelungkan semua perkataan. words
for
3. Kira kekerapan perkataan
word_count = {} for word in words: if len(word) > 1: word_count[word] = word_count.get(word, 0) + 1
Langkah ini adalah untuk merentasi semua perkataan, mengira bilangan kemunculan setiap perkataan dan menyimpannya ke kamus
. Apabila mengira kekerapan perkataan, pengoptimuman boleh dilakukan dengan mengalih keluar perkataan henti Di sini, perkataan dengan panjang kurang daripada 2 ditapis sahaja.word_count
4. Output hasil
for word, count in word_count.items(): print(word, count)
1.2 Tambah perkataan henti
Tentukan senarai perkataan henti
import jieba # 停用词列表 stopwords = ['是', '一种', '等']
Sahkan teks dan tapis perkataan henti
text = "Python是一种高级编程语言,广泛应用于人工智能、数据分析、Web开发等领域。" words = jieba.cut(text) words_filtered = [word for word in words if word not in stopwords and len(word) > 1]
Kira kekerapan perkataan dan keluarkan hasilnya
word_count = {} for word in words_filtered: word_count[word] = word_count.get(word, 0) + 1 for word, count in word_count.items(): print(word, count)
Selepas menambah perkataan henti, hasil output ialah:
Seperti yang anda lihat, perkataan yang dilumpuhkan
tidak dipaparkan.一种
2 Pengekstrakan Kata Kunci
Secara khusus, algoritma TF-IDF mengandungi dua bahagian:
Contohnya: F (Kekerapan Jangka) merujuk kepada kekerapan perkataan tertentu muncul dalam dokumen. Formula pengiraan adalah seperti berikut: T F = (bilangan kali perkataan muncul dalam dokumen) / (jumlah bilangan perkataan dalam dokumen)
2.2 Kod pengekstrakan kata kunci
Sebagai contoh, dalam dokumen yang mengandungi 100 perkataan, perkataan tertentu muncul 10 kali , maka TF perkataan ialah
10 / 100 = 0.1
IDF (Kekerapan Dokumen Songsang) merujuk kepada timbal balik bilangan dokumen di mana perkataan tertentu muncul dalam koleksi dokumen. Formula pengiraan adalah seperti berikut:
I D F = log (jumlah bilangan dokumen dalam koleksi dokumen / bilangan dokumen yang mengandungi perkataan)
Sebagai contoh, dalam koleksi dokumen yang mengandungi 1,000 dokumen, perkataan tertentu muncul dalam 100 documents , maka IDF perkataan ialah l o g ( 1000 / 100 ) = 1.0
TFIDF ialah hasil darab TF dan IDF Formula pengiraan adalah seperti berikut:
T F I D F = T F ∗ 🎜>
Perlu diingatkan bahawa algoritma TF-IDF hanya mempertimbangkan kemunculan perkataan dalam teks dan mengabaikan korelasi antara perkataan. Oleh itu, dalam beberapa senario aplikasi tertentu, kaedah pengekstrakan ciri teks lain perlu digunakan, seperti vektor perkataan, model topik, dsb.
import jieba.analyse # 待提取关键字的文本 text = "Python是一种高级编程语言,广泛应用于人工智能、数据分析、Web开发等领域。" # 使用jieba提取关键字 keywords = jieba.analyse.extract_tags(text, topK=5, withWeight=True) # 输出关键字和对应的权重 for keyword, weight in keywords: print(keyword, weight)
Dalam contoh ini, kami mula-mula mengimport modul
dan kemudian menentukan teks menunjukkan bilangan kata kunci yang akan diekstrak dan parameter jieba.analyse
menunjukkan sama ada untuk mengembalikan nilai berat kata kunci. Akhir sekali, kami mengulangi senarai kata kunci dan mengeluarkan setiap kata kunci dan nilai berat yang sepadan. text
Hasil keluaran fungsi ini ialah: jieba.analyse.extract_tags()
topK
withWeight
Seperti yang anda lihat, jieba mengekstrak beberapa kata kunci dalam teks input berdasarkan algoritma TF-IDF dan mengembalikan nilai berat setiap kata kunci.
Atas ialah kandungan terperinci Cara menggunakan Jieba untuk statistik kekerapan perkataan dan pengekstrakan kata kunci dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!