ผู้ใช้:Motarkratom/Tf–idf

จากวิกิพีเดีย สารานุกรมเสรี

ในระบบค้นคืนข้อมูลสารสนเทศ (information retrieval), tf–idf, TF*IDF หรือ TFIDF ย่อมาจากคำว่า term frequency–inverse document frequency ซึ่งเป็นค่าทางสถิติที่มีเป้าหมายเพื่อสะท้อนถึงความสำคัญของคำต่อเอกสารในคอลเล็กชันหรือคลังข้อมูล[1] ค่า tf–idf มักใช้เป็น ปัจจัยถ่วงน้ำหนัก (weighting factor) ในการค้นหา สำหรับรูปแบบการค้นคืนข้อมูลสารสนเทศ, การทำเหมืองข้อความ (text mining) และ การสร้างแบบจำลองผู้ใช้ (user modeling) ปัจจัยการถ่วงน้ำหนัก (weighting factor) คือ น้ำหนักที่กำหนดให้กับจุดข้อมูลเพื่อกำหนดความสำคัญที่เบากว่าหรือหนักกว่าในกลุ่ม มักใช้สำหรับคำนวณค่าเฉลี่ยถ่วงน้ำหนัก เพื่อให้สมาชิกในกลุ่มให้ความสำคัญน้อยลง (หรือมากกว่า) ค่า tf–idf จะเพิ่มขึ้นตามสัดส่วนของจำนวนครั้งที่คำปรากฏในเอกสาร และถูกหักล้างด้วยจำนวนเอกสารในคลังข้อมูลที่มีคำนั้นอยู่ ซึ่งช่วยปรับให้คำบางคำปรากฏบ่อยขึ้น ค่า tf–idf เป็นการถ่วงน้ำหนักระยะยาวรูปแบบหนึ่งที่ได้รับความนิยมมากที่สุดในปัจจุบัน โดยผลจากการสำรวจในปี 2558 พบว่า 83% ของระบบแบบ text-based ในห้องสมุดดิจิทัลต่างก็ใช้ tf–idf[2]

รูปแบบ/ความแปรผันของรูปแบบ tf–idf มักถูกใช้โดยเครื่องมือค้นหา (search engines) ที่เป็นตัวกลางในการให้คะแนนและจัดอันดับความเกี่ยวข้องของเอกสารตามคำค้นหาของผู้ใช้ ค่า tf–idf สามารถใช้สำหรับการกรองคำหยุด (stop-words) ในฟิลด์หัวเรื่องต่างๆ ได้ รวมทั้งการสรุปข้อความและการจัดประเภทข้อความ

ในการคำนวณหาฟังก์ชันการจัดอันดับ (ranking function) อย่างง่ายที่สุดวิธีหนึ่งทำได้โดยการรวม ค่าของ tf–idf ในแต่ละคำที่ค้นหา ทั้งนี้ ยังมี ranking function ซึ่งมีความซับซ้อนอีกมากมายที่แปรผันกับตัวแบบอย่างง่ายนี้

แรงจูงใจ[แก้]

ความถี่ของคำ (Term frequency)[แก้]

ถ้าหากเรามีชุดเอกสารเป็นข้อความภาษาอังกฤษและต้องการจัดอันดับเอกสารดังกล่าว ว่าเอกสารใดที่เกี่ยวข้องกับข้อความค้นหา "the brown cow" มากกว่า วิธีง่ายๆ คือ เริ่มต้นด้วยการกำจัดเอกสารที่ไม่มีคำว่า "the", "brown" และ "cow" ทั้งสามคำออกไป แต่ก็ยังเหลือเอกสารจำนวนมาก ดังนั้น เพื่อแยกความแตกต่างเพิ่มเติม เราอาจนับจำนวนครั้งที่แต่ละเทอมเกิดขึ้นในเอกสารแต่ละฉบับ จำนวนครั้งที่คำศัพท์เกิดขึ้นในเอกสารเรียกว่า ความถี่ของคำ (Term frequency) อย่างไรก็ตาม ในกรณีที่ความยาวของเอกสารแตกต่างกันอย่างมากมักจะมีการปรับเปลี่ยน รูปแบบของการถ่วงน้ำหนักแบบแรกเกิดจาก Hans Peter Luhn (1957) ซึ่งอาจสรุปได้ดังนี้: [3] น้ำหนักของคำที่อยู่ในเอกสารเป็นเพียงสัดส่วนกับความถี่ของคำ

