Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.snto-msu.net/showflat.php?Number=4851720&src=arc&showlite=
Дата изменения: Unknown
Дата индексирования: Wed Apr 13 12:33:48 2016
Кодировка: Windows-1251
База данных слов русского языка... - Public forum of MSU united student networks
Root | Google | Yandex | Mail.ru | Kommersant | Afisha | LAN Support
  
Technical >> Development (Archive)

Страницы: 0 | 20 | показать все
_TZ
sir

Рег.: 30.12.2002
Сообщений: 1083
Рейтинг: 227
  Re: База данных слов русского языка... [re: Alexus]
      10.07.2006 00:05
 

Нет, реализаций, в частности на пхп или в виде алгоритма не знаю.

Я делал так. В качестве парадигм брался ассоциативный массив, в котором в качестве ключей выступали коды грамматических форм, значения - процедуры, преобразующие инфинитив в данную форму, поле name - слово-образец; возможно наследование и перекрытие полей у сходной парадигмы:

code:

paradigm
{
    name=> "делать",
    _vi=> sub {m/[оау]ть$/o},
    _vdr1s=> sub {s/ть$/ю/o},
    _vdr2s=> sub{s/ть$/ешь/o},
    _vdr3s=> sub{s/ть$/ет/o},
    _vdr1p=> sub{s/ть$/ем/o},
    _vdr2p=> sub{s/ть$/ете/o},
    _vdr3p=> sub{s/ть$/ют/o},
    _vdp1s=> sub{s/ть$/л/o},
    _vdp2s=> sub{s/ть$/л/o},
    _vdp3s=> sub{s/ть$/л/o},
    _vdp1p=> sub{s/ть$/ли/o},
    _vdp2p=> sub{s/ть$/ли/o},
    _vdp3p=> sub{s/ть$/ли/o},
    _vdf1s=> sub{$_="буду $_"},
    _vdf2s=> sub{$_="будешь $_"},
    _vdf3s=> sub{$_="будет $_"},
    _vdf1p=> sub{$_="будем $_"},
    _vdf2p=> sub{$_="будете $_"},
    _vdf3p=> sub{$_="будут $_"},
};

paradigm
{
    name=> "сделать",
    inherits=> "делать",
    _vi=> sub {m/^(у|с|под?|над?|до).*[ау]ть$/o},
    _vdf1s=> sub{s/ть$/ю/o},
    _vdf2s=> sub{s/ть$/ешь/o},
    _vdf3s=> sub{s/ть$/ет/o},
    _vdf1p=> sub{s/ть$/ем/o},
    _vdf2p=> sub{s/ть$/ете/o},
    _vdf3p=> sub{s/ть$/ют/o},
};



Меня хватило на пару десятков парадигм. Они брались из головы и никак не связаны с правилами Испела.

Правила в русском словаре не совсем грамматического происхождения. Составители анализировали большую выборку текстов на русском и собирали достаточно часто встречающиеся словоформы. Затем программа на Лиспе находила, если я правильно понимаю, наиболее популярные правила, превращающие одно слово во множество других. Никакой гарантии, что множество других слов служат при этом словоформами данного, не давалось (хотя зачастую так и было). На основе этой статистики генерировался файл с правилами affix.dat (или как его там). Правила в аффикс дат, например, могли получать совершенную форму глагола из несовершенной. Могло происходить словообразование с помощью префиксов/суффиксов. По крайней мере, полученные связи между словами могли не быть морфологическими.

Видимо, для твоей задачи нужно в хэш помещать процедуры, обратные к этим. Будет долго. Но ничего более умного я не придумал. Что поделать, русский язык не прост.

Честно говоря, я наивно думал, что понятия "синонимы" и "смысловые совпадения" - синонимы (или хотя бы смысловые совпадения) . Нет у меня словаря синонимов, советую поискать на Яндексе.

Alexus
Carpal Tunnel

Рег.: 07.01.2003
Сообщений: 13534
Из: Москва
Рейтинг: 1061
  Re: База данных слов русского языка... [re: _TZ]
      10.07.2006 20:31
 

ясно, спасибо..
Нешел словарь синонимов - пипец он долго у меня парсится...
на базу из 1.5 миллиона слов накладывать его вообще нереально..
За 4 дня = 11 тысяч из 75 прошел только...




Было: ВАЗ2107 88г.в, ВАЗ21099 02г.в, A4 1.8TQМ 02г.в. Стало: Audi A4 1.8TQМ black 03г.в
pilotrulit
enthusiast

Рег.: 19.11.2005
Сообщений: 297
Рейтинг: 507
  Re: База данных слов русского языка... [re: Alexus]
      11.07.2006 12:50
 

кстати о результатах - если что-то вменямое получится отпиши плз или выложи на тестинг

Alexus
Carpal Tunnel

Рег.: 07.01.2003
Сообщений: 13534
Из: Москва
Рейтинг: 1061
  Re: База данных слов русского языка... [re: pilotrulit]
      11.07.2006 21:32
 

что именно вменяемое тебя интересует?
сейчас у меня около 1.5 мега (1500000) слов и словоформ и для 15000 основ из них проставлены смысловые совпадения.
все это в базе mysql.
еще надо проставить примерно 50000 смысловых совпадений, и на моем компе это займет дней 10 - если я буду этим заниматься.

При этом в этой базе находится только 70% слов с главной страницы яндекса, еще 30% в базе найти не получается, что значит, что словарь, из которого я парсил словоформы - далеко не полный.



Было: ВАЗ2107 88г.в, ВАЗ21099 02г.в, A4 1.8TQМ 02г.в. Стало: Audi A4 1.8TQМ black 03г.в
pilotrulit
enthusiast

Рег.: 19.11.2005
Сообщений: 297
Рейтинг: 507
  Re: База данных слов русского языка... [re: Alexus]
      12.07.2006 11:20
 

очень хорошо.
можно посмотреть и сдампить если понравится за ящик пивка ?

Alexus
Carpal Tunnel

Рег.: 07.01.2003
Сообщений: 13534
Из: Москва
Рейтинг: 1061
  Re: База данных слов русского языка... [re: pilotrulit]
      12.07.2006 22:57
 

сейчас, или после того, как добъются остатки смысловых сочетаний :??



Было: ВАЗ2107 88г.в, ВАЗ21099 02г.в, A4 1.8TQМ 02г.в. Стало: Audi A4 1.8TQМ black 03г.в
pilotrulit
enthusiast

Рег.: 19.11.2005
Сообщений: 297
Рейтинг: 507
  Re: База данных слов русского языка... [re: Alexus]
      13.07.2006 10:59
 

лучше наверное как добьются

Alexus
Carpal Tunnel

Рег.: 07.01.2003
Сообщений: 13534
Из: Москва
Рейтинг: 1061
  Re: База данных слов русского языка... [re: pilotrulit]
      13.07.2006 18:11
 

тогда это не скоро...
я на неделю уеду, а работать ей еще дней 10...
 так что ориентируйся на начало августа...



Было: ВАЗ2107 88г.в, ВАЗ21099 02г.в, A4 1.8TQМ 02г.в. Стало: Audi A4 1.8TQМ black 03г.в
Страницы: 0 | 20 | показать все

Technical >> Development (Archive)

Дополнительная информация
3 зарегистрированных и 0 анонимных пользователей просматривают этот форум.

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

Печать темы

Права
      Вы можете создавать новые темы
      Вы можете отвечать на сообщения
      HTML отключен
      UBBCode включен

Рейтинг:
Просмотров темы:

Переход в