Diskussion:POI-Service: Unterschied zwischen den Versionen

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche
(Tag-Suchstrategie)
(Tag-Suchstrategie)
Zeile 5: Zeile 5:
  
 
== Tag-Suchstrategie ==
 
== Tag-Suchstrategie ==
 +
 +
Begriffliches:
 +
* Term: meist identisch mit Wort, jedoch möglicherweise zusammengesetz bzw. mit Space getrennt
 +
* Tag: Kombination von Key und Value.
  
 
Input: Suchbegriff (z.B. "Schloss" mit Sprachcode, z.B. "DE")  
 
Input: Suchbegriff (z.B. "Schloss" mit Sprachcode, z.B. "DE")  
  
 
Services:  
 
Services:  
* Taginfo API (inkl. neu: get RelatedTerms)  
+
* Taginfo API (inkl. neu: get RelatedTerms).
* Bing Translation API (sonst Chemnitzer Tools)
+
* Bing Translation API (sonst Chemnitzer Tools).
* Liste von deutschen und englischen RelatedTerms
+
* Taginfo API mit Set von RelatedTerms aus beliebigen OSM-Wiki-Seiten (deutschen und englischen).
 +
* (Weitere Linguistik-Tools:
 +
** Wortübersetzung: Bing API (Google Translate API wird kostenpflichtig). [http://www-user.tu-chemnitz.de/~fri/ding/ Chemnitzer Dictionary (en=>de)]. Google Translate API (ist obsolet).
 +
** [http://lingucomponent.openoffice.org/thesaurus.html OpenOffice]/WordNet-Synonyme (englisch und andere Sprachen) oder [http://www.openthesaurus.de/ OpenThesaurus.de] (Deutsch).
 +
** Ontologie, z.B. SKOS: => zu komplex für OSM-Leute?)
  
Preprocessing am Beispiel einer Suche nach dem deutschen Term "Schloss" (ein Term ist meist identisch mit Wort, jedoch möglicherweise zusammengesetz bzw. mit Space getrennt):
+
Preprocessing:
# RelatedTerms ermitteln: DE-Termliste enthält nun "Schloss, Villa, Ruine" (via neue Taginfo API, Resultat: AnyLanguage-Termliste)  
+
# Add RelatedTerms to AnyLanguage-Termlist: RelatedTerms zu "Schloss" auslesen. Die DE-Termliste enthält nun "Schloss, Villa, Ruine" (via neue Taginfo API, Resultat: AnyLanguage-Termlist)  
# Übersetzung AnyLanguage=>EN: Im Beispiel ergibt das eine EN-Termliste "castle, villa, ruin" (mit Bing API, Resultat EN-Termliste)
+
# Translate (AnyLanguage=>EN): Im Beispiel ergibt das eine EN-Termliste "castle, villa, ruin" (mit Bing API, Resultat: EN-Termlist)
# EN-Termliste mit RelatedTerms erweitern: EN-Termliste hat nun nebst "castle, villa, ruin" palace" zusätzlich "manor, bunker, chateau, citadel" (via neue Taginfo API, Resultat: Neue EN-Termliste)
+
# Add RelatedTerms to EN-Termlist: EN-Termliste mit RelatedTerms erweitern: EN-Termliste hat nun nebst "castle, villa, ruin" palace" zusätzlich "manor, bunker, chateau, citadel" (via neue Taginfo API, Resultat: Erweiterte EN-Termlist)
 
# Statistik zu EN-Termliste sammeln: Terms je als Keys und als Values abfragen (bestehende Taginfo API).  
 
# Statistik zu EN-Termliste sammeln: Terms je als Keys und als Values abfragen (bestehende Taginfo API).  
  
Zeile 24: Zeile 32:
 
## ansonsten => Rückgabe Liste mit allen zugehörigen Values (z.B. z.B. Suche nach "EN:amenity" ergibt "amenity=parking; amenity=restaurant; amenity=bench; ...".
 
## ansonsten => Rückgabe Liste mit allen zugehörigen Values (z.B. z.B. Suche nach "EN:amenity" ergibt "amenity=parking; amenity=restaurant; amenity=bench; ...".
 
# Kommt urspr. Suchbegriff als Value vor?  
 
# Kommt urspr. Suchbegriff als Value vor?  
## => Rückgabe. Z.B. Suche nach DE:Bank => "EN:bench" ergibt "amenity=bench".
+
## => Rückgabe Value mit entsprechendem KEy. Z.B. Suche nach DE:Bank => "EN:bench" ergibt "amenity=bench".
 
## Zusätzliche positive Gewichtung falls es eine Wiki-Seite zum Suchbegriff gibt.
 
## Zusätzliche positive Gewichtung falls es eine Wiki-Seite zum Suchbegriff gibt.
# Dann dasselbe mit der ganzen EN-Wortliste im Sinne von schwächerem Ranking und "Meinten Sie..."?
+
# Dann dasselbe wiederholen mit der EN-Wortliste im Sinne von schwächerem Ranking und "Meinten Sie..."?
 
 
Linguistik-Tools:
 
* Wortübersetzung:
 
** Bing API (Google Translate API wird kostenpflichtig). Freies Dictionary (en=>de): http://www-user.tu-chemnitz.de/~fri/ding/
 
** Google Translate API (ist obsolet).
 
* Synonyme: [http://lingucomponent.openoffice.org/thesaurus.html OpenOffice]/WordNet (englisch und andere Sprachen) oder [http://www.openthesaurus.de/ OpenThesaurus.de] (Deutsch).
 
* Ontologie: => zu komplex für OSM-Leute(?)
 
** z.B. SKOS
 
  
 
== Taginfo-Beispiele ==
 
== Taginfo-Beispiele ==

Version vom 28. August 2011, 12:19 Uhr

Allgemeines

...


Tag-Suchstrategie

Begriffliches:

  • Term: meist identisch mit Wort, jedoch möglicherweise zusammengesetz bzw. mit Space getrennt
  • Tag: Kombination von Key und Value.

Input: Suchbegriff (z.B. "Schloss" mit Sprachcode, z.B. "DE")

Services:

  • Taginfo API (inkl. neu: get RelatedTerms).
  • Bing Translation API (sonst Chemnitzer Tools).
  • Taginfo API mit Set von RelatedTerms aus beliebigen OSM-Wiki-Seiten (deutschen und englischen).
  • (Weitere Linguistik-Tools:
    • Wortübersetzung: Bing API (Google Translate API wird kostenpflichtig). Chemnitzer Dictionary (en=>de). Google Translate API (ist obsolet).
    • OpenOffice/WordNet-Synonyme (englisch und andere Sprachen) oder OpenThesaurus.de (Deutsch).
    • Ontologie, z.B. SKOS: => zu komplex für OSM-Leute?)

Preprocessing:

  1. Add RelatedTerms to AnyLanguage-Termlist: RelatedTerms zu "Schloss" auslesen. Die DE-Termliste enthält nun "Schloss, Villa, Ruine" (via neue Taginfo API, Resultat: AnyLanguage-Termlist)
  2. Translate (AnyLanguage=>EN): Im Beispiel ergibt das eine EN-Termliste "castle, villa, ruin" (mit Bing API, Resultat: EN-Termlist)
  3. Add RelatedTerms to EN-Termlist: EN-Termliste mit RelatedTerms erweitern: EN-Termliste hat nun nebst "castle, villa, ruin" palace" zusätzlich "manor, bunker, chateau, citadel" (via neue Taginfo API, Resultat: Erweiterte EN-Termlist)
  4. Statistik zu EN-Termliste sammeln: Terms je als Keys und als Values abfragen (bestehende Taginfo API).

Ranking (Vorschlag SK):

  1. Kommt urspr. Suchbegriff als Key vor?
    1. falls value "YES/NO" ist => Rückgabe. Z.B. Suche nach DE:Bank => "EN:bench" ergibt "bench=yes" und "amenity=bench".
    2. ansonsten => Rückgabe Liste mit allen zugehörigen Values (z.B. z.B. Suche nach "EN:amenity" ergibt "amenity=parking; amenity=restaurant; amenity=bench; ...".
  2. Kommt urspr. Suchbegriff als Value vor?
    1. => Rückgabe Value mit entsprechendem KEy. Z.B. Suche nach DE:Bank => "EN:bench" ergibt "amenity=bench".
    2. Zusätzliche positive Gewichtung falls es eine Wiki-Seite zum Suchbegriff gibt.
  3. Dann dasselbe wiederholen mit der EN-Wortliste im Sinne von schwächerem Ranking und "Meinten Sie..."?

Taginfo-Beispiele

Beispiele für das Taginfo API

keys - Gegeben key, gib alle values mit Rangierung zurück: http://taginfo.openstreetmap.ch/keys/historic#values (API)

search/values - Gegeben value, gib alle Tags ("key=value") mit Rangierung zurück: http://taginfo.openstreetmap.ch/search?q=castle#values (API)

tags/overview - Gegeben Tags ("key=value"), gib Infos zurück (falls welche im Wiki): http://taginfo.openstreetmap.ch/tags/overview?key=historic&value=castle#wiki (API)

keys/overview - Gegeben key, gib nodes/ways/relations-Statistik zurück: http://taginfo.openstreetmap.ch/keys/overview?key=historic API

db/keys - Gegeben key, gib Wiki-Seiten zurück: http://taginfo.openstreetmap.ch/keys?query=historic&filter=in_wiki (API)

Weblinks

Notizen

  • Eine Tag=Value-Paar-Statistik kann auch aktuell und direkt aus der OSM-DB berechnet werden. Das dauert lange - nur schon für CH z.Zt. drei Minuten! - die Daten ändern sich aber nicht so schnell grundlegend). Das bietet auch die TagInfo API.