Nasıl bir 'ile ilgili sorular' motoru oluşturmak için?

5 Cevap php

One of our bigger sites has a section where users can send questions to the website owner which get evaluated personally by his staff. When the same question pops up very often they can add this particular question to the Faq.

Benzer sorular onlarca bu sitede (yığın taşması) hakkında 'İlgili sorulara' benzer bir özellik sağlamak istiyorum bir gün almalarını önlemek için.

What ways are there to build this kind of feature? I know that i should somehow evaluate the question and compare it to the questions in the faq but how does this comparison work? Are keywords extracted and if so how?

Bu site lamba yığını üzerine inşa edilmiştir kayda değer olabilir dolayısıyla bu teknolojiler mevcuttur.

Teşekkürler!

5 Cevap

Ben yığın taşması nasıl çalıştığını bilmiyorum, ama ilgili soruları bulmak için etiketler kullanır sanırım. Örneğin, bu soru üzerine üst birkaç ilgili sorular tüm etiket recommendation-engine var. Ben nadir etiketleri üzerinde karşılaşmalar ortak etiketleri kibrit fazla saymak olduğunu tahmin ediyorum.

Ayrıca term frequency–inverse document frequency bakmak isteyebilirsiniz.

Dönem Frekans / Ters belge frekans: Eğer sıfırdan bu kendiniz gibi bir şey inşa etmek istedim, TF / IDF denilen bir şey kullanmak istiyorum. Bu çok, bir bütün olarak korpus nadirdir ve bu kelimeleri geçen belgeleri bulmak sorguda kelimeleri bulmak basitleştirmek için, demektir.

Birisi kelime ile bir sorgu girdiği Başka bir deyişle, daha sonra sorguda kelimelerin, kelime "fil" muhtemelen korpus azından ortak bir kelime, içinde "Ben bir fil satın almak istiyorum". "Buy" yanında muhtemelen. Yani onlar kelime "al" içeren ne kadar sonra kelime "fil" içeren ve ne kadar belgeleri (sizin durumda, önceki sorgular) rütbe. Kelime "Ben" ve "bir" siz onları tamamen görmezden yüzden, stop-listede muhtemelen "için". Ve top az göstermek - Sen (nadir kelimeler için yüksek ağırlığa yani ters belge frekansına göre ağırlıklandırılarak) Orada kaç eşleşen kelime her belgeyi (sizin durumda önceki sorgu) rütbe.

Ben basitleştirdim, ve bunu doğru almak için bu kadar okumak gerekiyordu, ama basit bir şekilde uygulamak için gerçekten korkunç karmaşık değil. Wikipedia sayfası başlamak için iyi bir yer olabilir:

http://en.wikipedia.org/wiki/Tf%E2%80%93idf

Eğer bir lamba yığını çalışıyorsanız göz önüne alındığında, o zaman MySQL's Fulltext search functions iyi faydalanmak gerekir. Ben TF-IDF ilkeleri üzerinde çalışmak inanıyorum, ve istediğiniz 'ilgili sorulara' yaratmak için oldukça kolay hale hangi.

Programming Collective Intelligence - - Grup keşif, öneriler ve benzeri konuları kapsayan büyük O'Reilly kitap var. Bellekten örnekler Perl vardır, ama kolay bir PHP arka plandan geliyor anlamak bulundu ve birkaç saat içinde ne peşinde benzer bir şey inşa etmişti.

Yahoo http://developer.yahoo.com/search/content/V1/termExtraction.html bir anahtar kelime çıkarıcı webcoder var

Sen korpus mevcut SSS girişlerin başlıkları / metin yazım denetimi kullanabilirsiniz:

http://stackoverflow.com/questions/41424/how-do-you-implement-a-did-you-mean/258290#258290