Cara membangun grafik pengetahuan dari sumber data yang tidak terstruktur.
Peringatan: Repo ini menyediakan kode sumber dan buku catatan yang menyertai tutorial instruksional; Ini tidak dimaksudkan sebagai perpustakaan atau produk paket.
python3 -m venv venv
source venv/bin/activate
python3 -m pip install -U pip wheel
python3 -m pip install -r requirements.txt Aplikasi demo lengkap ada di demo.py :
python3 demo.py Demo ini menggores sumber teks dari artikel tentang hubungan antara demensia dan makan daging merah olahan secara teratur, kemudian menghasilkan grafik menggunakan NetworkX , database vektor embedding chunk teks menggunakan LanceDB , dan model embedding entitas menggunakan gensim.Word2Vec , di mana hasilnya adalah:
data/kg.json - Serialisasi Grafik NetworkXdata/lancedb - Tabel Database Vektordata/entity.w2v - Model Embedding Entitaskg.html - Visualisasi Grafik Interaktif di PyVis Koleksi buku catatan Jupyter menggambarkan langkah -langkah penting dalam alur kerja ini:
./venv/bin/jupyter-labconstruct.ipynb - Konstruksi KG terperinci menggunakan grafik leksikalchunk.ipynb - Contoh sederhana tentang cara mengikis dan memotong teksvector.ipynb - Tabel Landedb kueri untuk embeddings chunk teks (setelah menjalankan demo.py )embed.ipynb - Permintaan Model Embedding Entitas (Setelah Menjalankan demo.py ) Tujuan: Bangun grafik pengetahuan (kg) Menggunakan pustaka sumber terbuka di mana model pembelajaran mendalam memberikan solusi titik yang berfokus pada secara sempit untuk menghasilkan komponen untuk grafik: node, tepi, properti.
Langkah -langkah ini menentukan proses umum, di mana tutorial ini mengambil grafik leksikal :
Hamparan semantik:
Grafik Data:
Grafik Leksikal:
Pendekatan ini berbeda dengan menggunakan model bahasa besar (LLM) karena satu ukuran cocok untuk semua pendekatan "kotak hitam" untuk menghasilkan seluruh grafik secara otomatis. Pendekatan kotak hitam tidak bekerja dengan baik untuk praktik KG di lingkungan yang diatur, di mana audit, penjelasan, bukti, sumber data, dll., Diperlukan.
Lebih baik lagi, tinjau hasil perantara setelah setiap langkah inferensi untuk mengumpulkan umpan balik manusia untuk membuat komponen KG, misalnya, menggunakan Argilla .
KG yang digunakan dalam aplikasi kritis misi seperti investigasi umumnya bergantung pada pembaruan, bukan proses konstruksi satu langkah. Dengan menghasilkan kg berdasarkan langkah -langkah di atas, pembaruan dapat ditangani secara lebih efektif. Aplikasi hilir seperti grafik kain untuk mendarat hasil LLM juga akan mendapat manfaat dari peningkatan kualitas data.
spaCy : https://spacy.io/GLiNER : https://github.com/urchade/glinerGLiREL : https://github.com/jackboyla/glirelOpenNRE : https://github.com/thunlp/opennreNetworkX : https://networkx.org/PyVis : https://github.com/westhealth/pyvisLanceDB : https://github.com/lancedb/lancedbgensim : https://github.com/piskvorky/gensimpandas : https://pandas.pydata.org/Pydantic : https://github.com/pydantic/pydanticPyinstrument : https://github.com/joerick/pyinstrument CATATAN: Anda harus menggunakan skrip nre.sh untuk memuat model OpenNRE pra-terlatih sebelum menjalankan opennre.ipynb Notebook.