1 Востаннє редагувалося Адріян Ігорович (08.12.2012 12:23:19)

Тема: Перекладач

Привіт.
Думаю усі знать, що таке перекладач, то ж хочу поцікавитися, може хтось таке робив на php ну або бачив приклади такого ?
P.S: я не збираюся робити конкуренції google :D, просто цікаво як воно функціонує + до того хотів би попробувати маленький перекладач на декілька слів(так для тесту).

2

Re: Перекладач

Знаємо що таке звісно :) В гугла і яндекса функціонує досить складно мабуть і не реально пояснити але якщо в двох словах то яндекс для прикладу будує семантичне дерево потім перекладає його і пізніше з цього дерева будує речення.
Фактично залежить які у вас цілі, автоматом чи ручний. Теж були деякі ідеї в цьому плані але зробити автоматичний і на 2-3 мови досить складно багато нюансів:) Але думаю реально)

На декілька слів не складно) Звичайний preg_replace або навіть str_replace

Re: Перекладач

funivan написав:

На декілька слів не складно) Звичайний preg_replace або навіть str_replace

Ну для початку буде декілька слів, але думаю простим str_replace мені не обійтись.

4

Re: Перекладач

А взагалі яка ідея перекладача, скільки мов, і які плани)

Re: Перекладач

funivan написав:

А взагалі яка ідея перекладача, скільки мов, і які плани)

Просто цікаво що і до чого.

6

Re: Перекладач

Ну зробити перекладач досить тяжко, а хороший перекладач самому взагалі не реально. Але що хоч трошки спробувати можна зробити Т9 словник для початку.

7

Re: Перекладач

самому взагалі не реально.

А скільки людей потрібно щоб зробити нормальний?

Щоб зрозуміти рекурсію потрібно спочатку зрозуміти рекурсію.
int fac(int n) { return n < 2 ? 1 : n*fac(n-1); }

8

Re: Перекладач

Особисто я теж хочу зробити перекладач Хантер напиши в приват :) звяжемось щось порішаєм ;) Принаймі обговоримо))))

9

Re: Перекладач

Patron написав:

самому взагалі не реально.

А скільки людей потрібно щоб зробити нормальний?

Ну все залежить від їхнього вміння та навичок. Але на мою думку не менше трьох гарних спеціалістів.

10

Re: Перекладач

давайте його потім на гітхаб викладіть, цікаво подивитися що вийде)

Щоб зрозуміти рекурсію потрібно спочатку зрозуміти рекурсію.
int fac(int n) { return n < 2 ? 1 : n*fac(n-1); }

11

Re: Перекладач

Перш за все головне що б він хоча б якось перекладав :) а там побачимо
а кількість людей не має значення може і 1н бути)) а може і 100 а толку 0 =) це теж моя думка ;)

12

Re: Перекладач

Кілька власних думок:
1. Для нормального перекладача обов'язково потрібні будуть великі бази: словники (причому чим більші, тим краще), уже перекладені тексти (для статистичного аналізу і навчання).
2. Бажано нормальний лінгвіст в команді.
3. Обов'язкове ґрунтовне вивчення навчально-наукової літератури по цій тематиці та суміжних (різні там штучні інтелекти, системи, що самонавчаються і т.д.)
4. Не завадять власні оригінальні ідеї.
А якщо робити по простому, то нормальний словник і заміна кожного слова. Для мов із подібною структурою побудови речень (наприклад, українська і російська) має непогано працювати:)

13

Re: Перекладач

мені здається що словником має бути нейронна система-програма яка буде вміти сама себе навчати.

Щоб зрозуміти рекурсію потрібно спочатку зрозуміти рекурсію.
int fac(int n) { return n < 2 ? 1 : n*fac(n-1); }

14

Re: Перекладач

Patron написав:

мені здається що словником має бути нейронна система-програма яка буде вміти сама себе навчати.

Це з одної сторони кльово я теж так думав але вважаю що краще зробити систему яка буде мати певний словник і правила які будуть працювати. Тобто система може і не знати слова "Форум" до того часу поки його не додаш в базу і не буде вміти перекладати зате інші слова буде перекладати без помилок. Це моя думка. Нейронні мережі кльово але  вона змінюється і часто не в кращу сторону. Хоча зараз всі на нейронках перекладачі.

15

Re: Перекладач

Цікаво, хто що думає про оце: http://bunyk.wordpress.com/2011/04/06/e … ictionary/

16

Re: Перекладач

Я таке робив)) Збирав країни. Взагалі як переклад слів деколи підходить але переважно сутності мож перекладати тобто іменники. А ось уже дієслова хз як) Загалом цікава стаття дякую ;)

17

Re: Перекладач

А що ви думаєте на рахунок словосполучень? Словосполучення це більш унікальна частина тексту і вона менше залежить від контексту. Тобто якість перекладу словосполученя повинна бути кращою.

Щоб зрозуміти рекурсію потрібно спочатку зрозуміти рекурсію.
int fac(int n) { return n < 2 ? 1 : n*fac(n-1); }

18

Re: Перекладач

Patron написав:

А що ви думаєте на рахунок словосполучень? Словосполучення це більш унікальна частина тексту і вона менше залежить від контексту. Тобто якість перекладу словосполученя повинна бути кращою.

Важливе зауваження для випадку фразеологізмів та усталених виразів.
Однак не факт, що для програми-словника ці поняття мають відрізнятися (текст і текст з пунктуацією чи пробілами - не все одно?).

I belong to the Dead Generation.

19

Re: Перекладач

Bartash написав:

Однак не факт, що для програми-словника ці поняття мають відрізнятися (текст і текст з пунктуацією чи пробілами - не все одно?).

Не все одно. Для простого словника ми можемо провести лексичний аналіз тексту (розбити на слова), і дивитись кожне слово окремо. Для фразеологізмів - дивитись по два слова, чи по три слова, чи по чотири слова, або взагалі реалізувати алгоритм Ахо-Корасік для якоїсь бази даних. Або зробити свою базу даних на основі префіксного дерева.

І крім того, якщо слів наприклад лише 1000, то можливих комбінацій з цих слів по два може й мільйон... Питання як навчити свій перекладач їх перекладати так щоб руками не вводити - дуже цікаве питання. От я для цього вікіпедію підключав, хоча як вже вище зауважували - в вікіпедії бракує дієслів і багатьох інших потрібних слів. Зате вона сильна власними назвами.

20

Re: Перекладач

bunyk написав:
Bartash написав:

Однак не факт, що для програми-словника ці поняття мають відрізнятися (текст і текст з пунктуацією чи пробілами - не все одно?).

Не все одно. Для простого словника ми можемо провести лексичний аналіз тексту (розбити на слова), і дивитись кожне слово окремо. Для фразеологізмів - дивитись по два слова, чи по три слова, чи по чотири слова, або взагалі реалізувати алгоритм Ахо-Корасік для якоїсь бази даних. Або зробити свою базу даних на основі префіксного дерева.

І крім того, якщо слів наприклад лише 1000, то можливих комбінацій з цих слів по два може й мільйон... Питання як навчити свій перекладач їх перекладати так щоб руками не вводити - дуже цікаве питання. От я для цього вікіпедію підключав, хоча як вже вище зауважували - в вікіпедії бракує дієслів і багатьох інших потрібних слів. Зате вона сильна власними назвами.

Вірно, якщо аналізувати словосполучення довільного типу - комбінацій безліч. Однак якщо словосполучення є фразеологізмом - фактично, монолітною лексемою, - то і розглядати його можна лише як неподільний елемент, і тоді його відмінність від звичайного слова стирається.

I belong to the Dead Generation.