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

กลับไปด้านบน
การเหยียดเชื้อชาติและการประเมินผลการเล่าเรื่อง หรือ เครน สั้น ๆ เกิดขึ้นในระหว่างการท้าทายความยืดหยุ่น ในช่วงเก้าสัปดาห์ทีมสหวิทยาการประกอบด้วยนักเรียนและนักออกแบบมืออาชีพโปรแกรมเมอร์และนักวิจัยวิทยาศาสตร์คอมพิวเตอร์ได้พัฒนาเว็บไซต์ต้นแบบสำหรับ การตรวจสอบวาทศาสตร์เหยียดผิวแบบเรียลไทม์ที่เชื่อมโยงกับการระบาดของ Covid19 โครงการดังกล่าวได้รับการเสนอโดย Gianluca Stringhini, มหาวิทยาลัยบอสตันหลังจากการทำงานของเขาเกี่ยวกับการเกิดขึ้นของพฤติกรรม Sinophobic ออนไลน์ในช่วงต้นของการระบาดใหญ่ Covid19 (SARS-COV-2) ผู้อ่านอาจพบรายละเอียดเพิ่มเติมเกี่ยวกับวิธีการสำหรับความท้าทายความยืดหยุ่นในหน้า devpost ที่เกี่ยวข้องและสาขาที่มีความยืดหยุ่น-การท้าทาย-ตำนานของที่เก็บนี้
ในขณะที่ทำการทบทวนวรรณกรรมเราสังเกตเห็นว่าเอกสารบางฉบับเกี่ยวกับการตรวจสอบคำพูดแสดงความเกลียดชังออนไลน์มีทั้งแนวทางการวิจัยทางสังคมวิทยาและเครื่องมือการประมวลผลภาษาธรรมชาติล่าสุด ดูเหมือนว่าวรรณกรรมส่วนใหญ่จะแบ่งออกเป็นเอกสารระเบียบวิธีที่มีวัตถุประสงค์เพื่อพัฒนาเครื่องมือการเรียนรู้ของเครื่องจักรใหม่เพื่อตรวจจับและอธิบายลักษณะการเหยียดเชื้อชาติและวิธีการวิจัยทางสังคมวิทยาแบบดั้งเดิมทั้งเชิงคุณภาพและเชิงปริมาณซึ่งไม่ได้ใช้ประโยชน์อย่างเต็มที่จากข้อมูลและวิธีการวิเคราะห์ที่มีอยู่
เราทราบว่านี่เป็นส่วนหนึ่งของความยากลำบากในการรวบรวมทีมสหวิทยาการจากสาขาที่แตกต่างกันมากและส่วนหนึ่งของลักษณะที่ค่อนข้างเยาว์วัยและล่อแหลมของการตรวจจับคำพูดแสดงความเกลียดชังอัตโนมัติ
ประสบการณ์ของเราในระหว่างการแฮ็กฮันทำให้เราเชื่อว่าปัญหาเหล่านี้อาจบรรเทาลงได้บ้างโดยการให้เครื่องมือที่ใช้งานง่ายนักวิจัยซึ่งใช้ประโยชน์จากวิธีการตรวจจับคำพูดและการวิเคราะห์ความเกลียดชังในปัจจุบัน
Crane Toolbox ได้รับการออกแบบมาเพื่อ สนับสนุนนักวิจัยและองค์กรต่อต้านการเหยียดเชื้อชาติ ในการศึกษา ว่าเหตุการณ์เฉพาะส่งผลกระทบต่อคำพูดแสดงความเกลียดชังออนไลน์และการเล่าเรื่องแบ่งแยกเชื้อชาติอย่างไร อัลกอริทึมการวิเคราะห์ข้อความที่ทันสมัยพัฒนาขึ้นอย่างรวดเร็วและการแพร่กระจายของพวกเขามักจะ จำกัด อยู่ที่สาขาการวิจัยวิทยาศาสตร์คอมพิวเตอร์โดยเฉพาะ Crane Toolbox สรุปวิธีการเหล่านั้นบางอย่างที่เหมาะสมกับคำถามสังคมศาสตร์ทั่วไปเข้ากับ เครื่องมือที่ใช้งานง่ายซึ่งไม่ต้องใช้ทักษะการเรียนรู้ของเครื่อง
Crane Toolbox เป็น แพ็คเกจ Python เมื่อติดตั้งแล้วผู้ใช้สามารถเรียกฟังก์ชั่นในสคริปต์ Python หรือใช้เครื่องมือที่ให้โดยตรงผ่านเทอร์มินัล เครื่องมือเหล่านั้นถูกจัดระเบียบในแพ็คเกจย่อยที่เรียกว่าโมดูล แต่ละโมดูลสอดคล้องกับขั้นตอนในไปป์ไลน์การวิเคราะห์ทั่วไป
Crane Toolbox เวอร์ชันแรกจัดเตรียมเครื่องมือและเอกสารประกอบสำหรับผู้ใช้ในการกรองและจัดรูปแบบข้อมูลที่พวกเขาดึงออกมาจาก Twitter ( การนำเข้า โมดูล) เตรียมการวิเคราะห์ (โมดูล การประมวลผลล่วงหน้า ) ดำเนินการวิเคราะห์ (ES) ของตัวเลือก ( การ วิเคราะห์ โมดูล)
กลับไปด้านบน
ส่วนนี้มีไว้สำหรับโปรแกรมเมอร์ที่มีประสบการณ์ที่ต้องการดำน้ำเป็นครั้งแรกในตอนท้าย หากคุณไม่รู้ว่าเรากำลังพูดถึงอะไรในที่นั่นโปรดอย่าวิ่งออกไปกรีดร้อง! แม้ว่าความยาวของส่วนเอกสารแพ็คเกจอาจทำให้มันน่ากลัวเล็กน้อย แต่เราเขียนโดยคำนึงถึงผู้ที่ไม่ใช่ผู้เชี่ยวชาญดังนั้นคุณควรค้นหาคำแนะนำและคำแนะนำทั้งหมดที่คุณต้องใช้กล่องเครื่องมือเครน
pip install cranetoolbox ขั้นตอนแรกคือการแปลงข้อมูลของคุณเป็นรูปแบบการแลกเปลี่ยนข้อมูลทั่วไปของเราไฟล์ CSV สามคอลัมน์ เราใช้โมดูล crane-import เพื่อดำเนินการขั้นตอนนี้ ใช้ไฟล์ต้นฉบับที่มีวัตถุทวีต JSON เดียวต่อบรรทัดและแปลงเป็นไฟล์ CSV ที่มีน้ำหนักเบา พารามิเตอร์ที่มีอยู่มีรายละเอียดในส่วนโมดูลนำเข้า
crane-import --source-folder ./my_source --output-folder ./my_outputเป็นสิ่งสำคัญในการทำความสะอาดข้อมูลข้อความก่อนการวิเคราะห์ข้อมูล เราจัดหาเครื่องมือ CLI ในการดำเนินการขั้นตอนนี้ด้วยตัวเลือกการประมวลผลล่วงหน้าหลายตัว พารามิเตอร์ที่มีอยู่มีรายละเอียดในส่วนโมดูลการประมวลผลล่วงหน้า
crane-preprocess ./my_output ./my_preproc_outputขณะนี้เรามีเครื่องมือวิเคราะห์ทางสถิติเดียวที่ดำเนินการวิเคราะห์ความถี่พื้นฐานในชุดข้อมูลโดยใช้ชุดคำหลักที่ให้ไว้ รูปแบบอินพุตที่ต้องการและพารามิเตอร์ที่มีอยู่มีรายละเอียดในส่วนโมดูลการวิเคราะห์
crane-analysis-quanti ./my_preproc_output keywords.json quanti_results.csvกลับไปด้านบน
ส่วนนี้แบ่งออกเป็นสองส่วน: ส่วนแรกที่อธิบายถึงวิธีการติดตั้งกล่องเครื่องมือเครนและเรียกใช้เครื่องมือไม่ว่าจะในโหมดบรรทัดคำสั่งในเทอร์มินัลหรือผ่านการเรียกใช้ฟังก์ชันในสคริปต์ Python; และอันที่สองให้รายละเอียดเกี่ยวกับแต่ละโมดูลโดยเฉพาะรูปแบบข้อมูลและตัวเลือกพารามิเตอร์
ผู้ใช้ขั้นสูงสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับเนื้อหาของแต่ละโมดูลในเอกสารรหัส
ในการติดตั้งกล่องเครื่องมือเครนสำเร็จคุณจะต้อง:
ความรู้พื้นฐานบางอย่างในการเขียนโปรแกรมและสายการสั่งซื้อแนะนำอย่างยิ่ง แต่ความกล้าหาญและผู้ดูแลอาจเลือกที่จะดำเนินการต่อไปโดยไม่ต้อง
หากรายการด้านบนชัดเจนสำหรับคุณให้ข้ามไปยังคำแนะนำการติดตั้ง อื่นอ่านย่อหน้าต่อไปนี้เพื่อให้สภาพแวดล้อมของคุณพร้อม
เทอร์มินัลเป็นอินเทอร์เฟซที่คุณสามารถพิมพ์และเรียกใช้คำสั่งตามข้อความ คุณอาจพบคำอธิบายโดยละเอียดเพิ่มเติมที่นี่และรูปภาพของเทอร์มินัลที่มีลักษณะอย่างไร
เทอร์มินัลติดตั้งบนคอมพิวเตอร์ของคุณแล้ว หากคุณใช้ระบบปฏิบัติการที่ใช้ UNIX (ไม่ว่าจะ เป็นการแจกแจง MacOSX หรือ Linux ) จะมีชื่อ เทอร์มินัล ที่เหมาะสมและอาศัยอยู่กับแอปพลิเคชันอื่น ๆ ของคุณ หากคุณใช้ระบบปฏิบัติการ Windows จะมีชื่อว่า พรอมต์คำสั่ง และสามารถพบได้ในเมนูเริ่มต้นของคุณ สำหรับ Windows 8 และ 10 จะอยู่ในโฟลเดอร์ Windows System
ในการเรียกใช้คำสั่งในเทอร์มินัลเพียงพิมพ์และกด Enter
Python 3 เป็นภาษาการเขียนโปรแกรม
กระบวนการติดตั้งขึ้นอยู่กับระบบปฏิบัติการของคุณ คำแนะนำพื้นฐานสามารถพบได้ในเว็บไซต์ Python อย่างเป็นทางการ แต่คุณจะพบคู่มือรายละเอียดเพิ่มเติมบนอินเทอร์เน็ตได้อย่างง่ายดาย
PIP เป็นตัวจัดการแพ็คเกจ: ช่วยให้คุณดาวน์โหลดแพ็คเกจ Python และอัปเดตเมื่อจำเป็น
คำแนะนำพื้นฐานสำหรับการติดตั้งสามารถพบได้บนเว็บไซต์ทางการ มีการใช้กันอย่างแพร่หลายดังนั้นคำแนะนำทีละขั้นตอนและแหล่งข้อมูลอื่น ๆ สามารถพบได้อย่างง่ายดายบนอินเทอร์เน็ต
pip3 แทน คุณสามารถตรวจสอบ pip เวอร์ชันใดที่ใช้โดยใช้ pip --version ในเทอร์มินัลของคุณ ( python -m pip --version สำหรับผู้ใช้ Windows)
เราขอแนะนำให้ติดตั้งกล่องเครื่องมือเครนโดยใช้ pip เรียกใช้ pip install cranetoolbox ในเทอร์มินัล คำสั่งอาจใช้เวลาพอสมควรเนื่องจาก pip จะติดตั้งแพ็คเกจ Python ทั้งหมดที่จำเป็นสำหรับกล่องเครื่องมือเครนโดยอัตโนมัติ คุณสามารถตรวจสอบรายการการพึ่งพาใน [หน้า PYPI ของ Crane Toolbox] (ลิงก์ไปยังหน้า PYPI)
กล่องเครื่องมือเครนยังสามารถติดตั้งด้วยตนเองจากซอร์สโค้ดที่มีอยู่ในที่เก็บนี้
โหมดบรรทัดคำสั่งเป็นวิธีที่ง่ายที่สุดในการใช้แพ็คเกจนี้ทำให้ผู้ใช้สามารถเรียกใช้ทุกส่วนของแพ็คเกจได้อย่างรวดเร็วและสร้างสถิติที่ใช้งานได้ในระยะเวลาอันสั้น
มีคำสั่ง CLI ที่แตกต่างกันสามคำในกล่องเครื่องมือพวกเขาคือ crane-import , crane-preprocess และ crane-analysis-quanti เพื่อให้พวกเขาจัดการกับการนำเข้า/แปลงข้อมูลดิบเป็นรูปแบบ CSV มาตรฐานการประมวลผลข้อมูลล่วงหน้านั้นเป็นรูปแบบที่ใช้งานได้และในที่สุดก็คำนวณความถี่ประจำวันของคำหลักที่กำหนด
สำหรับข้อมูลเฉพาะเกี่ยวกับพารามิเตอร์ที่ให้ไว้ภายใต้เครื่องมือ CLI แต่ละตัวโปรดตรวจสอบเอกสารโดยละเอียดด้านล่าง
แพ็คเกจนี้เขียนขึ้นโดยคำนึงถึงการใช้ซ้ำ ในขณะที่เครื่องมือ CLI นั้นใช้งานได้ง่ายขึ้นเป็นเครื่องมือแบบสแตนด์อโลน แต่กล่องเครื่องมือเครนสามารถนำเข้าและใช้ภายในโครงการ Python อื่น ฟังก์ชั่นทั้งหมดมีให้สำหรับผู้ใช้ผ่านการใช้แพ็คเกจ Python มาตรฐาน นอกจากนี้ฟังก์ชั่นระดับสูงเดียวที่สอดคล้องกับเครื่องมือ CLI แต่ละตัวเพื่อให้ผู้ใช้สามารถโทรไปป์ไลน์ที่ต้องการได้โดยตรงจาก Python
โมดูลนำเข้าสามารถเข้าถึงได้จากจุดเริ่มต้นคำสั่ง crane-import
เป้าหมายของโมดูลนี้คือ การแปลงข้อมูล Twitter RAW Twitter เป็นสิ่งที่จัดการได้และน้ำหนักเบามาก สำหรับการใช้งานโดยส่วนที่เหลือของไปป์ไลน์ นี่ไม่ใช่ขั้นตอนที่จำเป็น และสามารถดำเนินการได้ด้วยตนเองโดยผู้ใช้หรือได้ทำไปแล้วผ่านเครื่องมืออื่น ๆ เนื่องจากข้อมูลถูกส่งผ่านระหว่างโมดูลเป็นไฟล์
โมดูลนี้สามารถ ประมวลผลไฟล์ขนาดใหญ่จำนวนมาก (หลายกิกะไบต์) โดยไม่ต้องพึ่งพาการแลกเปลี่ยนหรือการใช้หน่วยความจำเป็นอย่างมาก สิ่งนี้สามารถทำได้โดยการอ่านไฟล์ด้วยชิ้น (ผู้ใช้สามารถระบุจำนวนบรรทัดในตัวเลือก) รวมถึงการเขียนเป็นชิ้น สิ่งนี้ทำให้มั่นใจได้ว่ามีเพียงข้อมูลจำนวนหนึ่งเท่านั้นที่เก็บไว้ในหน่วยความจำในเวลาใดก็ตาม
นอกจากนี้ยังลบข้อมูลทวีตพิเศษที่ไม่จำเป็นสำหรับการวิเคราะห์ไปป์ไลน์ลดขนาดไฟล์และเพิ่มประสิทธิภาพของขั้นตอนต่อไปในแพ็คเกจนี้
โมดูลจะพยายามอ่านไฟล์ใด ๆ ในโฟลเดอร์ที่ระบุโดยไม่คำนึงถึงส่วนขยายชื่อ ฯลฯ ที่รองรับรูปแบบไฟล์ที่ใช้ข้อความใด ๆ (.json, .csv, .txt) นอกจากนี้ยังสามารถจัดการกับคลังเก็บ tar ที่ถูกบีบอัดและปฏิบัติต่อหลายไฟล์หรือโฟลเดอร์ในการเก็บถาวร TAR ที่กำหนดtar.gz หรือรูปแบบที่คล้ายกัน
โดยไม่คำนึงถึงประเภทไฟล์ที่แน่นอน ควรเก็บข้อมูลไว้ด้วยทวีต Object Object หนึ่งรายการต่อบรรทัด โดยใช้ n เป็นอักขระสุดท้ายของบรรทัด
โมดูลจะเชื่อมต่อไฟล์ทั้งหมดเป็นไฟล์ CSV เดียวกับคอลัมน์ต่อไปนี้:
| รหัสประจำตัว | ข้อความ | สร้าง _at |
|---|---|---|
| ID ที่ไม่ซ้ำกันของทวีต | ทวีตข้อความเต็ม | การประทับเวลาของทวีต |
ไฟล์ CSV ไม่มีส่วนหัว ตัวคั่นเครื่องหมายจุลภาคและคำพูดสองเท่าเสริมสำหรับข้อความ
คอลัมน์ข้อความถูกเลือกแบบไดนามิกขึ้นอยู่กับว่าทวีตมีอักขระมากกว่า 140 ตัวหรือไม่สำหรับข้อมูลเพิ่มเติมเกี่ยวกับทวีตเพิ่มเติมดูเอกสารประกอบอย่างเป็นทางการในทวีตขยาย
หากไฟล์เอาต์พุตมีอยู่แล้วมันจะผนวกเข้ากับไฟล์ที่มีอยู่ ในกรณีที่ไม่มีอยู่มันจะสร้างใหม่โดยใช้เส้นทางเริ่มต้น ("./filtered_data.csv") หากไม่มีการระบุ
แพ็คเกจนำเข้าสามารถใช้เป็นเครื่องมือบรรทัดคำสั่งและรองรับตัวเลือกต่าง ๆ
--source-folder แหล่งที่มาหรือไฟล์เพื่อสแกนไฟล์/คลังเก็บเพื่อประมวลผล--output-folder โฟลเดอร์เพื่อบันทึกเอาต์พุต โฟลเดอร์ที่ระบุจะต้องมีอยู่ ค่าเริ่มต้นเป็น ./ /--output-name ชื่อรวมถึงส่วนขยายของไฟล์เอาต์พุต ค่าเริ่มต้นเป็น output.csv--text-name ชื่อไปยังฟิลด์ข้อความกรณีฟิลด์นี้มีชื่อที่แตกต่างกัน--date-name ชื่อชื่อไปยังฟิลด์ CreateD_AT กรณีนี้ฟิลด์นี้มีชื่อที่แตกต่างกัน--id-name ชื่อชื่อไปยังฟิลด์ ID, กรณีฟิลด์นี้มีชื่อที่แตกต่างกัน--tweet-language ภาษาของทวีตที่บันทึกไว้ในไฟล์ ขึ้นอยู่กับฟิลด์ภาษาในวัตถุ JSON ค่าเริ่ม en en--max-lines-in-memory จำนวนสูงสุดของบรรทัดที่จะจัดขึ้นในหน่วยความจำ สิ่งนี้สามารถปรับให้เหมาะสมเพื่อเพิ่มประสิทธิภาพสำหรับประสิทธิภาพหรือบนเครื่องที่มีหน่วยความจำ จำกัด ค่าเริ่มต้นถึง 50000--retweets ใช้ธงนี้เพื่อ รวม รีทวีตในชุดเอาต์พุต ค่าเริ่มต้นเป็น falseตัวอย่างที่สมบูรณ์สำหรับจุดเข้าบรรทัดคำสั่ง:
crane-import --source-folder tweets/november --output-folder mydataset/data --max-lines-in-memory 2000 --output-name dataset.csv ไปป์ไลน์การประมวลผลล่วงหน้าสามารถเข้าถึงได้จากจุดเริ่มต้นของสายคำสั่ง crane-preprocess
การประมวลผลล่วงหน้าที่เสนอนั้นดัดแปลงมาจาก Effrosynidis และคณะ (2017), การใช้เทคนิค 9, 0, 1, 3, 5 และ 7 และ 4
ชุดข้อมูลที่กำหนดเป็นอาร์กิวเมนต์ตำแหน่งแรกสามารถเป็นโฟลเดอร์ของไฟล์ CSV หรือไฟล์ CSV เดียว ไฟล์ CSV แต่ละไฟล์ควรมี 3 คอลัมน์ (ID ของอินพุตควรไม่ซ้ำกัน, int; ข้อความของทวีต, สตริง; timestamp: สตริงการประทับเวลา), ไม่มีส่วนหัว , ตัวคั่นเครื่องหมายจุลภาคและคำพูดสองเท่าเสริมสำหรับข้อความ
| รหัสประจำตัว | ข้อความ | สร้าง _at |
|---|---|---|
| ID ที่ไม่ซ้ำกันของทวีต | ทวีตข้อความเต็ม | การประทับเวลาของทวีต |
ตามลำดับและสำหรับสตริงที่กำหนดมันจะ:
u002c )-url-mention-hashtagpunct-num แฮชแท็กถูกแบ่งส่วน เช่น แยกออกเป็นคำโดยใช้แพ็คเกจ WordSegment
ชุดข้อมูลที่ประมวลผลจะถูกบันทึกไว้ในโฟลเดอร์ที่กำหนดเป็นอาร์กิวเมนต์ตำแหน่งที่สอง หากไม่มีอยู่โฟลเดอร์จะถูกสร้างขึ้น สำหรับแต่ละไฟล์อินพุตไฟล์ที่ประมวลผลจะถูกสร้างขึ้น ชื่อไฟล์ถูกสร้างขึ้นโดยการต่อท้าย "_preprocessed" กับชื่อของไฟล์อินพุตที่เกี่ยวข้อง ไฟล์ CSV แต่ละไฟล์มี 4 คอลัมน์ (ID ของอินพุตควรไม่ซ้ำกัน, int; ข้อความต้นฉบับของทวีต, สตริง; ข้อความที่ประมวลผลล่วงหน้าของทวีต, สตริง ; timestamp: สตริงการประทับเวลา), ไม่มีส่วนหัว , ตัวคั่นเครื่องหมายจุลภาคและคำพูดสองเท่าเสริมสำหรับข้อความ
| รหัสประจำตัว | Original_text | clean_text | สร้าง _at |
|---|---|---|---|
| ID ที่ไม่ซ้ำกันของทวีต | ทวีตข้อความเต็ม | ข้อความทวีตที่ถูกประมวลผลล่วงหน้า | การประทับเวลาของทวีต |
ไปป์ไลน์มีข้อโต้แย้งตำแหน่งที่บังคับสองข้อและข้อโต้แย้งทางเลือกห้าข้อ:
-url หรือ --remove-url ใช้ธงนี้เพื่อลบ URL ออกจากทวีตแทนที่จะแทนที่ด้วย 'url'-mention หรือ --remove-mentions ใช้ธงนี้เพื่อลบการกล่าวถึงผู้ใช้ '@userhandle' จากทวีตแทนที่จะแทนที่ด้วย 'atuser'-hashtag หรือ --segment-hashtags ใช้ธงนี้เพื่อแบ่งส่วนแฮชแท็กแทนที่จะลบอักขระ '#' ก่อนหน้า-punct หรือ --remove-punctuation ใช้ธงนี้เพื่อลบเครื่องหมายวรรคตอนทั้งหมดคาดว่าจะมีเครื่องหมายยัติภังค์แทนที่จะเปลี่ยนสัญลักษณ์ซ้ำและ newLines ซ้ำ-num หรือ --remove-numbers ใช้แฟล็กนี้เพื่อลบตัวเลขทั้งหมดออกจากทวีตแทนที่จะแทนที่ด้วยเวอร์ชันข้อความของพวกเขาตัวอย่างที่สมบูรณ์สำหรับจุดเข้าบรรทัดคำสั่ง:
crane-preprocess mydataset/data mydataset/preprocessedData -punctปัจจุบันโมดูลการวิเคราะห์มีเพียงท่อวิเคราะห์เชิงปริมาณอย่างง่าย ๆ เพื่อคำนวณความถี่รายวันของคำหลักที่กำหนด
ไปป์ไลน์การวิเคราะห์นี้สามารถเข้าถึงได้จากจุดเริ่มต้นของบรรทัดคำสั่ง crane-analysis-quanti
มันคำนวณความถี่รายวันของคำหลักที่กำหนดในชุดข้อมูล อนุญาตให้ใช้คำหลัก ตัวอย่างเช่นการเกิดขึ้นของ "เด็กชาย" และ "Boyz" สามารถนับรวมกันได้
ชุดข้อมูลที่กำหนดเป็นอาร์กิวเมนต์ตำแหน่งแรกสามารถเป็นโฟลเดอร์ของไฟล์ CSV หรือไฟล์ CSV เดียว ไฟล์ CSV แต่ละไฟล์ควรมี 4 คอลัมน์ (ID ของอินพุตควรไม่ซ้ำกัน, int; ข้อความต้นฉบับของทวีต, สตริง; ข้อความที่ประมวลผลล่วงหน้าของทวีต, สตริง; timestamp: สตริงการประทับเวลา), ไม่มีส่วนหัว , ตัวคั่นเครื่องหมายจุลภาคและคำพูดสองเท่าเสริมสำหรับข้อความ ข้อความที่ประมวลผลล่วงหน้าจะถือว่าเป็นกรณีที่ต่ำกว่า
| รหัสประจำตัว | Original_text | clean_text | สร้าง _at |
|---|---|---|---|
| ID ที่ไม่ซ้ำกันของทวีต | ทวีตข้อความเต็ม | ข้อความทวีตที่ถูกประมวลผลล่วงหน้า | การประทับเวลาของทวีต |
คำหลักถูกกำหนดไว้ในพจนานุกรม JSON ซึ่งคีย์เป็นตัวแปรหลักสำหรับแต่ละคำหลักและค่าเป็นรายการของตัวแปร คำหลักทั้งหมดควรเป็นสตริงตัวพิมพ์เล็ก ตัวอย่างเช่น:
{
"color" : [
" colour " ,
" color "
],
"chinese" : [
" chinese " ,
" chineze " ,
" chines "
]
}เอาต์พุตเป็นไฟล์ CSV ที่มีคอลัมน์ วันที่หนึ่งวัน (รูปแบบ "%y-%m-%d") คอลัมน์ total_count ที่มีจำนวนทวีตรวมทุกวันในชุดข้อมูล [คำหลัก] คอลัมน์ _count สำหรับ แต่ละคำหลัก ตั้งชื่อคอลัมน์) ด้วยความถี่รายวันของทวีตที่มีคำหลักอย่างน้อยหนึ่งคำ
ตัวอย่างเช่นสำหรับคำหลักที่กำหนดไว้ด้านบน:
| วัน | total_count | color_count | chinese_count | color_freq | chinese_freq |
|---|---|---|---|---|---|
| วันที่ | จำนวนทวีตรายวัน | จำนวนทวีตทุกวันที่มี "สี" หรือตัวแปร | จำนวนทวีตรายวันที่มี "จีน" หรือตัวแปร | ความถี่ประจำวันของทวีตด้วย "สี" หรือตัวแปร | ความถี่ประจำวันของทวีตด้วย "จีน" หรือตัวแปร |
ไปป์ไลน์มีข้อโต้แย้งตำแหน่งสามประการและข้อโต้แย้งเพิ่มเติมหนึ่งข้อ:
-d หรือ --date-format ที่กำหนดรูปแบบของวันที่ในชุดข้อมูล ค่าเริ่มต้นคือ %a %b %d %h: %m: %s %z %y "ตัวอย่างที่สมบูรณ์สำหรับจุดเข้าบรรทัดคำสั่ง:
crane-analysis-quanti mydataset/preprocessedData keywords.json quanti_results.csv -d " %d %b %a %h:%M:%S %z %Y " ยังไม่ได้ดำเนินการ
กลับไปด้านบน
เรายินดีต้อนรับการมีส่วนร่วมทั้งหมด! หากคุณมีคำถามคำขอคุณลักษณะหรือข้อเสนอแนะโปรดใช้คุณสมบัติของ ปัญหา ของ GitHub
หน้าปัญหาใช้งานได้เหมือนหน้าฟอรัมเก่าที่ดีของคุณโดยมีคุณสมบัติเพิ่มเติมมากมายเฉพาะสำหรับการเขียนโปรแกรมและการกำหนดเวอร์ชัน Git GitHub ให้คำแนะนำโดยละเอียดเกี่ยวกับพวกเขา แต่นี่คือพื้นฐาน:
คุณสามารถส่งคำขอดึงสำหรับปัญหาเปิด โดยเฉพาะอย่างยิ่งปัญหาที่ติดแท็ก "วิธีช่วยเหลือ" มักจะเป็นสิ่งที่ทีมหลักกำลังดิ้นรนด้วย นี่คือแนวทางที่เราขอให้คุณติดตามเมื่อมีส่วนร่วมในฐานรหัส
หากคุณต้องการมีส่วนร่วมกับตัวเองต่อไป (ทบทวน PRS การวางแผนสำหรับคุณสมบัติใหม่การค้นคว้าวิธีการเรียนรู้ของเครื่องการทำวิจัยผู้ใช้ ... ) คุณสามารถเข้าร่วมทีมหลักได้โดยส่งอีเมล BoldUC2 (AT) Hotmail (DOT) FR เพื่อเข้าร่วม แน่นอนว่าเรายินดีต้อนรับนักพัฒนา แต่ยังรวมถึงนักออกแบบนักวิจัยจากทุกสาขาวิชาการนักเขียนด้านเทคนิค ...
เราเลือกที่จะออนบอร์ดผู้คนเป็นการส่วนตัวแทนที่จะแบ่งปันทรัพยากรทั้งหมดของเราใน Repo ด้วยเหตุผลสองประการ ก่อนอื่นเราต้องการทำให้ผู้ใช้ไม่ได้ใช้ในการเปิดโครงการโอเพนซอร์สเพื่อค้นหาสิ่งที่ต้องการ ประการที่สองทรัพยากรของเราบางส่วนมีข้อมูลส่วนตัวจากการวิจัยผู้ใช้
กลับไปด้านบน
https://crane-toolbox.github.io/#/ เป็นเว็บไซต์ต้นแบบที่สร้างขึ้นในระหว่างการท้าทายความยืดหยุ่น Hackathon ในความพยายามที่จะหาปริมาณและแสดงถึงผลกระทบของการระบาดของ Covid19 ต่อคำพูดแสดงความเกลียดชังออนไลน์ เราทิ้งไว้ออนไลน์เป็นตัวอย่างพื้นฐานของประเภทของการวิเคราะห์ข้อมูลที่สามารถดำเนินการกับกล่องเครื่องมือเครน
เราไม่ได้วางแผนที่จะในขณะนี้ เนื่องจากองค์ประกอบของทีมเราได้ตัดสินใจที่จะมุ่งเน้นความพยายามของเราในกล่องเครื่องมือเครนซึ่งเราเชื่อว่าเราสามารถสร้างความแตกต่างได้
lachapeliere | Gianluca Stringhini - | Marko Shiva Pavlovic | Claudio Catterina | svetlanamd - - - - | เอียน | พอลฮั่น |
เคลลี่ - - | กาเบรียลริเบ | ไอแซค | TomášLokša | Judith Van Stegeren |
คีย์อีโมจิ
โครงการนี้เป็นไปตามข้อกำหนดทั้งหมดของผู้เข้าร่วม การมีส่วนร่วมทุกชนิดยินดีต้อนรับ!
รายชื่อผู้สนับสนุน Hackathon สำหรับระยะแรกของโครงการสามารถพบได้ในหน้า Crane DevPost
ใช่! ตรวจสอบส่วนที่มีส่วนร่วม
Python เป็นภาษาการเขียนโปรแกรมที่พบบ่อยมากสำหรับงานวิเคราะห์ข้อมูล แพ็คเกจสามารถติดตั้งได้สำหรับภาษา Python พื้นฐาน การพูดโดยประมาณโมดูลเป็นไฟล์ที่มีรหัส Python
ที่กล่าวว่าหากคุณไม่คุ้นเคยกับ Python คุณอาจต้องการทดลองใช้บางอย่างก่อนที่จะใช้ Crane Toolbox
โปรดใช้หน้า ปัญหา ของ repo นี้ ตรวจสอบส่วนที่มีส่วนร่วมสำหรับรายละเอียดเพิ่มเติม
Crane Toolbox มีการแจกจ่ายภายใต้ใบอนุญาตสาธารณะ GNU Affero ทั่วไป v3.0
คุณสามารถใช้งานได้อย่างไรก็ตามคุณต้องการให้คุณเคารพข้อกำหนดใบอนุญาต: รวมใบอนุญาตและประกาศลิขสิทธิ์ระบุการเปลี่ยนแปลงที่คุณทำเปิดเผยแหล่งที่มาของคุณ (repo นี้) และแจกจ่ายรหัสของคุณภายใต้ใบอนุญาตเดียวกัน โปรดทราบว่าเราจะไม่รับผิดชอบต่อสิ่งที่คุณใช้ในรหัสนี้และเราไม่มีการรับประกัน
กรุณาเชื่อมโยงไปยัง repo นี้
การแบ่งปันชุดข้อมูลทวีตถูก จำกัด โดยข้อกำหนดของนักพัฒนา Twitter คุณจะไม่สามารถค้นหาชุดข้อมูลที่เปิดเผยต่อสาธารณะด้วยเนื้อหาทวีต แต่เป็นชุดข้อมูลของทวีต ID สิ่งเหล่านี้สามารถให้ ความชุ่มชื้นได้ โดยใช้ตัวอย่างเช่น Hydrator
จากนั้นมันขึ้นอยู่กับหัวข้อการวิจัยและคำถามของคุณ บางตัวมีความไวต่อเวลามากบางคนน้อยกว่า หากคุณไม่ไวต่อเวลามากลองเสี่ยงโชคด้วยเครื่องมือค้นหาทั่วไป บางคนต้องการชุดข้อมูล ที่ไร้เดียงสา ซึ่งเป็นตัวแทนของการไหลของข้อมูลเต็มรูปแบบของ Twitter ในกรณีนี้ทางออกที่ดีที่สุดของคุณคือการร่วมมือกับทีมวิจัยที่ทำการวิเคราะห์บ่อยครั้งเกี่ยวกับเนื้อหา Twitter พวกเขาอาจทำให้สตรีมทำงานเพื่อรวบรวม 1% ของข้อมูล Twitter รายวัน อื่น ๆ ต้องการชุดข้อมูลที่ได้รับการกรองแล้วสำหรับคำหลักหรือผู้ใช้เฉพาะ หากเป็นกรณีของคุณลองเสี่ยงโชคด้วยเครื่องมือค้นหาทั่วไป หากคุณไม่ต้องการข้อมูลประวัติคุณสามารถเริ่มต้นสตรีม Twitter ของคุณเองเพื่อรวบรวมข้อมูลที่คุณต้องการ
เรากำลังทำงานเพื่อรวมรูปแบบอินพุตมาตรฐานหลายรูปแบบในโมดูล นำเข้า ของเรา หากรูปแบบข้อมูลของคุณไม่รองรับโปรดติดต่อและเราจะพยายามอย่างเต็มที่ที่จะรวมการสนับสนุนไว้ในกล่องเครื่องมือเครนหรือแนะนำให้คุณแปลงเป็นหนึ่งในรูปแบบที่สนับสนุนของเรา
บางทีเราอาจไม่รู้เกี่ยวกับเรื่องนี้บางทีเราอาจไม่มีเวลานำไปใช้บางทีเราอาจเลือกที่จะไม่รวมไว้ด้วยเหตุผลที่กำหนด กรุณาติดต่อเพื่อบอกเราเกี่ยวกับเรื่องนี้ (เว้นแต่จะเป็นวิธีที่เป็นกรรมสิทธิ์โดยมีค่าธรรมเนียมการใช้งาน)