เมื่อฉันพูดว่า "เอกสาร" ฉันนึกถึงหน้าเว็บต่างๆเช่นบทความ Wikipedia และเรื่องข่าว ฉันต้องการคำตอบที่ให้ทั้งตัวชี้วัดระยะทางวานิลลาคำศัพท์หรือตัวชี้วัดระยะทางความหมายรัฐของศิลปะที่มีการตั้งค่าที่แข็งแกร่งสำหรับหลัง
เมื่อฉันพูดว่า "เอกสาร" ฉันนึกถึงหน้าเว็บต่างๆเช่นบทความ Wikipedia และเรื่องข่าว ฉันต้องการคำตอบที่ให้ทั้งตัวชี้วัดระยะทางวานิลลาคำศัพท์หรือตัวชี้วัดระยะทางความหมายรัฐของศิลปะที่มีการตั้งค่าที่แข็งแกร่งสำหรับหลัง
คำตอบ:
มีหลายวิธีในการทำสิ่งนี้ขึ้นอยู่กับจำนวนความหมายของข้อมูลที่คุณต้องการเก็บไว้และวิธีการที่เอกสารของคุณง่ายในการทำโทเค็น (เอกสาร html อาจเป็นการยากที่จะโทเค็น แต่คุณอาจทำอะไรบางอย่างด้วยแท็กและบริบท .)
บางคนได้รับการกล่าวถึงโดยแฟนและย่อหน้าเวกเตอร์โดยผู้ใช้ 1133029 เป็นคนที่แข็งแกร่งจริง ๆ แต่ฉันเพิ่งคิดว่าฉันจะเข้าไปลึกมากขึ้นเกี่ยวกับ plusses และ minuses ของวิธีการที่แตกต่างกัน
edit distance
ปกติจะใช้กับโทเค็นแต่ละระดับเท่านั้น (คำ, บิ๊กแกรม, ฯลฯ ... ) โดยทั่วไปฉันจะไม่แนะนำตัวชี้วัดนี้เนื่องจากไม่เพียง แต่กำจัดข้อมูลความหมายใด ๆ แต่ยังมีแนวโน้มที่จะรักษาคำที่แตกต่างกันมากเช่นกัน แต่มันเป็นตัวชี้วัดที่พบบ่อยมากสำหรับสิ่งประเภทนี้topic modeling
เป็นส่วนหนึ่งของคลังแสงขนาดใหญ่ของเทคนิคเมื่อมันมาถึงการประเมินความคล้ายคลึงกันในเอกสารที่เรียกว่า LSA เพิ่งเลิกสวยไปแล้วเมื่อเร็ว ๆ นี้และจากประสบการณ์ของฉันมันไม่ใช่วิธีการสร้างแบบจำลองหัวข้อที่แข็งแกร่งที่สุด แต่มันก็ค่อนข้างตรงไปตรงมาที่จะนำไปใช้และมีการใช้งานโอเพ่นซอร์สน้อยtopic modeling
แต่มันแตกต่างจากLSA
ในที่จริงเรียนรู้การเป็นตัวแทนภายในที่มีแนวโน้มที่จะราบรื่นและใช้งานง่ายขึ้น โดยทั่วไปแล้วผลลัพธ์ที่คุณได้รับLDA
จะดีกว่าสำหรับการสร้างแบบจำลองความคล้ายคลึงกันของเอกสารมากกว่าLSA
แต่ไม่ดีพอสำหรับการเรียนรู้วิธีแยกแยะอย่างมากระหว่างหัวข้อต่างๆLDA
โดยมีข้อเสียเพียงอย่างเดียวที่ใช้เวลานานในการฝึกอบรมและการใช้งานโอเพ่นซอร์สค่อนข้างยากกว่าที่จะมาด้วยCount Vectorizers
TF-IDF
Word2vec นั้นยอดเยี่ยมเพราะมีการใช้งานโอเพ่นซอร์สจำนวนมาก เมื่อคุณมีเวกเตอร์เมตริกใด ๆ ที่คล้ายคลึงกัน (เช่นระยะทางโคไซน์) สามารถนำมาใช้ด้านบนของมันได้อย่างมีประสิทธิภาพมากขึ้นparagraph vectors
นี่คือเอกสารล่าสุดของ Google โดยเป็นชุดเอกสารที่มีความสำคัญมากที่สุด gensim
ห้องสมุดในหลามมีการดำเนินการword2vec
ที่เป็นพอที่ตรงไปตรงมาว่ามันสวยพอจะยกระดับการสร้างdoc2vec
แต่ให้แน่ใจว่าจะให้ใบอนุญาตในใจถ้าคุณต้องการที่จะไปลงเส้นทางนี้หวังว่าจะช่วยได้โปรดแจ้งให้เราทราบหากคุณมีข้อสงสัย
มีการวัดระยะทางเชิงความหมายจำนวนมากแต่ละแห่งมีทั้งข้อดีและข้อเสีย นี่เป็นเพียงไม่กี่คน:
เริ่มต้นด้วยวิธีที่ง่ายที่สุดจากนั้นดำเนินการต่อไปตามปัญหาสำหรับกรณีของคุณ
สังเกตุฉันพบ LSA ที่เหนือกว่า LDA อย่างมากทุกครั้งและทุกชุดข้อมูลที่ฉันได้ลองไว้ ฉันได้พูดคุยกับคนอื่นที่พูดในสิ่งเดียวกัน มันยังถูกใช้เพื่อชนะการแข่งขัน SemEval จำนวนมากสำหรับการวัดความคล้ายคลึงกันทางความหมายระหว่างเอกสารบ่อยครั้งเมื่อใช้ร่วมกับการวัดจาก wordnet ดังนั้นฉันจะไม่พูดว่ามันล้าสมัยหรือด้อยกว่า LDA อย่างแน่นอน สำหรับการสร้างแบบจำลองของหัวข้อและไม่คล้ายคลึงกันทางความหมายในประสบการณ์ของฉันตรงกันข้ามกับสิ่งที่ผู้ตอบบางคนระบุไว้
หากคุณใช้ gensim (ไลบรารีไพ ธ อน) มันมี LSA, LDA และ word2vec ดังนั้นคุณสามารถเปรียบเทียบ 3. doc2vec เป็นแนวคิดที่ยอดเยี่ยม แต่ไม่ได้ปรับขนาดได้ดีและคุณจะต้องปรับใช้ตัวเองเหมือนฉัน ไม่รู้ถึงการใช้งานโอเพนซอร์ซใด ๆ มันไม่ได้ปรับขนาดได้ดีสำหรับเอกสารแต่ละรุ่นต้องสร้างรุ่นใหม่และแยกต่างหากโดยใช้ SGD ซึ่งเป็นอัลกอริทึมการเรียนรู้ของเครื่องที่ช้า แต่มันอาจจะให้ผลลัพธ์ที่แม่นยำที่สุดแก่คุณ LSA และ LDA ยังปรับขนาดได้ไม่ดีนัก (อย่างไรก็ตาม word2vec ก็ทำได้เช่นกัน) LDA มีขนาดที่แย่ลงโดยทั่วไป อย่างไรก็ตามการใช้งานของ Gensim นั้นรวดเร็วมากเนื่องจากใช้ SVD แบบวนซ้ำ
บันทึกอื่น ๆ หนึ่งถ้าคุณใช้ word2vec คุณจะยังต้องพิจารณาวิธีการเขียนเวกเตอร์จากเอกสารเนื่องจากมันให้เวกเตอร์ที่แตกต่างกันต่อคำ วิธีที่ง่ายที่สุดในการทำเช่นนี้คือการทำให้เวกเตอร์แต่ละตัวเป็นแบบปกติและใช้ค่าเฉลี่ยสำหรับเวกเตอร์คำทั้งหมดในเอกสารหรือใช้ค่าเฉลี่ยถ่วงน้ำหนักโดยการถ่วงน้ำหนัก idf ของแต่ละคำ ดังนั้นจึงไม่ง่ายเหมือน 'ใช้ word2vec' คุณจะต้องทำอะไรเพิ่มเติมเพื่อคำนวณความคล้ายคลึงกันของเอกสาร
ฉันจะไปกับ LSA เป็นการส่วนตัวตามที่ฉันได้เห็นมันทำงานได้ดีสังเกตุ อย่างไรก็ตามไม่มีอาหารกลางวันฟรีดังนั้นควรลองแต่ละวิธีและดูว่าวิธีใดที่ดีกว่าสำหรับข้อมูลของคุณ
รัฐปรากฏศิลปะจะเป็น "พาหะวรรค" แนะนำในกระดาษล่าสุด: http://cs.stanford.edu/~quocle/paragraph_vector.pdf ระยะทางโคไซน์ / ยูคลิดระหว่างเวกเตอร์ย่อหน้าน่าจะทำงานได้ดีกว่าวิธีอื่น ๆ อาจเป็นไปไม่ได้เนื่องจากไม่มีการใช้งานโอเพ่นซอร์ส
สิ่งที่ดีที่สุดถัดไปคือระยะห่างโคไซน์ระหว่างเวกเตอร์ LSA หรือระยะห่างโคไซน์ระหว่างเวกเตอร์ BOW ดิบ บางครั้งมันจะทำงานได้ดีกว่าในการเลือกแผนการลดน้ำหนักที่แตกต่างกันเช่น TF-IDF
มันจะมีประโยชน์ที่จะมีในกระเป๋าคุณของเครื่องมือครอบครัวของท้องที่ที่มีความสำคัญขั้นตอนวิธีการคร่ำเครียด ครอบครัวนี้ไม่ได้มีความหมายเลย ที่จริงแล้วถือว่าข้อความเป็นลำดับของบิต ฉันพบว่ามีประโยชน์ในชุดข้อมูลสกปรกเมื่อข้อความเดียวกันปรากฏหลายครั้งด้วยความแตกต่างเล็กน้อย
คุณสามารถใช้ssdeep (ซึ่งใช้แฮช Nilsimsa ) เพื่อระบุเอกสารดังกล่าว เดิม Ssdeep มีการวางแผนสำหรับโดเมนของสแปม ผู้ส่งอีเมลขยะมักจะทำการเปลี่ยนแปลงเล็กน้อยในข้อความ (เพิ่มช่องว่าง) เพื่อป้องกันการตรวจจับโดยลายเซ็นที่แน่นอน (เช่นmd5 )
เนื่องจากเอกสารเกือบทุกรุ่นในชุดข้อมูลเดียวกันจะทำให้เกิดความเสียหายกับวิธีการทางสถิติที่จะนำไปใช้กับมันการทำความสะอาดเช่นนี้จึงมีประโยชน์มาก