質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JUnit

JUnitは、Javaで開発されたプログラムのユニットテストを行うためのアプリケーションフレームワークです。簡単にプログラムのユニットテストを自動化することができ、結果もわかりやすく表示されるため効率的に開発時間を短縮できます。

UTF-8

UTF-8は8ビット符号単位の文字符号化形式及び文字符号化スキームです。データ交換方式、ファイル形式としては、一般的にUTF-8が使われる傾向があります。

テスト駆動開発

テスト駆動開発は、 プログラム開発手法の一種で、 プログラムに必要な各機能をテストとして書き、 そのテストが動作する必要最低限な実装を行い コードを洗練させる、といったサイクルを繰り返す手法の事です。

自然言語処理

自然言語処理は、日常的に使用される自然言語をコンピューターに処理させる技術やソフトウェアの総称です。

Circle CI

Circle CIは、クラウド上に簡単にCI環境を構築できるWebサービスです。GitHubと連携させ、CIしたいリポジトリーを選択しビルド・テストを行います。チャット等を利用して結果を確認することが可能です。

Q&A

1回答

2261閲覧

Circle CIでJumanで文字化け

yu1ro

総合スコア65

JUnit

JUnitは、Javaで開発されたプログラムのユニットテストを行うためのアプリケーションフレームワークです。簡単にプログラムのユニットテストを自動化することができ、結果もわかりやすく表示されるため効率的に開発時間を短縮できます。

UTF-8

UTF-8は8ビット符号単位の文字符号化形式及び文字符号化スキームです。データ交換方式、ファイル形式としては、一般的にUTF-8が使われる傾向があります。

テスト駆動開発

テスト駆動開発は、 プログラム開発手法の一種で、 プログラムに必要な各機能をテストとして書き、 そのテストが動作する必要最低限な実装を行い コードを洗練させる、といったサイクルを繰り返す手法の事です。

自然言語処理

自然言語処理は、日常的に使用される自然言語をコンピューターに処理させる技術やソフトウェアの総称です。

Circle CI

Circle CIは、クラウド上に簡単にCI環境を構築できるWebサービスです。GitHubと連携させ、CIしたいリポジトリーを選択しビルド・テストを行います。チャット等を利用して結果を確認することが可能です。

0グッド

0クリップ

投稿2015/11/12 12:56

##実現したいこと
JavaのCIをCircle CIで行おうとしております。
形態素解析器のJumanを使うので、そこをテストしたいと考えております。
出来ることならjavaのコードは変えずにテストを通したいです。

##現状
###circle.yml

yml

1machine: 2 environment: 3 LANG: ja_JP.UTF-8 4 java: 5 version: oraclejdk8 6dependencies: 7 pre: 8 - sudo apt-get update; sudo apt-get install juman

###文字化けはこんな感じ

org.junit.ComparisonFailure: expected:<0, '[話', '名詞]'> but was:<0, '[�', '̤�����]'>

###sshデバッグ
sshで接続してjumanを使ってみるとこんな感じです。

まずはターミナルの文字コードをUTF-8にすると

$ juman あああ �� �� �� ̤������ 15 ����¾ 1 * 0 * 0 NIL �あ �あ �あ ̤������ 15 ����¾ 1 * 0 * 0 NIL �� �� �� ̤������ 15 ����¾ 1 * 0 * 0 NIL � � � ̤������ 15 ����¾ 1 * 0 * 0 NIL EOS

ターミナルの文字コードをEUC-JPにすると

$ juman あああ ああ ああ ああ 指示詞 7 副詞形態指示詞 3 * 0 * 0 NIL あ あ あ 未定義語 15 その他 1 * 0 * 0 NIL EOS

でうまくいきます。

よろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

解決には至っていませんが、
形態素解析は自分も興味があったのでいろいろ試してみた結果を報告します。
少しでも御参考になれば幸いです。

質問された内容ですが、
juman ではなくmecab ですが、こちらで報告されている現象に似ていますね。

参照:Cloud9環境にmecabをインストール、文字化けした時の対処法。

私の環境では UTF-8 の端末で juman をその方法でインストールすると

$ sudo apt-get install juman ... 中略 ... $ juman あああ あ あ あ 感動詞 12 * 0 * 0 * 0 "代表表記:あ/あ" ああ ああ ああ 指示詞 7 副詞形態指示詞 3 * 0 * 0 NIL EOS

と、正常に動いてしまいます。

mecab に関しては、引用したサイトにあるような文字化けが起きました。

$ sudo apt-get install juman ... 中略 ... $ mecab あああ あああ �ü�,����,*,*,*,*,* EOS

表示される「�」ですが、EUCコードをUTF-8 の端末で表示した場合にでてきます。

$ echo あああ | nkf -euc ������

以上から推察するに、juman のUTF-8ではない辞書(おそらく EUC)が使われているのではないでしょうか。
こちらの環境で現象を再現できないので確たることは言えませんが、
なんらかの理由でお使いの環境では apt-get install juman で
EUCコードの辞書がインストールされてしまうか、
あるいはすでに EUCコードの辞書がインストールされていて、
apt-get により更新されないのかもしれません。

投稿2016/01/11 19:11

kozuchi

総合スコア1193

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yu1ro

2016/01/19 04:00

ご回答ありがとうございます! 大変遅くなって申し訳ございません。 大変わかりやすい解説ありがとうございます。 辞書の方を疑っていませんでした。 調査してみたいと思います
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問