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

[openoffice:11929] Re: ふりがな関 数エクステンションのWindows Vistaお よびWIndows 7での動作確認のお願 い



curvirgoです。

(2010年03月25日 03:16), たぼたぼ wrote:
> Win 7 Ultimate 64bit OOo3.2.0 環境下で結果を表から貼りつけますと
> 
> ミノオ	minoo	’=J2HEPBURN(A2)
> オオイタ	ooita	’=J2HEPBURN(A3)
> オオサカ	osaka	’=J2HEPBURN(A4)
> トウキョウ	toukyou	’=J2HEPBURN(A5)
> トウキョウ	toukyou	’=HEPBURN(A6)
> オオサカ	oosaka	’=HEPBURN(A7)
> オオイタ	ooita	’=HEPBURN(A8)
> ミノオ	minoo	’=HEPBURN(A9)
> 注:アポストロフィー はC列を文字列化するため
> 
> J2HEPBURN の場合は 大阪 はOKなのに 大分 はダメ、何故に?
> 箕面はともかく東京はダメみたいですね。そういえば、前バージョンだと東京は
> 良くて大阪がダメだったような。と、思っていたら・・・
> 
> なんと!漢字にしてみると何故かうまくいきます!
> 東京と入力すると tokyo 大分 なら oita などになるのですね。どうも漢字
> から読みを引っ張ってきているようで、漢字を貼りつけても変換してくれます。
> ただ「々」はそのままなどがあったりしますけど・・・
> でも「箕面」を minoo にしてくれるとは・・・
「箕面」がミノオになりました?
辞書の違いかもしれません、私の開発環境はLinuxベースで必要な時のみWindowsでコンパイルしています。
0.1の辞書はLinuxには(そのままではインストール出来ないので)作成中の0.2をインストールして検証しています。
0.1で使用している辞書は「0.6.0-2009-0616pre3」、0.2で使用している辞書は「0.6.2-20100208」なのです。
そして、どちらの辞書もそうですが「オオサカ」は辞書に登録されていました。
「トウキョウ」は登録されていませんでした。

内部的な処理は次のように行っております。

J2HEPBURN関数の場合、
  対象文字列から「発音」を取得(全角カタカナ) → その値を引数としてHEPBURN関数を呼び出しヘボン式ローマ字に変換
    「読み」はMeCabの場合どちらかというとふりがなに近く、ふりがな関数でも「読み」をふりがなとして利用しています。
    「発音」はその読みの長音の箇所を「ー」で置き換えたような内容となっています。
    その為、この「発音」を利用すると長音の判別をコードで記述しなくて済むということです。
    また、辞書に登録されていない限りは、カタカナ文字列を形態素解析することは不可能なので正しい結果を取得出来ません。

HEPBURN関数の場合、
  対象文字列の全角カタカナのみをヘボン式ローマ字に変換
    上記に対応する為、長音の判別を廃止したので長音であっても正しく変換されません。

> 不正解例のいくつか
> 本匠宇津々	honjoutsu々 →正解はhonjoutsutsu
> 豊田市	toyodashi →正解は toyotashi
> 江南市	enashi →正解は konanshi
> 小牧市	omakishi →正解は komakishi
このあたりは辞書をカスタマイズすることで対応可能です。
まずは、辞書に登録されているか、次に一般名詞にコスト値の低い上記の読みである単語が登録されているかなどを確認し、
そこを修正していくという手順です。
出来れば住所は正しい綴りを返してほしいと思うので、(私信でもよいので)不正解のリストを頂ければ検討してみたいと思います。


MLホームページ: http://www.freeml.com/openoffice

----------------------------------------------------------------------
お花見や旅行♪MLメンバーと撮った写真はみんなで楽しもう!
http://ad.freeml.com/cgi-bin/sa.cgi?id=fjxeN
-----------------------------------------------------[freeml by GMO]--