指定の単語リストから登場頻度の計算(ヒストグラム)を行い、指定単語リストに入っているものについては除外するAppleScriptです。
指定のPDFからURLリンクを抽出し、そのリンクURLをデコードしてAppleScriptのURLリンクからソーステキストを取得し、単語ごとにparseして集計してタグクラウドのRTFを出力するAppleScriptを作成したときに使用したものです。
単に、プログラムリストをparseしてタグクラウドを作成しただけでは、あまり本質(ノイズ要素を除外した分析したい対象のデータ)が見えてきませんでした。
変数名やコマンドなどを除外したかったので、これら(分析対象外のデータ=ノイズ)を集計時に除外するという処理を加えてみたものです。
AppleScript名:NSCountedSetでヒストグラム計算、指定単語リストを削除 |
— Created 2018-07-06 by Takaaki Naganoya — 2018 Piyomaru Software use AppleScript version "2.4" use scripting additions use framework "Foundation" set theList to {"set", "set", "set", "tell", "application", "application", "Finder", "Finder", "Safari"} set exList to {"Finder", "Safari"} set aRes to wordsCountWithRemovingWordList(theList, exList) of me –> {{theKey:"set", theCount:3}, {theKey:"application", theCount:2}, {theKey:"tell", theCount:1}} on wordsCountWithRemovingWordList(theList as list, excludeWordList as list) set theCountedSet to current application’s NSCountedSet’s alloc()’s initWithArray:theList set newArray to current application’s NSMutableArray’s new() set objList to (theCountedSet’s allObjects()) as list repeat with i in objList set j to contents of i if j is not in excludeWordList then (newArray’s addObject:{theKey:j, theCount:(theCountedSet’s countForObject:j)}) end if end repeat return newArray as list of string or string end wordsCountWithRemovingWordList |
More from my site
(Visited 70 times, 1 visits today)