olski.odniesienia¶
Zaimek, który wskazuje na dwie rzeczy naraz.
Wieloznaczność, którą liczy werdykt, kończy się na kropce:
mówi ona, ile kształtów ma jedno zdanie (olski/werdykt.py).
Zaimek trzeciej osoby wychodzi poza tę granicę,
bo rzecz, na którą wskazuje, nazwało zdanie wcześniejsze,
a rozbiór zdania z zaimkiem o tamtym zdaniu nic nie wie.
Werdykt nad Są one czerwone. jest przez to ten sam po Widzimy pole maków.
i po Maki rosną w garnkach.,
choć po pierwszym z nich czytelnik ma jedną rzecz do wyboru, a po drugim dwie.
Umowa olskiego jest o tekście właśnie z tego powodu
(docs/roadmap.md#podzbiór-jest-umową-a-nie-zasięgiem),
a ta warstwa jest tym kawałkiem umowy, którego rozbiór jednego zdania nie obejmuje.
Zaimek dostaje zgłoszenie wtedy, gdy zdanie obok nazywa dwie rzeczy albo więcej, a każda z nich zgadza się z nim liczbą i rodzajem. Co to znalezisko mówi autorowi i jakie zaimki bierze, trzyma docs/subset.md#zaimek-wskazujący-na-dwie-rzeczy-jest-trzecim-znaleziskiem. Tutaj stoją trzy warunki, których z kodu nie widać, i cena każdego z nich.
Rzecz nazywa najszersza grupa imienna, a nie każdy rzeczownik pod nią.
duże pole maków nazywa pole, a maków jest w nim określeniem.
Bez tego zawężenia kandydatów jest tylu, ile zdanie ma rzeczowników:
Ogrodnik ogląda pole maków w doniczce bratków. nazywa dwie rzeczy,
a wydałoby czterech kandydatów, wśród nich maków i bratków,
więc Są one czerwone. dostałoby po nim zgłoszenie.
Tu widać, czego ta warstwa żąda od rozbioru:
morfologia mówi, że pole i maków są rzeczownikami,
a która z tych dwóch form jest głową grupy, mówi dopiero drzewo.
Granicą jest zdanie obok, a nie akapit.
Bierzemy ją stamtąd, skąd bierze ją druga strona:
olski/skład/opowieść.py opuszcza podmiot tylko wtedy,
gdy o rzeczy była mowa w zdaniu obok.
Kandydaci z całego akapitu byliby przez to szersi niż to,
co druga strona uznaje za rzecz podaną czytelnikowi.
Zaimek rozstrzygnięty we własnym zdaniu zgłoszenia nie dostaje.
Pierwsze ma jedno odczytanie, więc autor nie ma w nim czego wybierać.
nie odsyła czytelnika do zdania obok,
bo Pierwsze stoi przed nim i zgadza się z nim;
sięganie dalej byłoby zgadywaniem, którego czytelnik nie wykonuje.
Wstrzymanie się jest tu odpowiedzią pełnoprawną
(docs/linter.md#abstention-is-allowed) i płaci się je milczeniem:
nad prozą tego repozytorium zdejmuje ono więcej zgłoszeń, niż zostawia,
a wśród zdjętych jest Olski go nie czyta i o jego polszczyźnie milczy.,
gdzie kandydatem miejscowym jest sam podmiot zdania,
a rzecz podejmowana stoi w zdaniu obok.
Warunek zostaje mimo to, bo zdejmuje w większości trafienia chybione,
a chybione kosztuje więcej:
autor przepisuje przez nie zdanie bez powodu (docs/roadmap.md#cele).
Zawężenie, po którym Olski przestaje być kandydatem, trzyma todo/.
Wszystkie trzy warunki mylą się w jedną stronę: zdejmują kandydatów, a nie dokładają ich, i tak samo myli się zdanie obok, którego gramatyka nie wyprowadza wcale. Na tej asymetrii stoi decyzja o zaimku bez ani jednego kandydata.
ZAIMEK = 'ppron3'
module-attribute
¶
IMIENNE = frozenset({'subst', 'depr'})
module-attribute
¶
ZGODNE = ('number', 'gender')
module-attribute
¶
Odniesienie
dataclass
¶
Zaimek wraz z rzeczami, na które w zdaniu obok może wskazywać.
Rzeczy nazwane są formą, tak jak olski.parse.Przyłączenie nazywa
gospodarzy: autor ma je odszukać w zdaniu obok, a stoją tam właśnie w tej formie.
Source code in olski/odniesienia.py
87 88 89 90 91 92 93 94 95 96 97 98 | |
niejasne_odniesienia(text, werdykty)
¶
Zgłoszenia o zaimkach, po jednej krotce na werdykt i w kolejności zdań.
Tekstem, a nie samym podziałem, bo tak bierze go druga warstwa tekstowa
(olski.rozstrzyganie.sąsiedztwa), i tak samo buduje sobie dokument.
Zdanie obok wskazuje ostatni z numerów, które podaje
olski.document.Document.wcześniejsze.
Source code in olski/odniesienia.py
116 117 118 119 120 121 122 123 124 125 126 127 128 129 | |