Spellingscontrole

Pagina: 1
Acties:

  • Pino
  • Registratie: Oktober 2001
  • Laatst online: 28-08 07:28
Ik heb het volgende probleem,

Ik wil van een lap tekst het aantal spelfouten hebben. Ik hoef niet te weten welke woorden fout zijn gespeld of wat er bedoeld zou worden, gewoon puur:

Dit is eeen zin met spelvouten.

Moet een integer waarde van 2 opleveren.


Nou dacht ik zelf aan de volgende opties:

Optie 1:

Zelf een algorithme schrijven met behulp van Levenshtein Distance en een woordenlijst.

probleem: ik moet een tekst dan eerst in woorden indelen en per woord door de woordenlijst zoeken, hierdoor wordt teveel tijd gebruikt.

Ik zou natuurlijk ervan uit kunnen gaan dat de eerste letters van een woord goed zijn, dat zou de zoekopties in een binaire search behoorlijk verkleinen. De vraag is of dat bruikbare resultaten oplevert.


Optie 2:

De spellingscontrole van Microsoft Office, OpenOffice o.i.d. gebruiken. Die van Office 97 enzo is via COM aan te sturen, maar kan die ook gewoon het aantal fouten teruggeven? Heeft iemand hier ervaring mee of een verwijzing naar een voorbeeld?


Persoonlijk werk ik het liefst optie 1 uit, zijn er nog dingen waar ik niet aan heb gedacht?

Het doel is om uit het aantal fouten een percentage te berekenen en zodoende teksten te kunnen indelen.

"If you don't know where you are going, any road will take you there"


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
Kan je ook aangeven waarom je voor optie 1 gaat?
Ik heb zelf nog niet met levenshtein gewerkt ( ik ga er pas mee werken zodra ik het in een keer goed schrijf ;) ) maar ik dacht dat de performance een 'beetje' kut is.

  • Pino
  • Registratie: Oktober 2001
  • Laatst online: 28-08 07:28
Nielsz schreef op 04 november 2002 @ 14:53:
Kan je ook aangeven waarom je voor optie 1 gaat?
Ik heb zelf nog niet met levenshtein gewerkt ( ik ga er pas mee werken zodra ik het in een keer goed schrijf ;) ) maar ik dacht dat de performance een 'beetje' kut is.
Klopt. Dat is dus mijn probleem. De controle mag een paar seconden duren, maar dan moet het toch echt klaar zijn. Het gaat namelijk om ongeveer 30.000 a4 tjes

Nou is COM ook niet echt snel, maar ja, je moet kiezen tussen twee kwaden denk ik. En als ik voor optie 1 ga heb ik geen externe zooi nodig.

"If you don't know where you are going, any road will take you there"


  • Varienaja
  • Registratie: Februari 2001
  • Laatst online: 14-06-2025

Varienaja

Wie dit leest is gek.

THEF_Pino schreef op 04 november 2002 @ 14:56:
Het gaat namelijk om ongeveer 30.000 a4 tjes
En dan weet je straks dat je 5000 fouten hebt in 30000 A4-tjes. En dan?

Siditamentis astuentis pactum.


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Waarom zou je precies met levenshtein werken? Een woord is toch fout gespeld, of het is niet fout gespeld? Redelijk booleaanse algebra, als je 't mij vraagt ;)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Marc
  • Registratie: November 2001
  • Laatst online: 01-12-2021
misschien dom hoor, maar waarom gooi je die tekst niet gewoon in word? daar zal toch wel ergens staan hoeveel fouten hij heeft gevonden?

  • Pino
  • Registratie: Oktober 2001
  • Laatst online: 28-08 07:28
drm schreef op 04 november 2002 @ 15:15:
Waarom zou je precies met levenshtein werken? Een woord is toch fout gespeld, of het is niet fout gespeld? Redelijk booleaanse algebra, als je 't mij vraagt ;)
Eehm, tja, dus, eeh, volgens mij heb ik hier idd een denkfoutje gemaakt :o

