Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Thai female, male names corpus #217

Merged
merged 7 commits into from
Jul 28, 2019

Conversation

korkeatw
Copy link
Contributor

@korkeatw korkeatw commented May 6, 2019

ชื่อไทยและชื่อมุสลิมของผู้ชายจำนวน 3,834 ชื่อ และผู้หญิงจำนวน 3,854 ชื่อ

NOTE: Integration test will pass if we merge this PR PyThaiNLP/pythainlp-corpus#8

@coveralls
Copy link

coveralls commented May 6, 2019

Coverage Status

Coverage decreased (-0.4%) to 86.059% when pulling d40a6b7 on korkeatw:thai-names-corpus into e51e2a2 on PyThaiNLP:dev.

@wannaphong wannaphong added enhancement enhance functionalities corpus corpus/dataset-related issues labels May 7, 2019
@bact
Copy link
Member

bact commented May 10, 2019

ชื่อไทยและชื่อมุสลิมของผู้ชายจำนวน 3,834 ชื่อ และผู้หญิงจำนวน 3,854 ชื่อ

ดูแล้วน่าจะ merge ได้นะครับ มี test ครบหมด เขียนมาตามสไตล์ของโค้ดที่มีอยู่แล้วด้วย

มีที่มาของการรวบรวมและสัญญาอนุญาตไหมครับ (เป็น public domain, เป็น Creative Commons Attribution หรือ Attribution-ShareAlike ฯลฯ) จะได้ใส่เอาไว้ในเอกสารครับ https://github.com/PyThaiNLP/pythainlp/blob/dev/pythainlp/corpus/corpus_license.md

@korkeatw
Copy link
Contributor Author

ข้อมูลนี้ผมรวบรวมด้วยตัวเอง เดิมทีเอามาใช้ใน toy project ที่ทำนายเพศชาย-หญิงจากชื่อภาษาไทย โดยรวบรวมจากเอกสารที่ค้นพบตาม search engine แล้วเลือกเอาเฉพาะชื่อมาใช้ เลยไม่มีสัญญาอนุญาตครับ

หากต้องระบุสัญญาอนุญาตคงใช้ Creative Commons Attribution-ShareAlike 4.0 International Public License เหมือน words_th.txt, stopwords_th.txt

@p16i
Copy link
Contributor

p16i commented May 14, 2019

ส่วนตัว corpus ไม่ควรอยู่ใน repo นี้อ่ะครับ ตัวอย่างเช่น ถ้าผมลง clone repo เพื่อมาใช้งาน หรือ ลง PyThaiNLP เพื่อจะใช้งานส่วนอื่นๆ ก้อจะติด corpus พวกนี้มาด้วย

ถึงแม้ว่าตอนนี้ corpus มันยังไม่ใหญ่ แต่ อาจจะดีกว่าถ้าแยกออกไปเลย แล้วถ้ามีการเรียกใช้ ก็ค่อย download ลงมา

@korkeatw
Copy link
Contributor Author

เห็นด้วยครับว่า corpus บางตัวก็ไม่จำเป็นต้องติดตั้งไปพร้อมกับ module และอาจจะทำให้ module มีขนาดใหญ่ ควรนำไปไว้ภายนอกตาม repo นี้ https://github.com/PyThaiNLP/pythainlp-corpus

ผมดูใน db.json ที่เก็บ config ของ corpus แล้วพบว่าเก็บไว้หลายที่ทั้ง dropbox, repo ส่วนตัว, githubusercontent เลยอยากจะขอคำแนะนำครับ

  1. เราควรจะเก็บไว้ที่เดียวกันเป็นส่วนกลางดีหรือไม่ เพราะถ้าที่เก็บ corpus ใช้งานไม่ได้ เช่น account ส่วนตัวถูกปิด, เจ้าของเปลี่ยน username ทำให้ url เปลี่ยนโดยไม่ตั้งใจ ก็จะทำให้ใช้งาน module ไม่ได้
  2. ควรจะแยก corpus นี้ไป https://github.com/PyThaiNLP/pythainlp-corpus ใน PR นี้เลยหรือ merge ไปก่อนค่อย PR แยกทีหลังหลังจากได้ข้อสรุปจากข้อ 1

ขอบคุณครับ

@wannaphong
Copy link
Member

@korkeatw ตัว https://github.com/PyThaiNLP/pythainlp-corpus เก็บแค่ลิงก์ดีกว่านะครับ เพราะถ้าเอาไว้รวมกัน อาจจะมีปัญหาเรื่องลิมิตกับค่าใช้จ่าย GitHub ในการเก็บไฟล์ได้ครับ

@korkeatw
Copy link
Contributor Author

@wannaphongcom ผมอาจจะเขียนคลุมเครือไปหน่อย pythainlp-corpus ยังเก็บแค่ metadata และ link ของไฟล์เหมือนเดิมครับ ที่ผม concern ในข้อ 1 คือที่เก็บไฟล์ครับ ว่าควรจะมีที่เดียวหรือเปล่า (แต่พอคิดอีกทีการกระจายอยู่คนละที่ก็ดีเหมือนกันเพราะหากที่ใดที่หนึ่งใช้ไม่ได้อีกที่ก็ยังใช้ได้อยู่ ฮา)

