자동 Twitter 감정 분석을 위한 AutoNLP

NLP 란 무엇입니까?


자연언어처리(Natural Language Processing·약칭 NLP)는 인공지능의 한 영역으로, 기계가 인간의 언어를 읽고 이해하며 그 속에서 의미를 얻는 능력을 부여한다.
NLP는 특히 의료 업계에서 왕성하게 발전하고 있다.의료 기관이 점점 더 전자 건강 기록을 채택하는 동시에 이 기술은 의료 서비스 제공, 질병 진단을 개선하고 원가를 낮추고 있다.임상 기록이 개선될 수 있다는 사실은 환자가 더 좋은 의료 보건을 통해 더 좋은 이해와 이익을 얻을 수 있다는 것을 의미한다.목표는 그들의 체험을 최적화하는 것이어야 한다. 몇몇 조직은 이미 이 방면에서 일을 전개했다.
1978년부터 2018년까지 펍메드에'자연적 언어 처리'라는 구절을 담은 많은 출판물이 발표됐다.PubMed는 2018년 현재 2천900만 편이 넘는 생물의학 문헌을 수록했다

무엇이 자동 기계 학습입니까?


자동화 기계 학습은 이 점을 바꾸었다. 원시 데이터의 운행을 체계화하는 과정을 통해 데이터에서 가장 관련 정보를 추출하는 모델을 선택함으로써 현실 세계에서 기계 학습 모델을 구축하고 사용하기 쉽다.
자동기계학습(AutoML)은 현재 데이터 과학에서 폭발적인 하위 영역이다.기계 학습을 잘하지 못하는 사람들에게는 듣기 좋지만, 현재의 데이터 과학자들에게는 무섭게 들린다.

AutoNLP 란 무엇입니까?


AutoML의 개념을 사용하면 AutoNLP는 어간 분석, 표기화, 레몬화 등 탐색적 데이터 분석 과정을 자동화하는 데 도움이 된다. 텍스트 처리와 주어진 데이터 집합에 가장 좋은 모델을 선택하는 데도 도움이 된다.AutoNLP는 AutoVIML에서 개발된 것으로 AutoVIML은 자동 변수로 ML을 해석할 수 있습니다.
AutoNLP의 일부 기능은 다음과 같습니다.
  • 데이터 정리: 전체 데이터 집합을 모델에 전송할 수 있으며 양적 등 어떠한 과정도 수행할 필요가 없다.그것은 심지어 잃어버린 데이터를 채우고 자동으로 데이터를 정리할 수도 있다.
  • 특징 도구 라이브러리를 사용하여 특징 추출을 진행한다. 특징 도구는 또 다른 위대한 라이브러리로 그 어떠한 간단한 방식으로도 특징 공정과 추출을 도울 수 있다.
  • 모델 성능과 그림은 자동으로 생성됩니다. 상세한 정보만 설정하면 모델 그림과 성능을 표시할 수 있습니다.
  • 자동 축소: 방대한 데이터 세트의 경우 최적의 기능을 선택하고 EDA를 실행하기 어렵다.하지만 이 작업은 AutoNLP가 담당합니다.
  • 자동 NLP를 사용하여 트위터 정서 분석을 시작합시다.

    만약 자동 NLP가 없다면, 우리는 데이터를 정리한 다음에 벡터화, 어간화, 선형화를 한 다음에 데이터에 가장 좋은 모델을 선택해야 한다.
    그러나 자동 NLP가 생기면 우리는 몇 줄의 코드만 있으면 이 점을 할 수 있다.

    AutoNLP 설치


    그것을 설치하려면 간단한 pip 명령을 사용할 수 있습니다.AutoNLP가 autoviml에 속하므로 설치해야 합니다.!pip install autoviml설치 후 에서 데이터 세트를 다운로드할 수 있습니다.
    우리 데이터 세트 좀 봅시다.
    import pandas as pd
    df = pd.read_csv('../input/twitter-sentiment-analysis-analytics-vidya/train_E6oV3lV.csv')
    df.head()
    

    모델


    이제 데이터를 트레이닝 및 테스트 데이터 세트로 분할하고 AutoNLP를 사용하여 모델을 구축합니다.
    from sklearn.model_selection import train_test_split
    from autoviml.Auto_NLP import Auto_NLP
    train, test = train_test_split(df, test_size=0.2)
    
    이것은 데이터 집합을 80%의 훈련 데이터 집합과 20%의 테스트 데이터 집합으로 나눌 것이다.
    분류 문제이기 때문에 AutoNLP 메서드에서 이 점을 설명해야 합니다.
    input_feature, target = "tweet", "label"
    train_x, test_x, final, predicted= Auto_NLP(input_feature, train, test,target,score_type="balanced_accuracy",top_num_features=200,modeltype="Classification",verbose=2,build_model=True)
    
    top num 특성을 언급하지 않으면 기본값인 300을 사용합니다.또한, 더 많은 top num 기능을 사용하여 훈련을 진행하면 훈련 속도가 느려진다.
    몇 분 후, 훈련된 모델과 데이터 시각화에 사용되는 그림을 볼 수 있습니다.
    AutoNLP는 최적의 모델을 선택한 후 RandomizedSearchCV를 사용하여 30개 매개변수에 대해 하이퍼매개변수 조정을 수행하고 탐색적 데이터 분석을 위한 드로잉을 자동으로 생성합니다.
    다음과 같은 결과를 볼 수 있습니다.


    훈련 과정을 마치면 Auto NLP는 데이터 세트에서 분류기가 얼마나 잘 작동하는지 알려주는 혼동 행렬을 생성합니다.

    이 모델은 다항식 NB를 분류기로 선택하고 훈련을 진행했다.
    참고: top num 특성이 없으면 임의의 포리스트 알고리즘이 사용됩니다.

    예언


    너는 필요에 따라 예측할 수 있다
    final.predict(test_x[input_feature])
    

    결론


    AutoNLP가 데이터를 정리, 사전 처리, 벡터화하는 방법, 시각화를 위한 드로잉을 생성하는 방법, 최적의 모델에 대한 하이퍼패라메트릭 조정을 수행하는 방법에 대해 알아봤습니다.또 과도한 의합 모델을 피하기 위해 교차 검증을 사용한다.
    그러나 우리는 이것이 NLP에서 분류하는 가장 좋은 방법이라고 말할 수 없다. 왜냐하면 우리는 변압기 시대에 살았기 때문에 이것은 가장 선진적인 자연 언어 처리를 제공했기 때문이다.구글의 BERT(변압기에서 나온 양방향 인코더 표시), GPT-2, XLM 등 많은 변압기가 있다.
    감사합니다!!나는 이것이 네가 NLP 자동화의 배후 개념을 분명히 하는 데 도움을 줄 수 있기를 바란다.만약 당신이 이 댓글을 좋아한다면, 저에게 좀 주십시오❤️.
    온전한 코드는

    좋은 웹페이지 즐겨찾기