bit2r / bitTA

기능이 bitNLP로 이관되었습니다. bitNLP를 사용하시기 바랍니다.
https://r2bit.com/bitNLP/
GNU General Public License v2.0
10 stars 0 forks source link

bitTA mecab 인식 문의 #17

Closed csh01470 closed 2 years ago

csh01470 commented 2 years ago

안녕하세요! 저는 R을 공부하고 있는 학생입니다..! 먼저 bitTA 패키지를 개발 및 배포에 감사의 말씀을 드립니다.

다름이 아니오라, bitTA패키지의 get_spacing() 함수와 morpho_mecab() 함수가 제대로 작동이 되지 않고 있는데, 아마 mecab 형태소 분석기가 제대로 인식되지 않은 것으로 예상되서 해당 이슈에 대해 문의드리려고 합니다.

설치 프로세스는 본 레포지터리의 문서의 순서대로 설치하였습니다..! (mecab은 "c:\mecab"에 위치합니다.)

에러 코드와 세션 정보는 아래와 같습니다. 감사합니다!

library(bitTA)

str_01 <- "최근음성인식정확도가높아짐에따라많은음성데이터가텍스트로변환되고분석되기시작했는데,이를위해잘동작하는띄어쓰기엔진은거의필수적인게되어버렸다"
get_spacing(x=str_01)
#> [1] ""

docs_01 <- c(
  "님은 갔습니다. 아아, 사랑하는 나의 님은 갔습니다.",
  "푸른 산빛을 깨치고 단풍나무 숲을 향하여 난 작은 길을 걸어서, 차마 떨치고 갔습니다."
)
morpho_mecab(x=docs_01,  type = "morpheme")
#> [[1]]
#>   SL 
#> "NA" 
#> 
#> [[2]]
#>   SL 
#> "NA"

sessionInfo()
#> R version 4.2.1 (2022-06-23 ucrt)
#> Platform: x86_64-w64-mingw32/x64 (64-bit)
#> Running under: Windows 10 x64 (build 22000)
#> 
#> Matrix products: default
#> 
#> locale:
#> [1] LC_COLLATE=English_United States.utf8 
#> [2] LC_CTYPE=English_United States.utf8   
#> [3] LC_MONETARY=English_United States.utf8
#> [4] LC_NUMERIC=C                          
#> [5] LC_TIME=English_United States.utf8    
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> other attached packages:
#> [1] bitTA_1.3.0.9003
#> 
#> loaded via a namespace (and not attached):
#>  [1] Rcpp_1.0.9         pillar_1.8.1       compiler_4.2.1     highr_0.9         
#>  [5] tokenizers_0.2.1   tools_4.2.1        digest_0.6.29      lattice_0.20-45   
#>  [9] evaluate_0.16      lifecycle_1.0.1    tibble_3.1.8       pkgconfig_2.0.3   
#> [13] rlang_1.0.4        reprex_2.0.2       Matrix_1.4-1       cli_3.3.0         
#> [17] DBI_1.1.3          rstudioapi_0.13    yaml_2.3.5         parallel_4.2.1    
#> [21] xfun_0.32          fastmap_1.1.0      janeaustenr_0.1.5  withr_2.5.0       
#> [25] dplyr_1.0.9        stringr_1.4.1      knitr_1.39         generics_0.1.3    
#> [29] fs_1.5.2           vctrs_0.4.1        grid_4.2.1         tidyselect_1.1.2  
#> [33] glue_1.6.2         R6_2.5.1           fansi_1.0.3        ngram_3.2.1       
#> [37] rmarkdown_2.15     RcppMeCab_0.0.1.2  purrr_0.3.4        magrittr_2.0.3    
#> [41] SnowballC_0.7.0    htmltools_0.5.3    assertthat_0.2.1   tidytext_0.3.4    
#> [45] utf8_1.2.2         stringi_1.7.8      RcppParallel_5.1.5

Created on 2022-08-22 with reprex v2.0.2

choonghyunryu commented 2 years ago

@csh01470,

리포팅 감사드립니다. 로그를 보니, mecab-ko는 정상적으로 설치된 것 같습니다.

아마도 한글 인코딩 문제인 것 같습니다.

stringi::stri_enc_detect(str_01) 혹은 Encoding(str_01) 의 결과를 보내주시면 문제해결에 도움이 될 것 같습니다.

감사합니다.

choonghyunryu commented 2 years ago

@csh01470,

방금 1.3.0.9004 버전에서 해당 오류로 추정되는 로직을 수정했습니다. 새로운 1.3.0.9004 버전을 설치한 이상 여부를 알려주시기 바랍니다.

csh01470 commented 2 years ago

@choonghyunryu

안녕하세요! 재설치 후 확인 결과, 정상 작동됨을 확인하였습니다 !

아래는 이전과 동일한 코드의 출력 결과입니다.

library(bitTA)

str_01 <- "최근음성인식정확도가높아짐에따라많은음성데이터가텍스트로변환되고분석되기시작했는데,이를위해잘동작하는띄어쓰기엔진은거의필수적인게되어버렸다"
get_spacing(x=str_01)
#> [1] "최근 음성 인식 정확도가 높아 짐에 따라 많은 음성 데이터가 텍스트로 변환되고 분석되기 시작했는데, 이를 위해 잘 동작하는 띄어쓰기 엔진은 거의 필수적인 게 되어 버렸다"

docs_01 <- c(
  "님은 갔습니다. 아아, 사랑하는 나의 님은 갔습니다.",
  "푸른 산빛을 깨치고 단풍나무 숲을 향하여 난 작은 길을 걸어서, 차마 떨치고 갔습니다."
)
morpho_mecab(x=docs_01,  type = "morpheme")
#> [[1]]
#>      NNG       JX    VV+EP       EF       SF       IC       SC      NNG 
#>     "님"     "은"     "갔" "습니다"      "."   "아아"      ","   "사랑" 
#>      XSV      ETM       NP      JKG      NNG       JX    VV+EP       EF 
#>     "하"     "는"     "나"     "의"     "님"     "은"     "갔" "습니다" 
#>       SF 
#>      "." 
#> 
#> [[2]]
#>     VA+ETM        NNG        NNG        JKO         VV         EC        NNG 
#>     "푸른"       "산"       "빛"       "을"     "깨치"       "고" "단풍나무" 
#>        NNG        JKO         VV         EC      NP+JX         VA        ETM 
#>       "숲"       "을"     "향하"       "여"       "난"       "작"       "은" 
#>        NNG        JKO      VV+EC         SC        MAG         VV         EC 
#>       "길"       "을"   "걸어서"        ","     "차마"     "떨치"       "고" 
#>      VV+EP         EF         SF 
#>       "갔"   "습니다"        "."

Created on 2022-08-23 with reprex v2.0.2

빠른 조치 감사드립니다 . 😊 오늘도 좋은 하루 되세요~

choonghyunryu commented 2 years ago

@csh01470,

버그 리포팅 덕에 오류를 해결했습니다. 감사합니다. 해결되었으니, 이 이슈는 닫겠습니다.