원래 indf블로그에 썼는데 티스토리에서 악성스크립트가 있는 스킨이 있다고 일괄 폐쇄를 시켜서 복구도 안되서 ;;;

그때 글을 옮겨둔상태입니다. ㅜㅜ


아마제가 2014년부터 썼던가? 아무튼 글을 옮겨놓아서 시간흐름이 이상해 보일수도 있고 글볼때 불편할꺼 같아서 링크로 정리합니다.

혹시 궁금하면 댓글 주시면 됩니다.



<<검색 그리고 프로젝트 이야기>>


[1. 프롤로그]

   http://tost.tistory.com/205


[2. 색인편]

2.1 색인/인덱스

    http://tost.tistory.com/206

2.2 문자열색인기법

    http://tost.tistory.com/207

2.3 문장색인기술

    http://tost.tistory.com/208

2.4 형태소분석

    http://tost.tistory.com/209



[3. 검색편]

3.1 재현률과 정확도

    http://tost.tistory.com/210


--- 작성 쉬는중 15.11.20 현재 ---


[4. 외전]

4.1 표절문서, 유사문서, 중복문서 ?! 레포트 표절시스템에서 알아야할 사항

    http://tost.tistory.com/114

4.2 오타교정/동의어/연관단어

    http://tost.tistory.com/204   


근 1년만에 다시 약속했던(?) 글을 이어가려고 한다.

원래는 싸다구 서버쪽 개발스택에 대한 이야기를 쓰려고 접속한건데... 왜 이걸 쓰고 있는지는 잘 모르겠다. ㄱ-)



1. 들어가기전 잡담


재현률과 정확도를 간단히 설명하자면 재현률은 얼마나 검색결과가 많이 나오게 하느냐이고, 정확도는 얼마나 정확하게 나오느냐고 할수 있다. 정확하다는건 다르게 말해 검색결과가 적게 나오므로 재현률은 떨어진다고 말할수 있다.

복잡하게 생각하지말고  검색결과에 영향을 주는 개념이라고 생각하고 일단 넘어가자.


재현률과 정확도는 상반되는 개념이지만, 또 전혀 상관없다고 보기도 뭐한 모호한 개념이다. 뭔 알수없는 소리냐고 할텐데, 이해를 돕고자 비유하자면 "섹시하면서 귀여운여자"와 같은 느낌이다. (??!!)



사족으로 '귀여우면서도 섹시한 여자 사진' 으로 검색했더니 나온사진이다. 

사진속 주인공은 오렌지캬라멜의 나나 라고 한다.



2. 정확도


사실 정확도는 설명하기 참 어려운놈이다. 

"정확도 = 품질" 이라는 개념으로 보면 랭킹이라는 개념을 알아야 하고, 그밖에 영향받는 요소들이 많다.

지금 말하려는 '정확도'는 검색결과가 적게 나오게 해서 얻는 정확함(?)을 말하려는것이다.


품질에 관련된 정확도의 개념은 '랭킹' 이라는걸 3부 2편에 따로 다룰것이다.

생각보다 우리들은 머리가 좋지 않다. 복잡한건 나중에 생각하자. 레드썬!!



2.1 내가 입력한 '검색어'의 의미를 생각해 보았니?


긍정의 힘!! 이런 "시크릿"이라는 책을 아는가? 그 책을 사기위해 yes24에서 '시크릿' 이라고 검색했다. (이미샀다)

그 결과를 캡쳐한건데... '나쁜 사마리아인들' 이라는 책이 두번째에 보인다.


'시크릿'이라는 단어는 어디를 찾아봐도 없다. 왜 검색된걸까?

목차에도 없고, 리뷰에도 없어서 찾는데 좀 헤맸는데 나쁜 사마리아인들의 원제목은 아래와 같다.


"원제 : Bad Samaritans: The Myth of Free Trade and the Secret History of Capitalism"


내가 "시크릿"으로 검색을 했지만, 영문 "Secret"으로 확장되서 검색을 한것이다.

과연 이것이 검색결과로 노출되는것이 맞을까?

반대로 'coffee'라고 검색했는데 '커피'가 들어간 검색이 안나오는것은 맞을까?




2.2 내가 입력한 키워드가 가장 정확한 조건이 아닌가?


에러메시지를 검색하거나 상품코드로 검색했을때 불필요한 결과가 너무 많이 나오는걸 경험한경우가 있을것이다.

