Tentang apa yang terjadi ketika Google menggunakan kata "vs"

Itu terjadi pada Anda: Anda mencari sesuatu di Google dan memasukkan "vs" setelah kata pencarian, berharap mesin pencari akan secara otomatis menawarkan sesuatu yang mirip dengan yang Anda butuhkan?





Memasukkan "vs" setelah kata pencarian



Ini terjadi pada saya.



Ternyata, ini masalah besar. Ini adalah teknik yang, ketika mencari alternatif untuk sesuatu, dapat menghemat banyak waktu.



Saya melihat 3 alasan mengapa teknik ini bekerja dengan baik jika digunakan untuk mencari informasi tentang teknologi, perkembangan dan konsep tertentu yang ingin mereka pahami:



  1. Cara terbaik untuk mempelajari sesuatu yang baru adalah untuk mengetahui bagaimana itu, baru, mirip dengan apa yang sudah diketahui, atau bagaimana baru berbeda dari yang diketahui. Misalnya, dalam daftar kalimat yang muncul setelah "vs", Anda dapat melihat sesuatu yang dapat Anda katakan: "Jadi, ternyata apa yang saya cari terlihat seperti ini, saya sudah tahu."
  2. — . , , .
  3. «vs» — , Google , - -. «or», - -. , «or», Google , - .




Saat memproses bert atau permintaan, Google membuat saran mengenai Sesame Street. Dan pertanyaan "bert vs" memberikan petunjuk BERT Google.



Itu membuat saya berpikir. Tetapi bagaimana jika kita mengambil kata-kata yang disarankan Google setelah memasukkan "vs" dan mencari di dalamnya, juga menambahkan "vs" setelah mereka? Bagaimana jika Anda mengulanginya beberapa kali? Jika demikian, Anda bisa mendapatkan grafik jaringan yang bagus dari kueri terkait.



Misalnya, mungkin terlihat seperti ini.





Grafik Ego untuk bert query dengan radius 25



Ini adalah teknik yang sangat berguna untuk membuat peta pikiran teknologi, perkembangan atau ide yang mencerminkan hubungan entitas yang serupa.



Saya akan memberi tahu Anda cara membuat grafik seperti itu.



Mengotomatiskan pengumpulan data "vs" dari Google



Berikut adalah tautan yang dapat Anda gunakan untuk mendapatkan saran dari Google untuk penyelesaian kueri dalam format XML dari Google. Fitur ini sepertinya bukan API yang ditujukan untuk penggunaan umum, jadi mungkin tidak terlalu berat pada tautan ini.



http://suggestqueries.google.com/complete/search?&output=toolbar&gl=us&hl=en&q=<search_term>


Parameter URL output=toolbarmenunjukkan bahwa kami tertarik dengan hasil dalam format XML, gl=usmenetapkan kode negara, hl=enmemungkinkan Anda untuk menentukan bahasa, dan desain q=<search_term>hanyalah apa yang Anda butuhkan untuk mendapatkan hasil penyelesaian.



Parameter gldan hlgunakan pengidentifikasi negara dan bahasa dua huruf standar .



Mari kita bereksperimen dengan semua ini dengan memulai pencarian dengan, katakanlah, kueri tensorflow.



Langkah pertama dari pekerjaan ini adalah untuk merujuk pada ditentukan URL, menggunakan struktur berikut menggambarkan query: q=tensorflow%20vs%20. Seluruh tautan akan terlihat seperti ini:



http://suggestqueries.google.com/complete/search?&output=toolbar&gl=us&hl=en&q=tensorflow%20vs%20


Sebagai tanggapan, kami mendapatkan data XML.



Apa yang harus dilakukan dengan XML?



Sekarang Anda perlu memeriksa hasil pelengkapan otomatis terhadap sekumpulan kriteria tertentu. Dengan yang sesuai dengan kita, kita akan terus bekerja.





Verifikasi hasil yang diperoleh



I, saat memverifikasi hasil, menggunakan kriteria berikut:



  • Permintaan pencarian yang disarankan tidak boleh mengandung teks dari permintaan asli (mis. - tensorflow).
  • Rekomendasi tidak boleh mencakup permintaan yang telah dianggap cocok sebelumnya (misalnya - pytorch).
  • Rekomendasi sebaiknya tidak menyertakan banyak kata "vs".
  • Setelah 5 pencarian yang cocok ditemukan, sisanya tidak lagi dipertimbangkan.