ผกผันของความถี่ของเอกสาร (Inverse document frequency)[แก้]

เนื่องจากคำว่า "the" เป็นคำที่ใช้กันทั่วไป ความถี่ของคำจึงมักจะเน้นเอกสารที่ไม่ถูกต้องซึ่งมักใช้คำว่า "the" บ่อยกว่า โดยไม่ได้ให้น้ำหนักเพียงพอกับคำว่า "brown" และ "cow" ที่มีความหมายมากกว่า คำว่า "the" ไม่ใช่คำหลักที่ดีในการแยกแยะเอกสารและคำศัพท์ที่เกี่ยวข้องและไม่เกี่ยวข้อง ซึ่งแตกต่างจากคำทั่วไป "brown" และ "cow" ดังนั้นจึงรวม ปัจจัยผกผันของความถี่ของเอกสาร (inverse document frequency factor) ซึ่งลดค่าน้ำหนักของเงื่อนไขที่เกิดขึ้นบ่อยมากในชุดเอกสารและเพิ่มค่าน้ำหนักของเงื่อนไขที่ไม่ค่อยเกิดขึ้น

Karen Spärck Jones (1972) ได้ให้ความหมายการตีความทางสถิติของคำเฉพาะที่เรียกว่า ผกผันของความถี่ของเอกสาร (Inverse document frequency : idf ) ซึ่งกลายเป็นรากฐานที่สำคัญของการถ่วงน้ำหนักคำ (term weighting): [4] ความจำเพาะของคำศัพท์สามารถวัดเป็นฟังก์ชันผกผันของจำนวนเอกสารที่เกิดขึ้น

บทนิยาม[แก้]

  1. tf–idf เป็นผลคูณของค่าสถิติสองค่า คือ ความถี่ของคำ (Term frequency) และ ผกผันของความถี่ของเอกสาร (Inverse document frequency) ซึ่งมีในการกำหนดค่าที่แน่นอนของทั้งสองสถิติหลายวิธี
  2. สูตรดังแสดงต่อไปนี้มีจุดมุ่งหมายเพื่อกำหนดความสำคัญของคำหลัก ( keyword) หรือวลี (phrase) ภายในเอกสารหรือหน้าเว็บ
รูปแบบ/ความแปรผันของค่าถ่วงน้ำหนักของความถี่ของคำ (tf)
weighting scheme ค่าถ่วงน้ำหนัก tf
binary
raw count
term frequency
log normalization
double normalization 0.5
double normalization K

ความถี่ของคำ[แก้]

ความถี่ของคำ tf(t,d) คือ ความถี่ของเทอม t ,

,

โดยที่ ft,d คือ การนับ (คร่าวๆ) ของคำศัพท์ในเอกสาร กล่าวคือ จำนวนครั้งที่คำ t ปรากฎในเอกสาร d

ทั้งนี้ มีวิธีในการกำหนดความถี่ของคำอีกหลายวิธี::[5]: 128 

  • การนับ (คร่าวๆ) : tf(t,d) = ft,d
  • ความถี่แบบบูลีน (Boolean frequencies): tf(t,d) = 1 ถ้า t เกิดขึ้นใน d และ มิฉะนั้นแล้วเป็น 0 ;
  • ความถี่คำที่ปรับความยาวของเอกสาร: tf(t,d) = ft,d ÷ จำนวนของคำใน d
  • ความถี่แบบ สเกลลอการิทึม tf(t,d) = log (1 + ft,d) ; [6]
  • ความถี่ที่เพิ่มขึ้น เพื่อป้องกันความเอนเอียงต่อเอกสารที่ยาวขึ้น เช่น ความถี่ (คร่าวๆ) หารด้วยความถี่ (คร่าวๆ) ของคำที่เกิดขึ้นมากที่สุดในเอกสาร:

