Hatena::ブログ(Diary)

MediaLab Love このページをアンテナに追加 RSSフィード

02/29(Wed), 2012

02/16(Thu), 2012 似たような発音の単語を世界中から探すsimilear.com

似たような発音の単語を世界中から探すsimilear.com

作りました

http://similear.com/ja/

Similearはsimilar+earの造語です。アラビア語韓国語などを除いた世界の主要な言語から検索することができます。

用途としては

  1. ラップを作るときに韻を踏みたい時
  2. ダジャレを作るとき
  3. 意味Google翻訳でわかるので、名付けの時に役に立つ(かもしれない)*1

日本語ひらがなカタカナで、それ以外の言語はそのまま検索することができます。

検索結果では、上から発音の似ている順に表示されます。単語、その言語の表示はもちろん、IPAの表示、Google, Bing, Forvoによる発声試聴Google翻訳により意味を聞くことができます。

Googleの音声については、Firefox, Safari, IEについては問題有りませんがChrome, Operaだとエラーが発生します。どうしてこの2つだけダメなのかはわかりません。

ですがこれはGoogle側でリファラをチェックしているためです。アドレスバークリックして、Enterをおせば音声データが読み込まれます。

SimilearはeSpeak, Kyoto Cabinetでできています。関係者の方に感謝いたします。

*1:実際はカルピス近畿大学の問題には対応できていません。

01/11(Wed), 2012

はてなダイアリーで良い文章を書くためのユーザスクリプト

良い文章の条件とはどのようなものでしょうか。いろいろ調べていくうちに、文章内の漢字の比率に着目している方がいらっしゃいました。

 漢字が多いと、その文章は、硬い印象を与えます。反対に、ひらがなが多いと幼稚に見えます。

 文章の中で、漢字の割合が5割を超えると硬い印象になり、3割以下だと幼稚に見えます。漢字が4割前後の文章が、読みやすいと言われています。文章を作ったら、漢字ひらがなの割合を、数えてみてください。漢字の割合が5割近くあったら要注意です。ひらがなで書いても問題がないところは、ひらがなにして調整します。文書の最後で調整する方法もあります。例えば、

 「〜お願い致します」 ⇒ 「〜お願いいたします」

というようにします。

http://www.stwds.com/active/lesson/document_creation/index.html

そこで、少しテストをしてみました。

1.漢字の比率が50%の場合

 明日の天気は晴れ。明後日の天気は生憎の曇りになります。この1週間の天気は、概ね良好です。

2.漢字の比率が39%の場合

 明日の天気は晴れ。明後日の天気はあいにくの曇りになります。この1週間の天気は、おおむね良好です。

3.漢字の比率が28%の場合

 明日の天気は晴れ。あさっての天気はあいにくのくもりになります。この1週間の天気は、おおむね良好です。

いかがでしょうか。漢字の比率が増えるほど、読みにくく固めの文章になるのではないでしょうか。比率が低すぎても、文字数が増えて読みにくくなり、幼稚な印象にならないでしょうか。

そこで、漢字の比率を確認するために、ユーザスクリプトブックマークレットを作成しました。

漢字比率が50%以上を固めの文章、30%以下を柔らかめの文章*1。それ以外を理想的な漢字比率としております。また、カタカナひらがなより多い場合専門用語が多すぎるという警告があります。

ユーザスクリプト

http://userscripts.org/scripts/show/122883

Firefox(Greasemonkey), Chrome, Operaで動作確認済みです。記事入力画面の左上に評価が出ます。

ブックマークレット

