–en– Semantic Tag Cloud

english version / german version

Description

In the field of enterprise content management search is a central component for many years. Two kinds of searches are established for years:

  • Full text search: this requires an indexing service / server and computing capacity
  • Filter navigation / also called meta search or search for attributes.
    Content must be well attributed so that a search via attributes makes sense.

In a meeting with an important customer on the subject of faceted search the following questions and requirements came up:

“Why are no documents shown whose content is related to this document?”

“Can I choose the entrance level of the successive filter myself or must the user always go through the whole search tree from top to down?”

“I want to determine the result / target of certain queries.”

From this brainstorming with users without a deeper technical knowledge I took the three fundamental ideas and developed the following functional description. It is clear to me that this deals with semantic only on principle. However I want to reach the target in several steps. For this reason the source code for the plug-in has been optimized to ease reading it.

Simultaneously to this plug-in an adapted search based on EMC’s Explore is developed. Especially xCP 2.0 already offers four kinds of search (real-time, historical, full text and task-list query) which can be extended accordingly. Real-time query is especially interesting because the search result can be updated after each new input.

Functional description

This plug-in extends the functionality of a simple tag cloud in WordPress by three points:

  1. Keywords are assigned to each article in the blog
  2. Keywords have an importance and are displayed accordingly
  3. Keywords can point to a certain article and not to the tag search

Keywords are assigned to blog articles

For each article in the blog keywords are displayed separately. The advantage of this is that different but also similar keywords can be displayed on each page.

crazyapple_com_all_tags
Cloud including all available tags form Mr.Crazyapples’s blog.

E.g.: the keywords Audi, BMW, Mercedes and Peugeot are assigned to the page ‘cars’. On the page ‘bicycles’ the keywords Hercules, Gudereit, BMW and Peugeot exist. The keywords BMW and Peugeot can be prioritized differently on both pages based on the context.

All this requires that tags are assigned wisely and in a certain amount. A number of 12 to max. 24 tags has proven reasonable. Too little keywords do not complete the cloud and / or many keywords are equally prioritized. On the contrary many keywords take away clearness and the important relationships are not distinctly marked.

Prioritizing keywords

In common presentation keywords are prioritized by frequency. A frequent word is more important than a word that occurs only once or twice. On principle this is correct. However this principle has certain disadvantages for example if only a few tags are assigned and many infrequent keywords are presented. In this case all tags would seem to be equally important.

Tags relative to the specific page.
Tags relative to the specific page.

Prioritizing keywords offers the possibility to even mark tags as important that are assigned only once.

E.g.: in a DMS many documents on server installation, server administration, user management and so on exist. The document on server security exists only once and its tag is not valid for the other documents. Nevertheless the document ‘Server security’ must always be displayed as important in the tag cloud.

Permalinking keywords

In the demonstration (presentation) before the brainstorming it was criticized as well that from the cloud always the search function is called. Certain keywords should only be linked to a certain document. However this idea is interesting even though it contradicts the basic principle of search. I have seized this idea and want to test this feature in practice.

–de– Semantic Tag Cloud

german version / english version

Beschreibung

Im Bereich Enterprise Content Management ist die Suche seit vielen Jahren ein zentraler Bestandteil. Zwei Arten von Suchvorgängen sind seit Jahren etabliert:

  • Volltextsuche
    diese erfordert einen Indizierungs- Dienst / -Service / -Server und Rechenleistung
  • Filternavigation /Metasuche oder Suche nach Attributen genannt
    Der Content muss dabei gut attribuiert sein, so dass eine Suche über die Attribute auch Sinn macht

Bei einem Meeting bei einem namhaften Kunden zum Thema Faceted Search kam es zu einem Brainstorming:

“Wieso werden keine Dokumente angezeigt, die mit dem Dokument eine inhaltliche Beziehung haben?”

“Kann ich die Einstiegsebene des sukzessiven Filters selbst bestimmen? Oder muss der Anwender immer den ganzen „Suchbaum“ bis nach unten durchgehen?”

“Ich möchte das Ergebnis/ Ziel ausgewählter Suchanfragen bestimmen.”