ผกผันของความถี่ของเอกสาร[แก้]

รูปแบบ/ความแปรผันของค่าถ่วงน้ำหนักของผกผันของความถี่ของเอกสาร (idf)
weighting scheme ค่าถ่วงน้ำหนักidf ()
unary 1
inverse document frequency
inverse document frequency smooth
inverse document frequency max
probabilistic inverse document frequency

ผกผันของความถี่ของเอกสาร คือ การวัดปริมาณข้อมูลที่คำนั้นให้ กล่าวคือ เป็นเรื่องปกติหรือหายากในเอกสารทั้งหมด idf เป็น เศษส่วนผกผันที่ปรับขนาดลอการิทึม (logarithmically scaled inverse fraction) ของเอกสารที่มีคำนั้น (สรุป idf ได้มาจากการหาค่าลอการิทึมของผลหารของจำนวนเอกสารทั้งหมดด้วยจำนวนเอกสารที่มีคำนั้น ):

เมื่อ

  • เป็นจำนวนเอกสารทั้งหมดในคลัง
  • เป็นจำนวนเอกสารที่มีคำว่า ปรากฏขึ้น (กล่าวคือ ) หากคำๆ นั้นไม่อยู่ในคลังข้อมูล จะนำไปสู่การหารด้วยศูนย์ ดังนั้น จึงเป็นเรื่องปกติที่จะปรับตัวส่วนเป็น
ภาพแสดงฟังก์ชันผกผันของความถี่ของเอกสารที่แตกต่างกัน: มาตรฐาน (standard) ราบเรียบ (smooth) ความน่าจะเป็น (probabilistic)

ความถี่ของคำ (Term frequency) – ผกผันของความถี่ของเอกสาร (Inverse document frequency)[แก้]

จากนั้น tf–idf จะถูกคำนวณในรูปแบบของ

