From 3fa061f95721e5a338fba40d07098c18c1751839 Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Tue, 8 Feb 2022 11:44:30 +0800 Subject: [PATCH] Reset // Let User LMs print error logs when data format corrupts. --- .../SubLanguageModels/AssociatedPhrases.cpp | 6 ++++++ .../SubLanguageModels/PhraseReplacementMap.cpp | 7 +++++++ .../LangModelRelated/SubLanguageModels/UserPhrasesLM.cpp | 7 +++++++ 3 files changed, 20 insertions(+) diff --git a/Source/Modules/LangModelRelated/SubLanguageModels/AssociatedPhrases.cpp b/Source/Modules/LangModelRelated/SubLanguageModels/AssociatedPhrases.cpp index 3fc3f949..29cbe271 100644 --- a/Source/Modules/LangModelRelated/SubLanguageModels/AssociatedPhrases.cpp +++ b/Source/Modules/LangModelRelated/SubLanguageModels/AssociatedPhrases.cpp @@ -83,6 +83,12 @@ bool AssociatedPhrases::open(const char *path) while ((state = reader.Next(&keyValue)) == KeyValueBlobReader::State::HAS_PAIR) { keyRowMap[keyValue.key].emplace_back(keyValue.key, keyValue.value); } + // 下面這一段或許可以做成開關、來詢問是否對使用者語彙採取寬鬆策略(哪怕有行內容寫錯也會放行) + if (state == KeyValueBlobReader::State::ERROR) { + // close(); + syslog(LOG_CONS, "AssociatedPhrases: Failed at Open Step 5. On Error Resume Next.\n"); + // return false; + } return true; } diff --git a/Source/Modules/LangModelRelated/SubLanguageModels/PhraseReplacementMap.cpp b/Source/Modules/LangModelRelated/SubLanguageModels/PhraseReplacementMap.cpp index d0eb6033..9434e4ff 100644 --- a/Source/Modules/LangModelRelated/SubLanguageModels/PhraseReplacementMap.cpp +++ b/Source/Modules/LangModelRelated/SubLanguageModels/PhraseReplacementMap.cpp @@ -24,6 +24,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR TH #include #include #include +#include #include "KeyValueBlobReader.h" @@ -77,6 +78,12 @@ bool PhraseReplacementMap::open(const char *path) while ((state = reader.Next(&keyValue)) == KeyValueBlobReader::State::HAS_PAIR) { keyValueMap[keyValue.key] = keyValue.value; } + // 下面這一段或許可以做成開關、來詢問是否對使用者語彙採取寬鬆策略(哪怕有行內容寫錯也會放行) + if (state == KeyValueBlobReader::State::ERROR) { + // close(); + syslog(LOG_CONS, "PhraseReplacementMap: Failed at Open Step 5. On Error Resume Next.\n"); + // return false; + } return true; } diff --git a/Source/Modules/LangModelRelated/SubLanguageModels/UserPhrasesLM.cpp b/Source/Modules/LangModelRelated/SubLanguageModels/UserPhrasesLM.cpp index cd3abb6a..3c134416 100644 --- a/Source/Modules/LangModelRelated/SubLanguageModels/UserPhrasesLM.cpp +++ b/Source/Modules/LangModelRelated/SubLanguageModels/UserPhrasesLM.cpp @@ -24,6 +24,7 @@ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR TH #include #include #include +#include #include "KeyValueBlobReader.h" @@ -84,6 +85,12 @@ bool UserPhrasesLM::open(const char *path) // We invert the key and value, since in user phrases, "key" is the phrase value, and "value" is the BPMF reading. keyRowMap[keyValue.value].emplace_back(keyValue.value, keyValue.key); } + // 下面這一段或許可以做成開關、來詢問是否對使用者語彙採取寬鬆策略(哪怕有行內容寫錯也會放行) + if (state == KeyValueBlobReader::State::ERROR) { + // close(); + syslog(LOG_CONS, "UserPhrasesLM: Failed at Open Step 5. On Error Resume Next.\n"); + // return false; + } return true; }