トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

grepExtract

*disclaimer
80079

R
R.scripts

grepExtract

  • Stanford Parser の解析結果を対象に検索をして、
  • 必要な統語関係のフレーズを抽出する。
  • stringrパッケージがインストールしてあること。
install.packages("stringr", dependencies=T)
library(stringr)

  • 統語解析してあるテキストファイルの入っているディレクトリーをWorking Directoryに設定。
  • list.files()でファイルを確認。

grepExtract <- function(a){
  # stringrパッケージ利用
  #copyleft 2020-01-18 sugiura@nagoya-u.jp
  
  hit.all <- ""
  
  files <- list.files()
  for (i in files) {
    
    lines.tmp <- scan(i, what="char", sep="\n")
    
    hit <- str_extract(lines.tmp, a)
    
    hit.all <- c(hit.all, hit)
    
  }
  hit.all
}

grepExtract.R(19)

例: 形容詞+名詞からなる名詞句の抽出

grepExtract("\\(NP \\(JJ \\w+?\\) \\(NN \\w*?\\)\\)")

  [5] "(NP (JJ broad) (NN knowledge))"          
  [6] NA                                        
  [7] NA                                        
  [8] NA                                        
  [9] NA                                        
 [10] "(NP (JJ academic) (NN knowledge))"       
 [11] NA                                        
 [12] NA                                        
 [13] "(NP (JJ contemporary) (NN anthropology))"