На входе текст в кодировке UTF-8 на русском языке, на выходе HTML с цветовой разметкой, где местоимения подсвечены (и можно расписать о них их форму в тултипе).
Может быть есть какие-нибудь опенсорсные программные библиотеки? Мне для Gentoo Linux.
Ну, местоимений не так много. Надо составить таблицу словоформ с цветом и текстовым описанием.
А потом заменяем слово на <span style="color: цвет_из_таблицы" title="описание_из_таблицы">слово</span>
Случаи омонимии («мой компьютер», но «мой машину») при разметке следует учитывать?
Цитата: Python от июля 10, 2024, 11:48Случаи омонимии («мой компьютер», но «мой машину») при разметке следует учитывать?
Можно интерактивный режим сделать. В сомнительных случаях программа спрашивает: обработать как местоимение или пропустить?
Приношу свои извинения за то, что я не точно сформулировал тему.
Я хочу не программу, а я хочу поговорить
про то, как можно было бы такую программу сделать.
Andrey Lukyanov (https://lingvoforum.net/index.php?action=profile;u=36062)
использовал несколько терминов, не объяснив их:
"слово", "словоформа".
Я и сам использовал слово "местоимение" не объяснив, что это такое. Одна из проблем в том,
что я не понимаю, что такое "местоимение". И это привело к ошибке.
Andrey Lukyanov предложил только раскрашивать и делать title.
Но если бы мы понимали, что такое местоимение, то могло оказаться, что
надо не только делать предложенное, но и выявлять
в предыдущем тексте группу существительного, которая была заменена местоимением.
А под местоимением вставлять гиперссылку - на что именно это местоимение показывает.
ЦитироватьМонтёра вызвали к начальнику цеха, но он (монтер или начальник цеха?) не явился.
Дальше,
Andrey Lukyanov предложил "сделать таблицу". Какие у этой таблицы должны быть колонки, почему такие, а не другие?
Например местоимение «меня́» - это родительный падеж, или винительный падеж? Как это определять?
Пользователь Python (https://lingvoforum.net/index.php?action=profile;u=1408) задал правильный вопрос про омонимию.
Наверное надо разбить разработку программы на этапы - сначала сделать то, потом следующее.
Конечно хотелось бы чтобы программа распознавала всё сама, максимально точно и максимально самостоятельно.
Я понимаю, что проблем будет много, и что их надо будет решать. Тема как раз и создана, чтобы об этом поговорить.
> Можно интерактивный режим сделать.
Это сложно. Это надо делать GUI, надо делать специальный редактор, который будет составлять и выводить список проблемных мест, навигироваться при выборе строки списка, подчёркивать места в тексте (кастомное рисование), в общем целая IDE, это годы работы.
Но можно, да.
Цитата: Пракл от июля 10, 2024, 13:18Andrey Lukyanov предложил только раскрашивать и делать title.
Но если бы мы понимали, что такое местоимение, то могло оказаться, что надо не только делать предложенное, но и выявлять в предыдущем тексте группу существительного, которая была заменена местоимением. А под местоимением вставлять гиперссылку - на что именно это местоимение показывает.
Это уже совсем другой уровень сложности программы. В сущности — полноценный парсер естественного языка.
Цитата: Пракл от июля 10, 2024, 13:18> Можно интерактивный режим сделать.
Это сложно. Это надо делать GUI
Интерактивный режим можно и в терминале сделать, безо всякого GUI.
Цитата: Andrey Lukyanov от июля 10, 2024, 14:49Интерактивный режим можно и в терминале сделать, безо всякого GUI.
Но пользоваться этим будет сложно, противно, и никто не станет.
Цитата: Andrey Lukyanov от июля 10, 2024, 14:49Это уже совсем другой уровень сложности программы. В сущности — полноценный парсер естественного языка.
А можно план работ, мол, вот то, это минимальный уровень сложности, вот это - посложнее, потом ещё пятое, а затем десятое?
Для начала давайте обсудим самое простое, что можно сделать. Сделаем, а потом продолжим. Вот вашу табличку предлагаю по-подробнее обсудить. Откуда и как возьмётся её контент (строки)?
Цитата: Пракл от июля 10, 2024, 15:09А можно план работ, мол, вот то, это минимальный уровень сложности, вот это - посложнее, потом ещё пятое, а затем десятое?
Для начала давайте обсудим самое простое, что можно сделать. Сделаем, а потом продолжим. Вот вашу табличку предлагаю по-подробнее обсудить. Откуда и как возьмётся её контент (строки)?
При таком подходе «табличка» превратится в полный словарь русского языка, с грамматическими характеристиками каждого слова. Возможно, где-то можно найти уже готовый такой словарь. Или можно утянуть данные из викисловаря. Далее, придётся писать алгоритм построения синтаксического дерева (что совсем не просто). И уже исходя из синтаксического дерева определять, к чему относится данное местоимение.
https://ru.wikipedia.org/wiki/Референциальный_выбор
Цитата: Andrey Lukyanov от июля 10, 2024, 15:18Возможно, где-то можно найти уже готовый такой словарь.
Я пришел на форум лингвистов, а не программистов. Поэтому это совсем не тот ответ, который я хотел бы увидеть.
Я бы хотел узнать, что местоимения изучает наука "местоимениелогия", что в России есть выдающиеся лингвисты, Мельчук, Зализняк, Падучева, Апресян, кто-нибудь-ещё, которые написали книгу "Местоимения, учебник для ВУЗов", и там в главе четыре полный список, что-то в таком духе.
UPD:
2018, Ермакова О.П., Местоимения в русском языке: учебное пособие
В пособии рассматривается местоимение как особая микросистема частей речи, параллельная основной и в значительной степени отражающая основную, но не тождественную ей. Анализируются особенности местоименной системы частей речи в сфере семантики, синтаксиса и стилистики. Особое внимание уделено взаимодействию двух систем, в частности процессу лексикализации местоименных слов и образованию составных местоимений за счет превращения ряда знаменательных слов в аффиксоиды.
Для студентов и магистрантов гуманитарных вузов.
Цитата: Пракл от июля 11, 2024, 08:12Я пришел на форум лингвистов, а не программистов.
Вы ошиблись. Это форум не лингвистов, а любителей лингвистики и разных языков (https://en.wiktionary.org/wiki/lingvo), и программистов (включая создателя форума) здесь больше, чем профессиональных лингвистов.
Цитата: Andrey Lukyanov от июля 10, 2024, 15:18утянуть данные из викисловаря
Как это сделать? Вот страница со списком:
https://ru.wiktionary.org/wiki/Категория:Русские_местоимения (https://ru.wiktionary.org/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%81%D1%82%D0%BE%D0%B8%D0%BC%D0%B5%D0%BD%D0%B8%D1%8F)
но на ней нет, например, местоимения "мой", которое приводилось в качестве примера выше в этой теме.
UPD: ещё викисловарь наслаждается шизофренией:
https://ru.wiktionary.org/wiki/меня (https://ru.wiktionary.org/wiki/%D0%BC%D0%B5%D0%BD%D1%8F)
https://ru.wiktionary.org/wiki/Меня (https://ru.wiktionary.org/wiki/%D0%9C%D0%B5%D0%BD%D1%8F)
первая страница про местоимение, вторая страница про существительное.
Цитата: Пракл от июля 11, 2024, 08:36Как это сделать? Вот страница со списком:
https://ru.wiktionary.org/wiki/Категория:Русские_местоимения (https://ru.wiktionary.org/wiki/%D0%9A%D0%B0%D1%82%D0%B5%D0%B3%D0%BE%D1%80%D0%B8%D1%8F:%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B5_%D0%BC%D0%B5%D1%81%D1%82%D0%BE%D0%B8%D0%BC%D0%B5%D0%BD%D0%B8%D1%8F)
но на ней нет, например, местоимения "мой", которое приводилось в качестве примера выше в этой теме.
«Мой» находится в подкатегории https://ru.wiktionary.org/wiki/Категория:Русские_притяжательные_местоимения
Дерево там такое, из категорий.
Цитата: Пракл от июля 11, 2024, 08:36UPD: ещё викисловарь наслаждается шизофренией:
https://ru.wiktionary.org/wiki/меня (https://ru.wiktionary.org/wiki/%D0%BC%D0%B5%D0%BD%D1%8F)
https://ru.wiktionary.org/wiki/Меня (https://ru.wiktionary.org/wiki/%D0%9C%D0%B5%D0%BD%D1%8F)
первая страница про местоимение, вторая страница про существительное.
Викисловарь различает написание с большой и с маленькой буквы.
Цитата: Python от июля 10, 2024, 11:48омонимии ... следует учитывать?
В книжке кроме омонимии ещё пишут про какой-то «синкретизм (https://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BD%D0%BA%D1%80%D0%B5%D1%82%D0%B8%D0%B7%D0%BC_(%D0%BB%D0%B8%D0%BD%D0%B3%D0%B2%D0%B8%D1%81%D1%82%D0%B8%D0%BA%D0%B0))»:
«Его приглашение было для всех неожиданным
(его — притяжательное, неизменяемое или родительный падеж от он)»
«местоименную систему частей речи нельзя считать закрытой,
потому что она активно пополняется составными местоимениями
кто угодно, что угодно, где угодно и др.; кто попало, где попало и др.»
Ага, не ждали? Следует ли из этого, что "простой табличкой" нельзя обойтись?
Цитата: Пракл от июля 11, 2024, 10:33«местоименную систему частей речи нельзя считать закрытой,
потому что она активно пополняется составными местоимениями
кто угодно, что угодно, где угодно и др.; кто попало, где попало и др.»
Ага, не ждали? Следует ли из этого, что "простой табличкой" нельзя обойтись?
Можно и простой табличкой обойтись. А можно компоновать разные сочетания «на лету».
В любом случае в программе будет только то, что вы в неё забьёте (если она не будет самообучающейся).
«в русской научной грамматике уже к 40-м годам XIX века
(см. труды Г. Павского, И.И. Давыдова, К.С. Аксакова)
был сформулирован вывод о том, что местоимение,
по большей части, не является заменительным словом,
не употребляется вместо имени» (ц)
2012, Чепасова А.М., Местоимения в современном русском языке. Учебное пособие (3-е издание), страница 7
В книге Чепасовой в конце есть список из 110 местоимений (ниже),
однако многие слова там для меня на местоимения не похожи.
Частота употребления местоимений среди других частей речи
(по данным Частотного словаря русского языка Л.Н. Засориной)
42854 в (во)
36266 и
19228 не
17262 на
13839 я
13307 быть
13185 что
13143 он
12975 с (со)
10719 а
7425 как
6940 это
6547 вы
6475 ты
6246 к (ко)
6220 мы
6061 этот
5836 она
5712 они
5176 но
5157 по
5102 весь
5048 за
4810 то
4752 все
4623 у
4598 из (изо)
4204 свой
4174 так
4156 о (об, обо)
4037 же
3968 который
3941 бы
3572 от (ото)
3373 мочь
3255 один
3254 для
3230 такой
2909 сказать
2881 тот
2830 вот
2782 только
2631 еще
2573 говорить
2506 наш
2397 да
2205 себя
2192 знать
2167 год
2136 его
2098 нет
2066 большой
2063 до
2042 когда
1937 уже
1929 если
1919 дело
1895 другой
1892 чтобы
1887 или
1861 сам
1856 время
1823 какой
1818 идти
1773 ну
1722 новый
1694 самый
1677 человек
1668 мой
1668 мой
1655 люди
1605 первый
1596 рука
1568 кто
1549 стать
1547 жизнь
1504 видеть
1484 под (подо)
1462 надо
1436 ни
1415 очень
1395 без (безо)
1345 день
1331 два
1324 более
1321 при
1299 даже
1295 хотеть
1230 раз
1218 видать
1210 сейчас
1206 теперь
1162 товарищ
1161 здесь
1160 ли
1144 должен
1137 советский
1105 там
1103 работа
1094 думать
1093 глаз
1084 страна
1074 земля
1074 ведь
1039 слово
1038 мир
1037 где
1031 свет
1027 пойти
1012 ваш
Частота употребления местоимений разных разрядов
(по данным Частотного словаря русского языка Л.Н. Засориной)
13839 я
13185 что
13143 он
6940 это
6547 вы
6475 ты
6220 мы
6061 этот
5836 она
5712 они
5102 весь
4810 то
4752 все
4204 свой
3968 который
3230 такой
2881 тот
2506 наш
2205 себя
2136 его
1861 сам
1823 какой
1694 самый
1668 мой
1568 кто
1012 ваш
992 каждый
899 ее
823 их
799 такое
714 чем
664 много
645 ничто
579 твой
543 всякий
522 оно
462 ничего
373 что-то
336 сколько
316 мало
294 иной
293 никакой
275 что-нибудь
208 сей
175 какой-нибудь
173 тем
157 кто-то
140 немного
136 всего
126 столько
123 нечего
99 немало
86 чей
68 настолько
60 таковой
59 кое-что
57 насколько
55 кой
53 кто-нибудь
47 чего
36 каков
31 чей-то
28 некий
25 таков
19 некто
18 сколько-нибудь
16 кое-кто
16 экий
15 ихний
15 что-либо
12 шо
10 це
Цитата: Andrey Lukyanov от июля 11, 2024, 11:29если она не будет самообучающейся
Если Вы не можете рассказать про местоимения, то вряд ли Вы сможете рассказать про теорию познания, научный метод и диалектику. Любой вопрос вызывает у Вас трудности, Вы не можете чётко предложить ни одного решения (предлагаете вместо решений "варианты"), только "может и так", "может и эдак". В то время как истина всегда конкретна.
Если Вы не можете рассказать про реализацию теории познания на нейрокортикальных колонках, то и поиск местоимений с обучением не расскажете как программировать. Максимум что Вы можете сказать: "смотрите нейросети". И это бесит, когда с самовлюблённым видом вещают всем известную информацию.
Цитата: Пракл от июля 11, 2024, 13:55Если Вы не можете рассказать про местоимения, то вряд ли Вы сможете рассказать про теорию познания, научный метод и диалектику. Любой вопрос вызывает у Вас трудности, Вы не можете чётко предложить ни одного решения (предлагаете вместо решений "варианты"), только "может и так", "может и эдак". В то время как истина всегда конкретна.
Если Вы не можете рассказать про реализацию теории познания на нейрокортикальных колонках, то и поиск местоимений с обучением не расскажете как программировать. Максимум что Вы можете сказать: "смотрите нейросети". И это бесит, когда с самовлюблённым видом вещают всем известную информацию.
А чего Вы хотели? Вы думали, что кто-то Вам напишет детальный алгоритм решения Вашей задачи? Общие идеи здесь могут подкинуть, а всё остальное — сами.
Цитата: Пракл от июля 11, 2024, 08:122018, Ермакова О.П., Местоимения в русском языке: учебное пособие
Цитата: Пракл от июля 11, 2024, 12:382012, Чепасова А.М., Местоимения в современном русском языке. Учебное пособие (3-е издание)
Из списков литературы в этих двух книжках выписал:
2010, Ермакова О.П., Существуют ли в русском языке отрицательные местоимения?
1998, Шведова Н.Ю. Местоимение и смысл.
1996, Ермакова О.П., Составные местоимения в русском языке
1996, Ермакова О.П., Местоимение какой-то
1991, Чуглов В.И., О классификации притяжательных местоимений
1989, Кузьмина С.М., Семантика и стилистика неопределенных местоимений
1989, Ермакова О.П., Семантика, грамматика и стилистическая дифференциация местоимений
1988, Селиверстова О.Н., Местоимения в языке и речи
1985, Гард П., Структура русского местоимения // Новое в зарубежной русистике.
1983, Николаева Т.М., Функциональная нагрузка неопределенных местоимений в русском языке и типология ситуаций
1981, Кобозева И.М., Опыт прагматического анализа -то и -нибудь местоимений
1974, Вольф Е.М., Грамматика и семантика местоимений
1972, Маловицкий Л.Я., Местоимения в лексико-семантической системе языка // Слово в лексико-семантической системе языка.
1940, Зарецкий А.И., О местоимении
Цитата: Andrey Lukyanov от июля 11, 2024, 14:29Вы думали, что кто-то Вам напишет детальный алгоритм решения Вашей задачи?
У самурая нет цели, только путь.
У меня нет задачи.
Но я вижу, что программ, работающих с русским языком, вокруг нет. И это удивительно.
Цитата: Пракл от июля 11, 2024, 14:35Но я вижу, что программ, работающих с русским языком, вокруг нет. И это удивительно.
Переводчики, синтезаторы речи, спелчекеры — не работают с русским языком?
Цитата: Andrey Lukyanov от июля 11, 2024, 14:52Переводчики, синтезаторы речи, спелчекеры — не работают с русским языком?
Переводчик у нас один, который разрабатывал Мельчук (ЭТАП-3), и потом технология пошла в яндекс. Всё остальное - это иностранные технологии, которыми не владеют российские программисты. И не опенсорс, как правило.
Считается, что при разработке технической документации чем меньше местоимений, тем лучше. Спросил простую утилиту. И всё, вся экспертиза сразу закончилась.
Глядя на литературу можно сказать, что бо́льшая её часть из СССР, была создана в докомпьютерную эпоху, и не отражает потребности компьютерных лингвистов.
Цитата: Пракл от июля 11, 2024, 15:09Считается, что при разработке технической документации чем меньше местоимений, тем лучше. Спросил простую утилиту.
Что значит «простую»?
Если Вам нужно приблизительно оценить количество местоимений в тексте — то это действительно несложно. Составляете список нужных словоформ и смотрите, сколько раз они встречаются в тексте. На омонимы можно особо не обращать внимания.
А если Вы хотите к каждому местоимению привесить ссылку на то слово, которое оно замещает — то это очень даже не просто.
Цитата: Andrey Lukyanov от июля 11, 2024, 15:27это очень даже не просто
Разве я где-то спорил с тем, что это непросто? Вы уже второй раз об этом говорите, что сказать-то хотите? Хотите самоутвердить своё ЧСВ, мол насколько Вы лучше понимаете сложность, не то что тот, который тупые вопросы задаёт?
В идеале мне надо чтобы программа не только нашла, на что местоимения ссылаются, но и сама всё позаменяла. Подготовила, так сказать, сразу идеальный результат. А подсвечивать надо как раз для того, чтобы человеки перепроверили в интерактивном режиме.
«Личные местоимения, входящие в древнейший словарный фонд всех
языков мира и известные каждому говорящему на естественном языке с младенческих лет, тем не менее, до сих пор являются одной из самых «загадочных» частей речи, будучи трудно доступными для исчерпывающей и непротиворечивой научной интерпретации.» (ц)
2022, Гранева Ирина Юрьевна, Русские личные местоимения в свете интегрального описания языка
Всё, расходимся, у учёных нет исчерпывающей теории.
Цитата: Пракл от июля 11, 2024, 13:37В книге Чепасовой в конце есть список из 110 местоимений
Там что, так и написано: «Список из 110 местоимений»⁈
Или всё же «Частота употребления местоимений
среди других частей речи»?
Может, именно поэтому
Цитата: Пракл от июля 11, 2024, 13:37однако многие слова там для меня на местоимения не похожи.
Прежде чем интересоваться термином «местоимение», поинтересуйтесь термином «reading comprehension (https://en.wikipedia.org/wiki/Reading_comprehension)».
Там два приложения. Чуть позже я и второе скопировал.
У Вас-то самих как с этим компрехеншеном?
У меня новая мысль. Тут выше кто-то утверждал, что чтобы всё разметить, нужно иметь словарь размером с весь языковой запас. Но:
во-первых, двести тысяч слов это не сказать чтобы много;
во-вторых, грузить надо не все из них, а только те, которые есть в тексте.
И нет тут ничего такого, что остановило бы от подвигов.
Цитата: Пракл от июля 11, 2024, 18:31Тут выше кто-то утверждал, что чтобы всё разметить, нужно иметь словарь размером с весь языковой запас. Но:
во-первых, двести тысяч слов это не сказать чтобы много;
во-вторых, грузить надо не все из них, а только те, которые есть в тексте.
Надо же, как совпадает:
Цитата: В итоге, в метапарсере я использовал словарь, взяв за основу базу с http://aot.ru. К счастью, формат словаря оказался понятным. Кроме того, я нашел его черновое описание, и в итоге, мне удалось сконвертировать его для удобного распознавания изнутри lua. Фактически, за пару недель, решение проблемы склонений было найдено! Словарь в UTF-8 кодировке занимает около 8МБ и для повышения скорости и снижения объемов игры был выбран путь компиляции словаря для конкретной игры. В итоге, получаемый словарь был очень маленьким и быстрым, так как содержал только то, что нужно.
Цитата: Пракл от июля 11, 2024, 15:09Всё остальное - это иностранные технологии, которыми не владеют российские программисты. И не опенсорс, как правило.
Цитата: INSTEAD3 METAPARSER MODULE
This program is covered by the terms of the MIT license.
Check the COPYING file for license.
https://instead.hugeping.ru/page/metaparser/
Местоимения этот морфологический парсер русского текста тоже прекрасно распознаёт.
Осталось допилить вывод грамматической информации — и вуаля!
Оно мне обязательно чем-нибудь не подойдёт.
> изнутри lua
О! Вот!
В чём проблема выучить синтаксис Lua за недельку?
Тем более работает он всё равно внутри программы с отличной графической оболочкой (всё же на ней обычно игры запускают).
Цитата: Bhudh от июля 11, 2024, 18:40Местоимения этот морфологический парсер русского текста тоже прекрасно распознаёт.
Может он их просто игнорирует.
Цитата: Bhudh от июля 11, 2024, 18:40выучить синтаксис Lua за недельку?
Неделек мало, а извращенческих языков много. И синтаксисом там дело не обойдётся, ещё надо будет выучить семантику и прагматику. И больше недельки уйдёт.
Лучше бы дали ссылку на описание формата того файла:
https://raw.githubusercontent.com/instead-hub/metaparser/master/morph/morphs.mrd
UPD:
https://pymorphy.readthedocs.io/en/v0.5.4/ref/Morph_UNIX.html#mrd-file