fast_align是乙個優秀的快速詞對齊工具包,在github上有詳細的介紹
注意:使用前必須先進行分詞,特別是漢語語料。否則沒有實際意義
需要注意的是,這裡對檔案的格式有一定要求,每行是源語言句子及其目標語言翻譯,由帶有前導和尾隨空格(|||
)的三重管道符號分隔。例如3句德語 - 英語平行語料庫是:
doch jetzt ist der held gefallen . ||| but now the hero has fallen .
neue modelle werden erprobt . ||| new models are being tested .
doch fehlen uns neue ressourcen . ||| but we lack new resources .
可以用paste命令來完成
paste -d '|||' file1 file2
如test1.txt為:
test2.txt為:
發現乙個致命的問題:vi results.txt
只加了乙個豎槓,經過測試,只識別-d後引號內第乙個字元
在fast_align上進行了測試,只有乙個豎槓做分隔符是無法被fast_align識別的,沒有更好的方法就只能寫python了
也可以先用特殊符號(語料中沒有出現的符號)進行分割,然後把該符號用『 ||| 』進行替換
paste -d'|' test1.txt test2.txt > results.txt
vi results.txt
:%s/|/ ||| /g
事實證明對於較大的語料不如用python,比較快而且不輕易出bug
#encoding=utf-8
import codecs
from tqdm import tqdm
rootpath = ''
topath = ''
with codecs.open(rootpath,'r') as f1, codecs.open(topath,'w') as f2:
for line in tqdm(f1):
f1_lines = line.strip().replace('\t',' ||| ')
f2.write(f1_lines + '\n' )
要特別注意的是,|||前後都有乙個空格,否則無法識別
./fast_align -i text.fr-en -d -o -v > forward.align
./fast_align -i text.fr-en -d -o -v -r > reverse.align
最後可以把兩部分進行合併,得到乙個綜合考慮兩個方向的對齊
./atools -i forward.align -j reverse.align -c grow-diag-final-and > final.align
補充乙個,和paste對應,將乙個檔案按列切分可以使用cut
例:[root@localhost test]# cut student.data
no name mark
1 lufubo 98
2 cbiao 88
[root@localhost test]# cut -f2,3 student.data
name mark
lufubo 98
cbiao 88
[root@localhost test]# cut -f2,3 --complement student.data no1
2如若要指定欄位的定界符,使用-d選項:
[root@localhost test]# cat student.data
no; name; mark
1; lufubo; 98
2; cbiao; 88
[root@localhost test]# cut -f2 -d ";" student.data
name
lufubo
cbiao
將檔案排序後去重:
sort -u monoling.pre -o monoling.sort
fast align工具包使用踩坑記錄
乙個小小的任務用了兩天時間,踩了無數坑,記錄下來以作警示 構建雙語詞典,用於對新語料的質量進行評分 由已有的質量較高的語料構建雙語詞典,在新的語料上計算每句翻譯對應成功的概率,有乙個閾值,得分較低的語料認為質量差 對已有的較高質量語料進行預處理 雙語語料進行合併 利用fast align工具進行對齊...
DBMS REPAIR 工具包的使用
dbms repair 工具包的使用 雖然dbms repair 是乙個程式包,它也是dba的乙個工具.通過執行dbms repair 包,oracle 給出關於損壞塊的詳細資訊,並告訴使用者如何修復他們 dbms repair 包記錄了關於損壞塊的全部詳細資訊,並在乙個稱為repair key的特...
拷貝工具包
常用工具包封裝.懶得引各種雜七八的包,輕量級包.cglib還是需要的 scope provided 1.0.0 copyutils beancopier封裝.提供簡單的單一複製與list複製.不支援自定義建構函式的類的複製.abc abc copyutil copysigle abc class o...