Doc2vec (gensim) - ฉันจะอนุมานฉลากของประโยคที่มองไม่เห็นได้อย่างไร


14

https://radimrehurek.com/gensim/models/doc2vec.html

ตัวอย่างเช่นหากเราฝึกอบรม doc2vec ด้วย

"aaaaaAAAAAaaaaaa" - "ป้ายกำกับ 1"

"bbbbbbBBBBBbbbbb" - "ป้ายกำกับ 2"

เราสามารถอนุมาน“ aaaaAAAAaaaaAA” เป็นป้ายกำกับ 1 โดยใช้ Doc2vec ได้หรือไม่

ฉันรู้ว่า Doc2vec สามารถฝึกคำเวกเตอร์และเวกเตอร์ฉลาก การใช้เวกเตอร์นี้เราสามารถอนุมานประโยคที่มองไม่เห็น

คำตอบ:


11

ชื่อของคำถามนี้เป็นคำถามแยกต่างหากสำหรับข้อความของมันดังนั้นฉันจะตอบทั้งสองอย่างแยกกัน

  1. ฉันจะอนุมานประโยคที่มองไม่เห็นได้อย่างไร:
# ... trained model stored in var model
list_of_words = ["this", "is", "a", "new","unseen", "sentence"]
inferred_embedding = model.infer_vector(list_of_words)

WRN×PDRM×Rk

1Mi=1M1|Di|t=k|Di1|klog(p(wti|wtki,...,wt+ki,Di))

Diith|Di|wtitthithD

WD

  1. เราสามารถอนุมานได้ว่าประโยคที่มองไม่เห็นอาจตรงกับประโยคในชุดการฝึกอบรมหรือไม่?

D

แม้การแก้ไขเมล็ดสุ่มอาจไม่ทำงานมีตัวแปรอื่น ๆ อีกมากมายที่สามารถส่งผลกระทบต่อการบรรจบกันของโปรดดูคำตอบแรกในhttps://github.com/RaRe-Technologies/gensim/issues/374

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


0

ฉันพยายามที่จะแก้ปัญหานี้ในวันนี้และ coudnt หาโมดูลใด ๆ ที่มอบให้โดย gensim.Doc2Vec ที่คำนวณความคล้ายคลึงกันระหว่างเอกสารเวกเตอร์ที่อนุมานไม่ใช่ในโมเดลที่ผ่านการฝึกอบรมกับโมเดลที่ผ่านการฝึกอบรม โดยพื้นฐานแล้วฉันทำสิ่งนี้

from scipy import spatial
inferred_vector=model.infer_vector(sentence.split())
for labels in labelled_documents:
    print (1-  spatial.distance.cosine(inferred_vector,model.docvecs[labels]))

0

จากการสอนของ Gensim Doc2Vec คุณสามารถทำสิ่งนี้ได้

inferred_vector = model_dmm.infer_vector(sentence.split())
sims = model.docvecs.most_similar([inferred_vector], topn=len(model.docvecs))

นี่จะให้รายการของสิ่งอันดับกับป้ายกำกับทั้งหมดและความน่าจะเป็นที่เกี่ยวข้องกับเอกสารใหม่ของคุณซึ่งเป็นของแต่ละป้ายกำกับ จากนั้นคุณสามารถใช้ค่าที่ใหญ่ที่สุดเป็นป้ายกำกับของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.