IT TIP

텍스트 구조로 사용자의 기분을 추측 할 수 있습니까?

itqueen 2020. 12. 30. 19:59
반응형

텍스트 구조로 사용자의 기분을 추측 할 수 있습니까?


텍스트 자체를 구문 분석하는 데 자연어 프로세서를 사용해야한다고 가정하지만 사용자가 작성한 텍스트를 기반으로 사용자의 기분을 감지하는 알고리즘에 대해 어떤 제안이 있습니까? 매우 정확할 것 같지는 않지만 그래도 여전히 관심이 있습니다.

편집 : 나는 결코 언어학 또는 자연어 처리 전문가가 아니므 로이 질문이 너무 일반적이거나 어리석은 경우 사과합니다.


이것은 감정 분석 이라고하는 자연어 처리 영역의 기초입니다 . 귀하의 질문은 일반적이지만 확실히 어리석은 것은 아닙니다. 이러한 종류의 조사는 예를 들어 아마존이 제품 리뷰의 텍스트에 대해 수행합니다.

이것에 대해 진지하게 생각한다면 다음과 같이 간단한 버전을 얻을 수 있습니다.

  1. 긍정적 / 부정적 정서의 말뭉치 획득 . 이것이 전문적인 프로젝트라면 시간이 좀 걸리고 말뭉치에 직접 주석을 달 수도 있지만 바쁘거나 처음에 이것을 실험하고 싶다면 Bo Pang과 Lillian Lee의 감정 극성 말뭉치살펴 보는 것이 좋습니다. 연구. 해당 말뭉치 사용의 문제는 귀하의 도메인 (특히 말뭉치가 영화 리뷰를 사용함)에 맞지 않지만 여전히 적용 가능해야한다는 것입니다.

  2. 데이터 세트를 Positive 또는 Negative 문장으로 분할합니다 . 감정 극성 코퍼스의 경우 각 리뷰를 합성 문장으로 분할 한 다음 전체 감정 극성 태그 (긍정적 또는 부정적)를 모든 문장에 적용 할 수 있습니다. 이 말뭉치를 두 부분으로 나눕니다. 90 %는 훈련 용이고 10 %는 테스트 용입니다. Weka를 사용하는 경우 말뭉치 분할을 처리 할 수 ​​있습니다.

  3. 기계 학습 알고리즘 (예 : SVM, Naive Bayes, Maximum Entropy)을 단어 수준의 훈련 말뭉치에 적용합니다. 이 모델은 문장을 구성하는 단어로 표현하는 단어 모음 모델 이라고합니다 . 이것은 많은 스팸 필터가 실행되는 동일한 모델입니다. 머신 러닝 알고리즘에 대한 좋은 소개를 위해 이러한 알고리즘의 범위를 구현하고이를 사용할 수있는 GUI를 제공하는 Weka 라는 애플리케이션 이 있습니다. 그런 다음이 모델로 테스트 코퍼스를 분류하려고 할 때 발생한 오류로부터 기계 학습 모델의 성능을 테스트 할 수 있습니다.

  4. 이 기계 학습 알고리즘을 사용자 게시물에 적용하십시오 . 각 사용자 게시물에 대해 게시물을 문장으로 분리 한 다음 기계 학습 모델을 사용하여 분류합니다.

그렇습니다, 만약 당신이 이것에 대해 진지하다면 그것은 달성 가능합니다-심지어 전산 언어학에 대한 과거의 경험이 없더라도. 상당한 양의 작업이지만 단어 기반 모델로도 좋은 결과를 얻을 수 있습니다.

더 많은 도움이 필요하면 언제든지 저에게 연락하십시오. NLP에 관심이있는 다른 사람들을 도와 드리겠습니다. =]


