Domanda

Stavo per fare una Domanda prima di oggi, quando mi è stato presentato ad una sorprendente funzionalità in Stackoverflow.Quando ho scritto il titolo della domanda stackoverflow mi ha suggerito diverse domande e ho scoperto che c'era già due domande simili.Che è stata splendida!

Poi ho iniziato a pensare a come avrei potuto implementare tale funzione.Come vorrei ordinare le domande da parte di parentela:

  1. Domanda che hanno il più alto numero di parole abbina con la nuova domanda
  2. Se il numero di partite sono il stesso, l'ordine delle parole è considerato
  3. Parole che compare nel titolo è maggiore rilevanza

Che sarebbe un semplice flusso di lavoro o di un complesso di punteggio algortithm?Alcuni derivanti per aumentare il richiamo, forse?C'è qualche libreria implementa questa funzione?Quali altri aspetti vuoi prendere in considerazione?Forse Jeff potrebbe rispondere a se stesso!Come hai implementato questo in Stackoverflow?:)

È stato utile?

Soluzione

Un modo per implementare un algoritmo di tali comporterebbe la classifica, le domande che per una funzione euristica che assegna un "rilevanza" fattore peso utilizzando la seguente procedura:

  1. Applicare un filtro di rumore per la "Nuova" domanda per rimuovere parole, che sono comuni a un gran numero di oggetti, ad esempio:e 'la', 'e', 'o', etc.
  2. Ottenere il numero di parole contenute nella 'Nuova' questione che corrispondono alle parole, le domande già pubblicate sul sito.[A]
  3. Ottenere il numero di tag corrispondenze tra le parole in questione e disponibili.[B]
  4. Calcola la 'rilevanza' del peso sulla base di [A] e [B] come 'x[A] + y[B]', dove x e y sono di peso moltiplicatori (Assegnare un peso maggiore del moltiplicatore a [B] come il tagging è più rilevante rispetto alla semplice ricerca di parole)
  5. Ottenere la top 5 domande che hanno la massima rilevanza peso'.

L'euristica potrebbe richiedere tweaking per ottenere risultati ottimali, ma dovrebbe funzionare.

Altri suggerimenti

La tua domanda sembra simile a questo, che ha alcune ulteriori risposte.

@marcio

Mi dispiace, io non sono a conoscenza di alcun diretto riferimento alle API che mi potrebbe suggerire qui e non ho mai lavorato con Lucene.

Tuttavia, sono consapevole del fatto che Google Desktop utilizza una Query API per la classifica e suggeriscono i risultati di ricerca pertinenti.Ulteriori informazioni sull'API può essere trovato qui.

Forse altri potrebbero suonare e guida è.

Non è StackOverflow sarà open source a un certo punto?Se è così, si può sempre scoprire come hanno fatto lì.

Aggiornamento:Sembra che dicono potrebbe it open source.Spero che si possano fare.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top