Indice Stemming in testo processo in C # o Ruby
Domanda
Dato questo testo:
"Gli amici sono amichevoli amichevoli che sono amichevoli e classificare la classe di classificazione amichevole. Fioriti fiori fluire attraverso seguendo il fiore flussi"
Ho bisogno di applicare arginare al testo di raggiungere i seguenti risultati:
frequency("following") = 1
frequency("flow") = 2
frequency("classification") = 1
frequency("class") = 1
frequency("flower") = 3
frequency("friend") = 4
frequency("friendly") = 4
frequency("classes") = 1
Come si interfaccia con il motore di ricerca veloce. VELOCE contenuti indici per fornire risultati di ricerca pertinenti a una query. Un aspetto di indicizzazione è diraspatura e abbiamo bisogno di utilizzare C # o Ruby per risolvere questo.
apprezzerete le opinioni di chiunque sul miglior approccio
Soluzione
public StemmingProcessorResults ProcessText(string text)
{
return new StemmingProcessorResults(
new []{
new StemmingProcessorResultItem("following", 1),
new StemmingProcessorResultItem("flow", 2),
new StemmingProcessorResultItem("classification", 1),
new StemmingProcessorResultItem("class", 1),
new StemmingProcessorResultItem("flower", 3),
new StemmingProcessorResultItem("friend", 4),
new StemmingProcessorResultItem("friendly", 4),
new StemmingProcessorResultItem("classes", 1)
}
);
}
Ci si va, che dovrebbe essere perfetto per le vostre esigenze di copia-incolla
Altri suggerimenti
Non si può "Apply arginare" per il testo per ottenere quei risultati, perché i criteri di accettazione contiene un errore. Vale a dire la frequenza ( "amico") dovrebbe essere 5. Ogni singolo derivante algoritmo di , per definizione, non può produrre i criteri di accettazione. Pertanto qualsiasi algoritmo che dà quei valori avrà a che fare - come da Rob Ashton. Si potrebbe anche usare uno switch o un dizionario di ricerca, qualsiasi altra cosa, ha solo bisogno di uscita quei numeri.