ระบบภาษาธรรมชาติ

Download Report

Transcript ระบบภาษาธรรมชาติ

ระบบภาษาธรรมชาติ
ระบบภาษาธรรมชาติ
มีการนาคอมพิวเตอร์ มาใช้ งานในด้ านใดบ้ าง?
ระบบภาษาธรรมชาติ
ความเป็ นมา
เมื่อคอมพิวเตอร์ เครื่องแรกถูกประดิษฐ์ ขนึ้ เมื่อ 60 ปี ก่อน ก็มีความ
พยายามทาให้ คอมพิวเตอร์ เข้ าใจภาษามนุษย์
มีการสร้ างภาษาทีใ่ ช้ แทนภาษาเครื่อง เช่ น ภาษา assambly
ด้ วยการทาให้ ภาษาคอมพิวเตอร์ ใช้ คาศัพท์ทมี่ นุษย์ เข้ าใจได้ ง่าย เช่ น
MOVE A,B
ADD
A,B
ระบบภาษาธรรมชาติ
ความต้ องการในการสื่ อสารระหว่ างมนุษย์ กบั เครื่องจักร
มีการผันแปรภาษาคอมพิวเตอร์ ชนิด procedural
language เช่ น COBOL, RPG, C มาเป็ นแบบ
declarative language เช่ น PROLOG,
LIPS
ระบบภาษาธรรมชาติ
ยุคของการประมวลผลข้ อมูลข่ าวสาร
1. ยุคของการประมวลผลข้ อมูล นาเอาคอมพิวเตอร์ มาใช้ ในงานด้ าน
คานวณ
2. ยุคของข้ อมูลข่ าวสาร เกิดเป็ นฐานข้ อมูล (database)
3. ยุคของการปรุมวลความรู้ เป็ นยุคของระบบผู้เชี่ยวชาญ ระบบฐาน
ความรอบรู้ เพือ่ ให้ คอมพิวเตอร์ เข้ าใจภาษามนุษย์ มากขึน้
ระบบภาษาธรรมชาติ
ระบบภาษาธรรมชาติ คืออะไร ?
เป็ นการนาวิชาทางด้ านปัญญาประดิษฐ์ และฐานความรู้ มาเก็บไว้
ด้ วยระบบคอมพิวเตอร์ เป็ นฐานความรอบรู้ และฐานความรู้ โดยระบบจะ
เรียกใช้ ฐานความรอบรู้ ตีความหมาย ถ่ ายทอดความรู้และตอบโต้ ด้วย
ภาษาธรรมชาติ
ระบบภาษาธรรมชาติ
ระบบภาษาธรรมชาติ คืออะไร ?
ระบบภาษาธรรมชาติ มีลกั ษณะที่สาคัญดังนี้
1. ส่ วนของระบบอินพุตเอาท์ พุต ใช้ ในการสั่ งหรือติดต่ อกับคอมพิวเตอร์
จะอยู่ในลักษระภาษาทีเ่ ป็ นธรรมชาติ
2. การประมวลผลภายในระบบจะใช้ หลักการพืน้ ฐานข้ อความรอบรู้ที่
เกีย่ วกับไวยากรณ์ ความหมาย และความเข้ าใจของภาษาธรรมชาติ
ระบบภาษาธรรมชาติ
แหล่ งความรู้ ทใี่ ช้ ในระบบภาษาธรรมชาติ
1. ความรู้ทางด้ านภาษาศาสตร์ เป็ นความรู้ทเี่ กิดจากการใช้ หลักภาษามิว
เคราะห์ และสั งเคราะห์
2. ความรู้ทางด้ านมโนทัศน์ เป็ นความรู้ทรี่ ะบบต้ องเข้ าใจในความหมาย
และแยกความแตกต่ างได้
3. การถ่ ายทอดความรู้ เป็ นขบวนการทีจ่ ะใช้ วนิ ิจฉัย และถ่ ายทอดความรู้
มาจากฐานความรู้
ระบบภาษาธรรมชาติ
การใช้ งานภาษาธรรมชาติ
1. Talkwriter เครื่องทีร่ ับเสี ยงพูดของมนุษย์ แล้วมีการถ่ าย
เปลีย่ นสั ญญาณเสี ยงให้ อยู่ในรูปสั ญญาณทีเ่ ครื่องสามารถอ่านได้
2. Conten scanning เป็ นการใช้ คอมพิวเตอร์ มาช่ วย
แสดงหรือตีความเนือ้ หาของข้ อความ
3. Database interface จะเป็ นการใช้ ภาษาธรรมชาติ
มาสั่ งงาน เรียกใช้ ฐานข้ อมูลแทนทีจ่ ะใช้ ภาษาคอมพิวเตอร์ ทวั่ ไป
4. Machine translation การใช้ คอมพิวเตอร์ แปร
ภาษา
5. Text editing ใช้ ในการตรวจสอบตัวสะกดและไวยากรณ์
โมเดลการแทนภาษา
โมเดลการแทนภาษา
ภาษามนุษย์ มีกภี่ าษา อะไรบ้ าง?
โมเดลการแทนภาษา
ภาษาคอมพิวเตอร์
1. จงเขียนภาษาคอมพิวเตอร์ ที่ นิสิต รู้จัก
2. จงอธิบายความแตกต่ างของภาษาคอมพิวเตอร์ กับ ภาษามนุษย์
(เขียนในกระดาษคาตอบ)
โมเดลการแทนภาษา
ภาษาคอมพิวเตอร์
หน่ วยย่ อยของภาษาทีม่ องในแง่ ของภาษามนุษย์ ประกอบด้ วย
ตัวอักษร คือ สั ญลักษณ์ ที่ใช้ แทนเสี ยง
คา คือ กลุ่มของตัวอักษรทีม่ าเรียงต่ อกันเป็ นคา
ประโยค คือ กลุ่มของคาทีม่ าเรียกต่ อกันเพือ่ แทนความหมาย
!!! การนาตัวอักษรมาเรียกกันไม่ สามารถเป็ นคาได้ ทุกกรณี !!!
โมเดลการแทนภาษา
ภาษาคอมพิวเตอร์
หน่ วยย่ อยของภาษามองในแง่ ของภาษาคอมพิวเตอร์ ประกอบด้ วย
ตัวอักขระ คือ ตัวอักษรทีก่ าหนดขึน้ เช่ น รหัส ASCII
คา คือ กลุ่มของตัวอักษรทีม่ าเรียงต่ อกันเป็ นคาและใช้ เฉพาะภายใต้
ภาษาคอมพิวเตอร์ น้ัน เท่ านั้น
คาสั่ ง คือ กลุ่มคาสั่ งหลาย คาสั่ งมาเรียงต่ อกัน
โปรแกรม คือ กลุ่มคาสั่ งหลาย คาสั่ งมาเรียงต่ อกัน เพือ่ ใช้ สั่งงาน
เราเรียกกลุ่มคาสั่ งนีว้ ่ า โปรแกรมคอมพิวเตอร์
โมเดลการแทนภาษา
โมเดลการแทนภาษา
การแทนภาษา จาเป็ นต้ องกาหนดเขตของสั ญลักษณ์ ที่ใช้ แทนภาษา
นั้น เช่ น เซตของตัวอักขระภาษาอังกฤษ
^ แทนสตริงว่ าง
Σ แทนกลุ่มตัวอักษรทั้งหมด
เช่ น Σ = {a, b, … z, A, B, … Z}
โมเดลการแทนภาษา
โมเดลการแทนภาษา (ต่ อ)
Σ = {a, b, … z, A, B, … Z}
เมื่อนาเอาอักขระทีอ่ ยู่ในเซต Σ มารวมเป็ นคา คาที่เรี ยงจะเป็ น
สมาชิกในภาษาหรื อไม่จะต้องมีกฎเกณฑ์มากากับ เช่น
- การตรวจสอบคาในพจนานุกรมว่ าเป็ นคาทีม่ อี ยู่ในนั้นหรือไม่
- ในคอมพิวเตอร์ เช่ น การตรวจสอบว่ าเป็ นคา reserve word หรือไม่
โมเดลการแทนภาษา
กฎบางประการเกีย่ วกับภาษาทีม่ ีรูปแบบ
การเชื่อมต่ อ (concatenation) เป็ นการนาเอาสตริ งสองตัวมา
เชื่อมต่อ เพื่อสร้างคาใหม่ เช่น กาหนดให้
a = xxx
b = xx
ดังนั้น ab = xxxxx
แต่ในภาษาธรรมชาติ การเชื่อมต่ออาจะไม่เป็ นในลักษณะ
ab = ba
เช่น a = house
b = boat
ab จึงไม่เท่ากับ ba
โมเดลการแทนภาษา
กฎบางประการเกีย่ วกับภาษาทีม่ ีรูปแบบ
ความยาวของคา (length) คือจานวนตัวอักขระที่มีอยูใ่ นคานั้น ๆ
เช่น กาหนดให้ c เป็ นคา ๆ หนึ่ง
c = 4895
ความยาวของ c จะเท่ากับ 4
เขียนสัญลักษณ์ได้ดงั นี้
LENGTH( c )
ถ้า c มีค่าว่าง ขนาดความยาวของคาจะเป็ นเท่าใด ?
โมเดลการแทนภาษา
กฎบางประการเกีย่ วกับภาษาทีม่ ีรูปแบบ
การแบ่ งสตริง การแบ่งคือการตัดคาออกเป็ นส่ วนย่อย ๆ หรื อกระจาย
ออก ด้วยการใช้คาสัง่ left right substring
เมื่อกาหนดให้ c = computer
left(c,3)
จะได้ com
right(c,3)
จะได้ ter
substring(c,4,3) จะได้ put
โมเดลการแทนภาษา
กฎบางประการเกีย่ วกับภาษาทีม่ ีรูปแบบ
การผันกลับ (reverse) ถ้าคา ๆ หนึ่งมีตวั อักษรเรี ยงต่อกัน เราจะ
ผันกลับด้วยการอ่านกลับอีกด้านหนึ่ง เช่น
n = administrator
เมื่อผันกลับ
REVERSE(n )
ค่าที่ได้ จะเป็ น
rotartsinimda