パスワードを忘れた? アカウント作成

スラドのRSSを取り込んでみよう。

14004202 journal
中国

yasuokaの日記: 「令和」の文切り・形態素解析エンジンとしての甲言Jiayan

日記 by yasuoka

ネットサーフィンしていたところ、甲言Jiayanという古典中国語(漢文)解析ツールを見つけた。白文の単語切り・品詞付与・文切りが可能らしい。ただ、インストールがちょっと手間だったりする。まずは、Google Driveからjiayan_model.zipという言語モデルをダウンロードしつつ

% pip3 install https://github.com/kpu/kenlm/archive/master.zip
% pip3 install jiayan

で、python3モジュールをインストールする。その後、jiayan_model.zipのダウンロードが終わったら

14000962 journal
日記

iidaの日記: OpenSSL 1.1.1d, 1.1.0l, 1.0.2t

日記 by iida

日本時間で本日未明、予告どおりセキュリティー・アドバイザリーが刊行され、OpenSSL 1.1.1d, 1.1.0l, 1.0.2tがリリースされた。
3件の脆弱性が明らかにされている。
3件とも深刻度はLowだ。
OpenSSLのウェブ・サイトは諸事情で https://www.openssl.org/source/ でなく、https://www.openssl.org/source/? からリリース物件をリンクしているようだ。
- - - - -
(2019-09-13 PS)
リンクはもうふつうどおりのようだ。
セキュリティー・アドバイザリーには非ASCII文字があり、UTF-8で保存すると、PGP署名を検証できた (ISO-8859-1ではだめ)。

14000184 journal
日記

yasuokaの日記: Z80における2進→BCD変換 1

日記 by yasuoka

ネットサーフィンしていたところ、私(安岡孝一)の8月3日の日記の読者が、Z80で2進→BCD変換に挑戦しているのを見つけた。Bレジスタに0~99の整数が入っている時に、10で除算した商をAレジスタの上位4ビットに、余りをAレジスタの下位4ビットに返す、という問題である。私個人の直感としては、DAAを駆使する方が、読みやすくて速い気がする。

13999644 journal
日本

yasuokaの日記: 戸籍統一文字370600はU+2713Cではないのか 1

日記 by yasuoka

戸籍統一文字をざっと見ていたところ、

13998656 journal
人工知能

yasuokaの日記: 「うなぎを浜松に食べに行く」は係り受け解析できるのか

日記 by yasuoka

私(安岡孝一)の6月22日の日記の読者から、「うなぎを浜松に食べに行く」は係り受け解析できるのか、という質問をいただいた。Catena Inseparability付きのUniversal Dependenciesで示すと、以下の通り。

13996554 journal
日記

iidaの日記: 9.11にOpenSSLリリースか 2

日記 by iida

OpenSSLに脆弱性が発覚し、日本時間で9月10日夜から11日未明頃に、新しいリリースがでるようだ (OpenSSLのアナウンス記事)。
最高の深刻度は「LOW」とのこと。
1.1.0系列についてはベンダー・サポート終了前の最後のリリースとなりそうだ。

13995722 journal
日記

iidaの日記: 1/256の確率

日記 by iida

検証できたと言い張る人のいるとあるCSRがの署名がopensslで検証できなかったので、調べてみた。公開鍵は2,048ビットのRSAアルゴリズム、署名のアルゴリズムはsha256WithRSAEncryption。一方、署名データは8ビット短い2,040ビットだった。RSAの署名値なので、整数とみなして、8ビットの0を先頭に追加したら、署名が検証できてしまった。1/256の確率でシャバいCSRができてしまうようだ。

13993543 comment

yasuokaのコメント: nagisa.fitのパラメータ (スコア 1) 2

dim_tagembdecayというパラメータを教えていただいたので、とりあえず試してみました。

>>> import nagisa
>>> nagisa.fit(train_file="lzh_kyoto-ud-train.txt",dev_file="lzh_kyoto-ud-dev.txt",test_file="lzh_kyoto-ud-test.txt",dict_file="lzh_udkanbun-dict.txt",model_name="lzh_kyoto-nagisa",dim_tagemb=32,decay=3)

