1. ホーム
  2. python

[解決済み] 期待される生テキスト文書に対するイテラブル、受信した文字列オブジェクト

2022-02-15 11:11:13

質問

で紹介されているナイーブベイズ分類器を構築しようとしています。 このリンク 行を参照

X_new_tfidf = tfidf_transformer.transform(X_new_counts)

の下に Training the Classifier の小見出しに、同じような行がありました。 X_new_counts = count_vect.transform(input.plot_movie) は、transform 関数への入力として反復記号を受け取るべき私のコードに含まれています。その input はDataFrameのレコードで、型は pd.Series を送信し、以下のエントリを含む。 input.plot_movie をtransform関数の入力とする。

しかし、次のようなエラーが発生します。 Iterable over raw text documents expected, string object received

このエラーを修正するにはどうしたらよいですか?また、以下を参考にしました。 これ という回答をしています。 s は文字列が代入されたのでイテラブルです。また このリンク ここで TypeError: 'String' object is not iterable が発生します。何か見落としているのでしょうか?リンクは互いに矛盾しているように見えます。

EDIT 今気づいたのですが input.plot_movie はunicode型であるため、文字列に変換することにしました。また同じエラーに遭遇しました。

どうすればいいですか?

この問題の原因は、入力が単なる文字列であり、必要なのは単一の要素(文字列そのもの以外の何物でもない)を含むリスト(または反復可能)であることです。

このエラーは、次の行を追加することで取り除くことができます。

input=[input]

以前

X_new_counts = count_vect.transform(input.plot_movie)