たつをの ChangeLog : 2008-10-11

久しぶりに足つる。
明け方、寝てるときに右足のふくらはぎをつりました。

足つった

「足つる番組」[2008-05-03-1]の情報によると、
たぶん寝る前に水分あまりとらなかったからっぽいな。
あと最近、
寝る前にストレッチしてふくらはぎやももを伸ばしてるんだけど、
それでもつるときはつる、ということが分かりました。

Yahoo!デベロッパーネットワークで、ちょっと前に「ルビ振りAPI」が公開されました。

Yahoo!デベロッパーネットワーク - テキスト解析 - ルビ振り
http://developer.yahoo.co.jp/jlp/FuriganaService/V1/furigana.html
ルビ振りWebサービス
漢字かな交じり文に、ひらがなとローマ字のふりがな(ルビ)を付けます。

この記事では、その特徴と簡単なサンプルプログラムを紹介します。

特徴


ふりがなを付けるだけなら形態素解析API[2008-04-05-5]
を使ってもよいのですが、このルビ振りAPIは
対象とする漢字グループを選択できるところがポイントです。
例えば、小学N年生向けを選択すると(N-1)年生までに習う
漢字にはふりがなが付かなくなります。

対象グループは、パラメータ grade で指定します。
grade=1小学1年生向け。全漢字にふりがな。
grade=2小学2年生向け。
grade=3小学3年生向け。
grade=4小学4年生向け。
grade=5小学5年生向け。
grade=6小学6年生向け。
grade=7中学生以上向け。
grade=8一般向け。常用漢字はふりがな無し。

例えば、「拉致被害者を救済する」という文を
小学1年生向け(grade=1)で処理すると
全てにふりがなが付きますが、
一般向け(grade=8)で処理すると
「拉致」のみにふりがなが付きます。

サンプル


Perl で簡単なサンプル CGI を作りました。
フォームを仮設置したので、
適当な日本語文を入れてお試しください。

- ルビ振りデモ
http://yapi.ta2o.net/demos/yyomi.cgi

以下、CGI のソースコードです。

■コード:
#!/usr/bin/perl -T
use strict;
use warnings;
use CGI;
use LWP::Simple;
use XML::Simple;
use HTML::Template;
use URI::Escape;
use Encode;
use utf8;
binmode STDOUT, ":utf8";

my $appid = "YahooDemo";

my $q = new CGI;
my $sentence = $q->param('sentence') || "";
my $grade = $q->param('grade') || 1;

my $r_ref = yapi({sentence => $sentence, grade => $grade});

my $template = join("", <DATA>);
my $t = HTML::Template->new(scalarref => \$template,
			    global_vars => 1,
                            die_on_bad_params => 0);
$t->param(sentence => decode('utf-8', $sentence));
$t->param(grade => $grade);
$t->param(results => $r_ref);

print $q->header(-charset => 'UTF-8'), $t->output();

sub yapi {
    my ($args_ref) = @_;
    my $s = URI::Escape::uri_escape($args_ref->{sentence}) || "";
    my $g = $args_ref->{grade} || 1;
    return [] unless $s;
    my $url = "http://jlp.yahooapis.jp/FuriganaService/V1/furigana?"
	."appid=$appid&grade=$g&sentence=$s";
    my $response = get($url);
    return [] unless $response;
    my $xmlsimple = XML::Simple->new(ForceArray => [ 'Word' ]);
    my $xml = $xmlsimple->XMLin($response);
    return [] unless $xml->{Result};
    return $xml->{Result}->{WordList}->{Word};
}

