JP2650101B2 - ユーザ適応型システムおよびその適応方法 - Google Patents
ユーザ適応型システムおよびその適応方法Info
- Publication number
- JP2650101B2 JP2650101B2 JP5129142A JP12914293A JP2650101B2 JP 2650101 B2 JP2650101 B2 JP 2650101B2 JP 5129142 A JP5129142 A JP 5129142A JP 12914293 A JP12914293 A JP 12914293A JP 2650101 B2 JP2650101 B2 JP 2650101B2
- Authority
- JP
- Japan
- Prior art keywords
- function
- user
- activated
- weight
- transition
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Stored Programmes (AREA)
Description
【0001】
【産業上の利用分野】本発明は、ユ−ザが操作する際の
使い勝手を向上させるために、コンピュータのアプリケ
ーションプログラムの機能を用いて、システム自身がユ
ーザの操作意図を理解してコマンドを生成するユ−ザ適
応システムおよびその適応方法に関し、特に、システム
が提供するコマンド体系を用いたユーザの操作系列の中
から、そのユーザにとって意味を持つ一連の機能列を抽
出し、そのユーザの嗜好に適応した新たなコマンドを生
成するユ−ザ適応システムおよびその適応方法に関す
る。
使い勝手を向上させるために、コンピュータのアプリケ
ーションプログラムの機能を用いて、システム自身がユ
ーザの操作意図を理解してコマンドを生成するユ−ザ適
応システムおよびその適応方法に関し、特に、システム
が提供するコマンド体系を用いたユーザの操作系列の中
から、そのユーザにとって意味を持つ一連の機能列を抽
出し、そのユーザの嗜好に適応した新たなコマンドを生
成するユ−ザ適応システムおよびその適応方法に関す
る。
【0002】
【従来の技術】コンピュータシステムをユーザの嗜好に
適応させるためには、通常、.loginファイルや.cshrcフ
ァイルを始めとする各種設定ファイルを変更する方法が
考えられる。しかしながら、各種設定ファイルを変更す
る場合のカスタマイズ作業には、かなりの知識と労力を
必要とするので、専門家でないユーザの手には負えな
い。従来より、コンピュータを誰でもが簡単に扱えるよ
うにするために、使用している人(ユ−ザ)の好みによ
ってそのインタフェースが変化するような、つまりコン
ピュータの方が“自動的に”ユーザの嗜好を感知し、そ
のユーザに適応してくれるようなインタフェースが必要
となってきている。このようなユーザ適応方法として
は、例えば仮名漢字変換ソフトにおける候補文字列の並
べ変え方法がある。例えば、特公昭57−32366号
公報に記載された漢字用語入力装置では、使用頻度を用
いて最も頻度の高いものから順に並べ換えを行ってお
り、また特公昭58−39334号公報に記載された日
本語文章入力装置では最新使用用語を用いて、一番最近
使用したものから順に並べ変えを行っている。これらの
考え方は大いに参考になるが、そのまま各種のインタフ
ェースに適用できるわけではない。また、特開平1−3
18166号公報に記載された情報処理装置では、画質
の設定に必要な情報を個々のユーザの状態に応じて入力
することにより、ユーザの嗜好に応じた画質の設定を可
能としている。更に、Proc. of CHI'91, Conf. on Huma
n Factors in Computing Systems,ACM,(pp.33--39)に記
載されている“EAGER:Programming Repetitive Tasks b
yExample"においては、Macintosh上のHyperCardで動作
する実験システムが提案されている。しかし、このシス
テムでは、HyperCardのスタック上に作成されたデータ
ベースから、ある属性だけを抜き出してリストを作成す
るためのCopy-and-Paste操作を自動的に検知し、その機
能列を短縮化するのみで、機能列がループになっている
場合の短縮化に留まる。機能列がループになるのは単純
作業を行っている場合のみで、複雑な操作、すなわち、
各種機能を用いて対象物を操作する場合の適応はEAGER
では不可能であった。
適応させるためには、通常、.loginファイルや.cshrcフ
ァイルを始めとする各種設定ファイルを変更する方法が
考えられる。しかしながら、各種設定ファイルを変更す
る場合のカスタマイズ作業には、かなりの知識と労力を
必要とするので、専門家でないユーザの手には負えな
い。従来より、コンピュータを誰でもが簡単に扱えるよ
うにするために、使用している人(ユ−ザ)の好みによ
ってそのインタフェースが変化するような、つまりコン
ピュータの方が“自動的に”ユーザの嗜好を感知し、そ
のユーザに適応してくれるようなインタフェースが必要
となってきている。このようなユーザ適応方法として
は、例えば仮名漢字変換ソフトにおける候補文字列の並
べ変え方法がある。例えば、特公昭57−32366号
公報に記載された漢字用語入力装置では、使用頻度を用
いて最も頻度の高いものから順に並べ換えを行ってお
り、また特公昭58−39334号公報に記載された日
本語文章入力装置では最新使用用語を用いて、一番最近
使用したものから順に並べ変えを行っている。これらの
考え方は大いに参考になるが、そのまま各種のインタフ
ェースに適用できるわけではない。また、特開平1−3
18166号公報に記載された情報処理装置では、画質
の設定に必要な情報を個々のユーザの状態に応じて入力
することにより、ユーザの嗜好に応じた画質の設定を可
能としている。更に、Proc. of CHI'91, Conf. on Huma
n Factors in Computing Systems,ACM,(pp.33--39)に記
載されている“EAGER:Programming Repetitive Tasks b
yExample"においては、Macintosh上のHyperCardで動作
する実験システムが提案されている。しかし、このシス
テムでは、HyperCardのスタック上に作成されたデータ
ベースから、ある属性だけを抜き出してリストを作成す
るためのCopy-and-Paste操作を自動的に検知し、その機
能列を短縮化するのみで、機能列がループになっている
場合の短縮化に留まる。機能列がループになるのは単純
作業を行っている場合のみで、複雑な操作、すなわち、
各種機能を用いて対象物を操作する場合の適応はEAGER
では不可能であった。
【0003】
【発明が解決しようとする課題】前述のように、従来技
術では不十分であったユーザ適応方法をさらに高度なも
のにするためには、ユーザ適応方法をコンピュータのシ
ステム設計者の立場とユーザの立場の両方から検討し、
課題をとらえ直す必要がある。通常、システム設計者
は、その設計したシステムをユーザがどのように操作す
るかという操作手順を想定してシステムを提供してい
る。一方、ユーザはシステム設計者の意図とは無関係
に、使用しているシステムの操作手順を推定して、頭の
中にそのイメージを描いて操作を行なっている。システ
ム設計者が提供した操作手順と、ユーザが推定した操作
手順との間には、しばしばギャップが存在する。例え
ば、最近話題になった“テクノストレス”といわれる、
システムが自分の意図通りに動作しないためにフラスト
レーションが溜るという現象は、この2つの操作手順間
のギャップが存在することに起因していると思われる。
本発明の目的は、このような従来の課題を解決し、シス
テム設計者が提供した操作手順とユーザが推定した操作
手順のギャップからユーザが使いにくいと感じているシ
ステムであっても、そのシステムが提供するコマンド体
系を用いたユーザの操作系列の中から、そのユーザにと
って意味を持つ機能列を抽出し、これを短縮して、ユー
ザの使い勝手を向上させることが可能なユ−ザ適応型シ
ステムおよびその適応方法を提供することにある。
術では不十分であったユーザ適応方法をさらに高度なも
のにするためには、ユーザ適応方法をコンピュータのシ
ステム設計者の立場とユーザの立場の両方から検討し、
課題をとらえ直す必要がある。通常、システム設計者
は、その設計したシステムをユーザがどのように操作す
るかという操作手順を想定してシステムを提供してい
る。一方、ユーザはシステム設計者の意図とは無関係
に、使用しているシステムの操作手順を推定して、頭の
中にそのイメージを描いて操作を行なっている。システ
ム設計者が提供した操作手順と、ユーザが推定した操作
手順との間には、しばしばギャップが存在する。例え
ば、最近話題になった“テクノストレス”といわれる、
システムが自分の意図通りに動作しないためにフラスト
レーションが溜るという現象は、この2つの操作手順間
のギャップが存在することに起因していると思われる。
本発明の目的は、このような従来の課題を解決し、シス
テム設計者が提供した操作手順とユーザが推定した操作
手順のギャップからユーザが使いにくいと感じているシ
ステムであっても、そのシステムが提供するコマンド体
系を用いたユーザの操作系列の中から、そのユーザにと
って意味を持つ機能列を抽出し、これを短縮して、ユー
ザの使い勝手を向上させることが可能なユ−ザ適応型シ
ステムおよびその適応方法を提供することにある。
【0004】
【課題を解決するための手段】上記目的を達成するた
め、本発明のユーザ適応方式およびユーザ適応型システ
ムは、(1)トークン(200)に、アプリケーション
プログラムにおいて現在起動している機能を割り当て、
プレース(210〜214)に、ある機能を起動して次
の機能を起動するまでの状態を割り当て、トランジショ
ン(220〜227)に、ユーザが指定した対象物と選
択した機能との組合せが実行可能なものかを判定するた
めの起動条件を割り当て、アーク(230〜246)の
方向で機能の実行順序を割り当て、重み(341〜35
7)に機能列の使用頻度を割り当てたペトリネットを格
納する記憶手段(133〜135)と、ユーザの操作を
監視して該当する重みを更新する手段(610)と、重
みがあらかじめ定めておいた閾値を越えたとき、対象と
なる機能を割り当てたプレースをコピーしてそれらを接
続するアークとトランジションを生成する手段(64
0)と、それらに対応する機能列を短縮する手段(55
0)を備えたことを特徴とする。また、(2)機能列を
短縮した場合に、それに対応する選択肢を既存の機能の
選択肢に追加することを特徴とする。また、(3)短縮
した機能列に対応して、追加する選択肢の形状を既存の
機能の選択肢の一部分を利用して表示することを特徴と
する。また、(4)同一の機能を連続して起動する場合
や、複数の機能を順次起動する場合を統一して記述可能
な枠組みを持つことを特徴とする。そして、(5)起動
した機能とそれを作用した対象物を組み合わせた履歴を
記憶する手段を備え、前回に起動した機能と現在起動し
ている機能が同一で、前回作用した対象物と現在作用し
ている対象物の数が同一な場合と、前回に起動した機能
と現在起動している機能が異なり、前回作用した対象物
と現在作用している対象物とが前回起動した機能の入力
と出力の場合の、いずれかの場合のみ、対象となる重み
を更新することを特徴とする。
め、本発明のユーザ適応方式およびユーザ適応型システ
ムは、(1)トークン(200)に、アプリケーション
プログラムにおいて現在起動している機能を割り当て、
プレース(210〜214)に、ある機能を起動して次
の機能を起動するまでの状態を割り当て、トランジショ
ン(220〜227)に、ユーザが指定した対象物と選
択した機能との組合せが実行可能なものかを判定するた
めの起動条件を割り当て、アーク(230〜246)の
方向で機能の実行順序を割り当て、重み(341〜35
7)に機能列の使用頻度を割り当てたペトリネットを格
納する記憶手段(133〜135)と、ユーザの操作を
監視して該当する重みを更新する手段(610)と、重
みがあらかじめ定めておいた閾値を越えたとき、対象と
なる機能を割り当てたプレースをコピーしてそれらを接
続するアークとトランジションを生成する手段(64
0)と、それらに対応する機能列を短縮する手段(55
0)を備えたことを特徴とする。また、(2)機能列を
短縮した場合に、それに対応する選択肢を既存の機能の
選択肢に追加することを特徴とする。また、(3)短縮
した機能列に対応して、追加する選択肢の形状を既存の
機能の選択肢の一部分を利用して表示することを特徴と
する。また、(4)同一の機能を連続して起動する場合
や、複数の機能を順次起動する場合を統一して記述可能
な枠組みを持つことを特徴とする。そして、(5)起動
した機能とそれを作用した対象物を組み合わせた履歴を
記憶する手段を備え、前回に起動した機能と現在起動し
ている機能が同一で、前回作用した対象物と現在作用し
ている対象物の数が同一な場合と、前回に起動した機能
と現在起動している機能が異なり、前回作用した対象物
と現在作用している対象物とが前回起動した機能の入力
と出力の場合の、いずれかの場合のみ、対象となる重み
を更新することを特徴とする。
【0005】
【作用】本発明においては、プレ−ス、トランジショ
ン、ア−ク、重み等からなるペトリネットに対して、ト
ークンに、アプリケーションプログラムにおいて現在起
動している機能を、プレースに、ある機能を起動して次
の機能を起動するまでの状態を、トランジションに、ユ
ーザが指定した対象物と選択した機能との組合せが実行
可能なものかを判定するための起動条件を、アークの方
向で機能の実行順序を、重みに、機能列の使用頻度を、
それぞれ割り当てたペトリネットをモデルとして有し、
ユーザが操作中、その操作を監視して該当する重みを更
新する。重みがあらかじめ定めておいた閾値を越えたと
き、対象となる機能を割り当てたプレースをコピーして
それらを接続するアークとトランジションを生成し、そ
れらに対応する機能列の短縮する。これにより、システ
ムが提供する機能を用いたユーザの操作系列の中から、
そのユーザにとって意味をもつ一連の機能列を抽出し
て、それに合った新しい短縮機能を生成可能となる。ま
た、機能列を短縮した場合に、それに対応する選択肢を
既存の機能の選択肢に追加することによって、そのユー
ザに特有の機能が使用可能となる。また、短縮した機能
列に対応して追加する選択肢の形状を、既存の機能の選
択肢の一部分を利用して表示することにより、追加され
た選択肢の意味合いを一見して把握可能となる。また、
同一の機能を連続して起動する場合や、複数の機能を順
次起動する場合を統一して記述可能な枠組みを持つこと
により、容易に、任意の順で機能を起動可能となる。そ
して、起動した機能とそれを作用した対象物を組み合わ
せた履歴を記憶する手段を備え、前回に起動した機能と
現在起動している機能が同一で、前回作用した対象物と
現在作用している対象物の数が同一な場合と、前回に起
動した機能と現在起動している機能が異なり、前回作用
した対象物と現在作用している対象物とが前回起動した
機能の入力と出力の場合の、いずれかの場合のみ、対象
となる重みを更新することにより、ユーザの操作意図が
反映されていると思われる、ある特定の機能列が行われ
た場合のみ、該当する重みが更新され、よりユーザの操
作意図が反映された機能列の抽出が可能となる。
ン、ア−ク、重み等からなるペトリネットに対して、ト
ークンに、アプリケーションプログラムにおいて現在起
動している機能を、プレースに、ある機能を起動して次
の機能を起動するまでの状態を、トランジションに、ユ
ーザが指定した対象物と選択した機能との組合せが実行
可能なものかを判定するための起動条件を、アークの方
向で機能の実行順序を、重みに、機能列の使用頻度を、
それぞれ割り当てたペトリネットをモデルとして有し、
ユーザが操作中、その操作を監視して該当する重みを更
新する。重みがあらかじめ定めておいた閾値を越えたと
き、対象となる機能を割り当てたプレースをコピーして
それらを接続するアークとトランジションを生成し、そ
れらに対応する機能列の短縮する。これにより、システ
ムが提供する機能を用いたユーザの操作系列の中から、
そのユーザにとって意味をもつ一連の機能列を抽出し
て、それに合った新しい短縮機能を生成可能となる。ま
た、機能列を短縮した場合に、それに対応する選択肢を
既存の機能の選択肢に追加することによって、そのユー
ザに特有の機能が使用可能となる。また、短縮した機能
列に対応して追加する選択肢の形状を、既存の機能の選
択肢の一部分を利用して表示することにより、追加され
た選択肢の意味合いを一見して把握可能となる。また、
同一の機能を連続して起動する場合や、複数の機能を順
次起動する場合を統一して記述可能な枠組みを持つこと
により、容易に、任意の順で機能を起動可能となる。そ
して、起動した機能とそれを作用した対象物を組み合わ
せた履歴を記憶する手段を備え、前回に起動した機能と
現在起動している機能が同一で、前回作用した対象物と
現在作用している対象物の数が同一な場合と、前回に起
動した機能と現在起動している機能が異なり、前回作用
した対象物と現在作用している対象物とが前回起動した
機能の入力と出力の場合の、いずれかの場合のみ、対象
となる重みを更新することにより、ユーザの操作意図が
反映されていると思われる、ある特定の機能列が行われ
た場合のみ、該当する重みが更新され、よりユーザの操
作意図が反映された機能列の抽出が可能となる。
【0006】
【実施例】以下、本発明の実施例を、図面により詳細に
説明する。図1は、本発明のユーザ適応型システムを示
すブロック構成図である。図1において、100は中央
処理装置、110は機能の選択肢160〜165や、そ
の機能を施す対象物111〜116などを表示するため
の表示装置、120は表示装置110上に表示された機
能の選択肢や対象物を指定するためのポインティングデ
バイスとしてのマウス、130は主記憶装置、140は
本発明に係わる処理プログラムやデータなどを格納する
補助記憶装置、150は表示装置110上に表示された
機能の選択肢や対象物の指定、および、文字入力のため
のキーボードである。主記憶装置130は、ユーザが使
用するアプリケーションプログラムを記憶するアプリケ
ーションプログラム記憶領域131、本発明に係わるユ
ーザが頻繁に用いる機能列を抽出して、これを短縮する
ためのプログラムを記憶する機能短縮プログラム記憶領
域132、本発明に係わる機能列の使用頻度を記憶する
重み構造体記憶領域133、本発明に係わる機能の実行
順序を制御するためのデータ構造を記憶する機能制御用
配列および木構造記憶領域134、本発明に係わる重み
の更新するか否かを判定するために用いるデータを記憶
する前トランジション、現トランジションおよび対象物
名記憶領域135を有す。また、補助記憶装置140
は、ユーザが使用するアプリケーションプログラムを格
納するアプリケーションプログラム格納領域141、本
発明に係わるユーザが頻繁に用いる機能列を抽出して短
縮するためのプログラムを格納する機能短縮プログラム
格納領域142、本発明に係わる機能列の使用頻度を格
納する重み構造体格納領域143を有す。
説明する。図1は、本発明のユーザ適応型システムを示
すブロック構成図である。図1において、100は中央
処理装置、110は機能の選択肢160〜165や、そ
の機能を施す対象物111〜116などを表示するため
の表示装置、120は表示装置110上に表示された機
能の選択肢や対象物を指定するためのポインティングデ
バイスとしてのマウス、130は主記憶装置、140は
本発明に係わる処理プログラムやデータなどを格納する
補助記憶装置、150は表示装置110上に表示された
機能の選択肢や対象物の指定、および、文字入力のため
のキーボードである。主記憶装置130は、ユーザが使
用するアプリケーションプログラムを記憶するアプリケ
ーションプログラム記憶領域131、本発明に係わるユ
ーザが頻繁に用いる機能列を抽出して、これを短縮する
ためのプログラムを記憶する機能短縮プログラム記憶領
域132、本発明に係わる機能列の使用頻度を記憶する
重み構造体記憶領域133、本発明に係わる機能の実行
順序を制御するためのデータ構造を記憶する機能制御用
配列および木構造記憶領域134、本発明に係わる重み
の更新するか否かを判定するために用いるデータを記憶
する前トランジション、現トランジションおよび対象物
名記憶領域135を有す。また、補助記憶装置140
は、ユーザが使用するアプリケーションプログラムを格
納するアプリケーションプログラム格納領域141、本
発明に係わるユーザが頻繁に用いる機能列を抽出して短
縮するためのプログラムを格納する機能短縮プログラム
格納領域142、本発明に係わる機能列の使用頻度を格
納する重み構造体格納領域143を有す。
【0007】本実施例のユーザ適応方法は、このような
構成のユ−ザ適応型システムを用いて、次のような動作
を行う。すなわち、中央処理装置100は、アプリケー
ションプログラム格納領域141からアプリケーション
プログラム記憶領域131にロードされた既存のアプリ
ケーションプログラムを用いているユーザの操作系列、
すなわち、表示装置110に表示した機能の選択肢16
0〜164と対象物111〜116に対してマウス12
0、もしくは、キーボード150を用いて、どの機能を
どの対象物に対してどのような順序で起動したかを解析
する。具体的には、機能短縮プログラム格納領域142
から機能短縮プログラム記憶領域132にロードした本
発明に係わる機能短縮プログラムに基づいて、起動順序
を解析し、そのユーザにとって意味のある一連の機能列
を抽出するとともに、これらを短縮し、その短縮したコ
マンドに対応する選択肢164を、表示装置110に表
示している既存の機能の選択肢160〜163に追加し
て表示する。これにより、アプリケーションソフトが提
供する機能を用いたユーザの操作系列の中から、そのユ
ーザにとって意味をもつ一連の機能列を抽出して、それ
に合った新しい短縮機能を生成することによって、シス
テム設計者が提供した操作手順とユーザが推定した操作
手順のギャップからユーザが使いにくいと感じているシ
ステムの使い勝手を向上させることができる。
構成のユ−ザ適応型システムを用いて、次のような動作
を行う。すなわち、中央処理装置100は、アプリケー
ションプログラム格納領域141からアプリケーション
プログラム記憶領域131にロードされた既存のアプリ
ケーションプログラムを用いているユーザの操作系列、
すなわち、表示装置110に表示した機能の選択肢16
0〜164と対象物111〜116に対してマウス12
0、もしくは、キーボード150を用いて、どの機能を
どの対象物に対してどのような順序で起動したかを解析
する。具体的には、機能短縮プログラム格納領域142
から機能短縮プログラム記憶領域132にロードした本
発明に係わる機能短縮プログラムに基づいて、起動順序
を解析し、そのユーザにとって意味のある一連の機能列
を抽出するとともに、これらを短縮し、その短縮したコ
マンドに対応する選択肢164を、表示装置110に表
示している既存の機能の選択肢160〜163に追加し
て表示する。これにより、アプリケーションソフトが提
供する機能を用いたユーザの操作系列の中から、そのユ
ーザにとって意味をもつ一連の機能列を抽出して、それ
に合った新しい短縮機能を生成することによって、シス
テム設計者が提供した操作手順とユーザが推定した操作
手順のギャップからユーザが使いにくいと感じているシ
ステムの使い勝手を向上させることができる。
【0008】図2は、本発明におけるユーザ適応型シス
テムおよびその適応方法を実現するための重み付きペト
リネットを示す概念図である。図2において、200は
ペトリネットにおけるトークンT0であり、ユーザが使
用しているアプリケーションプログラムにおいて現在起
動している機能Aを表す。210〜214、250はい
ずれもプレースpa、pb、pc、pd、pe、pb’
であり、各々1入力1出力の機能A、1入力1出力の機
能B、n入力n出力の機能C、2入力1出力の機能D、
1入力1出力の機能E、1入力1出力の機能Bを起動し
て、次の機能を起動するまでの状態を表す。220〜2
27、260はいずれもトランジションtab、tb
b、tbc、tce、tbe、tea、tee、ta
d、tNewであり、表示装置110上でユーザが指定
した対象物111〜116と選択した機能の選択肢16
0〜165との組合せが実行可能なものかを判定するた
めの起動条件を表す。このペトリネットが実行可能な場
合、発火してトークンT0200を移動させ、その結果
トークンT0200が移動したプレースに対応する機能
が起動する。なお、対象物を指定する際には、個数の指
定も含まれる。従って、同一の機能を選択しても、指定
する対象物の個数が異なれば、全く異なるトランジショ
ンが発火する。230〜246、270〜272はアー
クであり、その方向で機能の実行順序を表す。現在の状
態を表すトークンT0200がプレースpa210に存
在しているとき、すなわち、プレースpa210に対応
する機能Aを起動終了後、ユーザが対象物111を指定
し、それに施す機能Bの選択肢162を選択した場合、
対象物111と機能Bとの組合せに対応するトランジシ
ョンtab220が発火する。その発火によって、トー
クンT0200がプレースpa210からプレースpb
211に移動し、tab220の発火の際に指定された
対象物111を入力として、pb211に対応する機能
Bが起動する。機能Bの終了後、次に発火可能なトラン
ジションtbb221,tbc222,tbe224が
発火するか、もしくは、pb211に接続したアークが
トランジションなしで別のプレースと接続していない限
り、T0200はpb211に留まる。通常のペトリネ
ットとは異なり、プレース間を接続するアークに必ずし
もトランジションが存在している訳ではない。存在して
いない場合はトランジションの発火なしにプレース間を
トークンが移動する。例えば、トークンT0200がプ
レースpa210に存在する場合にトランジションta
d227が発火すると、T0200がpd213,pe
214に順次移動する。これは、トークンが通過したプ
レースに割り当てられた機能DとEが順次起動すること
に対応する。
テムおよびその適応方法を実現するための重み付きペト
リネットを示す概念図である。図2において、200は
ペトリネットにおけるトークンT0であり、ユーザが使
用しているアプリケーションプログラムにおいて現在起
動している機能Aを表す。210〜214、250はい
ずれもプレースpa、pb、pc、pd、pe、pb’
であり、各々1入力1出力の機能A、1入力1出力の機
能B、n入力n出力の機能C、2入力1出力の機能D、
1入力1出力の機能E、1入力1出力の機能Bを起動し
て、次の機能を起動するまでの状態を表す。220〜2
27、260はいずれもトランジションtab、tb
b、tbc、tce、tbe、tea、tee、ta
d、tNewであり、表示装置110上でユーザが指定
した対象物111〜116と選択した機能の選択肢16
0〜165との組合せが実行可能なものかを判定するた
めの起動条件を表す。このペトリネットが実行可能な場
合、発火してトークンT0200を移動させ、その結果
トークンT0200が移動したプレースに対応する機能
が起動する。なお、対象物を指定する際には、個数の指
定も含まれる。従って、同一の機能を選択しても、指定
する対象物の個数が異なれば、全く異なるトランジショ
ンが発火する。230〜246、270〜272はアー
クであり、その方向で機能の実行順序を表す。現在の状
態を表すトークンT0200がプレースpa210に存
在しているとき、すなわち、プレースpa210に対応
する機能Aを起動終了後、ユーザが対象物111を指定
し、それに施す機能Bの選択肢162を選択した場合、
対象物111と機能Bとの組合せに対応するトランジシ
ョンtab220が発火する。その発火によって、トー
クンT0200がプレースpa210からプレースpb
211に移動し、tab220の発火の際に指定された
対象物111を入力として、pb211に対応する機能
Bが起動する。機能Bの終了後、次に発火可能なトラン
ジションtbb221,tbc222,tbe224が
発火するか、もしくは、pb211に接続したアークが
トランジションなしで別のプレースと接続していない限
り、T0200はpb211に留まる。通常のペトリネ
ットとは異なり、プレース間を接続するアークに必ずし
もトランジションが存在している訳ではない。存在して
いない場合はトランジションの発火なしにプレース間を
トークンが移動する。例えば、トークンT0200がプ
レースpa210に存在する場合にトランジションta
d227が発火すると、T0200がpd213,pe
214に順次移動する。これは、トークンが通過したプ
レースに割り当てられた機能DとEが順次起動すること
に対応する。
【0009】このように重み付きペトリネットのトーク
ンにアプリケーションプログラムにおいて現在起動して
いる機能を対応させ、トレースにある機能を起動してか
ら次の機能を起動するまでの状態で、トランジションに
ユーザが指定した対象物と選択した機能との組合せが実
行可能なものかを判定するための起動条件を割り当て
る。さらに、連続して発火する2つのトランジションに
対して、重みに機能列の使用頻度を割り当てる。これに
より、アプリケーションプログラムにおいて、ユーザが
どの機能をどのような対象物に対してどのような順序で
頻繁に起動したのかを常に監視し、そのユーザにとって
意味を持つ一連の機能列とは何なのかを、重みを調べる
ことによって抽出することが可能となる。重みがあらか
じめ定めておいた閾値を越えた場合、その重みに対応す
る一連のプレースをコピーし、それらを接続するアーク
とトランジションを生成する。例えば、ユーザが表示装
置110上で対象物111〜116と機能の選択肢16
2、164を操作することによって、トランジションt
ab220とtbe224に対して割り当てられた重み
があらかじめ定めておいた閾値を越えた場合、該当する
プレースpb211をコピーしてプレースpb’250
とし、それを接続するトランジションtNew260と
アーク270〜272を生成する。トランジションtN
ew260の生成は、表示装置110上では機能B(1
61)とE(164)を順次起動するための機能BEの
選択肢165を追加することに対応する。機能列を短縮
した場合に、それに対応する選択肢を既存の機能の選択
肢に追加することによって、そのユーザに特有の一連の
機能列が使用可能となり、使い勝手を向上することがで
きる。
ンにアプリケーションプログラムにおいて現在起動して
いる機能を対応させ、トレースにある機能を起動してか
ら次の機能を起動するまでの状態で、トランジションに
ユーザが指定した対象物と選択した機能との組合せが実
行可能なものかを判定するための起動条件を割り当て
る。さらに、連続して発火する2つのトランジションに
対して、重みに機能列の使用頻度を割り当てる。これに
より、アプリケーションプログラムにおいて、ユーザが
どの機能をどのような対象物に対してどのような順序で
頻繁に起動したのかを常に監視し、そのユーザにとって
意味を持つ一連の機能列とは何なのかを、重みを調べる
ことによって抽出することが可能となる。重みがあらか
じめ定めておいた閾値を越えた場合、その重みに対応す
る一連のプレースをコピーし、それらを接続するアーク
とトランジションを生成する。例えば、ユーザが表示装
置110上で対象物111〜116と機能の選択肢16
2、164を操作することによって、トランジションt
ab220とtbe224に対して割り当てられた重み
があらかじめ定めておいた閾値を越えた場合、該当する
プレースpb211をコピーしてプレースpb’250
とし、それを接続するトランジションtNew260と
アーク270〜272を生成する。トランジションtN
ew260の生成は、表示装置110上では機能B(1
61)とE(164)を順次起動するための機能BEの
選択肢165を追加することに対応する。機能列を短縮
した場合に、それに対応する選択肢を既存の機能の選択
肢に追加することによって、そのユーザに特有の一連の
機能列が使用可能となり、使い勝手を向上することがで
きる。
【0010】図3、図4および図5は、それぞれ本発明
に係わる機能を制御するためのデータ構造と機能列の使
用頻度を保持する重み構造体の説明図である。図3
(a)において、300はアプリケーションプログラム
における機能を制御するための機能制御用配列であり、
301から318に示すような、各機能の起動を制御す
るための記号の記憶領域を有する。本実施例では18個
の記憶領域だけが示されているが、これに限定されるも
のではない。記号“[”302、“D”303、“]”
304、“2”305、“,”306、“1”307
は、それぞれ機能Dを2入力1出力として扱うことを表
す。また、記号“[”309、“E”310、“]”3
11、“1”312、“,”313、“1”314は、
それぞれ機能Eを1入力1出力として扱うことを表す。
なお、記号“・”308は、それと対応する記号“[”
301、“]”315と用い、かつ、その入出力数を表
す“2”316、“,”317、“1”318と共に用
いて、各々の間に示した機能である2入力1出力の機能
Dと1入力1出力の機能Eを順次実行し、かつ、それを
2入力1出力として扱うことを表す。また、記号“[”
と“・”、“・”と“]”で挟まれた記号列が同一の場
合は、その同一の記号列の後に“+”をつけて表す。例
えば、記号列を“[[XXX]n,n・[XXX]n,
n]n,n”とはしないで、“[[XXX]n,n+]
n,n”と表す。機能制御用配列300を解釈するアル
ゴリズムに関しては、図9〜図12を用いて詳細に説明
する。
に係わる機能を制御するためのデータ構造と機能列の使
用頻度を保持する重み構造体の説明図である。図3
(a)において、300はアプリケーションプログラム
における機能を制御するための機能制御用配列であり、
301から318に示すような、各機能の起動を制御す
るための記号の記憶領域を有する。本実施例では18個
の記憶領域だけが示されているが、これに限定されるも
のではない。記号“[”302、“D”303、“]”
304、“2”305、“,”306、“1”307
は、それぞれ機能Dを2入力1出力として扱うことを表
す。また、記号“[”309、“E”310、“]”3
11、“1”312、“,”313、“1”314は、
それぞれ機能Eを1入力1出力として扱うことを表す。
なお、記号“・”308は、それと対応する記号“[”
301、“]”315と用い、かつ、その入出力数を表
す“2”316、“,”317、“1”318と共に用
いて、各々の間に示した機能である2入力1出力の機能
Dと1入力1出力の機能Eを順次実行し、かつ、それを
2入力1出力として扱うことを表す。また、記号“[”
と“・”、“・”と“]”で挟まれた記号列が同一の場
合は、その同一の記号列の後に“+”をつけて表す。例
えば、記号列を“[[XXX]n,n・[XXX]n,
n]n,n”とはしないで、“[[XXX]n,n+]
n,n”と表す。機能制御用配列300を解釈するアル
ゴリズムに関しては、図9〜図12を用いて詳細に説明
する。
【0011】図3(b)において、320〜328、3
30〜338は、それぞれ図2において連続して発火し
た2つのトランジションのうち、前に発火したトランジ
ション、後に発火したトランジションを表す。前者を前
トランジション、後者を現トランジションと呼ぶ。34
1〜357、360〜362は本発明に係わる重みとそ
れに関係する情報をまとまりとした重み構造体S1〜S
17、S20〜S22である。重み構造体S20 36
0、S21 361、S22 362は、図2においてト
ランジションtNew260を生成したことによって追
加されものである。図4および図5は、重み構造体が保
持するデータの説明図である。(S1)における341
a、341b、341c、341dは、それぞれ重み構
造体S1 341が保持している該当する機能列の使用
回数、その使用回数から算出した使用頻度、前トランジ
ションが発火したことによって起動した機能列pre_
func、現トランジションが発火したことによって起
動した機能列next_funcを表す。同様にして、
(S2)における342a〜342d、(S3)におけ
る343a〜343d、(S13)における353a〜
353d、(S20)における360a〜360d、
(S21)における361a〜361d、(S22)に
おける362a〜362dは、それぞれ重み構造体S2
(342)、S3(343)、S13(353)、S2
0(360)、S21(361)、S22(362)が
保持する使用回数、使用頻度、pre_func、ne
xt_funcを表す。
30〜338は、それぞれ図2において連続して発火し
た2つのトランジションのうち、前に発火したトランジ
ション、後に発火したトランジションを表す。前者を前
トランジション、後者を現トランジションと呼ぶ。34
1〜357、360〜362は本発明に係わる重みとそ
れに関係する情報をまとまりとした重み構造体S1〜S
17、S20〜S22である。重み構造体S20 36
0、S21 361、S22 362は、図2においてト
ランジションtNew260を生成したことによって追
加されものである。図4および図5は、重み構造体が保
持するデータの説明図である。(S1)における341
a、341b、341c、341dは、それぞれ重み構
造体S1 341が保持している該当する機能列の使用
回数、その使用回数から算出した使用頻度、前トランジ
ションが発火したことによって起動した機能列pre_
func、現トランジションが発火したことによって起
動した機能列next_funcを表す。同様にして、
(S2)における342a〜342d、(S3)におけ
る343a〜343d、(S13)における353a〜
353d、(S20)における360a〜360d、
(S21)における361a〜361d、(S22)に
おける362a〜362dは、それぞれ重み構造体S2
(342)、S3(343)、S13(353)、S2
0(360)、S21(361)、S22(362)が
保持する使用回数、使用頻度、pre_func、ne
xt_funcを表す。
【0012】前トランジションを同じくする重み構造体
S1(341)、S2(342)、S3(343)の使
用頻度341b、342b、343bは、それらの使用
回数341a、342a、343aの総和を分母、各々
の使用回数を分子として算出する。他の使用頻度も同様
である。使用回数の更新方法は、図8において詳細に説
明する。図5において、追加された重み構造体S20
(360)のpre_func360cとnext_f
unc(360d)は、生成したトランジションtNe
w200を現トランジション338、その前に発火可能
なトランジションtea225を前トランジション32
5として決定する。同様に、重み構造体S21(36
1)のpre_func361cとnext_func
361dは、tNew200を前トランジション、その
後に発火可能なトランジションtea225を現トラン
ジション335として、また、重み構造体S22(36
2)のpre_func362cとnext_func
362dは、tNew200を前トランジション、その
後に発火可能なトランジションtee226を現トラン
ジション336として決定する。具体的には、機能列3
60d、361c、362cは機能列343cすなわち
“[B]1,1”と、343dすなわち“[E]1,
1”とを“・”で接続し、その全体の入出力“1,1”
を明示することによって生成する。同一の機能を連続し
て起動する場合や、複数の機能を順次起動する場合を統
一して記述可能な枠組みを持つことにより、容易に、任
意の順で機能を起動できる。
S1(341)、S2(342)、S3(343)の使
用頻度341b、342b、343bは、それらの使用
回数341a、342a、343aの総和を分母、各々
の使用回数を分子として算出する。他の使用頻度も同様
である。使用回数の更新方法は、図8において詳細に説
明する。図5において、追加された重み構造体S20
(360)のpre_func360cとnext_f
unc(360d)は、生成したトランジションtNe
w200を現トランジション338、その前に発火可能
なトランジションtea225を前トランジション32
5として決定する。同様に、重み構造体S21(36
1)のpre_func361cとnext_func
361dは、tNew200を前トランジション、その
後に発火可能なトランジションtea225を現トラン
ジション335として、また、重み構造体S22(36
2)のpre_func362cとnext_func
362dは、tNew200を前トランジション、その
後に発火可能なトランジションtee226を現トラン
ジション336として決定する。具体的には、機能列3
60d、361c、362cは機能列343cすなわち
“[B]1,1”と、343dすなわち“[E]1,
1”とを“・”で接続し、その全体の入出力“1,1”
を明示することによって生成する。同一の機能を連続し
て起動する場合や、複数の機能を順次起動する場合を統
一して記述可能な枠組みを持つことにより、容易に、任
意の順で機能を起動できる。
【0013】以下、本発明による適応方法が行う処理動
作をフローチャートを用いて詳しく説明する。図6は、
本発明の処理手順の一実施例を示すフローチャートであ
る。先ず、ユーザが本発明のユーザ適応方法を実現する
ために機能短縮プログラム記憶領域132に記憶した機
能短縮プログラムを起動すると、図1に示すアプリケー
ションプログラム記憶領域131に記憶されたアプリケ
ーションプログラムが起動する(ステップ410)。次
に、そのユーザが登録されているかを判定し(ステップ
420)、ユーザ登録されていない場合は、重み構造体
記憶領域133において、重み構造体を初期化する(ス
テップ430)。ユーザ登録されている場合には、重み
構造体を補助記憶装置140の重み構造体格納領域14
3から主記憶装置130の重み構造体記憶領域133に
読み込む(ステップ440)。次に、ユーザが表示装置
110に表示された対象物111〜116を1つもしく
は複数をマウス120もしくはキーボード150を用い
て指定し、その対象物に作用させる機能を表示装置11
0に表示された機能の選択肢160〜165の中からマ
ウス120もしくはキーボード150を用いて選択する
(ステップ450)。その結果、本発明に係わる機能短
縮プログラムは指定された対象物と選択された機能の制
御処理を行う(ステップ460)。機能および対象物の
制御処理(ステップ460)に関しては、図7において
詳しく説明する。ユーザがアプリケーションプログラム
の終了を入力すると(ステップ470)、主記憶装置1
30の重み構造体記憶領域133に存在する重み構造体
を、補助記憶装置140の重み構造体格納領域143に
書き込み(ステップ480)、動作を終了する。ユーザ
がアプリケーションプログラムの終了を入力しない場合
には、マウス120もしくはキーボード150操作によ
る対象物111〜116の指定と機能の選択肢160〜
165からの選択動作(ステップ450)を繰り返す。
作をフローチャートを用いて詳しく説明する。図6は、
本発明の処理手順の一実施例を示すフローチャートであ
る。先ず、ユーザが本発明のユーザ適応方法を実現する
ために機能短縮プログラム記憶領域132に記憶した機
能短縮プログラムを起動すると、図1に示すアプリケー
ションプログラム記憶領域131に記憶されたアプリケ
ーションプログラムが起動する(ステップ410)。次
に、そのユーザが登録されているかを判定し(ステップ
420)、ユーザ登録されていない場合は、重み構造体
記憶領域133において、重み構造体を初期化する(ス
テップ430)。ユーザ登録されている場合には、重み
構造体を補助記憶装置140の重み構造体格納領域14
3から主記憶装置130の重み構造体記憶領域133に
読み込む(ステップ440)。次に、ユーザが表示装置
110に表示された対象物111〜116を1つもしく
は複数をマウス120もしくはキーボード150を用い
て指定し、その対象物に作用させる機能を表示装置11
0に表示された機能の選択肢160〜165の中からマ
ウス120もしくはキーボード150を用いて選択する
(ステップ450)。その結果、本発明に係わる機能短
縮プログラムは指定された対象物と選択された機能の制
御処理を行う(ステップ460)。機能および対象物の
制御処理(ステップ460)に関しては、図7において
詳しく説明する。ユーザがアプリケーションプログラム
の終了を入力すると(ステップ470)、主記憶装置1
30の重み構造体記憶領域133に存在する重み構造体
を、補助記憶装置140の重み構造体格納領域143に
書き込み(ステップ480)、動作を終了する。ユーザ
がアプリケーションプログラムの終了を入力しない場合
には、マウス120もしくはキーボード150操作によ
る対象物111〜116の指定と機能の選択肢160〜
165からの選択動作(ステップ450)を繰り返す。
【0014】図7は、図6における機能および対象物の
制御処理(460)を示す詳細フローチャートである。
機能および対象物の制御処理(ステップ460)が起動
すると、ユーザによって指定された対象物111〜11
6と選択された機能の選択肢160〜165の組合せに
より、発火すべきトランジションを特定し、前トランジ
ション、現トランジションおよび対象物名記憶領域13
5に一時記憶しておいた前トランジション、現トランジ
ション、およびその時の対象物名を更新する(ステップ
500)。次に、その前トランジションと現トランジシ
ョンから更新すべき重み構造体を特定し、その重み構造
体の現トランジションが発火することのよって起動する
機能列によって、機能制御用配列および木構造記憶領域
に記憶した機能制御用配列300を更新する(ステップ
510)。例えば、前トランジションがtea225、
現トランジションがtad227の場合、重み構造体S
13(353)の現トランジションが発火することによ
って起動する機能列353dを機能制御用配列300に
読み込む。次に、更新した機能制御用配列300を解釈
するために木構造化する(ステップ520)。なお、機
能制御用配列300を木構造化する方法については、図
9〜図11により詳細に述べる。木構造の解釈を開始す
るに際して、カレントのノードを木構造のルートに設定
する(ステップ530)。木構造の解釈が全て終了した
ならば(ステップ540)、重みの更新およびマクロ化
処理を行い(ステップ550)、機能および対象物の制
御処理を終了する。解釈が終了していないならば、木構
造の解釈処理を行う(ステップ560)。そして、ステ
ップ540に戻る。
制御処理(460)を示す詳細フローチャートである。
機能および対象物の制御処理(ステップ460)が起動
すると、ユーザによって指定された対象物111〜11
6と選択された機能の選択肢160〜165の組合せに
より、発火すべきトランジションを特定し、前トランジ
ション、現トランジションおよび対象物名記憶領域13
5に一時記憶しておいた前トランジション、現トランジ
ション、およびその時の対象物名を更新する(ステップ
500)。次に、その前トランジションと現トランジシ
ョンから更新すべき重み構造体を特定し、その重み構造
体の現トランジションが発火することのよって起動する
機能列によって、機能制御用配列および木構造記憶領域
に記憶した機能制御用配列300を更新する(ステップ
510)。例えば、前トランジションがtea225、
現トランジションがtad227の場合、重み構造体S
13(353)の現トランジションが発火することによ
って起動する機能列353dを機能制御用配列300に
読み込む。次に、更新した機能制御用配列300を解釈
するために木構造化する(ステップ520)。なお、機
能制御用配列300を木構造化する方法については、図
9〜図11により詳細に述べる。木構造の解釈を開始す
るに際して、カレントのノードを木構造のルートに設定
する(ステップ530)。木構造の解釈が全て終了した
ならば(ステップ540)、重みの更新およびマクロ化
処理を行い(ステップ550)、機能および対象物の制
御処理を終了する。解釈が終了していないならば、木構
造の解釈処理を行う(ステップ560)。そして、ステ
ップ540に戻る。
【0015】図8は、図7における重みの更新とマクロ
化処理(550)を示す詳細フローチャートである。重
みの更新とマクロ化処理(ステップ550)が起動する
と、前トランジションと現トランジションで特定される
更新すべき重み構造体において、pre_funcとn
ext_funcが同一で、かつ各々の機能列で処理し
た対象物の個数が同一の場合、あるいは、pre_fu
ncとnext_funcが異なっており、かつ各々の
機能列で処理した対象物が入出力関係になっている場合
には(ステップ600)、重み構造体の使用回数を更新
し、使用頻度、すなわち、ペトリネットの重みを算出し
なおす(ステップ610)。重みがあらかじめ定めてお
いた閾値より大きい場合には(ステップ620)、表示
装置110にマクロ化コマンドを生成する旨を表示しユ
ーザに問い合わせる(ステップ630)。ユーザが承認
すれば、マクロ化コマンドの生成処理を行う(ステップ
640)。それ以外の場合には、重みの更新とマクロ化
処理を終了する。なお、マクロ化コマンド生成処理(ス
テップ640)は、図2,図3〜図5で説明したよう
に、重みすなわち使用頻度と同じ重み構造体のpre_
funcに該当するプレースをコピーし、新たなトラン
ジションと接続するアークを生成する。また、トランジ
ションの生成に伴い、重み構造体を既存の重み構造体に
追加する。そのとき新規のトランジションを前トランジ
ションとして、また、新規のトランジションを現トラン
ジションとして、重み構造体を追加する。その重み構造
体のpre_funcとnext_funcは閾値を越
えた重みと同じ重み構造体に属するpre_funcと
next_funcから生成する。但し、短縮機能の入
出力が1入力1出力の場合は、その機能をn入力n出力
としても起動可能なように、入出力数を変えて、プレー
ス、トランジション、アーク、重み構造体を追加する。
また、判断ステップ600は、対象物を固定して異なる
機能を順次施す場合と機能を固定して対象物を変更して
いく場合に相当する。それらの操作には、ユーザの操作
意図が含まれていると考えられる。漠然と全ての機能列
に対して使用頻度すなわち重みを更新するのではなく、
この2つの条件を設けることにより、よりユーザの操作
意図を反映した機能列の短縮を行えるようになる。
化処理(550)を示す詳細フローチャートである。重
みの更新とマクロ化処理(ステップ550)が起動する
と、前トランジションと現トランジションで特定される
更新すべき重み構造体において、pre_funcとn
ext_funcが同一で、かつ各々の機能列で処理し
た対象物の個数が同一の場合、あるいは、pre_fu
ncとnext_funcが異なっており、かつ各々の
機能列で処理した対象物が入出力関係になっている場合
には(ステップ600)、重み構造体の使用回数を更新
し、使用頻度、すなわち、ペトリネットの重みを算出し
なおす(ステップ610)。重みがあらかじめ定めてお
いた閾値より大きい場合には(ステップ620)、表示
装置110にマクロ化コマンドを生成する旨を表示しユ
ーザに問い合わせる(ステップ630)。ユーザが承認
すれば、マクロ化コマンドの生成処理を行う(ステップ
640)。それ以外の場合には、重みの更新とマクロ化
処理を終了する。なお、マクロ化コマンド生成処理(ス
テップ640)は、図2,図3〜図5で説明したよう
に、重みすなわち使用頻度と同じ重み構造体のpre_
funcに該当するプレースをコピーし、新たなトラン
ジションと接続するアークを生成する。また、トランジ
ションの生成に伴い、重み構造体を既存の重み構造体に
追加する。そのとき新規のトランジションを前トランジ
ションとして、また、新規のトランジションを現トラン
ジションとして、重み構造体を追加する。その重み構造
体のpre_funcとnext_funcは閾値を越
えた重みと同じ重み構造体に属するpre_funcと
next_funcから生成する。但し、短縮機能の入
出力が1入力1出力の場合は、その機能をn入力n出力
としても起動可能なように、入出力数を変えて、プレー
ス、トランジション、アーク、重み構造体を追加する。
また、判断ステップ600は、対象物を固定して異なる
機能を順次施す場合と機能を固定して対象物を変更して
いく場合に相当する。それらの操作には、ユーザの操作
意図が含まれていると考えられる。漠然と全ての機能列
に対して使用頻度すなわち重みを更新するのではなく、
この2つの条件を設けることにより、よりユーザの操作
意図を反映した機能列の短縮を行えるようになる。
【0016】図9〜図11は、本発明で適用された機能
を制御するために用いる木構造の説明図である。図9
(a)は、図3(a)に示した機能制御用配列300に
対応する木構造である。図9(a)において、700は
ルートノード、701、702はノード、710〜71
2はノードの入出力数を表す。ルートノード700は記
号“・”308に対応し、子供のノードである2つのノ
ード701、702を順次実行することを表す。ノード
700に附属した入出力数710は、記号“2”31
6、“,”317、“1”318に対応し、子供のノー
ド701と702に対応する機能を順次実行し、それを
2入力1出力として扱うことを表す。ノード701とそ
れに附属した入出力数711は記号“[”302、
“D”303、“]”304、“2”305、“,”3
06、“1”307に対応し、機能Dを2入力1出力と
して扱うことを表す。ノード702とそれに附属した入
出力数712は記号“[”309、“E”31
0、“]”311、“1”312、“,”313、
“1”314に対応し、機能Dを2入力1出力として扱
うことを表す。
を制御するために用いる木構造の説明図である。図9
(a)は、図3(a)に示した機能制御用配列300に
対応する木構造である。図9(a)において、700は
ルートノード、701、702はノード、710〜71
2はノードの入出力数を表す。ルートノード700は記
号“・”308に対応し、子供のノードである2つのノ
ード701、702を順次実行することを表す。ノード
700に附属した入出力数710は、記号“2”31
6、“,”317、“1”318に対応し、子供のノー
ド701と702に対応する機能を順次実行し、それを
2入力1出力として扱うことを表す。ノード701とそ
れに附属した入出力数711は記号“[”302、
“D”303、“]”304、“2”305、“,”3
06、“1”307に対応し、機能Dを2入力1出力と
して扱うことを表す。ノード702とそれに附属した入
出力数712は記号“[”309、“E”31
0、“]”311、“1”312、“,”313、
“1”314に対応し、機能Dを2入力1出力として扱
うことを表す。
【0017】図9(b)において、720は機能制御用
配列、721〜750は機能の制御用の記号である。図
10は、図9(b)に示した機能制御用配列720に対
応する木構造の図である。図10において、751はル
ートノード、752〜755はノード、761〜765
は入出力数を表す。ルートノード751は図9(b)の
記号“・”740に対応し、子供のノードである2つの
ノード752と755を順次実行することを表す。ノー
ド750に附属した入出力数761は図9(b)の記号
“n”748、“,”749、“n”750に対応し、
ノード751に対応する機能をn入力n出力として扱う
ことを表す。ノード752は記号“・”729に対応
し、ノード752に附属する入力数762と共に用い
て、子供のノード753、754の表す機能をn入力n
出力として扱うことを表す。ノード753とそれに附属
した入出力数763は、図9(b)の記号“[”72
3、“X”724、“]”725、“1”72
6、“,”727、“1”728に対応し、機能Xを1
入力1出力として扱うことを表し、またノード754と
それに附属した入出力数764は、図9(b)の記号
“[”730、“Y”731、“]”732、“1”7
33、“,”734、“1”735に対応し、機能Yを
1入力1出力として扱うことを表す。ここで、ノード7
52、753、754の動作について説明する。記号は
図9(b)の722〜739に対応しており、1入力1
出力の2つの機能XとYを、対象物を変更せずに順次起
動し、それがn入力n出力として扱われることを表して
いる。これをユーザの操作として見直すと、1入力1出
力として生成された短縮機能に対して、複数の対象物が
ユーザによって指定されたということを表している。シ
ステムは、ユーザによって指定された対象物を全て処理
終了するまで、指定された対象物の範囲内で入力とする
対象物を順次変更しながら短縮機能を起動して対処する
こととする。つまり、ユーザの指定した対象物の個数だ
け、1入力1出力の2つの機能X、Yを順次起動して、
ユーザの指定した対象物を処理する。
配列、721〜750は機能の制御用の記号である。図
10は、図9(b)に示した機能制御用配列720に対
応する木構造の図である。図10において、751はル
ートノード、752〜755はノード、761〜765
は入出力数を表す。ルートノード751は図9(b)の
記号“・”740に対応し、子供のノードである2つの
ノード752と755を順次実行することを表す。ノー
ド750に附属した入出力数761は図9(b)の記号
“n”748、“,”749、“n”750に対応し、
ノード751に対応する機能をn入力n出力として扱う
ことを表す。ノード752は記号“・”729に対応
し、ノード752に附属する入力数762と共に用い
て、子供のノード753、754の表す機能をn入力n
出力として扱うことを表す。ノード753とそれに附属
した入出力数763は、図9(b)の記号“[”72
3、“X”724、“]”725、“1”72
6、“,”727、“1”728に対応し、機能Xを1
入力1出力として扱うことを表し、またノード754と
それに附属した入出力数764は、図9(b)の記号
“[”730、“Y”731、“]”732、“1”7
33、“,”734、“1”735に対応し、機能Yを
1入力1出力として扱うことを表す。ここで、ノード7
52、753、754の動作について説明する。記号は
図9(b)の722〜739に対応しており、1入力1
出力の2つの機能XとYを、対象物を変更せずに順次起
動し、それがn入力n出力として扱われることを表して
いる。これをユーザの操作として見直すと、1入力1出
力として生成された短縮機能に対して、複数の対象物が
ユーザによって指定されたということを表している。シ
ステムは、ユーザによって指定された対象物を全て処理
終了するまで、指定された対象物の範囲内で入力とする
対象物を順次変更しながら短縮機能を起動して対処する
こととする。つまり、ユーザの指定した対象物の個数だ
け、1入力1出力の2つの機能X、Yを順次起動して、
ユーザの指定した対象物を処理する。
【0018】一方、ルートノード751とノード755
の動作は、n入力n出力の機能Zをn入力n出力として
扱うので、対象物を変更することなく、ユーザが指定し
た複数の対象物を一括して機能Zの入力にできる。以上
の内容をまとめると、子供のノードの入出力数よりも親
のノードの入出力数の方が大きい場合には、ユーザの指
定した対象物の範囲内で対象物を順次変更しながら親の
ノードの入出力数だけ子供のノードに対応する機能を起
動する。一般的には、親のノードの入力数を左の子供の
ノードの入力数で割った回数だけ、左の子供のノードに
対応する機能を起動する。同じように、親のノードの出
力数を右の子供のノードの出力数で割った回数だけ、右
の子供のノードに対応する機能を起動する。図11
(a)において、770は機能制御用配列、771〜7
82は機能の制御用の記号である。図11(b)は、図
11(a)に示した機能制御用配列770に対応する木
構造である。図11(b)において、790はルートノ
ード、791はノード、792、794は入出力数を表
す。ルートノード790は記号“+”に対応し、子供の
ノードであるノード791を、実行する毎に入力とする
対象物を変更しながら連続して実行することを表す。
の動作は、n入力n出力の機能Zをn入力n出力として
扱うので、対象物を変更することなく、ユーザが指定し
た複数の対象物を一括して機能Zの入力にできる。以上
の内容をまとめると、子供のノードの入出力数よりも親
のノードの入出力数の方が大きい場合には、ユーザの指
定した対象物の範囲内で対象物を順次変更しながら親の
ノードの入出力数だけ子供のノードに対応する機能を起
動する。一般的には、親のノードの入力数を左の子供の
ノードの入力数で割った回数だけ、左の子供のノードに
対応する機能を起動する。同じように、親のノードの出
力数を右の子供のノードの出力数で割った回数だけ、右
の子供のノードに対応する機能を起動する。図11
(a)において、770は機能制御用配列、771〜7
82は機能の制御用の記号である。図11(b)は、図
11(a)に示した機能制御用配列770に対応する木
構造である。図11(b)において、790はルートノ
ード、791はノード、792、794は入出力数を表
す。ルートノード790は記号“+”に対応し、子供の
ノードであるノード791を、実行する毎に入力とする
対象物を変更しながら連続して実行することを表す。
【0019】図12は、本発明で用いている機能制御用
の木構造を解釈するためのフローチャートである。図7
のステップ560である木構造の解釈処理が起動する
と、CurrentNodeに子供のノードが存在する
か判定し(ステップ800)、存在する場合は子供のノ
ードの実行回数を決定する(ステップ810)。具体的
には、左の子供のノードの実行回数Lを、Curren
tNodeの入力数を左の子供のノードの入力数で割っ
て算出する。右の子供のノードの実行回数Rを、Cur
rentNodeの出力数を右の子供のノードの出力数
で割って算出する。次に、左の子供のノードをL回、右
の子供のノードをR回実行したかを判定し(ステップ8
20)、実行していなければ、まず左の子供のノードを
L回実行したかを判定する(ステップ830)。L回実
行していなければCurrentNodeを左の子供の
ノードに変更し(ステップ835)、L回実行していれ
ばCurrentNodeを右の子供のノードに変更し
て(ステップ840)、木構造の解釈処理を終了する。
但し、ステップ820において算出した実行回数LとR
が一致している場合は、ステップ835と840を交互
に実行する。ステップ820において子供のノードを実
行終了した場合は、CurrentNodeを親のノー
ドに変更し(ステップ845)、木構造の解釈処理を終
了する。ステップ800において、CurrentNo
deに子供のノードが存在していない場合、Curre
ntNodeに割り当てられている機能を、その入出力
数に従いユーザが指定した対象物を入力として起動する
(ステップ850)。ユーザは、起動した機能の要求に
従って操作を加える。システムはその操作に応じて対象
物を更新する(ステップ860)。起動した機能の終了
後、CurrentNodeの親ノードに“+”が付い
ているか判定する(ステップ870)。“+”が付いて
いる場合、機能を連続して実行する際に入力とする未処
理の対象物が表示装置110上に存在するどうか判定す
る(ステップ880)。未処理の対象物が存在する場
合、その対象物を起動する機能の入力とし(ステップ8
90)、木構造の解釈処理を終了する。ステップ870
においてCurrentNodeの親ノードに“+”が
付いていない場合、また、ステップ880において未処
理の対象物が存在しない場合には、CurrentNo
deを親のノードに変更して(ステップ845)、木構
造の解釈処理を終了する。
の木構造を解釈するためのフローチャートである。図7
のステップ560である木構造の解釈処理が起動する
と、CurrentNodeに子供のノードが存在する
か判定し(ステップ800)、存在する場合は子供のノ
ードの実行回数を決定する(ステップ810)。具体的
には、左の子供のノードの実行回数Lを、Curren
tNodeの入力数を左の子供のノードの入力数で割っ
て算出する。右の子供のノードの実行回数Rを、Cur
rentNodeの出力数を右の子供のノードの出力数
で割って算出する。次に、左の子供のノードをL回、右
の子供のノードをR回実行したかを判定し(ステップ8
20)、実行していなければ、まず左の子供のノードを
L回実行したかを判定する(ステップ830)。L回実
行していなければCurrentNodeを左の子供の
ノードに変更し(ステップ835)、L回実行していれ
ばCurrentNodeを右の子供のノードに変更し
て(ステップ840)、木構造の解釈処理を終了する。
但し、ステップ820において算出した実行回数LとR
が一致している場合は、ステップ835と840を交互
に実行する。ステップ820において子供のノードを実
行終了した場合は、CurrentNodeを親のノー
ドに変更し(ステップ845)、木構造の解釈処理を終
了する。ステップ800において、CurrentNo
deに子供のノードが存在していない場合、Curre
ntNodeに割り当てられている機能を、その入出力
数に従いユーザが指定した対象物を入力として起動する
(ステップ850)。ユーザは、起動した機能の要求に
従って操作を加える。システムはその操作に応じて対象
物を更新する(ステップ860)。起動した機能の終了
後、CurrentNodeの親ノードに“+”が付い
ているか判定する(ステップ870)。“+”が付いて
いる場合、機能を連続して実行する際に入力とする未処
理の対象物が表示装置110上に存在するどうか判定す
る(ステップ880)。未処理の対象物が存在する場
合、その対象物を起動する機能の入力とし(ステップ8
90)、木構造の解釈処理を終了する。ステップ870
においてCurrentNodeの親ノードに“+”が
付いていない場合、また、ステップ880において未処
理の対象物が存在しない場合には、CurrentNo
deを親のノードに変更して(ステップ845)、木構
造の解釈処理を終了する。
【0020】ここで、既存のアプリケーションプログラ
ムとして動画像編集システムを用いることにより、本発
明のユーザ適応型システムおよびその適応方法を、より
具体的に説明する。動画像の編集は、一般に以下のよう
な機能を用いることによって行われる。 (1)プレビュー機能:まず始めに、撮影もしくは獲得
した生の動画像の内容を把握するため、動画像をプレビ
ューする必要がある。 (2)カット分割機能:編集を施していない生の動画像
は、必ずしもストーリーに従って記録されているわけで
はない。特に“素人”が撮影したビデオなどは、専門家
が行なうようなシナリオ、絵コンテ、カット割りのよう
なトップダウン的なストーリーの詳細化作業を行なうこ
となく、ランダムに“手当たり次第に”撮影されている
ことが多い。また、専門家が撮影したものでも不要で冗
長な部分も含まれているので、先ず、カット、もしくは
シーンと呼ばれる、ある意味をもった動画像の塊に分割
して処理を行なうのが一般的である。以下、動画像の塊
の最小単位をカット、複数のカットをまとめて、更に上
位の意味をもたせたものをシーンと呼ぶ。 (3)属性付加機能および取捨選択:カットには不要な
ものも存在するので、そのカットを取捨選択、もしくは
名前、撮影日時、検索のためのキーワード、OK/NG
などの属性情報を付加して、そのカットが必要か、不要
かを明確にする作業が必要である。 (4)トリミング機能:カットの再生時間を調整するた
めのカットの開始点(イン点)、終了点(アウト点)を
フレーム単位で変更する操作である。特に、複数のカッ
トをつなぎ合わせた合計時間が意図したものと異なる場
合に、この操作が必要となる。ここで、フレームとは動
画像を構成している1秒間に30枚表示している各静止
画像を示すものである。
ムとして動画像編集システムを用いることにより、本発
明のユーザ適応型システムおよびその適応方法を、より
具体的に説明する。動画像の編集は、一般に以下のよう
な機能を用いることによって行われる。 (1)プレビュー機能:まず始めに、撮影もしくは獲得
した生の動画像の内容を把握するため、動画像をプレビ
ューする必要がある。 (2)カット分割機能:編集を施していない生の動画像
は、必ずしもストーリーに従って記録されているわけで
はない。特に“素人”が撮影したビデオなどは、専門家
が行なうようなシナリオ、絵コンテ、カット割りのよう
なトップダウン的なストーリーの詳細化作業を行なうこ
となく、ランダムに“手当たり次第に”撮影されている
ことが多い。また、専門家が撮影したものでも不要で冗
長な部分も含まれているので、先ず、カット、もしくは
シーンと呼ばれる、ある意味をもった動画像の塊に分割
して処理を行なうのが一般的である。以下、動画像の塊
の最小単位をカット、複数のカットをまとめて、更に上
位の意味をもたせたものをシーンと呼ぶ。 (3)属性付加機能および取捨選択:カットには不要な
ものも存在するので、そのカットを取捨選択、もしくは
名前、撮影日時、検索のためのキーワード、OK/NG
などの属性情報を付加して、そのカットが必要か、不要
かを明確にする作業が必要である。 (4)トリミング機能:カットの再生時間を調整するた
めのカットの開始点(イン点)、終了点(アウト点)を
フレーム単位で変更する操作である。特に、複数のカッ
トをつなぎ合わせた合計時間が意図したものと異なる場
合に、この操作が必要となる。ここで、フレームとは動
画像を構成している1秒間に30枚表示している各静止
画像を示すものである。
【0021】(5)代表画像変更機能:カットをアイコ
ン表示する際に、そのカットを象徴的に示し、他のカッ
トと区別がつくようなフレームで表示した方が一見して
内容を把握できるため、後の操作も容易になる。代表画
像変更操作は、そのためのデフォルトで表示している画
像を、そのカットを代表するに適切な画像に変更する操
作である。この操作は、従来のビデオデッキのみで編集
している場合には存在しないが、コンピュータをインタ
フェースとして用いて、カットをアイコンとして表示
し、それをダイレクトマニュピレートして編集を行なう
場合、アイコンを一見してその内容を把握できるように
することが重要になる。 (6)並べ変え機能:トリミング機能などを用いて無駄
な部分を排除したカットを、ストーリーに従って並べ変
えるための機能である。 (7)特殊効果機能:2つのカット間の移行を効果的に
行なうため、フェード、ワイプ、ディゾルブ、オーバー
ラップと呼ばれる特殊効果処理を行なう。この処理を有
効に用いると、ストーリー展開をスムーズに行なえる。
ここで、フェードとは、白/黒の背景からカットへ、も
しくは、カットから白/黒の背景へ両者の混合比を変え
て徐々に移行するための機能である。ワイプとは、一方
のカットから他方のカットへワイプパターンを用いて移
行するものである。また、ディゾルブとは、一方のカッ
トから他方のカットへ両者の混合比を変えて徐々に移行
する機能である。さらにオーバーラップとは、一方のカ
ットの特定の色を抜き、他方のカットを背景として合成
する機能である。 但し、これらの機能は(1)から(7)までをこの順序
で用いるのではなく、編集を施しているユーザの嗜好に
応じて任意の順序で用いることができる。例えば、編集
を施していない生の動画像に対して、カット分割機能、
トリミング機能などを用いてから、次の機能に移行する
ユーザもいれば、カット分割機能を作用したカットに対
して、その都度、直ちにトリミング機能を用いるという
ユーザも考えられる。また、並べ変え機能を用いてか
ら、ストーリー全体として時間が長い場合は、再度それ
ぞれのカットに対してトリミング機能を用いる必要も生
じるであろう。
ン表示する際に、そのカットを象徴的に示し、他のカッ
トと区別がつくようなフレームで表示した方が一見して
内容を把握できるため、後の操作も容易になる。代表画
像変更操作は、そのためのデフォルトで表示している画
像を、そのカットを代表するに適切な画像に変更する操
作である。この操作は、従来のビデオデッキのみで編集
している場合には存在しないが、コンピュータをインタ
フェースとして用いて、カットをアイコンとして表示
し、それをダイレクトマニュピレートして編集を行なう
場合、アイコンを一見してその内容を把握できるように
することが重要になる。 (6)並べ変え機能:トリミング機能などを用いて無駄
な部分を排除したカットを、ストーリーに従って並べ変
えるための機能である。 (7)特殊効果機能:2つのカット間の移行を効果的に
行なうため、フェード、ワイプ、ディゾルブ、オーバー
ラップと呼ばれる特殊効果処理を行なう。この処理を有
効に用いると、ストーリー展開をスムーズに行なえる。
ここで、フェードとは、白/黒の背景からカットへ、も
しくは、カットから白/黒の背景へ両者の混合比を変え
て徐々に移行するための機能である。ワイプとは、一方
のカットから他方のカットへワイプパターンを用いて移
行するものである。また、ディゾルブとは、一方のカッ
トから他方のカットへ両者の混合比を変えて徐々に移行
する機能である。さらにオーバーラップとは、一方のカ
ットの特定の色を抜き、他方のカットを背景として合成
する機能である。 但し、これらの機能は(1)から(7)までをこの順序
で用いるのではなく、編集を施しているユーザの嗜好に
応じて任意の順序で用いることができる。例えば、編集
を施していない生の動画像に対して、カット分割機能、
トリミング機能などを用いてから、次の機能に移行する
ユーザもいれば、カット分割機能を作用したカットに対
して、その都度、直ちにトリミング機能を用いるという
ユーザも考えられる。また、並べ変え機能を用いてか
ら、ストーリー全体として時間が長い場合は、再度それ
ぞれのカットに対してトリミング機能を用いる必要も生
じるであろう。
【0022】図13は、本発明のユーザ適応型システム
を動画像編集に適用した一実施例を示す表示画面例図で
ある。具体的には、図1に示す表示装置110に動画像
の編集における対象物と機能の選択肢を表示したもので
ある。図13において、901、902、903、90
4は各々カット分割機能、代表画像変更機能、トリミン
グ機能、ディゾルブ機能を起動するための既存の機能の
選択肢、905は本発明のユーザ適応型システムおよび
その適応方法により追加されたディゾルブ・代表画像変
更機能を順次起動するための新たに設けられた機能選択
肢、910〜915は対象物であるカットを示してい
る。また、920は、カット910と915に対してデ
ィゾルブ機能を施した時に生成されたシーンである。機
能の選択肢901〜905を選択すると、例えば、その
際に指定された対象物を操作するための専用のウインド
ウが開き、ユーザはそのウインドウ内で対象物に対して
操作を行う。図14、図15は、本発明のユーザ適応型
システムおよびその適応方法を、動画像編集を行うユー
ザに適応した場合の機能列の説明図である。図14およ
び図15では、機能列を短縮したことによって処理する
対象物の個数が変化する例を示している。図14におい
て、1000〜1002はトリミング機能を各々1入力
1出力、2入力2出力、n入力n出力として扱うための
プレースpT1、pT2、pTnである。1003はデ
ィゾルブ機能を2入力1出力の機能として扱うためのプ
レースpD2である。また、1004〜1006は代表
画像変更機能を各々1入力1出力、2入力2出力、n入
力n出力として扱うためのプレースpK1、pk2、p
knである。また、1010〜1012はディゾルブ機
能を2入力1出力として起動するためのトランジション
t_t1d2、t_t2d2、t_tnd2である。1
013〜1015は、代表画像変更機能を各々1入力1
出力、2入力2出力、n入力n出力として起動するため
のトランジションt_d2k1、t_d2k2、t_d
2knである。ここで、1入力用、2入力用、n入力用
のプレース、トランジション、またそれを接続するアー
ク、重み構造体を用意したが、2対象物用は特殊効果機
能を司るディゾルブ機能Dが2入力1出力ということを
考慮したためである。太線で示している1002,10
12,1003,1013,1004は、トリミング機
能からディゾルブ機能へ、さらに代表画像変更機能へと
順序起動させるために生成されるプレ−スと、トランジ
ションと、ア−クとを示したものである。
を動画像編集に適用した一実施例を示す表示画面例図で
ある。具体的には、図1に示す表示装置110に動画像
の編集における対象物と機能の選択肢を表示したもので
ある。図13において、901、902、903、90
4は各々カット分割機能、代表画像変更機能、トリミン
グ機能、ディゾルブ機能を起動するための既存の機能の
選択肢、905は本発明のユーザ適応型システムおよび
その適応方法により追加されたディゾルブ・代表画像変
更機能を順次起動するための新たに設けられた機能選択
肢、910〜915は対象物であるカットを示してい
る。また、920は、カット910と915に対してデ
ィゾルブ機能を施した時に生成されたシーンである。機
能の選択肢901〜905を選択すると、例えば、その
際に指定された対象物を操作するための専用のウインド
ウが開き、ユーザはそのウインドウ内で対象物に対して
操作を行う。図14、図15は、本発明のユーザ適応型
システムおよびその適応方法を、動画像編集を行うユー
ザに適応した場合の機能列の説明図である。図14およ
び図15では、機能列を短縮したことによって処理する
対象物の個数が変化する例を示している。図14におい
て、1000〜1002はトリミング機能を各々1入力
1出力、2入力2出力、n入力n出力として扱うための
プレースpT1、pT2、pTnである。1003はデ
ィゾルブ機能を2入力1出力の機能として扱うためのプ
レースpD2である。また、1004〜1006は代表
画像変更機能を各々1入力1出力、2入力2出力、n入
力n出力として扱うためのプレースpK1、pk2、p
knである。また、1010〜1012はディゾルブ機
能を2入力1出力として起動するためのトランジション
t_t1d2、t_t2d2、t_tnd2である。1
013〜1015は、代表画像変更機能を各々1入力1
出力、2入力2出力、n入力n出力として起動するため
のトランジションt_d2k1、t_d2k2、t_d
2knである。ここで、1入力用、2入力用、n入力用
のプレース、トランジション、またそれを接続するアー
ク、重み構造体を用意したが、2対象物用は特殊効果機
能を司るディゾルブ機能Dが2入力1出力ということを
考慮したためである。太線で示している1002,10
12,1003,1013,1004は、トリミング機
能からディゾルブ機能へ、さらに代表画像変更機能へと
順序起動させるために生成されるプレ−スと、トランジ
ションと、ア−クとを示したものである。
【0023】図15において、1020、1030、1
040、1041、1042は、ディゾルブ機能と代表
画像変更機能を順次起動するために生成されたプレー
ス、トランジション、アークである。いま、ユーザが図
13に示したカット910〜915のどれか複数の対象
物を指定してトリミング機能の選択肢903を選択・起
動した後に、その処理を終了したという状態を仮定す
る。ユーザが対象物であるカット910、915を指定
してディゾルブ機能の選択肢904を選択した場合、ト
ランジションt_tnd2(1012)が発火しカット
910、915を入力として、2入力1出力の機能
[D]2,1が起動し、専用ウインドウがオープンす
る。ユーザがディゾルブ専用ウインドウにおいて、入力
対象であるカット910、915に操作を加え、これが
終了すると、専用ウインドウがクローズし、新たな対象
物であるシーン920を出力する。ユーザがその出力の
対象物920を指定して代表画像変更機能の選択肢90
2を選択すると、トランジションt_d2k1(101
3)が発火し1入力1出力の機能[K]1,1が起動し
て、専用ウインドウがオープンする。ユーザが代表画像
変更専用ウインドウにおいて、シーン920に操作を加
え終了すると、専用ウインドウがクローズし、シーン9
20を更新したものを出力する。
040、1041、1042は、ディゾルブ機能と代表
画像変更機能を順次起動するために生成されたプレー
ス、トランジション、アークである。いま、ユーザが図
13に示したカット910〜915のどれか複数の対象
物を指定してトリミング機能の選択肢903を選択・起
動した後に、その処理を終了したという状態を仮定す
る。ユーザが対象物であるカット910、915を指定
してディゾルブ機能の選択肢904を選択した場合、ト
ランジションt_tnd2(1012)が発火しカット
910、915を入力として、2入力1出力の機能
[D]2,1が起動し、専用ウインドウがオープンす
る。ユーザがディゾルブ専用ウインドウにおいて、入力
対象であるカット910、915に操作を加え、これが
終了すると、専用ウインドウがクローズし、新たな対象
物であるシーン920を出力する。ユーザがその出力の
対象物920を指定して代表画像変更機能の選択肢90
2を選択すると、トランジションt_d2k1(101
3)が発火し1入力1出力の機能[K]1,1が起動し
て、専用ウインドウがオープンする。ユーザが代表画像
変更専用ウインドウにおいて、シーン920に操作を加
え終了すると、専用ウインドウがクローズし、シーン9
20を更新したものを出力する。
【0024】本発明のユーザ適応型システムおよびその
適応方法では、前トランジションt_tnd2(101
2)と現トランジションt_d2k1(1013)から
更新すべき重み構造体を特定し、その重みを更新する。
上記重みがあらかじめ定めておいた閾値を越えた場合、
プレースpD2’(1020)、トランジションt_t
nd2k1(1030)、それらの接続するアーク10
40、1041、1042を生成する。それに対応し
て、トランジションt_tnd2k1(1030)を前
トランジションとする重み構造体と、現トランジション
とする重み構造体を追加する。また、生成したディゾル
ブ機能と代表画像変更機能の短縮機能を選択するための
機能の選択肢905を、表示画面110上に追加する。
図16は、本発明であるユーザ適応型システムおよびそ
の適応方法を、動画像編集を行うユーザに適応した場合
の機能列の選択肢の説明図である。図16において、1
100〜1104は機能の選択肢をアイコンで表したも
のである。また、1110〜1114は、該当する機能
の入出力数を示したものである。例えば、機能選択肢の
1つ(1100)を選択することにより、その際に指定
された対象物を操作するための専用のウィンドウが開く
ので、次にユ−ザの指定した対象物の個数だけ、1入力
1出力の2つの機能X(1102),Y(1103)を
順次起動して、ユ−ザの指定した対象物を処理する。ま
た、ユ−ザが指定した複数の対象物を一括して機能Zで
処理する場合には、n入力n出力の機能Z(1104)
を選択・起動する。このように、短縮した機能列に対応
して追加する選択肢の形状を、既存の機能の選択肢の一
部分を利用して表示することにより、追加された選択肢
の意味合いを一見して把握可能となる。
適応方法では、前トランジションt_tnd2(101
2)と現トランジションt_d2k1(1013)から
更新すべき重み構造体を特定し、その重みを更新する。
上記重みがあらかじめ定めておいた閾値を越えた場合、
プレースpD2’(1020)、トランジションt_t
nd2k1(1030)、それらの接続するアーク10
40、1041、1042を生成する。それに対応し
て、トランジションt_tnd2k1(1030)を前
トランジションとする重み構造体と、現トランジション
とする重み構造体を追加する。また、生成したディゾル
ブ機能と代表画像変更機能の短縮機能を選択するための
機能の選択肢905を、表示画面110上に追加する。
図16は、本発明であるユーザ適応型システムおよびそ
の適応方法を、動画像編集を行うユーザに適応した場合
の機能列の選択肢の説明図である。図16において、1
100〜1104は機能の選択肢をアイコンで表したも
のである。また、1110〜1114は、該当する機能
の入出力数を示したものである。例えば、機能選択肢の
1つ(1100)を選択することにより、その際に指定
された対象物を操作するための専用のウィンドウが開く
ので、次にユ−ザの指定した対象物の個数だけ、1入力
1出力の2つの機能X(1102),Y(1103)を
順次起動して、ユ−ザの指定した対象物を処理する。ま
た、ユ−ザが指定した複数の対象物を一括して機能Zで
処理する場合には、n入力n出力の機能Z(1104)
を選択・起動する。このように、短縮した機能列に対応
して追加する選択肢の形状を、既存の機能の選択肢の一
部分を利用して表示することにより、追加された選択肢
の意味合いを一見して把握可能となる。
【0025】このように、本実施例においては、(a)
トークンに、アプリケーションプログラムで現在起動し
ている機能を割り当て、プレースに、ある機能を起動し
て次の機能を起動するまでの状態を割り当て、トランジ
ションに、ユーザが指定した対象物と選択した機能との
組合せが実行可能なものかを判定するための起動条件を
割り当て、アークの方向で機能の実行順序とを、それぞ
れ重みに機能列の使用頻度を割り当てたペトリネットを
モデルとして備え、ユーザが操作中、その操作を監視し
て該当する重みを更新する。重みがあらかじめ定めてお
いた閾値を越えたとき、対象となる機能を割り当てたプ
レースをコピーして、それらに接続するアークとトラン
ジションを生成し、それらに対応する機能列の短縮す
る。これにより、システムが提供する機能を用いたユー
ザの操作系列の中から、そのユーザにとって意味をもつ
一連の機能列を抽出して、それに合った新しい短縮機能
を生成することができるので、ユーザの使い勝手を向上
することができる。また、(b)機能列を短縮した場合
に、それに対応する選択肢を既存の機能の選択肢に追加
することによって、そのユーザに特有の機能が使用可能
となるので、使い勝手を向上できる。また、(c)短縮
した操作系列に対応して追加する選択肢の形状を、既存
の機能の選択肢の一部分を利用して表示することができ
るので、追加された選択肢の意味合いを一見して把握で
きる。また、(d)同一の機能を連続して起動する場合
や、複数の機能を順次起動する場合には、これらを統一
して記述可能な枠組みを持たせるので、容易に、かつ任
意の順で機能を起動することができる。また、(e)起
動した機能とそれを作用した対象物を組み合わせた履歴
を記憶する手段を備え、前回に起動した機能と現在起動
している機能が同一で、前回作用した対象物と現在作用
している対象物の数が同一な場合と、前回に起動した機
能と現在起動している機能が異なり、前回作用した対象
物と現在作用している対象物とが前回起動した機能の入
力と出力の場合の、いずれかの場合のみ、対象となる重
みを更新するので、ユーザの操作意図が反映されている
と思われる、ある特定の機能列が行われた場合のみ、該
当する重みが更新され、よりユーザの操作意図が反映さ
れた機能列の抽出できる。その結果、ユーザは従来のよ
うにカスタマイズ作業のために多くの知識や労力を必要
としない。すなわち、ユーザがただ自分のやり易いと思
うやり方でシステムを使っていれば、自動的にそのユー
ザに適応するシステムを実現することができる。さら
に、(f)本発明では、特定領域のアプリケーションだ
けでなく、一般的な広いアプリケーション領域において
ユーザ適応可能なシステムを実現することができる。
トークンに、アプリケーションプログラムで現在起動し
ている機能を割り当て、プレースに、ある機能を起動し
て次の機能を起動するまでの状態を割り当て、トランジ
ションに、ユーザが指定した対象物と選択した機能との
組合せが実行可能なものかを判定するための起動条件を
割り当て、アークの方向で機能の実行順序とを、それぞ
れ重みに機能列の使用頻度を割り当てたペトリネットを
モデルとして備え、ユーザが操作中、その操作を監視し
て該当する重みを更新する。重みがあらかじめ定めてお
いた閾値を越えたとき、対象となる機能を割り当てたプ
レースをコピーして、それらに接続するアークとトラン
ジションを生成し、それらに対応する機能列の短縮す
る。これにより、システムが提供する機能を用いたユー
ザの操作系列の中から、そのユーザにとって意味をもつ
一連の機能列を抽出して、それに合った新しい短縮機能
を生成することができるので、ユーザの使い勝手を向上
することができる。また、(b)機能列を短縮した場合
に、それに対応する選択肢を既存の機能の選択肢に追加
することによって、そのユーザに特有の機能が使用可能
となるので、使い勝手を向上できる。また、(c)短縮
した操作系列に対応して追加する選択肢の形状を、既存
の機能の選択肢の一部分を利用して表示することができ
るので、追加された選択肢の意味合いを一見して把握で
きる。また、(d)同一の機能を連続して起動する場合
や、複数の機能を順次起動する場合には、これらを統一
して記述可能な枠組みを持たせるので、容易に、かつ任
意の順で機能を起動することができる。また、(e)起
動した機能とそれを作用した対象物を組み合わせた履歴
を記憶する手段を備え、前回に起動した機能と現在起動
している機能が同一で、前回作用した対象物と現在作用
している対象物の数が同一な場合と、前回に起動した機
能と現在起動している機能が異なり、前回作用した対象
物と現在作用している対象物とが前回起動した機能の入
力と出力の場合の、いずれかの場合のみ、対象となる重
みを更新するので、ユーザの操作意図が反映されている
と思われる、ある特定の機能列が行われた場合のみ、該
当する重みが更新され、よりユーザの操作意図が反映さ
れた機能列の抽出できる。その結果、ユーザは従来のよ
うにカスタマイズ作業のために多くの知識や労力を必要
としない。すなわち、ユーザがただ自分のやり易いと思
うやり方でシステムを使っていれば、自動的にそのユー
ザに適応するシステムを実現することができる。さら
に、(f)本発明では、特定領域のアプリケーションだ
けでなく、一般的な広いアプリケーション領域において
ユーザ適応可能なシステムを実現することができる。
【0026】
【発明の効果】以上説明したように、本発明によれば、
システム設計者が設計した操作手順とユ−ザが推定した
操作手順にギャップが存在し、ユ−ザが使い難いと感じ
ているシステムにおいても、そのシステムが提供するコ
マンド体系を用いたユ−ザの操作系列の中からそのユ−
ザにとって意味を持つ、つまり使用頻度の高い一連の機
能列を抽出し、これを短縮することができるので、ユ−
ザの使い勝手を向上させることができる。また、機能列
を短縮する場合にも、既存の機能選択肢にこれらを追加
するだけでよく、かつ選択肢の形状を既存の機能の選択
肢の一部分を利用して表示するので、ユ−ザの使い勝手
がさらに向上する。また、ユ−ザは多くの知識や労力を
必要とせず、やり易い方法でシステムを使うことができ
るので、コンピュ−タ操作技能を汎用化することができ
る。
システム設計者が設計した操作手順とユ−ザが推定した
操作手順にギャップが存在し、ユ−ザが使い難いと感じ
ているシステムにおいても、そのシステムが提供するコ
マンド体系を用いたユ−ザの操作系列の中からそのユ−
ザにとって意味を持つ、つまり使用頻度の高い一連の機
能列を抽出し、これを短縮することができるので、ユ−
ザの使い勝手を向上させることができる。また、機能列
を短縮する場合にも、既存の機能選択肢にこれらを追加
するだけでよく、かつ選択肢の形状を既存の機能の選択
肢の一部分を利用して表示するので、ユ−ザの使い勝手
がさらに向上する。また、ユ−ザは多くの知識や労力を
必要とせず、やり易い方法でシステムを使うことができ
るので、コンピュ−タ操作技能を汎用化することができ
る。
【図1】本発明の一実施例を示すユーザ適応型システム
のブロック構成図である。
のブロック構成図である。
【図2】本発明におけるユーザ適応方法を実現するため
の重み付きペトリネットの概念図である。
の重み付きペトリネットの概念図である。
【図3】アプリケ−ションプログラムの機能を制御する
ための機能制御用配列図、およびトランジションと重み
構造体の説明図である。
ための機能制御用配列図、およびトランジションと重み
構造体の説明図である。
【図4】図2における重み構造体が保持するデ−タの説
明図である。
明図である。
【図5】同じく、図2における他の重み構造体が保持す
るデ−タの説明図である。
るデ−タの説明図である。
【図6】本発明の処理手順の一実施例を示すフローチャ
ートである。
ートである。
【図7】本発明の処理手順のうち、機能および対象物の
制御処理に関するフローチャートである。
制御処理に関するフローチャートである。
【図8】図7における本発明の処理手順のうち、重みの
更新とマクロ化処理に関するフローチャートである。
更新とマクロ化処理に関するフローチャートである。
【図9】図3に示す本発明の機能制御用配列に対応した
木構造の説明図、ならびに他の機能制御用配列を示す図
である。
木構造の説明図、ならびに他の機能制御用配列を示す図
である。
【図10】図9に示す機能用制御配列に対応した木構造
の説明図である。
の説明図である。
【図11】本発明の他の機能制御用配列およびこれに対
応した木構造の説明図である。
応した木構造の説明図である。
【図12】図7における機能制御用の木構造を解釈する
ためのフローチャートである。
ためのフローチャートである。
【図13】本発明であるユーザ適応型システムおよびそ
の適応方法を、動画像編集に適用した場合の一実施例を
示す表示画面図である。
の適応方法を、動画像編集に適用した場合の一実施例を
示す表示画面図である。
【図14】本発明のユーザ適応型システムおよびその適
応方法を、動画像編集に適用した場合のユーザに適応し
た機能列の説明図である。
応方法を、動画像編集に適用した場合のユーザに適応し
た機能列の説明図である。
【図15】図14と同じく、動画像編集に適用した機能
列において、重みが閾値を越えた場合の機能列の説明図
である。
列において、重みが閾値を越えた場合の機能列の説明図
である。
【図16】本発明のユーザ適応型システムおよびその適
応方法を、動画像編集に適用した場合の一実施例におけ
る機能列の選択肢の説明図である。
応方法を、動画像編集に適用した場合の一実施例におけ
る機能列の選択肢の説明図である。
100……中央処理装置、 110……表示装置、 111〜116……対象物、 120……マウス、 130……主記憶装置、 131……アプリケーションプログラム記憶領域、 132……機能短縮プログラム記憶領域、 133……重み構造体記憶領域、 134……機能制御用配列および木構造記憶領域、 135……前トランジション、現トランジションおよび
対象物名記憶領域、 140……補助記憶装置、 141……アプリケーションプログラム格納領域、 142……機能短縮プログラム格納領域、 143……重み構造体格納領域、 150……キーボード、 160〜165……機能の選択肢、 200……トークン、 210〜214、250……プレース、 220〜227、260……トランジション、 230〜246、270〜272……アーク、 300……機能制御用配列、 301〜318……記号、 320〜328……前トランジション、 330〜338……現トランジション、 341〜357、360〜362……重み構造体、 341a、342a、343a、353a、360a、
361a、362a……使用回数、 341b、342b、343b、353b、360b、
361b、362b……使用頻度、 341c、342c、343c、353c、360c、
361c、362c……pre_func、 341d、342d、343d、353d、360d、
361d、362d……next_func、 700、751、790……ルートノード、 701、702、752〜755、791……ノード、 710〜712、761〜765、792、794……
入出力数、 720、770……機能制御用配列、 721〜750、771〜782……記号、 901〜905……機能の選択肢、 910〜915……カット、 920……シーン、 1000〜1008、1020……プレース、 1010〜1017、1030……トランジション、 1100〜1104……アイコン、 1110〜1114……入出力数。
対象物名記憶領域、 140……補助記憶装置、 141……アプリケーションプログラム格納領域、 142……機能短縮プログラム格納領域、 143……重み構造体格納領域、 150……キーボード、 160〜165……機能の選択肢、 200……トークン、 210〜214、250……プレース、 220〜227、260……トランジション、 230〜246、270〜272……アーク、 300……機能制御用配列、 301〜318……記号、 320〜328……前トランジション、 330〜338……現トランジション、 341〜357、360〜362……重み構造体、 341a、342a、343a、353a、360a、
361a、362a……使用回数、 341b、342b、343b、353b、360b、
361b、362b……使用頻度、 341c、342c、343c、353c、360c、
361c、362c……pre_func、 341d、342d、343d、353d、360d、
361d、362d……next_func、 700、751、790……ルートノード、 701、702、752〜755、791……ノード、 710〜712、761〜765、792、794……
入出力数、 720、770……機能制御用配列、 721〜750、771〜782……記号、 901〜905……機能の選択肢、 910〜915……カット、 920……シーン、 1000〜1008、1020……プレース、 1010〜1017、1030……トランジション、 1100〜1104……アイコン、 1110〜1114……入出力数。
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平2−19964(JP,A) 情報処理、25〜3!(1984−3.)P P.188−198
Claims (5)
- 【請求項1】コンピュータ上で稼働するアプリケーショ
ンプログラムの使い勝手を向上させる方法に係わり、ユ
ーザ自身が働かなくともコンピュータ自身がユーザの操
作意図を理解して使い勝手を向上させるユーザ適応方法
であって、 要素であるトークン、活動となるプレース、事象である
トランジション、要素の流れの方向であるアーク、およ
び重み構造体からなるペトリネットに対して、上記トー
クンに、アプリケーションプログラムにおいて現在起動
している機能を割り当て、上記プレースに、ある機能を
起動して次の機能を起動するまでの状態を割り当て、上
記トランジションに、ユーザが指定した対象物と選択し
た機能との組み合わせが実行可能なものか否かを判定す
るための起動条件を割り当て、上記アークの方向で機能
の実行順序を割り当て、上記重みに機能列の使用頻度を
割り当てたモデルを用い、 ユーザの操作中、ユーザの操作を監視して該当する重み
を更新した場合に、該重みがあらかじめ定めておいた閾
値を越えたときには、対象となる機能を割り当てたプレ
ースをコピーして、コピーされたプレースを接続するア
ークとトランジションを生成し、 コピーされたプレース、生成されたアーク、トランジシ
ョンに対応する機能列および操作系列を短縮した場合
に、短縮された機能列および操作系列に対応する選択肢
を既存の機能の選択肢に追加することを特徴とするユー
ザ適応方法。 - 【請求項2】請求項1に記載のユーザ適応方法におい
て、前記短縮した機能列に対応して、追加する選択肢の
形状を既存の機能の選択肢の一部分を利用して表示する
ことを特徴とするユーザ適応方法。 - 【請求項3】請求項1に記載のユーザ適応方法におい
て、前記対象となる機能のうち、同一の機能を連続して
起動する場合や、複数の機能を順次起動する場合には、
上記起動される同一または複数の機能を統一して起動可
能な枠組みを持つことを特徴とするユーザ適応方法。 - 【請求項4】請求項1に記載のユーザ適応方法におい
て、前記起動した機能と該機能を作用した対象物とを組
み合わせた履歴を記憶する手段を備え 、前回に起動した
機能と現在起動している機能が同一で、前回作用した対
象物と現在作用している対象物の数が同一な場合と、前
回に起動した機能と現在起動している機能が異なり、前
回作用した対象物と現在作用している対象物とが前回起
動した機能の入力と出力の場合の、いずれかの場合の
み、対象となる重みを更新することを特徴とするユーザ
適応方法。 - 【請求項5】指定した対象物と選択した機能との組み合
わせから構成されるユーザの操作を瞬時的な出来事と
し、該操作によってシステムの状態が変化する様子をペ
トリネットを用いて表わし、該ユーザが頻繁に用いる機
能列を抽出して該ユーザに適合するようにインタフェー
スを変化させるユーザ適応型システムであって、 各要素に操作の事象を割り当てたペトリネットを格納す
る記憶手段と、 該操作の使用頻度を重みとして上記記憶手段に格納し、
該ユーザの操作を監視して、該当する重みを更新する手
段と、 該重みがあらかじめ定めておいた閾値を越えたとき、新
たにペトリネットの要素を生成して、該要素に対応する
機能列を短縮する手段とを具備することを特徴とするユ
ーザ適応型システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5129142A JP2650101B2 (ja) | 1993-05-31 | 1993-05-31 | ユーザ適応型システムおよびその適応方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5129142A JP2650101B2 (ja) | 1993-05-31 | 1993-05-31 | ユーザ適応型システムおよびその適応方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0728634A JPH0728634A (ja) | 1995-01-31 |
JP2650101B2 true JP2650101B2 (ja) | 1997-09-03 |
Family
ID=15002166
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5129142A Expired - Fee Related JP2650101B2 (ja) | 1993-05-31 | 1993-05-31 | ユーザ適応型システムおよびその適応方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2650101B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5086723B2 (ja) * | 2007-07-30 | 2012-11-28 | 株式会社リコー | 情報処理装置、情報処理方法、情報処理プログラム、及び記憶媒体 |
KR101471714B1 (ko) * | 2012-10-12 | 2014-12-10 | 한국수력원자력 주식회사 | 상태 토큰 페트리넷 모델을 기록한 컴퓨터로 읽을 수 있는 기록매체 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0219964A (ja) * | 1988-07-08 | 1990-01-23 | Fujitsu Ltd | 状態解析処理方式 |
-
1993
- 1993-05-31 JP JP5129142A patent/JP2650101B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
情報処理、25〜3!(1984−3.)PP.188−198 |
Also Published As
Publication number | Publication date |
---|---|
JPH0728634A (ja) | 1995-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5485544A (en) | History sensitive help control method and system | |
US5999178A (en) | Selection, type matching and manipulation of resource objects by a computer program | |
US5005119A (en) | User interactive control of computer programs and corresponding versions of input/output data flow | |
US6002850A (en) | Operation sequence user adaptive system and method | |
JPH02130663A (ja) | ユーザー・インターフエース方法 | |
JPH04190421A (ja) | アプリケーション起動方法およびその装置 | |
JP3554854B2 (ja) | 業務ジョブ実行関連図表示方法 | |
JPH07160462A (ja) | 画面表示制御装置 | |
JPH0830446A (ja) | グラフィカル・ユーザ・インターフェース作成装置 | |
JP2650101B2 (ja) | ユーザ適応型システムおよびその適応方法 | |
JP2859214B2 (ja) | 簡易化機能選択メニュー方式 | |
US6606616B1 (en) | Modified action rules | |
JPH08101766A (ja) | 計算機の操作方法および操作装置 | |
JPS62197826A (ja) | システムフロ−仕様生成方式 | |
JPH0778215A (ja) | 業務プログラムの実行方法 | |
JPH05181510A (ja) | プログラマブルコントローラにおけるプログラミング装置の画面表示方法 | |
JP3901228B2 (ja) | 文書編集装置及び文書編集方法 | |
JPH0561662A (ja) | プログラム部品実行制御方法及びその装置 | |
JPH06176003A (ja) | ペトリネットに基づくシミュレーション装置 | |
JPH07200228A (ja) | メニュー表示制御方式 | |
JPH07306789A (ja) | エキスパートシステムにおける推論制御方法および装置 | |
JPH0525339B2 (ja) | ||
JPH07160704A (ja) | 文書編集装置 | |
JPH04340628A (ja) | ファジィ推論処理コンパイルシステム | |
JP2000011194A (ja) | 図形編集装置および図形編集装置の図形データ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |