Ini adalah aplikasi Flask untuk membaca dan mencari catatan dari basis pengetahuan pribadi. Di sini, basis pengetahuan berarti kumpulan buku catatan Jupyter dengan sel Markdown yang mungkin memiliki tag dan mungkin berisi tautan satu sama lain. Jadi, pendekatannya mirip Zettelkasten.
Fitur sistem pencarian meliputi:
Repositori dapat digunakan baik secara keseluruhan (dengan catatan yang saya tulis) atau sebagai paket Python yang menyediakan antarmuka ke catatan Anda.
Bagian paling berharga dari proyek ini bukanlah perangkat lunaknya. Itu adalah catatannya sendiri. Saat menulisnya, saya mencoba menjelaskan hal-hal rumit dengan cara yang memungkinkan pemahaman yang efisien dengan ambiguitas sesedikit mungkin. Saya kebanyakan menulis tentang pembelajaran mesin, tetapi topik baru akan bermunculan. Sayangnya, ada potensi pelanggar kesepakatan — saat ini, uang kertas tersebut hanya tersedia dalam bahasa Rusia. Jika tidak cocok untuk Anda, silakan lanjutkan ke bagian berikutnya.
Untuk memulainya, Anda perlu mengkloning repositori ke mesin lokal Anda dan menginstal paket readingbricks
. Ini dapat dilakukan dengan menjalankan perintah di bawah ini dari terminal:
cd /your/path/
git clone https://github.com/Nikolay-Lysenko/readingbricks
cd readingbricks
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
pip install -e .
Setiap kali Anda ingin memulai aplikasi Flask, jalankan perintah berikut:
cd /your/path/readingbricks
source venv/bin/activate
python -m readingbricks
Perintah terakhir meluncurkan server lokal. Setelah siap, buka browser web Anda dan buka 127.0.0.1:5000
. Lihat panduan antarmuka untuk rincian lebih lanjut.
Agar basis pengetahuan Anda kompatibel dengan aplikasi, basis pengetahuan tersebut harus direpresentasikan sebagai berikut:
notes_directory
├── field_one
│ ├── notebook_one.ipynb
│ ├── ...
│ └── notebook_n.ipynb
├── ...
└── field_k
├── notebook_one.ipynb
├── ...
└── notebook_m.ipynb
Di sini, bidang mewakili domain independen (misalnya, pembelajaran mesin, kimia, teori musik, dll.). Dalam bidang tertentu, distribusi catatan di antara buku catatan Jupyter bisa berubah-ubah. Misalnya, Anda bisa menyimpan semua catatan dalam satu buku catatan.
Semua sel buku catatan harus berupa sel penurunan harga yang dimulai dengan ## {title}
. Untuk menandai suatu catatan, aktifkan fasilitas penandaan dengan 'View -> Cell Toolbar -> Tags'. Untuk menambahkan tautan dari satu catatan ke catatan lainnya, pola khusus __root_url__/{field}/notes/{note_title}
dan __home_url__/notes/{note_title}
dapat digunakan. Meskipun yang terakhir ini kurang bertele-tele, hanya yang pertama yang mendukung hubungan lintas bidang.
Sejauh ini bagus. Basis pengetahuan sudah siap, namun aplikasi harus dikonfigurasi untuk menggunakannya. Buat file JSON di suatu tempat yang terlihat seperti ini:
{
"LANGUAGE" : " en " ,
"FIELDS" : [ " field_one " , " field_two " ],
"FIELD_TO_ALIAS" : { "field_one" : " Field #1 " , "field_two" : " Field #2 " },
"FIELD_TO_SEARCH_PROMPT" : { "field_one" : " the_most_popular_tag " , "field_two" : " the_most_popular_tag " },
"NOTES_DIR" : " /absolute/path/to/notes_directory " ,
"RESOURCES_DIR" : " /any/directory/for/storing/internal/files "
}
Sekarang, mari kita instal paket Python:
source /your/path/venv/bin/activate
pip install readingbricks
Yang tersisa hanyalah meluncurkan aplikasi:
python -m readingbricks -c /absolute/path/to/config.json
Seperti pada bagian sebelumnya, lanjutkan ke 127.0.0.1:5000
.
Antarmuka webnya cukup jelas.
Satu-satunya elemen kontrol yang tidak sepele adalah bilah pencarian yang terletak di halaman beranda bidang. Ini dapat beroperasi dalam tiga mode:
transformers in recommender systems
);tags:
diperlukan (misalnya tags: transformers AND recommender_systems
);tags:
membentuk kueri bahasa alami dan simbol setelahnya membentuk ekspresi tag (misalnya, transformers tags: recommender_systems
).Jika setidaknya sebagian kueri menggunakan bahasa alami, hasilnya diurutkan berdasarkan TF-IDF. Selain itu, urutan hasil bergantung pada posisi leksikografis buku catatan di dalam direktori bidangnya dan pada posisi sel di dalam buku catatan.
Selamat membaca!