Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Word
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.06.2009, 14:35   #1
Izhic
Форумчанин
 
Аватар для Izhic
 
Регистрация: 08.10.2008
Сообщений: 668
По умолчанию как определить часть речи в VBA?

пытаюсь решить такую задачку.
тезаурус предоставляет по слову схожие слова.
и пишет рядом в скобках принадлежность к части речи[Part of Speech].
А как для выделенного слова получить часть речи, не понятно.

>>ссылка
>>ссылка
Вроде нашёл. Сейчас со второй ссылкой буду разбираться

Готово синонимам определяет часть речи. Осталось определить для самого слова.
Цитата:
>>expression Required. An expression that returns a SynonymInfo object.
А вот у самого слова есть ли такая информация не понятно.

Видимо определять по части речи синонимов. К той же определять которой пренадлежат и синонимы?

Если есть идеи пожалуйста выкладывайте.
Don't worry be happy

Последний раз редактировалось Izhic; 10.06.2009 в 15:27.
Izhic вне форума Ответить с цитированием
Старый 10.06.2009, 23:07   #2
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

Интересная задача. По идее синонимы всегда одной части речи. Например, синонимы глагола идти: перемещаться, чесать, направляться, падать (о дожде, снеге).
Все глаголы, поэтому можно ориентироваться на синонимы.
А вот что делать, если у слова нет синонимов? Вернее, Word не знает, что они есть?
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 10.06.2009, 23:28   #3
Izhic
Форумчанин
 
Аватар для Izhic
 
Регистрация: 08.10.2008
Сообщений: 668
По умолчанию

Допустим если это слово бегемот, то тут без вариантов(или : перемещаться , как у Вас), Вы правы только глаголы.

А Вот для примера многострадальное слово : "Это"(местоим) ..

Являет в себе как:
"Данное"+= ...производные
(прилагательное...., хотя в принципе правильно - это синоним)
Так и :
"Одолжить"+=производные(глагол) .
(А вот это вообще непонятно каким боком , не только другая ч.р. но и не синоним ИМХО)
--------------------------------------------
Однако нас интересует местоимение, тогда:

псевдокод:
Код:
List=SynonymInfo("Это").Item(1)
SynonymInfo(List.Where("Это")).[Part of Speech]
Видимо как то так. 2-ой List для VBA и соответственно двойной перебор я думаю это жёстко. Но вот такой вариант пока только вижу, мда))

Цитата:
А вот что делать, если у слова нет синонимов? Вернее, Word не знает, что они есть?
И такая проблема есть. Т.е. он в том числе и вообще может не знать о слове. Тогда полный разбор предложения. Но это когда нибудь. И не в VBA Пока же вот хоть часть определить хотелось бы.
----
Кстати альтерннативный вопрос и был, возможно ли определить WdPartOfSpeech
для слова, но на сколько я понял, нет. ИМХО только для синонимов этого слова. И вроде он больше ни где не используется.
Don't worry be happy

Последний раз редактировалось Izhic; 10.06.2009 в 23:44.
Izhic вне форума Ответить с цитированием
Старый 11.06.2009, 09:40   #4
viter.alex
Балуюсь кодами
Участник клуба
 
Аватар для viter.alex
 
Регистрация: 09.01.2009
Сообщений: 1,837
По умолчанию

А если пробовать брать синоним для синонима?
Т.е. берем слово, если для него есть синонимы, то перебираем все синонимы синонимов, чтобы найти исходное слово. Должно же оно быть синонимом своего синонима!
А уж для синонима мы знаем как определить часть речи.
Лучше день потерять — потом за пять минут долететь!©
viter.alex вне форума Ответить с цитированием
Старый 11.06.2009, 13:53   #5
Izhic
Форумчанин
 
Аватар для Izhic
 
Регистрация: 08.10.2008
Сообщений: 668
По умолчанию

viter.alex, да Вы подтверждаете мысль, которая написана в указаном Выше псевдокоде.
Поскольку других вариантов я не вижу, этот вариант видимо единственный.
В любом случае, спасибо, что поинтересовались этой проблемой.
Видимо таким способом и сделаю
Don't worry be happy

Последний раз редактировалось Izhic; 11.06.2009 в 14:05.
Izhic вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Vba определить количество вхождения строки S1 в строку S2 Berckyt Помощь студентам 4 17.08.2011 20:24
Определить язык текста средствами VBA Luckyrich Microsoft Office Word 4 30.05.2009 11:03
Как в VBA определить нижнюю границу базы данных Leanna Microsoft Office Excel 8 28.11.2008 18:45
Часть фона одним цветом а другая часть другим (без таблиц). Lanselot HTML и CSS 4 25.04.2008 18:41