'Open API'에 해당되는 글 2건

  1. 2009.02.16 MashEnglish - 매쉬업 참가작.
  2. 2009.02.09 앞으로 다가올 웹의 환경.
ASP.NET2009.02.16 10:35

이번 다음/네이버 에서 주최하는 메쉬업 경진대회에 참가했다.
주제는 영문 뉴스 기사로 영어 문제를 자동으로 만들어 주는 사이트 이다.
영문 뉴스에서 문제 생성을 위한 영어 형태소 분석을 통하여, 추출된 단어로 문제를 생성하며, 그 단어의 출현 빈도와 비슷한 다른 단어를 랜덤으로 뽑아와서 문제를 생성한다.

핵심은 문제를 곧바로 자동생성 한다는것이다.

1. 목적
    - 학습자의 관심 분야에 대한 영문 기사 검색 및 활용을 통한 주도적 영어 학습 서비스 제공
    - 하나의 채널을 통해 다양한 언론사 뉴스 검색 편의 제공
    - 영어 기사를 활용한 영어 학습 데이터 생성으로 관심 분야를 활용한 재미있는 영어 학습 메뉴 제공
   
2. 특징
    - 학습자가 주도적으로 관심분야에 대한 영문 뉴스 학습 가능
    - 관심 분야 영문 기사를 활용한 자동 학습 메뉴 생성 기능으로 영어 학습 도서 및 강의 등 제한적 학습 콘텐츠 서비스 보다
       학습자가 학습할 수 있는 콘텐츠 범위가 무제한적.
    - 주관식, 객관식, 핵심 어휘, 독해 등 다양한 영어 학습 메뉴 제공을 통해 폭넓은 영어 학습이 가능함

3. 구현방법
    - 야후 뉴스검색 API를 사용하여 학습자의 관심분야 영문 컨텐츠  검색하고, 영어 형태소 분석을 통한 문제를 생성하였으며
      입력된 문장에 나오지 않은 단어는 답이 될 단어의 단어 우선순위를 기준으로 비슷한 단어를 검색해서 보기로 제시 함.
      또한, 전체 문장을 각각의 독립된 문장으로 분할 하여 구글 번역 API를 통한 해석을 함.

4. 서비스 가능성
    - 날마다 바뀌는 언론사들의 컨텐츠를 이용하여 무한한 영어 학습을 할 수 있고, 사용자가 원하는 컨텐츠로 학습 하여
      꾸준한 방문이 예상됨.

우선 http://mashup.winglish.com 에 접속하면 아래와 같은 이미지가 나오는데, 이때 기사검색, 직접입력 두가지 중 하나를 선택 하면 된다.


기사검색을 선택하여, 원하는 키워드로 검색하면, 아래와 같은 결과가 나온다. 이 결과를 야휴 뉴스검색 Open API를 사용하였다. View 버튼을 누르면, shadowbox.js를 이용하여 화면 내에서 기사가 나오는데 이 기사에서 원하는 부분을 클립보드에 복사해 두었다가 Input Box에 넣고 Send Data 버튼을 누르면 문제가 자동 생성된다.

생성될때 시간이 좀 걸리는데, 형태소분석 외에도, 구글 번역기 Open API를 사용하여 각각의 문장을 번역 하는데 시간이 걸리는것이다.

아래 화면이 입력된 뉴스 지문에서 문제를 자동 생성해낸 결과 화면이다. 플래쉬 게임형식으로 되어있고, 보기는 항상 랜덤으로 변한다. 같은 지문으로도 여러가지 문제를 자동으로 생성하기 때문이다.


Exercise 메뉴에서는 입력된 지문의 특정 부분에서 사전 빈출횟수가 별두개 짜리 단어를 4개만 뽑아서 빈칸을 만들어 준다. 어휘 학습에 도움이 많이 될듯 하다.

마지막 Summary 메뉴에서는 입력한 문장을 지문으로 보여준다.
문장 중간에 중요한 단어는 아래에 사전결과를 보여준다.



클래스 다이어 그램이다.
Analyzer - 실제 영어 문장 형태소 분석을 한다. 메서드중에서 getUsefulWords() 메서드가 재미있는데, 입력된 문장에서 단어의 원형을 뽑아내는데, 아주 재미있는 부분이다.


원형을 찾는 메서드는 아래처럼 구성되어 있다.



