2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Почему Google Translate такой жмот?
Сообщение08.11.2013, 16:17 


12/10/13
99
Как известно, GT переводит с одного языка на другой не напрямую, а сначала переводит на английский с одного языка, а потом с английского на другой язык. Данный метод хорош тем, что словари занимают меньше места на сервере, ведь кол-во словарей вида "язык1-английский" и "английский-язык1" было бы меньше, чем кол-во словарей вида "язык1-язык2", и сейчас я это докажу.

Кол-во словарей вида "язык1-язык2" найдём по кол-ву размещений по 2 элемента (по 2 языка). Всего в GT 71 язык, тогда $m_1=A^{2}_{n}=A^{2}_{71}=4970$, где $m_1$ - кол-во словарей вида "язык1-язык2", $n$ - кол-во языков в GT.

Кол-во словарей вида "язык1-английский" и "английский-язык1" вместе взятых найдём по формуле $m_2=2(n-1)=2\cdot 70=140$ (английский язык мы не учитываем в качестве второго в паре с английским языком), где $m_2$ - кол-во словарей вида "язык1-английский" и "английский-язык1" вместе взятых.

Размер одного словаря (в байтах) будет равен $V_{wl}=2(n_{w}n_{l}+n_{w}n_{l}n_{s})=2n_{w}n_{l}(1+n_{s})=2\cdot 40000 \cdot 20 \cdot (1+15)=25$ МБ (размер одного символа в Unicode - 2 байта, среднее число букв в слове - 20, среднее число слов - 40 тыс., среднее число значений - 15), где $n_{w}$ - среднее кол-во букв в слове, $n_{l}$ - среднее число букв в слове, $n_{s}$ - среднее число значений, соответствующих одному слову, $V_{wl}$ - размер одного словаря (в байтах).

Объём всех словарей при 4970 словарях будет равен $V_{1}=m_{1}V_{wl}=4970\cdot 25 \approx 122$ ГБ.

Объём всех словарей при 140 словарях будет равен $V_2=m_{2}V_{wl}=140\cdot25 \approx 4$ ГБ.

Всего при таком раскладе для хранения большего числа словарей потребуется в $\frac {V_1} {V_2} \approx 30.5$ раз больше места на сервере.

И вот заключительный вопрос: почему Google такой жмот? Разве 122 ГБ нельзя было выделить для хранения словарей? На серверах у них вон сколько места... Или уменьшение количества словарей связано не с экономией места на сервере, а по другим причинам?

З.Ы. Просто я иногда наблюдал, что если GT не смог перевести слово в предложении с одного языка на другой, то я видел, что GT показывал перевод слова с данного языка на английский.

З.З.Ы. Я брал лишь приближённые средние значения для кол-ва букв в одном слове, слов и значений. Для каждого языка средние значения кол-ва букв в слове и слов могут быть разными.

 Профиль  
                  
 
 Re: Почему Google Translate такой жмот?
Сообщение08.11.2013, 16:54 
Аватара пользователя


03/10/13
449
Ну, наверное помимо места нужно ещё по штату сотрудников вида "язык1 — язык2" поддерживать, а на дипломированных специалистов по переводу с польского на корейский, думаю, даже у гугла дефицит будет; а коль и наберётся, то, видимо, экономически неоправданно так делать (качество перевода вырастет на чуть-чуть, а количество затрачиваемых ресурсов вырастет в квадрат), не дураки ж там в самом деле работают, чтобы не обдумать этот вариант перед тем как начать реализовывать этот проект. Так что такое.

 Профиль  
                  
 
 Re: Почему Google Translate такой жмот?
Сообщение08.11.2013, 17:01 
Заслуженный участник


09/08/09
3438
С.Петербург
LebedKun в сообщении #786327 писал(а):
Как известно, GT переводит с одного языка на другой не напрямую, а сначала переводит на английский с одного языка, а потом с английского на другой язык.
По-моему, Вы ошибаетесь. По крайней мере, для близких языков.

