Volltextsuche mit Lucene & Lupy

Größe: px
Ab Seite anzeigen:

Download "Volltextsuche mit Lucene & Lupy"

Transkript

1 Ruprecht-Karls-Universität Heidelberg Seminar für Computerlinguistik HS: Information Retrieval PD Dr. Karin Haenelt WS 26/7 Enikö Gross Alina Tokarczyk

2 Inhalt Lucene Lupy Was ist Lucene? Aufbau des Pakets / Übersicht der Funktionen Lucene-Ablauf Was ist Lupy? Aufbau von Lupy-API Anwendung von Lupy Evaluierung Ziel des Experiments Textkorpus und Beispieltext Queries Suchergebnisse Sonderfälle Zusammenfassung Softwaresysteme, die Lucene benutzen Literatur

3 Was ist Lucene? Lucene ist eine open-source Quellcode-Bibliothek für Textsuchmaschinen programmiert in Java leistungsstark (schnell, effizient) enthält umfangreiche Funktionen zur Implementierung einer großen Textsuchmaschine geeignet (API - engl. application programming interface, dt. Schnittstelle zur Anwendungsprogrammierung) Realisierung der Volltextsuche erfolgt in zwei Hauptschritten: der Indexierung und der Suche Die aktuelle Version: Lucene 2..

4 Lucene-Entwicklung Im Rahmen der Apache Software Foundation (ASF) wurde das Jakarta Projekt (Implementierungen Java- Anwendungen) angefangen Lucene ist ein Teil des Jakarta Projekts und wird seit 1997 entwickelt Der Begründer von Lucene ist Doug Cutting

5 Lucene Packages Lucene enthält die folgenden packages: analysis document index queryparser search store util

6 Klassen in analysis Analyzer.class CharStream.class CharTokenizer.class FastcharStream.class ISOLatin1AccentFilter.class KeywordAnalyzer.class KeywordTokeniyer.class LengthFilter.class LetterTokenizer.class LowerCaseFilter.class LowerCaseTokenizer.class ParseException.class PerFieldAnalyzerWrapper.class PorterStemFilter.class PorterStemmer.class SimpleAnalzyer.class StandardAnalyzer.class StandardFilter.class StandardTokenizer.class StandardTokenizerConstatnts.class StandardTokenizerTokenManager.cl ass StopAnalyzer.class StopFilter.class Token.class TokenFilter.class Tokenizer.class TokenMgrError.class TokenStream.class WhitespacAnalyzer.class WhitespaceTokenizer.class WordlistLoader.class unterstrichene Klassen sind in Lupy in Python portiert

7 Klassen in index CompoundFileReader.class CompoundFileWriters.class DocumentWriter.class FieldInfo.class FieldInfos.class FiledsReader.class FieldsWriter.class FilterIndexReader.class IndexFileNameFilter.class IndexFileNames.class IndexModifier.class IndexReader.class IndexWriter.class MultipleTermPosition.class MultiReader.class MultiTermDocs.class MultiTermEnum.class MultiTermPositions.class ParallelReader.class Posting.class SegmentInfo.class SegmentInfos.class SegmentMergeInfo.class SegmentMergeQueue.class SegmentMerger.class SegmentReader.class SegmentTermDocs.class SegmentTermEnum.class SegmentTermPositions.class SegmentTermPositionVector.class SegmentTermVector.class Term.class TermBuffer.class TermDocs.class TermEnum.class TermFreqVector.class TermInfo.class TermInfosReader.class TermInfosWriter.class TermPostions.class TermPostitionVector.class TermVectorOffsetInfo.class TermVectorsReader.class TermVectorWriter.class

8 Einige Klassen in package search WildTermEnum.class BooleanClause.class BooleanQuery.class BooleanScorer.class ConjunctionScorer.class DefaultSimilarity.class DisjunctionMaxQuery.class DicjunctionMaxScorer.class ExactPhraseScorer.class Explanation.class FieldCache.class FieldDoc.class FieldDocSortedHitQueue.class FieldSortedHitQueue.class Filter.class FilteredQuery.class FilteredTermEnum.class FuzzyQuery.class FuzzyTermEnum.class HitDoc.class HitQueue.class Hits.class IndexSearcher.class MatchAllDocsQuery.class MutliPhraseQuery.class MultiSearcher.class MultiTermQuery.class ParallelMultiSearcher.class PhrasePositions.class PhraseQuery.class PhraseScorer.class PrefixQuery.class Query.class QueryFilter.class QueryTermVector.class RangeQuery.class ScoreDoc.class Scorer.class Searcher.class Similarity.class Sort.class SortComarator.class SortField.class TermQuery.class TermScorer.class TopDoc.class TopFieldDocs.class Weight.class WildcardQuery.class

9 Grafische Darstellung von Klassen (Scoring)

10 Lucene weitere Projekte Projekte in der Entwicklungsphase: Snowball Stemmers for Lucene (Wortstammreduktion) Lucene WordNet (Synonymsuche; verwendet WordNet- Prologdateien)

11 Gesamtablauf von Lucene Schumann, Lucene. Java (26)

12 Gesamtablauf einer Lucene- Anwendung Indexerstellung ein Suchraum (Textkorpus) wird definiert und aufbereitet Normalisierung die Datenmenge wird mit Hilfe von Analyze reduziert Indexierung wird durchgeführt INDEX MIT DOKUMENEN Eine Anfrage wird gestellt und mittels QueryParser bearbeitet QUERY Index wird gemäß Query durchgesucht Ergebnisse (Hits) können nach Relevanz sortiert werden

13 Lucene - Indexerstellung Das Textkorpus wird in Token zerlegt und mit Hilfe eines Analyzers normalisiert: StandardAnalyzer : ein hoch entwickelter Mehrzweckanalyzer WhitespaceAnalyzer : ein einfacher Analyzer, der die Tokens mittels Lehrstellen aufteilt StopAnalyzer : entfernt die englischen Stoppwörter SnowballAnalyzer : reduziert die Wörter auf ihren Wortstamm (z.b. gesuchtes "rain" gibt auch "raining", "rained", etc... aus) GermanAnalyzer, RussianAnalyzer, FrenchAnalyzer, etc. ein für die jeweiligen Sprachen geeigneter Analyzer Die Dokument-Objekte (documents) werden durch Hinzufügen der Felder (fields) erstellt (Klasse Document)

14 Lucene - Indexstruktur Ein Index besteht aus einer Sequenz von Lucene-Dokumenten (documents) Jedes Dateiformat (HTML, XML, Word, PDF etc.) kann in ein Dokument umgewandelt werden Jedes Dokument besteht aus mindestens einem oder mehreren Feldern (fields), die mit Hilfe von FileDocument hinzugefügt wurden. Ein Feld besitzt einen Namen und einen Wert

15 Lucene Indexstruktur (Fields) In Lucene gibt es vier Feld-Typen (Werte): UnIndexed Feld wird im Index gespeichert (stored) aber nicht in der Suche verwendet Keyword Feld wird gespeichert (stored) und indexiert (indexed) (Keyword ist ein String oder eine Datei) Text Feld wird analysiert (tokenized), indexiert und im Index gespeichert (stored) UnStored Feld-Wert wird analysiert (tokenized) und indexiert, aber nicht im Index gespeichert Eigenschaften von Field: stored Text wird im Index wörtlich (literally) gespeichert indexed invertierte Felder tokenized Text im Feld wird tokenisiert, um die entstandenen Terme zu indexieren

16 Lucene - Indexierung IndexWriter erstellt einen Index und fügt die neuen Dokumente in den Index mit Hilfe der Funktion adddocument() hinzu Mittels IndexReader kann man auf die Daten im Index zugreifen