Dus ik kan idd per woord gaan controleren of het in een woordenlijst staat. Ik dacht aan levenshtein omdat ik een soort ranking wil hebben, maar die ranking is over het gehele document en niet per woord 8)7

Dat krijg je nou als je te lang over iets nadenkt.

"If you don't know where you are going, any road will take you there"


  • Pino
  • Registratie: Oktober 2001
  • Laatst online: 28-08 07:28
Varienaja schreef op 04 november 2002 @ 15:11:
[...]
En dan weet je straks dat je 5000 fouten hebt in 30000 A4-tjes. En dan?
Ik wil weten PER a4 tje hoeveel fouten erin zitten. Dan kan ik die 30000 a4tjes indelen in goed tot slecht gespeld.

"If you don't know where you are going, any road will take you there"


  • Marc
  • Registratie: November 2001
  • Laatst online: 01-12-2021
THEF_Pino schreef op 04 november 2002 @ 15:20:
[...]


Eehm, tja, dus, eeh, volgens mij heb ik hier idd een denkfoutje gemaakt :o

Dus ik kan idd per woord gaan controleren of het in een woordenlijst staat. Ik dacht aan levenshtein omdat ik een soort ranking wil hebben, maar die ranking is over het gehele document en niet per woord 8)7

Dat krijg je nou als je te lang over iets nadenkt.
of te kort ;)

  • Pino
  • Registratie: Oktober 2001
  • Laatst online: 28-08 07:28
Sanchez schreef op 04 november 2002 @ 15:17:
misschien dom hoor, maar waarom gooi je die tekst niet gewoon in word? daar zal toch wel ergens staan hoeveel fouten hij heeft gevonden?
Dat kan ik dus helaas niet vinden. Als ik via COM de spelling wil controleren moet ik dus eerst Word starten op de achtergrond, dan een nieuw document maken, dan spelling controleren (maar ik wil geen dialogen!) en dan uitlezen hoeveel fouten hij heeft gevonden. Probleem: De gebruiker van mijn app moet Office hebben geinstalleerd.

"If you don't know where you are going, any road will take you there"


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Je kan het ook controleren zonder het op de achtegrond in een document te gooien. Maar feit blijft dat je office geinstalleerd moet hebben. Er zijn ook ActiveX of andere componenten die het zonder office voor je kunnen. Net gratis alleen.

We adore chaos because we like to restore order - M.C. Escher


  • Pino
  • Registratie: Oktober 2001
  • Laatst online: 28-08 07:28
Ok, met de woordenlijsten kom ik er nu wel uit, performance gaat ook wel lukken. Tweede probleem, de teksten staan in HTML, dus ik moet de HTML/Javascript zooi eruit zien te filteren. Heeft iemand hier ervaring mee? Ik dacht aan een textbrowser component voor een dirty oplossing of een HTML woordenlijst met woorden die genegeerd kunnen worden.

"If you don't know where you are going, any road will take you there"


  • Pino
  • Registratie: Oktober 2001
  • Laatst online: 28-08 07:28
LordLarry schreef op 04 november 2002 @ 15:26:
Je kan het ook controleren zonder het op de achtegrond in een document te gooien. Maar feit blijft dat je office geinstalleerd moet hebben. Er zijn ook ActiveX of andere componenten die het zonder office voor je kunnen. Net gratis alleen.
Gratis hoeft ook niet, als het maar niet boven de € 800 komt.

