Menu

Skip to content
AppleScriptの穴
  • Home
  • Products
  • Books
  • Docs
  • Events
  • Forum
  • About This Blog
  • License
  • 仕事依頼

AppleScriptの穴

Useful & Practical AppleScript archive. Click '★Click Here to Open This Script' Link to download each AppleScript

Newt On Project〜Story Archive #10 ついに疑似対話が可能に

Posted on 10月 4 by Takaaki Naganoya

えせNewtonこと「Newt On」の機能を実装していて痛感するのは、この元になったNewtonという製品の偉大さです。

本プロジェクトを人に説明すると、「それってNewtonのエミュレータ?」と、勘違いされることが多いのですが……そういう後ろ向きなベクトルではなく、 最新の環境の上でその特性を最大限に活かして、新たな世代の「Macらしさ」を追求するプロジェクトなのだと説明しています。そのエッセンスとしてNewtonでもたらされた知的処理の概念は欠くべからざるもの。

元Newtonの開発者を多数抱えるPalm社のPDA・「Palm」(およびその互換機)は、誰にでも持ち運べるサイズで、安価に買えるハードウェアの上に、ペンベースの使用環境をもたらすことを最大の目的とし、かなり割り切った(必要不可欠な機能以外は削った)仕様になっています。

あれもこれも、と欲張らなかったからPalmは一定の商業的な成功をおさめた……とはいうものの、Newtonの美徳とされた知的処理が、ごっそり削られたことは残念なかぎりです。今後、Palm OSが強化されても、単にムービーデータや音楽データを持ち歩ける「入れ物」として進化するだけのこと。

同じく、PDAといってもWindows CEでは画面インタフェースの統一すらおぼつかない状況で、お世辞にも「使いたい」、「便利」、「かっこいい!」と言えるシロモノではありません。

Newtonも、元をただせば「ナレッジナビゲータ」思想から端を発したもの。えせNewtonことNewt Onも、昔夢見たナレッジナビゲータのデモムービーに多大なる影響を受けています。

数多くのGUIアプリケーション同士をAppleScriptで連繋させて利用できるのは、MacOSが持つ他のOSにない強力なメリットです。ただ、AppleScriptを習得しないとそのような利便性を享受できないのでは、せっかくの強みもなかなか活かされません。

AppleScriptでなく日本語で命令することで、AppleScriptユーザーが享受しているメリットを一般ユーザーにも開放する……「ナレッジナビゲータ」のことを思い出していたら、そういう目的も本プロジェクトにはあるのかもしれない、と思ったのでした。
 

Wordへの結果出力が可能に

Newt On(MacOS X版)がさらに新たなステージに到達しました。

従来のバージョンでは、日本語による検索コマンドを受け付け、日本語を解析して検索を行ってくれました。そのさい、各アプリケーション内でそれぞれ結果が表示される状態でした。

これが現段階のバージョンでは、(コマンド入力を行っている)Wordのウィンドウに直接結果を返せるようになったのです。

USのAppleScriptのMLの過去ログをあさってみたところ、Wordの文書末尾に文字列を入れる(追加する)には、


 tell application "Microsoft Word"

  tell document 1

   set end to "ほげほげ"

  end tell

 end tell


のように記述。他のアプリケーションで、「end」という予約語にお目にかかったことはありません。かーーなりクセの強い仕様ですが、まあ……分かってしまえばどうということはありません。

そこで、現在実装している「検索」コマンドをひとつのスタディケースとして、結果をWordに戻す機能を実装して検証してみましょう。

実際にNewt Onが実現されたときの姿は、チャットに近いかたちになるものと考えています。Wordのウィンドウ内にユーザーの入力したコマンドが記入されるほか、Newt Onからのメッセージも表示されます。つまり、「誰が」そのメッセージを表示したのかを示すために、

 Mac:コマンドを受け付けました

といったようにコロン(「:」)付きで名前を表示させます。これなら分かりやすいでしょう。

ここでは「Mac」という名前をコンピュータに付けていますが、

 えるざ:コマンドを受け付けましたわん

のように、名前や文末部分の文字列を適宜変更できるとよいでしょう。
 

顔文字を併用し、より分かりやすいインタフェースを

システム・メッセージの重要度を「なんとなく」「適当に」表現する手法として「顔文字」を併用したいところ。現段階では、雰囲気(mood)を数値で表現することは考えていません(そういう学問的なことはひとまず置いといて、実用性と親しみやすさに開発のウェイトを置いています)。顔文字表示の統一データベースを作るようなことはせず、各コマンドの実行ルーチン側で固定で表示させる程度とします。

  おさる:コマンドを受け付けましたでおさるー(^ー^)

これで、かなり親しみやすさが向上しました。プログラムが返す顔文字も、(最終的には)固定で返さずにデータベースから引っ張ってくるとよいでしょう。だんだん、飲み屋で女の子に見せびらかすと自慢できそうな感じになってきました(これはたいへん重要なことです)。

住所録データベースの検索では、

 Mac:全部で3件のデータがあります(^。^)

 Mac:住所録には登録されていないようです(^_^;

といったように、顔文字で状況を表現させてみましょう(現段階では固定出力)。

検索結果が大量に返ってきた場合、Wordの文章上にそのまま返したのでは、情報量が多すぎて人間が目で追うのが大変です。必要に応じて表示する情報量をコントロールし、結果が大量になる場合には、結果をそのままには返さないほうがよいでしょう。

目安は5件。これを超える場合には、

 Mac:該当するデータが何件かあります(10件ぐらい?)

 Mac:該当するデータがけっこうあります(100件ぐらい?)

 Mac:該当するデータが相当あります(500件ぐらい?)

 Mac:該当するデータがものすごくあります(1000件ぐらい?)

 Mac:該当するデータが信じられないほどあります(10000件ぐらい?)

といったように、程度が「なんとなく」分かるように表示させるとよいでしょう。

こう表示されたら、ユーザーの側で、「渋谷区の河原さんを検索」のように、さらに詳細な条件つきのコマンドを与えて再検索を行うというところ。擬似的に対話しながら検索する「雰囲気」を演出できるはずです。だんだん知的な感じがしてきました。

以上の機能を現行のNewt On(バージョン0.31)に実装し、Wordのみで情報の検索・表示が行えるようにしてみました。



ユーザーコマンドとNewt Onの出力メッセージをWord上に出力
まさか、こんなものがMicrosoft Wordなんてたかがワープロ(失礼!)
の上で動いているとは思えないでしょう……


素っ気ないことこの上ないMacOS X環境、パレットをすべて消したら、
これがWordのウィンドウであることなど、気が付かないでしょう。
 

Word文章の色を本物のNewtonの画面の色に似せてみました。
でも……やっぱりただのWordの文章なんです、これ。
 


実際に、コマンドを自動解釈して検索を実施し、
検索結果をWord上に返す様子を見ていると、
この段階でも十分に実用性を感じるものです。
 
なかなかいい感じです。

Newt Onからの結果表示については、(ユーザーのコマンド入力の文字とは)明示的に文字色を変えたほうが雰囲気が出てよいと思うものの……AppleScriptでそのように記述するサンプルが見あたらなかったので、今後の検討課題です。

(Visited 1 times, 1 visits today)
Posted in Natural Language Processing Newt On Project | Tagged 10.1savvy | Leave a comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

電子書籍(PDF)をオンラインストアで販売中!

Google Search

Popular posts

  • Numbersで選択範囲のセルの前後の空白を削除
  • macOS 26, Tahoe
  • macOS 15でも変化したText to Speech環境
  • KagiのWebブラウザ、Orion
  • Script Debuggerの開発と販売が2025年に終了
  • 【続報】macOS 15.5で特定ファイル名パターンのfileをaliasにcastすると100%クラッシュするバグ
  • macOS 15 リモートApple Eventsにバグ?
  • NSObjectのクラス名を取得 v2.1
  • 2024年に書いた価値あるAppleScript
  • 有害ではなくなっていたSpaces
  • macOS 15:スクリプトエディタのAppleScript用語辞書を確認できない
  • Pixelmator Proがv3.6.8でHDR画像をサポート
  • Xcode上のAppleScriptObjCのプログラムから、Xcodeのログ欄へのメッセージ出力を実行
  • (確認中)AppleScript Dropletのバグっぽい動作が解消?
  • AVSpeechSynthesizerで読み上げテスト
  • AppleScript Dropletのバグっぽい動作が「復活」(macOS 15.5β)
  • 指定フォルダ以下の画像のMD5チェックサムを求めて、重複しているものをピックアップ
  • macOS 26, 15.5でShortcuts.app「AppleScriptを実行」アクションのバグが修正される
  • Numbersで選択中の2列のセルを比較して並べ直して書き戻す v2
  • Script DebuggerがmacOS 15.x上で起動せず→起動

Tags

10.11savvy (1101) 10.12savvy (1242) 10.13savvy (1391) 10.14savvy (587) 10.15savvy (438) 11.0savvy (283) 12.0savvy (212) 13.0savvy (204) 14.0savvy (159) 15.0savvy (151) CotEditor (66) Finder (52) Keynote (119) NSAlert (61) NSArray (51) NSBitmapImageRep (20) NSBundle (20) NSButton (34) NSColor (53) NSDictionary (28) NSFileManager (23) NSFont (21) NSImage (41) NSJSONSerialization (21) NSMutableArray (63) NSMutableDictionary (22) NSPredicate (36) NSRunningApplication (56) NSScreen (30) NSScrollView (22) NSString (119) NSURL (98) NSURLRequest (23) NSUTF8StringEncoding (30) NSView (33) NSWorkspace (20) Numbers (76) Pages (56) Pixelmator Pro (20) Safari (44) Script Editor (27) WKUserContentController (21) WKUserScript (20) WKWebView (23) WKWebViewConfiguration (22)

カテゴリー

  • 2D Bin Packing
  • 3D
  • AirDrop
  • AirPlay
  • Animation
  • AppleScript Application on Xcode
  • Beginner
  • Benchmark
  • beta
  • Bluetooth
  • Books
  • boolean
  • bounds
  • Bug
  • Calendar
  • call by reference
  • check sum
  • Clipboard
  • Cocoa-AppleScript Applet
  • Code Sign
  • Color
  • Custom Class
  • date
  • dialog
  • diff
  • drive
  • Droplet
  • exif
  • file
  • File path
  • filter
  • folder
  • Font
  • Font
  • GAME
  • geolocation
  • GUI
  • GUI Scripting
  • Hex
  • History
  • How To
  • iCloud
  • Icon
  • Image
  • Input Method
  • Internet
  • iOS App
  • JavaScript
  • JSON
  • JXA
  • Keychain
  • Keychain
  • Language
  • Library
  • list
  • Locale
  • Localize
  • Machine Learning
  • Map
  • Markdown
  • Menu
  • Metadata
  • MIDI
  • MIME
  • Natural Language Processing
  • Network
  • news
  • Newt On Project
  • Noification
  • Notarization
  • Number
  • Object control
  • OCR
  • OSA
  • parallel processing
  • PDF
  • Peripheral
  • process
  • PRODUCTS
  • QR Code
  • Raw AppleEvent Code
  • Record
  • rectangle
  • recursive call
  • regexp
  • Release
  • Remote Control
  • Require Control-Command-R to run
  • REST API
  • Review
  • RTF
  • Sandbox
  • Screen Saver
  • Script Libraries
  • Scripting Additions
  • sdef
  • search
  • Security
  • selection
  • shell script
  • Shortcuts Workflow
  • Sort
  • Sound
  • Spellchecker
  • Spotlight
  • SVG
  • System
  • Tag
  • Telephony
  • Text
  • Text to Speech
  • timezone
  • Tools
  • Update
  • URL
  • UTI
  • Web Contents Control
  • WiFi
  • XML
  • XML-RPC
  • イベント(Event)
  • 未分類

アーカイブ

  • 2025年10月
  • 2025年9月
  • 2025年8月
  • 2025年7月
  • 2025年6月
  • 2025年5月
  • 2025年4月
  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2024年2月
  • 2024年1月
  • 2023年12月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年10月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月

https://piyomarusoft.booth.pm/items/301502

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org

Forum Posts

  • 人気のトピック
  • 返信がないトピック

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org
Proudly powered by WordPress
Theme: Flint by Star Verte LLC