작은 노트 -

  1. 단순히 텍스트 세그먼트를 문장으로 분할하는 것은 NLP ( 문장 경계 감지) 라는 분야입니다 . 이를 수행하는 데 사용할 수있는 여러 도구 (OSS 또는 무료)가 있지만 작업을 위해 공백과 구두점으로 간단히 분할하는 것이 좋습니다.
  2. SVMlight 는 또한 고려해야 할 또 다른 기계 학습자입니다. 실제로 그들의 귀납적 SVM은 우리가보고있는 것과 유사한 작업을 수행합니다. 즉, 1000 개의 긍정적 인 사례와 1000 개의 부정적인 사례를 통해 "기업 인수"에 대한 Reuter 기사를 분류하려고합니다.
  3. 문장을 분류 할 특징으로 바꾸려면 약간의 작업이 필요할 수 있습니다. 이 모델에서 각 단어는 특징입니다. 이것은 문장을 토큰 화해야합니다. 즉, 단어와 구두점을 서로 분리해야합니다. 또 다른 팁은 "I HATE you"와 "I hate YOU"가 모두 동일한 것으로 간주되도록 모든 개별 단어 토큰을 소문자로 처리하는 것입니다. 더 많은 데이터를 사용하여 누군가가 화가 났는지 여부를 분류하는 데 대문자 사용이 도움이되는지 여부를 시도하고 포함 할 수 있지만 적어도 초기 노력에는 단어만으로 충분해야한다고 생각합니다.

편집하다

방금 제가 얘기 했던 Bo Pang과 Lillian Lee Sentiment Polarity 코퍼스를 사용한 감정 분석에 대한 튜토리얼 이있는 LingPipe를 방금 발견했습니다 . 사용하기에 훌륭한 도구가 될 수있는 Java를 사용하는 경우, 그렇지 않더라도 위에서 논의한 모든 단계를 거칩니다.


사용자가 입력 한 텍스트를 기반으로 사용자의 기분을 판단하는 것은 의심 할 여지가 없지만 사소한 것은 아닙니다. 내가 생각할 수있는 것 :

  • 자본은 동요, 성가심 또는 좌절을 나타내는 경향이 있으며 확실히 감정적 반응이지만 일부 초보자는 중요성을 깨닫지 못하기 때문에 그렇게합니다. 그래서 다른 글을 보지 않고서는 추측 할 수 없습니다. 전부 대문자가 아닙니다.
  • 대문자는 실제로 강조의 한 형태 일뿐입니다. 다른 것들은 특정 공격적인 색상 (예 : 빨간색)을 사용하거나 굵게 또는 더 큰 글꼴을 사용합니다.
  • 어떤 사람들은 감정이 높을 때 철자와 문법 오류와 오타를 더 많이합니다.
  • 이모티콘을 검색하면 사용자가 느끼는 감정을 매우 명확하게 파악할 수 있지만 다시 다음과 같이 표현할 수 있습니다. 행복하거나 "내가 그렇게 말 했어요"라고 해석하거나 비꼬는 의미를 가질 수도 있습니다.
  • 비속어의 사용은 분명한 의미를 갖는 경향이 있지만 다시 명확하지 않습니다. 많은 사람들의 구어체 연설에는 일상적으로 특정 네 글자 단어가 포함됩니다. 다른 사람들에게는 "지옥"이라고 말하지 않고 대신 "헐"이라고 말하지 않을 수도 있으므로 비속어 (심지어 "빨아")는 중요합니다.
  • 구두점 그룹 (예 : @ # $ @ $ @)은 욕설이 반드시 적절하지 않을 때 문맥에서 욕설로 대체되는 경향이 있으므로 구어체 일 가능성이 적습니다.
  • 느낌표는 놀라움, 충격 또는 분노를 나타낼 수 있습니다.

문서화 된 텍스트 분석의 발전 또는 여러 증거 출처를 결합하여 블로그 분위기 결정 을 살펴볼 수 있습니다 .

마지막으로 서면 텍스트는 일반적으로 실제보다 더 부정적인 것으로 인식된다는 점에 주목할 가치가 있습니다. 이것은 하나의 예처럼 회사의 이메일 커뮤니케이션에서 흔히 발생하는 문제입니다.


나는 이것을 진지하게 받아들이고 있다는 것을 믿을 수 없다 ... 1 차원적인 무드 공간을 가정하면 :

  • 텍스트에 저주 단어가 포함되어 있으면 기분이 -10입니다.
  • 느낌표는 부정적인 경향이 있으므로 -2 분위기.
  • 답답하면 Very를 입력합니다. 짧은. 문장. -5 기분.

내가 이것에 대해 더 많이 생각할수록, 이러한 많은 기표들이 일반적으로 극단적 인 기분을 나타내는 것이 더 분명해졌지만, 어떤 종류 의 기분이 항상 명확하지는 않습니다 .


글꼴을 지원하는 경우 굵은 빨간색 텍스트는 화난 사용자 일 수 있습니다. 나비 클립 아트 행복 한 녹색 일반 크기의 텍스트.


이 주제에 대한 기억력은 좋지 않지만 텍스트의 문법 구조와 전체적인 어조에 대한 연구를 봤다고 생각합니다. 그것은 또한 짧은 단어와 감정 표현 단어처럼 간단 할 수 있습니다 (음욕적인 표현은 꽤 분명합니다).

편집 : 나는 첫 번째 답변을 한 사람이 실질적으로 비슷한 게시물을 가지고 있다고 언급했습니다. 짧은 문장에 대한 진지한 아이디어가있을 수 있습니다.


기분과 행동에 대한 분석은 매우 진지한 과학입니다. 다른 답변에도 불구하고 법 집행 기관은 수년간 기분의 분류를 조사해 왔습니다. 내가 들어 본 컴퓨터에서의 사용은 일반적으로 더 많은 컨텍스트 (타이밍 정보, 음성 패턴, 채널 변경 속도)를 가졌습니다. 두 가지 알려진 그룹의 샘플로 신경망을 훈련시켜 사용자가 특정 분위기에 있는지 여부를 약간의 성공 여부를 결정할 수 있다고 생각합니다 : 화 나지 않음. 당신의 노력에 행운을 빕니다.


내 algorythm은 다소 간단하지만 텍스트를 통해 smilics를 계산하지 않는 이유는 무엇입니까? :) vs :(

분명히 ":) :) :) :)"텍스트는 행복한 사용자로 해결되는 반면 ":( :( :(")는 분명히 슬픈 사용자로 해결됩니다. 즐기십시오!


