[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[mhc:01868] Re: guess location.



白井@quickhackers です。

From: Kazuo Otake <otakem@xxxxxxxxxxxxxxxxx> さん曰く
Subject: [mhc:01867] Re: guess location.
Message-ID: <20031030.162323.78214654.otakem@xxxxxxxxxxxxxxxxx>
Date: Thu, 30 Oct 2003 16:23:23 +0900 (JST)

> locationのguessはたいへん欲しかった機能なのでとても期待しています。
> 次のような機能を入れていただけるとたいへん実用性が上がると思うので
> ぜひ、ご検討お願いします。

場所の guess は確かにとても便利です。乃村さんありがとうございます。

> ・会議のスケジュールなどを入れる場合、「場所」に関しては、
>   それほど多くない会議室のどれかである場合がほとんど
> 
> ・したがって、特定の変数に場所の候補を設定できるようにして、guessの際に
>   それにもマッチするようにするとguessの精度が格段に上がるはず

現状でも mhc-guess-location-regexp-list に正規表現とその取り扱
い方法を書けば似たようなことができます。

ちなみにぼくはこうしています。

  (setq mhc-guess-location-regexp-list
	`(("[\t>::  ]\\([^\t\n  ]+\\(応接室?\\|会議室?\\|コーナ\\|ロビー\\)[^\t\n。、  ]*\\)"
	   mhc-guess/make-location-from-string 1)
	  ("[\t>::  ]\\([A-Da-dA-Da-d][-−1-91-9]+[A-Da-dA-Da-d]?\\)"
	   mhc-guess/make-location-from-string 1)
	  ("場所[  ]*[::][\n  ]*\\([^\n  ]+\\)"
	   mhc-guess/make-location-from-string 1)
	  ("於[  ]*\\([^\n  ]+\\)"
	   mhc-guess/make-location-from-string 1)
	  ("[@@][  ]*\\([^\n  .。]+\\)[  \n]"
	   mhc-guess/make-location-from-string 1)))

これで、
「第2応接」「第一応接室」「202会議室」「A401」「D2−2B」
などをひっかけるようにしています。ぼくの場合は、このように表記が
ゆれるメールが多いので正規表現の方がやりやすかったです。

最後の[@@]は、自分でこのメールの先頭の様に

白井@(会社名|所属名)です。

って書く習慣があるから、それを避けるためにちょっと変えました。

で、話は戻って、

> 特定の変数に場所の候補を設定できるようにして

だと、例えば

(setq mhc-guess-location-list '("東京ドーム"
				"江戸川河川敷"
				"荒川河川敷"
				"ホームグランド"))

(defun mhc-guess-location-setup ()
  (when mhc-guess-location-list
    (let ((regex (regexp-opt mhc-guess-location-list)))
      (unless (assoc regex mhc-guess-location-regexp-list)
	(setq mhc-guess-location-regexp-list
	      (cons `(,regex mhc-guess/make-location-from-string 0)
		    mhc-guess-location-regexp-list))))))

(add-hook 'mhc-setup-hook 'mhc-guess-location-setup)

なことを仕込めばよいと。

# 異論が無ければ(そのうち ^^;;;)やっておきます。

-- 
白井秀行 (mailto:shirai@xxxxxxxxxxxxx)