Word2Vec สำหรับการจดจำเอนทิตีที่มีชื่อ


25

ฉันกำลังมองหาที่จะใช้การใช้งาน word2vec ของ Google เพื่อสร้างระบบรู้จำชื่อเอนทิตี ฉันได้ยินมาว่าตาข่ายแบบวนซ้ำที่มีการแพร่กระจายกลับผ่านโครงสร้างนั้นเหมาะสำหรับงานการจดจำเอนทิตีที่มีชื่อ แต่ฉันไม่สามารถหาการใช้งานที่เหมาะสมหรือแบบฝึกหัดที่ดีสำหรับแบบจำลองชนิดนั้น เนื่องจากฉันทำงานกับคลังข้อมูลผิดปกติเครื่องมือ NER มาตรฐานใน NLTK และที่คล้ายกันจึงทำงานได้แย่มากและดูเหมือนว่าฉันจะต้องฝึกระบบของตัวเอง

กล่าวโดยย่อคือทรัพยากรใดบ้างที่มีสำหรับปัญหาประเภทนี้ มีมาตรฐานการใช้งานเครือข่ายประสาทแบบเรียกซ้ำ?


คุณได้ลองฝึกใช้ Stanford NER ในคลังข้อมูลของคุณหรือยัง? มีการกวดวิชาที่เป็นที่นี่
Emre

ฉันยังไม่ได้ - ควรจะไปดูว่ามันมีค่าโดยสารอย่างไร
เมดิสันพฤษภาคม

ฉันต้องการใช้คุณสมบัติ word2vec หรือคล้ายกันเนื่องจากฉันมีการเข้าถึงชุดข้อมูลที่มีป้ายกำกับค่อนข้างเล็กและจำเป็นต้องใช้ประโยชน์จากข้อมูลที่ไม่มีป้ายกำกับให้มากที่สุดที่ฉันมี
เมดิสันพฤษภาคม

คำตอบ:


6

