실습해야 할 Github의 상위 NLP 프로젝트 [2022]

게시 됨: 2021-01-01

인공 지능에는 여러 가지가 있으며 그 중 자연어 처리(NLP)가 강력한 새 시대 도구로 등장했습니다. NLP는 Alan Turing이 " Computing Machinery and Intelligence " 라는 기사를 발표한 1950년대로 거슬러 올라갑니다. 이 기사 는 자동화된 해석 및 자연어 생성과 관련된 테스트(현재 Turing 테스트 로 알려짐)를 제안했습니다 . 그럼에도 불구하고 NLP는 최근에야 세계적인 인지도와 인기를 얻었습니다.

목차

자연어 처리란 무엇입니까?

자연어 처리는 인간 대 기계 통신을 촉진하는 것입니다. 인간의 자연어를 이해, 해석 및 조작하도록 컴퓨터를 훈련시키는 것을 목표로 합니다. NLP는 인공 지능, 컴퓨터 과학 및 전산 언어학과 같은 여러 분야에서 영감을 얻습니다.

인간은 영어, 일본어, 스페인어 등과 같은 모국어로 의사 소통하는 반면 컴퓨터는 이진 언어인 모국어로 대화합니다. 컴퓨터는 인간의 자연스러운 언어를 이해할 수 없지만 기계어는 대부분의 사람들이 이해할 수 없습니다.

이것은 NLP가 인간의 의사 소통과 컴퓨터 이해 사이의 간극을 메우기 위해 들어가는 곳입니다. 자연어 처리는 컴퓨터가 텍스트를 읽고, 음성을 듣고, 오디오/텍스트 메시지를 해석하고, 감정을 측정하는 등을 도와줌으로써 컴퓨터가 모국어로 인간과 의사 소통할 수 있도록 지원하고 훈련합니다.

디지털 세계에서 일상적인 상호 작용과 거래로 인해 데이터가 폭발적으로 증가함에 따라 자연어 처리는 기업에서 더욱 중요해졌습니다. NLP 덕분에 기업은 방대한 양의 원시 비즈니스 데이터, 소셜 미디어 대화 등을 활용하여 데이터를 이해하고 데이터 지향적인 결정을 내릴 수 있습니다.

이 기사에서는 GitHub에 12개의 NLP 프로젝트를 나열하여 영감을 줄 것입니다! 이러한 프로젝트에서 작업하면 도메인 지식을 풍부하게 하고 실제 기술을 연마하는 데 도움이 됩니다.

최고의 GitHub NLP 프로젝트

1. 패러프레이즈 식별

Paraphrase Detection은 두 개의 다른 문장이 같은 의미를 가지는지 여부를 감지하는 NLP 응용 프로그램입니다. 기계 번역, 질문 답변, 정보 추출/검색, 텍스트 요약, 자연어 생성에 널리 사용됩니다.

이것은 구문 및 의미 분석을 적용하여 두 텍스트 개체(예: 문장) 간의 유사점과 차이점을 정확하게 식별할 수 있는 의역 식별 시스템을 구축하는 초보자 친화적인 프로젝트입니다.

2. 문서 유사성

이것은 코사인 유사성 방법을 사용하여 두 문서 간의 유사성을 수량화하는 것을 목표로 하는 또 다른 초보자 친화적인 프로젝트입니다. 두 논문 사이의 유사점을 발견함으로써 이 프로젝트는 토론의 공통 주제를 강조할 것입니다.

코사인 유사성은 두 문서를 벡터로 변환하여 해당 벡터 간의 유사성을 계산합니다. 그것은 그들 사이의 코사인 각도를 측정하는 내적 공간을 취하여 문서 유사성을 계산합니다.

3. 텍스트 예측

이 프로젝트에서는 단어를 입력할 때 다음 단어를 예측할 수 있는 응용 프로그램을 빌드합니다. 이 텍스트 예측 프로젝트를 만드는 데 사용되는 도구에는 자연어 처리, 텍스트 마이닝 및 R의 도구 모음이 포함됩니다.

이 프로젝트는 예측 모델로 Kneser Ney Smoothing과 함께 최대 가능성 추정기를 사용합니다. 예측은 모델 학습에 사용되는 데이터베이스에 저장된 단어 모음을 기반으로 설계되었습니다. GitHub에서 이 프로젝트에 대한 전체 리소스 세트를 찾을 수 있습니다.

4. 천재의 과학

이 프로젝트는 성공의 과학 프로젝트의 일부입니다 . 여기의 목표는 데이터 과학 및 NLP 분석 도구를 사용하여 표준화된 인용 지수로 측정한 특정 어휘 요소가 논문이 받은 관심을 나타낼 수 있는지 확인하는 것입니다.

