タグ: python

  • PyCon mini Hiroshima 2016「広島とPython」 #pyconhiro #pyconjp

    プログラミング言語 Python (パイソン)が気になりはじめた広島の皆様、広島のことが気になっていた全国の Python ファンの皆様のために、今年も PyCon mini Hiroshima を開催します。
    開催日は2016年11月12日(土曜)、会場は広島市立大学サテライトキャンパス(広島市役所のすぐ前)です。
    これから connpass サイトでの参加募集(および講演の申込受付)を開始します。
    2015年11月22日、第1回 PyCon mini Hiroshima の基調講演は石本敦夫さん「Pythonの肩にのる」でした。
    一人前のプログラマになるための勉強は果てしなく続く。でも焦ることはない。なにかひとつの技術やプロダクトに深く関わることが重要。
    深く学ぶほど大きく広がる Python の世界はその理想的な入口のひとつ。
    そんなことをご自身の20年の経験を踏まえて語っていただきました。
    たまたま NVDA という Python プロダクトの活動(NVDA日本語チーム)をきっかけに Python を深く学ぶことになり、日本の Python の技術者やコミュニティの素晴らしいパワーに触れる機会を得てきた私には、自分の気持ちととても重なった内容でした。
    半年以上が過ぎたいま、Python やその関連プロダクトは、広島の技術者の勉強や仕事に役立ち始めているでしょうか?
    広島での PyCon mini の第2回となる今年は「広島から発信しよう」を目指しています。
    県外から著名人をお招きしてお話を伺うことよりも「広島で Python がどう使われているのか」「広島で Python 技術者にどんなチャンスがあり得るのか」といった話題を持ち寄って、なにかを生み出したいと思います。
    まず「広島で暮らす人々」「広島に観光で訪れる人々」をターゲットに「人間の言葉を理解するコンピュータ」の研究に取り組んでいる広島市立大学「言語音声メディア工学研究室」の関係者にご協力をお願いして、「広島とPython」の接点を探ります。
    また IoT (Internet of Things) に適した言語としての Python という側面(例えばハードウェアの制御も Web APIの利用も Python から簡単にできたりします)を掘り下げていくために、今年立ち上がったフレッシュなコミュニティ IoTLT 広島と LT セッションを共同開催します。
    スペシャルトークの火村智彦さんには「私はいま広島で○○というプログラミング言語を使っているけど、Python も勉強した方がいいのかな?」と思っている人に刺激を与えるようなお話をお願いしています。どんな内容になるのか、私もまだわかりませんが楽しみにしています。
    今年、日本の Python コミュニティでは、初学者向けの勉強会(BootCamp)など新しい取り組みが各地で始まっています。
    また Python を基盤にしたビッグデータ、機械学習、インフラ管理など、いろいろなツールのコミュニティも広がりつつあります。
    この第2回 PyCon mini Hiroshima を、広島での継続的な Python コミュニティ活動のきっかけにと願いつつ、まずはご参加のご案内をさせていただきます。
    講演テーマ募集は9月30日を締切とさせていただく予定です。
    参加申込とあわせて、お気軽にご提案いただければ幸いです。

  • PyCon mini Hiroshima など

    地域 PyCon mini を広島で という話を2月14日にしゃべってから、いろいろな方にご相談して、ご協力いただいています。
    日程と場所が確定したので、今日の LT 駆動開発17 で紹介しました。
    PyCon mini Hiroshima 2015
    主催:PyCon mini Hiroshima 2015 実行委員会
    開催日:2015年11月22日(日曜)
    会場:サテライトキャンパスひろしま
    私は実行委員長を務めることになりました。このイベントについての詳細はいずれまたお知らせします。
    今日のLTでは、PyCon JP 行動規範に始まり、整備されたマニュアルやツールなど、イベントの運営についていろいろ学ぶことがある、という話をしました。
    以下はLT駆動でしゃべらなかったですが、9月の東京でのイベントのお知らせの続報。
    9月12日(土曜)「NVDAワールド 2015 東京」参加申し込みの受付を開始しています。
    翌日も東京ですが、9月13日(日曜)『Web制作者のためのNVDA入門』というイベントで講師を担当します。

  • すごい広島 95 と NVDA 日本語版のソースコード管理

    すごい広島 95 に参加してきました。
    事前に呼びかけてみたら、NVDAユーザ会広島の関係者が、私を含めて3人集まりました。
    やること宣言した作業は NVDA 日本語版の点訳エンジンに関する下記の検討でした。
    日本語点訳で (日) と (火) の区別がつかない
    NVDA 日本語版のソースコードは Git で管理されています。
    また、NVDA 日本語版に含まれている日本語点訳エンジンにはテストコードが用意されており、なにか修正をしたときに、いままでうまくいっていた点訳の事例を壊さないように作業をしています。
    テスト駆動開発の理念を尊重して作業しています。
    いわゆる「デグレード」を避けるべき理由はいろいろあるでしょうが、不具合が増えてしまうと、それを嫌って「古いバージョンをわざわざ使う人」が増えてしまいます。
    NVDA 本家版はそのようなことがないように努力しているのがわかるので、日本語版もそうしたいと思います。
    私がこの日にやった作業は以下のような感じでした。

    • 点訳エンジンのテストを実行して、既存のテストケースでエラーが出ていないことを確認
    • 報告があった「不具合の事例」をテストケースに追加
    • 追加されたテストケースで、テストを実行して、そこだけが新しいエラーになることを確認

    本当はエラーが出ているのでコミットするべきではないですが、作業手順の説明とバックアップのためにコミットされました。
    帰宅して数日のうちにもうひとつのコミットを行い、この時点でエラーの数は0に戻りました。
    作業はチケットに対応するトピックブランチ ti34973 で行い、作業が完了してから master にマージされました。
    この作業をしたレポジトリは通称 miscDepsJp と呼んでいるもので nvdajpmiscdep という名前で管理されています。
    この miscDepsJp レポジトリは nvdajp 本体のレポジトリから submodule として参照されています。
    NVDA 日本語版の実行ファイルをビルドすることなく、miscDepsJp のソースだけで点訳エンジンの開発と単体テストが可能になっています。
    修正の中身をすこし詳しく説明しておきます。
    日本語点訳において(日)(火)などの曜日表記が、読み付与が間違っているためにどちらも「ヒ」になっていて、区別がつかない。
    このような事例だけでも個別対応をして修正できないか、というのがいただいた要望でした。
    日本語点訳の読み付与は Open JTalk の処理系に合わせて MeCab で行っています。
    一般的には「日」や「火」という文字が出てくるたびにすべてを「ニチ」「カ」のように変換してしまうわけにはいかず、本来は文脈に応じた処理を行う必要があります。
    もし文脈に応じた処理をしないと、たぶん既存のテストケースのどこかが壊れてしまうでしょう。。
    今回はメーリングリストでいただいたアイディアを参考に、「(日)」のように「前後にカッコ、カッコとじがついている場合」だけ特別な対応をするという方針で作業をしてみましたが、実際には「記号」「一般名詞」「記号」という3つの形態素として処理されるべきなので、MeCab の辞書登録に加えて形態素解析結果の後処理で正規化(形態素の分割)を行って、なんとかつじつまを合わせています。
    MeCab の辞書に単語を追加したので JTalk の読み上げにも影響が及ぶのですが、今回の作業の結果 JTalk の読み上げで「(日)」「(火)」は「ヒ」「ヒ」のままになっています。
    音声読み上げについては音声合成に送られる前に句読点記号辞書が適用されるので、音声エンジンが受け取る前に「カッコ 日 カッコトジ」「カッコ 火 カッコトジ」のような文字列になってしまいます。
    なので「(火)」のような単語を MeCab 辞書に追加しても、点訳エンジンに対してしか効果はありません。
    以上、やった作業の簡単な報告でした。
    NVDA 日本語チームのメーリングリストにおいて、日本語テキスト解析に関する開発には多くのひとが興味をお持ちのようなので、この部分に特化した開発をしていただくために、ソース、ドキュメント、ツールなどを整理したいと思っています。
    複雑な作業であることにはかわりないので「誰でも開発に参加できるようになる」と期待されるとつらいですが。。
    なお NVDA 日本語版のソースコード管理システムを github にまとめる作業を進めているところです。
    ソースを github にコミットすると点訳エンジンのテストを自動実行する、いわゆる「継続的インテグレーション」などもやりたいと思っています。