powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / работа с текстом
25 сообщений из 51, страница 2 из 3
работа с текстом
    #38580257
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть неиспользующие словари в явном виде алгоритмы стемминга наподобие Snowball
http://snowball.tartarus.org/algorithms/russian/stemmer.html
Но они решают другую задачу. Может это как-то поможет автору или натолкнёт его
на мысли.
...
Рейтинг: 0 / 0
работа с текстом
    #38580280
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton, а можно поподробнее? что это такое и какие задачи обычно решает? По ссылки сходил, но где это можно применить в мирных целях, не понял.
...
Рейтинг: 0 / 0
работа с текстом
    #38580298
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В поисковых системах используется. Когда текст индексируется - все слова в нём проходят
фазы обработки. Удаляются стоп-слова (междометия, союзы). Оставшиеся идут на обработку
процессу стемминга. После этого они идут в текстовый индекс (могу ошибаться но так
должны работать Sphinx, Lucene e.t.c.).
...
Рейтинг: 0 / 0
работа с текстом
    #38581256
luziferaza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev,

Задача абсолютно четкая и понятная. Необходимо их просто найти-выделить-узнать количество.


mayton
это не часть технического проекта. Можно сказать задачка из сборника. Есть текст и с ним необходимо провести некоторые операции. Например, выяснить число слов, посчитать существительные, сколько раз употребляется Я или Ты и тому подобные. Но дело в том, что если все остальные задания более-менее связаны друг с другом и реализовать их удалось, то к чему было задано это задание я понятия не имею. И уж как его корректно сделать тем более...

Посчитаю по окончаниям. Пусть погрешность, да и ладно...
...
Рейтинг: 0 / 0
работа с текстом
    #38581266
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
luziferazaПосчитаю по окончаниям. Пусть погрешность, да и ладно...
Это нормально. Будет прогрешность. Пример с "Косил косой..." тебе приводили как лингвистический парадокс.
...
Рейтинг: 0 / 0
работа с текстом
    #38581316
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только как выделить "окончание", мне крайне интересно. Без списка корней слов (словаря).

На данной страницы фраза:
"В поисковых системах используется..."
поисковая - прилагательное
система - существительное

и то и другое заканчивается на "х" )))

Не претендую на знания русского языка. Но блин, задания не для программиста. а для "филолога - теоретика - мат стат вероятностного анализа" ))) по такому заданию. можно не только кандидатскую, но и докторскую диссертацию защитить. IMHO

во-пе́р-вых - наречие
передых - существительное (по версии викисловаря)

Все таки random будет точнее )))
...
Рейтинг: 0 / 0
работа с текстом
    #38581321
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
luziferazaЗадача абсолютно четкая и понятная. Необходимо их просто найти-выделить-узнать количество....
абсолютно - Наречие
Необходимо - Предикатив
просто - Наречие, также предикатив, союз, частица;
количество - существительное

Все заканчивается на "о".

абсолютно - Корень: -абсолют-; суффикс: -н; окончание: -о.
просто - Корень: -прост-; суффикс: -о.
количество - Корень: -колич-; суффикс: -еств; окончание: -о.
...
Рейтинг: 0 / 0
работа с текстом
    #38581405
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по ссылки Snowball уверяют:

на -но оканчиваются verb (глаголы) /и follow by "a"/
на -о оканчиваются noun (существительные)

Можно посмотреть слова оканчивающиеся на -но. Существительных из них не мало:

гальвано
пиано
фортепиано - сущ.
рано
сопрано - сущь
гуано - сущь
...

Все же, я за RANDOM
...
Рейтинг: 0 / 0
работа с текстом
    #38581431
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevВсе же, я за RANDOM
Будет вам. Неконструктивно-же...
...
Рейтинг: 0 / 0
работа с текстом
    #38581454
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonБудет вам. Неконструктивно-же...
Дык в чем неконстрктивно?

По буквам в конце слова, определить принадлежность к части речи можно только +/- километр

А накапливать статистику использования окончаний слов в различном контексте - тянет на докторскую дисертацию для филолога.

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