17 Lucene Beispiel der Indexierung Analyzer analyzer = new StandardAnalyzer(); // Store the index in memory: Directory directory = new RAMDirectory(); // To store an index on disk, use this instead (note that the // parameter true will overwrite the index in that directory // if one exists): //Directory directory = FSDirectory.getDirectory("/tmp/testindex", true); IndexWriter iwriter = new IndexWriter(directory, analyzer, true); iwriter.setmaxfieldlength(25); Document doc = new Document(); String text = "This is the text to be indexed."; doc.add(new Field("fieldname", text, Field.Store.YES, Field.Index.TOKENIZED)); iwriter.adddocument(doc); iwriter.close();

18 Lucene - Suche Searcher wird mit zwei Parametern aufgerufen: Directory, wo der Index liegt Suchanfrage QueryParser erstellt ein Query-Objekt aus einem String (Suchanfrage) Die Volltextsuche wird mittels IndexSearcher durchgeführt. Output: eine Rangliste von gefundenen Dokumenten wird in Hits gespeichert; die Suchergebnisse werden für den Benutzer ausgegeben

19 Lucene - Suche Lucene bietet Datenstrukturen für verschiedene Formen der Query: TermQuery für einzelne Begriffe (TermQuery verbindet die Dokumente, die den gesuchten Begriff beinhalten) PhraseQuery für Phrasen (PhraseQuery verbindet die Dokumente, die eine bestimmte Sequenz der Suchbegriffe in derselben Reihenfolge beinhalten) BooleanQuery für Ausdrücke, in denen die Suchbegriffe mit Booleschen Operatoren (and, or, not) verbunden worden sind

20 Lucene - Suche WildCardQuery Dokumente, die den Wildcards entsprechen, werden ausgesucht. Wildcard besteht aus einem oder mehreren Zeichen (Platzhalter), die durch andere Zeichen realisiert sein können. Bei Lucene gibt es zwei Arten von Wildcards: Fragezeichen (?) Platzhalter für ein beliebiges Zeichen z.b. te?t für text oder test Stern (*) Plazthalter für beleibig viele Zeichen z.b. test* für test, tests oder tester FuzzyQuery verbindet die Dokumente, die einen ähnlichen Term zu dem gesuchten beinhalten z.b. Query: roam~ > foam oder roams PrefixQuery RangeQuery

21 Lucene Beispiel der Suche // Now search the index: IndexSearcher isearcher = new IndexSearcher(directory) // Parse a simple query that searches for "text": QueryParser parser = new QueryParser("fieldname", analyzer); Query query = parser.parse("text"); Hits hits = isearcher.search(query); assertequals(1, hits.length()); // Iterate through the results: for (int i = ; i < hits.length(); i++) { Document hitdoc = hits.doc(i); assertequals("this is the text to be indexed.", hitdoc.get( "fieldname")); } isearcher.close(); directory.close();

22 Lucene Vorteile/Nachteile Vorteile: Indexierung: schnell wenig Speicherplatz benötigt (1MB Heap) Index ist kleiner um 7-8% als der Original-Text Suche: ranked searching Verschiedene Query-Typen vorhanden Sortierung möglich Effektive Modell-Kombination möglich (Vektor-Model + Boolean-Model) sehr flexibel (große Freiheit bei Gestaltung der Suche) sehr gut dokumentiert in vielen anderen Systeme verwendet kostenlos Nachteile: hoher Implementierungsaufwand

23 Lucene-Beispiel: Klasse IndexWriter.java /** * Adds a document to this index, using the provided analyzer instead of the * value of {@link #getanalyzer()}. If the document contains more than * {@link #setmaxfieldlength(int)} terms for a given field, the remainder are * discarded. */ public void adddocument(document doc, Analyzer analyzer) throws IOException { DocumentWriter dw = new DocumentWriter(ramDirectory, analyzer, this); dw.setinfostream(infostream); String segmentname = newsegmentname(); dw.adddocument(segmentname, doc); synchronized (this) { segmentinfos.addelement(new SegmentInfo(segmentName, 1, ramdirectory)); maybemergesegments(); } }

24 Lupy-Beispiel: Klasse IndexWriter (in Python) def adddocument(self, doc): dw = documentwriter.documentwriter(self.ramdirectory, self.analyzer) segmentname = self.newsegmentname() dw.adddocument(segmentname, doc) self.segmentinfos.append(segment.segmentinfo(segmentname, 1, self.ramdirectory)) self.maybemergesegments()

25 Lucene vs. Lupy Lucene ist eine open-source Quellcode-Bibliothek für Textsuchmaschinen programmiert in Java leistungsstark umfangreiche Funktionen Indexierung und Suche zum Aufbau großer Suchmaschinen geeignet Lupy ist eine Portierung von Jakarta Lucene 1.2 (alte Version!) in Python. Der Großteil von Lucene 1.2 wurde in Lupy verwendet. Das Projekt wurde bis Mai 24 von Amir Bakhtiar entwickelt Projektseite:

26 Lupy Lupy - eine open-source Quellcode-Bibliothek für Textsuchmaschinen programmiert in Python mit Hilfe von Lupy kann man eine Volltextsuchmaschine implementieren, die einen Text indexiert und den gebildeten Index durchsucht Text-Indexer kann zu der Indexierung der Textdokumente wie Web-Seiten, Quellcode, s benutzt werden Text-Suche - der Index wird nach den angegebenen Anfragen durchsucht

27 Aufbau der Lupy-API Lupy-API: index - Paket search - Paket document.py (Document, Field) store.py (FSdirectory, RAMDirectory, Stream, FileStream, RAMStream) util.py (BitVector)

28 Aufbau der Lupy-API (Index) index documentwriter.py (DocumentWriter, Posting); Funktion: standardtokenizer field.py (FieldInfo, FieldInfos, FieldsWriter, FieldsReader) indexwriter.py (IndexWriter) segment.py (SegmentTermEnum, SegmentInfo, SegmentInfos) segmentmerger.py (IndexReader, SegmentTermDocs, SegmentTermPositions, SegmentMergeInfo, SegmentMerger, SegmentReader, Norm, SegmentsReader, SegmentsTermDocs, SegmentsTermPosition, TermInfosReader) term.py (Term, TermInfo, TermInfosWriter) terminfo.py (TermInfo)

29 Aufbau der Lupy-API (Suche) search boolean.py (BooleanQuery, BooleanClause, BooleanScorer, SubScorer) hits.py (Hits) indexsearcher.py (IndexSearcher, ScoreDoc, TopDocs) phrase.py (PhraseQuery, PhraseScorer, ExactPhraseScorer, PhrasePositions) similarity.py term.py (TermQuery, TermScorer)

30 Unterschiede zu Lucene In Lupy (im Vergleich zu Lucene): gibt es keine Möglichkeit der Text- oder Anfragen-Analyse (in Lucene: Analyzer, TokenStream, Token, TokenFilter, Tokenizer, StopAnalyzer, StandardAnalyzer) gibt es keinen Query-Parser fehlen die Query-Datenstrukturen (FuzzyQuery, WildCardQuery, PrefixQuery, RangeQuery) wurden viele Klassen in Rahmen der Indexierung und Suche nicht implementiert

31 Unser Experiment Implementierung einer Suchmaschine Ziel des Experiments Textkorpus Beispielanfrage Evaluierung

32 Anwendung von Lupy Lupy Herunterladen Installation Implementierung einer einfachen Suchmaschine und Kodierung der Queries Index erzeugen Index durchsuchen

33 Implementierung (Liste der verwendeten Klassen) Indexerstellung Import from lupy.index.indexwriter import IndexWriter from lupy import document Indexer (Klasse) IndexWriter adddoc(filename) Document (aus document.py) Keyword (aus document.py) Text (aus document.py)

