powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Выборка уникальный значений
20 сообщений из 20, страница 1 из 1
Выборка уникальный значений
    #39360180
Алексей Шм.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!
Пытаюсь из некоторого толстого doc-файла, в котором имеются табличные данные для упрощения некторых задач создать БД. Только таблицы эти создавались разными людьми, соответственно и заполняли их по своему усмотрению. Что-то унифицировать сейчас не представляется возможным. Объясню на кошках и иных братьях наших меньших: допустим, в ячейках встречаются такие записи: "кошка, собака, попугай" или "собака, хомяк, канарейка". Эти значения могут повторяться во многих строках. Путем выборки и разбивки строк на подстроки по запятой, получаю уникальные значения для каждой животины ("кошка", "собака", "попугай" и пр.). Но некоторые товарищи заполняли таблицу так: "кошкИ, собакИ" или еще хуже : "собаки дворовые, породистые, кошка". То есть в таблице уникальных животных будут записи: собака, собаки. И если с этим еще как-то можно мириться, то вот разбив последнюю запись по запятой как разделителю, в числе животных появляется некое "породистые", что совсем ни в какие ворота. Не могу придумать, как научить алгоритм понимать, где заканчиваются "собаки породистые" и начинается "кошка". Буду благодарен за помощь.
...
Рейтинг: 0 / 0
Выборка уникальный значений
    #39360191
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вручную, вручную...
...
Рейтинг: 0 / 0
Выборка уникальный значений
    #39360252
AndreyTarasov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Шм.Здравствуйте!
.....
Не могу придумать, как научить алгоритм понимать, где заканчиваются "собаки породистые" и начинается "кошка". Буду благодарен за помощь.

Ну если в строке встречается последовательность "собак" - то значит нашел собаку, если нашел последовательность "кошк" - то кошку.... разве не очевидно?

чтобы было проще искать - сразу преобразуй к примеру в нижний регистр все...
также можешь наступить на мину с буквой "с", ибо она находится на месте латинской "с", а ленивые люди, увидев что печатают не в той раскладке - стирают только неверные символы и дальше дописывают текст, получается слово из кириллицы с первым латинским символом.
...
Рейтинг: 0 / 0
Выборка уникальный значений
    #39360266
Алексей Шм.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreyTarasovАлексей Шм.Здравствуйте!
.....
Не могу придумать, как научить алгоритм понимать, где заканчиваются "собаки породистые" и начинается "кошка". Буду благодарен за помощь.

Ну если в строке встречается последовательность "собак" - то значит нашел собаку, если нашел последовательность "кошк" - то кошку.... разве не очевидно?

чтобы было проще искать - сразу преобразуй к примеру в нижний регистр все...
также можешь наступить на мину с буквой "с", ибо она находится на месте латинской "с", а ленивые люди, увидев что печатают не в той раскладке - стирают только неверные символы и дальше дописывают текст, получается слово из кириллицы с первым латинским символом.

Это как раз таки очевидно, поэтому и написал, что собакИ не так страшно. А вот как из строки "собаки дворовые, породистые, кошка" получить "собаки дворовые", "собаки породистые", "кошка"?
Сдается, что только
AkinaВручную, вручную...
...
Рейтинг: 0 / 0
Выборка уникальный значений
    #39360276
Алексей Шм.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну или хотя бы "собаки дворовые, породистые" и "кошка". Как на регулярках выразиться, что "породистые" относится к собакам, а кошка - уже другое животное. Дело в том, что я заранее не знаю, какие еще будут записи далее по таблице.
Как вариант - выбрать все уникальные с разделителем по запятой и потом смотреть в списке косячные..
...
Рейтинг: 0 / 0
Выборка уникальный значений
    #39360278
AndreyTarasov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Шм.Это как раз таки очевидно, поэтому и написал, что собакИ не так страшно. А вот как из строки "собаки дворовые, породистые, кошка" получить "собаки дворовые", "собаки породистые", "кошка"?


ии??? в чем проблема-то?? ну ищи по основному и дополнительному признаку, если основной признак у тебя делится на разделы..

1 колонка = Собака(найденное ключевое слово)
2 колонка = Собаки дворовые(полный текст, для детального изучения)

либо внятно озвуч проблемы :-)
...
Рейтинг: 0 / 0
Выборка уникальный значений
    #39360286
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreyTarasovАлексей Шм.А вот как из строки "собаки дворовые, породистые, кошка" получить "собаки дворовые", "собаки породистые", "кошка"?

либо внятно озвуч проблемы :-)
ИМХУ внятно написано.
...
Рейтинг: 0 / 0
Выборка уникальный значений
    #39360294
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Шм.Как вариант - выбрать все уникальные с разделителем по запятой и потом смотреть в списке косячные..
Как вариант: в первый проход составить словарь косячных слов (руками), во второй проход при встрече слова из словаря добавлять начало от предыдущего.
...
Рейтинг: 0 / 0
Выборка уникальный значений
    #39360300
AndreyTarasov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TAndreyTarasovпропущено...

либо внятно озвуч проблемы :-)
ИМХУ внятно написано.

Абсолютно непонятно.. что надо найти??? всех собак и отделить от кошек?
или найти всех собак и разделить их по категориям, а потом тоже самое с кошками?

