|
|
|
Разделы страницы о результатах статистических исследований надписей обоих сторон Фестского диска:
Частота появления знаков: 19-18-17-15-12- 11-11-11-11- 7- 6-6-6-6-6-6- 5-5-5- 4-4-4-4-4-4- 3-3-3- 2-2-2-2-2-2-2-2- 1-1-1-1-1-1-1-1-1.
Подсчитаем количество знаков (на каждой из сторон и вместе) и их позиций. Начало и конец слов пока будем определять от края к центру. Фразами будем считать строфы и блоки слов, выделенные в тексте.
Знаки в дублированной строфе VI не будут учитываться. Знаки в двойных строках (A-29. A-31) и в повторяющихся словах - будут.
Если знак будет стоять в начале слова - укажем также конечный знак, если в конце - укажем начальный. Также сделаем и для знаков в начале и конце фраз (укажем, соответственно, знаки в конце и начале фраз).
Двойные знаки не представлены в этой таблице, т.к. из на ограниченном тексте ФД мало. Это знаки: 24 (дворец - PA?) - 1 раз, 27 (шкура) - по разу в 2 одинаковых словах, 29 (кошка - MA?) - 1 раз. Но мы их обязательно сравним с удвоенными знаками в других эгейских письменностях.
№ | Знак | Кол-во | Начало слова | Конец слова | Начало фразы | Конец фразы | Знаки слева | Знаки справа | Заметки |
1 (Л). Люди | |||||||||
01 |
![]() |
11 (6/5) | Не редок на A и B | ||||||
02 |
![]() |
19 (14/5) | Много на A, мало на B | ||||||
03 |
![]() |
2 (2/0) | Мало, и только на A | ||||||
04 |
![]() |
1 (1/0) | Единичный, только на A | ||||||
05 |
![]() |
1 (1/0) | Единичный, только на A | ||||||
06 |
![]() |
4 (2/2) | Мало на обоих | ||||||
2 (О). Одежда | |||||||||
07 |
![]() |
18 (3/15) | Много на B, мало на A | ||||||
08 |
![]() |
5 (1/4) | Мало, и больше на B | ||||||
09 |
![]() |
2 (0/2) | Мало, и только на B | ||||||
3 (Б). Оружие | |||||||||
10 |
![]() |
4 (4/0) | Мало, и только на A | ||||||
11 |
![]() |
1 (1/0) | Единичный, только на A | ||||||
12 |
![]() |
16 (14/2) | Много на A, мало на B | ||||||
13 |
![]() |
6 (3/3) | Мало на обоих | ||||||
14 |
![]() |
2 (1/1) | Мало на обоих | ||||||
15 |
![]() |
1 (0/1) | Единичный, только на B | ||||||
16 |
![]() |
2 (0/2) | Мало, и только на B | ||||||
17 |
![]() |
1 (1/0) | Единичный, только на A | ||||||
4 (У). Утварь | |||||||||
18 |
![]() |
11 (5/6) | Не редок на A и B | ||||||
19 |
![]() |
3 (3/0) | Мало, и только на A | ||||||
20 |
![]() |
1 (0/1) | Единичный, только на B | ||||||
21 |
![]() |
2 (2/0) | Мало, и только на A | ||||||
-22 |
![]() |
5 (0/5) | Только на B. Только в конце. Постфикс. Вариант 19? |
||||||
23 |
![]() |
9 (3/6) | Больше на B | ||||||
5 (С). Строения | |||||||||
24 |
![]() |
6 (1/5) | Мало, в основном на B | ||||||
25 |
![]() |
6 (1/5) | Мало, в основном на B | ||||||
6 (Ж). Животные и части их тела | |||||||||
26 |
![]() |
5 (4/1) | Мало, в основном на A | ||||||
27 |
![]() |
14 (9/5) | Не редок, больше на A | ||||||
28 |
![]() |
1 (1/0) | Единичный, только на A | ||||||
29 |
![]() |
11 (3/8) | Больше на B, мало на A | ||||||
30 |
![]() |
1 (0/1) | Единичный, только на B | ||||||
31 |
![]() |
4 (4/0) | Мало, и только на A | ||||||
32 |
![]() |
3 (2/1) | Мало | ||||||
33 |
![]() |
6 (2/4) | Мало, больше на B | ||||||
34 |
![]() |
3 (1/2) | Мало | ||||||
7 (Р). Растения | |||||||||
35 |
![]() |
11 (5/6) | Не редок, больше на B | ||||||
36 |
![]() |
4 (0/4) | Мало, и только на B | ||||||
37 |
![]() |
4 (2/2) | Мало | ||||||
38 |
![]() |
4 (3/1) | Мало, больше на A | ||||||
39 |
![]() |
4 (1/3) | Мало, больше на B | ||||||
8 (Д). Другие предметы | |||||||||
40 |
![]() |
6 (3/3) | Мало | ||||||
41 |
![]() |
2 (2/0) | Мало, и только на A | ||||||
42 |
![]() |
1 (0/1) | Единичный, только на B | ||||||
43 |
![]() |
1 (0/1) | Единичный, только на B | ||||||
44 |
![]() |
2 (1/1) | Мало | ||||||
45 |
![]() |
6 (2/4) | Мало, больше на B |
Итак, самые частые знаки здесь (9):
02 (19),
07
(18),
27
(14),
12
(16),
01
(11),
18
(11),
29
(11),
35
(11),
23
(9).
Другие по распространенности (тоже 9):
13 (6),
24
(6),
25
(6),
33
(6),
40
(6),
45
(6),
08
(5),
22
(5),
26
(5),
Будем использовать их для поиска похожих сигнатур из самых частых знаков других эгейских письменностей.
Если предположить, что текст ФД - билингва, то будет полезна статистика по односторонним знакам (порядок частотный):
Оба массива примерно одинаковы - возможно, это разные знаки для одной группы слогов (т.е., как если бы 2 текста писались на одном языке, но разными алфавитами).
Ряд знаков диска из Феста снабжается на краю слова с чёрточкой, которая может быть "вирамом" - означать неогласовку слогового знака, т.е., чтобы он передавал одну согласную. Такими знаками являютя 01 (возможно), 05, 07, 08, 18, 26, 35, 38 (возможно), 43. Прежде всего, такие обозначения нужны в конце слога (и слова), если в языке имеются закрытые слоги. Но они могут быть и в начале слова, например, для таких приставок как pro-, pre-... Но тогда почему их нет и в середине слова? А, может быть, черточка передает ударение или интонацию (вопрос)? Если же эти вирамы используются только с определенными частями речи, то они могут быть маркерами конца или другой части предложения. В любом случае, полезно будет выяснить сочетаемость знаков с вирамами.
№ | Знак | Кол-во | Начало слова | Конец слова | Начало фразы | Конец фразы | Знаки слева | Знаки справа | Заметки |
01 |
![]() |
11 (6/5) | Не редок на A и B | ||||||
05 |
![]() |
1 (1/0) | Единичный, только на A | ||||||
07 |
![]() |
18 (3/15) | Много на B, мало на A | ||||||
08 |
![]() |
5 (1/4) | Мало, и больше на B | ||||||
18 |
![]() |
? | ? | ||||||
26 |
![]() |
5 (4/1) | Мало, в основном на A | ||||||
35 |
![]() |
11 (5/6) | Не редок, больше на B | ||||||
38 |
![]() |
4 (3/1) | Мало, больше на A | ||||||
43 |
![]() |
1 (0/1) | Единичный, только на B |
Префиксами (приставками, а также предлогами, проклитиками, предартиклями и др. предчастицами и предсловами, например, союзами, титулами и определителями) в тексте Диска, вероятно, являются 07`*, 12*, 18, 21, 24, 27*, 33, 35, 43`. Причём, 07 и 43 - вирамные знаки (обозначены обратным апострофом, а звездочкой - еще и постфиксы).
При анализе сочетаемости вирамных знаков выявлены следующие префиксы (с разной степенью вероятности): 02(??), 07(!), 15-07(??), 16(??), 22(!), 23(?), 27, 29(!), 41(?). [Здесь количество вопросительных знаков выражают степень неясности, а восклицательных - определённости.] Посему 07 и 27 подтверждаются в статусе приставок, а 22 и 29* (корень и голова кошки [ma-, gu-/ku-, li-/ri-/di- ?]) добавляются к ним. Не слишком ли обширный список приставок или это предлоги? Или читать следует, все-таки, наоборот - и тогда это постфиксы и энклитики?
Постфиксами (суффиксами, окончаниями, послелогами, энклитиками, постартиклями и др. постморфемами и постлексемами, в т.ч. союзами, титулами и детерминативами) в тексте Диска, возможно, являются 02, 07*, 12*, 23 [или 22?], 27*, 29, 41. Из них 07, 12, 27 являются также префиксами (обозначены звёздочками).
При анализе сочетаемости вирамных знаков выявлены следующие постфиксы (с разной степенью вероятности): 05(??), 08(??), 12, 24(??), 35, 39-33(??), 43(??). Значит, окончание 12 подтверждается.
В кипро-минойских надписях выявлены некоторые характерные повторяющиеся элементы слов (морфемы?), в том числе инициальные и финальные элементы слов.
Некоторые грамматические особенности этеокипрского языка:
Морфологические показатели выявлены на материале хорошо опознаваемых древнегреческих имён с этеокипрскими (падежными?) окончаниями,
а также при сравнении слов, различающихся одним или двумя конечными слоговыми знаками.
Ряд окончаний (например, -(n)o-ti) встречаются довольно часто в разных контекстах.
Также необходимо сравнить аффиксальную систему ФД с таковой у этрусского языка.
Синтагмы представлены последовательностью знаков при чтении диска из середины к краю.
№ | Подстрока | Количество | Знаки-соседи | Синтагмы-соседи | |||||
в кодах | в знаках | на A | на B | общее | слева | справа | слева (в т.ч. префиксы) |
справа (в т.ч. постфиксы) |
|
1 | 07-45 (глагол?) |
![]() ![]() |
1 + 1* = 2 | 3 + 1* = 4 | 6 | 12-, 35- | -07, -27, -29 | ||
2 | 01-13 (глагол?) |
![]() ![]() |
3 | 2 | 5 | 18, 33-39? | -07-15?, -12-02 | ||
3 | 18-23 (глагол??) |
![]() ![]() |
2 | 2 | 4 | 43 | -07, 10, 16 | ||
4 | 25-27 |
![]() ![]() |
1 | 1 | 2 | 01-38?, 10 | -02 | ||
5 | 40-24 (глагол?) |
![]() ![]() |
1 | 1 | 2 | 12-, 35- | -07 | ||
6 | -07-40 |
![]() ![]() |
1 | 1 | 2 | -22, -41-01? | |||
7 | 26-31 (глагол?) |
![]() ![]() |
2 + 3* = 5 | 5 | 12-, 35- | -12-02 | |||
8 | 35-19 |
![]() ![]() |
1 + 1* = 2 | 2 | 23, -41 | ||||
9 | 18-06 (глагол?) |
![]() ![]() |
2 | 2 | 19-17 | -12-02 | |||
10 | 38-03-10 |
![]() ![]() ![]() |
2 | 2 | |||||
11 | 08-07-36-29 |
![]() ![]() ![]() ![]() |
1 + 2* = 3 | 3 | -22 | ||||
12 | 25-23-34 (глагол?) |
![]() ![]() ![]() |
2 | 2 | -27, -29 | ||||
13 | 35-06 |
![]() ![]() |
2 | 2 | 07-23?, 32 | -02 | |||
14 | 33-39 |
![]() ![]() |
2 | 2 | 01-13?, 32 |
Отсюда достоверно можно выделить
Префиксов мало, а ведь в индоевропрейских языках много и предлогов и глагольных префиксов. Впрочем, глагольные префиксы, например, в греческом языке, довольно длинные. А предлоги могли появится позднее - даже в латинском многое из пространственных значений выражалось падежами. Т.н. здесь "префиксы" могут быть артиклями или местоимениями - типа "мой", "твой" перед именами или "я", "ты" перед глаголами.
Можно предположить, что синтагмы с префиксами 12 и 35 - отдельный грамматический класс слов, например, глаголы. Соответственно, к этому классу будут отнесены и синтагмы с постфиксами 07, 12-02, 27, 29.
На основе приведенного выше морфологического анализа текстов Фестского диска составляем комбинационная таблицу его аффиксов и корней:
Префиксы и постфиксы |
воин- | щит- | гонец- | шкура- | кошка- | жезл- |
-угольник | . | . | . | . | . | . |
-пятилистник | . | . | . | . | . | . |
-щит | . | . | . | . | . | . |
-шкура | . | . | . | . | . | . |
-гонец | . | . | . | . | . | . |
-жезл | . | . | . | . | . | . |
В 2006 году автором сайта была разработана простейшая программа на MS Visual Basic for Access для подсчета подстрок в тексте. Вот протокол ее работы:
Текст, подготовленный для анализа (сторона A) / Prepared Text (Side A): 02-12-27-45-07-12 27-44-08 02-12-31-26-35 02-12-41-19-35 01-41-40-07 02-12 32-23-38 39-11 02-27-25-10-23-18 28-01 02-12-31-26 02-12-27-27-35-37-21 33-23 02-12-31-26 02-27-25-10-23-18 28-01 02-12-31-26 02-12-27-14-32-18-27 06-18-17-19 31-26-12 02-12-13-01 23-19-35 10-03-38 02-12-27-27-35-37-21 13-01 10-03-38 Статистика повтора подстрок / Substring Statistics: * Длина подстрок / Substring Length: 46 02-27-25-10-23-18 28-01 02-12-31-26 02-12-27-: 2 * Длина подстрок / Substring Length: 22 02-12-27-27-35-37-21 : 2 * Длина подстрок / Substring Length: 10 10-03-38 : 2 * Длина подстрок / Substring Length: 8 8 02-12-: 2 * Длина подстрок / Substring Length: 7 -19-35 : 2 * Длина подстрок / Substring Length: 6 31-26-: 2 13-01 : 2 * Длина подстрок / Substring Length: 5 -35 0: 2 * Длина подстрок / Substring Length: 4 -12 : 3 -41-: 2 -18-: 2 * Длина подстрок / Substring Length: 3 -07: 2 32-: 2
Текст, подготовленный для анализа (сторона B) / Prepared Text (Side B): 02-12-22-40-07 27-45-07-35 02-37-23-05 22-25-27 33-24-44-12 16-23-18-43 13-01-39-33 15-07-13-01-18-22-37-42-25 07-24-40-35 02-26-36-40 27-25-38-01 29-24-24-20-35 16-14-18-29-33-01 06-35-32-39-33 02 09-27-01 29-36-07-08 29-08-13 29-45-07 22-36-07-08 27-34-23-25 07-18-35 07-45-07 07-23-18-24 22 29-36-07-08 09-30-39-18-07 02-06-35-23-07 29-34-23-25 45-07 Статистика повтора подстрок / Substring Statistics: * Длина подстрок / Substring Length: 13 29-36-07-08 : 2 * Длина подстрок / Substring Length: 10 -34-23-25 : 2 * Длина подстрок / Substring Length: 7 -35 02-: 2 -23-18-: 2 -39-33 : 2 -25 07-: 2 -01 29-: 2 -45-07 : 2 * Длина подстрок / Substring Length: 6 13-01-: 2 06-35-: 2 *Длина подстрок / Substring Length: 4 -22-: 2 -40-: 2 27-: 3 22-: 2 -25-: 2 16-: 2 09-: 2 Длина подстрок / Substring Length: 3 -12: 2 -27: 2 33-: 2 -13: 2
Выделение знаков (без учета вирамных) с помощью функции REGEXP и комплексной строки в запросе с подсчетом их количества:
select sign, count(sign) cnt from ( SELECT --distinct upper(regexp_substr(str, '[^•]+', 1, LEVEL)) sign --reverse(upper(regexp_substr(str, '[^•]+', 1, LEVEL))) sign FROM ( select -- количество знаков без учета вирамных (со слэшем) '02•12•13•01•18•24•40•12•29•45•07•29•29•34•02•12•04•40•33•27•45•07•12•27•44•08•02•12•06•18•??•31•26•35•02•12•41•19•35•' || '01•41•40•07•02•12•32•23•38•39•11•02•27•25•10•23•18•28•01•02•12•31•26•02•12•27•27•35•37•21•33•23•02•12•31•26•02•27•25•10•23•18•' || '28•01•02•12•31•26•02•12•27•14•32•18•27•06•18•17•19•31•26•12•02•12•13•01•23•19•35•10•03•38•02•12•27•27•35•37•21•13•01•10•03•38•' || '02•12•22•40•07•27•45•07•35•02•37•23•05•22•25•27•33•24•20•12•16•23•18•43•13•01•39•33•15•07•13•01•18•22•37•42•25•07•24•40•35•' || '02•26•36•40•27•25•38•01•29•24•24•20•35•16•14•18•29•33•01•06•35•32•39•33•02•09•27•01•29•36•07•08•29•08•13•29•45•07•' || '22•29•36•07•08•27•34•23•25•07•18•35•07•45•07•07•23•18•24•22•29•36•07•08•09•30•39•18•07•02•06•35•23•07•29•34•23•25•45•07•' str from dual) CONNECT BY instr(str, '•', 1, LEVEL-1) > 0 ORDER BY sign -- чтобы все похожие слова текста рядом стояли ) group by sign order by --sign cnt
Выделение слов (с вирамами - слэшами) с помощью функции REGEXP и комплексной строки в запросе (слова идут без сортировки друг за другом как в тексте - для дальнейших обработок)
SELECT --row_number(), -- так не работает --level -- а это что будет? instr(str, regexp_substr(str, '[^•]+', 1, level)) rnum, -- позиция? upper(regexp_substr(str, '[^•]+', 1, level)) word FROM ( select '02_12_13_01_18/•24_40_12•29_45_07/•29_29_34•02_12_04_40_33•27_45_07_12•27_44_08•02_12_06_18_??•31_26_35•02_12_41_19_35•' || '01_41_40_07•02_12_32_23_38/•39_11•02_27_25_10_23_18•28_01/•02_12_31_26/•02_12_27_27_35_37_21•33_23•02_12_31_26/•02_27_25_10_23_18•' || '28_01/•02_12_31_26/•02_12_27_14_32_18_27•06_18_17_19•31_26_12•02_12_13_01•23_19_35/•10_03_38•02_12_27_27_35_37_21•13_01•10_03_38•' || '02_12_22_40_07•27_45_07_35•02_37_23_05/•22_25_27•33_24_20_12•16_23_18_43/•13_01_39_33•15_07_13_01_18•22_37_42_25•07_24_40_35•' || '02_26_36_40•27_25_38_01•29_24_24_20_35•16_14_18•29_33_01•06_35_32_39_33•02_09_27_01•29_36_07_08/•29_08_13•29_45_07/•' || '22_29_36_07_08/•27_34_23_25•07_18_35•07_45_07/•07_23_18_24•22_29_36_07_08/•09_30_39_18_07•02_06_35_23_07•29_34_23_25•45_07/•' str from dual) CONNECT BY instr(str, '•', 1, level-1) > 0
Выделение наивероятных префиксов, основ и суффиксов с помощью группировки в сочетаниях, сделанных на основе REGEXP и заданной строки в запросе. (по ФД пока не сочетания слов, а сочетания знаков - т.е., сами слова, причем, только из 3 иероглифов)
select SUFF, count(SUFF) cnt from ( select substr(WORD, 1, 2) PREF, substr(WORD, 4, 2) ROOT, substr(WORD, 7, 2) SUFF from ( with t as (select '02-12-13-01-18/•24-40-12•29-45-07/•29-29-34•02-12-04-40-33•27-45-07-12•27-44-08•02-12-06-18-??•31-26-35•02-12-41-19-35•' || '01-41-40-07•02-12-32-23-38/•39-11•02-27-25-10-23-18•28-01/•02-12-31-26/•02-12-27-27-35-37-21•33-23•02-12-31-26/•02-27-25-10-23-18•' || '28-01/•02-12-31-26/•02-12-27-14-32-18-27•06-18-17-19•31-26-12•02-12-13-01•23-19-35/•10-03-38•02-12-27-27-35-37-21•13-01•10-03-38•' || '02-12-22-40-07•27-45-07-35•02-37-23-05/•22-25-27•33-24-20-12•16-23-18-43/•13-01-39-33•15-07-13-01-18•22-37-42-25•07-24-40-35•' || '02-26-36-40•27-25-38-01•29-24-24-20-35•16-14-18•29-33-01•06-35-32-39-33•02-09-27-01•29-36-07-08/•29-08-13•29-45-07/•' || '22-29-36-07-08/•27-34-23-25•07-18-35•07-45-07/•07-23-18-24•22-29-36-07-08/•09-30-39-18-07•02-06-35-23-07•29-34-23-25•45-07/•' s from dual), vals as (select distinct regexp_substr(s,'[a-z0-9]+',1,level,'i') v from t connect by level < 1600) -- было > 10, потом >= 100 select -- лучше от v4 до v10 instr(t.s, v1.v||'-'||v2.v||'-'||v3.v) STR_NUM, v1.v||'-'||v2.v||'-'||v3.v WORD from t, vals v1, vals v2, vals v3 where v1.v is not null and v2.v is not null and v3.v is not null and instr(t.s, v1.v||'-'||v2.v||'-'||v3.v) > 0 -- было > 0 ) ) group by --PREF --ROOT SUFF order by --count(PREF) --count(ROOT) count(SUFF) desc
Выделение слов ФД с помощью REGEXP и комплексной строки в запросе с дальнейшим сравнением аффиксов со следующим словом
select word1, word2, decode(pref1, pref2, pref1) pref, decode(suff1, suff2, suff1) suff from ( select --t1.rnum rnum1, t1.wpos wpos1, t1.wnum wnum1, t1.lev lev1, t1.word word1, substr(t1.word, 1, 2) pref1, substr(t1.word, -2, 2) suff1, --t2.rnum rnum2, t2.wpos wpos2, t2.wnum wnum2, t2.lev lev2, t2.word word2, substr(t2.word, 1, 2) pref2, substr(t2.word, -2, 2) suff2 from ( select 0 lev, /*9999 wnum, 9999 wpos,*/ '00_00' word from dual union select lev, word from ( SELECT level lev, regexp_substr(str, '[^•]+', 1, level) word --reverse(upper(regexp_substr(str, '[^•]+', 1, level))) word FROM ( select -- стороны A и B ФД '02_12_13_01_18/•24_40_12•29_45_07/•29_29_34•02_12_04_40_33•27_45_07_12•27_44_08•02_12_06_18_??•31_26_35•02_12_41_19_35•' || '01_41_40_07•02_12_32_23_38/•39_11•02_27_25_10_23_18•28_01/•02_12_31_26/•02_12_27_27_35_37_21•33_23•02_12_31_26/•02_27_25_10_23_18•' || '28_01/•02_12_31_26/•02_12_27_14_32_18_27•06_18_17_19•31_26_12•02_12_13_01•23_19_35/•10_03_38•02_12_27_27_35_37_21•13_01•10_03_38•' || '02_12_22_40_07•27_45_07_35•02_37_23_05/•22_25_27•33_24_20_12•16_23_18_43/•13_01_39_33•15_07_13_01_18•22_37_42_25•07_24_40_35•' || '02_26_36_40•27_25_38_01•29_24_24_20_35•16_14_18•29_33_01•06_35_32_39_33•02_09_27_01•29_36_07_08/•29_08_13•29_45_07/•' || '22_29_36_07_08/•27_34_23_25•07_18_35•07_45_07/•07_23_18_24•22_29_36_07_08/•09_30_39_18_07•02_06_35_23_07•29_34_23_25•45_07/•' str from dual) CONNECT BY instr(str, '•', 1, level-1) > 0 ) ) t1, ( select lev, word from ( SELECT level lev, regexp_substr(str, '[^•]+', 1, level) word --reverse(upper(regexp_substr(str, '[^•]+', 1, level))) word FROM ( select -- стороны A и B ФД '02_12_13_01_18/•24_40_12•29_45_07/•29_29_34•02_12_04_40_33•27_45_07_12•27_44_08•02_12_06_18_??•31_26_35•02_12_41_19_35•' || '01_41_40_07•02_12_32_23_38/•39_11•02_27_25_10_23_18•28_01/•02_12_31_26/•02_12_27_27_35_37_21•33_23•02_12_31_26/•02_27_25_10_23_18•' || '28_01/•02_12_31_26/•02_12_27_14_32_18_27•06_18_17_19•31_26_12•02_12_13_01•23_19_35/•10_03_38•02_12_27_27_35_37_21•13_01•10_03_38•' || '02_12_22_40_07•27_45_07_35•02_37_23_05/•22_25_27•33_24_20_12•16_23_18_43/•13_01_39_33•15_07_13_01_18•22_37_42_25•07_24_40_35•' || '02_26_36_40•27_25_38_01•29_24_24_20_35•16_14_18•29_33_01•06_35_32_39_33•02_09_27_01•29_36_07_08/•29_08_13•29_45_07/•' || '22_29_36_07_08/•27_34_23_25•07_18_35•07_45_07/•07_23_18_24•22_29_36_07_08/•09_30_39_18_07•02_06_35_23_07•29_34_23_25•45_07/•' str from dual) CONNECT BY instr(str, '•', 1, level-1) > 0 ) union select 9999 lev, /*9999 wnum, 9999 wpos,*/ '99_99' word from dual ) t2 where --t2.rnum = t1.rnum + 1 --t2.wpos = t1.wpos --t2.wnum = t1.wnum + 1 t2.lev = t1.lev + 1 )
Нечеткое сравнение подстрок текста ФД каждая с каждой с вычислением дистанции с помощью декартова произведения и функции UTL_MATCH.edit_distance. Функция EDIT_DISTANCE пакета UTL_MATCH вычисляет дистанцию Левенштейна между двумя заданными строками (т.е., сколько требуется операций для приведения первой строки ко второй). Дистанции Левенштейна успешны для сравнения однословных строк, для которых он более приспособлен.
select set1.word word1, set2.word word2, utl_match.edit_distance(set1.word, set2.word) dist from ( SELECT distinct upper(regexp_substr(txt, '[^•]+', 1, LEVEL)) word --reverse(upper(regexp_substr(str, '[^•]+', 1, LEVEL))) word FROM ( select '02-12-13-01-18/•24-40-12•29-45-07/•29-29-34•02-12-04-40-33•27-45-07-12•27-44-08•02-12-06-18-??•31-26-35•02-12-41-19-35•' || '01-41-40-07•02-12-32-23-38/•39-11•02-27-25-10-23-18•28-01/•02-12-31-26/•02-12-27-27-35-37-21•33-23•02-12-31-26/•02-27-25-10-23-18•' || '28-01/•02-12-31-26/•02-12-27-14-32-18-27•06-18-17-19•31-26-12•02-12-13-01•23-19-35/•10-03-38•02-12-27-27-35-37-21•13-01•10-03-38•' || '02-12-22-40-07•27-45-07-35•02-37-23-05/•22-25-27•33-24-20-12•16-23-18-43/•13-01-39-33•15-07-13-01-18•22-37-42-25•07-24-40-35•' || '02-26-36-40•27-25-38-01•29-24-24-20-35•16-14-18•29-33-01•06-35-32-39-33•02-09-27-01•29-36-07-08/•29-08-13•29-45-07/•' || '22-29-36-07-08/•27-34-23-25•07-18-35•07-45-07/•07-23-18-24•22-29-36-07-08/•09-30-39-18-07•02-06-35-23-07•29-34-23-25•45-07/•' txt FROM dual) CONNECT BY instr(txt, '•', 1, LEVEL-1) > 0 ) set1, ( SELECT distinct upper(regexp_substr(txt, '[^•]+', 1, LEVEL)) word --reverse(upper(regexp_substr(str, '[^•]+', 1, LEVEL))) word FROM ( select '02-12-13-01-18/•24-40-12•29-45-07/•29-29-34•02-12-04-40-33•27-45-07-12•27-44-08•02-12-06-18-??•31-26-35•02-12-41-19-35•' || '01-41-40-07•02-12-32-23-38/•39-11•02-27-25-10-23-18•28-01/•02-12-31-26/•02-12-27-27-35-37-21•33-23•02-12-31-26/•02-27-25-10-23-18•' || '28-01/•02-12-31-26/•02-12-27-14-32-18-27•06-18-17-19•31-26-12•02-12-13-01•23-19-35/•10-03-38•02-12-27-27-35-37-21•13-01•10-03-38•' || '02-12-22-40-07•27-45-07-35•02-37-23-05/•22-25-27•33-24-20-12•16-23-18-43/•13-01-39-33•15-07-13-01-18•22-37-42-25•07-24-40-35•' || '02-26-36-40•27-25-38-01•29-24-24-20-35•16-14-18•29-33-01•06-35-32-39-33•02-09-27-01•29-36-07-08/•29-08-13•29-45-07/•' || '22-29-36-07-08/•27-34-23-25•07-18-35•07-45-07/•07-23-18-24•22-29-36-07-08/•09-30-39-18-07•02-06-35-23-07•29-34-23-25•45-07/•' txt FROM dual) CONNECT BY instr(txt, '•', 1, LEVEL-1) > 0 ) set2 where utl_match.EDIT_DISTANCE_SIMILARITY(set1.word, set2.word) > 1 and -- всего 2648 строк utl_match.EDIT_DISTANCE_SIMILARITY(set1.word, set2.word) < ((length(set1.word)+1)/3)*2-2 -- 229 order by word1, utl_match.EDIT_DISTANCE_SIMILARITY (set1.word, set2.word)
Нечеткое сравнение подстрок текста ФД каждая с каждой с вычислением дистанции Джаро-Винклера с помощью декартова произведения и функции UTL_MATCH.jaro_winkler. Функция JARO_WINKLER пакета UTL_MATCH вычисляет числовую величину схожести между двумя заданными строками по алгоритму Джаро-Винклера. Предпочтительнее использование функций, основанных на алгоритме Джаро-Винклера, т.к. он показывает наиболее приближенные к реальности результаты.
select set1.word word1, set2.word word2, utl_match.edit_distance(set1.word, set2.word) dist from ( SELECT distinct upper(regexp_substr(txt, '[^•]+', 1, LEVEL)) word FROM ( select '02-12-13-01-18/•24-40-12•29-45-07/•29-29-34•02-12-04-40-33•27-45-07-12•27-44-08•02-12-06-18-??•31-26-35•02-12-41-19-35•' || '01-41-40-07•02-12-32-23-38/•39-11•02-27-25-10-23-18•28-01/•02-12-31-26/•02-12-27-27-35-37-21•33-23•02-12-31-26/•02-27-25-10-23-18•' || '28-01/•02-12-31-26/•02-12-27-14-32-18-27•06-18-17-19•31-26-12•02-12-13-01•23-19-35/•10-03-38•02-12-27-27-35-37-21•13-01•10-03-38•' || '02-12-22-40-07•27-45-07-35•02-37-23-05/•22-25-27•33-24-20-12•16-23-18-43/•13-01-39-33•15-07-13-01-18•22-37-42-25•07-24-40-35•' || '02-26-36-40•27-25-38-01•29-24-24-20-35•16-14-18•29-33-01•06-35-32-39-33•02-09-27-01•29-36-07-08/•29-08-13•29-45-07/•' || '22-29-36-07-08/•27-34-23-25•07-18-35•07-45-07/•07-23-18-24•22-29-36-07-08/•09-30-39-18-07•02-06-35-23-07•29-34-23-25•45-07/•' txt FROM dual) CONNECT BY instr(txt, '•', 1, LEVEL-1) > 0 ) set1, ( SELECT distinct upper(regexp_substr(txt, '[^•]+', 1, LEVEL)) word --reverse(upper(regexp_substr(str, '[^•]+', 1, LEVEL))) word FROM ( select '02-12-13-01-18/•24-40-12•29-45-07/•29-29-34•02-12-04-40-33•27-45-07-12•27-44-08•02-12-06-18-??•31-26-35•02-12-41-19-35•' || '01-41-40-07•02-12-32-23-38/•39-11•02-27-25-10-23-18•28-01/•02-12-31-26/•02-12-27-27-35-37-21•33-23•02-12-31-26/•02-27-25-10-23-18•' || '28-01/•02-12-31-26/•02-12-27-14-32-18-27•06-18-17-19•31-26-12•02-12-13-01•23-19-35/•10-03-38•02-12-27-27-35-37-21•13-01•10-03-38•' || '02-12-22-40-07•27-45-07-35•02-37-23-05/•22-25-27•33-24-20-12•16-23-18-43/•13-01-39-33•15-07-13-01-18•22-37-42-25•07-24-40-35•' || '02-26-36-40•27-25-38-01•29-24-24-20-35•16-14-18•29-33-01•06-35-32-39-33•02-09-27-01•29-36-07-08/•29-08-13•29-45-07/•' || '22-29-36-07-08/•27-34-23-25•07-18-35•07-45-07/•07-23-18-24•22-29-36-07-08/•09-30-39-18-07•02-06-35-23-07•29-34-23-25•45-07/•' txt FROM dual) CONNECT BY instr(txt, '•', 1, LEVEL-1) > 0 ) set2 where utl_match.JARO_WINKLER(set1.word, set2.word) > 1 and -- всего 2648 строк utl_match.JARO_WINKLER(set1.word, set2.word) < ((length(set1.word)+1)/3)*2-2 -- 229 order by word1, utl_match.JARO_WINKLER(set1.word, set2.word)
Фестский диск: Знаки ФД | Текст ФД | Анализ ФД | Плпн разбора ФД | Топор из Аркалохори Похожие надписи знаками ФД | Аналогичные малые диски | Другие спиральные надписи Труды о ФД |
Догреческие языки | Греко-македонская группа | Эгеида до греков | Современная Греция
Ключевые слова для поиска сведений по статистическому исследованию Фестского Диска:
На русском языке: Статистический анализ Фестского диска, статистика знаков текста из Феста, частота фестских символов;
На английском языке: Fest Disk analys, Phaistos Disc statistics.
|
|