โครงการ Familia Open Source รวมถึงเครื่องมือการอนุมานหัวข้อเอกสารเครื่องมือคำนวณการจับคู่ความหมายและโมเดลธีมสามแบบตามการฝึกอบรมคลังข้อมูลระดับอุตสาหกรรม: การจัดสรร Dirichlet แฝง (LDA), Sentencelda และการฝังคำเฉพาะ (TWE) สนับสนุนผู้ใช้ในการดำเนินการวิจัยและการประยุกต์ใช้สถานการณ์ต่าง ๆ เช่นการจำแนกข้อความการจัดกลุ่มข้อความและคำแนะนำส่วนบุคคลในวิธี "พร้อมใช้งาน" เมื่อพิจารณาถึงค่าใช้จ่ายที่สูงของรูปแบบการฝึกอบรมและทรัพยากรที่ จำกัด สำหรับโมเดลธีมโอเพนซอร์ซเราจะค่อยๆเปิดรูปแบบชุดรูปแบบในหลายสาขาตามการฝึกอบรมคลังข้อมูลเกรดอุตสาหกรรมรวมถึงวิธีการใช้งานทั่วไปของโมเดลเหล่านี้ในอุตสาหกรรมเพื่อช่วยในการวิจัยทางวิทยาศาสตร์ ( ภาษาอังกฤษ )
เมื่อเร็ว ๆ นี้เราได้เปิดตัวโมเดล LDA ใน Familia ใน Paddlehub 1.8 ตามชุดข้อมูลจะถูกแบ่งออกเป็น LDA_News, LDA_NOVEL และ LDA_WEBPAGE
PaddleHub ใช้งานได้ง่ายมากและเราจะใช้การใช้ LDA_News เพื่อแนะนำตัวอย่าง
ก่อนอื่นก่อนที่จะใช้ PaddleHub คุณต้องติดตั้งเฟรมเวิร์กการเรียนรู้ลึก PaddlePaddle สำหรับคำแนะนำการติดตั้งเพิ่มเติมโปรดดูที่การติดตั้ง Paddlepaddle Quick
ติดตั้ง PaddleHub: pip install paddlehub
การติดตั้งรุ่น LDA_News: hub install lda_news
การใช้งานเฉพาะ:
import paddlehub as hub
lda_news = hub . Module ( name = "lda_news" )
jsd , hd = lda_news . cal_doc_distance ( doc_text1 = "今天的天气如何,适合出去游玩吗" , doc_text2 = "感觉今天的天气不错,可以出去玩一玩了" )
# jsd = 0.003109, hd = 0.0573171
lda_sim = lda_news . cal_query_doc_similarity ( query = '百度搜索引擎' , document = '百度是全球最大的中文搜索引擎、致力于让网民更便捷地获取信息,找到所求。百度超过千亿的中文网页数据库,可以瞬间找到相关的搜索结果。' )
# LDA similarity = 0.06826
results = lda_news . cal_doc_keywords_similarity ( '百度是全球最大的中文搜索引擎、致力于让网民更便捷地获取信息,找到所求。百度超过千亿的中文网页数据库,可以瞬间找到相关的搜索结果。' )
# [{'word': '百度', 'similarity': 0.12943492762349573},
# {'word': '信息', 'similarity': 0.06139783578769882},
# {'word': '找到', 'similarity': 0.055296603463188265},
# {'word': '搜索', 'similarity': 0.04270794098349327},
# {'word': '全球', 'similarity': 0.03773627056367886},
# {'word': '超过', 'similarity': 0.03478658388202199},
# {'word': '相关', 'similarity': 0.026295857219683725},
# {'word': '获取', 'similarity': 0.021313585287833996},
# {'word': '中文', 'similarity': 0.020187103312009513},
# {'word': '搜索引擎', 'similarity': 0.007092890537169911}]วิธีการแนะนำและการใช้งานที่เฉพาะเจาะจงมากขึ้นสามารถพบได้ที่นี่: https://www.paddlepaddle.org.cn/hublist?filter=en_category&value=semanticmodel
สำหรับการแนะนำบทความที่สอดคล้องกันของรูปแบบหัวข้อที่รวมอยู่ใน Familia โปรดดูเอกสารที่เกี่ยวข้อง
กระบวนทัศน์แอปพลิเคชันของโมเดลหัวข้อในอุตสาหกรรมสามารถแยกออกเป็นสองประเภท: การเป็นตัวแทนความหมายและการจับคู่ความหมาย
การเป็นตัวแทนความหมาย (การเป็นตัวแทนความหมาย) ลดขนาดหัวเรื่องของเอกสารและได้รับการเป็นตัวแทนความหมายของเอกสาร การเป็นตัวแทนความหมายเหล่านี้สามารถนำไปใช้กับแอปพลิเคชันดาวน์สตรีมเช่นการจำแนกข้อความการวิเคราะห์เนื้อหาข้อความและการทำนาย CTR
การจับคู่ความหมาย
ในการคำนวณระดับการจับคู่ความหมายระหว่างข้อความเรามีวิธีการคำนวณความคล้ายคลึงกันสองวิธีสำหรับประเภทข้อความ:
สำหรับเนื้อหาที่มีรายละเอียดเพิ่มเติมและกรณีแอปพลิเคชันอุตสาหกรรมโปรดดูที่ Familia Wiki หากคุณต้องการเห็นภาพกระบวนทัศน์ของแอปพลิเคชันข้างต้นตามเว็บคุณสามารถอ้างถึง Familia-Visualization
การพึ่งพาของบุคคลที่สาม ได้แก่ gflags-2.0 , glogs-0.3.4 , protobuf-2.5.0 และยังต้องการคอมไพเลอร์เพื่อรองรับ C ++ 11, g++ >= 4.8 และเข้ากันได้กับระบบปฏิบัติการ Linux และ Mac โดยค่าเริ่มต้นการดำเนินการสคริปต์ต่อไปนี้จะได้รับการอ้างอิงโดยอัตโนมัติและติดตั้ง
$ sh build.sh # 包含获取并安装第三方依赖的过程
$ cd model
$ sh download_model.sh
เราจะค่อยๆเปิดโมเดลชุดรูปแบบหลายรูปแบบในสาขาต่าง ๆ เพื่อตอบสนองความต้องการของสถานการณ์ที่แตกต่างกันมากขึ้น
การสาธิตใน Familia มีคุณสมบัติดังต่อไปนี้:
การคำนวณการเป็นตัวแทนความหมาย ใช้โมเดลหัวข้อเพื่ออนุมานหัวข้อไปยังเอกสารอินพุตเพื่อรับการแสดงการลดขนาดหัวข้อของเอกสาร
การคำนวณการจับคู่ความหมาย คำนวณความคล้ายคลึงกันระหว่างข้อความรวมถึงความคล้ายคลึงกันระหว่างข้อความยาวข้อความยาวข้อความยาวข้อความยาว
เนื้อหาโมเดลแสดง คำชุดรูปแบบและปิดคำเพื่อนบ้านของโมเดลซึ่งช่วยให้ผู้ใช้มีความเข้าใจที่เข้าใจง่ายเกี่ยวกับธีมของโมเดล
สำหรับคำแนะนำการสาธิตเฉพาะโปรดดูเอกสารการใช้งาน
หากมีข้อผิดพลาดในไลบรารีแบบไดนามิกเช่น libglog.so, libgflags.so ฯลฯ โปรดเพิ่ม Third_party ลงใน LD_LIBRARY_PATH ของตัวแปรสภาพแวดล้อม
export LD_LIBRARY_PATH=./third_party/lib:$LD_LIBRARY_PATH
เครื่องมือแบ่งส่วนคำ FMM แบบง่าย ๆ ถูกสร้างขึ้นในรหัสซึ่งส่งต่อเฉพาะรายการคำศัพท์ที่ปรากฏในรูปแบบชุดรูปแบบ หากมีข้อกำหนดที่สูงขึ้นสำหรับการแบ่งส่วนคำและความแม่นยำทางความหมายขอแนะนำให้ใช้เครื่องมือแบ่งส่วนคำเชิงพาณิชย์และใช้ฟังก์ชั่นของรายการคำที่กำหนดเองเพื่อนำเข้ารายการคำในรูปแบบชุดรูปแบบ
ยินดีต้อนรับสู่การส่งคำถามและรายงานข้อผิดพลาดไปยังปัญหา GitHub หรือส่งอีเมลให้คำปรึกษาไปที่ {Family} ที่ baidu.com
docker run -d
--name familia
-e MODEL_NAME=news
-p 5000:5000
orctom/familia
model_name สามารถเป็นหนึ่งใน news / novel / webpage / webo
http://localhost:5000/swagger/
บทความต่อไปนี้อธิบายโครงการ Familia และกรณีอุตสาหกรรมที่ขับเคลื่อนโดยการสร้างแบบจำลองหัวข้อ มันรวมและแปลเอกสารภาษาจีนของเว็บไซต์ เราขอแนะนำให้อ้างถึงบทความนี้ว่าเป็นค่าเริ่มต้น
Di Jiang, Yuanfeng Song, Rongzhong Lian, Siqi Bao, Jinhua Peng, Huang HE, Hua Wu 2018. Familia: กรอบการสร้างแบบจำลองหัวข้อที่กำหนดค่าได้สำหรับวิศวกรรมข้อความอุตสาหกรรม arxiv preprint arxiv: 1808.03733
@article{jiang2018familia,
author = {Di Jiang and Yuanfeng Song and Rongzhong Lian and Siqi Bao and Jinhua Peng and Huang He and Hua Wu},
title = {{Familia: A Configurable Topic Modeling Framework for Industrial Text Engineering}},
journal = {arXiv preprint arXiv:1808.03733},
year = {2018}
}
การอ่านเพิ่มเติม: การสร้างแบบจำลองหัวข้อสหพันธรัฐ
Familia มีให้ภายใต้ใบอนุญาต BSD-3-Clause