
รูปแบบคำสามารถสร้างรูปแบบที่เป็นไปได้ทั้งหมดของคำภาษาอังกฤษ มันสามารถผันคำกริยา มันสามารถเชื่อมต่อส่วนต่าง ๆ ของสุนทรพจน์เช่นคำนามคำคุณศัพท์คำคุณศัพท์ของคำวิเศษณ์คำนามกับคำกริยา ฯลฯ มันสามารถอธิบายคำนามเอกพจน์ได้ มันทำสิ่งนี้ทั้งหมดในฟังก์ชั่นเดียว สนุก!
ตัวอย่างบางอย่างที่ทันเวลามาก: -P
> >> from word_forms . word_forms import get_word_forms
> >> get_word_forms ( "president" )
> >> { 'n' : { 'presidents' , 'presidentships' , 'presidencies' , 'presidentship' , 'president' , 'presidency' },
'a' : { 'presidential' },
'v' : { 'preside' , 'presided' , 'presiding' , 'presides' },
'r' : { 'presidentially' }}
> >> get_word_forms ( "elect" )
> >> { 'n' : { 'elects' , 'electives' , 'electors' , 'elect' , 'eligibilities' , 'electorates' , 'eligibility' , 'elector' , 'election' , 'elections' , 'electorate' , 'elective' },
'a' : { 'eligible' , 'electoral' , 'elective' , 'elect' },
'v' : { 'electing' , 'elects' , 'elected' , 'elect' },
'r' : set ()}
> >> get_word_forms ( "politician" )
> >> { 'n' : { 'politician' , 'politics' , 'politicians' },
'a' : { 'political' },
'v' : set (),
'r' : { 'politically' }}
> >> get_word_forms ( "am" )
> >> { 'n' : { 'being' , 'beings' },
'a' : set (),
'v' : { 'was' , 'be' , "weren't" , 'am' , "wasn't" , "aren't" , 'being' , 'were' , 'is' , "isn't" , 'been' , 'are' , 'am not' },
'r' : set ()}
> >> get_word_forms ( "ran" )
> >> { 'n' : { 'run' , 'runniness' , 'runner' , 'runninesses' , 'running' , 'runners' , 'runnings' , 'runs' },
'a' : { 'running' , 'runny' },
'v' : { 'running' , 'run' , 'ran' , 'runs' },
'r' : set ()}
> >> get_word_forms ( 'continent' , 0.8 ) # with configurable similarity threshold
> >> { 'n' : { 'continents' , 'continency' , 'continences' , 'continent' , 'continencies' , 'continence' },
'a' : { 'continental' , 'continent' },
'v' : set (),
'r' : set ()}อย่างที่คุณเห็นเอาต์พุตเป็นพจนานุกรมที่มีสี่ปุ่ม "R" หมายถึงคำวิเศษณ์ "A" สำหรับคำคุณศัพท์ "n" สำหรับคำนามและ "v" สำหรับคำกริยา อย่าถามฉันว่าทำไม "r" ถึงคำวิเศษณ์ นี่คือสิ่งที่ WordNet ใช้ดังนั้นนี่คือเหตุผลที่ฉันใช้มันด้วย :-)
สามารถรับความช่วยเหลือได้ตลอดเวลาโดยพิมพ์สิ่งต่อไปนี้:
> >> help ( get_word_forms )ในการประมวลผลภาษาธรรมชาติและการค้นหาเรามักจะต้องปฏิบัติต่อคำเช่น "วิ่ง" และ "วิ่ง", "ความรัก" และ "น่ารัก" หรือ "นักการเมือง" และ "การเมือง" เป็นคำเดียวกัน สิ่งนี้มักจะทำโดยการลดอัลกอริทึมแต่ละคำลงในคำพื้นฐานจากนั้นเปรียบเทียบคำพื้นฐาน กระบวนการนี้เรียกว่าเกิดขึ้น ตัวอย่างเช่น Porter Stemmer ลดทั้ง "ความรัก" และ "น่ารัก" ลงในคำพื้นฐาน "ความรัก"
Stemmers มีข้อบกพร่องหลายประการ ประการแรกคำพื้นฐานที่ผลิตโดย Stemmer นั้นไม่ได้เป็นคำภาษาอังกฤษที่ถูกต้องเสมอไป ตัวอย่างเช่น Porter Stemmer ลดคำว่า "การดำเนินการ" เป็น "oper" ประการที่สอง stemmers มีอัตราการลบเท็จสูง ตัวอย่างเช่น "Run" จะลดลงเป็น "Run" และ "Ran" จะลดลงเป็น "Ran" สิ่งนี้เกิดขึ้นเพราะสเตมเมอร์ใช้ชุดของกฎเหตุผลสำหรับการค้นหาคำพื้นฐานและอย่างที่เราทุกคนรู้ว่าภาษาอังกฤษไม่ได้มีเหตุผลอย่างมากเสมอไป
Lemmatizers มีความแม่นยำมากกว่า stemmers เพราะพวกเขาสร้างรูปแบบพื้นฐานที่มีอยู่ในพจนานุกรม (เรียกอีกอย่างว่าบทแทรก) ดังนั้นคำที่ลดลงจึงเป็นคำภาษาอังกฤษที่ถูกต้องเสมอ อย่างไรก็ตาม lemmatizers ยังมีเชิงลบที่ผิดพลาดเพราะพวกเขาไม่ค่อยดีในการเชื่อมต่อคำในส่วนต่าง ๆ ของการกล่าวสุนทรพจน์ WordNet Lemmatizer ที่มาพร้อมกับ NLTK ล้มเหลวในเกือบทั้งหมดตัวอย่างดังกล่าว "การดำเนินงาน" จะลดลงเป็น "การดำเนินงาน" และ "ดำเนินการ" จะลดลงเป็น "ดำเนินการ"
รูปแบบคำพยายามที่จะแก้ปัญหานี้โดยการค้นหารูปแบบที่เป็นไปได้ทั้งหมดของคำภาษาอังกฤษที่กำหนด มันสามารถดำเนินการผันคำกริยาเชื่อมต่อรูปแบบคำนามกับรูปแบบคำกริยารูปแบบคำคุณศัพท์รูปแบบคำวิเศษณ์ plularize รูปแบบเอกพจน์ ฯลฯ
นอกจากนี้เรายังนำเสนอ lemmatizer ที่ง่ายมากตาม word_forms นี่คือวิธีการใช้งาน
> >> from word_forms . lemmatizer import lemmatize
> >> lemmatize ( "operations" )
'operant'
> >> lemmatize ( "operate" )
'operant'สนุก!
ทดสอบใน Python 3
ใช้ pip :
pip install -U word_forms
หรือคุณสามารถติดตั้งได้จากแหล่งที่มา:
git clone https://github.com/gutfeeling/word_forms.git
pip หรือ setup.py pip install -e word_forms
% or
cd word_forms
python setup.py install
สวัสดีฉันเป็น dibya และฉันรักษาที่เก็บนี้ ฉันชอบที่จะได้ยินจากคุณ อย่าลังเลที่จะติดต่อฉันที่ [email protected]
รูปแบบคำไม่สมบูรณ์แบบ โดยเฉพาะอย่างยิ่งสองด้านสามารถปรับปรุงได้
หากคุณชอบแพ็คเกจนี้อย่าลังเลที่จะมีส่วนร่วม คำขอดึงของคุณยินดีต้อนรับมากที่สุด