|
Тема |
машинен превод шльокавица -> български език |
|
Автор |
Baлeнтин () |
|
Публикувано | 17.04.06 21:09 |
|
|
Здравейте,
интересувам се от мнението на специалисти по въпроса за машинен превод на шльокавица (методиевица, чатица, мейлица).
Какво смятате за ?
Ползва се речник, който е генериран автоматично от списък с много от думите в българския език. Ето една нищожна извадка:
bega бега
bega(4|ch) бегач
bega(4|ch)a бегача
bega(4|ch)i бегачи
bega(4|ch)ite бегачите
bega(4|ch)(k|c|ck)a бегачка
bega(4|ch)(k|c|ck)ata бегачката
bega(4|ch)(k|c|ck)i бегачки
bega(4|ch)(k|c|ck)ite бегачките
bega(4|ch)o бегачо
bega(4|ch)(u|a|y)t бегачът
Предполагам, че се досещате какво значат скобите и чертите - в скобите се съдържат различни варианти на части от думата, а чертите разграничават отделните варианти.
Данните са разделени в 834 файла - програмата се ориентира в кой файл да търси по първите няколко букви от търсената дума (така се ускорява търсенето).
Речникът е генериран автоматично чрез прилагане на следните правила:
а --> a
б --> b
в --> (w|v)
г --> g
д --> d
е --> e
ж --> (v|j|zh|g|zg|z)
з --> z
и --> i
й --> (j|i|y)
к --> (k|c|ck)
л --> l
м --> m
н --> n
о --> o
п --> p
р --> r
с --> s
т --> t
у --> u
ф --> f
х --> (h|x)
ц --> (c|ts|z)
ч --> (4|ch)
ш --> (sh|6)
щ --> (sht|6t)
ъ --> (u|a|y)
ы --> (u|a)
ь --> (j|y|i)
э --> e
ю --> (iu|ju|u)
я --> (ia|ja|q|a|ya)
ё --> e
Освен на този речник, програмата разчита и на това:
[начало_на_дума]nemoga => не мога
[начало_на_дума]neis(k|c)am => не искам
[начало_на_дума]ne(w|v)i(v|j|zh|g|zg|z)dam => не виждам
[начало_на_дума]neobi(ch|4)am => не обичам
[начало_на_дума]nemo(v|j|zh|g|zg|z)e => не може
bulgar => българ
balgar => българ
ercher => ерцхер # изключение: ch не е ч (в думата ерцхерцог)
[начало_на_дума]zeli(a|q)t => целият
[начало_на_дума]mount(v|w)a => монтира
[начало_на_дума](sht|6t)ur(u|o)ti => щуроти
[начало_на_дума](c|k)li(ck|k) => клик
(v|w)azg => важ # важност
lezg => леж # разглеждане, ....
per(fe|f)(k|c|ck)tno => перфектно
# низове от три букви:
[начало_на_дума](w|v)ah[край_на_дума] => вах # update-vah
nix[край_на_дума] => никс
sht => щ
ija => ия
zge[край_на_дума] => же # каже, може
lyo => льо # няма думи, които да съдържат низ "лйо". пример: шльокавица
# низове от две букви:
tz => ц # tzar = цар; shlyokawitza=шльокавица
yo => йо
sh => ш
ux[край_на_дума] => укс
zh => ж
iu => ю
ju => ю
ya => я
ia => я # понякога "ia" е "ия"
tc => ц
ts => ц
ch => ч
lq => ля
ck => к # пример: hacker -> хакер
6t => щ
4 => ч
3 => з
6 => ш
a => а
b => б
c => ц
d => д
e => е
f => ф
g => г
h => х
i => и
j => ж
k => к
l => л
m => м
n => н
o => о
p => п
q => я
r => р
s => с
t => т
u => у
v => в
w => в
x => х
y => у
z => з
Тази процедура се прилага преди думата да се търси в речника. След това се проверява дали думата се съдържа в списъка с думи от българския език (става по-бързо от търсенето в речника). Разбира се списъкът с думите от българския език е разделен също на 834 файла (определянето, коя дума в кой файл се намира, става бързо (по първите две букви), тъй като думите са подредени по азбучен ред).
Моля обърнете внимание на това, че програмата е ; можете да я разпространявате и променяте съгласно условията на лиценза версия 2 или (по ваша преценка) по-нова версия, в този вид, в който е публикуван от Фондацията за свободен софтуер. Програмата се разпространява с надеждата, че ще бъде полезна, но БЕЗ ГАРАНЦИИ, дори без косвена гаранция за ПРИГОДНОСТ ЗА ОПРЕДЕЛЕНА ЦЕЛ. За повече подробности, вижте условията на лиценза GNU GPL.
|
| |
|
|
|