34 Implementierung (Liste der verwendeten Klassen) Suche Import from lupy.index.term import Term from lupy.search.indexsearcher import IndexSearcher from lupy.search.term import TermQuery from lupy.search.phrase import PhraseQuery from lupy.search.boolean import BooleanQuery termsearch(querystring) Term TermQuery phrasesearch(querystring, field) PhraseQuery Term boolsearch(ands=[], ors=[], nots=[]) BooleanQuery Term TermQuery IndexSearcher

35 Ziel des Experiments Der Test der Funktionalität des Programms Werden alle Äquivalente der Query im Index gefunden? Wenn nicht: warum wurden einige Äquivalente nicht gefunden? Werden alle relevanten Dokumente ausgegeben? Der Test der Anwendung: Mit Hilfe der Lupy-Bibliothek kann man eine Suchmaschine implementieren, der nur das Boolsche Modell zugrunde liegt. Wie gut eignet sich dieses Modell für die Informationsbeschaffung? Welche Informationen werden beschaffen? Wie kann die Programmeffizienz verbessert werden? Wird eine Suchmaschine, die sich auf das Vektormodel stützt, bessere Ergebnisse liefern?

36 Textkorpus Textkorpus: 11 kurze Beschreibungen der Praktikumsstellen bei IBM, SAP und Siemens in deutsch und englisch Jeder Text besteht aus: einer Titelzeile (Name und Sitz des Unternehmens und Name der Praktikumsstelle) einem Inhalt mit den Zielen, Anforderungen und Aufgaben des Bewerbers Details: Dauer der Praktikum, Kennziffer der Anzeige

37 Beispieltext Text IBM Böblingen - Automated analysis of customer related problem records Bereich: IBM Entwicklung GmbH, EL Einsatzort: Böblingen Dauer: Zwischen 3 und 5 Monate Beginn des Praktikums zwischen dem und dem möglich (Praktikum (Pflicht- / freiwillig) Vollzeit) Aufgabengebiet: The goal of this internship is to develop a program in perl to automatically analyse records about customer problems. Especially statictical data shall be extracted from text based records in varius formats (e.g. HTML). Anforderungen: English language[mandatory], Linux/UNIX[useful], Programming in Perl[useful] Unser Angebot: The Linux system Z development team at the Boeblingen lab is the system house and maintainer for Linux on the IBM System Z mainframe. We offer insight into a dynamic project from systems architecture to development and system verification even up to technical customer relationship management.

38 Query Queries: Kenntnisse, Fähigkeiten oder Interesse des Bewerbers z.b. Der Bewerber kennt Java aber nicht Perl man konstruiert eine Boolean-Anfrage: +Java und Perl und sucht den Index nach den Dokumenten durch, in denen Java aber nicht Perl vorkommt Kodierung: ([and - erforderlich], [or - optional], [and not - verboten]) Beispiel: +c perl - (['c'], [], ['perl']) Man darf keinen Ausdruck als erforderlich und gleichzeitig verboten spezifizieren

39 Query gesuchter Begriff: 'c++' gesuchte Phrasen: c++, human maschine dialog gesuchte Ausdrücke: +'c' und -'perl +'c' (oder'java' oder'perl') +'develop' +'program' +'perl' +"information retrieval" (oder'text', oder'mining ) +'information' +'retrieval' (oder'text', oder'mining ) (oder'objektorientierten' oder'programmierung' oder'programmierungsprache )

40 Suchergebnisse Query: +c-perl Found in document aesop\1.txt (IBM Böblingen - Softwarepraktikum im Bereich Systemautomatisierung) Found in document aesop\8.txt (SAP Walldorf - Praktikant (w/m) für interaktive Web- Programmierung) Found in document aesop\9.txt (SAP Walldorf - Praktikant / Werkstudent (w/m) mit Schwerpunkt C++ Programmierung) Query: +c java perl Found in document aesop\9.txt (SAP Walldorf - Praktikant / Werkstudent (w/m) mit Schwerpunkt C++ Programmierung) Found in document aesop\1.txt (IBM Böblingen - Softwarepraktikum im Bereich Systemautomatisierung) Found in document aesop\8.txt (SAP Walldorf - Praktikant (w/m) für interaktive Web- Programmierung) Found in document aesop\3.txt (IBM Böblingen - Speech Recognition / Human Machine Dialog / Large Vocabulary Transcription) Found in document aesop\2.txt (IBM Böblingen - Information Retrieval und Information Mining Performance)

41 Suchergebnisse Query: +develop+program+perl Found in document aesop\.txt (IBM Böblingen - Automated analysis of customer related problem records) Query: +information retrievaltextmining Nothing found! Query: +information+retrieval text mining Found in document aesop\2.txt (IBM Böblingen - Information Retrieval und Information Mining Performance) Query: objektorientierten programmierung programmierungsprache Found in document aesop\1.txt (SAP Walldorf - Praktikant (w/m) für den Bereich Java Server Technology ) Found in document aesop\9.txt (SAP Walldorf - Praktikant / Werkstudent (w/m) mit Schwerpunkt C++ Programmierung) Found in document aesop\8.txt (SAP Walldorf - Praktikant (w/m) für interaktive Web- Programmierung)

42 Suchergebnisse Query: software anwendungen softwareentwicklung Found in document aesop\8.txt (SAP Walldorf - Praktikant (w/m) für interaktive Web- Programmierung) Found in document aesop\2.txt (IBM Böblingen - Information Retrieval und Information Mining Performance) Found in document aesop\1.txt (IBM Böblingen - Softwarepraktikum im Bereich Systemautomatisierung) Found in document aesop\9.txt (SAP Walldorf - Praktikant / Werkstudent (w/m) mit Schwerpunkt C++ Programmierung) Query: c++ Nothing found! Query: \c++\ Nothing found! Query: \human machine dialog\ Found in document aesop\3.txt (IBM Böblingen - Speech Recognition / Human Machine Dialog / Large Vocabulary Transcription)

43 Evaluierung Darstellung der Ergebnisse Sonderfälle Test der Funktionalität Test der Anwendung

44 Ergebnisse Queries Relevante Dokumente Relevant ausgegeben Relevant nicht ausgegeben Irrelevant ausgegeben Irrelevant nicht ausgegeben +'c' und -'perl 1 (D. 8) 1 (D. 8) 2 (D. 1,9) 8 +'c' (oder'java' oder'perl') 3 (D.2,3,8) 3 (D. 2,3,8) 2 (D. 1,9) 6 +'develop' +'program' +'perl' 1 (D. ) 1 (D. ) 1 +"information retrieval" (oder'text', oder'mining ) 1 (D. 2) 1 (D. 2) 1 +'information' +'retrieval' (oder'text', oder'mining ) 1 (D. 2) 1 (D. 2) 1 (oder'objektorientierten' oder'programmierung' oder'programmierungsprache ) 3 (D.8,9,1) 3 (D.8,9,1) 8 + software, +anwendung, +softwareentwicklung 4 (D. 1,2,8,9) 4 (D. 1,2,8,9) 7 'c++' 5(D.1,2,3,8,9 ) 5(D.1,2,3,8,9) 6 c++ human maschine Volltextsuche dialog mit 5(D.1,2,3,8,9 ) 1 (D. 3) 5(D.1,2,3,8,9) 1 (d. 3) 6 1