если первое - то второстепенные признаки абсолютно не важны и на них смотреть не стоит, хоть дворовые, хоть породистые и т.п.
а если второе - то никто не мешает сделать 2 таблицы и делить найденное по разделам, определяя каждые раздел по сллову определителю - но это автор не озвучил, по этому и проблема не известна.
...
Рейтинг: 0 / 0
Выборка уникальный значений
    #39360305
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сначала сделайте первичный разбор и сформируйте словарь. Причём сразу предусмотрите 2 поля - токен в списке и токен в словаре. Вручную обработайте его, для начала просто подкорректируйте очевидные варианты. Это уже даст формализацию значительной части массива. А на втором этапе уже обрабатывайте и "ословаривайте" те выпендроны, которые встречаются в единственном или около того экземпляре.
В итоге получите двухэтапную таблитцу преобразования, которая может использоваться для автоматического преобразования "кривого" списка в нормальный.
...
Рейтинг: 0 / 0
Выборка уникальный значений
    #39360324
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Применительно к приведённому примеру:

"кошка, собака, попугай"
"собака, хомяк, канарейка"
"кошки, собаки"
"собаки дворовые, породистые, кошка"

таблица преобразования получится такой:

Исх. токен Кон. токенсобаки дворовые, породистые собака породистаясобаки дворовые, породистые собака двороваяканарейкаканарейкапопугайпопугайсобакасобакасобакисобакахомяк хомяккошкакошкакошкикошка

Таблица формируется (или, во всяком случае, обрабатывается) в порядке уменьшения длины токена.
...
Рейтинг: 0 / 0
Выборка уникальный значений
    #39360387
Алексей Шм.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем за участие!
AkinaПрименительно к приведённому примеру:
.
В том и проблема, что не могу сформировать исходный список. Представляете такую строку, в одной ячейке:
"Собаки дворовые, породистые , кошка, попугай волнистый, желтый, синий, рыбки аквариумные, речные, гуппи, медведь бурый, гималайский"
Таких строк тысячи с разным содержимым .
Если я выберу уникальные значения с разделителем по запятой, получу:
- Собаки дворовые
- породистые
- кошка
-попугай волнистый
-желтый
-синий
-рыбки аквариумные
- речные
- гуппи
-медведь бурый
- Гималайский
То есть массив как бы "животных". В итоге придётся все равно в исходной сроке между животными в ручную ставить иной разделитель.
...
Рейтинг: 0 / 0
Выборка уникальный значений
    #39360407
AndreyTarasov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Шм.,

Тогда обрати внимание на окончание слов.... просто выбери прилагательные :-) остальные слова станут ключевыми. Ну и далее уже манипуляции с запятыми
...
Рейтинг: 0 / 0
Выборка уникальный значений
    #39360418
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Шм., если в реальности также соблюдается формат
"существительное"
"существительное прилагательное"
"прилагательное"

Т.е. всегда первое существительное, тогда к прилагательному подставлять предыдущее существительное.

Тут можно попробовать окончания разбирать и предсказывать существительное это или прилагательное.
Но 100% не предскажешь, например: "Железо, Алюминий"
...
Рейтинг: 0 / 0
Выборка уникальный значений
    #39360464
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей Шм."Собаки дворовые, породистые , кошка, попугай волнистый, желтый, синий, рыбки аквариумные, речные, гуппи, медведь бурый, гималайский"
Таких строк тысячи с разным содержимым .
Если я выберу уникальные значения с разделителем по запятой, получу:
- Собаки дворовые
- породистые
- кошка
-попугай волнистый
-желтый
-синий
-рыбки аквариумные
- речные
- гуппи
-медведь бурый
- ГималайскийДа, представляю.
После первого этапа ты получишь указанный список. Обработаешь его и пометишь к дальнейшей ручной обработке токены:
- породистые
-желтый
-синий
- речные
- Гималайский
Соответственно при ручной обработке ты выполнишь сшивку с предыдущим токеном, получая составные токены.

А кто сказал, что будет легко?
...
Рейтинг: 0 / 0
Выборка уникальный значений
    #39360521
AndreyTarasov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T.....
окончания разбирать и предсказывать существительное это или прилагательное.
Но 100% не предскажешь, например: "Железо, Алюминий"

"Алюминий" не подходит под прилагательное :-)
не могу припомнить (видимо из-за непрерывного, админского пьянства) прилагательное оканчивающиеся на "ний"
разве что "ихний" и "синий" :-))

я вот как-то делал определитель пола в программе для учебного заведения... - если отчество оканчивалось на "а" - то это девочка
...
Рейтинг: 0 / 0
Выборка уникальный значений
    #39360536
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AndreyTarasov"Алюминий" не подходит под прилагательное :-)
не могу припомнить (видимо из-за непрерывного, админского пьянства) прилагательное оканчивающиеся на "ний"
разве что "ихний" и "синий" :-))
В гугле поискать не пробовал?
Слова с окончанием Ий
...
Рейтинг: 0 / 0
Выборка уникальный значений
    #39360550
AndreyTarasov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TВ гугле поискать не пробовал?
Слова с окончанием Ий

Не пробовал :-)
ну и не "ий", а "ний".... хотя тоже есть результаты, но к животным их сложно отнести :-)
...
Рейтинг: 0 / 0
Выборка уникальный значений
    #39360551
AndreyTarasov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T Слова с окончанием Ий

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


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