Open RYoTA1209 opened 3 years ago
allduplicate_list
の最頻出単語を求める時エラーになる対処法!main.py 202行目
quest = quest_list[18][4]
で試した見ると以下のエラーが発生する.
例外が発生しました: StatisticsError
no unique mode; found 2 equally common values
File "/workspace/NLP-Container/main.py", line 139, in get_standard_list
base_word = (mode(allduplicate_list))
File "/workspace/NLP-Container/main.py", line 213, in <module>
standard_list = get_standard_list(normalize_list)
most_common()
メソッドを利用して最頻出単語のリストを取得できる。+ from collections import Counter
def get_standard_list(normalize_list:list) -> list:
vectors = Magnitude("chive-1.2-mc5.magnitude")
standard_list = []
normalize_word_set = set([normalizeword_tuple[0] for normalizeword_tuple in normalize_list])
duplicate_list = []
allduplicate_list = []
for word in normalize_list:
# vectors.most_similar(word[0], topn=10)はtuple型のlistである.
# 単語のリスト化を行う
word_set = set([word_tuple[0] for word_tuple in vectors.most_similar(word[0], topn=10) ])
#重複単語のリスト化
duplicate_list = list((normalize_word_set & word_set))
allduplicate_list.extend(duplicate_list)
#allduplicate_listの再頻出単語
- base_word = (mode(allduplicate_list))
+ base_word = Counter(allduplicate_list).most_common()[0][0]
for normalize_word in normalize_list:
standard_list.append((base_word,normalize_word[1],normalize_word[2],normalize_word[3]))
return standard_list
概要
入力:正規化処理の結果(概念A, 数量Xa)のリスト
出力:未知数xの演算結果
目的
加算減算問題を解くため
タスク
例:(概念A, 数量Xa, 動詞Va)のタプル
(Ⅰ)時系列変化問題
と(Ⅱ)部分全体・包含関係問題
に区別する(Ⅰ)時系列変化問題
となる