Aus diesem Brainstorming mit reinen Anwendern ohne vertiefendes Technik Knowhow habe ich die drei Grundgedanken aufgegriffen und nachfolgende Funktionsbeschreibung erstellt. Mir ist klar, dass dies nur ansatzweise mit Semantik zu tun hat. Ich möchte in mehreren Schritten zu diesem Ziel kommen. Aus diesem Grund ist der Quellcode für dieses PlugIn auch auf Lesbarkeit optimiert worden.

Parallel zu diesem PlugIn entsteht eine angepasste Suche auf Grundlage von EMC‘s xPlore. Gerade xCP 2.0 bietet schon vier Sucharten (Real-Time, Historical, Full-Text und Task-List Query) an, die entsprechend erweitert werden können. Besonders interessant ist die Real-Time Query (RTQ), da bei dieser das Suchergebnis nach jeder Eingabe aktualisiert werden kann (When an input value change).

Funktionsbeschreibung

Dieses Plugin erweitert die Funktionalität einer einfachen Tag Cloud in WordPress durch drei Punkte:

  1. Schlagworte werden jedem Blogbeitrag zugeordnet
  2. Schlagworte besitzen eine “Wichtigkeit” und werden dementsprechend dargestellt
  3. Schlagworte können auf einen bestimmten Artikel zeigen und nicht auf die Tag Suche

Schlagworte sind Blogbeiträgen zugeordnet

Für jeden Blogbeitrag werden die Schlagworte separat angezeigt. Dies hat den Vorteil, dass wirklich jeder Seite unterschiedliche aber auch überschneidende Schlagwörter angezeigt werden können.

crazyapple_com_all_tags
Cloud mit allen im Blog von Mr.Crazyapple vergebenen Schlagworten.

Beispiel: Auf der Seite Auto sind die Schlagworte Audi, BMW, Mercedes und Peugeot zugeordnet. Auf der Seite Fahrrad in die Schlagworte Hercules, Gudereit. BMW und Peugeot vorhanden. Die Worte BMW und Peugeot können auf beiden Seiten kontextbezogen unterschiedlich gewichtet werden.

Dies setzt allerdings voraus, dass die Tags sinnvoll und in einer gewissen Menge vergeben werden. Als sinnvoll hat sich die Anzahl von mind. 12 bis max. 24 Tags ergeben. Bei zu wenigen Schlagworten ist die Cloud nicht ausgefüllt und/oder viele Worte gleich priorisiert. Viele Schlagworte hingegen nehmen die Übersicht und die wichtigen Beziehungen kommen nicht deutlich hervor.

Gewichtung von Schlagworten

Bei der üblichen Darstellung werden Schlagworte nach Häufigkeit gewichtet. Ein häufig vorkommendes Wort ist wichtiger als ein Wort, welches nur ein oder zweimal vorkommt. Im Prinzip stimmt das natürlich. Dieses Prinzip hat auch einige Nachteile, etwa wenn nur wenige Tags vergeben wurden und viele Schlagworte mit geringer Häufigkeit dargestellt werden. Dann sind dem Anschein nach alle Tags gleich wichtig.
Die Priorisierung von Schlagworten bietet die Möglichkeit, auch nur einfach vergebene Tags als wichtig zu klassifizieren.

prewiew_stc_picBeispiel: In einem DMS existieren viele Dokumente zum Thema Serverinstallation, Serveradministration, User Management usw.. Das Dokument mit dem Thema Computersicherheit existiert einmal und deren Tag treffen nicht auf die anderen Dokumente zu. Das Dokument „Computersicherheit“ soll aber immer als wichtig in der Tag Cloud angezeigt werden.

Permalink von Schlagworten

Bei der Demonstration vor dem Brainstorming wurde ebenfalls bemängelt, dass aus der Cloud heraus immer die Suchfunktion angesprochen wird. Ausgewählte Schlagworte sollten doch auf ein bestimmtes Dokument zeigen. Diese Idee ist interessant, obwohl diese dem Grundsatz der Suche wiederspricht. Ich habe diese Idee aufgegriffen und will dieses Feature in der Praxis testen.