MyNixOS website logo
Description

R Interface to 'Sudachi'.

Interface to 'Sudachi' <https://github.com/WorksApplications/Sudachi>, a Japanese morphological analyzer. This is a port of what is available in Python.

sudachir

SudachiR is a R version of Sudachi, a Japanese morphological analyzer.

CRANstatus R buildstatus Lifecycle:experimental

Installation

This package is not yet on CRAN, but can be installed from GitHub with:

if (!requireNamespace("remotes"))
  install.packages("remotes")

remotes::install_github("uribo/sudachir")

Usage

library(reticulate)
library(sudachir)

Setup r-sudachipy environment

install_sudachipy()
use_condaenv(condaenv = "r-sudachipy", required = TRUE)

Tokenize

m <- 
  tokenizer("高輪ゲートウェイ駅", mode = "A")
#> Parsed to 3 tokens

for (i in seq_len(py_len(m[[1]])) - 1) {
  print(m[[1]][i])
}
#> 高輪
#> ゲートウェイ
#> 駅

m <- 
  tokenizer("高輪ゲートウェイ駅", mode = "C")
#> Parsed to 1 token

for (i in seq_len(py_len(m[[1]])) - 1) {
  print(m[[1]][i])
}
#> 高輪ゲートウェイ駅
txt <- c("国家公務員はかつ丼を食べたい", 
         "メロスは激怒した。",
         "吾輩は猫である。")

tokenize_to_df(txt, mode = "C")
#> Parsed to 6 tokens
#> Parsed to 6 tokens
#> Parsed to 6 tokens
#> # A tibble: 18 x 11
#>    id    surface dic_form normalized_form reading 品詞1 品詞2 品詞3 品詞4 活用型
#>    <chr> <chr>   <chr>    <chr>           <chr>   <chr> <chr> <chr> <chr> <chr> 
#>  1 1     国家公務員… 国家公務員… 国家公務員      コッカコウム… 名詞  普通名詞… 一般  <NA>  <NA>  
#>  2 1     は      は       は              ハ      助詞  係助詞… <NA>  <NA>  <NA>  
#>  3 1     かつ丼  かつ丼   カツ丼          カツドン… 名詞  普通名詞… 一般  <NA>  <NA>  
#>  4 1     を      を       を              ヲ      助詞  格助詞… <NA>  <NA>  <NA>  
#>  5 1     食べ    食べる   食べる          タベ    動詞  一般  <NA>  <NA>  下一段-バ…
#>  6 1     たい    たい     たい            タイ    助動詞… <NA>  <NA>  <NA>  助動詞-タ…
#>  7 2     メロス  メロス   メロス          メロス  名詞  普通名詞… 一般  <NA>  <NA>  
#>  8 2     は      は       は              ハ      助詞  係助詞… <NA>  <NA>  <NA>  
#>  9 2     激怒    激怒     激怒            ゲキド  名詞  普通名詞… サ変可能… <NA>  <NA>  
#> 10 2     し      する     為る            シ      動詞  非自立可… <NA>  <NA>  サ行変格…
#> 11 2     た      た       た              タ      助動詞… <NA>  <NA>  <NA>  助動詞-タ…
#> 12 2     。      。       。              。      補助記号… 句点  <NA>  <NA>  <NA>  
#> 13 3     吾輩    吾輩     我が輩          ワガハイ… 代名詞… <NA>  <NA>  <NA>  <NA>  
#> 14 3     は      は       は              ハ      助詞  係助詞… <NA>  <NA>  <NA>  
#> 15 3     猫      猫       猫              ネコ    名詞  普通名詞… 一般  <NA>  <NA>  
#> 16 3     で      だ       だ              デ      助動詞… <NA>  <NA>  <NA>  助動詞-ダ…
#> 17 3     ある    ある     有る            アル    動詞  非自立可… <NA>  <NA>  五段-ラ行…
#> 18 3     。      。       。              。      補助記号… 句点  <NA>  <NA>  <NA>  
#> # … with 1 more variable: 活用形 <chr>
form("東京都へ行く", mode = "B", type = "dictionary")
#> Parsed to 3 tokens
#> [[1]]
#>     名詞     助詞     動詞 
#> "東京都"     "へ"   "行く"

form("国家公務員はかつ丼を食べたい", mode = "C", type = "normalized", pos = TRUE)
#> Parsed to 6 tokens
#> [[1]]
#>         名詞         助詞         名詞         助詞         動詞       助動詞 
#> "国家公務員"         "は"     "カツ丼"         "を"     "食べる"       "たい"

form(txt, mode = "A", type = "dictionary", pos = FALSE)
#> Parsed to 9 tokens
#> Parsed to 6 tokens
#> Parsed to 6 tokens
#> [[1]]
#> [1] "国家"   "公務"   "員"     "は"     "かつ"   "丼"     "を"     "食べる"
#> [9] "たい"  
#> 
#> [[2]]
#> [1] "メロス" "は"     "激怒"   "する"   "た"     "。"    
#> 
#> [[3]]
#> [1] "吾輩" "は"   "猫"   "だ"   "ある" "。"

form("メロスは激怒した", mode = "A", type = "normalized", pos = FALSE)
#> Parsed to 5 tokens
#> [[1]]
#> [1] "メロス" "は"     "激怒"   "為る"   "た"
form("メロスは激怒した", mode = "A", type = "dictionary", pos = FALSE)
#> Parsed to 5 tokens
#> [[1]]
#> [1] "メロス" "は"     "激怒"   "する"   "た"
form("メロスは激怒した", mode = "A", type = "reading", pos = FALSE)
#> Parsed to 5 tokens
#> [[1]]
#> [1] "メロス" "ハ"     "ゲキド" "シ"     "タ"
form("メロスは激怒した", mode = "A", type = "part_of_speech", pos = FALSE)
#> Parsed to 5 tokens
#> [[1]]
#> [[1]][[1]]
#> [1] "名詞"     "普通名詞" "一般"     "*"        "*"        "*"       
#> 
#> [[1]][[2]]
#> [1] "助詞"   "係助詞" "*"      "*"      "*"      "*"     
#> 
#> [[1]][[3]]
#> [1] "名詞"     "普通名詞" "サ変可能" "*"        "*"        "*"       
#> 
#> [[1]][[4]]
#> [1] "動詞"        "非自立可能"  "*"           "*"           "サ行変格"   
#> [6] "連用形-一般"
#> 
#> [[1]][[5]]
#> [1] "助動詞"      "*"           "*"           "*"           "助動詞-タ"  
#> [6] "終止形-一般"
Metadata

Version

0.1.0

License

Unknown

Platforms (77)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-freebsd
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64-windows
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows