Wei-Hsu-AI commited on
Commit
9e506cf
·
1 Parent(s): 778c9c3

fix: random choice data and stories.json

Browse files
Files changed (2) hide show
  1. app.py +7 -4
  2. stories.json +30 -15
app.py CHANGED
@@ -17,7 +17,7 @@ answer_judge = SentenceTransformer('thenlper/gte-base-zh')
17
  intro="""
18
  ### 玩法介紹
19
 
20
- 遊戲一開始,我會給你一個不完整的故事,這個故事通常有很多未知的細節,你需要透過提出問題來探索更多線索。你可以問我各種問題,不過請記住,我只能回答三種答案:「是」、「不是」或「不知道」。你的目標是根據這些有限的答案,逐步推理出故事的完整脈絡,從而揭開事件的真相。
21
 
22
  這個遊戲的名稱來自於其中一個最經典的題目,海龜湯的故事。由於這類型的遊戲強調水平思考,也就是用非傳統的方式解決問題,這些遊戲就被大家統稱為「海龜湯」,有點像是可樂成為所有碳酸飲料的代名詞。
23
 
@@ -41,6 +41,7 @@ class PuzzleGame:
41
  隨機選擇一個謎題並設定當前謎題的標題、故事和答案。
42
  """
43
  puzzle = random.choice(self.stories)
 
44
  self.title = puzzle['title']
45
  self.surface = puzzle['surface']
46
  self.bottom = puzzle['bottom']
@@ -49,7 +50,9 @@ class PuzzleGame:
49
  """
50
  返回填入謎題故事和答案的 prompt
51
  """
52
- prompt = "你是遊戲的裁判,根據提供的<湯麵>和<湯底>理解故事。玩家會根據<湯麵>進行猜測,並要求你判斷猜測是否正確。你只能回答三種答案:正確、錯誤、不知道。判定規則:1. 玩家猜測正確:回答\"正確\"。2. 玩家猜測錯誤:回答\"錯誤\"。3. 無法從<湯麵>和<湯底>得出結論或無法推理的問題:回答\"不知道\"。注意:1. 玩家只能看到<湯麵>,所以他是基於<湯麵>進行猜測,即使<湯底>中有其他信息,也不會影響對<湯麵>的判定。2. 如果猜測無法從故事中推理出結論,回答\"不知道\"。3. 嚴格遵守只回答\"正確\"、\"錯誤\"、\"不知道\"。<湯麵>{self.surface}<湯底>{self.bottom}請判斷以下玩家猜測:"
 
 
53
 
54
  return prompt
55
 
@@ -109,8 +112,8 @@ def check_question(question, history):
109
  predicted = predict_masked_token(text)
110
 
111
  predicted_map = {
112
- '是':'',
113
- '否':'不是',
114
  '不':'不知道'
115
  }
116
 
 
17
  intro="""
18
  ### 玩法介紹
19
 
20
+ 遊戲一開始,我會給你一個不完整的故事,這個故事通常有很多未知的細節,你需要透過提出問題來探索更多線索。你可以問我各種問題,不過請記住,我只能回答三種答案:「正確」、「錯誤」或「不知道」。你的目標是根據這些有限的答案,逐步推理出故事的完整脈絡,從而揭開事件的真相。
21
 
22
  這個遊戲的名稱來自於其中一個最經典的題目,海龜湯的故事。由於這類型的遊戲強調水平思考,也就是用非傳統的方式解決問題,這些遊戲就被大家統稱為「海龜湯」,有點像是可樂成為所有碳酸飲料的代名詞。
23
 
 
41
  隨機選擇一個謎題並設定當前謎題的標題、故事和答案。
42
  """
43
  puzzle = random.choice(self.stories)
44
+ # puzzle = self.stories[1]
45
  self.title = puzzle['title']
46
  self.surface = puzzle['surface']
47
  self.bottom = puzzle['bottom']
 
50
  """
51
  返回填入謎題故事和答案的 prompt
52
  """
