Entries from 2016-01-01 to 1 year

年に一度のプリンタ稼働日

年末タスク 年末に実家に帰ると年賀状印刷というタスクが待っているわけですが、去年のこの時期にプリンタのノズルが目詰まりして、字がかすれてしか印刷できず、最後通告をしたつもりが、 父「今年もよろしく」 と何事もなかったように頼まれる訳で。とは言…

Windows10での環境構築

サボりの原因は 気がつけば9ヶ月も放置してました。2015年年末から入門Python 3の写経シリーズをやって、3月頃にはグラフデータベースの話なんかも扱ってました。その後パッタリ更新が止まっていた理由を考えると、ズバリ本業が忙しかったからですね。春先は…

中国語学習×グラフデータベース(13) - 細々気づいたこと

一通りデータは登録してみたので、細々したことをいくつか。 重複ノードの削除 データを登録する際に、いろいろ間違えてしまい不要なノードを削除したいなという時があった。通常のリレーショナルDB(以下RDB)では、テーブル定義の時にキーの重複を許さないよ…

中国語学習×グラフデータベース(12) - 類義語間のリンク

前回、登録されていないキーワードを拾い集めたので、それをいったん単語として登録するところから再会。 新しい単語の自動新規登録 今回は、ある種機械的に拾い集めたものなので、単語の詳細は後回しにしつつ、自動登録だよという意味で、autoaddという属性…

中国語学習×グラフデータベース(11) - 類語を結びつける

ひとまず、単語(キーワード)の一部と短文をつなげるところまで来たので、今回は類義語どうしをつないでみる。 ネタ元はこれ CD付 どう違う?例文で覚える中国語類義語1000作者: 于鵬,平山邦彦,川田直樹出版社/メーカー: アスク出版発売日: 2010/04/28メディア…

中国語学習×グラフデータベース(10) - 単語と短文を紐付ける

今日のお題は、単語と短文のNodeを紐付けるのだが、いくつか考えるべきところがある。 Relationshipだらけに意味はあるか 中国語で一番使われている漢字はなんだろうか?ぶっちゃけ分からないけど、「我」「你」「是」「不」みたいな字は、登場頻度が高いよ…

中国語学習×グラフデータベース(9) - 属性変更

