28 augustus 2024

Actueel…

  1. suffix arrays

    • nlwiki 2024
    • meer Python-library’s?
      • zie PyPI
      • pydifsufsort → zie beneden
      • fasttextsearch
      • PySAIS → wrapper voor libsais
      • steap_by_steapwerkt nu wel
      • pysuffixarraywerkt niet
      • pysubstringsearch → zoeken m.b.v. libsais, maar suffix array alleen intern gebruikt
      • esaxx-py → werkt niet met Unicode
      • divsufsortpip install faalt
  2. Alpino

    • nlwiki2024 parsen
    • partok: optie om marker voor list-item te verwijderen
  3. nextcloud

    • installeren en testen op urd2

Later…

  1. websites, wensen:
  2. urd2
    • upgrade naar Ubuntu 22.04
  3. migratie naar colossus

pydifsufsort

pydifsufsort werkt niet alleen met strings, maar ook met bytes, bytearrays en numpy arrays. Je kunt een string in utf-8 omzetten naar bytes voor het aanmaken van de suffixarrys, en daarna weer terug naar string:

#!/usr/bin/env python3

from pydivsufsort import divsufsort

string_inp = "banaña$".encode('utf-8')
string_suffix_array = divsufsort(string_inp)

print(">>>", string_inp)
print(string_suffix_array)
for i in string_suffix_array:
    try:
        print(i, string_inp[i:].decode('utf-8'))
    except UnicodeDecodeError:
        pass

Uitvoer, waarin string vanaf index 5 ontbreekt:

>>> b'bana\xc3\xb1a$'
[7 6 1 3 0 2 5 4]
7 $
6 a$
1 anaña$
3 aña$
0 banaña$
2 naña$
4 ña$
corpora suffix array