Ini hanyalah salah satu cara untuk "membersihkan" daftar saran pencarian autocomplete Google. Saya juga terkadang melihat manfaat dari memilih hanya satu kata rekomendasi dari daftar, tetapi penggunaan teknik ini tergantung pada setiap situasi tertentu.



Jadi, dengan menggunakan serangkaian kriteria ini, kami mendapat 5 hasil berikut, yang masing-masing diberikan bobot tertentu.





5 hasil



Iterasi selanjutnya



5 rekomendasi yang ditemukan ini kemudian mengalami pemrosesan yang sama dengan permintaan pencarian asli. Mereka diteruskan ke API menggunakan kata "vs" dan lagi 5 hasil pelengkapan otomatis dipilih yang memenuhi kriteria di atas. Ini adalah hasil dari pemrosesan daftar di atas.





Menemukan Hasil Lengkapi-Otomatis untuk Kata-kata



yang Sudah Ditemukan Anda dapat melanjutkan proses ini dengan memeriksa kata-kata di kolom yang belum diperiksatarget.



Jika Anda melakukan banyak iterasi pencarian kata, Anda mendapatkan tabel yang agak besar berisi informasi tentang kueri dan bobot. Data ini sangat cocok untuk visualisasi grafik.



Grafik ego



Grafik jaringan yang saya tunjukkan pada awal artikel adalah apa yang disebut ego grafik, yang dibangun, dalam kasus kami, untuk kueri tensorflow. Grafik ego adalah grafik, semua node berada agak jauh dari node tensorflow. Jarak ini tidak boleh melebihi jarak yang ditentukan.



Bagaimana jarak antar node ditentukan?



Pertama mari kita lihat grafik yang sudah jadi.





Grafik ego untuk query tensorflow dengan jari-jari 22 adalah



bobot edge yang menghubungkan queryAdanBkita sudah tahu. Ini adalah peringkat rekomendasi dari daftar penyelesaian otomatis, mulai dari 1 hingga 5. Untuk membuat grafik tidak diarahkan, Anda cukup menambahkan bobot koneksi antara simpul yang berjalan dalam dua arah (yaitu, dariAkeB, dan, jika ada koneksi seperti itu, dariBkeA) ... Ini akan memberi kita bobot tepi mulai dari 1 hingga 10.



Panjang tepi (jarak), dengan demikian, akan dihitung menggunakan rumus11 — . Kami memilih 11 di sini karena berat tepi maksimum adalah 10 (tepi akan memiliki bobot itu jika kedua rekomendasi muncul di bagian paling atas dari daftar pelengkapan otomatis masing-masing). Akibatnya, jarak minimum antara permintaan akan 1.



Ukuran (ukuran) dan warna (warna) dari puncak grafik ditentukan oleh jumlah (jumlah) kasus di mana permintaan yang sesuai muncul dalam daftar rekomendasi. Akibatnya, semakin besar puncaknya, semakin penting konsep yang diwakilinya.



Grafik ego yang dianggap memiliki jari-jari 22. Ini berarti Anda dapat mencapai setiap permintaan, mulai dari titik tensorflow, dengan berjalan jarak tidak melebihi 22. Mari kita lihat apa yang terjadi jika kita meningkatkan jari-jari grafik menjadi 50.





Ego-graph untuk permintaan tensorflow dengan radius 50



Ternyata menarik! Grafik ini berisi sebagian besar teknologi dasar yang perlu diketahui oleh siapa pun yang bekerja dalam kecerdasan buatan. Selain itu, nama-nama teknologi ini secara logis dikelompokkan.



Dan itu semua dibangun di sekitar satu kata kunci tunggal.



Bagaimana cara menggambar grafik seperti itu?



Saya menggunakan alat Berkembang online untuk menggambar grafik seperti itu .



Layanan ini memungkinkan Anda untuk membuat grafik jaringan dan diagram lain menggunakan antarmuka yang sederhana. Saya pikir layak untuk melihatnya bagi mereka yang tertarik untuk membangun grafik ego.



Bagaimana cara membuat grafik ego dengan radius yang diberikan?



Anda bisa menggunakan paket Python untuk membuat grafik ego dengan radius yang diberikan networkx. Ini memiliki fitur yang sangat nyaman ego_graph. Jari-jari grafik ditunjukkan ketika fungsi ini dipanggil.



import networkx as nx

#  
#nodes = [('tensorflow', {'count': 13}),
# ('pytorch', {'count': 6}),
# ('keras', {'count': 6}),
# ('scikit', {'count': 2}),
# ('opencv', {'count': 5}),
# ('spark', {'count': 13}), ...]

