Open Droidtown opened 1 year ago
那這樣是不是其實只需要留第一個「唇顎裂」的utterance就好了呢?
Nope, 只有「唇顎裂」一個 utterance 的話,因為它是 Entity,那就表示任何一個「有 Entity 的 utterance 都符合這個 pattern」。這麼一來程式會寫不完。以你下面列的 utterance 為例,應該這樣調整:
原來的 utterance:
調整後的 utterance: (把原來的五組收斂成三組)
只要這三個,分別有「有」「出生」「確診」三個動詞做為 function 的名詞,而其後被框起來的 Entity 做為 argument,這就是一個有效率的模型。這三個分別就能處理前面原來的 5 個句子裡的…
1, 4, 5
2
3
這樣才是「用少的例子,理解多的現象」,也正是人類嬰兒學習語言的模式。
了解了謝謝! 順便一提,這樣的話我想新加一個可以抓到「被診斷為唇顎裂」的utterance是不是只需要「診斷為唇顎裂」就可以了?
對。 除非「被動式」的「被」對你要做的語意邏輯而言很重要,否則只要選「診斷為唇顎裂」這個 VP 就夠了。
https://github.com/FishInBed/LDS_bot/blob/d009090cddcf1bdf202a235bff6696633c8b27fa/A_background/intent/Loki_congenital_disease.py#L64
其實只要建
有[唇顎裂]
就行了。因為你現在有兩個動詞,一是「出生」另一個是「有」,那就表示要兩個動詞都出現的時候,才會落入這一個 utterance 的 syntax structural pattern。只要使用者沒講「出生」而只說了「有唇顎裂」,那麼你這個 utterance 就會抓不到囉。Linguistics 的訓練應該讓我們知道「哪些詞彙串在一起,會剛好形成一個詞組。而人類的語言會以詞組為單位做省略、位移…等等句法操作」。因此你要做的是「建立核心語意的那個詞組」做為 utterance pattern。