Avatar billede gotcha Nybegynder
14. oktober 2002 - 12:40 Der er 22 kommentarer og
1 løsning

Udsagnsord og tillægsord

Jeg har fået lavet følgende ASP script:


<%
sWord = Request.QueryString("sWord")
If sWord <> "" Then
    Set oWn = Server.CreateObject( "Wordnet.Wordnet.1" )
    oWn.target = sWord
    oWn.pos = 1
    oWn.linktype = 29
    oWn.sensenum = 0
    sOut = oWn.find
    Set oWn = Nothing
    arrWords = Split(sOut, chr(10))
   
    iCount = uBound(arrWords)
    If sOut <> "" Then
        ' ** udskift "enter" tegn med <br>
        'sOut = Replace(sOut, chr(10), "<br>")
        'Response.Write sOut
            If iCount >= 3 Then
        For i = 3 To uBound(arrWords)-1
'            Response.Write arrWords(i) &  i & " <br>"
            tmpCount = inStr(arrWords(i), " --")
            tmpStr = Mid(arrWords(i), 4, tmpCount-3)
            totString = totString & tmpStr & ","

        Next
        If totString <> "" Then
            totString = Replace(Left(totString, (Len(totString)-1) ), " ", "")
       
        End If   
    End If
   
    Response.Write "output=" & totString
   
    End If
   
End If
%>

Det modtager ét enkelt ord som argument, hvorefter det slår op i en database og finder alle relaterede navneord. Det fungerer ganske fint, men hvordan får jeg det til at hente udsagnsord og tillægsord?

Ud fra hvad jeg kan slutte mig til, må svaret ligge i den første del af koden, siden den sidste del sådan set bare manipulerer og formatterer outputtet, så det kan bruges i Flash.

På forhånd mange tak for hjælpen!

Mvh Morten
Avatar billede a_schack Nybegynder
14. oktober 2002 - 12:48 #1
Det slår ikke op i en database :). Det konstruerer et COM-objekt, som har al logikken (altså det, der slår op i en DB eller lign.) gemt væk fra dig, du får kun resultatet. Hvis du vil have uds.ord og till.ord kan du håbe på, at hvem end der har lavet det COM-objekt også har lavet logikken til at slå pågældende ordtyper op, og så må du til at undersøge COM-objektet (ikke helt ligetil) eller spørge forfatteren af det, om det har mulighederne og hvordan man udnytter dem...
Helt præcist er det sOut = oWn.find, der udfører forespørgslen.
Avatar billede kichian Nybegynder
14. oktober 2002 - 12:51 #2
Mon ikke det er linktype som bestemmer typen?
Avatar billede a_schack Nybegynder
14. oktober 2002 - 12:52 #3
Det kunne godt se sådan ud, men det er ikke til at sige, om den godtager andre og i så fald hvilke. Er det et købt produkt, eller er det skrevet specielt til lejligheden?
Avatar billede gotcha Nybegynder
14. oktober 2002 - 14:42 #4
Det er lavet specielt til lejligheden - jeg fik en gut til at kigge på databasen (den er hentet fra Princeton's hjemmeside), og så fandt han på scriptet...
Avatar billede a_schack Nybegynder
14. oktober 2002 - 14:53 #5
Har du linket?
Avatar billede gotcha Nybegynder
14. oktober 2002 - 15:20 #6
Wordnet kan hentes på:

http://www.cogsci.princeton.edu/~wn/wn1.7.1.shtml

Du bliver også nødt til at installere Wordnet TreeWalk:

http://www2.ac-toulouse.fr/wordnet/
Avatar billede a_schack Nybegynder
14. oktober 2002 - 15:47 #7
Aha...det er oWn.pos der skal ændres til hhv. 2 eller 3 for udsagnsord (verb) eller tillægsord (adjective)...
Avatar billede gotcha Nybegynder
14. oktober 2002 - 16:00 #8
Hvor skønt!
Avatar billede gotcha Nybegynder
15. oktober 2002 - 23:19 #9
Et lille tillægsspørgsmål (sig endelig til, hvis du vil have flere point for det):

I databasen er der mulighed for at vælge noget, der hedder "hypernyms", når man har indtastet et navneord. Er det muligt at udtrække disse?

Mvh Morten
Avatar billede a_schack Nybegynder
16. oktober 2002 - 14:43 #10
Sæt linktype til 2....
Avatar billede gotcha Nybegynder
16. oktober 2002 - 15:12 #11
Hvis jeg sætter linktype = 2 i stedet for 29, så kan jeg ikke åbne den fra Flash (det fungerer ganske fint med 29) :(
Avatar billede a_schack Nybegynder
16. oktober 2002 - 16:19 #12
Hmmm...mærkeligt, dokumentationen siger 2 for hypernyms...men på den anden side eksisterer linktype 29 heller ikke???? Jeg ved det ikke, måske er det en kombination af 2 og 9. Men jeg kender ikke Flash, så den kan jeg nok ikke hjælpe med :(
Avatar billede gotcha Nybegynder
16. oktober 2002 - 16:31 #13
Det har heller intet at gøre med Flash (har arbejdet med Flash de sidste par år), men det, du siger, lyder rimeligt underligt...
Avatar billede a_schack Nybegynder
16. oktober 2002 - 18:41 #14
Ja, men ikke hvis man tænker binært (ved ikke om det har nogen relevans med Wordnet), men 2 er 0010 og 9 er 1001, og det hele er således ved en kombination (OR logik) 1011, men der er mange andre former for logik...
Avatar billede gotcha Nybegynder
20. oktober 2002 - 18:04 #15
Er det muligt at udvikle koden, så den vælger et vilkårligt navneord, udsagnsord eller tillægsord, og returnerer de beslægtede ord?

Mvh Morten
Avatar billede a_schack Nybegynder
21. oktober 2002 - 09:25 #16
Du kunne lade brugerne vælge typen af ordet fra en listbox....
Avatar billede gotcha Nybegynder
21. oktober 2002 - 12:28 #17
Det gør jeg allerede i Flash (der vælges så en passende ASP fil).

Det, jeg mente, var, om du evt. kunne udvide scriptet, så der vælges en vilkårlig pos mellem 1 og 3, hvorefter den slår et vilkårligt ord af typen op i databasen. Jeg går ud fra, at objektet skal have en metode, der returnerer et array med ord. Er det muligt?

Mvh Morten
Avatar billede a_schack Nybegynder
21. oktober 2002 - 12:37 #18
Hvis den bare skal vælge en tilfældig type (fra 1 til 3) skal du sætte pos til Rnd() * 3 + 1 og inden kalde Randomize.
Avatar billede gotcha Nybegynder
21. oktober 2002 - 12:39 #19
Men så vælger den jo kun en tilfældig type og ikke et tilfældigt ord.
Avatar billede a_schack Nybegynder
21. oktober 2002 - 12:41 #20
Puha, du vil simpelthen have, at den laver en liste over ord, selv finder ud af, om de er udsagnsord, tillægsord eller navne ord, og laver et opslag på baggrund af det?
Avatar billede gotcha Nybegynder
21. oktober 2002 - 13:01 #21
Ja :)
Avatar billede a_schack Nybegynder
21. oktober 2002 - 13:02 #22
Så klog er hverken den eller jeg :(
Avatar billede gotcha Nybegynder
21. oktober 2002 - 16:23 #23
Det er helt fint, og tusind tak for hjælpen! :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester