Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > Проверка орфографии с помощью Perl и Google?


Автор: Suppir 28.9.2011, 16:29
Проверка орфографии с помощью Perl и MS Word 
http://forum.vingrad.ru/forum/topic-338725.html
показала хорошие результаты.

Возникла следующая идея - а можно ли проверять орфографию с помощью Google? Когда вы вводите в поисковый запрос какое-нибудь слово, то Google подчеркивает его в случае ошибки и предлагает возможно-правильный вариант. 
Интересно, можно ли с помощью какого-нибудь гугловского API послать список слов на какой-нибудь сайт, а обратно получить сообщение, какие слова правильные, какие нет, а также возможные варианты правильных написаний?   smile 

Автор: alezzz 28.9.2011, 16:39
Может http://api.yandex.ru/speller/doc/dg/reference/checkText.xml поможет?

Автор: Suppir 28.9.2011, 16:54
аааа, отличная штука. Вот бы разобраться как посылать сообщения туда с обычного компьютера по сети (у меня нет сайта).

Добавлено через 5 минут и 5 секунд
В качестве текста хочу проверить эту строку:
"Об утвердении переня объектов кулютурного наслеедия"

по идее должен показать 4 слова неправильных.

Автор: dixoNICH 28.9.2011, 17:03
эээ, и зачем вам сайт, чтобы послать что-то?

Автор: alezzz 28.9.2011, 17:12
Цитата(Suppir @  28.9.2011,  16:54 Найти цитируемый пост)
Вот бы разобраться как посылать сообщения туда с обычного компьютера по сети (у меня нет сайта).


Цитата(dixoNICH @  28.9.2011,  17:03 Найти цитируемый пост)
эээ, и зачем вам сайт, чтобы послать что-то?

+1

Код

use LWP::UserAgent;
use URI::Escape;
use Encode;

my $url = 'http://speller.yandex.net/services/spellservice/checkText?text=';
my $text = 'Об утвердении переня объектов кулютурного наслеедия';
Encode::from_to($text, 'cp1251', 'utf-8');
$text = uri_escape($text);

my $ua = LWP::UserAgent->new();
$ua->agent('Mozilla/5.0 (X11; U; Linux i586; de; rv:5.0) Gecko/20100101 Firefox/5.0');
my $resp = $ua->get($url . $text);

print $resp->content;

Код

<?xml version="1.0" encoding="utf-8"?>
<SpellResult><error code="1" pos="3" row="0" col="3" len="10"><word>утвердении</word>
<s>утверждении</s></error><error code="1" pos="14" row="0" col="14" len="6"><word>переня</word>
<s>перечня</s><s>парня</s><s>передняя</s><s>перен.</s><s>перенял</s></error>
<error code="1" pos="30" row="0" col="30" len="11"><word>кулютурного</word>
<s>культурного</s></error><error code="1" pos="42" row="0" col="42" len="9">
<word>наслеедия</word><s>наследия</s></error></SpellResult>

Автор: Suppir 28.9.2011, 19:43
Вот, кстати, скрипт готовый. Даже не нужно XML разбирать.
http://api.yandex.ru/speller/doc/dg/tasks/how-to-replace-aspell.xml

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)