การวิเคราะห์ข้อความ PHP เป็นห้องสมุดสำหรับการดำเนินการดึงข้อมูล (IR) และงานการประมวลผลภาษาธรรมชาติ (NLP) โดยใช้ภาษา PHP มีเครื่องมือในห้องสมุดนี้ที่สามารถดำเนินการได้:
เอกสารทั้งหมดสำหรับโครงการนี้สามารถพบได้ในหนังสือและวิกิ
หนังสืออยู่ในผลงานและจำเป็นต้องมีส่วนร่วมของคุณ คุณสามารถค้นหาหนังสือได้ที่ https://github.com/yooper/php-text-analysis-book
นอกจากนี้เอกสารสำหรับห้องสมุดยังอยู่ในวิกิเช่นกัน https://github.com/yooper/php-text-analysis/wiki
เพิ่มการวิเคราะห์ข้อความ PHP ในโครงการของคุณ
composer require yooper/php-text-analysis
$ tokens = tokenize ( $ text );คุณสามารถปรับแต่ง tokenizer ประเภทใดที่เป็น tokenize ด้วยการผ่านในชื่อของคลาส tokenizer
$ tokens = tokenize ( $ text , TextAnalysis Tokenizers PennTreeBankTokenizer::class);tokenizer เริ่มต้นคือ textanalysis tokenizers GeneralTokenizer :: คลาส tokenizers บางตัวต้องการพารามิเตอร์ที่จะตั้งค่าเมื่ออินสแตนซ์
โดยค่าเริ่มต้น Normalize_tokens ใช้ฟังก์ชัน strtoLower เพื่อลดระดับโทเค็นทั้งหมด ในการปรับแต่งฟังก์ชั่นปกติให้ส่งผ่านฟังก์ชันหรือสตริงที่จะใช้โดย 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 ); });การโทรไปยัง freq_dist ส่งคืนอินสแตนซ์ freqdist
$ freqDist = freq_dist ( tokenize ( $ text ));โดยค่าเริ่มต้น bigrams จะถูกสร้างขึ้น
$ bigrams = ngrams ( $ tokens );ปรับแต่ง ngrams
// create trigrams with a pipe delimiter in between each word
$ trigrams = ngrams ( $ tokens , 3 , ' | ' );โดยวิธีการเริ่มต้นของต้นกำเนิดจะใช้สเตมเมอร์พอร์เตอร์
$ stemmedTokens = stem ( $ tokens );คุณสามารถปรับแต่งประเภทของ stemmer ที่จะใช้โดยผ่านชื่อของชื่อคลาส Stemmer
$ stemmedTokens = stem ( $ tokens , TextAnalysis Stemmers MorphStemmer::class);มีวิธีตัดสั้นสำหรับการใช้อัลกอริทึม Rake คุณจะต้องทำความสะอาดข้อมูลของคุณก่อนที่จะใช้ พารามิเตอร์ที่สองคือขนาด ngram ของคำหลักของคุณที่จะแยก
$ rake = rake ( $ tokens , 3 );
$ results = $ rake -> getKeywordScores ();ต้องการการวิเคราะห์ความเชื่อมั่นด้วย PHP ใช้ Vader, https://github.com/cjhutto/vadersentiment การใช้งาน PHP สามารถเรียกใช้ได้อย่างง่ายดาย เพียงแค่ทำให้ข้อมูลของคุณเป็นปกติก่อนถึงมือ
$ sentimentScores = vader ( $ tokens );จำเป็นต้องทำการจำแนกเอกสารด้วย PHP พยายามใช้การใช้งาน Naive Bayes ตัวอย่างของการจำแนกรีวิวภาพยนตร์สามารถพบได้ในการทดสอบหน่วย
$ 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 ' ));