Tag-Cloud in C#
Ich bin eine kleine C# Anwendung und möchte zu extrahieren tag-cloud aus einem einfachen plain-text. Gibt es eine Funktion, die könnten das für mich tun?
InformationsquelleAutor der Frage Layla | 2008-12-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gebäude eine tag-cloud ist, wie ich es sehe, ein zwei Teil-Prozess:
Erste, Sie brauchen, um split und die Anzahl Ihrer Token. Je nachdem, wie das Dokument strukturiert ist, wie auch die Sprache es geschrieben ist, könnte dies so einfach wie das zählen der Leerzeichen getrennte Wörter. Dies ist jedoch ein sehr naiver Ansatz, als Wörter wie der, von, ein, etc... haben die größte Wort-zählen, und sind nicht sehr nützlich, da tags. Ich würde vorschlagen, die Durchführung irgendeine Art von Wort der schwarzen Liste, um auszuschließen, die häufigsten und die sinnlose tags.
Sobald man das Ergebnis in ein (tag, count) Weg, könnte man etwas ähnlich dem folgenden code:
(Sucht ist eine Liste von SearchRecordEntity, SearchRecordEntity hält der tag und seine Zählung, SearchTagElement ist eine Unterklasse von SearchRecordEntity, hat die TagCategory Attribut,und ProcessedTags ist eine Liste von SearchTagElements enthält das Ergebnis)
InformationsquelleAutor der Antwort Ramiro Berrelleza
Ich würde wirklich empfehlen die Verwendung http://thetagcloud.codeplex.com/. Es ist eine sehr saubere Umsetzung, kümmert sich um die Gruppierung, Zählung und Darstellung von tags. Es bietet auch Filterfunktionen.
InformationsquelleAutor der Antwort user85742
Hier ist ein ASP.NET Cloud COntrolkönnte helfen, dass Sie zumindest begonnen, die volle Quelle enthalten.
InformationsquelleAutor der Antwort Mitchel Sellers
Werfen Sie einen Blick auf http://sourcecodecloud.codeplex.com/
InformationsquelleAutor der Antwort George Mamaladze
Möchten Sie vielleicht werfen Sie einen Blick auf Wortwolkeein Projekt auf CodeProject. Es umfasst 430 Haltestellen Wörter (wie
the
an
a
usw.) und verwendet der Porter-stemming-Algorithmus, reduziert, die Wörter auf Ihren Stamm, so dass die "Wortstamm Wortstamm Stammzellen" sind alle gezählt als 1 vorkommen des gleichen Wortes.Es ist alles in C# - das einzige, was Sie zu tun haben müsste es ändern, um die Ausgabe-HTML-anstelle der Visualisierung erstellt.
InformationsquelleAutor der Antwort ine
Werfen Sie einen Blick auf diese. Es funktionierte für mich. Es ist ein Projekt unter Examples Ordner mit dem Namen WebExample, die Ihnen helfen bei der Problemlösung.
https://github.com/chrisdavies/Sparc.TagCloud
InformationsquelleAutor der Antwort Sanjay Panchal
Ich bin mir nicht sicher, ob dies ist genau das, was Ihr sucht, aber es kann Ihnen helfen, begonnen zu erhalten:
LINQ zählt word Frequenz(in VB, aber ich bin der Konvertierung in C# nun)
InformationsquelleAutor der Antwort Nathan W
Könnte Sie speichern eine Kategorie und die Anzahl der Elemente hat es in einer Art Sammlung oder Datenbank-Tabelle.
Aus, dass, können Sie die Anzahl der für eine bestimmte Kategorie und haben gewisse Grenzen. So Ihr parameter ist die Kategorie, und der Rückgabewert ist ein Graf.
Also wenn die Anzahl >10 & <20, dann bewerben Sie sich ein .CSS-Stil für den link, die eine bestimmte Größe haben.
Können Sie diese speichern, gilt als Schlüssel in eine Sammlung, und dann den Wert, wo der Schlüssel passt zu Ihrem Rückgabewert (wie ich oben erwähnt habe).
Habe ich noch nicht-source-code zur hand, für diesen Prozess, aber Sie finden nicht eine einfache Funktion um all dies zu tun für Sie. Eine Kontrolle, die ja (wie oben).
Dies ist ein sehr klassischer Ansatz und der standard-Weg, es zu tun von dem, was ich gesehen habe in der Zeitschrift, tutorials, etc, und der erste Ansatz würde ich denken (nicht unbedingt die beste).
InformationsquelleAutor der Antwort dotnetdev
Haben Sie einen Blick auf diese Antwort für einen Algorithmus:
Algorithmus zur Implementierung eines word-cloud wie Wordle
"DisOrganizer" erwähnt in den Antworten dienen könnte, Ihren Zweck. Mit einer kleinen änderung, Sie lassen diese "Disorganizer" zu dienen, ein Bild, wie Sie wollte. PS: Der code ist in C# geschrieben https://github.com/chandru9279/zasz.me/blob/master/zasz.me/
InformationsquelleAutor der Antwort Sunil Raj
Den Zoombare TagCloud Generatordie extrahiert keywords aus einer angegebenen Quelle (text-Datei, und anderen Quellen) und zeigt die TagCloud als Zooming User Interface (ZUI)
InformationsquelleAutor der Antwort muVectors