powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Синонимы и антонимы в базе
20 сообщений из 20, страница 1 из 1
Синонимы и антонимы в базе
    #35995103
Persio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не могу придумать струкуту базы.

Работаю на MS Access 2007. Есть таблица слов и их значений. Некоторые слова вступают в синонимические и антонимические ряды. Поэтому нужны прицеленные запросы, которые бы делали выборку и составляли список синонимов (для конкретных слов) и список антонимов (для конкретных слов).

Подводные камни:
- выборка синонимов не должна включать в себя термин-запрос;
- в один синонимический ряд (слова со схожим значением) равно как в один антонимический ряд (слова с противоположным значением) может вступать от двух до семи слов;
- любое слово в синонимическом ряду - синоним к любому другому: S1 = S2, S2 = S3, S1 = S3.
- если в антонимическом ряду более двух слов, то ряд из слов может быть синонимами по отношению друг к другу S1 <-> S2, S1 <-> S3, S2 = S3.
- в антонимическом ряду может быть несколько рядов синонимов...
...
Рейтинг: 0 / 0
Синонимы и антонимы в базе
    #35995790
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Persio- в один синонимический ряд (слова со схожим значением) равно как в один антонимический ряд (слова с противоположным значением) может вступать от двух до семи слов;

Я бы сказал: синонимов у слова может быть сколько угодно.

У слова могут быть антоним - один или несколько. Если антонимов несколько, то они синонимы между собой. Верно?

Persio- если в антонимическом ряду более двух слов, то ряд из слов может быть синонимами по отношению друг к другу S1 <-> S2, S1 <-> S3, S2 = S3.

Что значит - может быть? А что, может и не быть?

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

Не понятно. Пример?
...
Рейтинг: 0 / 0
Синонимы и антонимы в базе
    #35995933
Persio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cane Cat FisherЯ бы сказал: синонимов у слова может быть сколько угодно.

Мне нравится эта корректировка.

Cane Cat FisherУ слова могут быть антоним - один или несколько. Если антонимов несколько, то они синонимы между собой. Верно?

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

- черный и белый - 2 слова в ряду, антонимы;
- монолог , диалог (разговор двух людей), полилог (разговор более 3х людей) - каждое из слов имеет антонимами два оставшиеся, ни одно из слов не является синонимом какому-либо другому слову из ряда;
- (1) материнский язык, родной язык, первый язык ; (2) иностранный язык, неродной язык, второй язык - первые три слова и последние три слова составляют два синонимических ряда, противопоставленных друг другу.

Вооот...

Есть таблица синонимов, в которой обозначен номер ряда и номер слова в ряду. То есть, по идее, можно делать выборку из таблицы антонимов, исключая слова на основе таблицы синонимов. Идея есть, но вот как воплотить - ума не приложу.
...
Рейтинг: 0 / 0
Синонимы и антонимы в базе
    #35996935
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat FisherУ слова могут быть антоним - один или несколько. Если антонимов несколько, то они синонимы между собой. Верно?Нет.
Слово - "сладкий".
Антонимы - "горький", "соленый", "противный" не являются синонимами друг другу.
...
Рейтинг: 0 / 0
Синонимы и антонимы в базе
    #35997387
474
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Persioнужны прицеленные запросы, которые бы делали выборку и составляли список синонимов (для конкретных слов) и список антонимов (для конкретных слов).

Так нужно просто для одного конкретного слова получить либо:
а) список синонимов из имеющихся в словаре слов?
б) список антонимов из имеющихся в словаре слов?

Если так, то мне кажется, все перечисленные подводные камни ни к чему и только сбивают с толку.
...
Рейтинг: 0 / 0
Синонимы и антонимы в базе
    #35997466
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Persio- любое слово в синонимическом ряду - синоним к любому другому: S1 = S2, S2 = S3, S1 = S3.Так не бывает. В синонимическом ряду должна быть доминанта, от которой все строится. Кстати, как вы ее определять собираетесь - исходное слово?

