본문 바로가기
파이썬

파이썬 Python 용 Stanford NLP

by º기록 2020. 11. 16.
반응형

내가 원하는 것은 주어진 문자열의 감정 (긍정적 / 부정적 / 중립적)을 찾는 것입니다. 연구를하다가 Stanford NLP를 발견했습니다. 그러나 슬프게도 Java입니다. 파이썬에서 어떻게 작동시킬 수 있는지에 대한 아이디어가 있습니까?

 

해결 방법

 



현재 최신 버전 (2020-05-25)은 4.0.0입니다.

wget https://nlp.stanford.edu/software/stanford-corenlp-4.0.0.zip https://nlp.stanford.edu/software/stanford-corenlp-4.0.0-models-english.jar


curl https://nlp.stanford.edu/software/stanford-corenlp-4.0.0.zip -O https://nlp.stanford.edu/software/stanford-corenlp-4.0.0-models-english.jar -O

다른 모든 방법이 실패하면 브라우저를 사용하십시오 ;-)

unzip stanford-corenlp-4.0.0.zip
mv stanford-corenlp-4.0.0-models-english.jar stanford-corenlp-4.0.0


cd stanford-corenlp-4.0.0
java -mx5g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -timeout 10000

노트:



pip install pycorenlp


from pycorenlp import StanfordCoreNLP

nlp = StanfordCoreNLP('http://localhost:9000')
res = nlp.annotate("I love you. I hate him. You are nice. He is dumb",
                   properties={
                       'annotators': 'sentiment',
                       'outputFormat': 'json',
                       'timeout': 1000,
                   })
for s in res["sentences"]:
    print("%d: '%s': %s %s" % (
        s["index"],
        " ".join([t["word"] for t in s["tokens"]]),
        s["sentimentValue"], s["sentiment"]))

그리고 당신은 얻을 것이다 :

0: 'I love you .': 3 Positive
1: 'I hate him .': 1 Negative
2: 'You are nice .': 3 Positive
3: 'He is dumb': 1 Negative





추신 . 제가 9 번째 답변을 추가했다는 사실을 믿을 수는 없지만 기존 답변 중 어느 것도 도움이되지 않았기 때문에 (이전 8 개 답변 중 일부는 삭제되었으며 일부는 삭제되었습니다.) 주석으로 변환).

 

참조 페이지 https://stackoverflow.com/questions/32879532

 

 

반응형

댓글