ในเอกสารที่กำหนด ค่า tf–idf ที่มีน้ำหนักสูงนั้นเข้าถึงได้ด้วย ความถี่ของคำที่สูง และความถี่ของเอกสารของคำศัพท์นั้นต่ำในการรวบรวมเอกสารทั้งหมด ค่าน้ำหนักจึงมักจะกรองคำทั่วไปออก เนื่องจากอัตราส่วนภายในฟังก์ชันของ idf (idf's log function) มีค่ามากกว่าหรือเท่ากับ 1 เสมอ ค่าของ idf (และ tf–idf) จึงมากกว่าหรือเท่ากับ 0 ทั้งนี้ เมื่อคำศัพท์ปรากฏในเอกสารจำนวนมากขึ้น อัตราส่วนภายในลอการิทึมจะเข้าใกล้ 1 ซึ่งย่อมทำให้ idf และ tf–idf เข้าใกล้ 0 มากขึ้น

รูปแบบการถ่วงน้ำหนัก tf–idf ที่แนะนำ
weighting scheme document term weight query term weight
1
2
3

การให้เหตุผลของ idf[แก้]

Idf ถูกนำมาใช้เป็น "ความจำเพาะของคำ" โดย Karen Spärck Jones ในบทความปี 1972 แม้ว่ามันจะใช้ได้ผลดีในฐานะของวิธีค้นหา แต่รากฐานทางทฤษฎีของมันก็มีปัญหามาอย่างน้อยสามทศวรรษหลังจากนั้น โดยมีนักวิจัยหลายคนพยายามหา การเหตุผลทางทฤษฎีเชิงข้อมูล สำหรับเรื่องนี้[7]

คำอธิบายของ Spärck Jones เองไม่ได้เน้นทฤษฎีมากนัก นอกเหนือจากความเกี่ยวข้องกับ กฎของ Zipf แล้ว ยังมีความพยายามในการใส่ idf บนฐานของความน่าจะเป็น [8] โดยการประมาณค่าความน่าจะเป็นที่เอกสารที่กำหนด d จะบรรจุเทอม t เป็นความถี่ของเอกสารสัมพัทธ์

ดังนั้น เราสามารถกำหนด idf ในรูปของ

นั่นคือ ความถี่ของเอกสารผกผัน คือ ลอการิทึมของความถี่เอกสารสัมพัทธ์ "ผกผัน"

ในทางกลับกัน การตีความความน่าจะเป็นนี้ใช้รูปแบบเดียวกับการตีความภายในข้อมูลตนเอง (self-information) อย่างไรก็ตาม การนำแนวคิดเชิงทฤษฎีข้อมูลดังกล่าวไปใช้กับปัญหาในการดึงข้อมูลทำให้เกิดปัญหาเมื่อพยายามที่จะกำหนด ปริภูมิเหตุการณ์ (event spaces) ที่เหมาะสมสำหรับการ แจกแจงความน่าจะเป็น (probability distributions) ที่ต้องการ ซึ่งไม่เพียงแต่จะต้องคำนึงถึงเอกสารเท่านั้นแต่ยังรวมถึงคำถามและข้อกำหนดด้วย

ความเชื่อมโยงกับทฤษฎีสารสนเทศ (Information Theory)[แก้]

ความถี่ของคำและผกผันของความถี่ของเอกสารสามารถกำหนดได้โดยใช้ ทฤษฎีสารสนเทศ (Information theory) เพื่อช่วยให้เข้าใจว่าเหตุใดผลิตภัณฑ์ของตนจึงมีความหมายในแง่ของเนื้อหาของข้อมูลร่วมกันของเอกสาร

สมมติฐานลักษณะเฉพาะ (characteristic assumption) เกี่ยวกับการแจกแจง คือ:

สมมติฐานนี้มีความหมายตามที่ Aizawa ได้แสดงถึงวิธีค้นหาที่ tf-idf ใช้ [9]

จากนิพจน์ของ เอนโทรปีแบบมีเงื่อนไข (Conditional entropy) ของเอกสารแบบสุ่มเลือกในคลัง โดยมีเงื่อนไขว่ามันมีคำศัพท์เฉพาะ (และสมมติว่าในเอกสารทั้งหมดมีความเป็นไปได้เท่ากันที่จะถูกเลือกและมีขนาดเล็ก เป็น r=ค่าความน่าจะเป็น) ในรูปของ:

ในแง่ของสัญลักษณ์, และ เป็น "ตัวแปรสุ่ม (random variables)" ที่สอดคล้องกับการเขียน/สร้างเอกสารหรือคำศัพท์ตามลำดับ

ในตอนนี้ จำคำจำกัดความของ Mutual information และสังเกตว่ามันสามารถเขียนแสดงเป็น

ขั้นตอนสุดท้าย คือ การขยาย ซึ่ง เป็นความน่าจะเป็นแบบไม่มีเงื่อนไข (unconditional probability) ในการเขียน/สร้างคำศัพท์เกี่ยวกับการเลือก (แบบสุ่ม) ของเอกสาร เพื่อให้ได้ว่า:

นิพจน์นี้แสดงว่าการรวม Tf–idf ของข้อกำหนดและเอกสารที่เป็นไปได้ทั้งหมดจะกู้คืนข้อมูลร่วมกันระหว่างเอกสารและคำศัพท์โดยคำนึงถึงลักษณะเฉพาะทั้งหมดที่มีการกระจายร่วมกัน

ดังนั้น Tf–idf แต่ละตัวจึงมี "บิตของข้อมูล (bit of information)" ที่แนบมากับคู่เอกสารเทอม x

ตัวอย่างของ tf–idf[แก้]

สมมติว่า เรามีตารางการนับเทอมของคลังข้อมูลซึ่งประกอบด้วยเอกสารเพียงสองฉบับดังที่แสดงไว้ทางด้านขวา

เอกสาร 2
Term จำนวน
this 1
is 1
another 2
example 3
เอกสาร 1
Term จำนวน
this 1
is 1
a 2
sample 1

การคำนวณ tf–idf สำหรับคำว่า "this" ดำเนินการดังนี้:

ในรูปแบบความถี่ (คร่าวๆ), ค่า tf เป็นเพียงความถี่ของ "this" สำหรับแต่ละเอกสาร ในแต่ละเอกสาร คำว่า "this" จะปรากฏขึ้นเพียงครั้งเดียว แต่เนื่องจากเอกสาร 2 มีคำมากกว่า ความถี่สัมพัทธ์จึงน้อยลง

สำหรับ idf เป็นค่าคงที่ต่อคลังข้อมูลและ คำนวณสำหรับอัตราส่วนของเอกสารที่มีคำว่า "this"

ในกรณีนี้ เรามีคลังเอกสารสองฉบับและเอกสารทั้งหมดมีคำว่า "this"

ดังนั้น tf–idf จึงเป็นศูนย์สำหรับคำว่า "this" ซึ่งหมายความว่า คำนั้นไม่ได้ให้ข้อมูลมากอย่างที่ปรากฏในเอกสารทั้งหมด

ในกรณี คำว่า "example" น่าสนใจมากกว่า - คำนี้เกิดขึ้นถึงสามครั้งแต่พบในเอกสารที่สองเท่านั้น:

ท้ายที่สุด,

(ใช้ ลอการิทึมฐาน 10 ในการคำนวณ)

มากกว่าการใช้ คำ[แก้]

แนวคิดเบื้องหลัง tf–idf ยังใช้กับสิ่งที่มีเอกลักษณ์ (entities) อื่นที่ไม่ใช่คำ ในปี 1998 แนวคิดของ idf ถูกนำไปใช้กับการอ้างอิง[10] ผู้เขียนแย้งว่า "ถ้าเอกสารสองฉบับมีการอ้างอิงที่ไม่ธรรมดามาก เรื่องนี้ควรให้น้ำหนักมากกว่าการอ้างอิงจากเอกสารจำนวนมาก" นอกจากนี้ tf–idf ยังใช้กับ "ภาพคำ (visual words)" โดยมีวัตถุประสงค์เพื่อจับคู่วัตถุในวิดีโอ[11] และทั้งประโยค[12] อย่างไรก็ตาม แนวคิดของ tf–idf ไม่ได้พิสูจน์ว่ามีประสิทธิภาพในทุกกรณีมากไปกว่าโครงร่าง tf ธรรมดา (ซึ่งไม่มี idf) เมื่อนำ tf–idf ไปใช้กับการอ้างอิง นักวิจัยไม่พบการปรับปรุงใดๆ เลยจากน้ำหนักการนับการอ้างอิงธรรมดาที่ไม่มีองค์ประกอบ idf [13]

อนุพันธ์[แก้]

แผนการถ่วงน้ำหนักระยะจำนวนหนึ่งได้มาจาก tf–idf หนึ่งในนั้นคือ TF–PDF (ความถี่ของคำ * ความถี่ตามสัดส่วนของเอกสาร)[14] TF–PDF ถูกแนะนำในปี 2544 ในบริบทของการระบุหัวข้อที่เกิดขึ้นใหม่ในสื่อ

องค์ประกอบ PDF เป็นการวัดความแตกต่างของความถี่ที่เกิดขึ้นในโดเมนต่างๆ อนุพันธ์อื่นคือ TF–IDuF[15]

ใน TF–IDuF idf จะไม่ถูกคำนวณตามคลังเอกสารที่จะค้นหาหรือแนะนำ ค่า idf จะถูกคำนวณจากการรวบรวมเอกสารส่วนบุคคลของผู้ใช้แทน ผู้เขียนรายงานว่า TF–IDuF มีประสิทธิภาพเท่าๆ กันกับ tf–idf แต่ยังสามารถนำไปใช้ในสถานการณ์อื่น เช่น ระบบการสร้างแบบจำลองผู้ใช้ไม่มีการเข้าถึงคลังเอกสารส่วนกลาง

See also[แก้]

References[แก้]

  1. Rajaraman, A.; Ullman, J.D. (2011). "Data Mining" (PDF). Mining of Massive Datasets. pp. 1–17. doi:10.1017/CBO9781139058452.002. ISBN 978-1-139-05845-2.
  2. Breitinger, Corinna; Gipp, Bela; Langer, Stefan (2015-07-26). "Research-paper recommender systems: a literature survey". International Journal on Digital Libraries (ภาษาอังกฤษ). 17 (4): 305–338. doi:10.1007/s00799-015-0156-0. ISSN 1432-5012. S2CID 207035184.
  3. Luhn, Hans Peter (1957). "A Statistical Approach to Mechanized Encoding and Searching of Literary Information" (PDF). IBM Journal of Research and Development. 1 (4): 309–317. doi:10.1147/rd.14.0309. สืบค้นเมื่อ 2 March 2015. There is also the probability that the more frequently a notion and combination of notions occur, the more importance the author attaches to them as reflecting the essence of his overall idea.
  4. Spärck Jones, K. (1972). "A Statistical Interpretation of Term Specificity and Its Application in Retrieval". Journal of Documentation. 28: 11–21. CiteSeerX 10.1.1.115.8343. doi:10.1108/eb026526.
  5. Manning, C.D.; Raghavan, P.; Schutze, H. (2008). "Scoring, term weighting, and the vector space model" (PDF). Introduction to Information Retrieval. p. 100. doi:10.1017/CBO9780511809071.007. ISBN 978-0-511-80907-1.
  6. "TFIDF statistics | SAX-VSM".
  7. Robertson, S. (2004). "Understanding inverse document frequency: On theoretical arguments for IDF". Journal of Documentation. 60 (5): 503–520. doi:10.1108/00220410410560582.
  8. See also Probability estimates in practice in Introduction to Information Retrieval.
  9. Aizawa, Akiko (2003). "An information-theoretic perspective of tf–idf measures". Information Processing and Management (ภาษาอังกฤษ). 39 (1): 45–65. doi:10.1016/S0306-4573(02)00021-3.
  10. Bollacker, Kurt D.; Lawrence, Steve; Giles, C. Lee (1998-01-01). CiteSeer: An Autonomous Web Agent for Automatic Retrieval and Identification of Interesting Publications. Proceedings of the Second International Conference on Autonomous Agents. AGENTS '98. pp. 116–123. doi:10.1145/280765.280786. ISBN 978-0-89791-983-8. S2CID 3526393.
  11. Sivic, Josef; Zisserman, Andrew (2003-01-01). Video Google: A Text Retrieval Approach to Object Matching in Videos. Proceedings of the Ninth IEEE International Conference on Computer Vision – Volume 2. ICCV '03. pp. 1470–. doi:10.1109/ICCV.2003.1238663. ISBN 978-0-7695-1950-0. S2CID 14457153.
  12. Seki, Yohei. "Sentence Extraction by tf/idf and Position Weighting from Newspaper Articles" (PDF). National Institute of Informatics.
  13. Beel, Joeran; Breitinger, Corinna (2017). "Evaluating the CC-IDF citation-weighting scheme – How effectively can 'Inverse Document Frequency' (IDF) be applied to references?" (PDF). Proceedings of the 12th IConference.
  14. Khoo Khyou Bun; Bun, Khoo Khyou; Ishizuka, M. (2001). Emerging Topic Tracking System. Proceedings Third International Workshop on Advanced Issues of E-Commerce and Web-Based Information Systems. WECWIS 2001 (ภาษาอังกฤษแบบอเมริกัน). p. 2. CiteSeerX 10.1.1.16.7986. doi:10.1109/wecwis.2001.933900. ISBN 978-0-7695-1224-2. S2CID 1049263.
  15. Langer, Stefan; Gipp, Bela (2017). "TF-IDuF: A Novel Term-Weighting Scheme for User Modeling based on Users' Personal Document Collections" (PDF). IConference.