53
+ few_shot = "1.玩家猜測:賣給他貨的人不是老闆;你的回答:是\n2.玩家猜測:他被嚇傻和零食本身有關;你的回答:不\n3.玩家猜測:零食是合法的;你的回答:不知道"
54
+
55
+ prompt = f"你是遊戲的裁判,根據<湯麵>和<湯底>判斷玩家的猜測是否正確。你的回答只能是以下三種之一:1.是:玩家的猜測與故事相符。2.否:玩家的猜測與故事不符。3.不知道:無法從<湯麵>和<湯底>推理得出結論。注意:1. 玩家只能看到<湯麵>,你的判定也只能基於<湯麵>。2. 無法從故事中推理的問題,回答\"不知道\"。<湯麵>{self.surface}<湯底>{self.bottom}<範例>{few_shot}\n請判斷以下玩家猜測:"
56
 
57
  return prompt
58
 
 
112
  predicted = predict_masked_token(text)
113
 
114
  predicted_map = {
115
+ '是':'正確',
116
+ '否':'錯誤',
117
  '不':'不知道'
118
  }
119
 
stories.json CHANGED
@@ -1,27 +1,42 @@
1
  [
2
  {
3
- "title":"日記",
4
- "surface":"2019 年 2 月,女兒不去上學了,我勸不動她。\n2019 年 6 月,女兒每天盯着電視和電腦看,我怕她眼睛弄壞了。\n2019 年 12 月,女兒好像開朗了一些,看到她經常和朋友語音聊天。\n2020 年 3 月,女兒笑了,說她做了一件大好事,我也很高興。\n2020 年 5 月,女兒的狀態惡化了,整夜不睡覺,她也不和我說話。\n2020 年 6 月,總覺得最近家裏開銷特別大,嗯……?是我糊塗了嗎。\n2020 年 10 月,女兒出門了,最近疫情好些了之後她經常出門,好像朋友也變多了,太好了。\n2021 年 2 月,我收到了一張律師函,上面寫着女兒的名字,怎麼會?!\n2021 年 8 月,我把女兒禁足了",
5
- "bottom":"女兒因為一些原因拒絕去上學,6 月陳情令上線,女兒沉迷其中。同年 12 月,女兒混了肖戰的飯圈。這段期間,女兒一直在給肖戰當網路水軍。 20 年 3 月,AO3 被檢舉。 5 月,肖戰遭到大批網友抵制,資本開始審視這個東西是不是值得投資。 6 月光點上線,女兒偷家裡的錢買數字專。疫情好轉後,女兒照例出門參加飯圈活動,漸漸開始認清它的真面目。 21 年 2 月,蕭戰狀告\"黑粉\"。 8 月肖戰勝訴,粉絲被罰 3W,故事中的這位父\/母把女兒徹底禁足了。"
 
 
 
6
  },
7
  {
8
- "title":"打折的零食",
9
- "surface":"他在小賣部買了一批折扣零食,感覺自己賺了,暗暗自喜。第二天看新聞時,他被嚇傻了。",
10
- "bottom":"他之前在這家店買過一次零食,覺得老闆娘多收了他錢。這次來看到是一個男子在看店,他提到上次可能算錯了錢,男子說這次給他打折作為補償。他覺得自己賺到了便宜很開心。第二天,他從新聞得知這家店的店主夫妻被殺害,而男子是殺人後冒充店主的人。"
 
 
 
11
  },
12
  {
13
- "title":"1237",
14
- "surface":"幼兒園的一個小朋友數數總是說\"1,2,3,7\",總是漏掉中間的\"4,5,6\"。可是當我糾正她時,她卻說這是她媽媽教她的,我很疑惑,便提出去她家家訪,家訪結束後我也對她說是\"1,2,3,7\"",
15
- "bottom":"身為一個幼師,我發現一個小朋友數數總是錯的,她堅持數「1237」。當我教她正確的數數方式時,她卻說媽媽教的就是「1237」。我提出家訪,她帶我去了醫院。原來她的媽媽患有心臟病,生命所剩無幾。為了陪女兒過最後一個生日,她編織了「3後面是7」的謊言,期望撐到七月。我深受感動,也對她說「3後面確實是7"
 
 
 
16
  },
17
  {
18
- "title":"遺失的手機",
19
- "surface":"我的手機不見了,當我找到它時,我嚇了一跳。",
20
- "bottom":"我和閨蜜去酒吧蹦迪,喝了一點酒後發現手機不見了。我請閨蜜幫忙撥打我的號碼,電話接通後是個陌生男子的聲音。酒吧太吵,我們還沒聽清楚對方的話,電話就被掛斷了。回家後,我發現手機就在床頭,才猛然想起我根本沒帶手機出門,而且我一直獨自居住,頓時毛骨悚然。"
 
 
 
21
  },
22
  {
23
- "title":"洗衣機",
24
- "surface":"夜晚,貧窮的拾荒者撿了一臺洗衣機回家。半夜他從睡夢中驚醒,好像聽到了洗衣機啓動的聲音。",
25
- "bottom":"兇手將殺害的受害者肢解後,把屍塊放進洗衣機,並用洗衣機運到郊外拋屍。當兇手挖坑埋屍時,一位拾荒者撿走了洗衣機,開著小三輪離去。兇手跟蹤拾荒者到家後,潛入其家中啟動洗衣機,試圖清洗殘留的血跡。"
 
 
 
26
  }
27
  ]
 
