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) |
---|