Вот Вы предложили ориентировать на окончания (не в лингвистическом значении слова), приведите пример ссылки, где было бы написано, с какой вероятностью окончание соотносится с той или иной частью речи. Я уже не говорю, про специфические тексты. Я уже не говорю, что собственно таблица окончаний + вероятность == словарь.

С данной задачей практически сталкивался, разбор текста. Но мне нужен быть _практический_ результат, а не сделать бессмысленное задание. Практический результат без оператора или без словаря - получить не удалось.

Видел опыт реализацию нечеткого поиска у одного из моих коллег в учетной системе. Я изначально относился скиптически. По итогам эксплуатации, пользователи, насколько я знаю, так же попросили отключить. Т.к. мусора от данного нечеткого поиска было больше, чем пользы.
...
Рейтинг: 0 / 0
работа с текстом
    #38581484
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevmaytonБудет вам. Неконструктивно-же...
Дык в чем неконстрктивно?

По буквам в конце слова, определить принадлежность к части речи можно только +/- километр
Можно и так. Эта система выдаёт вероятностный ответ так-же как
и Newral Networks, Fuzyy Logic e.t.c.

Просто твой совет с random- предполагает что ты вообще ничего не знаешь,
и говоришь что это 50% слово существительное и 50% нет. А я говорю что
Если на 1000 слов заканчивающихся на "-но" мы нашли 750 существительных
то я могу утверждать что наша система выдаёт вероятностный ответ.
Я говорю - это слово существительное с вероятностью 75%.

А перемножая эти вероятности или комбинируя их с другими признаками
(как формулах Байеса) напр "положение слова в предложении" или
совокупность этого слова с другими рядом мы можем поднять эту вероятносять
для трех-сигмовой зоны 97%. К примеру.

Вот это Fuzzy Logic брат.
...
Рейтинг: 0 / 0
работа с текстом
    #38581609
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
luziferazaэто не часть технического проекта. Можно сказать задачка из сборника. Есть текст и с ним необходимо провести некоторые операции. Например, выяснить число слов, посчитать существительные, сколько раз употребляется Я или Ты и тому подобные. а в этом сбрнике точно не пользуется какая-нибудь програмная библиотека? Вполне может существовать некий програмный модуль Х, который выделяет кол-во существительньх одной командой (не обязательно правильное количество, конечно), и о котором здесь никто не знает?

а так, вот например Список наиболее употребляемых существительных русского языка (14842 слова)
т.е. сканировать не обязательно ;)
...
Рейтинг: 0 / 0
работа с текстом
    #38581799
Фотография S.G.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonВот это Fuzzy Logic брат... а в конце концов может оказаться, что в любом относительно большом (скажем, более полстранички) тексте, на русском языке, процент существительных - константа.
И определяя общее кол-во слов, мы сразу узнаем кол-во существительных.
...
Рейтинг: 0 / 0
работа с текстом
    #38581923
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм...

Стеммер в действии. За основу взял Java-library http://snowball.tartarus.org/download.php.
Если посмотреть содержимое библиотеки то можно увидеть что "Снежный Ком" поддерживает
не только киррилицу но и порядка 15 европейских языков.

В данном примере я ограничил действие стеммера диапазоном символов 0x0400..0x04FF.
Успех обработки - лексемы ограниченные квадратными скобками.