За Аксесс сочувствую, будет сложно. В большинстве нормальных СУБД есть рекурсивные запросы, вот там длиной рядов рулить очень просто.
...
Рейтинг: 0 / 0
Синонимы и антонимы в базе
    #35998125
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ennor Tiegael В синонимическом ряду должна быть доминанта, от которой все строится.

Продолжаем уточнение. А зачем доминанта? разве в синонимическом ряду слова не равнозначны? Разве может быть так, что А синоним Б, и А синоним С, но В и С - не синонимы?
...
Рейтинг: 0 / 0
Синонимы и антонимы в базе
    #35998473
Фотография Ennor Tiegael
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat Fisher,

Да я, собственно, всего лишь исходил из определения:http://www.lingvotech.com/synrowВ составе синонимического ряда выделяется какое-то одно слово, семантически максимально емкое и стилистически нейтральное (не имеющее дополнительных стилистических характеристик). Оно становится основным, стержневым, опорным, нередко называемым доминантой. В приводимом выше ряду таким будет слово возбуждать. Остальные слова, кроме основного значения «приводить в состояние нервного напряжения, подъема», выражают дополнительные семантико-стилистические оттенки основного значения, выражаемого доминантой.Кроме того, чисто логически: если два слова имеют совершенно идентичное значение, то одно из них вскорости исчезнет из употребления, за ненадобностью. Если же синонимы существуют длительное время, значит, их смысл все-таки не совсем идентичен друг другу.

Реально, конечно, все зависит исключительно от того, насколько глубоко топикстартер готов копать предметную область...
...
Рейтинг: 0 / 0
Синонимы и антонимы в базе
    #35998664
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мда.

Красная девица - синоним "Красивая". Красная Армия - ?
...
Рейтинг: 0 / 0
Синонимы и антонимы в базе
    #35998698
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Короче говоря:

Код: plaintext
1.
2.
CREATE TABLE Words
   Word_ID INT PRIMARY KEY
   Word_Value VARCHAR

Код: plaintext
1.
2.
CREATE TABLE Synonyms
   Word_ID_1  INT FK Words
   Word_ID_2   INT FK Words

Код: plaintext
1.
2.
CREATE TABLE Antonyms
   Word_ID_1  INT FK Words
   Word_ID_2  INT FK Words

Синонимами и антонимами являются только те пары слов, которые указаны явно.

Единственное надежное предположение, за которое я пока еще цепляюсь - если А синоним В, то В - синоним А. Если А антоним В, то В - антоним А.
...
Рейтинг: 0 / 0
Синонимы и антонимы в базе
    #35998740
Фотография DeColo®es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cane Cat FisherРазве может быть так, что А синоним Б, и А синоним С, но В и С - не синонимы?Может. Поскольку синонимы это разные слова со сходным, но необязательно на 100% идентичым значением.

Те же "красная" и "красивая".
Синоним слова "красный" - "бордовый".
Вряд ли девица обрадуется, если назвать ее "бордовой". ;)
...
Рейтинг: 0 / 0
Синонимы и антонимы в базе
    #35999094
Persio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Друзья, спасибо за уточнения. Попробую их снять некоторые возражения/уточнения/сомнения. Насчет Access - это просто данность, думаю, и в рамках этой программы задачу решить можно.

DeColo®esТе же "красная" и "красивая".
Синоним слова "красный" - "бордовый".
Вряд ли девица обрадуется, если назвать ее "бордовой". ;)
Вопрос о "красный", "красивый" и "бордовый" снимается просто: в рамках слова выделяются значения, соответственно один ряд будет красный/красивый , другой - красный/бордовый .

474Так нужно просто для одного конкретного слова получить либо:
а) список синонимов из имеющихся в словаре слов?
б) список антонимов из имеющихся в словаре слов?
Да. Список синонимов/антонимов для конкретного слова. Само слово в этот список входить не должно.

