平成7年度 委託研究ソフトウェアの 成果ソフトウェア

(15) 一般化 LR 法を用いた頑健な並列構文解析に関する研究

研究代表者:國藤 進 教授
      北陸先端科学技術大学院大学 情報科学研究科


自然言語処理用ソフトウェア R-LRPar


[特徴ある機能]

   - 本ソフトウェアは,予め与えられた文脈自由文法のもとで,
     入力文(自然言語)に対する構文解析結果を出力する.この
     解析結果が,それに続く意味解析,文脈解析,推論などの処
     理プロセスの入力となる.また,一般化 LR 法に基づいた構
     文解析アルゴリズムを採用しているので,高速な解析が実現
     できる.

   - 本ソフトウェアは,これまでの構文解析ツールのように,シ
     ステムの文法に適合する文だけでなく,不適格文をも受理で
     きる頑健な構文解析ツールである.その際,文法に適合する
     文に対しては,不必要な誤り解析は行なわないので,無用な
     効率の低下を引き起こさない.

[用途]

   - 本ソフトウェアは,これまでの構文解析ツールのように,シ
     ステムの文法に適合する文だけでなく,不適格文をも受理で
     きる頑健な構文解析ツールである.

[使用言語]

   -  Prolog  :  R-LRPar 本体
   -  Perl    :  入力文の品詞づけた後の処理
   -  Shell   :  入力文の品詞づける前の処理
   -  C       :  入力文の品詞をづける処理
                 主に Brill's Tagger の部分である.

[OS 等の環境]

   - Sicstus Prolog や汎用の Prolog のインタプリタが必要
   - Unix などの Perl および shell script がインストールされている環境
   - C compiler がインストールされているシステム

[ソースプログラムの分量]

   -  R-LRPar 本体   : 2895 行 (1.0 M 程度)
   -  文の変換部分   :   33 行 

[その他]

   -  Brill's Tagger は附属しているが,本システムは前処理として
      この Tagger を使っているので,欠かせない部分である.
      利用にあたって,src/btagger/README を参照してから利用して
      下さい.