Оригинальный текст:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
          Лев Николаевич Толстой. Война и мир. Том 1

            * ЧАСТЬ ПЕРВАЯ. * 

            I.

               -- Еh bien, mon prince. Gênes et Lucques ne sont plus que des apanages,
          des поместья, de la famille Buonaparte.  Non, je  vous préviens, que si vous
          ne  me dites pas, que nous avons la guerre, si vous vous permettez encore de
          pallier  toutes les infamies, toutes les  atrocités  de cet  Antichrist  (ma
          parole, j'y  crois) -- je  ne  vous  connais plus, vous n'êtes plus mon ami,
          vous n'êtes  plus  мой  верный  раб,  comme  vous  dites.  [1]  Ну,
          здравствуйте, здравствуйте.  Je vois  que  je  vous fais  peur, [2]
          садитесь и рассказывайте.
               Так говорила в июле 1805 года известная Анна Павловна Шерер, фрейлина и
          приближенная  императрицы  Марии  Феодоровны,  встречая важного и  чиновного
          князя  Василия,  первого  приехавшего  на  ее вечер. Анна  Павловна  кашляла
          несколько  дней, у  нее был грипп, как она говорила (грипп  был тогда  новое
          слово, употреблявшееся только  редкими).  В записочках, разосланных  утром с
          красным лакеем, было написано без различия во всех:
               "Si vous n'avez rien de mieux à faire, M. le comte (или mon prince), et
          si la perspective de passer la soirée chez une pauvre malade ne vous effraye
          pas  trop,  je serai charmée de vous  voir chez moi  entre 7 et  10  heures.
          Annette Scherer".[3]
               -- Dieu, quelle virulente sortie [4] -- отвечал,  нисколько не
          смутясь  такою встречей, вошедший  князь,  в  придворном, шитом  мундире,  в
          чулках,  башмаках,  при  звездах,  с  светлым выражением плоского  лица.  Он
          говорил на том изысканном французском языке, на  котором не только говорили,
          но и  думали  наши  деды, и с теми тихими, покровительственными интонациями,
          которые  свойственны  состаревшемуся  в  свете  и  при  дворе  значительному
          человеку. Он подошел к Анне  Павловне, поцеловал ее руку,  подставив ей свою
          надушенную и сияющую лысину, и покойно уселся на диване.
               -- Avant tout  dites moi, comment vous  allez, chère amie? [5]
          Успокойте друга, -- сказал он,  не  изменяя голоса и тоном, в котором  из-за
          приличия и участия просвечивало равнодушие и даже насмешка.
               -- Как можно быть здоровой... когда  нравственно страдаешь? Разве можно
          оставаться спокойною в наше время, когда есть у человека чувство? -- сказала
          Анна Павловна. -- Вы весь вечер у меня, надеюсь?


После обработки.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
            [Лев] [Николаевич] [Толст]. [Войн] [и] [мир]. [Том] 1

            * [ЧАСТЬ] [ПЕРВАЯ]. * 

            I.
          
               -- [Е]h bien, mon prince. Gênes et Lucques ne sont plus que des apanages,
          des [помест], de la famille Buonaparte.  Non, je  vous préviens, que si vous
          ne  me dites pas, que nous avons la guerre, si vous vous permettez encore de
          pallier  toutes les infamies, toutes les  atrocités  de cet  Antichrist  (ma
          parole, j'y  crois) -- je  ne  vous  connais plus, vous n'êtes plus mon ami,
          vous n'êtes  plus  [мо]  [верн]  [раб],  comme  vous  dites.  [1]  [Ну],
          [здравств], [здравств].  Je vois  que  je  vous fais  peur, [2]
          [сад] [и] [рассказыва].
               [Так] [говор] [в] [июл] 1805 [год] [известн] [Анна] [Павловн] [Шерер], [фрейлин] [и]
          [приближен]  [императриц]  [Мар]  [Феодоровн],  [встреч] [важн] [и]  [чиновн]
          [княз]  [Васил],  [перв]  [приеха]  [на]  [е] [вечер]. [Анна]  [Павловн]  [кашля]
          [нескольк]  [дне], [у]  [не] [был] [грипп], [как] [он] [говор] ([грипп]  [был] [тогд]  [нов]
          [слов], [употребля] [тольк]  [редк]).  [В] [записочк], [разосла]  [утр] [с]
          [красн] [лаке], [был] [написа] [без] [различ] [во] [всех]:
               "Si vous n'avez rien de mieux à faire, M. le comte ([ил] mon prince), et
          si la perspective de passer la soirée chez une pauvre malade ne vous effraye
          pas  trop,  je serai charmée de vous  voir chez moi  entre 7 et  10  heures.
          Annette Scherer".[3]
               -- Dieu, quelle virulente sortie [4] -- [отвеча],  [нискольк] [не]
          [смут]  [так] [встреч], [вошедш]  [княз],  [в]  [придворн], [шит]  [мундир],  [в]
          [чулк],  [башмак],  [при]  [звезд],  [с]  [светл] [выражен] [плоск]  [лиц].  [Он]
          [говор] [на] [том] [изыска] [французск] [язык], [на]  [котор] [не] [тольк] [говор],
          [но] [и]  [дума]  [наш]  [дед], [и] [с] [тем] [тих], [покровительствен] [интонац],
          [котор]  [свойствен]  [состаревш]  [в]  [свет]  [и]  [при]  [двор]  [значительн]
          [человек]. [Он] [подошел] [к] [Анне]  [Павловн], [поцелова] [е] [рук],  [подстав] [е] [сво]
          [надушен] [и] [сия] [лысин], [и] [покойн] [усел] [на] [диван].
               -- Avant tout  dites moi, comment vous  allez, chère amie? [5]
          [Успокойт] [друг], -- [сказа] [он],  [не]  [измен] [голос] [и] [тон], [в] [котор]  [из]-[за]
          [прилич] [и] [участ] [просвечива] [равнодуш] [и] [даж] [насмешк].
               -- [Как] [можн] [быт] [здоров]... [когд]  [нравствен] [страда]? [Разв] [можн]
          [остава] [спокойн] [в] [наш] [врем], [когд] [ест] [у] [человек] [чувств]? -- [сказа]
          [Анна] [Павловн]. -- [Вы] [ве] [вечер] [у] [мен], [над]?
...
Рейтинг: 0 / 0
работа с текстом
    #38583079
luziferaza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
S.G.,

да я бы рада использовать. Более того даже знаю как, но по условиям задания использовать можно только язык программирования(который итак знают три калеки). Очень все печально в общем выходит...
...
Рейтинг: 0 / 0
работа с текстом
    #38583129
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

mayton...поднять эту вероятносять для трех-сигмовой зоны 97%...

Я так и написал, докторская диссертация для филолога мат стат веростностного анализа )))