__DATA__
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ルビ振りデモ</title>
</head>
<body>
<h1>ルビ振りデモ</h1>
<form>
<input type="input" name="sentence" size="60" value="<TMPL_VAR name=sentence>">
<input type="input" name="grade" size="1" value="<TMPL_VAR name=grade>">
<input type="submit">
</form>
<TMPL_LOOP name=results><TMPL_VAR name=Surface><TMPL_IF 
name=Furigana>(<TMPL_VAR name=Furigana>, 
<TMPL_VAR name=Roman>)</TMPL_IF></TMPL_LOOP>
<hr>
<a href="http://developer.yahoo.co.jp/about">Webサービス by Yahoo! JAPAN</a>
</body>
</html>
$appid は自分で取得したものを使ってくださいね。
(http://e.developer.yahoo.co.jp/webservices/register_application)

なお、入力文に半角スペースが入っていると、
表示が変になりますがサンプルなので気にせずにー!

おわりに


今回は、
Yahoo!デベロッパーネットワーク (YDN) から出ている
自然言語処理系(テキスト解析系)APIの一つである
ルビ振りAPIを紹介しました。

テキスト解析シリーズの他のAPIの解説記事は下記になります:

- 日本語形態素解析
-- [を] Yahoo!デベロッパーネットワークにテキスト解析APIが登場!
  [2007-06-18-1]
-- [を] Yahoo!日本語形態素解析APIをコマンドラインから使う
  サンプルプログラム[2008-04-05-5]

- 日本語係り受け解析
-- [を] ヤフーの日本語係り受け解析APIとサンプルプログラム
  「なんちゃって文章要約」[2008-08-21-1]

- かな漢字変換、構成支援
-- [を] Yahoo! API の「校正支援」と「かな漢字変換」の
  サンプルプログラムを作ったよ[2008-07-11-1]

先々週くらいのことですが、うちの郵便受けに年賀はがきの案内と申込書が入っていました。
もう年賀状について考え始めるの時期なのですねえ。
まあ、ここ十数年くらい年賀状は出さないことにしているので、あまり関係はないのですが、それでも季節を感じる風物詩であることには変わりはありません。

Mac OS X で iTunes などのデスクトップから流れる音と、内蔵マイク経由の声をきれいにミックスして、Ustream で配信する方法のメモ(図入り)。
デスクトップの音だけ配信する方法もこれ系で。

必要なソフト


Soundflower と LadioCast。

入手先は下記。
- Soundflower
http://www.cycling74.com/products/soundflower
- LadioCast
http://blog.kawauso.com/kawauso/2007/07/053_ladiocast17.html
(追記:最新情報はこちらから>http://blog.kawauso.com/kawauso/macladiocast/

作業手順


(1) Soundflower をインストール(インストーラあり)
(2) Mac を再起動
(3) LadioCast をインストール(アプリフォルダにポイッと)
(4) システム環境設定→サウンド→出力→Soundflower (2ch)
(5) LadioCast→入力1→Soundflower (2ch)+ボリュームアップ
(6) LadioCast→入力2→内蔵マイク+ボリュームアップ
(7) イヤホンをつなげる(ハウリング防止)
(8) LadioCast→出力→Soundflower (16ch)+ボリュームアップ
(9) LadioCast→スルーにチェック→入力:Soundflower (16ch)+出力:内蔵出力
(10) Ustream.TV Broadcast Console→Audio Source→Soundflower (16ch)
(11) Ustream.TV Broadcast Console→START BROADCAST
(12) iTunes を立ち上げ適当な音を流し、同時に内蔵マイクで適当に声を流す
(13) 別なマシンで Ustream 配信を確認

Mac + iTunes + microphone + Ustream


参考リンク

- カメラ無し Mac で ustream - 3
http://d.hatena.ne.jp/dnsystem/20070804/1186162716
- かわうそのブログ: StickamやuStream.tvにLadioCastを使う
http://blog.kawauso.com/kawauso/2007/08/stickamustreamtvladiocast_ladi.html
- MacでiTunesの曲やSkype会話をUstream配信する方法
http://ustream.g.hatena.ne.jp/otsune/20070724/1185235197

注意事項

この記事では、iTunes の音を Ustream.tv へ配信する手順を紹介していますが、著作権違反の助長を目的とするものではありません。

たつをの ChangeLog
Powered by chalow