나는 이것이 심각한 질문이라는 ojblass에 동의합니다.

기분 분류는 현재 음성 인식 분야 에서 뜨거운 주제 입니다. 생각해 보면 대화 형 음성 응답 (IVR) 애플리케이션은 화난 고객을 차분한 고객과는 훨씬 다르게 처리해야합니다. 화난 사람들은 적절한 경험과 교육을받은 운영자에게 신속하게 연결되어야합니다. 보컬 톤은 감정을 나타내는 믿을 수있는 지표이며, 기업이이를 작동시키기를 열망 할만큼 충분히 실용적입니다. Google "음성 감정 인식"또는이 기사읽고 자세히 알아보세요.

웹 기반 GUI에서 상황은 다르지 않아야합니다. cletus의 의견을 다시 살펴보면 텍스트와 음성 감정 감지 간의 유사점은 흥미 롭습니다. 사람이 CAPITALS를 입력하면 마치 음성 인터페이스를 사용하여 그의 목소리가 볼륨과 피치가 상승한 것처럼 '소리 친다'고합니다. 입력 된 욕설을 감지하는 것은 음성 시스템에서 욕설을 "키워드 발견"과 유사합니다. 사람이 화를 내면 GUI 또는 음성 사용자 인터페이스 (VUI)를 사용하여 더 많은 오류를 만들고 사람에게 라우팅 할 수 있습니다.

There's a "multimodal" emotion detection research area here. Imagine a web interface that you can also speak to (along the lines of the IBM/Motorola/Opera XHTML + Voice Profile prototype implementation). Emotion detection could be based on a combination of cues from the speech and visual input modality.


Yes.

Whether or not you can do it is another story. The problem seems at first to be AI complete.

Now then, if you had keystroke timings you should be able to figure it out.


Fuzzy logic will do I guess. Any way it will be quite easy to start with several rules of determining the user's mood and then extend and combine the "engine" with more accurate and sophisticated ones.


If a user types following characters then he is super angry try to calm him down first...

`K` 

`k`

ReferenceURL : https://stackoverflow.com/questions/933212/is-it-possible-to-guess-a-users-mood-based-on-the-structure-of-text

반응형