본문 바로가기

NLP11

[NLP] Survey of Chatbot, Persona 1. Personality, Persona, Profile LLM(Large Language Model)와 같은 챗봇 유형의 모델들을 Conversational Agent라고 편하게 CA라고 부르기도 합니다. 그런데 이러한 CA가 답변을 생성하는데 있어 Personality가 중요한 요소라는 사실! 알고 계셨나요?? (일단 저는 몰랐답니다..하하) 왜 CA에서 Personality가 중요한가??CA가 특정 성격이나 역할을 부여받는다면 인간과 대화한다기보다 소통하는 느낌을 받는 경향CA가 고유한 성격이나 스타일을 가짐으로써 같은 질문에 대해서도 다양한 방식으로 반응해 CA를 더 독창적이고 매력적이게 할 수 있고 다양한 사용자 요구에 맞출 수 있음CA와 사용자가 더 오래 대화할 수 있도록 유지할 수 있음 2.. 2024. 9. 4.
[NLP] NLP Task Review, 감정분석 이번에 인사이드아웃 2가 새로 개봉되었다. 그래서 오늘 포스팅은 감정에 대해서 얘기해보려고 한다. NLP Task 중 하나인 감정분석. 컴퓨터가 인간의 언어, 자연어를 이해하기 시작하면서 필요로 되는 능력 중 하나는 감정분석이다. 제품 혹은 서비스에 대한 리뷰, 피드백 등이 수백만 가지 이상의 데이터일텐데 이를 하나하나 확인하고 조사하는 것은 매우 비효율적이며 할 수 있는 일인지조차 모르겠다. 여기서 감정분석은 사용자의 의견, 리뷰, 피드백 등에서 인간의 감정을 파악해 기업이나 개발자가 소비자의 반응을 빠르고 정확하게 이해하고 서비스나 제품을 개선할 수 있도록 돕는다. 이러한 시장 동향 파악, 비즈니스 의사결정 과정에서 중요한 역할을 한다.감정분석 Task에 적합한 언어 모델많은 언어 모델이 감정분석 T.. 2024. 7. 11.
[NLP] Similarity, 문서 유사도 측정 검색 엔진, 추천시스템 등 굉장히 다양한 분야의 데이터에서 문서 유사도 개념은 중요하다.하지만 컴퓨터는 자연어, 즉 텍스트 데이터를 이해하지 못한다.때문에 벡터 표현으로 변형된 데이터를 컴퓨터가 인식하게 되는데 이 때 우리는 이 벡터 표현을 가지고 유사도를 측정할 수 있다.어떤 방법으로 어떻게 측정할 수 있는지 이제 한 번 알아보자. Document Term Matrix (DTM) 다음 예시와 같이 문서 4개가 있을 때 각 단어가 몇 개 들어 있는지에 대한 행렬을 나타낼 수 있다.이를 DTM이라고 부른다. 과일이길고노란먹고바나나사과싶은저는좋아요문서1000101100문서2000110100문서3011020000문서4100000011 그리고 이러한 행렬이 있을 때 우리는 유사도를 구할 수 있는데 이번 포스팅에.. 2024. 7. 6.
[NLP] Text Data Preprocessing 데이터 직무에 있는 모든 사람들은 데이터를 잘 활용할 수 있도록 전처리, 후처리 등 가공해야 할 일이 많다.가장 일반적인 전처리 기법들이라고 한다면1. 결측치 처리2. 이상치 처리등이 있겠으나, 오늘은 데이터 중 텍스트 데이터에 집중해서 텍스트 데이터 전처리 기법에 대해 얘기해보려고 한다.자연어 (Natural Language)텍스트 데이터, 즉 사람이 사용하는 말은 '문자'로 구성되어 있고 단어나 문장 등을 생성하는 방식이다.하지만 컴퓨터는 자연어 형식을 이해하지 못하기 때문에 우리는 텍스트 데이터를 벡터 형식으로 바꿔줄 필요가 있다.이를 어떻게 구체적으로 하는지 알아보자.텍스트 데이터 전처리 과정전처리 기법의미Tokenization, 토큰화텍스트 데이터를 '토큰'으로 쪼개는 작업Pos Tagging,.. 2024. 7. 2.
[NLP] 정규 표현식, Regular Expression What is Regular Expression?특정한 문자의 패턴을 정의하는 방식특정한 규칙을 가진 문자열 탐색이메일 주소만 추출 (XXX@XXX.XXX)전화번호만 추출 ((XXX)-XXX-XXXX)자주 쓰이는 정규표현식 문법예시설명[abcde] 문자클래스 : []대괄호 안에 있는 문자들과 매치하라는 의미여러 개의 대괄호도 사용 가능 문자열에서 a, b, c, d, e와 매칭되는 부분 탐색[a-e] 하이픈(-)을 써서 범위 지정도 가능 문자열에서 a, b, c, d, e와 매칭되는 부분 탐색 메타 문자 : 원래 의미가 아닌 다른 용도로 사용되는 문자*, +, ?, {n}, {m, n} 등등“da.ce”Dot(.) : 줄바꿈 문자를 제외한 모든 문자와 매칭 (공백 포함) dance(O), damce(O).. 2024. 7. 1.
[NLP] API를 활용한 Web Crawling API를 활용한 Web CrawlingApplication Programming Interface (API)프로그램 간 데이터를 주고 받기 위한 방법레스토랑에서 점원과 같은 역할을 수행점원 : 손님에게 메뉴를 '요청'받고 이를 요리사에게 '요청' -> 요리사의 결과물을 전달API : 프로그램에게 데이터를 '요청'받고 이를 타 프로그램에 '요청' -> 데이터를 전달API가 가져야 할 내용요청방식GET, POST 등요청할 자료endpoint 등자료요청에 필요한 추가 정보검색 조건, api key 등Open API개발자라면 누구나 무료로 사용 가능하도록 공개된 APIOpen API를 배포해 자사 서비스를 활용한 영역 확대자사의 영향력을 높일 수 있음(예시) API를 활용한 데이터 수집 - 공공데이터포털로그인 .. 2024. 6. 29.
[NLP] Web Crawling, Selenium Dynamic Web Page정적 웹페이지서버에 미리 저장된 파일(HTML, JavaScript 등)이 그대로 전달되는 웹페이지보여지는 화면이 바뀌지 않음Client가 요청하면 페이지를 그대로 전송 (응답)누가, 언제 접속해도 동일한 내용을 보여줌 (서버에 저장된 데이터가 변경되지 않는다는 가정)동적 웹페이지서버에 있는 데이터를 스크립트에 의해 가공하여 전달하는 웹페이지보여지는 화면이 계속 바뀜Client의 요청을 해석하여 데이터를 가공해 전송 (응답)누가, 언제 접속하느냐에 따라 다른 내용을 보여줌Selenium을 활용한 동적 웹페이지 Crawling Selenium 패키지로 재벌집 막내아들 75화의 댓글 긁어오기## Selenium 패키지 Importfrom selenium import webdriv.. 2024. 6. 28.
[NLP] Web Scraping, BeautifulSoup What is Web Scraping??정의단일 웹페이지에서 원하는 정보를 추출하는 행위Web Crawling vs Web ScrapingWeb Crawling : URL을 탐색해 반복적으로 링크를 찾고 정보를 가져오는 과정으로, 특정 웹페이지를 목표로 하지 않음Web Scraping : 우리가 정한 특정 웹페이지에서 데이터를 추출Web Scraping Process1)  웹페이지 열기요청 (Request) : 클라이언트 혹은 사용자가 특정 서버에 리소스나 서비스를 요청하는 과정응답 (Response) : 요청한 사항에 대해 서버가 클라이언트 혹은 사용자에게 리소스나 서비스를 제공하는 과정2) Client서버에서 제공하는 서비스를 받는 입장데스크탑, 태블릿과 같은 장비일 수 있음Chrome, firefo.. 2024. 6. 27.