Come implementare un “related” corso di laurea di misura algoritmo?
-
09-06-2019 - |
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:
- Domanda che hanno il più alto numero di parole abbina con la nuova domanda
- Se il numero di partite sono il stesso, l'ordine delle parole è considerato
- 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?:)
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:
- 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.
- Ottenere il numero di parole contenute nella 'Nuova' questione che corrispondono alle parole, le domande già pubblicate sul sito.[A]
- Ottenere il numero di tag corrispondenze tra le parole in questione e disponibili.[B]
- 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)
- 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.
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.