Берем из Википедии фразу на белорусском языке:
Цитата:
Паводле дадзеных перапісу насельніцтва Беларусі 2009 года, роднай беларускую мову пазначылі 4 841 319 этнічных беларусаў, а таксама 217 015 прадстаўнікоў іншых нацыянальнасцей краіны (сярод іх 171 287 чал. этнічных палякаў) назвалі беларускую сваёй роднай, што складае 53,22% насельніцтва краіны.
и переводим на русский:
Цитата:
По данным переписи населения Беларуси 2009 года, родным белорусский язык указали 4841319 этнических белорусов, а также 217 015 представителей других национальностей страны (среди них 171 287 чел. Этнических поляков) назвали белорусский своим родным, что составляет 53,22% населения страны.

Теперь то же самое делаем по цепочке белорусский -> английский -> русский:
Цитата:
According to the census of the population of Belarus in 2009, the native Belarusian language indicated 4,841,319 ethnic Belarusians, and 217,015 members of other ethnic groups of the country (among them 171,287 people. Ethnic Poles) called Belarus native, representing 53.22% of the population.
Цитата:
По данным переписи населения Беларуси в 2009 году, родной белорусский язык указали 4841319 этнических белорусов, и 217 015 представителей других этнических групп страны (среди них 171 287 человек. Этнических поляков) назвал Беларусь родной, представляющих 53,22% населения .

Обратите внимание на разницу в подчеркнутых фрагментах; если бы перевод всегда осуществлялся через английский, было бы полное совпадение.

 Профиль  
                  
 
 Re: Почему Google Translate такой жмот?
Сообщение08.11.2013, 17:06 
Заслуженный участник


20/07/09
4026
МФТИ ФУПМ
http://en.wikipedia.org/wiki/Google_Tra ... ethodology

 Профиль  
                  
 
 Re: Почему Google Translate такой жмот?
Сообщение08.11.2013, 17:53 
Заслуженный участник


27/04/09
28128
LebedKun в сообщении #786327 писал(а):
размер одного символа в Unicode - 2 байта
Для большинства языков это будет верным, но не забывайте про символы верхних плоскостей, для которых в UTF-16 применяются 4 байта (суррогатные пары). Хотя порядок величин останется примерно тот же, в том числе если у них используются UTF-8 или UTF-32 (первая экономнее для ASCII, причин для второй не видно).

 Профиль  
                  
 
 Re: Почему Google Translate такой жмот?
Сообщение09.11.2013, 02:37 
Заслуженный участник


09/08/09
3438
С.Петербург
Nemiroff, спасибо! Я просто как-то раньше обратил внимание, что уж больно гладко он с белорусского на русский переводит; ну не могло такого быть, чтоб через английский. А оно, оказывается, на английский через русский.

 Профиль  
                  
 
 Re: Почему Google Translate такой жмот?
Сообщение09.11.2013, 12:47 


12/10/13
99
Ну, GT молодцы. Сейчас стали добавлять новые словари. Просто раньше GT всегда переводил по схеме "язык1 -> английский -> язык2". Я в GT в основном перевожу незнакомые слова и обороты на английском, поэтому не знаю, что насчёт других языков. Может понабралось тех самых спецов в Google?

З.Ы. К примеру, GT один раз перевёл одно известное русское слово на три буквы на немецкий как английское слово "d**k".

Цитата:
а на дипломированных специалистов по переводу с польского на корейский, думаю, даже у гугла дефицит будет


Вопрос ещё в том, насколько это востребовано для поляков, т.е. практическая ценность такого перевода :D

-- 09.11.2013, 13:51 --

arseniiv в сообщении #786344 писал(а):
LebedKun в сообщении #786327 писал(а):
размер одного символа в Unicode - 2 байта
Для большинства языков это будет верным, но не забывайте про символы верхних плоскостей, для которых в UTF-16 применяются 4 байта (суррогатные пары). Хотя порядок величин останется примерно тот же, в том числе если у них используются UTF-8 или UTF-32 (первая экономнее для ASCII, причин для второй не видно).


Ну, ещё и Юникод бывает разным. Например, в UTF-16 символ кодируется 2-мя байтами как минимум. А в UTF-8 длина символа (в байтах) колеблется от 1 до 6 байт.

 Профиль  
                  
 
 Re: Почему Google Translate такой жмот?
Сообщение09.11.2013, 14:31 
Заслуженный участник


