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

โมดูลที่ว่านี้คือ IntentParser ครับ สำหรับใครที่เคยสร้าง AI พวก wit.ai ก็น่าจะรู้จักกันอยู่ น่าที่ที่มันทำคือแปลงคำพูด(ภาษาธรรมชาติ) ที่เราบอกมันให้อยู่ในรูปที่คอมพิวเตอร์นำไปใช้ประโยชน์ได้ง่าย

wit.ai

เช่นว่าถ้าผมพิมพ์ว่า “เฮ้ย! อากาศวันนี้เป็นไงบ้าง” ถ้าเป็นคนอย่างเราๆก็รู้ได้ทันทีแต่คอมพิวเตอร์มันก็คงจะงงอยู่ซักพักครับ 5555

IntentParser เนี่ยจะทำหน้าที่แปลงภาษาที่เราใช้เนี่ยไปเป็นภาษาที่คอมพิวเตอร์เข้าใจง่ายขึ้น เป็นข้อมูลที่คอมพิวเตอร์รู้จัก อย่าง hash หรือ struct พวกนี้ครับ แต่ว่าเนื่องจากว่าปกติผมมักจะเขียน Python เล่นๆยามว่างเป็นหลัก โมดูลที่ผมเขียนจึงแปลงไปเป็นข้อมูลแบบ dict ครับ

เช่นว่าถ้าพิมพ์ว่า “อากาศที่ขอนแก่นเป็นไงบ้าง” มันก็จะแปลงไปเป็น dict หน้าตาอย่างนี้ครับ {‘args’: [(‘สถานที่’, [‘ขอนแก่น’])], ‘type’: ‘ถามอากาศ’, ‘confidence’: 0.75} (อันนี้ตัวอย่างนะครับ จึงเป็นภาษาไทยเวอร์ชันที่รองรับตอนนี้มีแค่ภาษาอังกฤษครับ ถ้าใครอยากลองทำเวอร์ชันภาษาไทยก็แตก branch ได้เลยครับ)

ส่วนประกอบที่เราเห็นข้างบนก็มี args ก็คือ argument บอกสถานที่ว่า ขอนแก่น ส่วน type คือประเภทของ Intent ตัวนี้ confidence คือค่าที่บอกว่ามั่นใจกับคำตอบมากขนาดไหน โดยรวมก็ประมาณนี้ครับ แต่มันจะทำหน้าที่ได้ดีขนาดไหนนั้นก็ขึ้นอยู่กับว่าเราออกแบบได้ครอบคลุมขนาดไหนครับ

เริ่มที่ดาวน์โหลดตัวโมดูลมาก่อนเลยครับ

nonkung51/IntentParser
IntentParser - Simple intent parser for python 3

ผมเอาโมดูลของผมใส่ไว้ในนี้เรียบร้อยแล้วครับ ถ้าต้องการอยากลองดูก็โคลนมาใส่เครื่องเราก่อน ถ้าใครไม่มี git ในเครื่องจะดาวน์โหลดเป็นไฟล์ zip แล้วค่อยแตกไฟล์ก็ได้ครับ ใช้คำสั่ง

git clone https://github.com/nonkung51/IntentParser.git

หลังจากนั้นก็ให้เข้าไปที่ไดเรคทอรีของ git ที่ clone มาครับ

ใช้คำสั่ง

cd IntentParser

ทีนี้ก็ติดตั้ง ใช้คำสั่ง

python setup.py install

แล้วก็ลอง test ดูครับ

cd ../examples

แล้วก็ลองเล่นพวกไฟล์ example ดูครับ เดี๋ยวคราวหน้าผมจะมาเขียนวิธีการสร้าง IntentParser ด้วยตัวเองนะครับ สำหรับวันนี้ก็ขอลาไปก่อนครับ ขอบคุณมากครับ :D

ป.ล. ถ้าชอบกด recommend กับ follow ให้จะเป็นพระคุณมากครับ ^^