Мне в прикладной жизни обычно нужно 100% или, на худой конец, 99.9999% детерминированный результат (0,001 процент отнесем на случай выключили электричество, сервер полег).

Самый первый мой разбор текстов - сопоставление справочников абонентов по адресам из двух баз биллинга начислений за услуги для крупных пром. предприятий )))) в 90-х годах суммы миллиардами исчислялись. Боюсь пару лярдов туда, пару сюда - на трех-сигмовую зону не свалишь )))

Следующая задача была для полиграфии. Там тоже. Эротические фантазии в стили +/- километр ответственный редактор не приветствовал. В книжке Выше, Ваш покорный слуга идет под графой - верстка, его жена - автор указателей. )))
...
Рейтинг: 0 / 0
работа с текстом
    #38583136
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonПосле обработки.
...[Так] [говор] [в] [июл] 1805 [год] [известн] [Анна] [Павловн] [Шерер], [фрейлин] [и]
[приближен] [императриц]....
А где здесь задача автора? Определить существительные.

Видим более-менее почищенный от окончаний текст. К исходной задаче никакого отношения не имеет.

Мало того, может мне одному только кажется, что по обработанному тексту "определить существительные" даже и человек уже с трудом сможет ))).
...
Рейтинг: 0 / 0
работа с текстом
    #38583145
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
luziferazaда я бы рада использовать. Более того даже знаю как, но по условиям задания использовать можно только язык программирования(который итак знают три калеки). Очень все печально в общем выходит...
Все таки, что за задание такое странное? Откуда и для чего?
...
Рейтинг: 0 / 0
работа с текстом
    #38583154
luziferaza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev,

олимпиадное задание не для реального проекта, я думаю, а на проверку склада ума. Хотя тоже не совсем понятно какого-такого ума ну раз уж не я одна им задалась, то вот похожая темка
http://www.sql.ru/forum/1081754/poisk-sushhestvitelnogo
...
Рейтинг: 0 / 0
работа с текстом
    #38583179
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevmaytonПосле обработки.
...[Так] [говор] [в] [июл] 1805 [год] [известн] [Анна] [Павловн] [Шерер], [фрейлин] [и]
[приближен] [императриц]....
А где здесь задача автора? Определить существительные.

