---
# System prepended metadata

title: Weekly Meeting 2/17
tags: [Presentation, ' Label Sequence']

---

---
tags: Presentation, Label Sequence
slideOptions:
  transition: slide
---


# Weekly Meeting 2/17

---

## Outline
- 2/3 速率題解題策略(設計`一般速率`) 
- 2/3 閱讀 2018小學數學script by許老師
- 2/4 語意組標註修正
- 2/4 分析新舊方法
- 2/5 問題分析(相同問句但條件句不同)
- 未完成
    - 整理M槽
    - 修HackMD
---

## 2/3
- 速率題細分為數個題型:
    - 已經有策略: 追及、相遇、賽跑、相離、流水
    - 還沒有策略: 方向性描述(是否要從速率題中獨立)、算平均速率、一般速率
        - 算平均速率: 有一個距離和兩個不同(來回)的速率、時間，求平均速率或是總時間
        - 一般速率: 題目只有一個速率、時間、距離，求其中一個值
- 設計`一般速率`解題策略
    - 一般速率的題目
        - > 甄甄跑200公尺花了40秒，她跑步的速度是幾公尺/秒？
        - > 甲地到乙地相距33.15公里，如果以分速780公尺的速率來回一趟，需要幾時幾分？
    - sentence type: 速率、距離、時間、跑幾趟、距離時間(可以轉化成一種速率的表示)
        - > (範例句子)時間距離: 甄甄跑200公尺花了40秒
        - > (範例句子)跑幾趟: 來回一趟
            題目中會有"來回"的敘述，用跑幾趟表示趟數，若題目中未提到就把趟數預設為1
    - calculation
        - $$
          跑幾趟 = 跑幾趟 | 1 \\ 
          \frac{距離 \times 跑幾趟}{時間} = 速率
          $$

---

## 2/4
- 語意組標註修正
    - 與Lars討論後續打包給語意組的文件格式
        - 經過1000 sample分類後提到有一些題因為題目敘述有誤需要做文字修改。現行的題目id是利用題目做hash排序，因此有些題目經修改後id會變。
        - 若要拆句: 用'$-$'表示由哪個sid句子拆成數個小句子
            - 例: 
                - 原句: {123|ID}  {1|SID}  {道路兩旁共種植100棵樹|子句}
                - 拆句後: 
                    - {123|ID}  {1-1|SID}  {道路兩旁|子句} 
                    - {123|ID}  {1-2|SID}  {共種植100棵樹|子句}
        - 若要合句: 用'$\&$'連接表示哪兩個sid句子合併成一個句子
            - 例:
                - 原句: 
                    - {123|ID}  {1|SID}  {道路兩旁|子句} 
                    - {123|ID}  {2|SID}  {共種植100棵樹|子句}
                - 合句後: {123|ID}  =={1&2|SID}==  {道路兩旁共種植100棵樹|子句}
- 分析新舊方法
    - 找例子分析並討論，說明新舊方法的==方向一致，但是新方法的樹狀結構整理方式更有條理和系統性==。script可以當作判斷物件、人稱等條件控制，讓題目能排除冗句、符合正確的解題方向，此外也有global script處理`每單位量`
    - **待討論**
        - 是否有需要標sentence type由粗至細(句子先標\[有]，下一步驟再看是人稱還是物件標成\[有_人]、\[有_物])還是都是細的(句子一開始就標成\[有_人]、\[有_物])
        - 如何把`每單位量`轉變成`有`等conversion機制
    - 同樣問句但條件句不同的題目sentence type例子: 
        - > \[A] \[A] \[一共有]
            \[A] \[B] \[一共有]
            \[C] \[C] \[一共有]
            \[C] \[D] \[一共有]
    - 舊方法(Bottom-up)
        - ![](https://i.imgur.com/dsBv1XX.png =300x200)
    - 新方法(Top-down)
        - ![](https://i.imgur.com/50rKcfl.png =500x200)

---

## 2/5
- 問題分析
    - 說明
        - 以問句為==問剩下==為例，先寫出所有相關題目的數學式子template，其中==問剩下==問句的數學式子template大多是$A-B$、$A-B-C$、$A+B-C$，再以template、sentence type不同建立新方法的樹狀結構分析問句。
        - 每次走訪的sentence type都是作用在相同一物件或人稱。如果題目問句提到兩個不同物件(物件1、物件2)，計算物件1時先將條件句中有提到物件1的句子找出，找出後就走訪sentence type做對應的運算，當走完且沒有其他跟物件1有關的句子後就接著找跟物件2有關的句子，和做物件1的方式一樣從問句(root)開始走訪完成物件2的計算。最後輸出問句要的答案時，如果是問物件1和物件2分別有多少，就輸出各自的值；如果物件1和物件2彼此有**相同種類**的關係，就將兩物件的值相加輸出。(e.g. 蘋果、橘子$\in$水果)
        - 此作法可以應付冗句的情況，因為在走訪sentence type時會限制找同一個物件有關的句子，因此冗句就不會被包含在內。
    - **待討論**
        - 這種樹狀結構是否要用recursive方式走。用recursive走訪的話，走到一個sentence type就得做運算，與原本用frame看整題的方式有點不太一樣。
        - 若條件句一開始沒有`有`的句子，是否要給初始值(default 0)以及給的時機。
            - > 爸爸給小明30元，媽媽給小明50元，小明買了60元的蛋糕後，剩下幾元?
    - 圖示
        - 說明
            - **藍色雲朵**: 代表global概念，通常是指"每單位量"。
            - **灰色node**: 問句sentence type。
            - **白色node**: 其他條件句sentence type。
            - **綠色node**: leaf，根據對到的sentence type做計算。
            - **藍色link**: (If)如果setence type是link指向的type的話，就沿著link走，直到抵達leaf做相應的計算。
            - **橘色link**: (Else，同一個物件)
            - **黑色link**: (Else，不同物件)走訪期間如果已經沒有跟該物件(物件1)有關的句子，表示該物件已經根據題目的條件完成計算，所以回到問句(root)去找另一個物件(物件2)有關的句子。
            - **紫色link**: (Else)計算完題目裡所有物件後，輸出答案。
            - **紅色link**: 如果題目還有更多條件句的話就回到藍色圓點判斷下一句sentence type做相應的運算。
        - ![](https://i.imgur.com/zjB9S4Z.png)
        - 其中這種if-else方式可以想像成將原本問題細分成數個子問題，利用`if`來控制一次只處理一個子問題，處理完後再用`else`換成處理另一個子問題，最後當所以子問題都解決後，就利用子問題的解得到原本問題的答案。
        - 例子
            - > 有5個□，賣3個□，又賣1個□，□剩多少?
            - > □、△是積木，有5個□，有10個△，賣3個□，賣5個△，積木剩多少?
            - > 有5個□，有10個△，賣3個□，賣5個△，□、△分別剩多少? 
            - > 有5個□，有10個△，賣3個□，賣5個△，有10顆蘋果，□、△分別剩多少?
