Workspace2006/07/17 17:18
크리에이티브 커먼즈 라이선스
Creative Commons License
처음으로 태터 플러그인에 도전해봤습니다.
모르는것 투성인 상태에서 하려다보니 여러모로 힘들군요ㅠㅠ

각설하고,
이 플러그인은 새 글을 작성하거나 기존 글을 편집할때 태그를 자동으로 입력해 주는 기능을 합니다.

사용법은 간단합니다 :-)

플러그인을 설치하신후 "사용"으로 설정해주시면 설치는 끝납니다.
이제 글을 작성하시고...
위 그림처럼 버튼이 하나 보일텐데 이걸 클릭하면 본문에서 태그를 찾아 태그란에 채워줍니다.


본문중의 어떤 단어를 태그로 추출 하느냐에 대해 이런저런 방법들을 생각해 봤는데 그냥 단순하게 각 단어가 본문에서 나타나는 빈도수를 이용하여 추출하기로 했습니다. (아아..다른 알고리즘이 떠오르지 않아요 ㅠㅠ)

다만 태그 선정에 몇가지 기준을 두었습니다.

  1. 본문에 제일 많이 나타나는 순으로 추출합니다.
  2. 단음절(예- 'A', '어'...)과 기호등은 제외합니다.
  3. 옵션으로 태그의 최소 길이와 추출할 태그의 개수를 정할 수 있게 하였습니다.

아, 처음에 숫자는 제외 하려고 했는데 일단은 태그로 선택할 수 있게 해두었습니다.


그리고 몇가지 단점! =_=

  1. 예상하시겠지만 알고리즘의 특성상 본문의 양이 너무 클 경우 cpu 리소스와 함께 시간도 많이 잡아 먹습니다. 제가 테스트해본 바로는...
  2. 태그 선정에서 기호등은 제외 시켰지만 html 태그들은 아직 따로 처리하지 않은 상태입니다. 이점 참고해 주시구요, 가능하면 위지윅 모드에서 사용할 것을 권해드립니다.
  3. 그외 아직 테스트 되지 않은/앞으로 나타날 버그들...


<플러그인 설정>
ATF.js 파일을 수정합니다. (인코딩이 UTF-8로 되어 있으니 주의하세요!)



function autoTagFilling(document) {

////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////// 옵 션 ///////////////////////////////////////////
var numOfTags = 3; // 추출할 태그의 개수(3~5)가 적당할거 같습니다)
var tagLengthlimit = 4; // 추출할 태그의 최소 음절수(3인 경우 1,2음절 단어는 찾지 않으며 기본적으로 1음절 단어는 제외됩니다)


// 태그에서 제외할 단어들은 '|'로 구분하여 여기에 추가하면 됩니다.
// 될수있으면 특수문자는 지정하지 마세요.
// !!! 인코딩은 UTF-8로 해야합니다(encoding => UTF-8) !!!
var myExcludeTags = "in|have|you|he|she|for|be|are|if|can|that|this|with|should|will|as|do|to|of|and|is|the|an|it|어디|누구";




numOfTags는 추출할 태그의 수입니다. 너무 큰 수를 지정하는것 보다는 3~5가 적당할거 같습니다.

tagLengthlimit는 각 태그의 최소 길이입니다. 지정된 수보다 작은 음절의 단어는 무시됩니다. 기본적으로 1음절 단어는 제외되고, 영어 같은 경우 전치사등이 짧은 음절로 되어 있기 때문에 태그 추출한 이런 단어들만 나올 수 있습니다. 그러니 너무 작은 값을 설정 하지 않으시길... :-)

myExcludeTags는 태그 추출에서 제외할 단어들입니다. 입맛(?)에 따라 추가해서 사용하시면 됩니다. 단어의 구분은 "|"를 사용하세요. 인코딩은 UTF-8 !!!



처음 만들어본것이니 만큼 부족한 부분이 많겠지만 너그러이 보아주시길~ ^^;

문제점이 있으면 알려주세요!

'Workspace' 카테고리의 다른 글

rosetta 번역 요령  (0) 2007/01/02
websites as graphs  (0) 2006/12/16
[plugin] AutoTagFilling 자동 태그 채우기  (0) 2006/07/17
[운영체제] 참고 자료  (0) 2006/05/19
[이산수학] 참고 자료  (0) 2006/05/19
[알고리즘] 9번째 실습  (0) 2006/05/15
Posted by morcavon