ภาษาไทย
พื้นที่เก็บข้อมูลนี้จัดเตรียมรายการคำศัพท์และ n-grams ที่พบบ่อยที่สุด (ลำดับของ n คำ) ที่สะอาดแล้ว รวมถึงคำแปลภาษาอังกฤษบางส่วนของ Google Books Ngram Corpus (v3/20200217 ทุกภาษา) พร้อมด้วยโค้ด Python ที่ปรับแต่งได้ซึ่งจะสร้างรายการเหล่านี้ขึ้นมาใหม่
รายการที่มี n-grams บ่อยที่สุดจะมีแยกตามภาษาและ n ภาษาที่ใช้ได้ ได้แก่ จีน (ตัวย่อ) อังกฤษ นวนิยายอังกฤษ ฝรั่งเศส เยอรมัน ฮิบรู อิตาลี รัสเซีย และสเปน n มีตั้งแต่ 1 ถึง 5 ในรายการที่ให้มา กลุ่มภาษาย่อยถูกจำกัดไว้เฉพาะหนังสือที่ตีพิมพ์ในปี 2010-2019 แต่ในโค้ด Python สามารถปรับเปลี่ยนทั้งสิ่งนี้และจำนวน n-gram ที่พบบ่อยที่สุดได้
รายการต่างๆ อยู่ในไดเร็กทอรี ngrams สำหรับทุกภาษายกเว้นรายการทำความสะอาดภาษาฮิบรูสำหรับ
สำหรับภาษาฮีบรู เนื่องจากคลังข้อมูลมีขนาดเล็ก จึงมีเพียง 4 กรัมที่ใช้บ่อยที่สุด 200 รายการ และ 5 กรัมที่ใช้บ่อยที่สุด 80 รายการ
รายการที่ล้างทั้งหมดยังประกอบด้วยจำนวนครั้งที่แต่ละ n-gram เกิดขึ้นในคลังข้อมูล (ความถี่, คอลัมน์ freq ) สำหรับ 1 กรัม (คำ) มีสองคอลัมน์เพิ่มเติม:
freq
cumshare
en
นี่คือ 10 แถวแรกของ 1grams_french.csv:
รายการที่พบในไดเร็กทอรี ngrams โดยตรงได้รับการล้างข้อมูลแล้ว และมีวัตถุประสงค์เพื่อใช้ในการพัฒนาสื่อการเรียนรู้ภาษา ไดเร็กทอรีย่อย ngrams/more มีเวอร์ชันที่ไม่สะอาดและสะอาดน้อยกว่า ซึ่งอาจเป็นประโยชน์สำหรับนักภาษาศาสตร์:
0_raw
1a_no_pos
1b_with_pos
2_removed
เพื่อเป็นแรงจูงใจว่าทำไมการใช้คำที่ใช้บ่อยที่สุดก่อนจึงเป็นความคิดที่ดีในการเรียนภาษา จึงได้จัดให้มีกราฟต่อไปนี้
สำหรับแต่ละภาษา ระบบจะพล็อตอันดับความถี่ของแต่ละ 1 กรัม (เช่น คำ) บนแกน x และ cumshare บนแกน y ตัวอย่างเช่น หลังจากเรียนรู้คำศัพท์ภาษาฝรั่งเศสที่พบบ่อยที่สุด 1,000 คำ เราก็สามารถเข้าใจคำศัพท์มากกว่า 70% ของคำทั้งหมดโดยนับเป็นคำซ้ำ ซึ่งเกิดขึ้นในหนังสือทั่วไปที่ตีพิมพ์ระหว่างปี 2010 ถึง 2019 ในเวอร์ชัน 20200217 ของ Google Books ภาษาฝรั่งเศส Ngram Corpus
สำหรับ n-grams ที่ไม่ใช่ 1-grams ผลตอบแทนจากการเรียนรู้คำที่ใช้บ่อยที่สุดนั้นไม่ได้สูงชันมากนัก เนื่องจากมีการผสมผสานคำที่เป็นไปได้มากมาย ถึงกระนั้น ผู้คนมักจะเรียนรู้ได้ดีขึ้นเมื่อเรียนรู้สิ่งต่าง ๆ ในบริบท ดังนั้นการใช้งานอย่างหนึ่งอาจเป็นการค้นหาวลีตัวอย่างทั่วไปสำหรับแต่ละ 1 กรัม อีกวิธีหนึ่งมีดังต่อไปนี้ สมมติว่าใครคนหนึ่งต้องการเรียนรู้คำศัพท์ที่ใช้บ่อยที่สุด 1,000 คำในบางภาษา ตัวอย่างเช่น เราสามารถสร้างรายการขั้นต่ำของคำศัพท์ 4 กรัมที่พบบ่อยที่สุดซึ่งรวมถึงคำศัพท์ 1,000 คำเหล่านี้และเรียนรู้มัน
แม้ว่ารายการ n-gram ได้รับการทำความสะอาดโดยคำนึงถึงการเรียนรู้ภาษาและมีการแปลเป็นภาษาอังกฤษบางส่วน แต่รายการเหล่านั้นไม่ได้มีวัตถุประสงค์เพื่อใช้ในการเรียนรู้โดยตรง แต่เป็นแหล่งข้อมูลระดับกลางสำหรับการพัฒนาสื่อการเรียนรู้ภาษา คำแปลที่ให้ไว้จะให้คำภาษาอังกฤษที่ใกล้เคียงกับความหมายทั่วไปของคำนั้นมากที่สุดเท่านั้น นอกจากนี้ ขึ้นอยู่กับเป้าหมายในการเรียนรู้ภาษา Google Books Ngram Corpus อาจไม่ใช่คลังข้อมูลที่ดีที่สุดในการเรียนรู้ภาษา - ดูหัวข้อถัดไป
พื้นที่เก็บข้อมูลนี้อิงตาม Google Books Ngram Corpus เวอร์ชัน 3 (พร้อมตัวระบุเวอร์ชัน 20200217) ซึ่ง Google ให้บริการเป็นรายการ n-gram ที่นี่ นี่เป็นข้อมูลที่รองรับ Google Books Ngram Viewer ด้วย คลังข้อมูลเป็นส่วนย่อยที่ Google เลือกโดยพิจารณาจากคุณภาพของการรู้จำอักขระแบบออพติคอลและข้อมูลเมตาของหนังสือที่แปลงเป็นดิจิทัลโดย Google และมีหนังสือประมาณ 6% ของหนังสือทั้งหมดที่เคยตีพิมพ์ (1, 2, 3)
เมื่อประเมินคุณภาพของคลังข้อมูล ทั้งขนาดและความเป็นตัวแทนของประเภทของวัสดุที่สนใจมีความสำคัญ
Google Books Ngram Corpus เวอร์ชัน 3 มีขนาดใหญ่มาก เนื่องจากตารางการนับจำนวนคำตามภาษาและคลังข้อมูลย่อยนี้แสดงให้เห็น:
โปรดทราบว่าตัวเลขเหล่านี้เป็นจำนวนคำทั้งหมด ไม่ใช่จำนวนคำที่ไม่ซ้ำ นอกจากนี้ยังรวมคำหลายคำที่ไม่ใช่คำที่ถูกต้อง แต่เนื่องจากขนาดของคลังข้อมูล ขั้นตอนการทำความสะอาดจึงดำเนินการกับคำที่พบบ่อยที่สุดเท่านั้น ดังนั้นจำนวนคำที่จะยังคงอยู่ในคลังข้อมูลทั้งหมดหลังจากทำความสะอาดจึงไม่สามารถใช้งานได้ นอกจากนี้ Google ยังอัปโหลดเฉพาะคำที่ปรากฏมากกว่า 40 ครั้ง ในขณะที่จำนวนเหล่านี้ยังรวมคำที่ปรากฏน้อยกว่านั้นด้วย
เราพบว่าแม้จะจำกัดกลุ่มภาษาไว้เฉพาะหนังสือที่ตีพิมพ์ในช่วง 10 ปีที่ผ่านมา แต่จำนวนคำยังคงมีมากกว่า 15 พันล้านคำสำหรับแต่ละกลุ่มย่อย ยกเว้นภาษาจีนและฮีบรู ซึ่งมีขนาดใหญ่กว่าคลังข้อมูลอื่นๆ ที่ใช้กันทั่วไปอย่างมาก ซึ่งดูเหมือนจะไม่มีคำศัพท์มากกว่าหนึ่งพันล้านคำ และมักจะมีขนาดเล็กกว่านั้นมาก (4)
เมื่อพูดถึงความเป็นตัวแทนก็ขึ้นอยู่กับวัตถุประสงค์การใช้งาน Google Books Ngram Corpus มีเฉพาะหนังสือเท่านั้น (ไม่มีวารสาร ภาษาพูด เว็บไซต์ ฯลฯ) หนังสือแต่ละฉบับจะรวมไว้ไม่เกินหนึ่งครั้ง หนังสือเหล่านี้ส่วนใหญ่มาจากห้องสมุดมหาวิทยาลัยขนาดใหญ่จำนวนไม่มาก ซึ่งมี "มากกว่า 40" ในเวอร์ชัน 1 ของคลังข้อมูล ในขณะที่ส่วนแบ่งน้อยกว่าจะได้มาจากผู้จัดพิมพ์โดยตรง (1) ตัวอย่างเช่น หากใครตั้งใจจะใช้คลังข้อมูลนี้ในการเรียนรู้ภาษาที่คนส่วนใหญ่จะอ่านหนังสือประเภทที่ห้องสมุดมหาวิทยาลัยขนาดใหญ่สนใจ คำต่างๆ ในคลังข้อมูลนี้ก็น่าจะเป็นตัวแทนของจำนวนคำค่อนข้างมาก เราอาจจะต้องเผชิญหน้ากันในอนาคต
โค้ดที่สร้างทุกอย่างอยู่ในไดเร็กทอรี python ไฟล์ .py แต่ละไฟล์เป็นสคริปต์ที่สามารถเรียกใช้จากบรรทัดคำสั่งโดยใช้ python python/filename โดยที่ไดเร็กทอรีการทำงานจะต้องเป็นไดเร็กทอรีที่มีไดเร็กทอรี python ไฟล์ .py ทุกไฟล์มีส่วนการตั้งค่าที่ด้านบน และสามารถระบุการตั้งค่าการทำความสะอาดเพิ่มเติมได้โดยใช้ไฟล์ใน python/extra_settings การตั้งค่าเริ่มต้นได้รับเลือกเพื่อให้โค้ดทำงานเร็วพอสมควร และรักษาขนาดพื้นที่เก็บข้อมูลผลลัพธ์ให้เล็กพอสมควร
python python/filename
อีกทางหนึ่ง เริ่มต้นด้วยการเรียกใช้ create_source_data_lists.py จากไดเรกทอรีรากของที่เก็บเพื่อสร้างโฟลเดอร์แหล่งข้อมูลขึ้นใหม่พร้อมรายการลิงก์ไปยังไฟล์ข้อมูลต้นฉบับของ Google
เรียกใช้ download_and_extract_most_freq.py จากไดเร็กทอรีรากของที่เก็บเพื่อดาวน์โหลดไฟล์แต่ละไฟล์ที่แสดงอยู่ในแหล่งข้อมูล (ไฟล์ ".gz") และแยก n-grams ที่พบบ่อยที่สุดในนั้นลงในรายการที่บันทึกไว้ใน ngrams/more/{lang}/most_freq_ngrams_per_gz_file . เพื่อประหยัดทรัพยากรคอมพิวเตอร์ แต่ละไฟล์ .gz จะถูกลบทันทีหลังจากนี้ เนื่องจากรายการ n-grams ที่พบบ่อยที่สุดต่อไฟล์ .gz-file ยังคงใช้พื้นที่ประมาณ 36GB ตามการตั้งค่าเริ่มต้น จึงมีเพียงรายการตัวอย่างเดียวเท่านั้นที่ถูกอัปโหลดไปยัง GitHub: ngrams_1-00006-of-00024.gz.csv ไม่มีการทำความสะอาดใดๆ ในขั้นตอนนี้ ดังนั้นข้อมูลดิบจึงมีลักษณะดังนี้
ngrams/more/{lang}/most_freq_ngrams_per_gz_file
เรียกใช้ Gather_and_clean.py เพื่อรวบรวม n-grams ทั้งหมดลงในรายการของรายการที่พบบ่อยที่สุดโดยรวม และล้างรายการเหล่านี้ (ดูรายละเอียดในส่วนถัดไป)
เรียกใช้ google_cloud_translate.py เพื่อเพิ่มการแปลภาษาอังกฤษให้กับ 1 กรัมที่ไม่ใช่ภาษาอังกฤษทั้งหมดโดยใช้ Google Cloud Translate API (ต้องใช้คีย์ API ดูที่ส่วนหัวของไฟล์) ตามค่าเริ่มต้นจะมีการแปลเพียง 1 กรัมและเป็นภาษาอังกฤษเท่านั้น แต่เมื่อเปลี่ยนการตั้งค่า n-gram ใดๆ ก็สามารถแปลเป็นภาษาใดๆ ที่ Google สนับสนุนได้ Google สุ่มใช้อักษรตัวพิมพ์ใหญ่ในการแปล ดังนั้นจึงมีความพยายามที่จะแก้ไขให้ถูกต้อง นอกจากนี้ มีการใช้การแก้ไขด้วยตนเองในจำนวนจำกัดโดยใช้ manual_translations_1grams.csv
สุดท้ายนี้ graph_1grams_cumshare_rank.py จะสร้าง graph_1grams_cumshare_rank_light.svg และเวอร์ชันสีเข้ม
ขั้นตอนการทำความสะอาดทั้งหมดดำเนินการใน Gather_and_clean.py ยกเว้นการทำความสะอาดการแปลของ Google
ขั้นตอนการทำความสะอาดต่อไปนี้ดำเนินการโดยทางโปรแกรม:
"'"
" "
","
"-"
"""
นอกจากนี้ ขั้นตอนการทำความสะอาดต่อไปนี้ได้ดำเนินการด้วยตนเอง โดยใช้คำแปลภาษาอังกฤษเพื่อช่วยในการตัดสินใจ:
extra_{n}grams_to_exclude.csv
เมื่อตัดสินใจด้วยตนเองว่าจะรวมและไม่รวมคำใดจะใช้กฎต่อไปนี้ ไม่รวม : ชื่อบุคคล (ข้อยกเว้นบางประการ: พระเยซู พระเจ้า) ชื่อเมือง (ข้อยกเว้นบางประการ: หากแตกต่างจากภาษาอังกฤษมากและแพร่หลายมากพอ) ชื่อบริษัท ตัวย่อ (ข้อยกเว้นบางประการ เช่น ma, pa) ส่วนของคำ คำใน ภาษาที่ไม่ถูกต้อง (ยกเว้นในกรณีที่มีการใช้งานทั่วไป) ไม่รวม : ชื่อประเทศ ชื่อกลุ่มชาติพันธุ์/ชาติ ชื่อทางภูมิศาสตร์ (เช่น แม่น้ำ มหาสมุทร) ภาษาพูด คำอุทาน
หากต้องการดูรายการคำทั้งหมดที่สร้างขึ้นอย่างระมัดระวังในส่วนภาษาอังกฤษของ Google Books Ngram Corpus (เวอร์ชัน 20200217) จัดเรียงตามความถี่ โปรดดูที่พื้นที่เก็บข้อมูลของ hackerb9/gwordlist
รายการความถี่ที่หลากหลายในหลายภาษามีอยู่ในวิกิพจนานุกรม
สิ่งที่ต้องทำต่อไปคือการทำความสะอาดด้วยตนเองครั้งสุดท้ายสำหรับภาษาฮิบรู และการทำความสะอาดรายการ n-กรัมสำหรับ n > 1 ปัญหาที่อาจได้รับการแก้ไขในอนาคตคือบางคำอย่างหลังมี "," เป็นคำ . อาจเป็นที่พึงปรารถนาที่จะรวมคำย่อที่ใช้บ่อยกว่านี้ด้วย ไม่มีรายการ n-gram แยกกันสำหรับกลุ่มภาษาอังกฤษแบบอเมริกันและภาษาอังกฤษแบบอังกฤษ แน่นอนว่ายังมีข้อผิดพลาดอยู่บ้าง
เนื้อหาของพื้นที่เก็บข้อมูลนี้ได้รับอนุญาตภายใต้ Creative Commons Attribution 3.0 Unported License ยินดีเป็นอย่างยิ่งกับรายงานปัญหาและคำขอดึงข้อมูล!