Видим более-менее почищенный от окончаний текст. К исходной задаче никакого отношения не имеет.

Мало того, может мне одному только кажется, что по обработанному тексту "определить существительные" даже и человек уже с трудом сможет ))).
Да нет здесь никаких существительных. Я выше писал что это может
быть натолкнёт автора на какие-то мысли. Анализ суффиксов и окончаний.
В целом даже snowball содержит зашитые справочники прямо в код.

Что считать справочником а что нет - вопрос философский.

Но решать эту задачу в вакууме - без знания об особенностях
словообразования для custom языка - невозможно IMHO.
...
Рейтинг: 0 / 0
работа с текстом
    #38583192
luziferaza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
всем спасибо за ответы и участие!

Организаторы таки решили, что не удастся решить без библиотек и разрешили вызывать всё, что ни попадя
...
Рейтинг: 0 / 0
работа с текстом
    #38583207
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну с учетом слов Cache, База Данных, то загруженный справочник существительных самое то.

Я бы грузил справочник в именительном падеже (+род), потом добавлял вероятные варианты слова для различных падежей + множительное число в этих падежах. Получившийся мусоро-справочник с большей долей вероятности покроет все возможные формы употребления существительного. Дальше, каким образом в синтаксисе конкретной СУБД наиболее элегантно распарсить по словам и сравнить слова со справочником. IMHO.

Значительно более база-данных решение, чем вызов какого-то кода и/или внешних exe.

В принципе, задача не сильно тривиальная. В том числе с точки зрения структуры БД. IMHO
...
Рейтинг: 0 / 0
работа с текстом
    #38583216
luziferaza
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev,

ну вот. Раскрыли все мои карты можно сказать :) у меня уже готов и парсер и подсчет слов и выделение, так что пойду немножко менее времязатратным способом, но суть оставлю такую же... спасибо!
...
Рейтинг: 0 / 0
работа с текстом
    #38585311
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм... интересно. В библиотеке Lucene нет универсального стеммера.

По состоянию на текущий момент для Lucene 4.7.0
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
ArmenianStemmer.class
BasqueStemmer.class
CatalanStemmer.class
DanishStemmer.class
DutchStemmer.class
EnglishStemmer.class
FinnishStemmer.class
FrenchStemmer.class
German2Stemmer.class
GermanStemmer.class
HungarianStemmer.class
IrishStemmer.class
ItalianStemmer.class
KpStemmer.class
LovinsStemmer.class
NorwegianStemmer.class
PorterStemmer.class
PortugueseStemmer.class
RomanianStemmer.class
RussianStemmer.class
SpanishStemmer.class
SwedishStemmer.class
TurkishStemmer.class



Я вот неспроста взял Войну и Мир старого бородатого толстяка. Дело в том что начиная с первых глав
(в соответствии с модой 18-19 ст.) главные герои-дворяне говорят на русском, немецком и французском.

Для анализа каждого документа Lucene предлагает создавать экземпляр Analyzer изначально 1 заданного
языка (RussianAnalyzer, FrenchAnalyzer). Меня это не устраивает т.к. текст "Войны" - смешанный и содержит
в себе много языков и как следствие анализатор русского языка не совсем корректно обходится с словами
французскими. Он их оставляет как есть. Или правильнее сказать делает простое разделение по SPACERS.

Вобщем есть идея создать MultiLanguageAnalyzer. По сути - объединить существующие.

Трудность - для каждого отдельного слова состоящего из Latin трудно дать 100% классификацию языка.
Слова надо анализировать в контексте предложения.
...
Рейтинг: 0 / 0
работа с текстом
    #38585530
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton...Трудность - для каждого отдельного слова состоящего из Latin трудно дать 100% классификацию языка.
Слова надо анализировать в контексте предложения.
А не "из Latin" трудностей нет?

Панимаешь дарагой, на кириллице не только в Рассии пишут
...
Рейтинг: 0 / 0
25 сообщений из 51, страница 2 из 3
Форумы / Программирование [игнор отключен] [закрыт для гостей] / работа с текстом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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