45 Ergebnisse Query Precision Recall Fallout +'c' und -'perl 33,3% 1% 2% +'c' (oder'java' oder'perl') 2% 1% 25% +'develop' +'program' +'perl' 1% 1% +"information retrieval" (oder'text', oder'mining ) +'information' +'retrieval' (oder'text', oder'mining ) 1% 1% (oder'objektorientierten' oder'programmierung' oder'programmierungsprache ) 1% 1% + software, +anwendung, +softwareentwicklung 1% 1% 'c++' c++ human maschine dialog 1% 1% Durchschnitt 59,39% 72,72% 4,1%

46 Ergebnisse Genauigkeit des Suchprozesses (Precision): der durchschnittliche Wert der Präzision ist niedrig und liegt bei ca. 59%. Das bedeutet, dass unsere Suchmaschine ziemlich viele unpräzise Ergebnisse liefert. Außer den relevanten Dokumenten wurden auch die Dokumente ausgegeben, die der Anfrage nicht entsprechen. Vollständigkeit des Suchprozesses (Recall): unser Programm liefert entweder alle relevanten Dokumente (manchmal mit irrelevanten Dokumenten zusammen ), oder keine Dokumente, obwohl in denen der gesuchte Begriff vorkommt. Der durchschnittliche Recall-Wert (ca. 73%) ist höher als der Precision-Wert, aber noch nicht optimal. Die Implementierung der Suchmaschine muss noch verbessert werden, so dass sie in Zukunft an 1% nahe liegende Ergebnisse liefert.

