flier268 / ConvertZZ

繼承自convertz,但更好用的簡繁轉換工具
GNU General Public License v3.0
402 stars 67 forks source link

Dictionary.csv #21

Closed ghost closed 4 years ago

ghost commented 5 years ago

Dictionary.csv 重複刪除及用字修訂

flier268 commented 5 years ago

看起來好像被刪掉更多東西了 請問你刪除的條件是什麼呢? 即何種情況下,字典的某一條會被刪除,輸入和輸出一樣?重複?

這邊跟你說明一下,我是從優先度最高的先取代,然後再從自數最多到最少的,但有時會需要保護某些字,讓她不會被字數更少的取代,所以你會看到一些簡體和繁體相同的字 例如:面包->麵包 與 面包抄->面包抄 "兩面包抄"就不該因為"面包"而被轉為"兩麵包抄"

另外,可以麻煩你只保留括號內的字就好了嗎(因為目前ConvertZZ還不會處理括號內的字)

ghost commented 5 years ago

看到您的說明,我覺得我可能刪多了 :-( 先放上我用來分析及找重複record的AWK script供您參考:

BEGIN { acc = 0 }
{
    if (wrd[$3] == "") {
        idx[++acc] = $3
        pre[$3] = $1 "\t" $2 "\t" $3 "\t" $4 "\t"
        wrd[$3] = ";" $5 ";"
        next
    }
    if (match(wrd[$3], ";" $5 ";") == 0)
        wrd[$3] = wrd[$3] $5 ";"
}
END {
    for (i = 1; i <= acc; i++) {
        str = wrd[idx[i]]
        sub(/^;/, "", str)
        sub(/;$/, "", str)
        print pre[idx[i]] str "\t0"
    }
}

您可以將以上的這段script存成一個檔案,比如dict.awk,然後在command line下執行

gawk -f dict.awk Dictionary.csv >Dictionary_new.csv

接著用編輯器開啟Dictionary_new.csv,那些有分號(;)的record就是原有CSV檔中重複的部分。 因為我工作的桌機不在身旁,所以晚一點我再update修改過的Dictionary.csv

flier268 commented 5 years ago

有幾個地方我覺得有點不妥 佔畢佔畢窺視時,佔、占、覘三字通用,念ㄓㄢ 做強力奪取,據為己有時,佔、占通用,念ㄓㄢˋ 做看得見的、表面的時,佔,念ㄓㄢˋ 這個字很複雜,想要全對好像有點難,我比較傾向於不做修改,法律把佔改為占,是因為在法律上解釋為強力奪取,據為己有的狀況比較常出現 (好吧,講這麼多,其實只是因為我比較習慣看到佔, 哈哈)


還有這個字 其實通用 大烟,這邊應該作為大煙才對,因為有可能只是冒煙,如起大煙,或者大煙囪 大麻菸、水煙,我也覺得應該作為,因為他們不一定是拿來抽的,如水煙式殺蟲劑