ถ้าอย่างนั้น เดี๋ยวผมแก้ PR นี้ให้ download corpus จากภายนอก (เหมือน corpus ขนาดใหญ่อื่น ๆ) เสร็จแล้วจะสร้าง PR เพิ่ม metadata ใน pythainlp-corpus อีกทีครับ ขอบคุณครับ

@p16i
Copy link
Contributor

p16i commented May 16, 2019

@korkeatw @wannaphongcom ผมมีไอเดียที่จะทำ Python package (DataBuri) รวมดาต้าของไทย เลยคิดว่าอาจจะเอา corpus นี้ไปรวมด้วย ซึ่งตัว files ต่างๆ จะอยู่บน Google Cloud Storage

เวลาเรียกใช้ก้ออาจจะจะประมาณ

from databuri import corpus

male_names, female_names, .. = corpus('thai-name')

ไม่ทราบว่ามีความเห็นกันยังไงบ้างครับ?

@bact
Copy link
Member

bact commented May 16, 2019

เห็นด้วยว่า น่าจะมีที่เก็บ "อย่างเป็นทางการ" รวมกันสักที่หนึ่งครับ ซึ่งจะอยู่ใน github, dropbox, google drive อะไรก็ได้ และถ้าเป็นไปได้ควรจะเป็นที่เดียวกันครับ

@cstorm125 cstorm125 removed the enhancement enhance functionalities label May 16, 2019
@cstorm125
Copy link
Member

เก็บไว้ใน pythainlp/thai-muslim-names หรืออะไรประมาณนี้แล้วลิ้งค์ไปจาก pythainlp-corpus ดีไหมครับ

@cstorm125 cstorm125 added this to To do in PyThaiNLP May 16, 2019
@bact
Copy link
Member

bact commented May 21, 2019

Off-topic: น่าจะลองจัดระเบียบ db.json หน่อยครับ ตอนนี้หลากหลายอยู่ https://github.com/PyThaiNLP/pythainlp-corpus/blob/master/db.json (ในแง่ security ก็อาจจะไม่ค่อยดี / ผู้ใช้จำเป็นจะต้องเชื่อใจ source ที่หลากหลาย)

@pep8speaks
Copy link

pep8speaks commented May 23, 2019

Hello @korkeatw! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:

Line 46:1: E302 expected 2 blank lines, found 1

Line 13:26: W292 no newline at end of file

Comment last updated at 2019-07-28 06:33:58 UTC

@p16i
Copy link
Contributor

p16i commented May 23, 2019

Off-topic: น่าจะลองจัดระเบียบ db.json หน่อยครับ ตอนนี้หลากหลายอยู่ https://github.com/PyThaiNLP/pythainlp-corpus/blob/master/db.json (ในแง่ security ก็อาจจะไม่ค่อยดี / ผู้ใช้จำเป็นจะต้องเชื่อใจ source ที่หลากหลาย)

มีอีกความเห็นครับ สำหรับ db.json ส่วนตัวคิดว่า ถ้าเป็น config file แบบนี้ เก็บเป็น YAML อาจจะสะดวกและสวยกว่า

@bact
Copy link
Member

bact commented May 23, 2019

Off-topic: น่าจะลองจัดระเบียบ db.json หน่อยครับ ตอนนี้หลากหลายอยู่ https://github.com/PyThaiNLP/pythainlp-corpus/blob/master/db.json (ในแง่ security ก็อาจจะไม่ค่อยดี / ผู้ใช้จำเป็นจะต้องเชื่อใจ source ที่หลากหลาย)

มีอีกความเห็นครับ สำหรับ db.json ส่วนตัวคิดว่า ถ้าเป็น config file แบบนี้ เก็บเป็น YAML อาจจะสะดวกและสวยกว่า

เห็นด้วย YAML น่าจะ human readable มากกว่า
ค่อยๆ ปรับไปครับ

@c4n
Copy link
Contributor

c4n commented Jul 4, 2019

@codeforthailand เคยเก็บชื่อผู้สมัครส.ส. เผื่อสนใจเอาไปเพิ่ม listได้ครับ

https://github.com/codeforthailand/dataset-election-62-candidates/tree/master/data

@wannaphong wannaphong merged commit 67a16c6 into PyThaiNLP:dev Jul 28, 2019
@bact bact added this to the 2.1 milestone Oct 5, 2019
@bact bact moved this from To do to Done in PyThaiNLP Oct 8, 2019
@bact
Copy link
Member

bact commented Oct 10, 2019

@codeforthailand เคยเก็บชื่อผู้สมัครส.ส. เผื่อสนใจเอาไปเพิ่ม listได้ครับ

https://github.com/codeforthailand/dataset-election-62-candidates/tree/master/data

ขออนุญาตเอาไปเพิ่มในรายชื่อนะครับ (แยกชายหญิงด้วยคำนำหน้า)

@p16i
Copy link
Contributor

p16i commented Oct 10, 2019

@bact we also have the list of senate names here: https://drive.google.com/open?id=1-vGHq0cTuStxGsxN0kpxWWElWxL_liR5.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
corpus corpus/dataset-related issues
Projects
PyThaiNLP
  
Done
Development

Successfully merging this pull request may close these issues.

None yet

8 participants