質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

自然言語処理

自然言語処理は、日常的に使用される自然言語をコンピューターに処理させる技術やソフトウェアの総称です。

Q&A

1回答

778閲覧

係り受け解析において結果の可視化画像の保存をしたい。

SmaSTATION

総合スコア29

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

自然言語処理

自然言語処理は、日常的に使用される自然言語をコンピューターに処理させる技術やソフトウェアの総称です。

0グッド

0クリップ

投稿2023/09/24 01:01

実現したいこと

Googleコラボにて、GiNZAを用いて係り受け解析をしています。
その際に、係り受け解析の際の解析結果の可視化画像を保存したいと思っています。

前提

実行環境

  • Googleコラボ
  • Python
  • GiNZA

発生している問題・エラーメッセージ

AttributeError Traceback (most recent call last) <ipython-input-16-67604b0009fe> in <cell line: 1>() ----> 1 displacy.render(doc, style='dep', jupyter=True, options={'compact':True, 'distance': 90}).save=("kakariuke.png") AttributeError: 'NoneType' object has no attribute 'save'

該当のソースコード

import spacy from spacy import displacy nlp = spacy.load('ja_ginza') doc = nlp('優しくしないでほしいあたしのことを') for sent in doc.sents: for token in sent: print(token.text+' ← '+token.head.text+', '+token.dep_) displacy.render(doc, style='dep', jupyter=True, options={'compact':True, 'distance': 90})

試したこと

displacy.render(doc, style='dep', jupyter=True, options={'compact':True, 'distance': 90}).save

とするも、エラー。

  • 該当行を変数にして、「変数名.save」でもうまくいかず...

補足情報(FW/ツールのバージョンなど)

𠮟咤激励含めて些細なことでも構いませんので、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

SVG形式でのファイル出力のコード例はここに明記されています。
https://spacy.io/usage/visualizers#examples-export-svg

つまりrender関数は、SVGフォーマットの文字列を返すので、それを保存すればよい。
(ドキュメント記載の通り、Google colabでもjupyter=False を指定しないとうまくいかない)

py

1svg = displacy.render(doc, style="dep", jupyter=False, options={'compact':True, 'distance': 90}) 2with open("ファイル名.svg", mode="w", encoding="utf-8") as f: 3 f.write(svg)

これによるSVG形式の画像の保存はできました。
SVG形式から他の画像フォーマットの変換についてはご自分で調べてください。

投稿2023/09/24 01:54

編集2023/09/24 02:03
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問