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

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

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

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

Python

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

自然言語処理

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

Q&A

解決済

2回答

1317閲覧

Python for文で結果を1つずつ出力したい。

tsuboi

総合スコア3

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

Python

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

自然言語処理

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

0グッド

1クリップ

投稿2020/09/14 01:29

前提・実現したいこと

以下の写真の様に、1つずつ結果を表示するfor文を作りたい。
リストには、[米国,量子コンピュータ,AI,10億ドル,投資,12の研究センター,新設]、[米国政府,8月26日(米国時間,量子情報科学,AI技術,今後5年間,10億ドル(約1060億円]という風に文字が格納しています。
それで、similarityでコサイン類似を計算するメソットです。
イメージ説明

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

--------------------------------------------------------------------------- NameError Traceback (most recent call last) <ipython-input-28-249058b2a516> in <module> ----> 1 for i in noun1[i]: 2 for j in noun2[j]: 3 noun1[i].similarity(noun2[j]) NameError: name 'i' is not defined

該当のソースコード

import spacy nlp = spacy.load('ja_ginza') text1 = "米国、量子コンピュータやAIに10億ドルを投資、12の研究センターを新設へ。 米国政府は8月26日(米国時間)、量子情報科学やAI技術に今後5年間で10億ドル(約1060億円)を投資すると発表した。 これらの研究を進めるため、12の研究センターを新設するとしている。 量子情報科学研究センターの設立は米エネルギー省(DOE)が主導。アルゴンヌ国立研究所(イリノイ州)などDOE傘下の5つの研究機関でそれぞれ研究センターを立ち上げるため、6億2500万ドルを助成する。参画する民間企業や大学も、合わせて3億ドルを資金提供する。量子コンピュータを開発する米IBMやIntel、Microsoftなども量子情報科学研究センターに参画を表明。各センターでは複数の研究機関や民間企業から集まった共同研究チームが、量子ネットワーク、量子センシング、量子コンピューティング、量子材料科学などを主要なテーマに据えて研究を進める。AIの研究開発は米国立科学財団が主導。7つの研究センターの設立に1億4000万ドルを助成する。パートナー機関からの資金提供も含めると助成金額は3億ドルに上るという。 米国はこれらの研究センターを新設することで、次世代技術のリーダーシップ確保の他、雇用創出や次世代の労働力の育成にもつなげたい考えだ。" text1=nlp(text1) sents = list(text1.sents) sents = sents[:2] print(sents) for sentence in sents: print(sentence) sentence1 = sents[0] print(sentence1) sentence2 = sents[1] print(sentence2) noun1 = list(sentence1.noun_chunks) noun2 = list(sentence2.noun_chunks) for noun in noun1: print(noun) for noun in sentence2.noun_chunks: print(noun) for i in noun1[i]: for j in noun2[j]: noun1[i].similarity(noun2[j])

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

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

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

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

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

guest

回答2

0

自己解決

for i in noun1: for j in noun2: print("noun1[{}]".format(noun1.index(i)), "noun2[{}]".format(noun2.index(j))) noun = i.similarity(j) print(noun)

投稿2020/09/14 03:00

tsuboi

総合スコア3

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

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

0

for i in noun1[i]:

エラーメッセージに書いてあるとおり、iが未定義です。
ここでなにをやりたいんでしょうか

投稿2020/09/14 02:50

y_waiwai

総合スコア87800

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問