Ennor TiegaelТак не бывает. В синонимическом ряду должна быть доминанта, от которой все строится. Кстати, как вы ее определять собираетесь - исходное слово?
Доминанта в синонимическом ряду есть, и это важно при построении словаря синонимов. В моем случае степень выраженности общего признака не столь важна. Она снимается комментрариями внутри соответствующих статей и пометами. Мне важны список схожих по значению слов и список противоположных по значению слов.

Cane Cat FisherЕдинственное надежное предположение, за которое я пока еще цепляюсь - если А синоним В, то В - синоним А. Если А антоним В, то В - антоним А.
Да, это надежное предположение. И в этой связи вопрос о таблицах Words, Synonyms и Antonyms. Правильно я понимаю, что в последних двух таблицах для ID слова приводятся IDы соответстующих синонимов и антонимов? Если так, то данные надо многократно перепроверять на предмет добавления новых слов в соответствующие ряды.

Мне кажется можно сделать так: Word, SynonymsRowId, SynonymId в таблице синонимов и Word, AntonymsRowId, AntonymId в таблице антонимов. Word - это слово. SynonymsRowId и AntonymsRowId - это номер синонимического/атонимического ряда. SynonymId и AntonymId - это номера слов в соответствующих рядах. Добавление нового слова приводит лишь к тому, что ряд расширяется (не нужно вносить данные о нем в записи уже имеющихся в базе слов). И тогда возникает вопрос, как привязать таблицы Synonyms и Antonyms к таблице Word?
...
Рейтинг: 0 / 0
Синонимы и антонимы в базе
    #35999321
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Persio,

Тогда давайте моделировать ряды.

Код: plaintext
1.
2.
CREATE TABLE Words
   Word_ID INT PRIMARY KEY
   Word_Value VARCHAR

Код: plaintext
1.
2.
СREATE TABLE SynonymRows
  SynonymRow_ID INT PRIMARY KEY
  SynonymRow_Notes TEXT

С
Код: plaintext
1.
2.
3.
REATE TABLE SynonymRowWords
  SynonymRow_ID INT   FK   SynonymRows
  Word_ID_Main            FK   Words
  Word_ID_Synonym      FK   Words

аналогично ряды антоннимов.

Пример заполнения:



Words1 Красный2 Красивый3 Привлекательный4 Советский5 Социалистический6 Большевистский

SynonymRows1 По красоте2 По политическому признаку

SynonymRowWords:SynonymRow_ID Word_ID_Main Word_ID_Synonym выборка1 1 2 Красный=Красивый (По красоте)1 1 3 Красный=Привлекательный (По красоте)2 1 4 Красный=Советский (По политическому признаку)2 1 5 Красный=Социалистический (По политическому признаку)2 1 6 Красный=Большевистский (По политическому признаку)
...
Рейтинг: 0 / 0
Синонимы и антонимы в базе
    #35999501
Persio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Давайте моделировать, да.

Мысль с тремя таблицами мне нравится, более чем. Только одно в ней смущает: Word_ID_Main и Word_ID_Synonym - по сути перевеннутые данные содержат. В Вашем примере
Красивый, Привлекательный, Советский, Социалистический, Большевистский
будут иметь для колонки Word_ID_Main номера от 2 до 6 (соответственно), а Word_ID_Synonym будет равен 1. Или же не будет дублирования? Тогда вопрос, как быть с поиском синонимов для всех слов кроме красный .

