วิธีการเพิ่มความคิดเห็นเอกสารข้อความด้วย meta-data


18

มีเอกสารข้อความจำนวนมาก (ในภาษาธรรมชาติไม่มีโครงสร้าง) อะไรคือวิธีที่เป็นไปได้ในการเพิ่มความน่าเชื่อถือด้วย meta-data แบบ semantic ตัวอย่างเช่นพิจารณาเอกสารสั้น ๆ :

I saw the company's manager last day.

เพื่อให้สามารถดึงข้อมูลจากข้อมูลนั้นจะต้องมีคำอธิบายประกอบพร้อมด้วยข้อมูลเพิ่มเติมเพื่อให้มีความคลุมเครือน้อยลง กระบวนการค้นหาข้อมูลเมตาดังกล่าวไม่ได้เป็นปัญหาดังนั้นให้ถือว่ามีการทำด้วยตนเอง คำถามคือวิธีการจัดเก็บข้อมูลเหล่านี้ในลักษณะที่การวิเคราะห์เพิ่มเติมสามารถทำได้สะดวก / มีประสิทธิภาพมากขึ้น?

แนวทางที่เป็นไปได้คือการใช้แท็ก XML (ดูด้านล่าง) แต่ดูเหมือนว่าละเอียดเกินไปและอาจมีแนวทาง / แนวทางที่ดีกว่าสำหรับการจัดเก็บเมตาดาต้าในเอกสารข้อความ

<Person name="John">I</Person> saw the <Organization name="ACME">company</Organization>'s
manager <Time value="2014-5-29">last day</Time>.

หนึ่งในวัตถุประสงค์หลักของ SGML (การถือครองแบบเดียวกันสำหรับลูกหลาน, XML) คือการจัดหาวิธีการติดแท็กเอกสารข้อความ (POS และแท็กความหมาย)
Deer Hunter

มีความเจาะจงมากขึ้น / จำกัด เกี่ยวกับประเภทของข้อมูลเมตาที่คุณต้องการเพิ่ม จากตัวอย่างทั้งสองของคุณฉันสงสัยว่ามีวิธีที่ละเอียดน้อยกว่าที่มีความหมายทั่วไปเหมือนกับแท็ก XML
ojdo

@ojdo meta-data ส่วนใหญ่นั้นใช้สำหรับการแก้ความกำกวม (เช่นเวลาที่สัมพันธ์กัน) หรือการระบุเอนทิตีพิเศษ (เช่น FKs)
Amir Ali Akbari

2
ฉันเคยใช้brat.nlplab.orgในอดีต มีอินเตอร์เฟสที่ดีสำหรับหมายเหตุประกอบหลายประเภท คำอธิบายประกอบจะถูกเก็บไว้ในไฟล์. annot ที่แยกต่างหากซึ่งเป็นรายการของคำที่มีคำอธิบายประกอบและตำแหน่งของคำเหล่านั้นในเอกสาร
user1893354

@ user1893354 มีประโยชน์มาก! โดยเฉพาะรูปแบบ " brat standoff brat " ที่ใช้ดูเหมือนว่าเหมาะสมกับความต้องการของฉัน ฉันแนะนำให้โพสต์คำตอบถ้าคุณชอบ
Amir Ali Akbari

คำตอบ:


15

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

มันอาจจะดูแปลก JSONแต่ผมขอแนะนำให้ ได้รับการสนับสนุนเป็นอย่างดีรองรับโครงสร้างจำนวนมากและมีความยืดหยุ่นเพียงพอที่คุณไม่ควรย้ายจากที่อื่นเพราะไม่มีพลังเพียงพอ สำหรับตัวอย่างของคุณมีดังนี้:

{'text': 'I saw the company's manager last day.", {'Person': [{'name': 'John'}, {'indices': [0:1]}, etc...]}

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

คุณสามารถจัดเก็บข้อมูลโทเค็นได้โดยปริยายหากคุณต้องการ:

{"text": ["I", "saw", "the", "company's", "manager", "last", "day."]}

แก้ไข: เพื่อชี้แจงการทำแผนที่ของเมตาดาต้าเปิดสวย แต่นี่เป็นตัวอย่าง:

{'body': '<some_text>',
 'metadata': 
  {'<entity>':
    {'<attribute>': '<value>',
     'location': [<start_index>, <end_index>]
    }
  }
}

หวังว่าจะช่วยได้โปรดแจ้งให้เราทราบหากคุณมีคำถามเพิ่มเติม


การเป็นนักพัฒนาเว็บไซต์ JSON นั้นสมเหตุสมผลกับฉันมาก แต่คุณสามารถอธิบายรายละเอียดเกี่ยวกับรูปแบบที่แน่นอนของการจับคู่คำกับเอนทิตีได้หรือไม่?
Amir Ali Akbari

@AmirAliAkbari อัปเดตคำตอบเพื่อรวมรายละเอียดเพิ่มเติม
indico

7

โดยทั่วไปคุณไม่ต้องการใช้แท็ก XML เพื่อแท็กเอกสารด้วยวิธีนี้เนื่องจากแท็กอาจทับซ้อนกัน

UIMA , GATEและเฟรมเวิร์ก NLP ที่คล้ายกันแสดงถึงแท็กแยกต่างหากจากข้อความ แต่ละแท็กเช่นPerson, ACME, Johnฯลฯ จะถูกเก็บเป็นตำแหน่งที่แท็กเริ่มต้นและตำแหน่งที่มันจบลง ดังนั้นสำหรับแท็กACMEมันจะถูกเก็บไว้เมื่อเริ่มต้นตำแหน่ง 11 และสิ้นสุดที่ตำแหน่ง 17


7

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


1

เพื่ออธิบายข้อมูลที่มีอยู่ทั้งหมดมันเป็นงานที่ยากมาก แต่เราสามารถใช้ตัวแบบข้อมูล: http://schema.org/ซึ่งเป็นประเภทโครงสร้างของข้อมูล การดำเนินการก่อนหน้านี้มีเป้าหมายเพื่อใช้เทคโนโลยี MarkUp ดังนั้นดูเหมือนว่าจะมีประโยชน์สำหรับงานของคุณ

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