초기 단계에서 이 프로젝트는 1900년 이후 발행된 5천만 개 이상의 기사를 포함하는 데이터세트 인 Web of Science 에서 기사 제목의 길이와 구문적 특징의 시간적, 학문적 차이를 연구하는 데 중점을 둡니다 . 더 큰 그림은 양적 모델을 만드는 것입니다. 과학 논문이 커뮤니티에 미치는 영향을 정확하게 추정할 수 있습니다.

5. 뉴스 헤드라인에서 주식 감정 추출

제목에서 알 수 있듯이 Finviz의 금융 뉴스 헤드라인에 대한 감정 분석을 사용하여 이 프로젝트에 대한 투자 통찰력을 생성합니다. 감정 분석 기법은 헤드라인 이면의 감정을 이해하고 해석하고 현재 시장 상황이 특정 주식에 유리한지 여부를 예측하는 데 도움이 됩니다.

6. 지능형 봇

이 프로젝트에는 특정 저장소의 결과를 구문 분석하고 일치시켜 질문에 답할 수 있는 스마트 봇을 구축하는 작업이 포함됩니다. 봇은 이 작업에 WordNet을 사용합니다. 구조화된 문서의 태그(헤더, 굵은 제목 등)와 관련된 질문의 컨텍스트를 평가합니다. 컨텍스트를 유지하므로 동일한 주제에 대해 관련 질문을 할 수 있습니다.

예를 들어 Wikipedia 기사를 쿼리하려는 경우 "Tell me about XYZ" 템플릿을 사용하고 컨텍스트가 설정되면 유사한 질문을 계속할 수 있습니다. 다시 말하지만 " https://www.microsoft.com/en-us/software-download/faq "와 같이 페이지의 URL을 소스로 언급하여 웹 페이지를 쿼리할 수 있습니다 . 이것은 FAQ 및 Q&A 페이지에서 매우 잘 작동합니다.

7. CitesCyVerse

CitesCyVerse 프로젝트는 Science Citation Knowledge Extractor 에서 설계되었습니다 . CitesCyVerse는 기계 학습 및 NLP를 활용하여 생물 의학 연구자가 자신을 인용한 기사의 콘텐츠를 분석하여 다른 사람들이 자신의 작업을 어떻게 사용하는지 이해하는 데 도움이 되는 오픈 소스 도구입니다. CitesCyVerse는 ML 및 NLP를 사용하여 인용 문서에서 논의된 주요 주제와 개념을 추출합니다. 이를 통해 연구자는 자신의 연구가 과학 커뮤니티의 다른 사람들에게 어떻게 영향을 미치는지 더 잘 이해할 수 있습니다.

CitesCyVerse에는 인용 논문에서 언급된 유사한 단어에서 새로운 구름을 생성하는 WordClouds가 포함되어 있습니다. 또한 CyVerse를 인용하는 기사 및 출판물의 인기 있는 주제를 탐색할 수 있는 주제가 있습니다.

8. 데이터 과학 캡스톤 – 데이터 처리 스크립트

이 데이터 과학 캡스톤 프로젝트에서는 n-그램 모델을 생성하는 대신 데이터 처리 스크립트를 사용하여 데이터 엔지니어링을 시연합니다. 이 스크립트는 전체 말뭉치를 처리하여 n-그램과 해당 개수를 생성할 수 있습니다. 이 데이터를 사용하여 예측 텍스트 알고리즘을 개발할 수 있습니다.

이 프로젝트를 빌드하려면 최소 16GB RAM이 있는 듀얼 코어 시스템(대부분의 스크립트가 단일 스레드이므로)이 필요합니다. 소프트웨어 요구 사항은 Linux(Ubuntu 14.04에서 테스트한 경우 가장 좋음), Python(버전 2.7), NLTK(버전 3.0) 및 NumPy가 필요합니다.

읽기: 자연어 처리 프로젝트 아이디어 및 주제

9. 스크립트 생성기

이것은 쇼의 27개 시즌 전체에 대한 스크립트 데이터 세트를 기반으로 인기 있는 쇼 The Simpsons의 TV 스크립트를 생성하기 위해 RNN을 구축하는 흥미진진한 프로젝트입니다. RNN은 Moe's Tavern에서 촬영한 특정 장면에 대한 새 스크립트를 생성합니다.

스크립트 생성기 프로젝트는 Udacity의 Deep Learning Nanodegree의 일부입니다. 프로젝트 구현은 dlnd_tv_script_generation.ipynb에 포함되어 있습니다.

10. 레딧 주식 예측

이 프로젝트는 소셜 미디어 게시물이 개별 주식의 미래 가격에 어떤 영향을 미치는지 이해하려고 합니다. 여기에서는 텍스트 분석 방법을 사용하여 소셜 미디어 게시물이 Reddit, 특히 투자에 초점을 맞춘 하위 레딧/포럼에 미치는 영향을 연구합니다.

