Вопрос по Hunspell — префиксы и суффиксы в слове

Автор dziglo, 16 сентября 2023, 12:07

0 Пользователи и 1 гость просматривают эту тему.

dziglo

Добрый день. Вопрос не совсем в формате LibreOffice-OpenOffice, но здесь уже поднимались вопросы по Hunspell и на форуме есть люди, разбирающиеся в теме.

Как можно в Hunspell'е указать, что к этому слову можно присоединить либо префиксы, либо суффиксы. То есть нельзя использовать префикс и суффикс одновременно. Для наглядности пример.

Допустим в aff-файле:

PFX P Y 2
PFX P 0 la
PFX P 0 ma

SFX A Y 1
SFX A 0 zon


А в dic-файле:
adal/PA

В этом случае Hunspell будет генерировать такие варианты:
adal
adalzon
laadalzon
laadal
maadalzon
maadal


Но варианты, где у слова и префикс и суффикс одновременно — некорректны (в моем случае; для моей орфографии).

То есть корректны такие варианты:
adal
adalzon
laadal
maadal


И некорректны такие:
laadalzon
maadalzon


Видимо, можно в dic-файле два раза прописать слово adal:
adal/P
adal/A

А можно ли сделать так, чтобы слово писалось в файле один раз?

gabix

В приведённой ситуации попробовать просто поменять параметры сочетаемости Y на N. Если нужно что-то более сложное, не знаю.

dziglo

Цитата: gabix от 18 сентября 2023, 10:29В приведённой ситуации попробовать просто поменять параметры сочетаемости Y на N. Если нужно что-то более сложное, не знаю.

Вы не могли бы написать пример. Я не совсем понял вашу мысль.

gabix


dziglo

Цитата: gabix от 18 сентября 2023, 12:24Вместо
PFX P Y 2
PFX P N 2, например.

Но PFX P Y 2
Y — это спецсимвол, обозначающий, что в этом флаге столько-то правил (в данном случае два)

gabix

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

dziglo

#6
Вы не могли бы подсказать, как с помощью командной строки вывести все словоформы конкретного слова в dic-файле?

gabix

Для раскрытия всех словоформ используется
unmunch файл_словаря файл_аффиксов
Ну а для отдельной словоформы, не знаю, типа перенаправить в grep:

unmunch файл_словаря файл_аффиксов | grep корень

dziglo

Цитата: gabix от  3 октября 2023, 10:15Для раскрытия всех словоформ используется
unmunch файл_словаря файл_аффиксов
Ну а для отдельной словоформы, не знаю, типа перенаправить в grep:

unmunch файл_словаря файл_аффиксов | grep корень

unmunch файл_словаря файл_аффиксов
Словоформы начались выводиться в таком виде на экран:



Попробовал такую команду:
unmunch dic-файл aff-файл >word.txt

В word.txt было записано огромное количество непонятно откуда взявшихся словоформ. У меня из aff-файла они не выводятся.

А эту команду я не совсем понял как использовать:
unmunch файл_словаря файл_аффиксов | grep корень

gabix

Очевидно кодировка файла (UTF-8?) отличается от системной по умолчанию, её надо прописать явно:

unmunch файл_словаря файл_аффиксов -i UTF-8
Цитата: dziglo от  3 октября 2023, 12:25А эту команду я не совсем понял как использовать:

Использовать именно так, как указано. Проблема в том, что у Вас Windows, в которой grep отсутствует. Ну, почитайте вот это, например:

https://www.howtogeek.com/devops/whats-the-best-grep-alternative-on-windows/

Более конкретно подсказать не могу.

sokol92

Владимир.