한국어중에서는 문장형으로 작성된 검색어도 은근히 결과가 많아 찾기 힘든경우도 많다.

아니면 의도하지 않은 확장된 검색으로 불필요한 결과가 나와서 불편한 경우가 있다.


예를 들면, 과거버전인 ibatis의 사용방법만 알고 싶은데, 구글은 계보를 잇는  MyBatis의 결과도 같이 보여주고 있어서 불편한 경우가 있다. (비 전공자를 위해 비유하자면, 영화 '시월애'를 찾는데,.. 리메이크된 '레이크 하우스'가 자꾸 보이는 느낌?)






3. 재현률 


재현율은 사용자의 검색어가 부정확한 경우를 대비해서 더 많이 결과를 표시하기 위한 기술이 많이 존재한다.

재현률을 높이기위한 방법으로는 오타교정, 동의어검색, 그리고 검색방법(검색메소드)이 존재한다.


이런 재현율을 높이기위해서는 다양한 사전이나 패턴이 필요한데, 맨땅에 만들기는 힘들다.

그렇기 때문에 사용자의 검색로그를 활용해서 기본적인  rawdata를 생성해서 정제해서 사용하는편이다.

사용자의 검색로그를 활용하는것은 확률적인 방법인데, 현재검색어와 이전검색어의 쌍으로된 결과를 로깅해서 group 해서 빈도가 높다면 연관성이 높은 키워드라는것을 알수 있다. 


예를 들어, '옵g pro' 라고검색했는데 검색결과가 없으면 사용자는 '옵지프로' 라고 검색해보고 또 결과가 없으면 다양한 조합을 통해 검색어를 변경할것이다. 그러면 이런 빈도가 높다면 


a) 비슷한 의미를 가진 유의어이거나, 

b) 오타가 나서 다시 검색했거나, 

c) 외래어 같이 발음이 비슷한 유음어


일 확률이 매우 높다. 그래서 이 데이터를 기반으로 만들면 재현율을 높이면서 품질의 만족도를 높일수 있다.

사실 오타교정과 동의어는 기능적으로는 크게 다르지 않지만 용도별로 구분했다고 보는게 좋다.




3.1 오타교정 


외래어 표기나 영어에서 특히 많이 실수하는걸 도와준다.

보통 자주 실수하는 오타에 대해 사전을 관리해서 검색결과가 없을경우 오타교정을 해서 다시 검색을 한다.

사전 구조는 만드는사람 마음이지만, 다음과 같이 대표단어와 오타가 많이 나는 단어에 대한 후보군을 사전에 넣어 활용이 가능할것이다.


 groovy : grooby, gruvy, grooby


이런사전이 있다면, grooby라고 잘못 검색하더라도, grooby라는 단어의 오타일수 있겠구나 하는것이 가능하다.


한글의 경우는 외래어 표기에서 실수를 줄여주는것이 있다. 예를 들어 '샹들리제'의 경우 샹드리에, 샹들리애, 샹드리에, 샹들리제, 샹들리에 사용자가 입력할때 모호한 경우가 많다. 나름 표준어(?)라는 권고안이 있더라도 일상생활에서 이걸 항상 맞춰가며 타이핑 하는 사람은 드믈다. 그래서 확장할 경우 꽤 만족도가 높다. (이건 의도성이 들어갈 확률이 낮다)



오타교정과 동의어 확장의 경우 기능적으로 크게 차이점은 없어 보이긴한다.

코에걸면 코걸이 귀에걸면 귀걸이 같이 사용방법에 따라 달라질뿐 크게 다른점이 없어 보인다.


굳이 오타교정과 동의어에 대해서 이론적으로만 나눠 본다면, 

오타교정의 경우는 사용자 실수에 대한 보정을 한다는 의미가 강하고, 소리내어 읽으면 유사한 유음어의 특징이 있다.

동의어의 경우는 실수가 아니라 다른이름으로 불릴수 있는 의미적 차이로, 소리내어 읽을때 비슷한게 아니라 글자 자체가 다르지만 의미가 통하는 단어의 확장을 할때 동의어라고 할수 있다.




3.2 동의어 확장


3.2.1 동의어 ?!

의미가 같아서 검색할때 같이 사용하면 좋은 후보 검색키워드라고 할수 있다.

사용자가 놓치지 않게 재현율을 높여 여러번 검색해야하는 불편을 줄인다. 

동의어도 개념적으로 나누면 아래와 같은 케이스로 나눌수 있겠다.


ㄱ. 표준어/사투리

자장면과 짜장면, 멍게와 우렁쉥이같은 표기법의 문제이다.



ㄴ. 외국어(영어)표기

'taxi'나 '택시'는 우리가 혼용해서 많이 사용한다.

커피, 버스, 스마트폰같이 단일 단어에서도 존재하고, 제품명에 일부 영문표기가 섞였을때도 그렇고...

이런 원문표기에 대해서 같이 검색되어야 하는 경우도 존재한다.


ㄷ. 별칭/축약어

박지성, 캡틴박 같이 별칭이 있는 경우도 존재한다.

슈퍼주니어 슈주 같이 말을 줄여서 가진 축약어개념의 동의어도 존재한다.





3,2.2 동의어 확장의 문제


첫째, 우선 품질적인 문제에 영향을 줄 수 있다.

전에 다뤘던, 위에 정확도 이야기를 할때 언급했던 '시크릿' 이라고 검색했는데, 원제에서 secret 이 검색되어 갸우뚱한 경우도 존재할 수 있다. 하지만 이런 단점은 검색결과의 순서를 조정하는 '랭킹'이라는 개념이 등장하게된 배경이기도 하다.

내가 의도하지 않은 결과가 나올 수 있더라도, 의도한 대상을 더 상단에 올려준다면 사용자 입장에서는 문제가 없다.

3부 2편에서 랭킹에 대한 주제를 다루도록 하겠다.


둘째, 성능이나 의도하지 않은 영향을 줄수도 있다

동의어의 조합을 허용할 경우 특히 주의해야한다. 모든 조합을 허용한다면 다단계처럼 일이 어떻게 커질지 모른다. 어느 단계까지 허용할것인지 잘 고민해야 할것이다.


슈퍼, 수퍼, super 

주니어, 쥬니어  

슈주, 슈퍼주니어


예를 들어, 위와같은 사전이 있고 띄어쓰기에 대한 복합 단어의 동의어 확장을 한다면 어떻게 될까?

'슈퍼 주니어' 라고 검색하면 아래와 같이 6가지의 조합이 생긴다.

슈퍼 주니어

수퍼 주니어

super 주니어

슈퍼 쥬니어

수퍼 쥬니어

super 쥬니어


별거 아닌거같아 보이지만, 단지 2개의 단어의 조합에서 생긴것이다. 각 단어별 조합은 N x M x O x .... 기하급수적으로 조합의 수가 늘어난다. 즉 단어조합이 많고 사전도 많다면 재앙이 올수 있다. 

(실제로 검색어에서 형태소분석결과의 동의어 확장의 조합을 만들다가 문제가 생긴 경우가 존재했다)


그래서 일반적으로는 아무리 검색어가 여러 단어로 조합해도, 검색어 자체를 하나의 대상으로 동의어 사전을 관리하는것이 일반적이다.





4. 검색방식 / 검색메소드


단일 단어가 아니라 검색어가 여러개가 입력된 경우 사용할수 있는 방법이다.


"서울에서 가장 맛있는 떡볶이 가게는 어디인가요?"

"윈도우7 탐색기에서 폴더옵션이 안보일경우"


위와 같이 장문의 텍스트나 많은 단어들을 입력한 경우 해당된다. 


내가 사용했던 상용 검색엔진의 경우 someword, allword, anyword, allorder, allword_thruindex, natural 같은 검색메소드가 존재했다.(사실 몇년이 지나서 가물거리긴 하지만 대충 그랬던거 같다)


어떤 메소드를 쓰냐에 따라서 다른 검색결과를 던져줬는데, 검색결과갯수 즉, 재현율의 차이를 주는 방식이다.

몇가지 대표적인 방식을 아주 간략하게 설명하자면 다음과 같다.


4.1 anyword (하나라도 일치하면 OK)


"옥수수 감자 고구마" 라고 검색하면 어떤 단어라도 하나만 있으면 검색결과로 리턴된다. 재현율은 높지만, 정확도는 낮다고 할 수 있다.이해를 돕기위해 sql쿼리로 굳이 표현해본다면 아래와 같다.


select * from 데이터 where 색인어 in ('옥수수', '감자', '고구마') // or 문과 같음


근데, 실제 검색프로젝트를 진행하면서 이 메소드를 적용해서 쓰는곳은 못봤다.