GitHub 리포지토리 파일을 사용하여 Reddit 게시물/댓글에 감정 분석을 정리 및 적용하고 이 데이터를 사용하여 회귀 모델을 만들 수 있습니다. 리포지토리에는 특정 주식 시세 표시기에 대한 실시간 감정을 시각화하고 관련 예측을 수행하는 데 사용되는 대화형 웹 응용 프로그램에 사용할 수 있는 코드도 포함되어 있습니다.

11. 미봇

이것은 WhatsApp 대화를 활용하고, 대화로부터 배우고, 다른 사람과 대화하듯이 대화할 Me_Bot이라는 봇을 개발하는 재미있는 NLP 프로젝트입니다. 기본적으로 아이디어는 당신처럼 말하는 봇을 만드는 것입니다.

휴대폰에서 WhatsApp 채팅을 내보내고 이 데이터에 대해 봇을 훈련시켜야 합니다. 그렇게 하려면 휴대전화에서 WhatsApp으로 이동하여 대화를 선택하고 앱 설정에서 내보내야 합니다. 그런 다음 생성된 ".txt" 파일을 Me_Bot 폴더로 이동할 수 있습니다.

12. 언어 감정 분석기

이 프로젝트는 일상 생활에서 흔히 하는 대화에서 감정을 감지할 수 있는 ML 모델을 만드는 것을 중심으로 진행됩니다. ML 모델은 최대 5가지 감정을 감지하고 현재 기분에 따라 개인화된 추천을 제공할 수 있습니다.

이 감정 기반 추천 엔진은 고도로 표적화된 청중과 구매자 페르소나에게 판매하는 데 사용할 수 있기 때문에 많은 산업 분야에 엄청난 가치가 있습니다. 예를 들어 온라인 콘텐츠 스트리밍 플랫폼은 이 도구를 사용하여 개인의 현재 기분과 선호도를 읽어 맞춤형 콘텐츠 제안을 제공할 수 있습니다.

또한 읽기: 딥 러닝 대 NLP

결론

그것으로 우리는 목록의 끝에 도달했습니다. GitHub의 이 12개의 NLP 프로젝트는 코딩 및 프로젝트 개발 기술을 연마하는 데 탁월합니다. 가장 중요한 것은 프로젝트 구축을 통해 자연어 처리의 뉘앙스를 마스터하여 도메인 지식을 강화할 수 있다는 것입니다.

NLP 기술을 향상시키려면 이러한 NLP 프로젝트에 손을 대야 합니다. 기계 학습에 대해 자세히 알아보려면 IIIT-B 및 upGrad의 기계 학습 및 AI PG 디플로마를 확인하세요. 이 PG 디플로마는 일하는 전문가를 위해 설계되었으며 450시간 이상의 엄격한 교육, 30개 이상의 사례 연구 및 과제, IIIT- B 동문 자격, 5개 이상의 실용적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.

자연어 처리의 주요 과제는 무엇입니까?

자연어 처리에는 많은 문제가 있습니다. 가장 큰 문제는 계산 능력의 가용성 부족입니다. 현재 알고리즘은 엄청난 연산 능력이 필요하고 처리를 완료하는 데 더 많은 시간이 소요될 수 있는 오프라인 시스템에서 실행되도록 만들어졌습니다. 다른 문제는 사용 가능한 리소스입니다. 적은 양의 데이터로 작동할 수 있는 알고리즘을 만드는 것은 쉽지 않고 시간도 많이 걸립니다. 또 다른 문제는 처리해야 하는 엄청난 양의 데이터 가용성입니다.

어떤 NLP 모델이 최고의 정확도를 제공합니까?

NLP 모델에 대한 최상의 정확도는 점점 더 정교해지는 일련의 필터를 통해 텍스트를 전달하여 얻을 수 있습니다. 첫 번째 레이어는 중지 단어, 구두점 및 숫자를 제거하는 것입니다. 그 후 전체 텍스트는 Porter 형태소 분석기를 사용하여 형태소 분석되어야 하며 모든 단어는 표제어 형식으로 대체되어야 합니다. 그런 다음 마지막 단계는 200,000단어의 어휘에 존재하지 않는 단어를 제거하는 것입니다.

NLP에서 토큰화란 무엇입니까?

토큰화는 문장을 토큰이라고 하는 구성 요소로 분해하는 프로세스입니다. 이 과정을 적용하면 문장의 의미나 의도를 쉽게 추출할 수 있습니다. 토큰화는 문장 분할을 수행한 후 수행됩니다. NLP에서 토큰은 문장의 추가 처리, 분류 및 표현에 사용됩니다. 토큰화와 관련된 NLP 작업 중 일부는 언어 감지, POS 태깅 및 구문 분석입니다.