27/04/09
28128
Это не Unicode разный, это кодировки разные (о чём я и писал, т. к. вы не упомянули, что имели в виду именно UTF-16). А code points символов не меняются, конечно.

 Профиль  
                  
 
 Re: Почему Google Translate такой жмот?
Сообщение09.11.2013, 14:39 


12/10/13
99
arseniiv, ну так я кодировки Unicode и имел ввиду. Писать "кодировки Unicode" много времени отнимает, поэтому экономичнее написать либо "кодировки", либо "Юникод". Но если написать "кодировки", то не сразу понятно, о каких конкретно кодировках идёт речь (может я сравниваю ASCII с какой-то инопланетной кодировкой). Поэтому я и написал, что "Юникод бывает разным".

 Профиль  
                  
 
 Re: Почему Google Translate такой жмот?
Сообщение09.11.2013, 15:24 
Заслуженный участник


27/04/09
28128
LebedKun в сообщении #786598 писал(а):
Писать "кодировки Unicode" много времени отнимает, поэтому экономичнее написать либо "кодировки", либо "Юникод".
И неправильнее! Потому что «Юникод» (я люблю «Уникод», но это не важно) получится либо слишком узко, либо слишком широко (все связанные с ним стандарты и пр.). :-)

 Профиль  
                  
 
 Re: Почему Google Translate такой жмот?
Сообщение09.11.2013, 16:21 


12/10/13
99
Цитата:
получится либо слишком узко

Это как? Вы хотите сказать, что кодировка UTF бывает не только юникодовская? оО

Цитата:
либо слишком широко


В большинстве случаев, говоря "Юникод", люди подразумевают именно кодировку форматов UTF, т.к. не каждый человек - айтишник, да и не каждый айтишник знает, что помимо кодировок у Юникода есть другие проекты и стандарты.

 Профиль  
                  
 
 Re: Почему Google Translate такой жмот?
Сообщение09.11.2013, 17:06 
Заслуженный участник
Аватара пользователя


06/10/08
6422
arseniiv в сообщении #786612 писал(а):
И неправильнее! Потому что «Юникод» (я люблю «Уникод», но это не важно) получится либо слишком узко, либо слишком широко (все связанные с ним стандарты и пр.). :-)
Тут Вы скорее неправы, потому что описание кодировок входит в стандарт Unicode.

 Профиль  
                  
 
 Re: Почему Google Translate такой жмот?
Сообщение10.11.2013, 00:18 
Заслуженный участник


27/04/09
28128
LebedKun в сообщении #786620 писал(а):
Это как? Вы хотите сказать, что кодировка UTF бывает не только юникодовская? оО
Нее.

Я как-то неправильно обосновал неприятие фразы «Юникод бывает разным». Можно подумать, что в ней говорится о разных версиях стандарта, которые тут тоже ни при чём, ведь в последних версиях вряд ли менялись описания кодировок UTF.

-- Вс ноя 10, 2013 03:19:54 --

Xaositect в сообщении #786640 писал(а):
описание кодировок входит в стандарт Unicode
Ого! Думал, там описываются только символы, нормализация и примерно такое же.

 Профиль  
                  
 
 Re: Почему Google Translate такой жмот?
Сообщение10.11.2013, 02:08 
Заслуженный участник
Аватара пользователя


06/10/08
6422

(Оффтоп)

arseniiv в сообщении #786874 писал(а):
Ого! Думал, там описываются только символы, нормализация и примерно такое же.
С 2003 года. Меня радует сложившаяся ситуация, когда много кто говорит о стандартах, но мало кто их действительно читал :)

 Профиль  
                  
 
 Re: Почему Google Translate такой жмот?
Сообщение11.11.2013, 10:24 
Заслуженный участник
Аватара пользователя


01/08/06
3131
Уфа
То-то я думаю, как он так ловко переводит крылатые фразы вроде "Помни о смерти" (далеко не все, к сожалению, но всё же). Думал, там сидят специальные человеки и устойчивые выражения вбивают. А оно вон как оказывается, статистически.
Жмот, однозначно :D

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 21 ]  На страницу 1, 2  След.

Модератор: Модераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group