4.2 allword (검색어의 모든 단어가 있어야 OK)


"옥수수 감자 고구마" 라고 검색하면 3개 단어가 모두 있는 문서를 검색하는것이다.

낮은 재현율이지만 정확도는 높다. anyword와 반대된다고 불수 있다.

이해를 돕기위해 쿼리문으로 억지로 표현하자면 아래와 같다.


select * from 데이터 where 색인어 = '옥수수' and 색인어='감자' and 색인어='고구마' 


명시적으로 이야기하기 쉽기 때문에 실제 프로젝트에서도 많이 사용했다.



4.3 someword (검색어에서 일부단어가 일치하면 OK)


이제부터 조금씩 난해해 지기 시작할것이다. 해당 검색엔진에서는 몇가지 패턴에 따라 비중이 달랐는데 개념을 이해하는것이기 때문에 대충 설명하자면(?) 검색한 모든 단어중 60%정도 있다면 결과로 돌려준다는 의미이다.

예를 들어 "옥수수 감자 고구마"로 검색했을때, 검색어의 2개만 내용에 포함되면 돌려주는 그런 형식이다.


예를 들어, someword라는 기능을 이용해서 검색할때 "옥수수 감자 고구마"로 검색할때

문서2번에 "고구마"가 없지만 옥수수랑 감자 2개의 단어는 있으니까 검색하는것이다.



메소드별 검색결과로 본다면 아래와 같은 결과의 차이를 보인다.


* anyword : 문서1, 문서2, 문서3

* allword :  문서1

* someword: 문서1, 문서2



4.4 order 계열 (순서까지 일치한 결과만 OK)

여러개의 검색어가 존재한다면, 그 순서도 의미가 있을수 있다.

검색어의 순서에 따라 검색이 되고 안될수 있다는 의미이다.


"창업 기업"으로 검색했다면 두번째 결과만 나와야하고

"기업 창업"으로 검색했다면 첫번째 결과만 나와야 한다는 의미이다.


보통 검색어의 순서로 결과가 나오고 안나오고를 조정하기 보다는 품질에 따른 순서의 조정으로 활용되는것이 일반적이다. 하지만 이런 형태로 검색유무를 판별하는 기준이 될 수도 있음을 고민하다.




4.4 복합필드 계열 (필드별로 흝어져 있어도 OK)


검색대상이 되는 문서의 검색대상 필드들도 여러개일 수 있다.

즉, 여러개의 검색대상 필드에 흝어져서 존재하는 문서가 존재할 수 있다는 의미이다.

(= 사용했던 검색엔진에서는 thruindex 계열 검색메소드라는 이름으로 존재했었다)


예를 들어, "싸다구 할인" 으로 검색했을때

첫번째 결과처럼 제목에 '싸다구' 본문에 '할인' 이 존재해서 필드별로 검색된 결과가 있을수 있고

두번째 결과처럼 제목에 '싸다구'와 '할인'이 모두 검색어가 존재해서 검색되는 경우가 있을것이다.


일단적으로는 한 필드에 모두 존재해서 검색되는것이 일반적이지만, 여러개의 필드를 하나로 보고 검색할 수 있게 하는 기능을 통해 검색결과를 더 많이 보여줄수 있다. (재현율을 높임)



보통 검색대상의 데이터가 엄청 많은 경우라면 단일필드에서 모두 검색하는게 유리하지만, 

데이터가 적거나 검색대상 필드가 너무 많아서 모든 필드를 퉁쳐서 검색해야 유리한 경우가 존재한다.


대표적인 예라면 저자와 책제목 필드가 별도로 있는데,

"정주영 시련은 있어도 미련은없다" 형태로 저자와 제목을 같이 검색하면 결과가 안나올수 있다.

이런 검색패턴이 있을것으라고 예상된다면 모든 대상을 하나의 필드처럼 가정되어 검색되게 해야할 것이다.




5. 마치며


뭔가 적다보니 또 말이 길어 지게 된거 같다.

이번에 다루고자 햇던것은, 검색결과 건수를 좌지우지 하는 내용을 다루려고 했던것이다.

그래서 정확도를 검색의 '품질'을 기대하고 글을 본 독자라면 실망했을지도 모르겠다.


그래서 '랭킹'이라는 개념을 다루지 않고 글을 마치는것도 안될거 같긴하다.


