Wörter zählen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Wörter zählen

    Guten Abend,

    mit substr_count kann man die Anzahl der Wörter in einem String auslesen. Der Nachteil aber ist, dass er nur exakte Wörter zählt.

    Würde ich z.B. nach Suchmaschine suchen, dann würde er nicht die Wörter Suchmaschinen zählen. Wie läßt sich dieses Problem lösen?


    Mfg
    Zocker

  • #2
    schau dir mal reguläre ausdrücke an und mach es damit.

    Kommentar


    • #3
      Suchmaschinen ist doch ein Wort?!


      ... Ah, JETZT verstehe ich. Okay - hast du ne Datenbank, wo der Text drinne steht?
      Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
      var_dump(), print_r(), debug_backtrace und echo.
      Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
      Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
      Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

      Kommentar


      • #4
        und was ist, wenn jemand nach "Suchmaschinen" sucht? wird er keinen einzigen treffer haben, wenn der text vierzig mal das wort "suchmaschine" enthält?

        Kommentar


        • #5
          Vielen Dank für eure Antworten!

          @Morri
          Könntest du mir ein Beispiel geben, wie sich das mit den regulären ausdrücken lösen läßt? Danke!


          Mfg
          Zocker

          Kommentar


          • #6
            wenn du bei google "Suchmaschinen" schreibst, dann bekommst du auch die "Suchmaschinen" und keine "Suchmaschine" und das ist gut so.
            wenn du alle Wortteile die irgendwo in dem Wort stehen haben willst, dann bekommst du nie eine eindeutige Suche.
            es wird dir Such, Su, Suc , ch, und alle andere mögliche Variazionen geben, die mit deiner Suche nichts zutun haben.
            Teoretisch kannst du natürlich jeder eingegebener Wort lexikalisch untersuchen um z.b.s rausfinden, das "Suchmaschienen" eine mehrzahl von "Suchmaschiene" ist um die zusätzliche suche von "Suchmaschiene" zu starten, aber in diesem Fall hilft dir natürlich kein REGEX sondern ein extra-Datenbank oder spezifische Datei um ein Wort erst lexikalisch zuordnen, und danach alle mögliche Varianten von diesem Wort für die Suche einzusätzen.
            Slava
            bituniverse.com

            Kommentar


            • #7
              Teoretisch kannst du natürlich jeder eingegebener Wort lexikalisch untersuchen um z.b.s rausfinden, das "Suchmaschienen" eine mehrzahl von "Suchmaschiene" ist um die zusätzliche suche von "Suchmaschiene" zu starten, aber in diesem Fall hilft dir natürlich kein REGEX sondern ein extra-Datenbank oder spezifische Datei um ein Wort erst lexikalisch zuordnen, und danach alle mögliche Varianten von diesem Wort für die Suche einzusätzen.
              das geht auch automatisierter, wenn auch nicht perfekt, aber deutsch ist in der hinsicht gar nicht so kompliziert.

              Kommentar


              • #8
                Stichwort Stemming!

                Und wer einen wirklich guten deutschen Stemmer findet, möge sich bitte melden.

                Kommentar


                • #9
                  o doch!
                  da ich mich die letzte zeit ein wenig mit Hyphenatoren(Silbentrennung) beschäftigt habe, die sogar von Latex nicht ohne Fehler läuft und das gerade wegen Zusammensetzung von deutschen Wörter(SuchMaschine ist ein Beispiel dafür)
                  In jedem fall wird es nicht ohne extrabibliotheken klappen, da dieser Algorithmus in jedem Fall zusätzliche Informationen braucht.
                  wenn man die Dateien von aspell anschaut,
                  ftp://ftp.gnu.org/gnu/aspell/dict/de/
                  dann wird es auch klar, dass dieser Projekt, doch einige Massen komplex ist.
                  Slava
                  bituniverse.com

                  Kommentar


                  • #10
                    Original geschrieben von onemorenerd
                    Stichwort Stemming!

                    Und wer einen wirklich guten deutschen Stemmer findet, möge sich bitte melden.
                    ich glaube, dass es auch nicht so einfach ist, und wieder wegen Zusammensätzung von Wörter.
                    Du kannst auch die sprachdateien von OpenOffice anschauen, da kann man glaube ich auch die Stammwörter finden.
                    Zuletzt geändert von Slava; 20.10.2006, 21:14.
                    Slava
                    bituniverse.com

                    Kommentar

                    Lädt...
                    X