Epoch    LR    Loss    Time_m    DevWS_f1    DevPOS_f1    TestWS_f1    TestPOS_f1
1    0.100    4.944    0.378    97.43        85.24        97.93        86.73
2    0.100    2.251    0.379    97.78        87.54        98.78        88.99
3    0.100    1.890    0.341    97.37        87.90        98.78        88.99
4    0.100    1.693    0.379    97.79        88.44        98.50        89.09
5    0.100    1.544    0.379    97.85        88.09        98.76        89.75
6    0.100    1.464    0.341    96.63        87.72        98.76        89.75
7    0.100    1.367    0.377    97.87        88.94        98.56        90.07
8    0.100    1.309    0.342    97.64        89.27        98.56        90.07
9    0.100    1.271    0.343    97.81        88.81        98.56        90.07
10    0.050    1.187    0.342    97.79        88.99        98.56        90.07
>>> lzh=nagisa.Tagger(vocabs="lzh_kyoto-nagisa.vocabs",params="lzh_kyoto-nagisa.params",hp="lzh_kyoto-nagisa.hp").tagging
>>> s=lzh("有兄子曰甫")
>>> print(s)
有/v,動詞,存在,存在 兄子/n,名詞,人,名 曰/v,動詞,行為,伝達 甫/p,接尾辞,*,*

F1値は90.07に改善されてるのですけど、「有兄子曰甫」については、むしろ悪化してしまいました。うーん、どこかミスったのかな…。

13993198 comment

yasuokaのコメント: udkanbunのMeCab辞書 (スコア 1) 2

udkanbunのMeCab辞書をdict_fileに追加してみたところ、F1値が88.05になって、解析結果が改善されました。

% pip3 install udkanbun
% awk -F, '{printf("%s\t%s,%s,%s,%s\n",$1,$5,$6,$7,$8)}' $HOME/.local/lib/python3*/site-packages/udkanbun/mecab-kanbun/*.csv > lzh_udkanbun-dict.txt
% python3
>>> import nagisa
>>> nagisa.fit(train_file="lzh_kyoto-ud-train.txt",dev_file="lzh_kyoto-ud-dev.txt",test_file="lzh_kyoto-ud-test.txt",dict_file="lzh_udkanbun-dict.txt",model_name="lzh_kyoto-nagisa")

Epoch    LR    Loss    Time_m    DevWS_f1    DevPOS_f1    TestWS_f1    TestPOS_f1
1    0.100    5.756    0.369    97.76        84.43        98.22        85.19
2    0.100    2.685    0.369    97.80        87.57        98.47        88.05
3    0.050    2.213    0.335    97.72        87.64        98.47        88.05
4    0.025    1.720    0.333    97.42        88.30        98.47        88.05
5    0.012    1.441    0.334    97.68        88.64        98.47        88.05
6    0.006    1.312    0.335    97.66        88.85        98.47        88.05
7    0.003    1.242    0.336    97.72        88.90        98.47        88.05
8    0.001    1.226    0.334    97.69        88.89        98.47        88.05
9    0.000    1.187    0.334    97.75        89.02        98.47        88.05
10    0.000    1.177    0.337    97.75        89.07        98.47        88.05
>>> lzh=nagisa.Tagger(vocabs="lzh_kyoto-nagisa.vocabs",params="lzh_kyoto-nagisa.params",hp="lzh_kyoto-nagisa.hp").tagging
>>> s=lzh("有兄子曰甫")
>>> print(s)
有/v,動詞,存在,存在 兄/n,名詞,人,関係 子/n,名詞,人,人 曰/v,動詞,行為,伝達 甫/n,名詞,人,名

でも、学習がうまくいってないのか、Epoch 2以降でF1値が変化してないのです。うーむ。

13992969 journal
人工知能

yasuokaの日記: 日本語形態素解析エンジンnagisaは古典中国語(漢文)を学習できるのか 2

日記 by yasuoka

ネットサーフィンしていたところ、nagisaという日本語形態素解析エンジンを見つけた。端的には、python3のdynetで、日本語の単語切りと品詞付与をおこなうエンジンなのだが、自前でUniversal Dependenciesから機械学習する方法も示されている。だとすると、UD_Classical_Chinese-Kyotoから古典中国語(漢文)を学習する、というのもアリなのではないかと思い、ちょっと試してみることにした。

typodupeerror

吾輩はリファレンスである。名前はまだ無い -- perlの中の人

読み込み中...