การประมวลผลภาษาธรรมชาติเป็นการศึกษาเกี่ยวกับการสร้างอัตโนมัติและความเข้าใจภาษามนุษย์ตามธรรมชาติ นี่เป็นงานที่น่าสนใจมากขึ้นในการแก้ปัญหา เนื่องจากเทคโนโลยีคอมพิวเตอร์ถูกรวมเข้ากับเกือบทุกอุตสาหกรรมในปัจจุบัน เราจะศึกษาสาขาวิชาเฉพาะด้านการประมวลผลภาษาธรรมชาติ ความสามารถในการอ่าน เรื่องนี้เกี่ยวข้องกับหัวข้อการกำหนดความสามารถในการอ่านข้อความ สิ่งนี้บ่งชี้ว่าการอ่านหรือทำความเข้าใจข้อความนั้นยากเพียงใด
ดัชนีความสามารถในการอ่านคือค่าตัวเลขที่ระบุว่าการอ่านและทำความเข้าใจข้อความนั้นยาก (หรือง่าย) เพียงใด มีการทดสอบหลายอย่างเพื่อกำหนดความสามารถในการอ่าน และมีขอบเขตการใช้งานที่แตกต่างกัน
"ความสามารถในการอ่านอธิบายความง่ายในการอ่านเอกสาร" [13] มีการทดสอบต่างๆ มากมาย [9] เพื่อคำนวณความสามารถในการอ่าน การทดสอบความสามารถในการอ่าน "ถือเป็นการคาดคะเนความง่ายในการอ่าน แต่ไม่ใช่วิธีเดียวในการพิจารณาความสามารถในการอ่าน"
การทดสอบบางอย่างใช้ภาษาที่เป็นกลาง แต่มีการทดสอบบางอย่างที่เหมาะกับบางภาษามากกว่า ความรู้เกี่ยวกับการทดสอบความสามารถในการอ่านที่แตกต่างกันเป็นสิ่งสำคัญสำหรับเรา
การทดสอบความสามารถในการอ่าน − | มีไว้สำหรับ (ภาษา) − | คำอธิบายและสูตรอย่างย่อ − |
---|---|---|
ดัชนีความสามารถในการอ่านอัตโนมัติ (ARI) | ภาษาอังกฤษ | ออกแบบมาเพื่อวัดความสามารถในการเข้าใจของข้อความ ผลลัพธ์คือการแสดงระดับชั้นประถมศึกษาในสหรัฐฯ โดยประมาณที่จำเป็นในการทำความเข้าใจข้อความARI = 4.71 * (characters/words) + 0.5 * (words/sentence) -21.43 |
Flesch อ่านง่าย | ภาษาอังกฤษ | ออกแบบมาเพื่อระบุว่าข้อความที่อ่านเข้าใจยากเพียงใด คะแนนที่สูงขึ้นบ่งบอกถึงเนื้อหาที่อ่านง่ายกว่า ตัวเลขที่ต่ำกว่าทำเครื่องหมายข้อความที่อ่านยากขึ้นFRE = 206.835 − 1.015*(total words/ total sentences) − 84.6 * (total syllables/ total words) |
FleschKincaid ระดับชั้น | ภาษาอังกฤษ | ออกแบบมาเพื่อระบุว่าข้อความที่อ่านเข้าใจยากเพียงใด ผลลัพธ์คือตัวเลขที่ตรงกับระดับชั้นประถมศึกษาในสหรัฐฯFKGL = 0.39 * (total words/ total sentences) + 11.8 (total syllables/ total words) -15.59 |
ดัชนี Coleman-Liau | ภาษาอังกฤษ | ออกแบบมาเพื่อวัดความสามารถในการเข้าใจของข้อความ ผลลัพธ์คือระดับชั้นประถมศึกษาโดยประมาณของสหรัฐฯ ที่จำเป็นต่อการทำความเข้าใจข้อความCLI = (5.89 * (characters/ words)) − (30 *(sentences/words)) − 15.8 |
Gunning Fog Index | ภาษาอังกฤษ | ออกแบบมาเพื่อวัดความสามารถในการอ่านของตัวอย่างการเขียนภาษาอังกฤษ ดัชนีผลลัพธ์คือตัวบ่งชี้จำนวนปีของการศึกษาในระบบ (เกรดสหรัฐฯ) ที่บุคคลต้องการเพื่อให้เข้าใจข้อความในการอ่านครั้งแรกได้ง่ายขึ้นGFI = 0.4 * (( words/ sentence) + 100 * (complex words/ words)) |
Linsear เขียน | ภาษาอังกฤษ | ตัววัดความสามารถในการอ่านสำหรับข้อความภาษาอังกฤษ พัฒนาขึ้นสำหรับกองทัพอากาศเพื่อช่วยคำนวณความสามารถในการอ่านคู่มือทางเทคนิค สูตรจากวิกิพีเดีย:
|
อัตราดัชนี (RIX) | ภาษายุโรปตะวันตก | มีประโยชน์เพราะสามารถใช้กับเอกสารภาษายุโรปตะวันตกได้ [3] ผลลัพธ์ที่ได้คือคะแนนระหว่าง 0 (ง่ายมาก) ถึง 55+ (ยากมาก)RIX = (Long Words/ Sentences) (long words = words where number of characters > 6) |
ดัชนี Lesbarhets (LIX) | ภาษายุโรปตะวันตก | มีประโยชน์เพราะสามารถใช้กับเอกสารภาษายุโรปตะวันตก [2][3] ผลลัพธ์คือดัชนีที่ระบุระดับชั้น ดัชนีที่ต่ำกว่า 0.1 คือเกรด 1 ในขณะที่ 7.2 ขึ้นไปเป็นเกรดวิทยาลัยLIX = (total words/ total sentences) + (long words/ total words * 100) (long words = words where number of characters > 6) |
ตัวอย่างเช่น ด้านล่างนี้คือโปรแกรมผ่านดัชนีเฟลชเพื่อกำหนดความสามารถในการอ่านของไฟล์ข้อความ
สมมติฐาน
ดัชนีเนื้อ | ไฟล์ข้อความที่อ่านเกรด |
---|---|
0-30 | วิทยาลัย |
50-60 | โรงเรียนมัธยม |
90-100 | ชั้นประถมศึกษาปีที่สี่ |
จากข้างบนนี้ จะใช้สูตรระดับเกรด flesch-kincaid เพื่อคำนวณระดับเกรด G ที่เทียบเท่ากัน -
FKGL =0.39 * (จำนวนคำทั้งหมด/ ประโยคทั้งหมด) + 11.8 (จำนวนพยางค์ทั้งหมด/ จำนวนคำทั้งหมด) -15.59
รหัส
import os dire = os.getcwd() listOfdir = os.listdir(dire) while True: UserFileName = input('Enter file name:') if (UserFileName in listOfdir) and (UserFileName.endswith(".txt")): InputFile = open(UserFileName,'r') text = InputFile.read() sentence = text.count('.') + text.count('!') + text.count(';') + text.count(':') + text.count('?') words = len(text.split()) syllable = 0 for word in text.split(): for vowel in ['a','e','i','o','u']: syllable + = word.count(vowel) for ending in ['es','ed','e']: if word.endswith(ending): syllable - = 1 if word.endswith('le'): syllable + = 1 G = round((0.39*words)/sentence+ (11.8*syllable)/words-15.59) if G > = 0 and G < = 30: print ('The Readability level is College') elif G > = 50 and G < = 60: print ('The Readability level is High School') elif G > = 90 and G < = 100: print ('The Readability level is fourth grade') print ('This text has %d words' %(words)) elif UserFileName not in listOfdir: print ('This text file does not exist in current directory') elif not(UserFileName.endswith('.txt')): print ('This is not a text file.')
ผลลัพธ์
Enter file name:dataVisualization.txt The Readability level is College This text has 64 words