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

yasuokaの日記: Google ColaboratoryでUniDic2UDのSVGを表示するには

日記 by yasuoka

UniDic2UDをGoogle Colaboratoryで使っていたところ、係り受け解析結果をSVG表示できないという問題に出くわした。ざっと調べてみたところ、Google Colaboratoryが使っているIPython.displayのSVGモジュールが非力で、SVG内部のJavaScriptを処理しきれていないことがわかった。でも、SVGを表示したい場面はあるだろうと思い、私(安岡孝一)なりにアレコレ考えてみた結果、Google Drive経由でならブラウザ(Chromium系列)のSVGをキックできることに気づいたので、ざっとコーディングしてみた。

!pip install unidic2ud
import unidic2ud
qkana=unidic2ud.load("qkana")
s=qkana("其國を治めんと欲する者は先づ其家を齊ふ")
from google import colab
colab.auth.authenticate_user()
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from oauth2client.client import GoogleCredentials
g=GoogleAuth()
g.credentials=GoogleCredentials.get_application_default()
f=GoogleDrive(g).CreateFile({"title":"trial.svg","mimeType":"image/svg+xml"})
f.SetContentString(s.to_svg())
f.Upload()
from IPython.display import IFrame,display
display(IFrame(src="https://drive.google.com/uc?id="+f.get("id"),width="100%",height="500"))
f.Trash()

実行途中で、Google Driveへのアクセス許可が求められて、ブラウザの別ページから暗号のような文字列をコピペする必要があるが、それでもこれで何とか動くと思う。でも、こういうの、もうちょっと簡単にやる方法ないかなぁ。

この議論は、yasuoka (21275)によって ログインユーザだけとして作成されたが、今となっては 新たにコメントを付けることはできません。
typodupeerror

目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond

読み込み中...