Emacs Emacs : Emacs 1 Emacs Emacs ( ) (NPCMJ ) 1 Emacs NPCMJ 2 1
2 2.1 NPCMJ (http://npcmj.ninjal.ac.jp/) (Santorini, 2010) (NPCMJ, 2016) (1) (, 2016) (1) (2) (1) ( (IP-MAT (CONJ ) (PP (NP (D ) (N )) (P )) (NP-SBJ *) (NP-PRD (IP-REL (NP-OB1 *T*) (PP (NP (PP (NP (PP (NP (N )) (P )) (N )) (P )) (N )) (P ) (P )) (ADVP (ADV )) (PP (NP (N )) (P )) (NP-SBJ * *) (VB ) (AXD )) (N )) (AX ) (VB2 ) (PU )) (ID 71_denen_zakkan;NJ)) (2) 3 2
1. 2. 4 3. NPCMJ 3 1 2 1 NPCMJ BCCWJ 2 NPCMJ (2016 4 ) 3 1 2 2.2 Emacs? 3 Emacs 5 1. 2.1 1 2 2. Emacs Emacs Lisp Lisp 3. Lisp 3
4. Lisp Haskell Scala NPCMJ Emacs 4.2 3 3.1 Emacs Emacs Emacs Emacs 6 Emacs UNIX OS vi Emacs Lisp Lisp Emacs Lisp Emacs 7 Emacs ( ) Emacs Emacs L A TEX 8 Emacs Emacs Lisp (2013) (2012) (1999) (2000) (2011) Web 4
3.2 Emacs 2.1 (1) F1 F12 GUI (3) PP (3) (4) (5) 2 (1) (2) 5
(4) (5) 9 (i) (ii) (iii) Emacs 6
(6) (6) NPCMJ PC 7
3.3 URL http://www.u.tsukuba.ac.jp/ kubota.yusuke.fn/emacs-keyaki-mode.html Emacs Lisp ( ) ( ) Lisp (7) (8) Lisp Emacs Lisp 10 11 (7) (7) (defun get-first-sister (node) (get-first-daughter (get-mother node))) node get-mother get-first-daughter 12 get-mother get-first-daughter 8
Lisp 13 (8) (defun get-ancestors (node list) (if (root-p node) list (cons (get-mother node) (get-ancestors (get-mother node) list)))) list ( root-p ) list (4 ) (cons ) 4 NPCMJ 4.1 14 3.1 GUI Anything Emacs (9) 9
(9) Emacs Emacs 1 Emacs 2 ( ) 15 Emacs 16 Windows Mac Emacs ( ) (9) Emacs 17 GUI 10
Emacs 1 Emacs 2 Emacs 3 Emacs 3 1 Emacs Emacs Emacs 3.1 Emacs 4.2 Emacs ( xml html ) 11
Emacs Lisp Emacs ( ) Emacs (Emacs) Lisp 4.1 (Graham, 1997) Emacs Lisp Emacs (= ) Emacs Lisp Emacs Lisp (Lisp ) A. B. A C. Emacs B 1. A 2. B ( xml ) A C 3. C 12
3 4.1 1 (NPCMJ (, 2015; Kubota and Levine, 2015) ) 18 2 Emacs Lisp Emacs Lisp 1 Lisp Emacs Lisp Emacs Lisp Emacs Lisp (1999) 19.emacs Lisp C Lisp.emacs Lisp (1999) 20 Lisp 20 Lisp 20 ( ) Java C ( awk Perl Python Ruby ) ( ) 90 21 13
(2006) Lipovača (2012) Haskell 22 ( ) Lisp 3.2 ( (sister) (dominance) ) 23 ( ) 5 NPCMJ Emacs NPCMJ ( ) NPCMJ 0 ( : ) ( ) Prashant Pardeshi Alastair Butler Stephen Horn 14
1 NPCMJ 2 Pustejovsky and Stubbs (2013) 3 (2016) 4 Annotald (https://annotald.github.io/) 5 Emacs Lisp Emacs 4.2 6 (2012) 7 Emacs Emacs Lisp 8 9 10 Emacs Lisp (1999) (2011) 11 12 Haskell get-first-sister get-mother get-first-daughter Emacs Lisp 13 (raising) ( ) 14 (2015) 15 16 (2009) Anything helm Anything Emacs Emacs 17 15
( ) (2015) 18 Emacs Lisp Emacs Lisp (2010) Emacs Lisp ( ) ( html L A TEX ) ( (2011) (2012) ) Emacs Lisp Emacs Lisp Emacs Lisp (2011) 19.emacs Emacs Emacs Emacs Lisp 20 (2008) Lisp Lisp 21 Lisp (2000 ) Lisp 22 (2012) Ruby Ruby Ruby 23 (2016) 2 (2016) 22 589 592 (2006) Haskell : :. (2013) : Python : 16
Graham, Paul (1997) On Lisp :. ( ). (1999) Emacs-Lisp :. (2015) 151 Kubota, Yusuke and Robert Levine (2015) Against Ellipsis: Arguments for the Direct Licensing of Non-Canonical Coordinations. Linguistics and Philosophy 38(6): 521 576. Lipovača, Miran (2012) Haskell! :. ( ) (2008) 11 Let s Talk Lisp http://www.itmedia.co.jp/enterprise/articles/0801/29/news010.html. (2017 1 26 ) (2009) Emacs 9 auto-complete http://dev.arielnetworks.com/wp/documents/aritcles/emacs/part9. (2017 1 26 ) (2010) Emacs Lisp http://cx4a.org/pub/emacs-lisp-forscripting.ja.html. (2017 1 26 ) (2015) :. NPCMJ (2016) Keyaki Treebank/NINJAL Parsed Corpus of Modern Japanese (NPCMJ) (2011) IT 3: :. (2012) Emacs :. Pustejovsky, James and Amber Stubbs (2013) Natural Language Annotation, CA: O Reilly. (2011) Emacs LISP :. Santorini, Beatrice (2010) Annotation manual for the Penn Historical Corpora and the PCEEC (Release 2). Department of Linguistics, University of Pennsylvania. (2012) IT 4: Ruby :. (2000) : Emacs Lisp :. (2016) : 151 434 439. (2016) (1999): Emacs Lisp (2000): 17
(2011): Graham (1997): Lisp ( ) (2006): Haskell Haskell ( ) Development of a syntactic annotation tool for parsed corpora Yusuke Kubota University of Tsukuba Abstract This paper describes an extension of the Emacs editor for the annotation of syntactic structures in parsed corpora: Emacs Keyaki Mode. Keyaki Mode was developed for the purpose of aiding manual correction of syntactic annotation in the construction of the NINJAL Parsed Corpus of Modern Japanese. In the course of developing this software, we learned that the extensibility of Emacs via Emacs Lisp (which is a full-fledged programming language, rather than an impoverished macro language for editor customization) is very useful and makes Emacs a potentially very attractive environment for developing text annotation tools in general. At the same time, we encountered several challenges mainly due to the fact that the default interface of Emacs is somewhat idiosyncratic and unintuitive from a modern perspective. After explaining the main features of Keyaki Mode and sketching its implementation, the paper discusses potential advantages and pitfalls when Emacs is viewed as a platform for annotation tool development. Key words: treebank, annotation, corpus, Emacs, user interface 18