1
  [
2
  {
3
+ "id": 1,
4
+ "title": "山頂",
5
+ "surface": "一個人住在山頂的小屋裏,半夜聽見有敲門聲音,但是他打開門卻沒有人,於是去睡了。第二天,有人在山腳下發現死屍一具,請問發生了什麼?",
6
+ "bottom": "懸崖下的人好不容易爬了上來,敲門求救,但門一打開,他又被推下了懸崖,最後從山頂掉下摔死了。",
7
+ "user_guess": "是小屋裏的人死了",
8
+ "label": "F"
9
  },
10
  {
11
+ "id": 2,
12
+ "title": "閨蜜",
13
+ "surface": "湯瑪斯第一次和老婆去老婆閨蜜家,結果回來老婆就要跟他離婚了,請問為什麼?",
14
+ "bottom": "湯瑪斯的妻子發現丈夫的手機自動連接到了她閨蜜家的WiFi。",
15
+ "user_guess": "老婆發現他和閨蜜有染",
16
+ "label": "T"
17
  },
18
  {
19
+ "id": 4,
20
+ "title": "隧道",
21
+ "surface": "一個人坐火車去鄰鎮看病,看完之後病全好了。回來的路上火車經過一個隧道,這個人就跳車自殺了,爲什麼?",
22
+ "bottom": "他的病是眼疾,完全瞎了,看完病眼睛復明,但經過隧道時突如其來的黑暗讓他以為自己又瞎了,內心崩潰後選擇自殺。",
23
+ "user_guess": "他考試不及格了",
24
+ "label": "F"
25
  },
26
  {
27
+ "id": 5,
28
+ "title": "條件",
29
+ "surface": "男生喜歡女生好久了,他成績非常不好,女生說只要兩人能進同一所大學,就答應當他女朋友,後來他做到了,而女子卻瘋了,請推理。",
30
+ "bottom": "女生考上了醫學院,而男子卻沒考上。女子後來得知,男子以解剖課大體老師的身份進入了同一所大學,她因此精神崩潰,最後瘋了。",
31
+ "user_guess": "男生確實死了,在女生學校裏��解剖道具",
32
+ "label": "T"
33
  },
34
  {
35
+ "id": 14,
36
+ "title": "十八樓",
37
+ "surface": "小明家住十八樓,有時回家會直接搭電梯到十八樓,但有時他會先搭到十五樓,再爬樓梯到十八樓,為什麼?",
38
+ "bottom": "小明還小,按不到18樓的按鈕,但只要他帶傘,就能用傘尖按到按鈕。",
39
+ "user_guess": "小明按不到部分電梯按鍵",
40
+ "label": "T"
41
  }
42
  ]