47 Sonderfälle +'c' und -'perl und +'c' (oder'java' oder'perl') In beiden Fällen ist Recall optimal (1%), aber Precision sehr niedrig (33,3% in dem ersten Fall und 2% in dem zweiten). Grund: es wurden alle Dokumente ausgegeben, in denen nicht nur c aber auch c++ vorkommt. + ist ein Sonderzeichen (Boolscher Operator, siehe Ergänzung - Sonderzeichen), der bei der Indexierung ausgelassen wurde und in der Anfrage vorkommend bei der Suche + ignoriert wurde. +"information retrieval" (oder'text', oder'mining ) vs. +'information' +'retrieval' (oder'text', oder'mining ) Phrasenanfrage information retrieval wurde nicht gefunden, wenn man aber nach zwei Termen information und retrieval fragt, wurde ein relevantes Dokument ausgegeben. Die Implementierung der Suchmaschine muss noch verbessert werden. 'c++' und c++ c++ sowohl als Term als auch als Phrasequery wurde nicht gefunden. + ist ein Sonderzeichen (Boolscher Operator, siehe Ergänzung - Sonderzeichen), der nicht als Teil der Anfrage verwendet werden soll.

48 Ergänzung - Sonderzeichen Sonderzeichen in Lucene + - &&! ( ) { } [ ] ^ " ~ *? : \ gehören zu den Schlüsselwörtern in Lucene um dieser Sonderbedeutung zu entgehen, verwendet man den Backslash \ vor dem Zeichen z.b. um den Ausdruck (1+1):2 zu suchen, wird die Query \(1\+1\)\:2 eingeführt In dieser Weise könnte man dieses Problem auch mit Lupy lösen

49 Test der Funktionalität Nicht alle relevanten Dokumente wurden ausgegeben (Recall ca. 73%) und einige irrelevante Dokumente wurden geliefert (Precision ca. 59%) Nicht alle Äquivalente der Query wurden gefunden Die Implementierung unserer Suchmaschine muss ergänzt und verbessert werden.

50 Test der Anwendung Es wurde eine Menge der Dokumente ausgegeben, in denen der gesuchte Ausdruck vorkommt (Totale Übereinstimmung des Dokuments mit dem Term). Ähnliche Dokumente, die nicht vollkommen mit der Anfrage übereinstimmen, werden im Boolschen Modell nicht berücksichtigt. Als Ergebnis wurden die Dokumente ausgegeben, in denen ein gesuchter Term oder Ausdruck einmal oder mehrmals vorkommt (Die präzise Anzahl der Termvorkommen ist für Boolsches Modell irrelevant) Wenn die Suchmaschine auf einem Vektormodell basiert, bekommt man die präziseren Ergebnisse und die ausgegebenen Dokumente werden nach dem Ähnlichkeitsgrad sortiert. Die Mängel unseres Programms liegen darin, dass die Lupy-Bibliothek nicht alle in Lucene-Version implementierten Funktionen zur Verfügung stellt (sie müssten von Anwender selbst implementiert werden).

51 Verbesserungen Implementierung einer auf dem Vektormodell basierten Suchmaschine (Termfrequenz und nicht nur Termvorkommen wird berücksichtigt). Man könnte eine hybride Suchmaschine implementieren, die Boolsches Modell und Vektor-Modell verbindet. Integrieren einer Liste mit Stoppwörter Index-Datei mit einer kleineren Anzahl der Elemente (Fields) wird durchsucht Berücksichtigen der Sonderzeichen

52 Exkurs: Softwaresysteme, die Lucene benutzen Wikipedia für Volltextsuche Beagle benutzt ein Tor von Lucene zu C# Beagle ist eine Desktop- Suchmachine, die die Suche nach Dateien, s, Chatlogs, etc. ermöglicht, ähnlich wie etwa Google Desktop Search Nutch (eine komplette Search Engineimplementierung), die Lucene verwendet CNET verwendet Lucene, um ihre Produktkategorieauflistungen zu suchen Midgard verwendet Lucene für seine Index-Bewegung und Ganztextsuche. Es ist ein Software-Framework, mit dem Webanwendungen wie Web Content Managment Systeme entwickelt werden können, um Informationen professionell online zu verwalten LIRE (Lucene Bild-Wiederherstellung), die die Lucene Search Engine verwendet Weitere Anwendungen siehe

53 Literatur Bazea-Yates, R., Ribeiro-Neto, B. (1999). Modern Information Retrieval. New York. Carstensen, K., et al. (Hrsg.) (24). Computerlinguistik und Sprachtechnologie. München. Owens, Steven J (21). Lucene Tutorial. Ferguson, John (25). Lucene: a tutorial introduction to full-text indexing in Java. duction_to Schumann, Georg (26). Lucene. Java. cms.fhaugsburg.de/report/26/schumann_georg Lucene/Lucene.pdf

Übung Medienretrieval WS 07/08 Thomas Wilhelm, Medieninformatik, TU Chemnitz

Übung Medienretrieval WS 07/08 Thomas Wilhelm, Medieninformatik, TU Chemnitz 02_Grundlagen Lucene Übung Medienretrieval WS 07/08 Thomas Wilhelm, Medieninformatik, TU Chemnitz Was ist Lucene? (1) Apache Lucene is a high-performance, full-featured text search engine library written

Mehr

Jakarta Lucene. Eine Java-Bibliothek zur Suchindex-Erstellung. Seminararbeit Tilman Schneider

Jakarta Lucene. Eine Java-Bibliothek zur Suchindex-Erstellung. Seminararbeit Tilman Schneider Jakarta Lucene Eine Java-Bibliothek zur Suchindex-Erstellung Seminararbeit Tilman Schneider 2004 Tilman Schneider Seminararbeit: Jakarta Lucene Folie 1 Agenda Definition: Suchmaschine Vorstellung von Jakarta

Mehr

Suchmaschinen mit Lucene und SEMS

Suchmaschinen mit Lucene und SEMS Suchmaschinen mit Lucene und SEMS lizenzfrei it consulting gmbh rainer dollinger dollinger@lizenzfrei.at www.lizenzfrei.at Vorstellung Unsere Schwerpunkte Beratung Umsetzung (z.b. Nagios, Lucene, Typo3)

Mehr

Textdokument-Suche auf dem Rechner Implementierungsprojekt

Textdokument-Suche auf dem Rechner Implementierungsprojekt Textdokument-Suche auf dem Rechner Implementierungsprojekt Referent: Oliver Petra Seminar: Information Retrieval Institut für Computerlinguistik Ruprecht-Karls-Universität Heidelberg 19.01.2015 Überblick

Mehr

Lucene eine Demo. Sebastian Marius Kirsch 9. Februar 2006

Lucene eine Demo. Sebastian Marius Kirsch 9. Februar 2006 Lucene eine Demo Sebastian Marius Kirsch skirsch@luusa.org 9. Februar 2006 Text Retrieval wie funktioniert das? Aufgabe: Finde zu Stichwörtern die passenden Dokumente Sortiere sie nach Relevanz zur Suchanfrage.

Mehr

Suchen und Finden mit Lucene und Solr. Florian Hopf 04.07.2012

Suchen und Finden mit Lucene und Solr. Florian Hopf 04.07.2012 Suchen und Finden mit Lucene und Solr Florian Hopf 04.07.2012 http://techcrunch.com/2010/08/04/schmidt-data/ Suche Go Suche Go Ergebnis 1 In Ergebnis 1 taucht der Suchbegriff auf... Ergebnis 2 In Ergebnis

Mehr

Praktikum Information Retrieval Wochen 12: Suchmaschine

Praktikum Information Retrieval Wochen 12: Suchmaschine Praktikum Information Retrieval Wochen 12: Suchmaschine Melikka Khosh-Niat Matthias Jordan 23. Mai 3. Juni 2011 Lösungen: Upload bis 3. Juni 2011 Aktuelle Informationen, Ansprechpartner, Material und Upload

Mehr

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle

Mehr

design kommunikation development

design kommunikation development http://www.dkd.de dkd design kommunikation development Apache Solr - A deeper look Stefan Sprenger, Developer dkd Olivier Dobberkau, Geschäftsführer dkd Agenda Einführung Boosting Empfehlungen Ausblick

Mehr

ht://dig WWW Search Engine Software

ht://dig WWW Search Engine Software ht://dig WWW Search Engine Software Ruprecht-Karls-Universität Heidelberg Seminar für Computerlinguistik Kurs: Information Retrieval Leitung: PD Dr. Karin Haenelt 22.01.2007 Erwin Glockner Übersicht Einführung

Mehr

Eine Abfrage (Query) ist in Begriffe und Operatoren unterteilt. Es gibt zwei verschiedene Arten von Begriffen: einzelne Begriffe und Phrasen.

Eine Abfrage (Query) ist in Begriffe und Operatoren unterteilt. Es gibt zwei verschiedene Arten von Begriffen: einzelne Begriffe und Phrasen. Lucene Hilfe Begriffe Eine Abfrage (Query) ist in Begriffe und Operatoren unterteilt. Es gibt zwei verschiedene Arten von Begriffen: einzelne Begriffe und Phrasen. Ein einzelner Begriff ist ein einzelnes

Mehr

Übersicht. Grundidee des Indexing Lucene Wichtige Methoden und Klassen Lucene Indizierungsbeispiele Lucene Suchbeispiele Lucene QueryParser Syntax

Übersicht. Grundidee des Indexing Lucene Wichtige Methoden und Klassen Lucene Indizierungsbeispiele Lucene Suchbeispiele Lucene QueryParser Syntax Indizierung Lucene Übersicht Grundidee des Indexing Lucene Wichtige Methoden und Klassen Lucene Indizierungsbeispiele Lucene Suchbeispiele Lucene QueryParser Syntax Grundideen und Ziel des Indexing Effizientes

Mehr

Übung: Verwendung von Java-Threads

Übung: Verwendung von Java-Threads Übung: Verwendung von Java-Threads Ziel der Übung: Diese Übung dient dazu, den Umgang mit Threads in der Programmiersprache Java kennenzulernen. Ein einfaches Java-Programm, das Threads nutzt, soll zum

Mehr

1 Dokumentenmanagement

1 Dokumentenmanagement 1 Dokumentenmanagement Das Dokumentenmanagement des GV Büro-System ist ein äußerst leistungsfähiges und mächtiges Tool. Es ist in der Lage, nahezu sämtliche Arten von Dokumenten auf einfache Art und Weise

Mehr

SEP 114. Design by Contract

SEP 114. Design by Contract Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit

Mehr

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum C A R L V O N O S S I E T Z K Y Agile Vorgehensmodelle in der Softwareentwicklung: Scrum Johannes Diemke Vortrag im Rahmen der Projektgruppe Oldenburger Robot Soccer Team im Wintersemester 2009/2010 Was

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

kleines keyword brevier Keywords sind das Salz in der Suppe des Online Marketing Gordian Hense

kleines keyword brevier Keywords sind das Salz in der Suppe des Online Marketing Gordian Hense Keywords sind das Salz in der Suppe des Online Marketing Keywords - Das Salz in der Suppe des Online Marketing Keyword Arten Weitgehend passende Keywords, passende Wortgruppe, genau passende Wortgruppe

Mehr

Computerlinguistik im Service Management eine neue Suche für TOPdesk

Computerlinguistik im Service Management eine neue Suche für TOPdesk Computerlinguistik im Service Management eine neue Suche für TOPdesk Anna Hunecke Diplom Computerlinguistin TOPdesk A.Hunecke@topdesk.com Inhalt TOPdesk Suchen in TOPdesk Lucene Lucene in TOPdesk TOPdesk

Mehr

Programmieren in Java

Programmieren in Java Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können

Mehr

SEA Search Engine Advertising. esc. mediagroup

SEA Search Engine Advertising. esc. mediagroup Search Engine Advertising esc Was ist Suchmaschinenmarketing? Der Begriff Suchmaschinenmarketing (engl. Search Engine Marketing oder kurz: SEM) ist leider nicht einheitlich definiert. Einerseits werden

Mehr

- Google als Suchmaschine richtig nutzen -

- Google als Suchmaschine richtig nutzen - - Google als Suchmaschine richtig nutzen - Google ist die wohl weltweit bekannteste und genutzte Suchmaschine der Welt. Google indexiert und aktualisiert eingetragene Seiten in bestimmten Intervallen um

Mehr

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen Open Source professionell einsetzen 1 Mein Background Ich bin überzeugt von Open Source. Ich verwende fast nur Open Source privat und beruflich. Ich arbeite seit mehr als 10 Jahren mit Linux und Open Source.

Mehr

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Suchmaschinenoptimierung SEO

Suchmaschinenoptimierung SEO Mai 2013 Bei der Suchmaschinenoptimierung (search engine optimization SEO) wird der Internetauftritt im Hinblick auf Suchmaschinen optimiert. Im Folgenden geben wir Ihnen einige Tipps, die Sie bei der

Mehr

Mobile-Szenario in der Integrationskomponente einrichten

Mobile-Szenario in der Integrationskomponente einrichten SAP Business One Konfigurationsleitfaden PUBLIC Mobile-Szenario in der Integrationskomponente einrichten Zutreffendes Release: SAP Business One 8.81 Alle Länder Deutsch November 2010 Inhalt Einleitung...

Mehr

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand: 28.05.2014

robotron*e count robotron*e sales robotron*e collect Anmeldung Webkomponente Anwenderdokumentation Version: 2.0 Stand: 28.05.2014 robotron*e count robotron*e sales robotron*e collect Anwenderdokumentation Version: 2.0 Stand: 28.05.2014 Seite 2 von 5 Alle Rechte dieser Dokumentation unterliegen dem deutschen Urheberrecht. Die Vervielfältigung,

Mehr

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER Inhalt 1 Einleitung... 1 2 Einrichtung der Aufgabe für die automatische Sicherung... 2 2.1 Die Aufgabenplanung... 2 2.2 Der erste Testlauf... 9 3 Problembehebung...

Mehr

2 Evaluierung von Retrievalsystemen

2 Evaluierung von Retrievalsystemen 2. Evaluierung von Retrievalsystemen Relevanz 2 Evaluierung von Retrievalsystemen Die Evaluierung von Verfahren und Systemen spielt im IR eine wichtige Rolle. Gemäß der Richtlinien für IR der GI gilt es,...

Mehr

Java für Computerlinguisten

Java für Computerlinguisten Java für Computerlinguisten 4. Computerlinguistische Anwendungen Christian Scheible Institut für Maschinelle Sprachverarbeitung 30. Juli 2009 Christian Scheible Java für Computerlinguisten 30. Juli 2009

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum

Mehr

Anleitung über den Umgang mit Schildern

Anleitung über den Umgang mit Schildern Anleitung über den Umgang mit Schildern -Vorwort -Wo bekommt man Schilder? -Wo und wie speichert man die Schilder? -Wie füge ich die Schilder in meinen Track ein? -Welche Bauteile kann man noch für Schilder

Mehr

OP-LOG www.op-log.de

OP-LOG www.op-log.de Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

DIE SUCHFUNKTION VON WINDOWS 7

DIE SUCHFUNKTION VON WINDOWS 7 DIE SUCHFUNKTION VON WINDOWS 7 Vorbemerkung Im Anschluss an den Vortrag dieses Themas bei den PC-Senioren LB am 05.07.2012 habe ich aufgrund verschiedener Reaktionen und Fragen einzelner Zuhörer festgestellt,

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Abenteuer e-commerce Erfolgreich mit dem eigenen Onlineshop.

Abenteuer e-commerce Erfolgreich mit dem eigenen Onlineshop. Content & Contentpflege in oscommerce CMS - oder geht es auch günstiger? Seit Jahren gibt es keine Fachzeitschrift, welche das Thema Wichtigkeit von Content im Bezug auf Suchmaschinenoptimierung ausließ.

Mehr

Institut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x),

