본문 바로가기

Archived(IT)

(55)
Apache Solr(아파치 솔라) Apache Solr(아파치 솔라) 오픈소스 정보검색 라이브러리인 루씬의 엔터프라이즈 버전이다. 엔터프라이즈 검색 서버인만큼 다양한 기능을 지원한다. 기본적인 텍스트 검색, 다면적 검색, 실시간 인덱싱, 클러스터링, 데이터베이스 통합, 다양한 문서처리 및 검색, 솔라 분산 인덱싱 등의 기능을 지원하고 있다. Apache Solr 아키텍처 및 기술용어 클러스터(Cluster) : 하나 이상의 노드로 이루어진 가장 큰 시스템 단위(독립적인 형태로 유지되며, 한 서버를 여러대의 클러스터가 구성할 수 있으며, 여러 대의 서버가 한 클러스터를 구성할 수도 있다) 스키마(Schema) : 색인할 문서의 필드, 필드 타입 정의 인덱스 복제(Index Replication): 마스터 인덱스의 전체 복사본을 하나 이상의..
챗봇과 관련된 오해 챗봇은 최근 빠르게 많은 분야들에서 상용화되고 있다. 단순문의 응답용부터 고객에게 맞춤 추천 서비스 등의 다양한 서비스를 지원하고 있는 챗봇은 빠르게 일상 속에 스며들고 있다. 그런데 챗봇에 대한 정보는 현재 상용화된 바에 비해 부족한 실정이다. 그래서 많은 사람들은 챗봇과 관련하여 크고 작은 오해들을 하고 있을 지도 모른다. # CheckPoint 1. 챗봇은 사람과 달리 모든 질문에 답할 수 없다 고객 : 월요일에 영업하나요? 직원 : 월요일이요? 영업하죠. 네네. 고객 : 월요일에 영업하나요? 챗봇 : 당사 영업시간은 아래와 같습니다. 평일 10:00 ~ 20:00 주말, 공휴일 휴무 챗봇과 관련하여 가장 자주 거론되는 오해이다. 아래와 같이 간단한 문의는 챗봇이나 상담원이나 마찬가지로 원하는 답을..
자연어 이해(Natural Language Understanding, NLU) 자연어 이해 , NLU NLU란 자연어 표현을 기계가 이해할 수 있는 다른 표현으로 변환시키는 것을 뜻한다. 형태소 분석이나 구문 분석과 같은 자연어 처리 (NLP)와 혼용해서 사용되는 경우가 많으나 자연어 이해 (NLU)가 더 큰 개념으로 단순히 단어나 문장의 형태를 기계가 인식하도록 하는 것이 아닌, 의미를 인식하도록 하는 것을 의미한다. 자연어 이해 (NLU) 기능의 예를 들자면 "문장의 의도 분류" , "서로 다른 언어간 번역 문장 생성", 자연어 질문에 대한 답변 추출 등이 있다. 딥러닝 (Deep Learning)기술의 발전 덕분에 전통적인 통계 및 룰 기반의 자연어 이해 (NLU)기법이나 머신러닝(Machine Learning)방식의 자연어 이해 (NLU) 기법의 한계를 해결할 수 있게 됐다..
검색 엔진(Search Engine) 검색 엔진(Search engine) 인터넷 초기에는 모든 웹 서버를 하나의 목록으로 만들어 관리할 만큼 자료의 양이 많지 않았기 때문에 그 중에서 원하는 자료를 찾는 것이 어렵지 않았다. 하지만 인터넷 환경이 점점 발달함에 따라 웹 상에는 엄청난 양의 자료들이 넘쳐나기 시작했고, 이 방대한 자료 중에서 자신이 원하는 자료를 찾는 것은 매우 힘든 일이 되었다. 웹에 존재하는 많은 양의 정보 중에서 사용자가 원하는 정보만을 여러 웹 사이트나 웹 페이지 등에서 검색해 주는 시스템이나 프로그램 등을 통틀어 검색 엔진(search engine)이라고 한다. 이러한 검색 엔진은 사용자가 원하는 정보를 웹에서 찾는데 걸리는 시간을 최소화할 수 있게 도와준다. 검색 엔진의 동작 원리 검색 엔진은 크게 웹크롤링(Web..
Deep Learning(딥러닝) Deep Learning 이란? 여러 비선형 변환기법의 조합을 통해 높은 수준의 추상화(abstractions, 다량의 데이터나 복잡한 자료들 속에서 핵심적인 내용 또는 기능을 요약하는 작업)를 시도하는 기계 학습 알고리즘의 집합으로 정의되며, 큰 틀에서 사람의 사고방식을 컴퓨터에게 가르치는 기계학습의 한 분야 딥러닝의 사전적 정의는 위와 같다. 위와 같이 딥러닝은 머신러닝의 부분집합이다. 사실 기존 머신러닝 이론에서 크게 새로울 것이 없다고도 한다. 그럼에도 불구하고 딥러닝은 층(Layer)란 개념의 중요성이 확장된다. 층 또는 단계를 의미하는 Layer는 수학적 의미의 차원과 비교될 수 있다. 이와 같은 클래스 A와 B는 하나의 직선으로 표현된다(엄밀히 말하면 한 직선의 연장선상에 다 표현할 수 있다..
Machine Learning(머신 러닝) Machine Learning이란? 간단히 말해 기계가 학습한다(또는 학습하는 기계)라는 뜻이다. 일반적으로 통용되는 정의는 다음과 같다. A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at task in T, as meausred by P, improves with experience E. Tom Mitchell (1998) 직역하자면 "만약 어떤 작업 T에서 경험 E를 통해 성능 측정 방법인 P로 측정했을 때 성능이 향상된다면 이런 컴퓨터 프로그램은 학습을 한다고 말한다". 쉽게 말해 우리는 컴퓨터 프로..
데이터 레이크(Data Lake) 개념 데이터 레이크는 대규모 Raw 데이터(가공되지 않은)를 한 곳에 모아 저장하는 리포지토리이다. "데이터 레이크"라는 용어는 Pentaho의 CTO(최고 기술 책임자)인 James Dixon이 처음으로 소개했다. 이러한 유형의 데이터 리포지토리를 레이크라고 부르는 이유는 필터링되거나 패키지화되지 않은 수역과 같은 자연 상태의 데이터 풀을 저장하기 때문이다. 데이터는 여러 소스에서 레이크로 흐르며 원래 형식으로 저장된다. Data Lake의 등장과 발전 기존에는 데이터가 생성된 영역별로 수집 및 관리가 이루어졌으며 주로 정형화된 데이터로만 분석되어왔다. 하지만 빅데이터와 인공지능 기술의 중요성이 커지면서 다양한 영역의 다양한 데이터가 만나 새로운 가치를 만들어내기 시작하였다. 이와 같이 빅데이터를 효율..
기계독해 MRC(Machine Reading Comprehension) 기계독해(MRC)란? 기계독해(MRC)는 인공지능(AI) 알고리즘이 스스로 문제를 분석하고 질문에 최적화된 답안을 찾아내는 기술을 말합니다. 사람이 텍스트를 읽고 질문 답변을 추론하듯이 AI가 문장 속에서 의미를 찾고 답변할 수 있습니다. 추론은 불가능하지만 사람이 관련 정보를 찾기 위해 정보를 일일이 확인하지 않아도 답을 찾아낼 수 있습니다. 단순한 과거의 기계독해로부터 AI로 발전되기 까지 과거 기계독해는 알고리즘을 일일이 컴퓨터에 주입하는 방식으로 이뤄졌습니다. 우리는 무의식적으로 익숙해지고 변화되어가는 사고방식을 지녔지만 기계는 그렇지 않았습니다. 우리가 익숙해지는 패턴을 그대로 기계에 명령을 내리고 주입을 해야만 했습니다. 이러한 과정 자체가 많은 비용을 나아냈고 효율성에 대한 회의로 이어지게 ..