意外に続いている今シリーズ。ネタ切れも間近だったりするけど、とりあえずまとめておく。 属性の変更 例えば、単語1つを例に挙げる。 w = list(graph.find("Word", "keyword", "挨")) print(w) [<Node graph='http://localhost:7474/db/data/' ref='node/1110' labels={'Word'} properties={'keyword': '挨', 'pinyin': 'ai1', 'meaning': '', 'pinyinf': 'āi'}>]「挨」という単語を見てみると、意味(meaning…</node>

中国語学習×グラフデータベース(9) - 様々な検索

例えば、短文の中からキーワードを含むとか、特定の声調を含む単語みたいの検索するとなると、WHERE句でイコールしか使えないとかいう話では使い物にならない。さすがにCypherでもそのあたりは対応済みという事を整理しておきたい。 ○○で始まるシリーズ 例え…

中国語学習×グラフデータベース(8) - Relationshipの検索

検索という意味では前回とほとんど同じ。 Cypher独特の書式 独特と言っても、決して取っつきにくいわけではない。py2neoからはmatch()を使う方法もあるが、前回からの流れで、cypher.execute()で実行している。 wl = graph.cypher.execute("MATCH (w:Word)-[…

中国語学習×グラフデータベース(7) - ノードの検索

前回までで、ひとまず作ったデータがNeo4jの中に入ってきた。ここからいろいろデータをいじる訳だが、慣れる意味も含めていろいろのパターンで動かしてみることにする。 py2neoから直接cypherクエリを発行してみる 前回、py2neoの機能に頼りすぎて少し失敗し…

便利すぎるJupyter(IPython Notebook)に今頃気づく

Pythonをいじっていると、ソースを長々と書く段階に至る前に、ちょこちょこと数行程度で動きを試してみたいという事がよくある。エディターで保存して実行でも良いのだが、少々回りくどい。かといって、ターミナルから直接コードを入れると、1つ間違えばやり…

中国語学習×グラフデータベース(6) - ノードをまとめて作る

ついにNeo4jにデータを取り込む。 merge/merge_oneは使えるのか使えないのか まずは簡単そうな短文を取り込む。すでに、sentence_listというリストに短文は取り込んであるので、こんな感じでOK。 for sentence in sentence_list: graph.merge_one("Sentence"…

中国語学習×グラフデータベース(5) - py2neoからNeo4jに接続

前回さんざん引っ張って、CSV/TEXTからPythonに取り込むところで終わったけど、今度こそNeo4jに登場してもらわねばw。 Neo4jを起動する コマンドラインからも起動できるけど、個人的にはGUIから起動する方が好き。スクショはWindows版だけれども、Macでも同…

中国語学習×グラフデータベース(4) - データをPython側に取り込んでみる

何となくグラフデータベース側の構造を決めたので、さっそくデータを取り込んでみる。基本的な考え方は、データをアップロードして、Nodeを作ってから、Node間のRelationshipは、ある特定の条件に合致するものを後から紐付ける感じ。 CSVファイルからの取り…

中国語学習×グラフデータベース(3) - グラフデータベースでの構造を考えてみる

ノードとエッジだけ グラフ理論の中では、ノード(頂点)とエッジ(線)の組み合わせからなっているが、Neo4jの中では、NodeとRelationshipと呼ばれている。前回の記事で使ったものを再び引っ張り出すと、青や緑の円の部分がNode、線の部分がRelationshipという…

中国語学習×グラフデータベース(2) - 必要なこと(中国語以外の部分)

さて、いきなり始めたシリーズだが、この掛け算は、相当ニッチなところを攻めているのは分かっている。ただ、中国語学習というものを他のモノに置き換えて考えてもらえば、何かしらの役には立つかもしれない。 中国語以外に必要な知識 今回の取り組みにおい…

今さらPython3 (80) - 第12章一気読み その2

一気読みと言いながら一回で収まらなかったので続きを。入門 Python 3作者: Bill Lubanovic,斎藤康毅,長尾高弘出版社/メーカー: オライリージャパン発売日: 2015/12/01メディア: 単行本(ソフトカバー)この商品を含むブログを見る デバッグ デバッグという…

中国語学習×グラフデータベース(1) - なぜグラフなのか?

語学学習×グラフデータベース。いろいろ面白いことができるかも。— Ken M.X. (@Deutschina) February 23, 2016思い付きって怖い。でも入口としては面白そうなトピックなのでやってみることに。 まず前提 中国語関連で、こんなデータがありますという前提。 5…

今さらPython3 (79) - 第12章一気読み その1

前回までで、この本の手を動かす部分(第11章)までは終了。とはいえ、第12章も気になるところがかなりなあるので、拾い読みしていくつもり。入門 Python 3作者: Bill Lubanovic,斎藤康毅,長尾高弘出版社/メーカー: オライリージャパン発売日: 2015/12/01メデ…

今さらPython3 (78) - 第11章復習課題

第11章の復習課題。入門 Python 3作者: Bill Lubanovic,斎藤康毅,長尾高弘出版社/メーカー: オライリージャパン発売日: 2015/12/01メディア: 単行本(ソフトカバー)この商品を含むブログを見る 11.1 $ python3 udp_time_server.py Starting the server at 2…

今さらPython3 (77) - インターネットサービス

第11章継続中。入門 Python 3作者: Bill Lubanovic,斎藤康毅,長尾高弘出版社/メーカー: オライリージャパン発売日: 2015/12/01メディア: 単行本(ソフトカバー)この商品を含むブログを見るインターネットサービスの自動化手法についてのドキュメントがここ…

今さらPython3 (76) - ネットワーク

引き続き11章。入門 Python 3作者: Bill Lubanovic,斎藤康毅,長尾高弘出版社/メーカー: オライリージャパン発売日: 2015/12/01メディア: 単行本(ソフトカバー)この商品を含むブログを見るネットワークの基本的なところを追いかけるのは、ここの主旨と違う…

今さらPython3 (75) - パブサブ

この本の12章のネットワークのところを読み進めてます。入門書で分散コンピューティングとかいう単語が聞こえてくるのはいいね。入門 Python 3作者: Bill Lubanovic,斎藤康毅,長尾高弘出版社/メーカー: オライリージャパン発売日: 2015/12/01メディア: 単行…

今さらPython3 (74) - Redisを使った並行処理

第11章は内容が濃いので進み方もゆっくり。入門 Python 3作者: Bill Lubanovic,斎藤康毅,長尾高弘出版社/メーカー: オライリージャパン発売日: 2015/12/01メディア: 単行本(ソフトカバー)この商品を含むブログを見る Redis 前回、Redisに触ったのは第8章だ…

今さらPython3 (73) - 並行処理のつづき

第11章の並列処理のつづき。入門 Python 3作者: Bill Lubanovic,斎藤康毅,長尾高弘出版社/メーカー: オライリージャパン発売日: 2015/12/01メディア: 単行本(ソフトカバー)この商品を含むブログを見る遅い部分はスレッドなり、プロセスなりに外出しすると…

今さらPython3 (72) - 並行処理 multiprocessing vs threading

ここから第11章に突入。Pythonの初心者でもないのに、この「入門」を買おうと思ったのは、この11章があったから。自分の全く知らない内容がカバーされているなら、勉強しても損はないかなと思ったわけで。入門 Python 3作者: Bill Lubanovic,斎藤康毅,長尾高…

今さらPython3 (71) - 第10章復習課題

第10章の復習課題。入門 Python 3作者: Bill Lubanovic,斎藤康毅,長尾高弘出版社/メーカー: オライリージャパン発売日: 2015/12/01メディア: 単行本(ソフトカバー)この商品を含むブログを見る 10.1 >>> from datetime import date >>> fout = open('today.…

今さらPython3 (70) - 日付時刻

第10章、日付とか時刻の扱い方の部分。入門 Python 3作者: Bill Lubanovic,斎藤康毅,長尾高弘出版社/メーカー: オライリージャパン発売日: 2015/12/01メディア: 単行本(ソフトカバー)この商品を含むブログを見る calendar 日付のフォーマットやタイムゾー…

今さらPython3 (69) - プロセス

第10章後半へ。入門 Python 3作者: Bill Lubanovic,斎藤康毅,長尾高弘出版社/メーカー: オライリージャパン発売日: 2015/12/01メディア: 単行本(ソフトカバー)この商品を含むブログを見る プロセス プログラムを実行すると、OSがプロセスIDを割り当てると…

今さらPython3 (68) - システムコマンド的な

第10章開始!入門 Python 3作者: Bill Lubanovic,斎藤康毅,長尾高弘出版社/メーカー: オライリージャパン発売日: 2015/12/01メディア: 単行本(ソフトカバー)この商品を含むブログを見る ファイルの扱い まずはファイルを用意する。 >>> fout = open('oops.…