Analisis teks PHP adalah perpustakaan untuk melakukan tugas pengambilan informasi (IR) dan pemrosesan bahasa alami (NLP) menggunakan bahasa PHP. Ada alat di perpustakaan ini yang dapat melakukan:
Semua dokumentasi untuk proyek ini dapat ditemukan dalam buku dan wiki.
Sebuah buku sedang dikerjakan dan kontribusi Anda diperlukan. Anda dapat menemukan buku di https://github.com/yooper/php-text-analysis-book
Juga, dokumentasi untuk perpustakaan berada di wiki juga. https://github.com/yooper/php-text-analysis/wiki
Tambahkan Analisis Teks PHP ke proyek Anda
composer require yooper/php-text-analysis
$ tokens = tokenize ( $ text );Anda dapat menyesuaikan tipe tokenizer mana yang harus dituliskan dengan dengan meneruskan nama kelas tokenizer
$ tokens = tokenize ( $ text , TextAnalysis Tokenizers PennTreeBankTokenizer::class);Tokenizer default adalah Textanalysis Tokenizers GeneralTokenizer :: Class . Beberapa tokenizer memerlukan parameter untuk diatur berdasarkan instantiasi.
Secara default, normalize_tokens menggunakan fungsi strtolower untuk mengurangi semua token. Untuk menyesuaikan fungsi Normalisasi, lewati fungsi atau string yang akan digunakan oleh array_map.
$ normalizedTokens = normalize_tokens (array $ tokens ); $ normalizedTokens = normalize_tokens (array $ tokens , ' mb_strtolower ' );
$ normalizedTokens = normalize_tokens (array $ tokens , function ( $ token ){ return mb_strtoupper ( $ token ); });Panggilan ke Freq_dist mengembalikan instance freqdist.
$ freqDist = freq_dist ( tokenize ( $ text ));Secara default bigram dihasilkan.
$ bigrams = ngrams ( $ tokens );Kustomisasi Ngrams
// create trigrams with a pipe delimiter in between each word
$ trigrams = ngrams ( $ tokens , 3 , ' | ' );Secara default Metode STEM menggunakan Porter Stemmer.
$ stemmedTokens = stem ( $ tokens );Anda dapat menyesuaikan jenis stemmer mana yang akan digunakan dengan meneruskan nama nama kelas Stemmer
$ stemmedTokens = stem ( $ tokens , TextAnalysis Stemmers MorphStemmer::class);Ada metode pendek untuk menggunakan algoritma Rake. Anda perlu membersihkan data sebelum digunakan. Parameter kedua adalah ukuran NGRAM dari kata kunci Anda untuk diekstrak.
$ rake = rake ( $ tokens , 3 );
$ results = $ rake -> getKeywordScores ();Perlu analisis sentimen dengan PHP menggunakan Vader, https://github.com/cjhutto/vadersenttiment. Implementasi PHP dapat dipanggil dengan mudah. Normalkan data Anda sebelumnya.
$ sentimentScores = vader ( $ tokens );Perlu melakukan beberapa klasifikasi dokumen dengan PHP, mencoba menggunakan implementasi Bayes yang naif. Contoh mengklasifikasikan ulasan film dapat ditemukan dalam tes unit
$ nb = naive_bayes ();
$ nb -> train ( ' mexican ' , tokenize ( ' taco nacho enchilada burrito ' ));
$ nb -> train ( ' american ' , tokenize ( ' hamburger burger fries pop ' ));
$ nb -> predict ( tokenize ( ' my favorite food is a burrito ' ));