Всi голосні
Редіт надихнув.
Вступ
Якщо порівнювати наприклад з анґлійською, то з українською тут начебто все простіше.
На перший погляд можна забути про різницю між наголошеними і ненаголошеними, а довготи взагалі немаʼ. Але частково, бо ненаголошені и та е мають однакову вимову як з мене і мине.
Проблема також настає, коли натикаємося на букви як і та ї, що можуть мати вимову як і чи и та йі чи йи відповідно. І це пишу не за алофон, як в слові індик проти индик, а про цілком собі синій і воїн, що за вимовою синьий і войин, де друге тотожнє за вимовою до воєн від війна.
Також дещо дошкуляє у, що може ставати півприголосним ў, насамперед в кривозапозичених словах з латини чи ґрецької, що зазвичай передається як в. Приберу їх зі списку вручну. Була подібна проблема з і ~ й, а саме з корнем іуд.
Але для початку всі ці миті упустимо. Тож матимемо пару ї ~ і, що не включає и.
Умови і ввід
Це нормальний звичний загальний іменник однини в називному відмінку під чинним державним правописом. Тож для вводу використав ВЕСУМ, що доступний на Github-і.
Мій код [на пайтоні] нижче.
import os, re, itertools
dictionary = open("out/dict_corp_lt.txt", "r") # ВЕСУМ
output = open("SoundCounter/output/all_vowels.txt", "w+")
ignore = { # https://github.com/brown-uk/dict_uk/blob/master/doc/tags.txt
"abbr",
"alt",
"bad",
"foreign",
"intj",
"p",
"prop",
}
vowels = [
["a", "я"],
["е", "є"],
["у", "ю"],
["і", "ї"],
["и"],
["о"]
]
found = list()
for line in dictionary.readlines():
word, _, tags = line.strip().split(" ")
tags = set(tags.split(":"))
if (
all(tag in tags for tag in ["noun", "v_naz"])
and not tags & ignore
and all(any(vowel in word for vowel in pair) for pair in vowels)
):
found.append(word)
found.sort(key=len)
groups = itertools.groupby(found, key=len)
for length, words in groups:
print(length, file=output)
for word in words:
print(f"{word}", file=output)
print(file=output)
print(len(found))
output.close()
dictionary.close()
Вивід
Знайдено щонайменше десь під 120 слів. Можна зазначити, що правило девʼятки добряче тут виручає, бо тоді слів було би значно менше — для наочности, позначив зіркою — десь під 30.
11
гемодилюція
екоситуація
12
євродискусія
кіноерудиція
лейкоцитурія
пресупозиція
суперпозиція
термодифузія
урединологія
уринотерапія
13
везикулотомія
взаємодифузія
метеоситуація
музикотерапія
психоедукація
худекспозиція
14
везикулографія
вестибулопатія
гемоциркуляція
електродифузія
життєрозуміння ★
нейрохірургиня ★
псевдодискусія
суперімпозиція
15
везикулоектомія
вентрикулотомія
вестибулометрія
відеоопитування ★
геопозиціювання
гіпометилування
деполітизування
депопуляризація
етномузикологія
євроконституція
звукопідсилення ★
нейростимуляція
орієнтувальниця ★
перелюбодійниця ★
радіопридушення ★
супердислокація
суперпропозиція
термоутилізація
16
вентрикулографія
вентрикулоскопія
вентрикулостомія
відеозаписування ★
дебюрократизація
етимологізування
невипромінювання ★
перепозиціювання
супермодификація
тепловимірювання ★
тріщиноутворення ★
цитофлуориметрія
17
антитілоутворення
вентрикулопункція
вільновідпущениця ★
геопозиціонування
гідрознепилювання ★
електростимуляція
енергодистрибуція
імунопреципітація
літературознавиця ★
мікрокредитування
псевдоаглютинація
псевдогалюцинація
псевдоконституція
секуляризованість
теплотягобудівник ★
урологінекологиня ★
18
архітектурознавиця ★
електровимірювання ★
електродистрибуція
літературознавчиня ★
перевипромінювання ★
перепозиціонування
підручникотворення ★
триболюмінесценція
україноненависниця ★
факоемульсифікація
19
гіперфосфорилювання
електротягобудівник ★
конституцієтворення
псевдорегуляризація
суперспецпропозиція
тепловипромінювання ★
уретеровезикостомія
20
біоелектростимулятор
біоелектростимуляція
вентрикулокавостомія
високомолекулярність ★
психонейроімунологія
радіотелевимірювання ★
телекардіостимулятор
21
вентрикулоатріостомія
вентрикулосептопексія
вентрикулоюгулостомія
деінституціоналізація
електровипромінювання ★
кристалолюмінесценція
22
вентрикулосцинтиграфія
електронейростимуляція
23
вентрикулоуретеростомія
електрокардіостимулятор
електрокардіостимуляція
24
вентрикуломастоїдостомія
вентрикулоцистерностомія
25
вентрикулоперитонеостомія