| 1 | (require "./wrap") |
|---|
| 2 | |
|---|
| 3 | ;(use gauche.test) |
|---|
| 4 | ;(test-start "cabocha") |
|---|
| 5 | ;(test-module 'cabocha) |
|---|
| 6 | |
|---|
| 7 | (define c (cabocha-new)) |
|---|
| 8 | ;(test* "cabocha?" #t (cabocha? c)) |
|---|
| 9 | |
|---|
| 10 | (define (pp-chunk chunk) |
|---|
| 11 | (let1 tokens-in-chunk (fourth chunk) |
|---|
| 12 | ; (format #t "~d) => ~d ~a // head=~a func=~a score:~a\n" |
|---|
| 13 | ; (format #t "~a // head=~a func=~a score:~a\n" |
|---|
| 14 | (format #t "~a // head=~a func=~a\n" |
|---|
| 15 | ; (second chunk) |
|---|
| 16 | ; (third chunk) |
|---|
| 17 | (map token-surface (vector->list tokens-in-chunk)) |
|---|
| 18 | (token-surface (vector-ref tokens-in-chunk (fifth chunk))) |
|---|
| 19 | (token-surface (vector-ref tokens-in-chunk (sixth chunk))) |
|---|
| 20 | ; (seventh chunk) |
|---|
| 21 | ))) |
|---|
| 22 | |
|---|
| 23 | (define (cparse sentence) |
|---|
| 24 | (let* ([s (string-append sentence "。")] |
|---|
| 25 | [tree (cabocha-sparse-totree c s)] |
|---|
| 26 | ) |
|---|
| 27 | (format #t "\n「~a」\n" s) |
|---|
| 28 | (let* ([token-size (cabocha-tree-token-size tree)] |
|---|
| 29 | [chunk-size (cabocha-tree-chunk-size tree)] |
|---|
| 30 | [chunk-list (cabocha-tree-chunk-list tree)]) |
|---|
| 31 | (format #t "token size: ~d, " token-size) |
|---|
| 32 | (format #t "chunk size: ~d\n" chunk-size) |
|---|
| 33 | ; (for-each pp-chunk chunk-list) |
|---|
| 34 | ; (print "-") |
|---|
| 35 | (let1 terminal-chunk (find (lambda (c) (= -1 (third c))) chunk-list) |
|---|
| 36 | ;(pp-chunk terminal-chunk) |
|---|
| 37 | (let loop ((level 0) (chunk terminal-chunk)) |
|---|
| 38 | (dotimes (i level) (display ": ")) (display "+- ") |
|---|
| 39 | (pp-chunk chunk) |
|---|
| 40 | (let1 link-from (filter (lambda (c) (= (second chunk) (third c))) chunk-list) |
|---|
| 41 | ;(map pp-chunk link-from) |
|---|
| 42 | (map (cut loop (+ level 1) <>) link-from)) |
|---|
| 43 | ; (dotimes (i level) (display ": ")) (newline) |
|---|
| 44 | )) |
|---|
| 45 | ))) |
|---|
| 46 | |
|---|
| 47 | ;(load "sentences.scm") |
|---|
| 48 | ;(for-each cparse sentences) |
|---|
| 49 | (load "sentences.scm") |
|---|
| 50 | (for-each cparse sentences) |
|---|
| 51 | |
|---|
| 52 | (cabocha-destroy c) |
|---|
| 53 | ;(test-end) |
|---|