¿Cómo clasifica Quora las preguntas? ¿Qué algoritmos usan?

Cuando tiene datos de millones de preguntas, comunidades que lo ayudan a clasificar, aprendizaje automático, grandes mentes para coserlos todos, termina con una característica como la generación automática de temas.

La mayoría de las veces, podemos adivinar el tema simplemente leyendo parte o partes de una pregunta.

Tan pronto como veo algoritmos o vida o relación, puedo clasificarlos instantáneamente.
A los más difíciles, ¿cuáles son los mejores cómics de xkcd? – inicialmente puede clasificarse como MEJOR de X y Comics.
Las más difíciles (las preguntas tampoco tienen sentido para los humanos: p) – ¿Por qué sucedió esto?
Puede ser arrojado a la filosofía o la vida. Como un valor predeterminado default

Durante un período de tiempo, la categorización se vuelve mejor. NO por un mejor código. Pero al aprender de las entradas hechas por otros usuarios.

Tome esta pregunta como ejemplo:

¿Cuál es el algoritmo que usa Quora para asignar automáticamente temas a preguntas ?

Quora es un tema bastante común y, por lo tanto, se ha categorizado automáticamente.
Y la palabra Tema también.
Algoritmo habría causado que contenga el tema Programación de computadoras, pero no lo hace. **

Editar: ** Los temas han sido agregados manualmente por el usuario. Por lo tanto, el algoritmo no interfirió. Pero entiendes el punto 🙂

Las palabras como qué, es, asignar, usos no tienen ningún tema poderoso asociado con ellas.

Lea un poco sobre Word Sense Disambiguation.
http://en.m.wikipedia.org/wiki/W…

Y algunos sobre filtrado colaborativo.
http://en.m.wikipedia.org/wiki/C…

La mejor parte de esto es que no siempre es correcto. Siempre hay personas que te corrigen.

Cada vez que hagas una pregunta así, pregúntate cómo lo harías.
Acabo de hacer 🙂

No es muy difícil hacerlo como programador.

Simplemente haga una lista de las palabras clave y asígneles una categoría y una vez que encuentre esas palabras clave en la pregunta, agréguele etiquetas de categoría.

Supongo que Quora lo hace de una manera mejor o similar.

Ejemplo: ‘amor’, ‘amigo’, ‘ex’ (etc.) son algunas palabras clave que puede asignar a la categoría ‘relación’. (No importa cuál sea realmente el nombre de su categoría).

Ahora supongamos que se agrega una pregunta:

“¿Te enamoras a primera vista?”
El algoritmo de Quora intenta encontrar la coincidencia para cada palabra clave en su lista y, como puede suponer, detectará la palabra clave ‘amor’ en esta pregunta, por lo que agregará la etiqueta de ‘relación’.

Ahora el problema surge cuando sucede algo como esto:
¿Y si matas a tu primer amor?

El algoritmo agregará la etiqueta de categoría ‘relación’, pero también detectará la palabra clave ‘kill’ en la pregunta. Por lo tanto, también agregará la etiqueta de categoría ‘crimen’ (usemos este nombre de categoría).

Pero como puede ver, las dos etiquetas de categoría son contradictorias ‘relación’ y ‘crimen’, lo que significa que uno puede estar en cualquiera de los dos pero no en ambos.

Entonces, para evitar tal situación, lo que un programador puede hacer es asignar prioridad a las categorías predefinidas, por lo que si una pregunta cae en ambas categorías, el que tenga una mejor prioridad de rango se hará cargo de la etiqueta de categoría.

En este caso, si ‘crimen’ es una prioridad de rango mejor que ‘relación’, esta pregunta debería caer bajo la etiqueta ‘crimen’.

Pero ahora surge otra situación:
‘¿Por qué las personas se lastiman en el amor de alguien?’

Ahora ‘lastimar’ -> ‘crimen’ y ‘amor’ -> ‘relación’, y ‘crimen’ tiene una mejor prioridad de rango que ‘relación’, por lo que el algoritmo hace que caiga bajo la etiqueta ‘crimen’, pero vea la pregunta y no está destinado a estar bajo la etiqueta de crimen.

Ahora hay 2 formas de evitar estos escenarios:

1: Deje que ocurra la categorización de acuerdo con la prioridad, pero como puede ver aquí y allá, las personas pueden agregar y eliminar etiquetas de categoría para reasignar la pregunta adecuadamente. (Aunque esta no es la mejor manera, tales preguntas tienen una ocurrencia rara por lo que se ajusta a la ecuación general).

2. Simplemente agregue las etiquetas de categoría y no asigne ninguna prioridad predefinida a categorías predefinidas. Pero entonces aparecerá la misma pregunta tanto en las categorías ‘crimen’ como ‘relación’ y luego podemos confiar en las personas para asignarles automáticamente las etiquetas de categoría apropiadas.

Prefiero la segunda forma ya que las categorías pueden diseñarse para ser editadas / eliminadas y agregadas por los usuarios también. En este caso, el segundo funciona y tiene una mínima probabilidad de falla.

En este momento, no agregamos automáticamente ningún tema a las preguntas en su mayor parte *. Las razones principales para esto son que, dado que el sitio aún está despegando, necesitamos desarrollar el conjunto de temas que pertenecen al sitio, y también porque creemos que los humanos pueden hacer un mejor trabajo.

Una vez que tengamos una masa crítica de temas en el sitio, probablemente experimentaremos sugiriendo temas y quizás incluso agregándolos a nuevas preguntas automáticamente.

* Hay dos excepciones a esto: (1) Si agrega una pregunta de seguimiento, la pregunta de seguimiento comienza con todos los temas de su padre. (2) Si hace una pregunta desde una página de temas, ese tema se adjuntará automáticamente a la pregunta.

Quora no etiqueta las preguntas automáticamente todavía. Todo lo que hace: los expone a las personas que lo usan y tienen la amabilidad de asignar temas (afortunadamente es fácil) compartir la pregunta con una comunidad más informada suscrita a ese tema y en pocas rondas que involucran pocas ediciones de temas, la pregunta gana todo temas Por ejemplo, para ver el historial de actividad sobre su pregunta, agregue / inicie sesión en la URL de la pregunta, o visite el enlace “Estadísticas de preguntas -> Última actividad” en la barra lateral a la derecha (específicamente http://www.quora.com/How-does -Qu … para esta pregunta.)

Creo que el modelado de temas y los algoritmos LDA se utilizan para extraer primero los temas de las oraciones.

Y, si solo cuenta las frecuencias de aparición de temas, a partir de lo que publican las personas y las limita, puede extraer temas.

Cuando publicas, simplemente extraen frases nominales de tu pregunta y verifican los temas … Este podría ser 1 método posible.

El etiquetado lo puede hacer cualquiera que vea su pregunta, incluido usted, el interrogador original. Puede agregar, eliminar o editar etiquetas en el área sobre el Texto de la pregunta.

Reconocimiento de palabras y asociación.

Realiza parte del trabajo, pero no se puede confiar en que termine el trabajo.

Dada la iteración actual, generalmente se requiere intervención humana. Espero que esto mejore con el tiempo.

Lógicamente parece un proceso de aprendizaje. Algo parecido a lo que usa la búsqueda de Google en el sentido más básico.
Cada vez que el conjunto de palabras aparece en una pregunta, Quora comienza a buscar resultados de los datos analizados (ingresados ​​por muchas otras personas). Probablemente extrae los datos y hace algo como el descubrimiento del conocimiento.

Creo que esto es algo similar a la implementación real.

Los algoritmos no son como un solo libro de cosas que elige un programador, un algoritmo es “una forma de hacer “. Alguien escribió un medio para asignar categorías a las preguntas: ese es el algoritmo que se utiliza. Puede ser casi exactamente lo mismo que un algoritmo utilizado en un sitio diferente para hacer lo mismo, pero los programadores no los obtuvieron de un “libro de algoritmos”, sino que ambos escriben un código similar.

parece que Quora solo asignaría temas basados ​​en nuestras palabras, y es razonable, ya que es bot quien lo hizo, no humano.

Escriba una pregunta sobre RMS Titanic, y elegirá automáticamente el tema de la película Titanic, a pesar de que ni siquiera pregunta por la película.

Ese es solo un ejemplo. Muchas veces obtienes un tema que no siempre es relevante para tu pregunta porque el bot solo está viendo tus palabras.

More Interesting

¿Los algoritmos de aprendizaje profundo representan métodos basados ​​en conjuntos?

¿Qué algoritmos usa Dropbox para la compresión de datos?

Tengo una pila masiva de más de 300 pares de calcetines. ¿Cuál es el algoritmo más rápido que puedo usar para extraer unos 25 pares coincidentes de la pila desordenada?

Optimización matemática: ¿Cuáles son las aplicaciones para el problema del vendedor ambulante?

¿Qué es un algoritmo para una solución aproximada al problema del vendedor ambulante?

Cómo construir un algoritmo automatizado de comercio de acciones utilizando mis estrategias sin tener que contratar un programador

¿Cómo debo comenzar a aprender sobre estructura de datos y algoritmos?

¿Por qué y cómo son importantes los algoritmos en nuestra vida diaria?

Aprendizaje automático: ¿Cuál es la idea general de por qué minimizar la minimización empírica de riesgos es NP-Complete?

¿Cuándo deberíamos considerar el uso de algoritmos recursivos al escribir un programa? Discuta en términos de ventajas y desventajas.

¿Cuáles son los ejemplos prácticos de algoritmos de clasificación? He oído hablar de la clasificación de burbujas, la clasificación rápida y la clasificación por inserción. ¿Cuáles son los ejemplos prácticos de estos algoritmos? ¿Para qué se usan y dónde son necesarios en los sistemas de software?

Cómo usar el hash rodante y la búsqueda binaria para encontrar la subcadena común más larga

¿Cuáles son algunas estrategias para principiantes para los algoritmos comerciales?

¿Cuáles son algunas situaciones en las que conceptos algorítmicos como la complejidad del código y la programación dinámica dieron como resultado un mejor código en un proyecto de desarrollo real?

¿Cuántos rectángulos de 3 × 5 caben en un rectángulo de 18 x 26? ¿Hay una manera simple de calcular?