Alles wat ik tot nu toe heb kunnen vinden is veel te geavanceerd, ik hoef geen replacement opties enzo. En dan zijn ze zo geavanceerd en dan kunnen ze niet eens het aantal gevonden fouten teruggeven :(

"If you don't know where you are going, any road will take you there"


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
THEF_Pino schreef op 04 november 2002 @ 15:28:
Ok, met de woordenlijsten kom ik er nu wel uit, performance gaat ook wel lukken. Tweede probleem, de teksten staan in HTML, dus ik moet de HTML/Javascript zooi eruit zien te filteren. Heeft iemand hier ervaring mee? Ik dacht aan een textbrowser component voor een dirty oplossing of een HTML woordenlijst met woorden die genegeerd kunnen worden.
simpele reguliere expressie die alles tussen <> eruit vist?

  • Pino
  • Registratie: Oktober 2001
  • Laatst online: 28-08 07:28
Nielsz schreef op 04 november 2002 @ 15:30:
[...]

simpele reguliere expressie die alles tussen <> eruit vist?
Is een optie voor de HTML inderdaad, maar dan zit ik nog met JavaScript en special characters in HTML, javascript kan ik vinden tussen <script> tag's, special characters via & tekens, heb ik dan alles?

"If you don't know where you are going, any road will take you there"


Verwijderd

Volgens mij was er ook een spellingscontrole voor php te downloaden, misschien kun je daar iets mee? :P

  • Pino
  • Registratie: Oktober 2001
  • Laatst online: 28-08 07:28
Verwijderd schreef op 04 november 2002 @ 15:49:
Volgens mij was er ook een spellingscontrole voor php te downloaden, misschien kun je daar iets mee? :P
Nee, ik moet een Win32 app bouwen.

"If you don't know where you are going, any road will take you there"


  • Nielsz
  • Registratie: Maart 2001
  • Niet online
THEF_Pino schreef op 04 november 2002 @ 15:32:
[...]


Is een optie voor de HTML inderdaad, maar dan zit ik nog met JavaScript en special characters in HTML, javascript kan ik vinden tussen <script> tag's, special characters via & tekens, heb ik dan alles?
Javascripts zitten ook tussen <> :Y)

  • Pino
  • Registratie: Oktober 2001
  • Laatst online: 28-08 07:28
Nielsz schreef op 04 november 2002 @ 15:51:
[...]

Javascripts zitten ook tussen <> :Y)
Dat wel, maar in javascript zitten ook < karakters, dus moet ik alles tussen <script> en </script> negeren.

"If you don't know where you are going, any road will take you there"


  • Steven
  • Registratie: December 2000
  • Laatst online: 25-08 14:01
THEF_Pino schreef op 04 november 2002 @ 15:32:
[...]


Is een optie voor de HTML inderdaad, maar dan zit ik nog met JavaScript en special characters in HTML, javascript kan ik vinden tussen <script> tag's, special characters via & tekens, heb ik dan alles?
• Eerst gooi je alles t/m de <body> tag weg
• Dan gooi je alles na de </body> tag weg
• Daarna gooi je alles wat tussen <script *> en </script> staat weg. (evt. alle document.write("*") ondervangen)
• En als laatste haal je alles weg wat tussen < > staat.
• Eventueel kan je er nog iets overheen laten gaan wat &-tekens omzet.

Verwijderd

Dit heb ik oa om html op te ruimen...
$text = eregi_replace("<head[^<>]*>.*</head>"," ",$text);
$text = preg_replace("/<\!\-\-[\d\D]*?\\-\->/", " ", $text);
$text = eregi_replace("<script[^>]*>.*</script>"," ",$text);
$text = eregi_replace("<style[^>]*>.*</style>"," ",$text);

misschien dat het iets kan helpen

  • Pino
  • Registratie: Oktober 2001
  • Laatst online: 28-08 07:28
Ja, ik ben er gelukkig al uit dankzij Steven en dj_delta. Ik houdt nu gewoon plain tekst over van een pagina en kan nu met de woordenlijsten gaan klooien.

"If you don't know where you are going, any road will take you there"


Verwijderd

misschien dat je hier nog wat aan hebt.... http://void.cyberpunk.ru/wordlist/words.dutch.Z
effe met winzip openen....
Pagina: 1