Institut für Programmierung und Reaktive Systeme 25. August 2014. Programmier-Labor. 04. + 05. Übungsblatt. int binarysearch(int[] a, int x), Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 25. August 2014 Programmier-Labor 04. + 05. Übungsblatt Aufgabe 21: a) Schreiben Sie eine Methode

Mehr

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler Downloadfehler in DEHSt-VPSMail Workaround zum Umgang mit einem Downloadfehler Downloadfehler bremen online services GmbH & Co. KG Seite 2 Inhaltsverzeichnis Vorwort...3 1 Fehlermeldung...4 2 Fehlerbeseitigung...5

Mehr

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE

2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2. ERSTELLEN VON APPS MIT DEM ADT PLUGIN VON ECLIPSE 2.1 Die Einrichtung der Benutzeroberfläche Das Einrichten einer Android-Eclipse-Entwicklungsumgebung zur Android-Entwicklung ist grundsätzlich nicht

Mehr

Indexstrukturen in XML

Indexstrukturen in XML Seminar XML und Datenbanken Indexstrukturen in XML Vanessa Schäfer 07.02.2003 Übersicht Einführung Indexstrukturen in XML Ein Vergleich SphinX vs. Lore Zusammenfassung und Ausblick Seminar XML und Datenbanken

Mehr

Teil 1: IT- und Medientechnik

Teil 1: IT- und Medientechnik Matrikelnummer Punkte Note Verwenden Sie nur dieses Klausurformular für Ihre Lösungen. Die Blätter müssen zusammengeheftet bleiben. Es dürfen keine Hilfsmittel oder Notizen in der Klausur verwendet werden

Mehr

Import von Daten aus Word nach KlasseDozent

Import von Daten aus Word nach KlasseDozent Import von Daten aus Word nach KlasseDozent KlasseDozent ermöglicht Ihnen prinzipiell den Import aus Word-Dateien heraus auf zwei Wegen. Sie können einmal eine Word-Datei im Rich-Text-Format abspeichern

Mehr

Was ist Custom Search?

Was ist Custom Search? Custom Search Was ist Custom Search? Benutzerdefinierte Suchmaschine Eingrenzen der zu durchsuchenden Seiten oder Hervorheben priorisierter Seiten in der Websuche Gestaltung des Aussehens der Eingabeleiste

Mehr

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI TTS - TinyTimeSystem Unterrichtsprojekt BIBI Mathias Metzler, Philipp Winder, Viktor Sohm 28.01.2008 TinyTimeSystem Inhaltsverzeichnis Problemstellung... 2 Lösungsvorschlag... 2 Punkte die unser Tool erfüllen

Mehr

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers Ist Excel das richtige Tool für FMEA? Einleitung Wenn in einem Unternehmen FMEA eingeführt wird, fangen die meisten sofort damit an,

Mehr

Kommunikations-Parameter

Kommunikations-Parameter KNX App knxpresso für Android Tablets/Phones Kommunikations-Parameter Ausgabe Dokumentation: Mai. 2015 Doku Version V1.0.0 - Seite 1/8 Inhaltsverzeichnis 1.1 Nützliche Links... 3 1.2 Beschreibung der Kommunikations-Datei...

Mehr

Online-Dateienablage und Datenaustauschdienst Box.net Stand: September 2011

Online-Dateienablage und Datenaustauschdienst Box.net Stand: September 2011 Online-Dateienablage und Datenaustauschdienst Box.net Stand: September 2011 Jan Oesch, PHBern, Institut Sekundarstufe II Der Datenaustauschdienst Box.net eignet sich besonders für den regelmässigen Austausch

Mehr

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin

Das Pflichtenheft. Dipl.- Ing. Dipl.-Informatiker Dieter Klapproth Ains A-Systemhaus GmbH Berlin Fragestellungen: Warum reicht das Lastenheft nicht aus? Was kann ich mit dem Lastenheft machen? Was unterscheidet das Pflichtenheft vom Lastenheft? Was gehört zum Auftragsumfang einer Individualsoftware?

Mehr

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche

etutor Benutzerhandbuch XQuery Benutzerhandbuch Georg Nitsche etutor Benutzerhandbuch Benutzerhandbuch XQuery Georg Nitsche Version 1.0 Stand März 2006 Versionsverlauf: Version Autor Datum Änderungen 1.0 gn 06.03.2006 Fertigstellung der ersten Version Inhaltsverzeichnis:

Mehr

Internet Explorer Version 6

Internet Explorer Version 6 Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster

Mehr

Semestralklausur zur Vorlesung. Web Mining. Prof. J. Fürnkranz Technische Universität Darmstadt Sommersemester 2004 Termin: 22. 7.

Semestralklausur zur Vorlesung. Web Mining. Prof. J. Fürnkranz Technische Universität Darmstadt Sommersemester 2004 Termin: 22. 7. Semestralklausur zur Vorlesung Web Mining Prof. J. Fürnkranz Technische Universität Darmstadt Sommersemester 2004 Termin: 22. 7. 2004 Name: Vorname: Matrikelnummer: Fachrichtung: Punkte: (1).... (2)....

Mehr

Online-Sendungsverfolgung. Morgenpost Briefservice GmbH

Online-Sendungsverfolgung. Morgenpost Briefservice GmbH Online-Sendungsverfolgung Morgenpost Briefservice GmbH Inhaltsverzeichnis 1 Allgemeines 3 1.1 Sendungssuche 3 1.2 Verfolgen 3 1.3 Abfertigung 4 2 Beschreibung des technischen Ablaufs 4 3 Beschreibung der

Mehr

Künstliches binäres Neuron