Как результат запроса на выборку мне третья таблица нравится. Думаю, так оно и должно быть. Но вот до конца склеить не могу :(
...
Рейтинг: 0 / 0
Синонимы и антонимы в базе
    #36000180
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Persio,

Мы выяснили ранее, что единственное твердое допущение в отношении синонимов = это симметричность пар: если Красный=Большевистский, то Большевистский=Красный (По политическому признаку). Но если Красный = Советский и Красный=Социалистический, то Советский вовсе не синоним Социалистическому - это разные вещи - орган правления (советы народных депутатов) и общественный строй (социализм). То есть отношение синонимичности нетранзитивно.

Это и выражает структура таблиц.

Для поиска синонимов любому слову по этим таблицам нужно использовать условие

WHERE SynonymRowWords.Word_ID_Main = %Word_ID% OR SynonymRowWords.Word_ID_Synonym = %Word_ID%, то есть запись в SynonymRowWords представляет собой симметричную пару, и все равно, где упомянуто слово - в Main или Synonym.

Для слова "Красный" таким запросом будут найдены все перечисленные слова, а для слова "Социалистический" - только "Красный". Такое поведение ожидалось?

Давайте типовые запросы, которые нужно получить, будем смотреть.
...
Рейтинг: 0 / 0
Синонимы и антонимы в базе
    #36000900
Persio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cane Cat Fisher,
спасибо большущее за вариант построения базы. Отчасти, опираясь на нее, сделал-таки выборку синонинов. С антонимами - буду думать.

Что сделал я:
Во-первых, для каждого значения слова был создан маркер - %article-name% (типа красныйII2в ).
Во-вторых, создана таблица синонимов, в которой каждому %synonyms% присваивался %row-id% (id синономического ряда).
В-третьих, сделан запрос, в котором %article-name% из первой таблицы связывалось с %row-id% из второй.
В-четвертых, сделан запрос, в котором %article-name% (из запроса) связывалось с %synonyms% из второй таблицы, при этом запрос на выборку запрещал совпадение двух полей.

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

Этот вариант представляется мне более гибким, поскольку в нем список слов в синонимическом ряду может быть бесконечно большим.
...
Рейтинг: 0 / 0
Синонимы и антонимы в базе
    #36000944
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я вот вчера за ужином подумал, что даже симметричность синонимов в общем случае под сомнением.

Вот, к примеру, была Красная Армия, а стала Советская Армия. Если кто-то скажет, что в годы Гражданской войны "Советская Армия" сделала то-то и то-то, это будет грубый ляп - тогда армия называлась Красной, про Советскую не слыхивали. Но в то же время, если современное войско назвать "герои-красноармейцы", то может быть это и не будет юридически точно, но как художественно-публицистическое высказывание вполне покатит.

Так что "Красная=Советская" синонимично только в одну сторону.
...
Рейтинг: 0 / 0
Синонимы и антонимы в базе
    #36000948
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Persioдля каждого значения слова был создан маркер - %article-name% (типа красныйII2в )

Надеюсь, Вы все же не слепили слово и обозначение варианта значения в одном поле. Гибкость гибкостью, а первую нормальную форму нарушать нельзя.
...
Рейтинг: 0 / 0
Синонимы и антонимы в базе
    #36001252
Persio
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Cane Cat Fisher,
синоним не может быть однонаправленным. Синонимия - это отношения двух и более значений слов, не вектор. Т.е. когда Вы говорите о случае с "Красной Армией" и "Советской Армией" - вы говорите об одном из значений слова красный . Иными словами, связка идет не прямо слова со словом, а значения со значением. У меня эти компоненты лежат отдельно, да.
...
Рейтинг: 0 / 0
Синонимы и антонимы в базе
    #36002076
Cane Cat Fisher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Persio
синоним не может быть однонаправленным

Я тоже так думаю. Вместо бегемота всегда можно подставить гиппотомама, а вместо гиппотомама - бегемота. Но вот вместо Советской армии можно сказать Красная, а вместо Красной-Советская - не всегда.

Впрочем, похоже, дело в том, что понятие "можно подставить вместо" не обязательно означает синонимичность. Вот, например, вместо "сосновый" всегда можно сказать "деревянный", а вместо "деревянный" - "сосновый" - нет.
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Синонимы и антонимы в базе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]