간단히 말하면, 랭킹은 검색결과수는 유지한채 데이터의 순서에 영향을 주는 기법(?)이다. 

쉽게 생각하면 좀더 스마트한 정렬이라고 봐도 무방할것 같다.


랭킹을 위해서는 품질에 대한 이야기를 해야할텐데... 몇가지 이야기를 할것이고

검색 품질이라는건 절대적이라는게 아닌걸 이야기 하고 싶다.


일단, 검색프로젝트 이야기 3부 1편은 여기서 마치겠다.



1. 형태소 분석이 왜 필요한데?


지금까지 우리가 아는 기법인 like 검색이나 N-gram을 사용한다고 가정하자. 

지금 안군은 배가 너무 고프기도 하고, 오랫만에 친구들을 만나는것에 너무 들떠있다.
역시 남자라면 "고기" 아니겠어? 하고 검색을 했다.
그런데 검색 결과는 아래와 같았다. (연두색 칠한 단어 참고)


"..."



"참외를 먹으면 참 외롭고, 태연은 벌에 쏘여도 태연함" 이런 말장난 같은 검색결과가 실제라면 문제가 있다.

하지만, 우리가 알고있는 색인기법에는 실제로 저런 결과가 나올수 있는 한계점을 가졌다.


그럼 어떻하지??




2. 형태소 분석



2.1 형태소분석은 뭐임?


형태소란?  "뜻은 가진 가장 작은 말의 단위" 말한다. 이제 약간의 국문학 지식이 필요한 시점이다 ㅠ

형태소라고 하는것도 사실 여러가지가 존재하는데, 예를 들어 보겠다.



1. 자립형태소 : 혼자서 쓸 수 있는 경우를 의미한다. (산, 매우)

2. 의존형태소 : 혼자서 쓸수없는 경우, 즉 다른말에 기대어 쓰면 의존형태소라고 한다. (-이, 푸르-, -다)

3. 실질형태소 : 혼자쓰던, 기대어 쓰던 실질적인 뜻을 갖고 있는 형태소를 의미한다 (산, 매우, 푸르다)

4. 문법형태소 : 문법상 필요한 형태소를 의미한다. 보통 조사가 해당되는 편이다 (~이, ~다) 


위와 같은 문장을 여러개의 형태소로 분류할 수 있다.

하지만, 검색엔진에서 색인어로 사용할 형태소는 3번. 즉,실질형태소(=의미형태소)를 의미한다.

그렇다면 이런 실질 형태소는 어떻게 찾을수 있을까?




2.2 실질형태소는 어떻게 뽑지?


내가 직접 눈으로 보면 "산" 이 명사 인것도 알겠고, 의미가 있는 실질형태소라는 것도 알겠다.

그러면 컴퓨터는 어떻게 실질형태소만 뽑아 낼 수 있을까?


가장 기본이 되는것은 바로 "사전"이다. 우리가 생각하는 그 사전 맞다.

물론, 검색을 위해서는 그 단어의 뜻에 대한 설명은 사실 필요없고, 

어떤 품사를 지녔고 어떤 형태소에 속하는지 아는것에 촛점이 맞춰진다.


예를 들어, "산" 은 명사이고 실질적인 뜻을 가졌으니 실질형태소 이므로 색인어로 뽑혀야 한다. 

"-이"는 의존형태소로 혼사서 쓸수없고, 의미가 없으므로 제외되어야 한다는것을 알 수 있다.





2.3 생각보다 복잡한 형태소 분석


하지만, 생각보다 그리 간단하지 않다.

"산 매우 푸르다" 에서 ""라는것이 사실 의존형태소라는것을 아는건 사전만으로는 알 수 없다.


네이버 국어사전에서 '' 라고 검색하면 꽤 많은 결과가 나온다. 단순히 사전만으로 어떤건지 판단할 수 없다는것이다.

http://krdic.naver.com/search.nhn?kind=all&scBtn=true&query=%EC%9D%B4



그래서 형태소 분석을 할때는 영어 배울때 문법을 배우듯이 규칙이 추가된다.

명사뒤에는 의존형태소가 올 수 있고, 명사뒤에는 명사가 올 수 있는게 복합명사인데 이 조합가능한 단어는 무엇인지...쩜쩜쩜.... 생각보다 복잡한 규칙들을 존재하고 예외 사항도 정의해야 한다. 