Künstliches binäres Neuron Künstliches binäres Neuron G.Döben-Henisch Fachbereich Informatik und Ingenieurwissenschaften FH Frankfurt am Main University of Applied Sciences D-60318 Frankfurt am Main Germany Email: doeben at fb2.fh-frankfurt.de

Mehr

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,

Mehr

FLOCOM. Google beachtet nicht die Groß- bzw. Kleinschreibung: KOCHREZEPTE, kochrezepte und Kochrezepte bringen alle das gleiche Ergebnis.

FLOCOM. Google beachtet nicht die Groß- bzw. Kleinschreibung: KOCHREZEPTE, kochrezepte und Kochrezepte bringen alle das gleiche Ergebnis. Suchmaschinen richtig Mit über 200 Millionen Suchanfragen täglich hat sich Google zu der wichtigsten und meist genutzten Suchmaschine im WWW entwickelt. Deshalb werden wir für unsere Übungen auch Google

Mehr

Thematische Abfrage mit Computerlinguistik

Thematische Abfrage mit Computerlinguistik Thematische Abfrage mit Computerlinguistik Autor: Dr. Klaus Loth (ETH-Bibliothek Zürich) Zusammenfassung Der Beitrag befasst sich mit dem Einsatz der Computerlinguistik bei der thematischen Abfrage einer

Mehr

1 topologisches Sortieren

