En realidad, es bastante corto para implementarlo usted mismo. Considere la siguiente implementación a continuación. Las descripciones de los parámetros deben ser claras dado que uno ha leído el documento original [1]
def mmr_sorted (docs, q, lambda_, similarity1, similarity2):
“” “Ordenar una lista de documentos por Máxima relevancia marginal
Realiza la clasificación de relevancia marginal máxima en un conjunto de
documentos descritos por Carbonell y Goldstein (1998)
en su artículo “El uso de MMR, reorganización basada en la diversidad
para reordenar documentos y producir resúmenes ”
- ¿Cuál es la forma más eficiente de detectar, si una cadena es un anagrama de un palíndromo?
- ¿Qué son las estructuras autorreferenciales?
- Cómo escribir algoritmos de mapas de ruta como Google Maps
- ¿Cómo funciona el 'algoritmo tabula rasa' de AlphaGo Zero?
- Cómo demostrar que O (f (n) - g (n)) no es necesariamente igual a O (f (n)) - O (g (n))
: param docs: un conjunto de documentos para clasificar
por relevancia marginal máxima
: param q: consulta para la cual los documentos son resultados
: parámetro lambda_: parámetro lambda, un flotante entre 0 y 1
: similitud de parámetro1: función sim_1. toma un documento y la consulta
como argumento y calcula su similitud
: similitud param2: función sim_2. toma dos documentos como argumentos
y calcula su puntaje de similitud
: return: a (documento, puntaje mmr) diccionario ordenado de los documentos
dado en el primer argumento, ordenó mi MMR
“” ”
selected = collections.OrderedDict ()
mientras está configurado (seleccionado)! = docs:
restante = docs – conjunto (seleccionado)
mmr_score = lambda x: lambda_ * similarity1 (x, q) – (1-lambda _) * max ([similarity2 (x, y) para y en el conjunto (seleccionado) – {x}] o [0])
next_selected = argmax (restante, mmr_score)
selected [next_selected] = len (seleccionado)
volver seleccionado
def argmax (teclas, f):
return max (claves, clave = f)
Requiere que pase dos funciones de similitud y un conjunto de documentos. Las funciones de similitud deben ser capaces de manejar los documentos que desea clasificar.
Notas al pie
[1] http://www.cs.cmu.edu/~jgc/publi…