javascript:(function(){traceFrames(window);function%20traceFrames(w){getSelectedText(w);var%20flen=w.frames.length;for(var%20i=0;i<flen;i++){traceFrames(w[i]);}}function%20getSelectedText(w){var%20t;try{t=w.getSelection().toString();}catch(e){return;}if(t){openWindow(t);}else{var%20tias=getTextInputAreas(w);for(var%20i=0;i<tias.length;i++){var%20tia=tias[i];var%20s=tia.selectionStart;var%20e=tia.selectionEnd;if(s!=e){openWindow(tia.value.substr(s,e-s));}}}}function%20openWindow(q){var%20keyword='';var%20hirc=0;var%20katc=0;var%20suuc=0;var%20kanc=0;keyword%20=%20q;allletter=q.length;for(i=0;i<keyword.length;i++){p=keyword.charAt(i);if(p.match(/^[%E3%81%81-%E3%82%93]$/)){hirc++;}else%20if(p.match(/^[%E3%82%A1-%E3%83%B3%EF%BD%A7-%EF%BE%9D%EF%BE%9E%EF%BE%9F]$/)){katc++;}else%20if(p.match(/^[\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF]|[\uD840-\uD87F][\uDC00-\uDFFF]/)){kanc++;}else%20if(p.match(/^[\uff10-\uff19\d]$/)){suuc++;}else{allletter--;}}if(kanc/allletter%20>=%200.5){message='%E6%BC%A2%E5%AD%97%E3%81%AE%E6%AF%94%E7%8E%87%E3%81%8C50%%E4%BB%A5%E4%B8%8A%E3%81%A7%E3%81%99%E3%80%82%E7%A1%AC%E3%82%81%E3%81%AE%E6%96%87%E7%AB%A0%E3%81%A0%E3%81%A8%E6%80%9D%E3%82%8F%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82';}else%20if(kanc/allletter%20<=%200.3){message='%E6%BC%A2%E5%AD%97%E3%81%AE%E6%AF%94%E7%8E%87%E3%81%8C30%%E4%BB%A5%E4%B8%8B%E3%81%A7%E3%81%99%E3%80%82%E6%9F%94%E3%82%89%E3%81%8B%E3%82%81%E3%81%AE%E6%96%87%E7%AB%A0%E3%81%A7%E3%81%99%E3%80%82';}else{message='%E6%BC%A2%E5%AD%97%E3%81%AE%E6%AF%94%E7%8E%87%E3%81%8C%E9%81%A9%E5%88%87%E3%81%AA%E6%96%87%E7%AB%A0%E3%81%A7%E3%81%99%E3%80%82';}if(hirc<katc){message='%E3%81%B2%E3%82%89%E3%81%8C%E3%81%AA%E3%82%88%E3%82%8A%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A%E3%81%8C%E5%A4%9A%E3%81%84%E3%81%A7%E3%81%99%E3%80%82%E5%B0%82%E9%96%80%E7%94%A8%E8%AA%9E%E3%81%8C%E5%A4%9A%E3%81%99%E3%81%8E%E3%82%8B%E3%81%8B%E3%82%82%E3%81%97%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82';}if(keyword){result='%E3%81%B2%E3%82%89%E3%81%8C%E3%81%AA%20%20'+(hirc/allletter*100).toFixed(2)+"%\n"+'%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A%20%20%20'+(katc/allletter*100).toFixed(2)+"%\n"+'%E6%95%B0%E5%AD%97%20%20%20%20%20%20%20'+(suuc/allletter*100).toFixed(2)+"%\n"+'%E6%BC%A2%E5%AD%97%20%20%20%20%20%20%20'+(kanc/allletter*100).toFixed(2)+"%\n\n"+message;}else{result='%E6%96%87%E7%AB%A0%E3%82%92%E9%81%B8%E6%8A%9E%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82';}alert(result);}function%20getTextInputAreas(w){var%20elms=w.document.getElementsByTagName('*');var%20tias=[];for(var%20i=0,e;e=elms[i];i++){var%20tag=e.tagName.toLowerCase();if(tag=='textarea'){tias[tias.length]=e;}else%20if(tag=='input'){var%20ty=e.type.toLowerCase();if%20(!ty||ty=='text')%20{tias[tias.length]=e;}}}return%20tias;}})();

Firefox, Opera, Chromeで動作確認済みです。IEでは文字数制限により動きません。文章を選択した後に、このブックマークレットを実行すれば漢字の比率とそのメッセージが表示されます。

テキスト入力

http://koumeis.hatenablog.jp/entry/2012/01/08/022401

まず、簡単に試したいという方はこちらを御覧ください。IE,Firefox,Opera,Chrome,Safari(Mac, iOS)で動作確認済みです。Androidでは動きません。

参考にしたサイト

bookmarkletで選択文字列を取得することを考える - 徒書

JavaScript で任意の漢字にマッチする正規表現を書く - kazuhoのメモ置き場

*1:これはビジネス文章の場合です。一般的な小説は30%ぐらいが良いのかもしれません。

<ご指定のscriptタグは許可されていません。詳しくははてなダイアリーで使えるブログパーツをご覧ください>document.write(unescape("%3Cscript")+" src='http://widget.zenback.jp/?base_uri=http%3A//d.hatena.ne.jp/Koumei_S/&nsid=101367852098948126%3A%3A101414370889733769&rand="+Math.ceil((new Date()*1) * Math.random())+"'type='text/javascript'"+unescape("%3E%3C/script%3E"));<ご指定のscriptタグは許可されていません。詳しくははてなダイアリーで使えるブログパーツをご覧ください>