[mecab-users 316] Re: UTF-8 辞書を使った場合の読み仮名

Back to archive index

Taku Kudo taku****@chase*****
2007年 12月 9日 (日) 15:33:05 JST


On 12/9/07, TSUCHIYA Masatoshi <tsuch****@imc*****> wrote:
> >> On Sun, 9 Dec 2007 13:26:00 +0900
> >> taku****@chase***** ("Taku Kudo") said as follows:
>
> >コストが全く同一の場合、どの読みが使われるかは不定です。
>
> >表層が同一の場合、std::sort は、クイックソートつまり、安定でないソートな
> >ので、エントリの順番は不定になってしまいます。
>
> なるほど了解です.
>
> ということは,std::sort の代わりに std::stable_sort を使えば良いのかなと
> 試してみたのですが,相変わらず入れ替わってしまいます.

すいません。情報が不正確でした。
vector<string, Token* > dic;
sort(dic.begin(), dic.end());

としたとき、dic をソートすると、pair ::first
が比較につかわれ、同一の場合は、pair::secondが使われます。

Token * なので、ポインタの値で比較することになります。
こればっかりはいかんともしがたいです。

まじめに修正するには、partial_sort にして、比較用のファンクタを
定義しなければなりません。

くどう


>
> 深追いするほどでもないとは思うのですが,一応気になったので,報告まで.
>
> --
> 土屋 雅稔 ( TSUCHIYA Masatoshi )
>
> _______________________________________________
> mecab-users mailing list
> mecab****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/mecab-users
>
>
>




mecab-users メーリングリストの案内
Back to archive index