2017-12-12 2 views
0

몇 가지 답변을 살펴 봤지만 항상 문제의 일부만 대답합니다. 나는 고객 리뷰가있는 부정적인 단어 벡터와 데이터 프레임 열을 가지고 있습니다. 최종 목표는 구성 단어에 정서를 할당하여 각 검토에 정서를 지정하는 것입니다. 예를 들어, 리뷰 "I was happy with the product"은 모든 단어에 대해 중립적 인 느낌을 갖지만이 경우에는 긍정적 인 의미가있는 "happy"이됩니다. 이제는 부정적인 감정을 가진 리뷰가 "I was not happy with the product"이 될 수 있도록 거의 항상 감정을 뒤집어서 부정을 처리해야합니다. 분명히 이것보다 더 복잡해질 수 있습니다.R 부분 문자열을 다음 단어로 바꾸기 (부정 처리)

부정의 단어 벡터 negations과 벡터 (데이터 프레임 열)가 reviews이라고 가정하면 어떻게 리뷰를 스캔하고 모든 부정 단어를 부정, 밑줄 및 다음 단어로 바꿀 수 있습니까? 결국 "I was not_happy with the product"이 될 것입니다. 이것은 부정적인 단어를 하나의 것으로 취급 할 수있게 해줄 것입니다 (물론 나는 감정적 인 단어 코퍼스를 적절히 조정해야합니다. 실제 언어는 영어가 아닙니다.) 나는 일치하는 부정을 참조 할 수있는 복잡한 정규 표현식이 필요하다고 가정하고 있지만, . m하지 정규식 프로

예를

negations <- c("not", "without", "never") 
reviews <- c("I was happy", "I never asked", "I came without hope", "He did not help") 

이 결과는

c("I was happy", "I never_asked", "I came without_hope", "He did not_help") 

답변

2

당신이 stringi 패키지에서이 시도 할 수 있어야한다 :

stringi::stri_replace_all_fixed(reviews, 
    paste0(negations, " "), 
    paste0(negations, "_"), vectorize_all = F) 
+0

예상보다 훨씬 쉽습니다. tks. – Triamus

관련 문제