<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>chibiegg日誌 &#187; MeCab</title>
	<atom:link href="http://blog.chibiegg.net/tag/mecab/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.chibiegg.net</link>
	<description>chibiegg’s Diary</description>
	<lastBuildDate>Fri, 06 Jan 2012 01:51:23 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>iTunesの曲に自動でふりがな登録</title>
		<link>http://blog.chibiegg.net/2009/06/29_20_337.htm</link>
		<comments>http://blog.chibiegg.net/2009/06/29_20_337.htm#comments</comments>
		<pubDate>Mon, 29 Jun 2009 11:54:59 +0000</pubDate>
		<dc:creator>chibiegg</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[AppleScript]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[MeCab]]></category>

		<guid isPermaLink="false">http://blog.chibiegg.net/?p=337</guid>
		<description><![CDATA[iTunesは日本語の曲名等の並び替えを正しく行うためにふりがなを登録できるようになっています。が、何千曲とあるライブラリに手作業での登録は大変です。アーティスト名ならまだしも曲名となれば大変です。 massiva/lo [...]]]></description>
			<content:encoded><![CDATA[<p>iTunesは日本語の曲名等の並び替えを正しく行うためにふりがなを登録できるようになっています。が、何千曲とあるライブラリに手作業での登録は大変です。アーティスト名ならまだしも曲名となれば大変です。</p>
<p><a href="http://massiva.exblog.jp/">massiva/logic&amp;mac tips</a>さんの<a href="http://massiva.exblog.jp/5669615">ソートiTunes!</a>という記事でAppleScriptとテキストエディタのGUIを用いてiTunesの曲のアーティスト名のふりがな(アーティストの並べ替え)フィールドを自動で埋めるというスクリプトが紹介されています。ところが、安定して動作させるには待機時間を長くしないといけないのでちょっと遅いのです、これは漢字からひらがな変換にGUIを使っているからなのですが。具体的にはMac全体の処理速度が一瞬低下した場合ふりがなへの変換が終わる前に次の曲に進んでしまったりします。</p>
<p>そこで、オープンソースの形態素解析エンジンMeCabを利用してふりがなを生成する方法に改造することによって高速かつ安定した動作を実現しました。が、人名はことえりのほうが正確かも&#8230;</p>
<p>MeCabは前回の記事でインストール済みということで。</p>
<p>スクリプトエディタに以下のスクリプトを入力し、iTunesでふりがなを補完したい曲を選択した状態でスクリプトを実行するとふりがながまだ設定されていない曲のアーティスト名、曲名、アルバム名のふりがなが登録されていきます。</p>
<h4>スクリプト</h4>
<p>[code lang="python"]<br />
--確認ダイアログ<br />
display dialog &quot;ふりがなをふっていいですか&quot; buttons {&quot;NO&quot;, &quot;OK&quot;} default button 2<br />
set button_a to button returned of result<br />
if button_a = &quot;OK&quot; then</p>
<p>	--iTunesのスクリプト<br />
	tell application &quot;iTunes&quot;<br />
		try<br />
			set name_list to {}<br />
			set select_track to a reference to selection<br />
			if select_track as list is {} then return<br />
			repeat with i in select_track<br />
				set end of name_list to i<br />
			end repeat<br />
			repeat with i in name_list<br />
				--アーティスト<br />
				set hurigana_text to sort artist of i<br />
				if hurigana_text is &quot;&quot; then<br />
					set original_text to artist of i<br />
					set hurigana_text to my hurigana(original_text)<br />
					set sort artist of i to hurigana_text<br />
				end if</p>
<p>				--アルバム名<br />
				set hurigana_text to sort album of i<br />
				if hurigana_text is &quot;&quot; then<br />
					set original_text to album of i<br />
					set hurigana_text to my hurigana(original_text)<br />
					set sort album of i to hurigana_text<br />
				end if</p>
<p>				--曲名<br />
				set hurigana_text to sort name of i<br />
				if hurigana_text is &quot;&quot; then<br />
					set original_text to name of i<br />
					set hurigana_text to my hurigana(original_text)<br />
					set sort name of i to hurigana_text<br />
				end if</p>
<p>			end repeat<br />
			display dialog &quot;完了&quot;<br />
		on error<br />
			display dialog &quot;エラー発生&quot; buttons {&quot;OK&quot;} default button 1<br />
		end try<br />
	end tell</p>
<p>end if</p>
<p>on hurigana(original_text)<br />
	set mecab to &quot;echo &quot; &amp; quoted form of original_text &amp; &quot; | /usr/local/bin/mecab -Oyomi &quot;<br />
	mecab as text<br />
	do shell script mecab<br />
	return katahira(result)<br />
end hurigana</p>
<p>on katahira(original_text)<br />
	set hiracase to &quot;あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをんぁぃぅぇぉがぎぐげござじずぜぞだぢづでどっぱぴぷぺぽばびぶべぼゃゅょ&quot;<br />
	set katacase to &quot;アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲンァィゥェォガギグゲゴザジズゼゾダヂヅデドッパピプペポバビブベボャュョ&quot;</p>
<p>	set hiragana_text to characters of original_text<br />
	repeat with char in hiragana_text<br />
		set num to offset of char in katacase<br />
		if num is not 0 then<br />
			set contents of char to character num of hiracase<br />
		end if<br />
	end repeat</p>
<p>	return hiragana_text as text<br />
end katahira<br />
[/code]</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chibiegg.net/2009/06/29_20_337.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mac OSX LeopardにMeCabをインストール</title>
		<link>http://blog.chibiegg.net/2009/06/28_23_340.htm</link>
		<comments>http://blog.chibiegg.net/2009/06/28_23_340.htm#comments</comments>
		<pubDate>Sun, 28 Jun 2009 14:42:35 +0000</pubDate>
		<dc:creator>chibiegg</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Leopard]]></category>
		<category><![CDATA[MeCab]]></category>

		<guid isPermaLink="false">http://blog.chibiegg.net/?p=340</guid>
		<description><![CDATA[MeCab(和布蕪)とは 公式ページのお言葉を借りると。 MeCabは 京都大学情報学研究科−日本電信電話株式会社コミュニケーション科学基礎研究所 共同研究ユニットプロジェクトを通じて開発されたオープンソース 形態素解析 [...]]]></description>
			<content:encoded><![CDATA[<h4>MeCab(和布蕪)とは</h4>
<p>公式ページのお言葉を借りると。</p>
<blockquote><p>MeCabは<a href="http://pine.kuee.kyoto-u.ac.jp/KU-NTT-WS-2005/"> 京都大学情報学研究科−日本電信電話株式会社コミュニケーション科学基礎研究所 共同研究ユニットプロジェクト</a>を通じて開発されたオープンソース 形態素解析エンジンです. 言語, 辞書,コーパスに依存しない汎用的な設計を 基本方針としています. パラメータの推定に Conditional Random Fields (<a href="http://www.cis.upenn.edu/~pereira/papers/crf.pdf">CRF</a>) を用 いており, <a href="http://chasen.naist.jp/">ChaSen</a>が採用している 隠れマルコフモデルに比べ性能が向上しています。また、平均的に <a href="http://chasen.naist.jp/">ChaSen</a>, <a href="http://www.kc.t.u-tokyo.ac.jp/nl-resource/juman.html">Juman</a>, <a href="http://kakasi.namazu.org/">KAKASI</a>より高速に動作します. ちなみに和布蕪(めかぶ)は, 作者の好物です.</p></blockquote>
<p>です。はい。今回は自動でiTunesのふりがなを補完したいためにインストールしました。</p>
<h4>MeCab本体のインストール</h4>
<p>公式サイトからソースをダウンロードしてきます。今回は「mecab-0.98pre3.tar.gz」を利用しました。</p>
<p>解凍したらターミナルを起動し、cdコマンドで解凍したフォルダに移動します。</p>
<p>で、あとは普通にconfigure、make、そしてsudo make install。</p>
<p><code><br />
$ cd ~/Download/mecab-0.98pre3<br />
$ ./configure<br />
$ make<br />
$ sudo make install<br />
</code></p>
<p>そうすると、mecabというコマンドが使えるようになるはずです。まだ辞書が登録されていないので形態素解析はできませんが、バージョンを確認してみましょう。</p>
<p><code><br />
$ mecab --version<br />
mecab of 0.98pre3<br />
</code></p>
<p>正しくインストールできてそうです。</p>
<h4>辞書のインストール</h4>
<p>次に辞書をインストールします。公式サイトで推奨とされているIPA 辞書をインストールしてみます。「mecab-ipadic-2.7.0-20070801.tar.gz」を今回は利用しました。本体と同じく解凍してターミナルからcdコマンドで解凍したディレクトリに移動します。<br />
本体と同じくconfigure、makeなのですが、文字コードをUTF8にしたいのでconfigureにオプションを付けます。installはいりません。</p>
<p><code><br />
$ ./configure --with-charset=utf8<br />
$ make<br />
</code></p>
<h4>試してみる</h4>
<p>インストールできたので形態素解析を試してみます。</p>
<h5>形態素解析</h5>
<p><code>$ mecab<br />
すもももももももものうち　　　　//解析したい文を入力してEnter<br />
すもも	名詞,一般,*,*,*,*,すもも,スモモ,スモモ<br />
も	助詞,係助詞,*,*,*,*,も,モ,モ<br />
もも	名詞,一般,*,*,*,*,もも,モモ,モモ<br />
も	助詞,係助詞,*,*,*,*,も,モ,モ<br />
もも	名詞,一般,*,*,*,*,もも,モモ,モモ<br />
の	助詞,連体化,*,*,*,*,の,ノ,ノ<br />
うち	名詞,非自立,副詞可能,*,*,*,うち,ウチ,ウチ<br />
EOS</code></p>
<h5>よみがな</h5>
<p><code>$mecab  -Oyomi<br />
日本語は難しい。　　　　//解析したい文を入力してEnter<br />
ニホンゴハムズカシイ。</code></p>
<p>できてます。</p>
<p>コマンドラインで一気に解析する場合は例えば次のようにすればできます。シェルスクリプト等で結果を利用するのに便利かも。</p>
<p><code>$ echo "引数で文は渡せないのでパイプで渡す" | mecab  -Oyomi</code></p>
<p>MeCabの利用法等は他のサイト等でいろいろ紹介されていますのでそちらを参考にしてください。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.chibiegg.net/2009/06/28_23_340.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  blog.chibiegg.net/tag/mecab/feed ) in 0.24346 seconds, on Feb 7th, 2012 at 12:17 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 7th, 2012 at 1:17 pm UTC -->