แทนที่จะใช้ "ตาข่ายประสาทแบบเรียกซ้ำด้วยการขยายพันธุ์กลับ" คุณอาจพิจารณาแนวทางที่ Frantzi ใช้และอื่น ๆ อัล ที่ National Center for Text Mining (NaCTeM) ที่ University of Manchester สำหรับTermine (ดู: http://www.nactem.ac.uk/index.phpและhttp://personalpages.manchester.ac.uk/staff/sophia) ananiadou / IJODL2000.pdf ) แทนที่จะเป็นโครงข่ายประสาทส่วนลึกพวกเขา "รวมข้อมูลภาษาศาสตร์และสถิติ"


7

สองเอกสารล่าสุดใช้สถาปัตยกรรมการเรียนรู้ลึกที่เรียกว่า CharWNN เพื่อแก้ไขปัญหานี้ CharWNN ใช้เป็นครั้งแรกที่จะได้รับสถานะของผลงานศิลปะ (ไม่มีคุณสมบัติในแบบฉบับ) ในส่วนของคำพูด (POS) การติดแท็กในคลังข้อมูลภาษาอังกฤษ

กระดาษที่สองโดยผู้เขียนคนเดียวกันใช้เหมือนกัน (หรือคล้ายกัน) สถาปัตยกรรมการทำนายว่าคำเป็น 10 ชื่อชั้นเรียน Entity กับรัฐที่ชัดเจนของผลงานศิลปะ


น่าสนใจ ขอบคุณที่แบ่งปันสิ่งนี้ ฉันสงสัยว่าทำไมพวกเขาไม่ทดสอบวิธีนี้กับ corpora ภาษาอังกฤษ
MaticDiba

3

ลองhttp://deeplearning4j.org/word2vec.html สิ่งนี้มีการนำ Word2Vec มาใช้แทน Bag of Words สำหรับ NER และงาน NLP อื่น ๆ


1
ฉันไม่มีปัญหาในการค้นหาการใช้งาน word2vec แต่ฉันไม่สามารถหา recursive net ที่ใช้งานได้
เมดิสันพฤษภาคม

ลิงก์ไม่ทำงานอีกต่อไปถ้าเป็นไปได้กรุณาแบ่งปันลิงค์การทำงานใหม่
Amandeep

1

ต่อไปนี้เป็นแนวคิดบางประการเกี่ยวกับวิธีการใช้คำว่าเวคเตอร์เวกเตอร์สำหรับ NER ซึ่งใช้แนวทาง word2vec-centric ที่ไม่มีผู้ดูแลส่วนใหญ่

  1. เมื่อได้รับชุดของเวกเตอร์คำ (ไม่ว่าคุณจะได้รับการฝึกฝนหรืออะไรบางอย่างนอกชั้นเช่น GoogleNews-vectors-negative300.bin) ค้นหากลุ่มในพื้นที่เวกเตอร์ กลุ่มเหล่านี้เป็นคำจำกัดความของคุณสำหรับแนวคิดที่ไม่มีชื่อต่างๆ
  2. ด้วยการดูแลที่น้อยที่สุดคุณสามารถแมป / แปลงกลุ่มที่ไม่มีชื่อเพื่อให้ตรงกับความรู้ของมนุษย์ดังนั้นจึงสร้างแนวคิดที่มีชื่อตั้งอยู่บนพื้นดินของเวกเตอร์คำที่รู้จักและแนวคิดที่ไม่มีชื่อ ตัวอย่างเช่นวิธีการfindCluster(['joy', 'surprise', 'disgust', 'trust', 'fear', 'sadness', 'anger', 'anticipation'])อาจส่งคืนรายการที่ประกอบด้วยคำหลายร้อยคำซึ่งส่วนใหญ่เกี่ยวข้องกับอารมณ์ความรู้สึก หากคุณตั้งชื่อรายการนี้ว่า 'อารมณ์ความรู้สึก' แสดงว่าคุณมีนิยาม 'อารมณ์ความรู้สึก' ที่มีแนวคิดซึ่งมีพื้นฐานมาจากพื้นที่เวกเตอร์
  3. คุณยังสามารถทำคณิตศาสตร์เวกเตอร์เพื่อค้นหาแนวคิดระดับกลางระหว่างสองรายการที่กำหนด ตัวอย่างเช่นคณิตศาสตร์เวกเตอร์อาจบอกคุณว่าเมื่อได้รับสองคำว่า 'เซอร์ไพรซ์' และ 'ความขยะแขยง' จะพบสิ่งต่อไปนี้ระหว่างทั้งสอง: ความกลัวความประหลาดใจความผิดหวังความประหลาดใจความงุนงงความสับสนความโกรธความตกใจ ฯลฯ คุณสร้างความสัมพันธ์ระหว่างแนวคิด
  4. คุณสามารถทำซ้ำด้านบนเพื่อสร้าง concpts ที่มีชื่อหลากหลายเช่น: วันธรรมดาอารมณ์ทั้งหมดอารมณ์ความสุขยานพาหนะ ฯลฯ
  5. เมื่อคุณสร้างเลเยอร์แนวความคิดที่มีชื่อแล้วคุณสามารถฝึก RNN ในคลังข้อความที่ได้รับการเติมด้วยแนวคิดที่มีชื่อดังนั้น 'การกระโดดสีน้ำตาลสุนัขจิ้งจอก' ก็เป็น '{color} {animal} {action}' เป็นต้น วิธีนี้ RNN ควรจะสามารถเรียนรู้ไวยากรณ์เบื้องต้นในลักษณะที่ไม่ได้รับการดูแล
  6. หากคุณได้สร้างไวยากรณ์ที่ทรงพลังอย่างเพียงพอจากด้านบนคุณควรสามารถนำไปใช้กับงาน NER ของคุณได้
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.