12 มีนาคม 2561

Published มีนาคม 12, 2561 by with 16 comments

หาค่าความคล้ายคลึงประโยคภาษาไทยโดยใช้ thai2vec ด้วย PyThaiNLP

สวัสดีผู้อ่านทุกท่านครับ บทความนี้ผมจะพาผู้อ่านไปหาค่าความคล้ายคลึงประโยคภาษาไทยโดยใช้ thai2vec ด้วย PyThaiNLP

ก่อนอื่นให้ทำการติดตั้ง PyThaiNLP ด้วยคำสั่ง pip install pythainlp
แล้วเขียนโค้ดตามนี้

การใช้งาน
ให้ใช้ฟังก์ชัน sentence_similarity(ประโยคที่1,ประโยคที่2)
ตัวอย่างเช่น
print(sentence_similarity("ผมเป็นนักศึกษาเรียนที่มหาวิทยาลัยขอนแก่น","ผมเป็นนักศึกษามหาวิทยาลัยขอนแก่น"))
ผลลัพธ์
[[ 0.79725734]]

มีความคล้ายคลึงกันถึง 79 %

ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

16 ความคิดเห็น:

  1. สวัสดีครับ
    ผมทำตามแล้ว เออเร่อ แบบนี้ครับ ต้องทำไงดีครับ


    File "C:/Users/SUN1/Documents/Python Scripts/untitled10.py", line 16
    return cosine_similarity(sentence_vectorizer(str(s1)),sentence_vectorizer(str(s2)))
    ^
    IndentationError: expected an indented block

    ตอบลบ
  2. ลองเว้นวรรคใหม่ดูครับ

    ตอบลบ
  3. ไม่ระบุชื่อ13 ธันวาคม 2561 เวลา 10:25

    สวัสดีค่ะ
    ลองทำตามแล้ว error TypeError: don't know how to handle uri None ตรง model=thai2vec.get_model() ขอคำแนะนำหน่อยค่ะว่าควรแก้ไขยังไง

    ตอบลบ
    คำตอบ
    1. เป็นเหมือนกันเลยครับ ไม่ทราบว่าทำได้หรือยัง

      ลบ
    2. เป็นเหมือนกันเลยครับ

      ลบ
    3. ลองอัพเดต pythainlp ด้วยคำสั่ง pip install -U pythainlp ดูนะครับ

      ลบ
    4. เหมือนจะเป็นที่Gensimนะครับ
      Python36\lib\site-packages\gensim\utils.py:1212: UserWarning: detected Windows; aliasing chunkize to chunkize_serial
      warnings.warn("detected Windows; aliasing chunkize to chunkize_serial")

      ลบ
    5. ความคิดเห็นนี้ถูกผู้เขียนลบ

      ลบ
  4. ขึ้นError : cannot import name 'thai2vec' อะคะ ขอคำแนะนำหน่อยว่าแก้ยังไงคะ

    ตอบลบ
  5. ขึ้น Error: No such file or directory: /pythainlp-data/thai2vec.bin อะค่ะ แก้ไขยังไงคะ

    ตอบลบ
    คำตอบ
    1. ลองใช้คำสั่ง pip install -U pythainlp เพื่ออัปเวอร์ชันของ PyThaiNLP ก่อนครับ

      ลบ
  6. ImportError: cannot import name 'thai2vec' ลองแล้วขึ้น error แบบนี้ครับ ขอรบกวนด้วยนะครับ ขอบคุณครับ

    ตอบลบ
  7. อยากทราบว่าสามารถหาคำตรงกันข้ามได้มั้ยคะ

    ตอบลบ

แสดงความคิดเห็นได้ครับ :)