[ファイルの構成は以下の通りです。]

   ./Manual                          # マニュアルファイル
   ./man                             # 電子マニュアル
   ./man/cat1
   ./man/cat1/rlrpar.1
   ./man/man1
   ./man/man1/rlrpar.1
   ./man/whatis
   ./README
   ./src                              # ソースファイル
   ./src/LR_prolog                    # RLRPar の本体のディレクトリ
   ./src/LR_prolog/action2entry.pl
   ./src/LR_prolog/append.pl
   ./src/LR_prolog/change_form.pl
   ./src/LR_prolog/decide_action_write_table.pl
   ./src/LR_prolog/error_handling.pl
   ./src/LR_prolog/expand.pl
   ./src/LR_prolog/extract.pl
   ./src/LR_prolog/first.pl
   ./src/LR_prolog/flags.pl
   ./src/LR_prolog/table1
   ./src/LR_prolog/tmp.entry
   ./src/LR_prolog/make_all_gss.pl
   ./src/LR_prolog/maketable_write_table.pl
   ./src/LR_prolog/mkcnd.pl
   ./src/LR_prolog/mkinterface.pl
   ./src/LR_prolog/mkstart.pl
   ./src/LR_prolog/mkstart2.pl
   ./src/LR_prolog/mymakegss.pl
   ./src/LR_prolog/other_entry.pl
   ./src/LR_prolog/parseinterf
   ./src/LR_prolog/parser.pl
   ./src/LR_prolog/print_tree.pl
   ./src/LR_prolog/record_info.pl
   ./src/LR_prolog/retrieve-E.pl
   ./src/LR_prolog/start.pl
   ./src/LR_prolog/symbol_handling.pl
   ./src/LR_prolog/table2
   ./src/LR_prolog/time.pl
   ./src/LR_prolog/tmp.cnd
   ./src/LR_prolog/gram1
   ./src/LR_prolog/tmp.start
   ./src/LR_prolog/tree.pl
   ./src/LR_prolog/util.pl
   ./src/LR_prolog/gram
   ./src/LR_prolog/gram2
   ./src/LR_prolog/run.pl
   ./src/LR_prolog/table
   ./src/LR_prolog/sent_file.re
   ./src/LR_prolog/changesent.pl
   ./src/LR_kl1                           # RLRPar の本体
   ./src/LR_kl1/action2entry.pl
   ./src/LR_kl1/append.pl
   ./src/LR_kl1/change_form.pl
   ./src/LR_kl1/decide_action_write_table.pl
   ./src/LR_kl1/error_handling.pl
   ./src/LR_kl1/expand.pl
   ./src/LR_kl1/extract.pl
   ./src/LR_kl1/first.pl
   ./src/LR_kl1/flags.pl
   ./src/LR_kl1/gram
   ./src/LR_kl1/gram.orig
   ./src/LR_kl1/make_all_gss.pl
   ./src/LR_kl1/maketable_write_table.pl
   ./src/LR_kl1/mkcnd.pl
   ./src/LR_kl1/mkinterface.pl
   ./src/LR_kl1/mkstart.pl
   ./src/LR_kl1/mkstart2.pl
   ./src/LR_kl1/mymakegss.pl
   ./src/LR_kl1/other_entry.pl
   ./src/LR_kl1/parseinterf
   ./src/LR_kl1/parser.pl
   ./src/LR_kl1/print_tree.pl
   ./src/LR_kl1/record_info.pl
   ./src/LR_kl1/retrieve-E.pl
   ./src/LR_kl1/start.pl
   ./src/LR_kl1/symbol_handling.pl
   ./src/LR_kl1/table
   ./src/LR_kl1/time.pl
   ./src/LR_kl1/tmp.cnd
   ./src/LR_kl1/tmp.entry
   ./src/LR_kl1/tmp.start
   ./src/LR_kl1/tree.pl
   ./src/LR_kl1/util.pl
   ./src/gram                             # 文法のディレクトリ
   ./src/gram/gram260
   ./src/gram/gram
   ./src/gram/gram.orig
   ./src/gram/gramtable
   ./src/gram/gram260.org
   ./src/gram/gram260_table
   ./src/R-LRParser                       # RLRPar のインタフェース
   ./src/R-LRParser/exam_sent
   ./src/R-LRParser/sfile
   ./src/R-LRParser/sfile.re
   ./src/R-LRParser/README
   ./src/R-LRParser/runtagger
   ./src/R-LRParser/sent_file.re
   ./src/R-LRParser/changeform
   ./src/btagger                          # Brill's タガー(著作権別)
   ./src/btagger/Tagger_Code
   ./src/btagger/Tagger_Code/nbest-tagger.c
   ./src/btagger/Tagger_Code/start-state-tagger.c
   ./src/btagger/Tagger_Code/final-state-tagger.c
   ./src/btagger/Tagger_Code/tagger.c
   ./src/btagger/Utils
   ./src/btagger/Utils/lex.c
   ./src/btagger/Utils/lex.h
   ./src/btagger/Utils/registry.c
   ./src/btagger/Utils/registry.h
   ./src/btagger/Utils/registryP.h
   ./src/btagger/Utils/darray.c
   ./src/btagger/Utils/darray.h
   ./src/btagger/Utils/darrayP.h
   ./src/btagger/Utils/memory.c
   ./src/btagger/Utils/memory.h
   ./src/btagger/Utils/useful.h
   ./src/btagger/Utils/bool.h
   ./src/btagger/Utils/sysdep.h
   ./src/btagger/Utils/useful.c
   ./src/btagger/Utils/lex.o
   ./src/btagger/Utils/useful.o
   ./src/btagger/Utils/darray.o
   ./src/btagger/Utils/registry.o
   ./src/btagger/Utils/memory.o
   ./src/btagger/Docs
   ./src/btagger/Docs/README.FIRST
   ./src/btagger/Docs/README.LONG
   ./src/btagger/Docs/README.QUICK
   ./src/btagger/Docs/README.TRAINING
   ./src/btagger/Docs/aaai94-tagger.ps
   ./src/btagger/Docs/README.NBEST
   ./src/btagger/Makefile
   ./src/btagger/Learner_Code
   ./src/btagger/Learner_Code/fix-kbest-rule-learn.c
   ./src/btagger/Learner_Code/contextual-rule-learn.c
   ./src/btagger/Learner_Code/unknown-lexical-learn.prl
   ./src/btagger/Learner_Code/unknown-lexical-learn-continue.prl
   ./src/btagger/Learner_Code/kbest-contextual-rule-learn.c
   ./src/btagger/COPYRIGHT
   ./src/btagger/Utilities
   ./src/btagger/Utilities/combine-lexicons.prl
   ./src/btagger/Utilities/comparitor-nbest.prl
   ./src/btagger/Utilities/comparitor.prl
   ./src/btagger/Utilities/delete-top-n.prl
   ./src/btagger/Utilities/incorporate-new-bigrams.prl
   ./src/btagger/Utilities/incorporate-new-words.prl
   ./src/btagger/Utilities/make-restricted-lexicon.prl
   ./src/btagger/Utilities/trim-bigrams.prl
   ./src/btagger/Utilities/divide-in-two-rand.prl
   ./src/btagger/Utilities/tagged-to-untagged.prl
   ./src/btagger/Utilities/bigram-generate.prl
   ./src/btagger/Utilities/wordlist-make.prl
   ./src/btagger/Utilities/word-tag-count.prl
   ./src/btagger/Bin_and_Data
   ./src/btagger/Bin_and_Data/BIGRAMS
   ./src/btagger/Bin_and_Data/CONTEXTUALRULEFILE
   ./src/btagger/Bin_and_Data/CONTEXTUALRULEFILE.BROWN
   ./src/btagger/Bin_and_Data/LEXICON.BROWN
   ./src/btagger/Bin_and_Data/CONTEXTUALRULEFILE.WSJ
   ./src/btagger/Bin_and_Data/LEXICALRULEFILE
   ./src/btagger/Bin_and_Data/LEXICALRULEFILE.BROWN
   ./src/btagger/Bin_and_Data/LEXICALRULEFILE.WSJ
   ./src/btagger/Bin_and_Data/LEXICON
   ./src/btagger/Bin_and_Data/LEXICON.BROWN.AND.WSJ
   ./src/btagger/Bin_and_Data/LEXICON.WSJ.Z
   ./src/btagger/Bin_and_Data/NBEST-RULES
   ./src/btagger/Bin_and_Data/CONTEXTUALRULEFILE.WSJ.NOLEX
   ./src/btagger/Bin_and_Data/contextual-rule-learn
   ./src/btagger/Bin_and_Data/kbest-contextual-rule-learn
   ./src/btagger/Bin_and_Data/fix-kbest-rule-learn
   ./src/btagger/Bin_and_Data/tagger
   ./src/btagger/Bin_and_Data/final-state-tagger
   ./src/btagger/Bin_and_Data/start-state-tagger
   ./src/btagger/Bin_and_Data/nbest-tagger
   ./src/btagger/Bin_and_Data/README
   ./src/btagger/Bin_and_Data/Example
   ./src/btagger/Bin_and_Data/Example/example_sentences
   ./src/btagger/Bin_and_Data/Example/example_sentences.re
   ./src/btagger/README
   ./src/btagger/HOWTOUSE
   ./Manual.jis                             # マニュアル(jis)
   ./README.jis                             # README    (jis)
   ./Files                                  # ファイルの構成
   ./Specification                          # 仕様書

[FTP]


www-admin@icot.or.jp