1 topologisches Sortieren Wolfgang Hönig / Andreas Ecke WS 09/0 topologisches Sortieren. Überblick. Solange noch Knoten vorhanden: a) Suche Knoten v, zu dem keine Kante führt (Falls nicht vorhanden keine topologische Sortierung

Mehr

Wie richten Sie Ihr Web Paket bei Netpage24 ein

Wie richten Sie Ihr Web Paket bei Netpage24 ein Wie richten Sie Ihr Web Paket bei Netpage24 ein Eine kostenlose ebook Anleitung von Netpage24 - Webseite Information 1 E-Mail Bestätigung... 3 2 Ticketsystem... 3 3 FTP Konto anlegen... 4 4 Datenbank anlegen...

Mehr

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...

Verhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {... PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:

Mehr

Java Einführung Collections

Java Einführung Collections Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...

Mehr

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Objektorientierte Programmierung für Anfänger am Beispiel PHP Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten

Mehr

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. ewon - Technical Note Nr. 003 Version 1.2 Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite. Übersicht 1. Thema 2. Benötigte Komponenten 3. Downloaden der Seiten und aufspielen auf

Mehr

Maschinelle Übersetzung

Maschinelle Übersetzung Hauptstudiumsprojekt SoSe 07 Maschinelle Übersetzung Walther v. Hahn, Cristina Vertan {vhahn,vertan}@informatik.uni-hamburg.de Wozu dient ein Projekt? Projekte im Umfang von 6 SWS dienen der Bearbeitung

Mehr

Hilfe zur Urlaubsplanung und Zeiterfassung

Hilfe zur Urlaubsplanung und Zeiterfassung Hilfe zur Urlaubsplanung und Zeiterfassung Urlaubs- und Arbeitsplanung: Mit der Urlaubs- und Arbeitsplanung kann jeder Mitarbeiter in Coffee seine Zeiten eintragen. Die Eintragung kann mit dem Status anfragen,

Mehr

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte RT Request Tracker V2.0 Inhalte 1 Was ist der RT Request Tracker und wo finde ich ihn?...2 2 Was möchten wir damit erreichen?...2 3 Wie erstelle ich ein Ticket?...2 4 Wie wird das Ticket abgearbeitet?...4

Mehr

Allgemeiner Leitfaden zum Einfügen suchmaschinenoptimierter Texte

Allgemeiner Leitfaden zum Einfügen suchmaschinenoptimierter Texte Allgemeiner Leitfaden zum Einfügen suchmaschinenoptimierter Texte Wir von Textprovider, Anbieter von produktbeschreibung.eu möchten Ihnen mit diesem Infoblatt Basisinformationen an die Hand geben, wie

Mehr

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!. 040304 Übung 9a Analysis, Abschnitt 4, Folie 8 Die Wahrscheinlichkeit, dass bei n - maliger Durchführung eines Zufallexperiments ein Ereignis A ( mit Wahrscheinlichkeit p p ( A ) ) für eine beliebige Anzahl

Mehr

Tritt beim Aufruf ein Fehler aus, so wird eine MessageBox mit dem Fehlercode und der Kommandozeile angezeigt.

Tritt beim Aufruf ein Fehler aus, so wird eine MessageBox mit dem Fehlercode und der Kommandozeile angezeigt. WinCC UniAddIn Motivation Add-ins für WinCC können in VBA und VB6 programmiert werden. Andere Entwicklungsumgebungen werden nicht standardmäßig unterstützt. Die Entwicklung in VBA hat den Nachteil, dass

Mehr

12. Dokumente Speichern und Drucken

12. Dokumente Speichern und Drucken 12. Dokumente Speichern und Drucken 12.1 Überblick Wie oft sollte man sein Dokument speichern? Nachdem Sie ein Word Dokument erstellt oder bearbeitet haben, sollten Sie es immer speichern. Sie sollten

Mehr

Installationshinweise für OpenOffice Portable auf einem Wechseldatenträger Stand: 27. März 2003 LS Stuttgart, Kaufmännische ZPG

Installationshinweise für OpenOffice Portable auf einem Wechseldatenträger Stand: 27. März 2003 LS Stuttgart, Kaufmännische ZPG Gliederung 1. Voraussetzungen... 2 2. Download... 2 3. Installation der Version ohne Python... 3 4. Erster Programmstart... 4 Bitte der Autoren Es gibt keine perfekten Installationshinweise, die allen

Mehr

Das DAAD-PORTAL. Prozess der Antragstellung in dem SAPbasierten Bewerbungsportal des DAAD.

Das DAAD-PORTAL. Prozess der Antragstellung in dem SAPbasierten Bewerbungsportal des DAAD. Das DAAD-PORTAL Prozess der Antragstellung in dem SAPbasierten Bewerbungsportal des DAAD. November 2012 Man findet das neue Portal auf der Webseite vom DAAD : www.daad.de/ Danach erscheint ein neues Fenster,

Mehr

SUB-ID- VERWALTUNG MIT GPP SETUP-GUIDE FÜR PUBLISHER

SUB-ID- VERWALTUNG MIT GPP SETUP-GUIDE FÜR PUBLISHER SUB-ID- VERWALTUNG MIT GPP SETUP-GUIDE FÜR PUBLISHER INHALTSVERZEICHNIS Inhaltsverzeichnis... 2 Symbolverzeichnis... 3 Was ist GPP?... 4 Parameternamen... 4 Parameterformat und -größe... 4 Unterstützte

Mehr

... hab ich gegoogelt. webfinder. Suchmaschinenmarketing !!!!!!

... hab ich gegoogelt. webfinder. Suchmaschinenmarketing !!!!!! ... hab ich gegoogelt. webfinder Suchmaschinenmarketing G egoogelt ist längst zu einem geflügelten Wort geworden. Wer googlet, der sucht und wer sucht, soll Sie finden. Und zwar an vorderster Position,

Mehr

Benutzeranleitung emailarchiv.ch

Benutzeranleitung emailarchiv.ch Benutzeranleitung emailarchiv.ch Luzern, 14.03.2014 Inhalt 1 Zugriff... 3 2 Anmelden... 3 2.1 Anmeldung über den Browser... 3 2.2 Anmeldung über das Outlook Plug-In... 4 3 Das Mailarchiv... 5 3.1 Überblick...

Mehr

Gesucht und Gefunden: Die Funktionsweise einer Suchmaschine

Gesucht und Gefunden: Die Funktionsweise einer Suchmaschine Gesucht und Gefunden: Die Funktionsweise einer Suchmaschine Prof. Dr. Peter Becker FH Bonn-Rhein-Sieg Fachbereich Informatik peter.becker@fh-bonn-rhein-sieg.de Vortrag im Rahmen des Studieninformationstags

Mehr

Suchmaschinenoptimierung

Suchmaschinenoptimierung Suchmaschinenoptimierung Oliver Hallmann SEO - Search Engine Optimization Plan B Unternehmer Stammtisch 31. August 2006 http://www.oliverhallmann.de http://www.planb-stammtisch.de Wie arbeitet Google?

Mehr

IBM Software Demos WebSphere Dashboard Framework

IBM Software Demos WebSphere Dashboard Framework IBM ist ein leistungsstarkes, flexibles Tool zur Erstellung aktiver Dashboards. Da Dashboards schnell und einfach erstellt werden können, werden Entwicklungs- und Wartungskosten verringert. Maureen

Mehr

XINDICE. The Apache XML Project 3.12.09. Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de

XINDICE. The Apache XML Project 3.12.09. Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de Name: J acqueline Langhorst E-Mail: blackyuriko@hotmail.de 3.12.09 HKInformationsverarbeitung Kurs: Datenbanken vs. MarkUp WS 09/10 Dozent: Prof. Dr. M. Thaller XINDICE The Apache XML Project Inhalt Native

Mehr

Gesetzliche Aufbewahrungspflicht für E-Mails

Gesetzliche Aufbewahrungspflicht für E-Mails Gesetzliche Aufbewahrungspflicht für E-Mails sind Sie vorbereitet? Vortragsveranstaltung TOP AKTUELL Meins und Vogel GmbH, Plochingen Dipl.-Inf. Klaus Meins Dipl.-Inf. Oliver Vogel Meins & Vogel GmbH,

Mehr

SUCHMASCHINENOPTIMIERUNG FÜR DEN INTERNETAUFTRITT

SUCHMASCHINENOPTIMIERUNG FÜR DEN INTERNETAUFTRITT SUCHMASCHINENOPTIMIERUNG FÜR DEN INTERNETAUFTRITT Fa. adzoom Dawid Przybylski Münsterstr. 5 Tel.: 02381 4672980 Fax.: 02381 4672983 E-Mail: info@adzoom.de SEO was ist denn das eigentlich? Der Begriff SEO

Mehr

Beheben von verlorenen Verknüpfungen 20.06.2005

Beheben von verlorenen Verknüpfungen 20.06.2005 Vor folgender Situation ist sicher jeder Solid Edge-Anwender beim Öffnen von Baugruppen oder Drafts schon einmal gestanden: Die Ursache dafür kann sein: Die Dateien wurden über den Explorer umbenannt:

Mehr

AutoTexte und AutoKorrektur unter Outlook verwenden

AutoTexte und AutoKorrektur unter Outlook verwenden AutoTexte und AutoKorrektur unter Outlook verwenden Die Hilfsmittel "AutoKorrektur" und "AutoTexte", die schon unter Microsoft Word das Arbeiten erleichtern, sind natürlich auch unter Outlook verfügbar.

Mehr

Algorithmen mit Python

Algorithmen mit Python Algorithmen mit Python Vorbesprechung zum Proseminar im Sommersemester 2009 http://www.python.org 1 Sie lernen in DAP Java und C/C++: 80% Syntax, 20% Algorithmen-Design Idee Schon ein einfaches Hello World

Mehr

Wenn keine Verbindung zwischen den Computern besteht, dann bist du offline.

Wenn keine Verbindung zwischen den Computern besteht, dann bist du offline. online Das ist ein englisches Wort und bedeutet in der Leitung". Wenn du mit einem Freund oder einer Freundin telefonierst, bist du online. Wenn sich 2 Computer dein Computer und einer in Amerika miteinander

Mehr

Support-Tipp Mai 2010 - Release Management in Altium Designer

Support-Tipp Mai 2010 - Release Management in Altium Designer Support-Tipp Mai 2010 - Release Management in Altium Designer Mai 2010 Frage: Welche Aufgaben hat das Release Management und wie unterstützt Altium Designer diesen Prozess? Zusammenfassung: Das Glück eines

Mehr

Pflichtenheft. CDIX-Roles. Erweiterung des CDIX Berechtigungssystems. Autor : CD Software GmbH. Copyright 2013-2014 CD Software GmbH Version:

Pflichtenheft. CDIX-Roles. Erweiterung des CDIX Berechtigungssystems. Autor : CD Software GmbH. Copyright 2013-2014 CD Software GmbH Version: Pflichtenheft CDIX-Roles Erweiterung des CDIX Berechtigungssystems Autor : CD Software GmbH Copyright 2013-2014 CD Software GmbH Version: Motivation... 3 Organisation... 3 Kompatibilität und Aktivieren

Mehr

Erstellen und Bearbeiten von Inhalten (Assets)

Erstellen und Bearbeiten von Inhalten (Assets) Wichtig! Beachten Sie die Designrichtlinien im Kapitel Darstellung und Vorgaben zur Erstellung der Inhalte Ein erstellen Sie, wenn Sie einen Download (z.b. PDF-Datei, Word-, Excel-Datei) auf der Website

Mehr

Die Statistiken von SiMedia

Die Statistiken von SiMedia Die Statistiken von SiMedia Unsere Statistiken sind unter folgender Adresse erreichbar: http://stats.simedia.info Kategorie Titel Einfach Erweitert Übersicht Datum und Zeit Inhalt Besucher-Demographie

Mehr

Installation des COM Port Redirectors

Installation des COM Port Redirectors Installation des COM Port Redirectors Über die entsprechenden Treiber ist es möglich, die seriellen Schnittstellen eines IGW/400 als virtuelle COM-Ports eines Windows-PCs zu nutzen. Aus Sicht der PC-Software

Mehr

HMS. Statistiken mit SAS ins Internet. HMS Analytical Software GmbH - Johannes Lang

HMS. Statistiken mit SAS ins Internet. HMS Analytical Software GmbH - Johannes Lang HMS Statistiken mit SAS ins Internet HMS Analytical Software GmbH - Johannes Lang Schweizer Tage der öffentlichen Statistik, Davos 08.09. 10.09.2008 1 Agenda Vorstellung Inhaltliche Einleitung Statische

Mehr

PK-Website: Besuche & Seitenaufrufe 2010 und 2011

PK-Website: Besuche & Seitenaufrufe 2010 und 2011 Abb. 2011-4/278 (Ausschnitt) PK-Website: Besuche & Seitenaufrufe bis 31. Dezember 2011, 248.993 Besuche, 425.183 Seitenaufrufe SG Dezember 2011 / Januar 2012 PK-Website: Besuche & Seitenaufrufe 2010 und

Mehr

Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014

Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014 Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014 Martin Vollenweider Dateinamen im Internet Da wir im Internet in gemischten Hard- und Softwareumgebungen (z.b. Windows, Unix, Macintosh,

Mehr

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word Anleitung zum erstellen einer PDF-Datei aus Microsoft Word 1. Vorbereitung des PCs Um dem Tutorial folgen zu können müssen folgende Programme auf Ihrem PC installiert sein: Ghostskript 8.64: Ghostskript

Mehr

Microblogging im TCC mit dem TCC Twitter

Microblogging im TCC mit dem TCC Twitter Dr. Lutz Gerlach, Stefan Hauptmann Tel. (0371) 53 47 267 Fax (0371) 53 47 269 stefan.hauptmann@cm development.de Microblogging im TCC mit dem TCC Twitter Anwendungsszenarien Bedienungsanleitung Sehr geehrte

Mehr