아래 다이어 그램은 사전 클래스 이다. 형태소 분석을 위한 원형을 찾을때 디비로 접근하는 시간을 줄이고자 텍스트 파일로 만들어 페이지 로딩 될때 해쉬테이블에 넣어 ASP.NET 캐슁 처리를 한 후 매번 메모리에서 데이터를 찾는 방법을 택했다.

또하나!!
한번에 긴 문장을 입력 받고나서, 어디서 어디까지가 하나의 완전한 문장인지 검사를 해야 했었는데, 문맥으로 검사하기에는 주어진 시간이 너무나 부족하여 최대한 머리를 굴려 분리 해 내긴했지만 약간 부족한 부분이 있는건 사실이다.
하나의 큰 paragraph에서 문장 단위로 쪼개는 소스는 아래와 같다.


약간 아쉬운것은 WarmUp 메뉴에서 생성한 문제를 Summary 에서 모두 다시 뿌려주는것이다. 이미 전문가 심사가 지났기 때문에 수정할지 말지 고민중이다.....

믹시
저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by dotnetpower
Think about it.2009.02.09 11:17
   Microsoft의 Live.com, Google의 igoogle.com 등
IT 인프라를 이끄는 글로벌 기업들의 서비스 전략을 봤을때
지금까지는 각각의 독립적인 서비스가 이루어 졌지만, 앞으로는 다양한 각각의 컨텐츠들을 하나의 웹 서비스에 포함 시키게 될 것같다.


지금 떠오르는 기술들의 공통점은 Open API로 각 서비스를 밖으로 빼 내려 하고있고, 위젯과 같은 작은 어플리케이션으로 그 서비스 들을 사용자는 원하는 위치에 놓을수 있고, 사용자는 자신이 선호하는 사이트 한곳에서 여러가지 정보를 한꺼번에 구독 할수 있게 된다.

하지만, 그렇게 여러 업체의 정보를 한곳으로 끌어 오려면, 엄청난 네트웍 대역폭이 필요한데, 이 네트웍 대역폭을 늘리기 위한 발버둥이 구글의 YouTube.com와 IPTV 이라 생각된다. 점점 사용자들의 눈이 높아지고, 예전에는 텍스트면 족했던 정보들을 이미지에서 동영상으로 옮겨 가고 있는게 현실이다.

이 때문에 네트웍 사업자들도 TPS(Triple Play Service)서비스를 추진하고 있고 전 세계적으로 네트웍 망 구축에 힘쓰고 있는것 같다. 실제 통신사업자들은 고가의 대용량 라우터를 계속 증설해 나가야 하며 BW(Access line, 실 사용 트래픽량)가 올라가는게 현실이지만, 서비스 요금을 그대로 라서 통신사업자들이 힘들어 한다.

예를 들어 예전에 1M 일때 한달 통신 사용요금이 2만원이라고 했을때 100M 라면 그만큼 비싼 장비를 도입했음에도 불구하고 요금은 그대로 받고 있으니까... But, 벤더들은 좋아라 한다. 특히 시스코, 쥬니퍼.

사용자들의 Needs는 증가하고 있는데, 환경이 받쳐주지 못하니깐, 네트웍 사업자들은 다른 방법을 구상 한다.
Carrier Ethernet 기반의 Multi-Layer Network Architecture가 그 대안으로 제시되고 있다.
Carrier Ethernet이란 기존의 2차원적인 네트웍을 논리적인 3차원적으로 설계하므로써, IP/MPLS망 구축비용의 40% 정도로 낮출수 있는 기술이다.



예전에 KT MegaTV 프로젝트에 투입되었을때 KT에서 망구축을 위해 2조를 쓴다고 했는데, 2조를 써야 우리나라 1/3정도 100M급으로 설치할수 있다고 했다. 어마어마한 금액... 실제 메가티비 경우에 초당 8M 이상이 되어야 무난하게 시청할수 있다.


운영체제 경우도 MS에서 Window7 이후에는 인터넷을 하기위한 최소한으로 설치 되게 한다고 하는데, 그러면 우리가 쓰는 데스크탑 환경은 결국 웹에 빼앗겨 버리게 된다.

인터넷 사업자들이 사이트 하나만 꾸준히 키워나가지 말고 Open API등으로 빨리 컨텐츠를 외부에 노출시키는것이 시급한 문제 이다.
저작자 표시 동일 조건 변경 허락
신고
Posted by dotnetpower

티스토리 툴바