<jupyter_start><jupyter_text>PlWordNet Demo  Utility code<jupyter_code>from time import time

# just a simple class for measuring execution time
class timer:
    def __enter__(s):
        s.t = time()
    def __exit__(s,x,y,z):
        print(f'took {time() - s.t:.2f} seconds')<jupyter_output><empty_output><jupyter_text>Loading `PlWordNet`<jupyter_code>import plwordnet<jupyter_output><empty_output><jupyter_text>You can load .xml, .pkl files. They can also be compressed gzip or lzma (.gz or .xz).Alternatively, you can pass an opened file object (rb) to `load`.<jupyter_code>with timer():
    wn = plwordnet.load('../local/plwordnet_4_2.xml.xz')<jupyter_output>took 22.50 seconds<jupyter_text>Calling `str` on `Wordnet` shows basic statistics.<jupyter_code>wn<jupyter_output><empty_output><jupyter_text>Pickle the `Wordnet` object for faster loading. Note that the pickled object may not be compatible between different `plwordnet` library versions.<jupyter_code>wn.dump('../local/plwordnet_4_2.pkl')
with timer():
    wn_from_pickle = plwordnet.load('../local/plwordnet_4_2.pkl')<jupyter_output>took 7.20 seconds<jupyter_text>Examples  Show some relations and their ids<jupyter_code>for x in list(wn.relation_types.values())[:5]:
    print('---')
    print(x.id, x.name, x.type, sep=', ')
    print(x.description)<jupyter_output>---
10, hiponimia, relacja pomiędzy synsetami
Relacja łącząca znaczenie z drugim, ogólniejszym, niż to pierwsze, ale należącym do tej samej części mowy, co ono.
---
11, hiperonimia, relacja pomiędzy synsetami
Relacja łącząca znaczenie z drugim, szczegółowszym, niż to pierwsze, ale należącym do tej samej części mowy, co ono.
---
12, antonimia, relacja leksykalna
Relacja łącząca przeciwne znaczenia reprezentowane przez tę samą część mowy. Może być właściwa, kiedy oprócz przeciwnych znaczeń X i Y dopuszczamy istnienie jakiegoś Z, lub komplementarna, kiedy nie dopuszczamy takiej możliwości (istnieje albo X, albo Y).
---
13, konwersja, relacja leksykalna
Relacja łącząca znaczenia reprezentowane przez tę samą część mowy, które opisują to samo zjawisko, ale z dwóch różnych (przeciwnych sobie) punktów widzenia.
---
14, meronimia, relacja pomiędzy synsetami
Relacja łączy rzeczownik, który jest częścią (porcją, elementem grupy, miejscem, materiałem) czegoś innego, z drugim rzeczownikiem, oznacza[...]<jupyter_text>Show first 10 synset relations with predicate 14 (hiperonimia). Use the short relation name for printing.<jupyter_code>for s, p, o in wn.synset_relations_where(predicate=11)[:10]:
    print(p.format(s, o, short=True))<jupyter_output>{#551 : dialog.1 dyskurs.1 konwersacja.1 rozmowa.1} hipero {#1366 : gadu-gadu.1 gawęda.3 gawędka.1 pogaducha.1 pogaduszka.1 pogawędka.1 pogwarka.1 rozmówka.1}
{#551 : dialog.1 dyskurs.1 konwersacja.1 rozmowa.1} hipero {#712 : debata.1 debatowanie.3 dyskusja.1 dysputa.1 dysputacja.1}
{#646 : zranić.2} hipero {#7067247 : odstręczyć.1 zrazić.1}
{#473702 : brudas.2 smoluch.2} hipero {#473124 : rumun.3}
{#712 : debata.1 debatowanie.3 dyskusja.1 dysputa.1 dysputacja.1} hipero {#2844 : narada.1 obrady.1 posiedzenie.7 rada.3 sesja.2}
{#3998 : wypowiedź.1} hipero {#2684 : mowa.1 przemowa.1 przemówienie.6}
{#3476 : tekst.3} hipero {#2956 : elaborat.1 rozprawa.2 traktat.1}
{#7000 : komunikat.1} hipero {#260116 : aluzja.1}
{#3998 : wypowiedź.1} hipero {#2190 : orzeczenie.1 postanowienie.2}
{#473680 : ciapaty.1 ciapek.2} hipero {#395114 : pakol.1}<jupyter_text>Show all relations where a lexical unit with lemma 'miód' is a subject or an object:<jupyter_code>for lu in wn.lemmas('miód'):
    for s, p, o in wn.lexical_relations_where(subject=lu) + wn.lexical_relations_where(object=lu):
        print(p.format(s, o))<jupyter_output>miód.3 jest derywatem od miód.1
miód.2 tworzy kolokację z puchar.3
'miodek.2' to nazwa ekspresywna/augmentatywna derywowana od miód.2
miodowy.5 jest zrobione z miód.2
miodowy.6 jest synonimem mpar. do miód.2
miodosytnictwo.1 jest derywatem od miód.2
miód.1 tworzy kolokację z gęsty.4
plaster.3 tworzy kolokację z miód.1
miodówka.3 jest derywatem od miód.1
miodarka.1 jest derywatem od miód.1
miodny.1 przypomina miód.1
miodowy.2 przypomina miód.1
miodny.2 jest derywatem od miód.1
beczka.1 tworzy kolokację z miód.1
miododajny.1 jest derywatem od miód.1
miododajny.2 jest derywatem od miód.1
miodownik.2 jest derywatem od miód.1
miodny.4 przypomina miód.1
słodziuchny.1 tworzy kolokację z miód.1
miód.3 jest derywatem od miód.1
miodonośny.2 jest derywatem od miód.1
'miodek.1' to nazwa ekspresywna/augmentatywna derywowana od miód.1
miodonośny.1 jest derywatem od miód.1
miodowy.3 jest zrobione z miód.1
miodowy.4 jest synonimem mpar. do miód.1
miodowy.1 przypomina miód.1<jupyter_text>Show all subjects of relations with predicate 13 (konwersja), where a lexical unit with lemma 'prababcia' is an object. Also show the part of speech and synset of the found subjects.<jupyter_code>for lu in wn.lemmas('prababcia'):
    for s, p, o in wn.lexical_relations_where(predicate=13, object=lu):
        print('---')
        print(s)
        print('part of speech =', s.pos)
        print('synset =', s.synset)<jupyter_output>---
prawnuczę.1
part of speech = rzeczownik
synset = {#49788 : prawnuczę.1}
---
prawnuk.1
part of speech = rzeczownik
synset = {#31324 : prawnuczek.1 prawnuk.1}
---
prawnuczka.1
part of speech = rzeczownik
synset = {#31325 : prawnuczka.1}
{'fraction_non_alphanumeric': 0.10666418466120625, 'fraction_numerical': 0.04690990320178704, 'mean_word_length': 4.802375809935205, 'pattern_counts': {'":': 0, '<': 31, '<?xml version=': 0, '>': 31, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '9', 'dir': 'jupyter-structured-clean-dedup', 'id': '65547', 'license': 'MIT', 'n_tokens_mistral': 2387, 'n_tokens_neox': 2350, 'n_words': 573, 'path': 'docs/examples.ipynb', 'repo_name': 'lang-uk/plwordnet', 'size': '5372'}