Rumah > Artikel > Peranti teknologi > Pembinaan graf pengetahuan automotif untuk cadangan
Konsep graf pengetahuan pertama kali dicadangkan oleh Google pada tahun 2012, bertujuan untuk mencapai enjin carian yang lebih pintar, dan mula digunakan dalam akademik selepas 2013. dan popularisasi gred industri. Pada masa ini, dengan perkembangan pesat teknologi kecerdasan buatan, graf pengetahuan telah digunakan secara meluas dalam carian, pengesyoran, pengiklanan, kawalan risiko, penjadualan pintar, pengecaman pertuturan, robot dan bidang lain.
Sebagai penggerak teknologi teras kecerdasan buatan, graf pengetahuan boleh mengurangkan masalah pembelajaran mendalam bergantung pada data latihan besar-besaran dan kuasa pengkomputeran berskala besar disesuaikan secara meluas kepada berbeza Ia boleh melaksanakan tugas hiliran dan mempunyai kebolehtafsiran yang baik Oleh itu, syarikat Internet besar di seluruh dunia secara aktif menggunakan graf pengetahuan mereka sendiri.
Sebagai contoh, pada tahun 2013, Facebook mengeluarkan Open Graph, yang digunakan untuk carian pintar pada rangkaian sosial pada tahun 2014, Baidu melancarkan graf pengetahuan, yang digunakan terutamanya dalam senario carian, pembantu dan perniagaan toB; pada 2015, Alibaba melancarkan graf pengetahuan produk Ia memainkan peranan penting dalam panduan beli-belah bahagian hadapan, tadbir urus platform dan perniagaan soal jawab pintar Tencent Cloud Knowledge Graf yang dilancarkan oleh Tencent pada 2017 dengan berkesan membantu senario seperti carian kewangan dan risiko entiti; ramalan; Otak Meituan yang dilancarkan oleh Meituan pada 2018 graf Pengetahuan telah dilaksanakan dalam berbilang perniagaan seperti pengesyoran carian pintar dan operasi pedagang pintar.
Pada masa ini, peta domain tertumpu terutamanya dalam bidang perniagaan seperti e-dagang, penjagaan perubatan dan kewangan, manakala rangkaian semantik pengetahuan automotif Dan terdapat kekurangan kaedah bimbingan yang sistematik untuk pembinaan graf pengetahuan. Artikel ini mengambil pengetahuan dalam bidang automotif sebagai contoh, memfokuskan pada entiti dan perhubungan seperti siri kereta, model, pengedar, pengeluar, jenama, dsb., untuk memberikan idea untuk membina peta domain dari awal dan memperincikan langkah dan kaedah dalam membina peta pengetahuan Penerangan, dan memperkenalkan beberapa aplikasi biasa berdasarkan peta ini.
Antaranya, sumber data ialah laman web Autohome ialah platform perkhidmatan automotif yang terdiri daripada berbilang bahagian seperti panduan membeli-belah, maklumat, penilaian dan dari mulut ke mulut Ia telah mengumpulkan sejumlah besar paparan, pembelian dan penggunaan Data kereta disusun dan dilombong dengan membina graf pengetahuan untuk menyusun dan melombong kandungan berpusatkan kereta, menyediakan maklumat pengetahuan yang kaya, minat yang tersusun dan menggambarkan dengan tepat, dan menyokong pelbagai dimensi seperti permulaan sejuk, ingat semula, pengisihan. , dan paparan pengguna yang disyorkan, untuk menyediakan Lift perniagaan membawa hasil.
Graf pengetahuan ialah perwakilan semantik dunia sebenar dan unit asasnya ialah [entiti-hubungan-entiti]. Tiga kali ganda [entity-attribute-attribute value], entiti disambungkan antara satu sama lain melalui perhubungan, sekali gus membentuk rangkaian semantik. Akan ada cabaran yang lebih besar dalam pembinaan graf, tetapi selepas pembinaan, ia boleh menunjukkan nilai aplikasi yang kaya dalam berbilang senario seperti analisis data, pengiraan pengesyoran dan kebolehtafsiran.
Cabaran pembinaan:
Perwakilan pengetahuan bersatu graf pengetahuan: membentuk pandangan bersatu dengan menyepadukan data heterogen berbilang sumber; Maklumat semantik yang kaya: Tepi perhubungan baharu boleh ditemui melalui penaakulan hubungan dan maklumat semantik yang lebih kaya boleh diperolehi; pengumpulan berterusan: Reka penyelesaian penyimpanan pengetahuan yang munasabah berdasarkan senario perniagaan untuk mencapai kemas kini dan pengumpulan pengetahuan.
Mengikut gambar rajah seni bina, proses pembinaan khusus boleh dibahagikan kepada empat langkah: reka bentuk ontologi , pemerolehan pengetahuan, storan pengetahuan dan reka bentuk dan penggunaan perkhidmatan aplikasi.
Ontology ialah koleksi konsep yang diiktiraf Pembinaan ontologi merujuk kepada pembinaan struktur ontologi dan rangka kerja pengetahuan graf pengetahuan berdasarkan definisi ontologi.
Sebab utama membina graf berdasarkan ontologi adalah seperti berikut:
Menurut liputan pengetahuan, graf pengetahuan boleh dibahagikan kepada graf pengetahuan am dan graf pengetahuan domain Pada masa ini, terdapat banyak kes graf pengetahuan am, seperti Graf Pengetahuan Google, Satori Microsoft dan. Probase dsb. Peta domain ialah peta industri tertentu seperti kewangan dan e-dagang. Graf am memberi lebih perhatian kepada keluasan dan menekankan integrasi lebih banyak entiti, tetapi tidak mempunyai keperluan yang tinggi untuk ketepatan Adalah sukar untuk menaakul dan menggunakan aksiom, peraturan dan kekangan dengan bantuan perpustakaan ontologi manakala liputan pengetahuan graf domain adalah lebih kecil, Tetapi kedalaman pengetahuan lebih mendalam dan sering dibina dalam bidang profesional tertentu.
Memandangkan keperluan untuk ketepatan, pembinaan ontologi domain cenderung dilakukan secara manual, seperti kaedah tujuh langkah yang mewakili, kaedah IDEF5, dsb. [1]. kepada Data berstruktur, menjalankan analisis ontologi, meringkaskan dan membina ontologi yang memenuhi tujuan dan skop aplikasi, dan kemudian mengoptimumkan dan mengesahkan ontologi untuk mendapatkan versi pertama definisi ontologi. Jika anda ingin mendapatkan ontologi domain yang lebih besar, anda boleh menambahnya daripada korpus tidak berstruktur Memandangkan proses pembinaan manual agak besar, artikel ini mengambil bidang automotif sebagai contoh untuk menyediakan kaedah pembinaan ontologi separa automatik langkah-langkah adalah seperti berikut:
Menggunakan
Protégé alat pembinaan ontologi [2 ], konsep ontologi boleh dijalankan Pembinaan kelas, hubungan, atribut dan contoh Rajah berikut ialah contoh visual pembinaan ontologi:
Artikel ini membahagikan. konsep ontologi peringkat atas dalam bidang automotif kepada tiga kategori: entiti dan acara Dan sistem pelabelan:
1) Kelas entiti mewakili entiti konsep dengan makna khusus, termasuk entiti perbendaharaan kata dan entiti automobil, antaranya entiti automobil termasuk jenis sub-entiti seperti organisasi dan konsep automobil; dalam pelbagai dimensi, termasuk klasifikasi kandungan, teg konsep, teg minat dan teg lain yang diterangkan dalam dimensi material
3) Kelas acara mewakili fakta objektif satu atau lebih peranan, dan terdapat hubungan evolusi antara yang berbeza; jenis acara.
Protégé boleh mengeksport pelbagai jenis fail konfigurasi Skema, antaranya fail konfigurasi struktur owl.xml adalah seperti yang ditunjukkan dalam rajah di bawah. Fail konfigurasi ini boleh dimuatkan terus dan digunakan dalam MYSQL dan JanusGraph untuk merealisasikan penciptaan Skema secara automatik.
3.2 Pemerolehan Pengetahuan
Sumber data graf pengetahuan biasanya merangkumi tiga jenis struktur data, iaitu data berstruktur, data separa berstruktur, Data tidak berstruktur.Untuk jenis sumber data yang berbeza, teknologi utama yang terlibat dalam pengekstrakan pengetahuan dan kesukaran teknikal yang perlu diselesaikan adalah berbeza. 3.2.1 Pemindahan pengetahuan berstruktur
Melalui proses ETL di atas, data daripada sumber yang berbeza boleh digugurkan ke dalam jadual perantaraan, dengan itu memudahkan penyimpanan pengetahuan seterusnya. Rajah berikut ialah contoh rajah bagi atribut entiti siri kereta dan jadual perhubungan:
Jadual perhubungan siri kereta dan jenama:
3.2.2
Pengestrakan pengetahuan tidak berstruktur-Masalah 1: Dalam satu medan, kandungan dan format fail adalah pelbagai, memerlukan sejumlah besar data beranotasi dan kos ialah
Masalah 2: Kesan migrasi antara medan tidak cukup baik, dan kos pengembangan berskala merentas bidang adalah tinggi
Model pada asasnya ditujukan kepada senario tertentu dalam industri tertentu anda menukar senario, kesannya akan berbeza. Terdapat penurunan yang ketara.
Idea penyelesaian, paradigma Pra-kereta api + Finetune, pra-latihan: asas kelas berat membolehkan model "melihat lebih banyak" dan menggunakan sepenuhnya dokumen berskala besar dan berbilang industri tanpa label untuk melatih Pra bersatu -asas latihan meningkatkan keupayaan model untuk mewakili dan memahami pelbagai jenis dokumen.
Penalaan halus: algoritma penstrukturan dokumen ringan. Berdasarkan pra-latihan, algoritma berstruktur berorientasikan dokumen yang ringan dibina untuk mengurangkan kos pelabelan.
Kaedah pra-latihan untuk dokumenTerdapat model pra-latihan sedia ada untuk dokumen Jika teks lebih pendek, Bert boleh mengekod keseluruhan dokumen. namun, dokumen sebenar kami biasanya agak panjang, dan banyak nilai atribut yang perlu diekstrak melebihi 1024 aksara pengekodan Bert akan menyebabkan nilai atribut dipotong.
Mensasarkan kebaikan dan keburukan kaedah pra-latihan teks panjangKaedah Sparse Attention mengoptimumkan pengiraan O(n2) dengan mengoptimumkan Perhatian Kendiri ) , menambah baik panjang teks input. Walaupun panjang teks model biasa telah dinaikkan daripada 512 kepada 4096, ia masih tidak dapat menyelesaikan sepenuhnya masalah pemecahan teks terpotong. Baidu mencadangkan ERNIE-DOC [3] menggunakan kaedah Recurrence Transformer, yang secara teorinya boleh memodelkan teks tanpa had. Memandangkan pemodelan memerlukan memasukkan semua maklumat teks, ia sangat memakan masa.
Dua kaedah pralatihan di atas berdasarkan teks panjang tidak mengambil kira ciri dokumen, seperti spatial (Spartial), visual (Visual) dan maklumat lain. Dan PretrainTask berdasarkan reka bentuk teks direka untuk teks tulen secara keseluruhan, tanpa reka bentuk struktur logik dokumen.
Memandangkan kelemahan di atas, berikut ialah model pra-latihan dokumen panjang DocBert[4], reka bentuk model DocBert:
Gunakan data dokumen tidak berlabel berskala besar (peringkat juta) untuk pra-latihan dan bina tugas pembelajaran diselia sendiri berdasarkan semantik teks (Teks), maklumat reka letak (Reka Letak) dan ciri visual (Visual) document , membenarkan model untuk lebih memahami semantik dokumen dan maklumat struktur.
1. MLM Sedar Reka Letak: Pertimbangkan kedudukan dan maklumat saiz fon teks dalam model bahasa Topeng untuk mencapai pemahaman semantik yang menyedari reka letak dokumen.
2. Penjajaran Teks-Imej: Gabungan ciri visual dokumen, membina semula teks bertopeng dalam imej, membantu model mempelajari hubungan penjajaran antara mod teks, reka letak dan imej yang berbeza.
3.Pindaan Tajuk: Bina tugas pembinaan semula tajuk dengan cara yang diselia sendiri untuk meningkatkan keupayaan model memahami struktur logik dokumen.
4. Lapisan Transformer Jarang: Gunakan kaedah Perhatian Jarang untuk meningkatkan keupayaan model memproses dokumen yang panjang.
Selain mendapatkan tiga kali ganda daripada teks berstruktur dan tidak berstruktur, Autohome juga melombong kategori, teg konsep dan teg kata kunci minat yang terkandung dalam bahan, dan mewujudkan persatuan antara bahan dan entiti kenderaan, membawa pengetahuan baharu kepada graf pengetahuan automotif. Berikut ialah pengenalan kepada beberapa kerja pemahaman kandungan dan pemikiran yang dilakukan oleh Autohome dari perspektif klasifikasi, teg konsep dan teg perkataan minat.
Sistem pengelasan berfungsi sebagai asas untuk penerangan kandungan dan pengelasan bahan berbutir kasar. Sistem kandungan bersatu yang ditubuhkan adalah lebih berdasarkan definisi manual dan dibahagikan melalui model AI. Dari segi kaedah pengelasan, kami menggunakan pembelajaran aktif untuk melabelkan data yang sukar dikelaskan Kami juga menggunakan peningkatan data, latihan lawan dan gabungan kata kunci untuk meningkatkan kesan pengelasan.
Kebutiran label konsep adalah antara klasifikasi dan label perkataan minat, lebih halus daripada butiran klasifikasi, dan penerangan yang lebih lengkap tentang mata minat daripada perkataan minat Kami telah mewujudkan visi kereta tiga dimensi penglihatan manusia dan penglihatan kandungan memperkayakan dimensi label dan memperhalusi butiran label. Teg bahan yang kaya dan khusus memudahkan untuk mencari dan mengesyorkan pengoptimuman model berasaskan teg, dan boleh digunakan untuk jangkauan teg untuk menarik pengguna dan trafik sekunder. Perlombongan tag konsep menggabungkan penggunaan kaedah perlombongan mesin pada data penting seperti pertanyaan, dan analisis generalisasi Melalui semakan manual, kami memperoleh set tag konsep dan menggunakan model berbilang label untuk pengelasan.
Teg perkataan minat ialah teg yang paling berbutir, dipetakan kepada minat pengguna dan boleh memberikan pengesyoran diperibadikan yang lebih baik berdasarkan pilihan minat pengguna yang berbeza. Perlombongan kata kunci menggunakan gabungan kaedah perlombongan perkataan minat berbilang, termasuk Keybert untuk mengekstrak subrentetan utama dan menggabungkan TextRank, positionRank, singlerank, TopicRank, MultipartiteRank, dsb. + kaedah analisis sintaksis untuk menjana calon perkataan minat.
Perkataan yang dilombong mempunyai persamaan yang agak tinggi, jadi sinonim perlu dikenal pasti dan kecekapan manual perlu dipertingkatkan Oleh itu, kami juga melakukan pengecaman persamaan semantik secara automatik melalui pengelompokan. Ciri yang digunakan untuk pengelompokan termasuk word2vec, bert emding dan ciri buatan lain. Kemudian menggunakan kaedah pengelompokan, dan akhirnya melalui pembetulan manual, kami menjana sekumpulan kata kunci berkualiti tinggi di luar talian.
Untuk teg dengan butiran yang berbeza atau pada peringkat material, kami perlu mengaitkan teg dengan kereta, mula-mula, kami mengira teg artikel tajuk masing-masing, dan kemudian mengenal pasti entiti dalam artikel tajuk dan dapatkan beberapa teg. -label pseudo entiti Akhirnya, berdasarkan sejumlah besar korpus, label dengan kebarangkalian kejadian bersama yang tinggi akan ditandakan sebagai label entiti. Melalui tiga tugasan di atas, kami telah memperoleh label yang kaya dan besar. Mengaitkan tag ini dengan siri dan entiti kereta akan memperkayakan peta kereta kami dan mewujudkan tag kereta yang menarik perhatian media dan pengguna.
Dengan sampel latihan berskala lebih besar, cara mendapatkan kualiti model yang lebih baik, cara menyelesaikan kos pelabelan yang tinggi, dan kitaran pelabelan yang panjang telah menjadi mendesak masalah yang perlu diselesaikan. Pertama, kita boleh menggunakan pembelajaran separa penyeliaan untuk menggunakan data besar yang tidak berlabel untuk pra-latihan. Kemudian kaedah pembelajaran aktif digunakan untuk memaksimumkan nilai data beranotasi, dan secara berulang memilih sampel maklumat tinggi untuk anotasi. Akhir sekali, penyeliaan jarak jauh boleh digunakan untuk memanfaatkan nilai pengetahuan sedia ada dan menemui kaitan antara tugas. Sebagai contoh, selepas mempunyai peta dan tajuk, anda boleh menggunakan kaedah penyeliaan jauh untuk membina data latihan NER berdasarkan peta.
Pengetahuan dalam graf pengetahuan diwakili oleh struktur RDF, dan unit asasnya adalah fakta. Setiap fakta adalah triplet (S, P, O Dalam sistem sebenar, mengikut kaedah penyimpanan yang berbeza, penyimpanan graf pengetahuan boleh dibahagikan kepada storan berdasarkan struktur jadual RDF dan storan berdasarkan struktur graf atribut. Galeri gambar kebanyakannya disimpan menggunakan struktur graf atribut Sistem storan biasa termasuk Neo4j, JanusGraph, OritentDB, InfoGrid, dll.
Dengan membandingkan JanusGraph dengan beberapa pangkalan data graf arus perdana seperti Neo4J, ArangoDB dan OrientDB, kami akhirnya memilih JanusGraph sebagai pangkalan data graf untuk projek itu adalah seperti berikut: Sebab:
JanusGraph[5] ialah enjin pangkalan data graf. Ia memfokuskan pada pensirian graf padat, pemodelan data graf yang kaya dan pelaksanaan pertanyaan yang cekap. Komposisi skema galeri boleh dinyatakan dengan formula berikut:
skema janusgraph = label bucu + label tepi + kunci sifat
Perlu diperhatikan di sini bahawa kunci sifat biasanya digunakan untuk indeks graf.
Untuk mencapai prestasi pertanyaan graf yang lebih baik, janusgraph telah menubuhkan indeks Indeks dibahagikan kepada Indeks Graf dan Indeks Berpusatkan Puncak. Indeks Graf termasuk indeks komposit dan indeks bercampur
Indeks gabungan adalah terhad kepada carian yang sama. (Indeks gabungan tidak perlu mengkonfigurasi bahagian belakang indeks luaran, ia disokong oleh bahagian belakang storan utama (sudah tentu, hbase, Cassandra, Berkeley juga boleh dikonfigurasikan))
Contoh:
<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">mgmt</span>.<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">buildIndex</span>(<span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">'byNameAndAgeComposite'</span>, <span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">Vertex</span>.<span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">class</span>).<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">addKey</span>(<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">name</span>).<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">addKey</span>(<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">age</span>).<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">buildCompositeIndex</span>() <span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">#构建一个组合索引“name</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">-</span><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">age”</span><br><span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">g</span>.<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">V</span>().<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">has</span>(<span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">'age'</span>, <span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">30</span>).<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">has</span>(<span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">'name'</span>, <span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">'小明'</span>)<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">#查找</span> <span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">名字为小明年龄30的节点</span>
Indeks hibrid memerlukan ES Sebagai indeks hujung belakang untuk menyokong pertanyaan berbilang syarat selain kesamarataan (pertanyaan yang sama turut disokong, tetapi pertanyaan yang sama, indeks gabungan adalah lebih pantas). Mengikut sama ada pembahagian perkataan diperlukan, ia dibahagikan kepada carian teks penuh dan carian rentetan
Memahami cara Janusgraph menyimpan data akan membantu kami menggunakan perpustakaan dengan lebih baik. . JanusGraph menyimpan graf dalam format senarai bersebelahan, yang bermaksud graf itu disimpan sebagai koleksi bucu dan senarai bersebelahannya.
Senarai bersebelahan bucu mengandungi semua tepi kejadian (dan atribut) bucu.
JanusGraph menyimpan setiap senarai bersebelahan sebagai baris dalam bahagian belakang storan asas. ID bucu (64-bit) (diberikan secara unik kepada setiap bucu oleh JanusGraph) ialah kunci yang menunjuk ke baris yang mengandungi senarai bersebelahan bucu.
Setiap tepi dan atribut disimpan sebagai sel berasingan dalam baris, membolehkan sisipan dan pemadaman yang cekap. Oleh itu, bilangan maksimum sel yang dibenarkan setiap baris dalam bahagian belakang storan tertentu juga merupakan darjah maksimum bucu yang boleh disokong oleh JanusGraph untuk bahagian belakang itu.
Jika bahagian belakang storan menyokong susunan kunci, senarai bersebelahan akan diisih mengikut id bucu dan JanusGraph boleh menetapkan id bucu untuk membahagikan graf dengan cekap. Tetapkan id supaya bucu yang kerap dilawati mempunyai id dengan perbezaan mutlak yang kecil.
Janusgraph menggunakan bahasa gremlin untuk carian graf Kami menyediakan perkhidmatan pertanyaan graf bersatu tidak perlu mengambil berat tentang pelaksanaan tertentu daripada bahasa gremlin , menggunakan antara muka biasa untuk pertanyaan. Kami membahagikannya kepada tiga antara muka: antara muka carian bersyarat, pertanyaan keluar berpusat nod dan antara muka pertanyaan laluan antara nod. Berikut ialah beberapa contoh pelaksanaan gremlin:
<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">g</span>.<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">V</span>().<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">has</span>(<span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">'price'</span>,<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">gt</span>(<span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">8</span>)).<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">has</span>(<span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">'price'</span>,<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">lt</span>(<span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">12</span>)).<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">order</span>().<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">by</span>(<span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">'sales'</span>,<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">desc</span>).<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">valueMap</span>().<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">limit</span>(<span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">1</span>)
Output:
<span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">==></span>{<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">name</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">=</span>[<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">xuanyi</span>], <span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">price</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">=</span>[<span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">10</span>], <span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">sales</span><span style="color: rgb(215, 58, 73); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">=</span>[<span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">45767</span>]}
Sylphy mempunyai volum jualan tertinggi, 45767
<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">g</span>.<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">V</span>(<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">xiaoming</span>).<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">repeat</span>(<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">out</span>()).<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">times</span>(<span style="color: rgb(0, 92, 197); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">2</span>).<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">valueMap</span>()
<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">g</span>.<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">V</span>(<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">xiaoming</span>).<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">repeat</span>(<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">out</span>().<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">simplePath</span>()).<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">until</span>(<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">or</span>(<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">has</span>(<span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"car"</span>,<span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">'name'</span>, <span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">'kaluola'</span>),<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">has</span>(<span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"car"</span>, <span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">'name'</span>,<span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">'xuanyi'</span>))).<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">path</span>().<span style="color: rgb(89, 89, 89); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">by</span>(<span style="color: rgb(102, 153, 0); margin: 0px; padding: 0px; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0);">"name"</span>)
Terdapat sejumlah besar data bukan Eropah dalam graf pengetahuan berdasarkan KG dengan berkesan menggunakan data bukan Eropah untuk meningkatkan ketepatan sistem pengesyoran, dan kemudian Biarkan sistem pengesyoran mencapai kesan yang tidak dapat dicapai oleh sistem tradisional. Pengesyoran berdasarkan KG boleh dibahagikan kepada tiga kategori, berdasarkan teknologi perwakilan KG (KGE), kaedah berasaskan laluan, dan rangkaian saraf graf. Bab ini akan memperkenalkan aplikasi dan kertas kerja KG dalam tiga aspek: permulaan dingin, alasan dan kedudukan dalam sistem pengesyoran.
Graf pengetahuan boleh memodelkan perhubungan peringkat tinggi yang tersembunyi dalam KG daripada interaksi item pengguna, yang merupakan penyelesaian yang baik kepada pengguna- masalah yang berkaitan. Keterbatasan data yang disebabkan oleh memanggil bilangan tingkah laku yang terhad boleh digunakan untuk menyelesaikan masalah permulaan dingin. Terdapat juga kajian berkaitan isu ini dalam industri.
Sang et al [6] mencadangkan kaedah interaksi saraf dwi saluran yang dipanggil penapisan kolaboratif neural rekursif pengetahuan (KGNCF-RRN) yang dipertingkatkan, yang mengeksploitasi kebergantungan hubungan jangka panjang konteks KG dan Pengguna item berinteraksi untuk membuat cadangan.
(1) Untuk saluran interaksi konteks KG, Rangkaian Berulang Residual (RRN) dicadangkan untuk membina pembenaman laluan berasaskan konteks, menyepadukan pembelajaran sisa ke dalam Rangkaian Neural Berulang (RNN) tradisional untuk Mengekodkan panjang KG secara berkesan -bergantungan hubungan jangka. Rangkaian perhatian diri kemudiannya digunakan pada pembenaman laluan untuk menangkap kekaburan pelbagai tingkah laku interaksi pengguna.
(2) Untuk saluran interaksi item pengguna, pembenaman pengguna dan item dimasukkan ke dalam graf interaksi 2D yang baru direka bentuk.
(3) Akhir sekali, di atas matriks interaksi saraf dwi-saluran, rangkaian saraf konvolusi digunakan untuk mempelajari korelasi kompleks antara pengguna dan item. Kaedah ini boleh menangkap maklumat semantik yang kaya dan juga menangkap hubungan tersirat yang kompleks antara pengguna dan item untuk cadangan.
Du Y et al [7] mencadangkan penyelesaian baharu kepada masalah permulaan dingin berdasarkan rangka kerja meta-pembelajaran MetaKG, termasuk pelajar meta yang sedar kolaboratif dan pelajar meta yang sedar pengetahuan. , menangkap keutamaan Pengguna dan pengetahuan permulaan dingin entiti. Tugas pembelajaran pelajar meta yang sedar secara kolaboratif bertujuan untuk mengagregat perwakilan pengetahuan pilihan setiap pengguna. Sebaliknya, tugas pembelajaran meta pelajar yang sedar pengetahuan adalah untuk menyamaratakan secara global perwakilan pengetahuan pilihan pengguna yang berbeza. Di bawah bimbingan dua pelajar, MetaKG boleh menangkap hubungan kerjasama tertib tinggi dan perwakilan semantik dengan berkesan, dan boleh menyesuaikan diri dengan mudah kepada senario permulaan yang dingin. Selain itu, penulis juga mereka bentuk tugasan adaptif yang boleh menyesuaikan secara adaptif maklumat KG untuk pembelajaran bagi mengelakkan model daripada diganggu oleh maklumat hingar. Seni bina MetaKG ditunjukkan dalam rajah di bawah.
Sebab pengesyoran boleh meningkatkan kebolehtafsiran sistem pengesyoran dan membolehkan pengguna untuk memahami Proses pengiraan untuk menjana hasil pengesyoran juga boleh menerangkan sebab item itu popular. Pengguna memahami prinsip menjana hasil yang disyorkan melalui sebab pengesyoran, yang boleh meningkatkan keyakinan pengguna terhadap keputusan yang disyorkan sistem dan menjadikan mereka lebih bertolak ansur dengan keputusan yang salah sekiranya berlaku ralat pengesyoran.
Syor terawal yang boleh ditafsir adalah berdasarkan templat Kelebihan templat ialah memastikan kebolehbacaan dan ketepatan yang tinggi. Walau bagaimanapun, templat perlu diisih secara manual, dan ia tidak terlalu umum, memberikan orang perasaan berulang. Kemudian, bentuk bebas yang tidak memerlukan pratetap telah dibangunkan, dan graf pengetahuan telah ditambahkan sebagai penjelasan Dengan anotasi, terdapat beberapa kaedah generatif yang menggabungkan setiap titik atau tepi yang dipilih dalam model ialah Proses penaakulan yang boleh ditunjukkan kepada pengguna. Baru-baru ini, Chen Z [8] dan yang lain mencadangkan rangka kerja pembelajaran pelbagai tugas tambahan ECR, yang boleh mencapai kerjasama rapat antara ramalan pengesyoran, penjanaan penjelasan dan penyepaduan maklum balas pengguna. Ia terdiri daripada dua bahagian. Bahagian pertama, Incremental Cross Knowledge Modelling, mempelajari pengetahuan silang yang dipindahkan dalam tugas pengesyoran dan tugas penjelasan, dan menerangkan cara menggunakan pengetahuan silang untuk dikemas kini dengan menggunakan pembelajaran tambahan. Bahagian kedua, ramalan pelbagai tugas tambahan, menerangkan cara menjana penjelasan berdasarkan pengetahuan silang dan cara meramal skor pengesyoran berdasarkan pengetahuan silang dan maklum balas pengguna.
KG boleh memautkan item dengan atribut yang berbeza untuk mencipta pengguna- Interaksi antara item menggabungkan graf uesr-item dan KG menjadi satu graf besar, yang boleh menangkap sambungan tertib tinggi antara item. Kaedah pengesyoran tradisional adalah untuk memodelkan masalah sebagai tugas pembelajaran yang diawasi Kaedah ini mengabaikan hubungan intrinsik antara item (seperti hubungan produk kompetitif antara Camry dan Accord) dan tidak boleh mendapatkan isyarat sinergi daripada tingkah laku pengguna. Berikut memperkenalkan dua kertas kerja mengenai aplikasi KG dalam kedudukan pengesyoran.
Wang[9] dan yang lain mereka bentuk algoritma KGAT Pertama, mereka menggunakan GNN untuk menyebarkan dan mengemas kini pembenaman secara berulang, supaya mereka boleh menangkap sambungan tertib tinggi dengan cepat. Kedua, mereka menggunakan mekanisme perhatian semasa pengagregatan untuk mempelajari setiap satu ciri semasa proses penyebaran Berat jiran mencerminkan kepentingan sambungan tertib tinggi, akhirnya, N representasi tersirat item pengguna diperoleh melalui kemas kini penyebaran pesanan N, dan lapisan yang berbeza mewakili susunan maklumat sambungan yang berbeza. KGAT boleh menangkap sambungan tertib tinggi yang lebih kaya dan tidak spesifik.
Zhang[20] dan yang lain mencadangkan model RippleNet Idea utama ialah penyebaran minat: RippleNet menggunakan minat sejarah pengguna sebagai set benih dalam KG, dan kemudian Kembangkan pengguna. kepentingan ke luar sepanjang sambungan KG untuk membentuk pengagihan minat pengguna pada KG. Kelebihan terbesar RippleNet ialah ia boleh melombong kemungkinan laluan secara automatik daripada item yang pengguna telah klik dalam sejarah kepada item calon, tanpa sebarang reka bentuk manual laluan meta atau graf meta.
RippleNet mengambil pengguna U dan item V sebagai input dan mengeluarkan kebarangkalian ramalan pengguna U mengklik item V. Untuk pengguna U, mengambil kepentingan sejarahnya V_{u} sebagai benih, ia boleh dilihat dalam rajah bahawa titik permulaan awal ialah dua, dan kemudian terus merebak ke persekitaran. Diberi itemV dan setiap tiga kali ganda kiri(h_{i},r_{i},t_{i}kanan) dalam set riak 1-hop V_{u_{}^{1}} pengguna U, dengan membandingkan V Berikan kebarangkalian yang berkaitan kepada nod h_{i} dan hubungan r_{i} dalam tiga kali ganda.
Selepas memperoleh kebarangkalian korelasi, darabkan ekor triplet dalam V_{u_{}^{1}} dengan kebarangkalian korelasi yang sepadan untuk jumlah wajaran, dan dapatkan Minat sejarah Pengguna U ialah respons tertib pertama kepada V. Minat pengguna dipindahkan daripada V_{u} kepada o_{u}^{1}, dan o_{u}^{2}, o_{u}^{3 } boleh dikira ...o_{u}^{n}, dan kemudian ciri-ciri U tentang item V boleh dikira untuk menggabungkan semua respons pesanannya.
Ringkasnya, kami memberi tumpuan terutamanya pada pengesyoran, memperkenalkan proses terperinci membina peta dan menganalisis kesukaran dan cabaran yang terlibat. Pada masa yang sama, ia juga meringkaskan banyak kerja penting dan memberikan penyelesaian, idea dan cadangan khusus. Akhir sekali, aplikasi termasuk graf pengetahuan diperkenalkan, terutamanya peranan dan penggunaan graf pengetahuan dalam bidang pengesyoran, termasuk permulaan sejuk, kebolehtafsiran, dan kedudukan ingat semula.
Petikan:
[1] Kim S, Oh SG. Mengekstrak dan Menggunakan Kriteria Penilaian untuk Penilaian Kualiti Ontologi[J]. Perpustakaan Hi Tech, 2019.
[2]Anak didik: https://www.php.cn/link/9d405c24be657bbf7a5244815a908922
🎜>[3] Ding S, Shang J, Wang S, et al ERNIE-DOC: Transformer Pemodelan Dokumen Panjang Retrospektif[J].[4]DocBert, [1] Adhikari A , Ram A , Tang R ,et al DocBERT: BERT untuk Klasifikasi Dokumen[J].[5]JanusGraph,https://www.php.cn /link/fc0de4e0396fff257ea362983c2dda5a
[6] Sang L, Xu M, Qian S, et al , 454: 417-429.[7] Du Y , Zhu X , Chen L , et al MetaKG: Meta-learning on Knowledge Graph for Cold-start e-prints, 2022.[8] Chen Z , Wang X , Xie X , et al Ke Arah Syor Perbualan Boleh Diterangkan[C]// Persidangan Bersama Antarabangsa Kedua Puluh Sembilan mengenai Kepintaran Buatan dan Persidangan Antarabangsa Lingkaran Pasifik Ketujuh Belas mengenai Kepintaran Buatan. {IJCAI-PRICAI-20.[9] Wang X , He X , Cao Y , et al KGAT: Rangkaian Perhatian Graf Pengetahuan untuk Pengesyoran[J]. 🎜>[10]Wang H, Zhang F, Wang J, et al RippleNet: Menyebarkan Keutamaan Pengguna pada Graf Pengetahuan untuk Sistem Pengesyoran[J].Atas ialah kandungan terperinci Pembinaan graf pengetahuan automotif untuk cadangan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!