Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Tomoko Uchida
    @mocobeta
    テスト
    Tomoko Uchida
    @mocobeta
    Gitter 立ててみた。質問,要望,お気軽にどうぞ〜
    Greninja0212
    @Greninja0212

    はじめまして.
    NEologd辞書をjanomeに導入したいのですが,うまく導入できません.
    環境はwindows10 です.
    bash on windows や cygwin などで試してみていますが,以下のようなエラーが出て止まってしまいます.
    また,bash on windowsでは pythonコマンドが使えないため,build.shpythonコマンド部をpython3に書き換えて実行しています.

    解決方法を教えていただけると幸いです.

    $ ./build.sh \
    > ../../mecab-ipadic-neologd/build/mecab-ipadic-2.7.0-20070801-neologd-20181126/ \
    > utf8
    Traceback (most recent call last):
      File "build.py", line 231, in <module>
        collect(dicdir, enc, outdir, workdir)
      File "build.py", line 50, in collect
        for line in f:
      File "C:\Users\USERNAME\AppData\Local\Programs\Python\Python36-32\lib\codecs.py", line 321, in decode
        (result, consumed) = self._buffer_decode(data, self.errors, final)
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa4 in position 0: invalid start byte
    INFO:root:worker processes: 2
    INFO:root:elapsed=0sec
    Traceback (most recent call last):
      File "build.py", line 236, in <module>
        build_unknown_dict(dicdir, enc, outdir)
      File "build.py", line 142, in build_unknown_dict
        for line in f:
      File "C:\Users\USERNAME\AppData\Local\Programs\Python\Python36-32\lib\codecs.py", line 321, in decode
        (result, consumed) = self._buffer_decode(data, self.errors, final)
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xa1 in position 1752: invalid start byte
      adding: sysdic/ (436 bytes security) (stored 0%)
      adding: sysdic/connections1.py (276 bytes security) (deflated 78%)
      adding: sysdic/connections2.py (276 bytes security) (deflated 80%)
      adding: sysdic/__init__.py (276 bytes security) (deflated 78%)
    Build done.
    Tomoko Uchida
    @mocobeta
    こんにちは。
    windows 環境でビルドできるか確認したことがなく(というよりは,windows環境で動作することを考慮したビルドスクリプトになっていません),対応は難しいかもしれません。
    辞書が最新ではないですが,ビルド済みのパッケージをインストールできないでしょうか?
    https://drive.google.com/drive/u/1/folders/0BynvpNc_r0kSd2NOLU01TG5MWnc
    sld-cap
    @sld-cap
    初めまして。janomeによるneologdビルド方法を公開して下さり有難うございます!
    試しにビルドして、実行例をそのまま試して見たのですが、上手く分かち書きされませんでした。
    渋谷 名詞,固有名詞,地域,一般,,,渋谷,シブヤ,シブヤ
    ヒカリエ 名詞,一般,,,,,ヒカリエ,,
    は 助詞,係助詞,,,,,は,ハ,ワ
    、 記号,読点,,,,,、,、,、
    東京 名詞,固有名詞,地域,一般,,,東京,トウキョウ,トーキョー
    都 名詞,接尾,地域,,,,都,ト,ト
    渋谷 名詞,固有名詞,地域,一般,
    ,,渋谷,シブヤ,シブヤ
    区 名詞,接尾,地域,
    ,,,区,ク,ク
    の 助詞,連体化,,,,,の,ノ,ノ
    上記のような感じです。掲載された手順の中で、唯一実行していない
    neologdのバージョンを修正してsetup.pyを実行するという手順を行なっていないのですがそれが原因でしょうか?
    Tomoko Uchida
    @mocobeta
    @sld-cap
    すみません。通知がなく気づくのが遅くなりました。
    github のリポジトリに同梱している ipadic 辞書を使ってビルドされてしまっているように見えます。ビルドした janome のサイズが,小さくないでしょうか?(neologd を内包すると 200MB くらいになるはずです)
    MATSUDA, Kouichi
    @KouichiMatsuda
    初めまして。token filterで遊んでいるのですが、これって結果はyieldしないといけないものなのでしょうか?
    すいません。Enterしちゃいましたorz。def apply(self, tokens)でtokensが渡ってくるので、まとめて処理したものを次のフィルタに渡せないかと思ったのが発端です。
    Tomoko Uchida
    @mocobeta
    @KouichiMatsuda
    こんにちは。
    まとめて処理,というのがいまいちわかっていないのですが,generator で 1 token ずつ返すのではなく最後にリストを返す,ということでしょうか?
    (こんなふうに呼び出したい,というのがあればコードのイメージを書いていただけるといいかもしれません。)
    MATSUDA, Kouichi
    @KouichiMatsuda
    ありがとうございます。言葉たりなくってすいません。そうです。1つずつ返すのではなく、処理して、最後にリストで返すということです。
    Tomoko Uchida
    @mocobeta
    tokenfilter が yield して generator を返すようにしているのは,大きな入力文字列が与えられた時に,メモリリークを避けるためです(リストにするためには,最後に結果を返すまで処理済みの全 token をメモリ上に載せておかないといけない)。
    もし後続のフィルタで,次のトークンを使いたい場合は,後続のフィルターの apply() の中で for ループを回すことで対応できると思いますが,その方向で実装できないでしょうか?
    たとえば組み込みの TokenCountFilter がそういう実装になっているのでご参考になれば
    https://github.com/mocobeta/janome/blob/master/janome/tokenfilter.py#L181
    MATSUDA, Kouichi
    @KouichiMatsuda
    ありがとうございます。TokenCountFilterまで読んでから質問すればよかったですね。すいません m(__)m
    Tomoko Uchida
    @mocobeta
    いえいえ,質問はお気軽にどうぞ!
    onishik
    @onishik88
    READMEの件、ありがとうございました。(逆にお手間をかけさせてしまって、すみませんでした)
    お仕事でjanomeを使わせていただいてまして、自前で実装したCharFilter/TokenFilterを試しにjanome側に実装・テストしようとしたときに、躓きましたのでPRをお送りした次第です。
    Tomoko Uchida
    @mocobeta
    こちらこそ,気づいていなかったのでありがとうございました!
    onishik
    @onishik88
    ちなみに、setで指定したストップワードを弾くTokenFilterなどを実装してました。
    dejideji99
    @dejideji99_twitter
    初めまして、松戸市在住のでじといいます。janomeを使わせてもらっています、ありがとうございます。 やってくる  動詞、自立
    やっ     動詞、自立
    て      助詞、接続助詞
    みる     動詞、非自立
    「やってくる」も「やってみる」と同じになるといいのですが。
    Tomoko Uchida
    @mocobeta
    @dejideji99_twitter
    こんにちは,なるほどそうなるんですね。
    分割ポイントは,janome の内部で持っている辞書(mecab-ipadic)に依存していて,janome 側で対応するのは難しそうです。(MeCab でも同じ結果になりました。)
    どうしても必要な場合,ちょっと無理矢理ですが,ユーザー辞書で対応できるかなと思います。
    dejideji99
    @dejideji99_twitter
    さっそくご回答ありがとうありがとうございます。私もユーザー辞書で解決しました。今、文節分かち書きプログラムを作っています。ありがとうございました。