Masalah: Dapatkan senarai ayat daripada fail teks yang disediakan, mengambil kira kerumitan bahasa, seperti noktah yang digunakan dalam singkatan dan angka.
Ungkapan Biasa Tidak Cekap:
re.compile('(\. |^|!|\?)([A-Z][^;↑\.<>@\^&/\[\]]*(\.|!|\?) )',re.M)
Penyelesaian Menggunakan Natural Language Toolkit (NLTK):
NLTK menyediakan penyelesaian yang teguh untuk tokenisasi ayat, seperti yang ditunjukkan oleh yang berikut kod:
import nltk.data # Load the English sentence tokenizer tokenizer = nltk.data.load('tokenizers/punkt/english.pickle') # Read the text file with open("test.txt") as fp: data = fp.read() # Tokenize the text into sentences sentences = tokenizer.tokenize(data) # Print the tokenized sentences, separated by newlines print('\n-----\n'.join(sentences))
Faedah Penyelesaian NLTK:
Atas ialah kandungan terperinci Bagaimanakah NLTK Boleh Mengeluarkan Ayat daripada Teks dengan Cekap, Mengendalikan Nuansa Linguistik Yang Kompleks?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!