มันแยกวิเคราะห์ประโยคญี่ปุ่นและสร้างฉลากบริบทเต็มรูปแบบ
นี่คือการเขียนใหม่ของส่วนการประมวลผลล่วงหน้าของ OpenJTalk (นอกเหนือจากเครื่องยนต์ HTS) โดยใช้ Rust
มันเป็นอินเทอร์เฟซหลัก มันเป็น wrapper สำหรับ Lindera, Jpreprocess-NJD, Jpreprocess-jpcommon และอื่น ๆ คำในผลการวิเคราะห์จะถูกเก็บไว้ในโครงสร้างข้อมูลที่กำหนดโดย JPreprocess-Core
ตัวอย่าง:
use jpreprocess :: * ;
let config = JPreprocessConfig {
dictionary : SystemDictionaryConfig :: File ( path ) ,
user_dictionary : None ,
} ;
let jpreprocess = JPreprocess :: from_config ( config ) ? ;
let jpcommon_label = jpreprocess
. extract_fullcontext ( "日本語文を解析し、音声合成エンジンに渡せる形式に変換します." ) ? ;
assert_eq ! (
jpcommon_label [ 2 ] . to_string ( ) ,
concat! (
"sil^n-i+h=o" ,
"/A:-3+1+7" ,
"/B:xx-xx_xx" ,
"/C:02_xx+xx" ,
"/D:02+xx_xx" ,
"/E:xx_xx!xx_xx-xx" ,
"/F:7_4#0_xx@1_3|1_12" ,
"/G:4_4%0_xx_1" ,
"/H:xx_xx" ,
"/I:3-12@1+2&1-8|1+41" ,
"/J:5_29" ,
"/K:2+8-41"
)
) ; มันรวมถึงโครงสร้างข้อมูลเช่นการออกเสียงคำส่วนของคำพูด jpcommon และฟังก์ชั่นและโครงสร้างที่เกี่ยวข้องอื่น ๆ ที่แสดงถึงข้อผิดพลาด pos เป็นตัวย่อสำหรับส่วนหนึ่งของการพูดและแสดงถึง "ส่วนหนึ่งของการพูด"
โหลดพจนานุกรมคำที่สร้างโดย JPReprocess-Builder ลงในหน่วยความจำทำให้สามารถค้นหาคำได้
ในเวลานี้รูปแบบพจนานุกรมจะถูกกำหนดโดยอัตโนมัติ
พจนานุกรมดั้งเดิมอยู่ในรูปแบบ CSV เดียวกับ MECAB แต่คุณต้องสร้างพจนานุกรมเฉพาะล่วงหน้าเพื่อให้สามารถวิเคราะห์ด้วยความเร็วสูงกับ Lindera
มันถูกสร้างขึ้นตาม Lindera-ipadic-builder ของ Lindera แต่ Jpreprocess-Builder ยังแยกวิเคราะห์สตริงล่วงหน้าและสามารถสร้างพจนานุกรม (พจนานุกรม JPreprocess) ที่สามารถประมวลผลโดยตรงกับ JPReprocess
สร้างพจนานุกรมสำหรับ JPreprocess โดยใช้พจนานุกรมที่ส่งมาพร้อมกับ OpenJTalk ใช้สำหรับคุณสมบัติ naist-jdic ของ JPREPROCESS CRATE
โปรดทราบว่าหากคุณเปิดใช้งานคุณสมบัติ naist-jdic และรวมถึงลังนี้จะใช้เวลาหลายนาทีในการสร้าง
มันกำหนดโครงสร้างของ NJDNode และ NJD ใน OpenJTalk และดำเนินการประมวลผลการแปลงสำหรับ NJD
โดยเฉพาะอย่างยิ่งมันแปลงการอ่านตัวเลข (ตัวอย่างเช่น "10,120" เป็น "Ichiman Hyakuniju") และประมาณตำแหน่งสำเนียง
มันกำหนดโครงสร้างของ JPCommonLabel ใน OpenJTalk และแปลงจาก NJD เป็น JPCommon จากนั้น JPCommon เป็นฉลากบริบทเต็มรูปแบบ
ใช้หน้าต่างที่ไม่แน่นอนที่ใช้ในกระบวนการแปลง JPReprocess-NJD
ซอฟต์แวร์นี้มีซอร์สโค้ดจาก:
แม้ว่าที่เก็บนี้มีไฟล์ CodeOwners แต่ก็ไม่ได้หมายความว่านักพัฒนาที่อยู่ในไฟล์ CodeOwners มีลิขสิทธิ์สำหรับไฟล์ทั้งหมดในที่เก็บนี้ ลิขสิทธิ์มีการระบุไว้ในไฟล์แจ้งหรือใบอนุญาตและไฟล์ CodeOwners เป็นเพียงการตรวจสอบรหัส
BSD-3-clause