참고로, 형태소분석기 프로젝트중 "꼬꼬마 형태소 분석기" 의 품사에 대한 정보를 정리한것이 있는데 참고해보면 다양한 품사의 조합이 있구나 하고 느낄테니 참고하기 바란다.

http://kkma.snu.ac.kr/documents/index.jsp?doc=postag


형태소 분석기를 만드는게 어려운 이유는품질을 위해서는 이런 사전작업과 규칙정의가 필요한데 검색엔진을 만드는 사람은 엔지니어들이고, 이런 규칙을 만들어 낼 수 있는 사람은 국문학과 출신이라는 점이다.

사실 내가 다닌 첫 회사가 검색엔진 솔루션 업체인데국문학과 출신이 상당수 계셨다.
이렇게 열심히 규칙을 추가해도 종종 형태소 분석을 했을때 오분석이 나기도 한다. 
대표적인 예시라면 역시... "아버지가방에들어가신다" 랄까?






3. N-Gram과 형태소 분석의 비교


우리가 알고 있는, N-Gram과 간단히 비교하면서 이야기 해보겠다.
처음 언급했었던 문장을 예로 들어 보겠다.
포스코 고기능 철장재 생산 성재공장에 준공


3.1 N-Gram에서의 색인어

기존에 배운 N-GRAM방식으로 색인어를 추출한다면 아래와 같을것이다.
보면 알겠지만, 색인어들 대부분이 불필요하게 추출되었고, 색인어만 보면 어떤내용인지 알기 어렵다.
N-Gram방식의 단점이 색인어 갯수가 많다는것과 의도하지 않은 색인어가 생성되면서 품질이 저하 될 수 있는 문제를 지니고 있는점이다. 

포스           <-- 의미없음
스코           <-- 의미없음
고기           <-- 의도하지 않은 단어가 색인어로 추출됨
기능
철장           <-- 의미없음
장재           <-- 의미없음
생산
성재
재공          <-- 의미없음
고장
장에          <-- 의미없음
준공



3.2 형태소 분석의 색인어

형태소 분석을 통하여 색인어를 추출한다면 색인어 자체가 의미를 가지고 있고, N-gram방식보다 훨씬 적은 색인어를 가졌음을 알 수 있다. 색인어가 적다는건 인덱스의 크기가 작아짐을 의미하고 이건 인덱스 탐색을 할때 더 적은 비교를 해서 찾을 수 있다는 의미이다. (=즉 검색속도가 빨라질 수 있다)

포스코
고기능
기능
철장재
생산
성재공장
성재
공장
준공

참고로 주의할것이 있는데, 형태소는 의미를 가진 가장 작은 단위라고 했는데...
"성재공장"은 성재 + 공장 이라는 단어를 합쳐서 만든 단어이므로 가장 작은 단위가 아니다.
이렇게 명사가 두개이상 합쳐진 경우를 복합명사라고 하는데, 복합명사도 색인어로 추출을 하는것이 좋다.

물론, 복합명사를 색인어로 넣지 않아도 검색을 하는데 지장이 없다.
하지만 정확도가 더 높은 검색결과로 사용할 수는 있다. (=이는 "검색품질" 관련 내용에서 다뤄보겠다)




4. 마치며

사실 나는 개론적인 내용으로 딱딱하게 다뤄진 내용을 보면 이해도 어렵고 해서 최대한 풀어쓰고 개념을 이해하는것에 촛점을 맞췄는데 만족스러운 내용이었을지 모르겠다.
어느정도는 이제 형태소 분석이 뭔지 개념은 잡혔을것이라고 생각한다. 
( 나 혼자만의 생각일지도 모르겠다 ㄱ- )

내가 다루고 싶은건, 검색엔진에서 기존 DB에서 쓰는 검색 기법과 차이점에 더 촛점을 맞추려고 했기 때문에,

형태소 분석에 대해 더 깊게 알고 싶다면 강승식 교수님의 이나 강의자료를 읽어 보는것을 권장하고,

오픈소스 형태소 분석기 관련 프로젝트가 궁금한것이면 은전한닢프로젝트를 방문해보길 바란다.


3부에서는 재현률, 정확도에 대한 용어에 대한 이야기...검색 메소드의 개념, 
동의어 신조어 불용어 같이 검색엔진에서 품질을 위해 도입된 기술과 용어 그리고 개념들에 대한 설명을 적어볼까 한다. 



+ Recent posts