#edges = [('pytorch', 'tensorflow', {'weight': 10, 'distance': 1}),
# ('keras', 'tensorflow', {'weight': 9, 'distance': 2}),
# ('scikit', 'tensorflow', {'weight': 8, 'distance': 3}),
# ('opencv', 'tensorflow', {'weight': 7, 'distance': 4}),
# ('spark', 'tensorflow', {'weight': 1, 'distance': 10}), ...]

#   
G=nx.Graph()
G.add_nodes_from(nodes)
G.add_edges_from(edges)

# -  'tensorflow'
EG = nx.ego_graph(G, 'tensorflow', distance = 'distance', radius = 22)

#  
subgraphs = nx.algorithms.connectivity.edge_kcomponents.k_edge_subgraphs(EG, k = 3)

# ,  'tensorflow'
for s in subgraphs:
    if 'tensorflow' in s:
        break
pruned_EG = EG.subgraph(s)

ego_nodes = pruned_EG.nodes()
ego_edges = pruned_EG.edges()


Selain itu, saya menggunakan fungsi lain di sini - k_edge_subgraphs. Ini digunakan untuk menghapus beberapa hasil yang tidak memenuhi kebutuhan kita.



Sebagai contoh, ini stormadalah kerangka kerja open source untuk komputasi terdistribusi secara real time. Tapi ini juga karakter dari alam semesta Marvel. Apa saran pencarian yang menurut Anda akan "menang" jika Anda mengetik "storm vs" ke Google?



Fungsi k_edge_subgraphsmenemukan kelompok simpul yang tidak dapat dibagi dengan melakukan katau lebih sedikit tindakan. Ternyata, nilai-nilai parameter k=2dan menunjukkan diri dengan baik di sini k=3. Pada akhirnya, hanya subgraph yang tersisa, yang menjadi milik mereka tensorflow. Ini memastikan bahwa kami tidak menyimpang terlalu jauh dari tempat kami memulai pencarian dan tidak pergi terlalu jauh.



Menggunakan grafik ego dalam hidup



Mari kita beralih dari contoh c tensorflowdan perhatikan grafik ego lain. Kali ini - grafik yang didedikasikan untuk hal lain yang menarik minat saya. Ini adalah debut catur yang disebut Partai Spanyol (pembukaan catur Ruy Lopez).



▍ Penelitian bukaan catur





Studi tentang "Partai Spanyol" (ruy lopez)



Metodologi kami memungkinkan kami untuk dengan cepat menemukan ide pembukaan yang paling umum, yang dapat membantu peneliti catur.



Sekarang mari kita lihat contoh lain dari menggunakan grafik ego.



Food Makanan sehat



Kubis! Lezat!



Tetapi bagaimana jika Anda memiliki keinginan untuk mengganti kol yang indah dan tak tertandingi dengan yang lain? Grafik ego yang dibangun di sekitar kubis ( kale) akan membantu Anda dengan ini .





Grafik ego untuk kueri kale dengan radius 25



▍Kami membeli seekor anjing



Ada begitu banyak anjing, dan sangat sedikit waktu ... Aku butuh anjing. Tapi yang mana? Mungkin sesuatu seperti pudel ( poodle)?





Grafik ego untuk kueri pudel dengan jari-jari 18



▍ Mencari cinta



Anjing dan kol tidak mengubah apa pun? Perlu menemukan belahan jiwamu? Jika demikian - ini adalah grafik ego kecil tapi sangat mandiri yang dapat membantu dengan ini.





Grafik Ego untuk permintaan kopi memenuhi bagel dengan radius 18



HatBagaimana jika aplikasi kencan tidak membantu?



Jika aplikasi kencan tidak berguna, ada baiknya menonton pertunjukan daripada bergaul dengan es krim rasa kubis (atau es krim rasa arugula yang baru ditemukan). Jika Anda menyukai seri "The Office" (tentu saja yang paling terkenal di Inggris), maka Anda mungkin menyukai beberapa seri lainnya.





Grafik ego untuk kueri kantor dengan radius 25



Ringkasan



Itu menyimpulkan kisah saya tentang penggunaan kata "vs" dalam pencarian Google dan tentang grafik ego. Saya harap semua ini akan membantu Anda setidaknya sedikit dalam mencari cinta, anjing yang baik dan makanan sehat.



Apakah Anda menggunakan trik yang tidak biasa saat mencari di Internet?






All Articles