Author Topic: Определение части речи  (Read 14806 times)

0 Members and 1 Guest are viewing this topic.

Offline Phoenix

  • Newbie
  • Posts: 4
on: February 25, 2010, 19:29
Здравствуйте. Задача достаточно специфическая. Я программист, и ищу совета у вас.

Я хочу программным путем сделать алгоритм определения части речи заданного слова. Возможно кто сталкивался или знает нюансы по которым можно это определение как можно точнее.

Пока мысли были такие...
Прилагательные разделять по вхождению окончания  -ый -ай -ой и т.п.
Глаголы по -ать -ять и т.п.
Но так очень много слов будут не определены или ошибочно определены (это не так важно).

Точное определение части речи не столь важно, мне главное разграничить слова по важности (т.е. существительное, глагол, прилагательное и т.п.)

Offline Евгений

  • Posts: 13050
  • Gender: Male
Слово должно быть задано только в начальной форме или в любой?
PAXVOBISCVM

Offline Phoenix

  • Newbie
  • Posts: 4
Слово должно быть задано только в начальной форме или в любой?

В любой, если будет решение для начальной, то тоже подойдет (как часть алгоритма). У меня в планах разбор предложений, книг и т.п.

Offline arseniiv

  • Posts: 14931
    • ::
Точное определение части речи не столь важно, мне главное разграничить слова по важности (т.е. существительное, глагол, прилагательное и т.п.)
Даже тут уже плохо: кровать, магний... :what:

У меня в планах разбор предложений, книг и т.п.
Удачи вам и целеустремлённости!
Кстати, разбор на что-то типа ключевых слов или какой?

Если разные формы, то вот ещё: зеваю — караваю. Вроде, до сих пор был один выход: словарь. Но вам тогда нужен будет словарь с кучей форм. Или попробовать по одной форме искать в словаре все возможные остальные (а словарь с начальными формами). (Например, встретилось слово пароходом. Программа знает, что такой конец может быть как у типичных существительных (при том есть ещё слова в начальной форме — дом), так и прилагательных (розовом). Если слово не нашлось (а это не начальная форма) рограмма начинает перебирать, всё, что могло бы быть:
1. (сущ. в косв. падеже, в начальную форму его) пароход. Ура, нашли.
2. (сущ. в им. падеже) раз не найдено, значит, такого нету!
3. (прилаг. в косв. падеже, в н.ф.) *пароходый, *пароходий, *пароходой. Айяяй, не нашли.
4. (на худой конец откидывать будем буквы с конца) *пароходо, пароход. Но мы его нашли уже в первом варианте, сюда никогда не попадём здесь.
Способ 4 должен быть последним! Иначе дам превратится в да.
Если ничего вообще не нашлось (что маловероятно при наличии кучи служебных частей речи на разные буквы), оставим слово как есть и пометим непонятным.
Предупрежу ещё, что понять, где паро́́м, а где па́́ром, программа вряд ли сможет.) И тут придётся добавить мини-словарь, связывающий "совсем разные" формы: он — его — им — ... И т.д. с модификациями. (Мне кажется, сейчас вроде обычно так делают.)

Offline Phoenix

  • Newbie
  • Posts: 4
Если разные формы, то вот ещё: зеваю — караваю. Вроде, до сих пор был один выход: словарь. Но вам тогда нужен будет словарь с кучей форм. Или попробовать по одной форме искать в словаре все возможные остальные. И тут придётся добавить мини-словарь, связывающий "совсем разные" формы: он — его — им — ... И т.д. с модификациями. (Мне кажется, сейчас вроде обычно так делают.)
О словарях я что то не подумал. Там по идее большая часть слов "распознана" может кому известны их системы распознавания? (т.к. все слова перебором не впишешь). Возможно есть свободные словари? с открытой базой слов...

Кстати, разбор на что-то типа ключевых слов или какой?
Я потом буду строить дерево зависимости от главных (слов) к зависимым (словам). Тем самым получая вложенную структуру, которая со временем будет описывать объект (главное слово) в полном объеме его возможных зависимостей.

Offline Евгений

  • Posts: 13050
  • Gender: Male
Все морфологические анализаторы русского языка пользуются электрифицированным «Грамматическим словарём» А. А. Зализняка. Но такого морфологического анализатора, чтобы определял формы с нормальным КПД, не существует. Посмотрите на выдачу «с неснятой омонимией» в НКРЯ.
PAXVOBISCVM

Offline Phoenix

  • Newbie
  • Posts: 4
С частями речи немного разобрался. Теперь связи в предложениях...

Например:
На дереве растут листья
Листья с дерева
Дерево в листьях

Как я понял предлоги определяют принадлежность. Или еще есть способы определить? т.е. я пока думаю сделать анализ предлогов, что бы определить принадлежность одних существительных к другим.

Offline arseniiv

  • Posts: 14931
    • ::
У нас очень омонимичные предлоги. Нужно значения слов учитывать.

Offline Asteroth

  • Newbie
  • Posts: 1
  • Gender: Male
Здравствуйте. Задача достаточно специфическая. Я программист, и ищу совета у вас.

Я хочу программным путем сделать алгоритм определения части речи заданного слова. Возможно кто сталкивался или знает нюансы по которым можно это определение как можно точнее.

Пока мысли были такие...
Прилагательные разделять по вхождению окончания  -ый -ай -ой и т.п.
Глаголы по -ать -ять и т.п.
Но так очень много слов будут не определены или ошибочно определены (это не так важно).

Точное определение части речи не столь важно, мне главное разграничить слова по важности (т.е. существительное, глагол, прилагательное и т.п.)

Здравствуйте! Я сейчас тоже занимаюсь написанием скрипта для определения части речи... но скрипт сейчас определяет не все слова, и иногда ошибается.
А как у Вас с этим? Может поделитесь идеей?
Спасибо!

Offline beaver

  • Posts: 57
  • Gender: Male
Задача называется part of speech tagging, она хорошо известна... Погуглите, там много найдётся.

Часто используюся статистические методы...

Например: берётся размеченный корпус, где каждому слову приписан тэг - его часть речи... И рассчитывается вероятность для каждого триграма по тегу q(t_n-2, t_n-2, t_n) (т.е. вероятность, сочетаний типа "глагол, глагол, глагол", "глагол, глагол, существительное", "глагол, прилагательное, глагол"... и так со всеми тегами) и вероятность e(w, t), что у конкретного слова w будет тег t.

Но сразу проблема: где взять тренировочный корпус для русского? :( В качестве корпуса можно взять http://opencorpora.org/?page=downloads, там есть части речи, но он очень маленький...
Вы можете купить шубу в натуральном цвете, который варьируется от черного до темно-коричневого, от палевого до золотистого. А, возможно, вы предпочтете шубку в цветном варианте: жемчужном, кофейном, сером или даже красном или ярко-синем. На каком бы фасоне и оттенке вы не остановились, можете не сомневаться: бобёр – отличный выбор.

Offline gasyoun

  • Posts: 881
  • Gender: Male
  • Санскрит в Сибири
    • Скачать санскрит в Москве
В качестве корпуса можно взять http://opencorpora.org/?page=downloads, там есть части речи, но он очень маленький...

А большой это сколько? :)
http://groups.google.com/group/Nagari/ & http://nagari.southindia.ru
Словари санскрита, прописи дэванагари, материалы по авестийскому, хинди

 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Note: this post will not display until it's been approved by a moderator.
Name: Email:
Verification:
Type the letters shown in the picture
Listen to the letters / Request another image
Type the letters shown in the picture:
√49 Напишите ответ строчными буквами:
«Сто одёжек, все без застёжек» — что это?: