前提・実現したいこと
以下のように、リストに入っている単語の重複の削除を行いたい。
いろいろ重複を削除する方法を試しましたが、重複を削除することができません。
set(), dict.fromkeys(), 新しいリストを用意し、if文で重複する単語をリストに追加する方法も試しました。
出力される単語は、<class 'spacy.tokens.span.Span'>という風に結果が出力されます。
重複削除後
dict.fromkeys()で重複削除後の出力される単語の数を表示した物です。
結果より、同じ単語でも違う単語として、判断しているます。
{会議中: 1, 会議中: 1, 画像: 1, 画像: 1, 画像: 1, 画像: 1, リモート会議: 1, 会議開始時: 1, 会議終了後: 1, お気に入り登録した画像: 1, その関連語句: 1, 関連語句: 1, 一時停止できる他: 1, 広がるような画像: 1, キーワード: 1, お気に入り登録すること: 1, 表示: 1, 広告制作: 1, データアーティスト: 1, テキスト化した議事録: 1, スマホ画面: 1, 内容: 1, 内容: 1, こと: 1, こと: 1, こと: 1, 視覚的なイメージ: 1, 販売: 1, 分析: 1, 独自アルゴリズム: 1, 「Inspiration Wall: 1, 11月: 1, 7月6日: 1, ツリー形式: 1, 利用: 1, ツール: 1, PC: 1, デザインスタジオ: 1, ソフト: 1, 自動: 1, 自動: 1, フォトストックサービス: 1, API: 1, 価格: 1, スマホ: 1, 語句: 1, リアルタイム: 1, デザイン: 1, 外部: 1, 月額課金制: 1, スクリーン: 1, スクリーン: 1, AI: 1, AI: 1, AI: 1, 方式: 1, 将来: 1, 言葉: 1, 会話: 1, 会話: 1, 会話: 1, 電通子会社: 1, 会議: 1, 発想: 1, マイク: 1, アイデア出し: 1, QRコード: 1, 類語: 1, BIRDMAN: 1}
該当のソースコード
実際に試したコードと出力の結果を記載ください。
特に重複削除前と後の対象のlistを出力するコードと結果が見たいです。
コメントありがとうございます。
コードの修正は行いました。出力した結果は一番上の写真です。
最後に
print(type(answer_list[0]))
した結果を付け加えると解決が早くなるかもしれません。
(分かる人が見たら推測可能かもしれませんが)
普通、文字列のリストをprintすると、
>>> print(l)
['foo', 'bar', 'baz']
このように、シングルクオーテーション(')で囲われていたいるするはずなんですよ
それが無いのはなぜなのかが、上の質問の答でわかりますね。
<class 'spacy.tokens.span.Span'>という結果が出力されました。
このトークンが属する文節という、意味です。
情報は、編集して質問に追記するようお願いします。
<class 'spacy.tokens.span.Span'> なのは、answer_list[0] ですか?それとも、answer_list そのものですか?
おもしろそうだったので、spacyをちょっと見てみましたが、ここで文字列だと:思われているものはたぶん、Token のインンスタンスでしょう。 なので、.text で中身を取り出してやってから、重複削除すれば目的のものが作れそうですね。
情報が減ってしまって手が出せなくなってしまいました。
> 出力される単語は、<class 'spacy.tokens.span.Span'>という風に結果が出力されます。
これに対応するコードがないので、質問を読んでも何のことかわからない感じになっています。
この欄は「質問への追記・修正」欄ですし、わざわざクリックしないと読めません。
「情報は、編集して質問に追記するようお願いします」というのは、質問と「質問への追記・修正」欄を両方読まないといけない状態にはしないでください、必要な情報はすべて質問に集約してくださいという意味です。