Diskussion:POI-Service: Unterschied zwischen den Versionen

Aus Geometa Lab OST
Zur Navigation springen Zur Suche springen
Zeile 6: Zeile 6:
== Tag-Suchstrategie ==
== Tag-Suchstrategie ==


=== Vorbereitung der Suchbegriffs-Liste ===
Input: Suchbegriff (z.B. "Schloss" mit Sprachcode, z.B. "DE")


1. Suchbegriff-Liste mit (deutschen) Synonymen erweitern...
Services:  
* Mit Linguistik-Tools, z.B. [http://lingucomponent.openoffice.org/thesaurus.html OpenOffice]/WordNet (englisch und andere Sprachen) oder [http://www.openthesaurus.de/ OpenThesaurus.de] (Deutsch).
* Beispiel: Schloss => Villa
* "historic=castle" wird als "historic" und als "castle" in die Liste aufgenommen
 
2. Suchbegriff-Übersetzung de=>en (bzw. AnyLanguage=>en)
* Übersetzung en=>de (bzw. en=>AnyLanguage) inkl. (deutsche) Synonyme.
* Mit Linguistik-Tools: Bing API? (Google Translate API wird kostenpflichtig). Freies Dictionary (en=>de): http://www-user.tu-chemnitz.de/~fri/ding/
* Beispiel: historic=>historisch, castle=>Schloss.
 
3. Suchbegriff-Liste mit englischen Synonymen erweitern...
* Mit Linguistik-Tools
* Beispiel synonyms("castle") := "palace, manor, bunker, chateau, citadel, ruin".
 
=== Ranking (neu SK/MO) ===
 
Ergänzt durch Beispiel de:Schloss => en:castle => "historic=castle".
 
Input:
* Suchbegriff (mit Sprachcode, z.B. "DE")
* 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
* Liste von deutschen und englischen RelatedTerms


Preprocessing
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):
* Synonyme zu "Schloss" auslesen in de-Wortliste abblegen (via neue Taginfo API)  
# RelatedTerms ermitteln: DE-Termliste enthält nun "Schloss, Villa, Ruine" (via neue Taginfo API, Resultat: AnyLanguage-Termliste)  
* Uebersetzung Schloss=>castle (mit Bing API)
# Übersetzung AnyLanguage=>EN: Im Beispiel ergibt das eine EN-Termliste "castle, villa, ruin" (mit Bing API, Resultat EN-Termliste)
* Synonyme zu "castle" auslesen in en-Wortliste abblegen (via neue Taginfo API)
# 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)
* Statistik zu Vorkommen der Wörter in de- und en-Wortliste als Keys und als Values sammeln (bestehende Taginfo API).
# Statistik zu EN-Termliste sammeln: Terms je als Keys und als Values abfragen (bestehende Taginfo API).  


Ranking:
Ranking (Vorschlag SK):
#  
# Kommt urspr. Suchbegriff als Key vor?
# "engl. Suchbegriff => OSM-Tag/Value-Paar" mittels TagInfo-DB "Vorkommen als Tag" und "Vorkommen als Value".
## falls value "YES/NO" ist => Rückgabe. Z.B. Suche nach DE:Bank => "EN:bench" ergibt "bench=yes" und "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?
## => Rückgabe. Z.B. Suche nach DE:Bank => "EN:bench" ergibt "amenity=bench".
## Zusätzliche Gewichtung falls es eine Wiki-Seite zum Suchbegriff gibt.


=== Ranking aktuell ===
Dann dasselbe mit der ganzen EN-Wortliste im Sinne von "Meinten Sie..."?


Basierend auf:
Linguistik-Tools:
* Google Translate API  
* Wortübersetzung:
* Ontologie
** Bing API (Google Translate API wird kostenpflichtig). Freies Dictionary (en=>de): http://www-user.tu-chemnitz.de/~fri/ding/
* (zu ergänzen)
** 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, 10:06 Uhr

Allgemeines

...


Tag-Suchstrategie

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

Services:

  • Taginfo API (inkl. neu: get RelatedTerms)
  • Bing Translation API (sonst Chemnitzer Tools)
  • Liste von deutschen und englischen RelatedTerms

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):

  1. RelatedTerms ermitteln: DE-Termliste enthält nun "Schloss, Villa, Ruine" (via neue Taginfo API, Resultat: AnyLanguage-Termliste)
  2. Übersetzung AnyLanguage=>EN: Im Beispiel ergibt das eine EN-Termliste "castle, villa, ruin" (mit Bing API, Resultat EN-Termliste)
  3. 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)
  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. Z.B. Suche nach DE:Bank => "EN:bench" ergibt "amenity=bench".
    2. Zusätzliche Gewichtung falls es eine Wiki-Seite zum Suchbegriff gibt.

Dann dasselbe mit der ganzen EN-Wortliste im Sinne von "Meinten Sie..."?

Linguistik-Tools:

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.