Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Algoritma Carian Topik Terdorong Hiperpautan (HITS) menggunakan modul Networxx - Python

Algoritma Carian Topik Terdorong Hiperpautan (HITS) menggunakan modul Networxx - Python

WBOY
WBOYke hadapan
2023-09-07 11:17:02999semak imbas

使用Networxx模块的超链接诱导主题搜索(HITS)算法- Python

Algoritma Hyperlink Induced Topic Search (HITS) ialah algoritma popular yang digunakan untuk analisis pautan web, terutamanya dalam kedudukan enjin carian dan mendapatkan maklumat. HITS mengenal pasti halaman web yang berwibawa dengan menganalisis pautan antara halaman web. Dalam artikel ini, kami akan meneroka cara melaksanakan algoritma HITS menggunakan modul Networxx dalam Python. Kami akan menyediakan panduan langkah demi langkah tentang cara memasang modul Networxx dan menerangkan penggunaannya dengan contoh praktikal.

Fahami algoritma HITS

Algoritma

HITS adalah berdasarkan idea bahawa halaman web berwibawa sering dipautkan oleh halaman web berwibawa lain. Ia berfungsi dengan memberikan dua skor pada setiap halaman web: skor autoriti dan skor pusat. Skor kuasa mengukur kualiti dan kaitan maklumat yang disediakan oleh halaman, manakala skor kepusatan mewakili keupayaan halaman untuk memaut ke halaman berwibawa lain.

Algoritma

HITS mengemas kini markah autoriti dan skor pusat secara berulang sehingga penumpuan dicapai. Mulakan dengan memberikan semua halaman web skor kuasa awal 1. Ia kemudian mengira skor pusat setiap halaman berdasarkan skor autoriti halaman yang dipautkannya. Ia kemudian mengemas kini skor kuasa berdasarkan skor kepusatan halaman yang memautkannya. Ulangi proses ini sehingga skor menjadi stabil.

Pasang modul Networkx

Untuk menggunakan modul Networxx untuk melaksanakan algoritma HITS dalam Python, kita perlu memasang modul terlebih dahulu. Networxx ialah perpustakaan berkuasa yang menyediakan antara muka peringkat tinggi untuk tugasan analisis rangkaian. Untuk memasang Networxx, buka terminal atau command prompt dan jalankan arahan berikut:

Pip install networkx

Gunakan Networxx untuk melaksanakan algoritma HITS

Selepas memasang modul networkxx dalam Python, kami kini boleh menggunakan modul ini untuk melaksanakan algoritma HITS. Pelaksanaan langkah demi langkah adalah seperti berikut:

Langkah 1: Import modul yang diperlukan

Import semua modul yang diperlukan yang boleh digunakan dalam skrip Python untuk melaksanakan algoritma HITS.

import networkx as nx

Langkah 2: Buat bentuk dan tambahkan tepi

Kami mencipta graf terarah kosong menggunakan kelas DiGraph() dalam modul networkx. Kelas DiGraph() mewakili graf terarah, di mana tepi mempunyai arah tertentu yang menunjukkan aliran atau hubungan antara nod. Kemudian tambahkan tepi pada graf G menggunakan kaedah add_edges_from(). Kaedah add_edges_from() membolehkan kami menambah berbilang tepi pada graf sekaligus. Setiap tepi diwakili sebagai tupel yang mengandungi nod sumber dan nod destinasi.

Dalam contoh kod di bawah, kami telah menambah tepi berikut:

  • Tepi dari nod 1 ke nod 2

  • Tepi dari nod 1 hingga nod 3

  • Tepi dari nod 2 ke nod 4

  • Tepi dari nod 3 ke nod 4

  • Tepi dari nod 4 hingga nod 5

Nod 1 mempunyai tepi keluar ke nod 2 dan 3. Nod 2 mempunyai kelebihan keluar ke nod 4, dan nod 3 juga mempunyai kelebihan keluar ke nod 4. Nod 4 mempunyai tepi keluar ke nod 5. Struktur ini menangkap hubungan pautan antara halaman web dalam graf.

Struktur graf ini kemudiannya digunakan sebagai input kepada algoritma HITS untuk mengira autoriti dan skor pusat, yang mengukur kepentingan dan kaitan halaman web dalam graf.

G = nx.DiGraph()
G.add_edges_from([(1, 2), (1, 3), (2, 4), (3, 4), (4, 5)])

Langkah 3: Kira Skor HITS

Kami menggunakan fungsi hits() yang disediakan oleh modul networkx untuk mengira autoriti dan skor hab graf G. Fungsi hits() mengambil graf G sebagai input dan mengembalikan dua kamus: authority_scores dan hub_scores.

  • Authority_scores: Kamus ini mengandungi skor autoriti untuk setiap nod dalam graf. Skor kuasa mewakili kepentingan atau kaitan halaman web dalam konteks struktur graf. Lebih tinggi skor autoriti, lebih berwibawa atau berpengaruh halaman itu.

  • Hub_scores: Kamus ini mengandungi skor tengah setiap nod dalam graf. Skor kepusatan mewakili keupayaan halaman untuk bertindak sebagai hab, menyambung ke halaman berwibawa lain. Lebih tinggi skor pusat, lebih berkesan halaman itu memaut ke halaman berwibawa lain.

authority_scores, hub_scores = nx.hits(G)

Langkah 4: Cetak markah

Selepas melaksanakan kod dalam langkah 3, kamus autoriti_scores dan hub_scores akan mengandungi markah yang dikira untuk setiap nod dalam graf G. Kami kemudian boleh mencetak markah ini.

print("Authority Scores:", authority_scores)
print("Hub Scores:", hub_scores)

Kod lengkap menggunakan modul networkxx untuk melaksanakan algoritma HITS adalah seperti berikut:

Contoh

import networkx as nx

# Step 2: Create a graph and add edges
G = nx.DiGraph()
G.add_edges_from([(1, 2), (1, 3), (2, 4), (3, 4), (4, 5)])

# Step 3: Calculate the HITS scores
authority_scores, hub_scores = nx.hits(G)

# Step 4: Print the scores
print("Authority Scores:", authority_scores)
print("Hub Scores:", hub_scores)

Output

Authority Scores: {1: 0.3968992926167327, 2: 0.30155035369163363, 3: 0.30155035369163363, 4: 2.2867437232950395e-17, 5: 0.0}
Hub Scores: {1: 0.0, 2: 0.28412878058893093, 3: 0.28412878058893115, 4: 0.4317424388221378, 5: 3.274028035351656e-17}

KESIMPULAN

Dalam artikel ini, kami membincangkan cara melaksanakan algoritma HITS menggunakan modul Networkx Python. Algoritma HITS ialah alat penting untuk analisis pautan web. Menggunakan modul Networxx dalam Python, kami boleh melaksanakan algoritma dengan cekap dan menganalisis struktur pautan web dengan berkesan. Networxx menyediakan antara muka mesra pengguna untuk analisis rangkaian, menjadikannya lebih mudah bagi penyelidik dan pembangun untuk memanfaatkan kuasa algoritma HITS dalam projek mereka.

Atas ialah kandungan terperinci Algoritma Carian Topik Terdorong Hiperpautan (HITS) menggunakan modul Networxx - Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam