diff --git a/nlp/src/main/java/hivemall/nlp/tokenizer/KuromojiNEologdUDF.java b/nlp/src/main/java/hivemall/nlp/tokenizer/KuromojiNEologdUDF.java
index b41d4dc..39ea743 100644
--- a/nlp/src/main/java/hivemall/nlp/tokenizer/KuromojiNEologdUDF.java
+++ b/nlp/src/main/java/hivemall/nlp/tokenizer/KuromojiNEologdUDF.java
@@ -383,8 +383,13 @@
             return UserDictionary.open(reader); // return null if empty
         } catch (Throwable e) {
             throw new UDFArgumentException(
-                "Failed to parse the file in CSV format (UTF-8 encoding is expected): "
-                        + userDictURL + '\n' + ExceptionUtils.prettyPrintStackTrace(e));
+                "Failed to parse the dictionary CSV file: " + userDictURL + '\n'
+                + "Please ensure that \n"
+                + "  1) file encoding is UTF-8, \n"
+                + "  2) no duplicate entry.\"\n"
+                + "  3) the maximum dictionary size is limited to 32MB (SHOULD be compressed using gzip with .gz suffix)\n"
+                + "  4) read timeout is set to 60 sec and connection must be established in 10 sec.\n"
+                        +  ExceptionUtils.prettyPrintStackTrace(e));
         }
     }
 
diff --git a/nlp/src/main/java/hivemall/nlp/tokenizer/KuromojiUDF.java b/nlp/src/main/java/hivemall/nlp/tokenizer/KuromojiUDF.java
index 07059b2..e84488e 100644
--- a/nlp/src/main/java/hivemall/nlp/tokenizer/KuromojiUDF.java
+++ b/nlp/src/main/java/hivemall/nlp/tokenizer/KuromojiUDF.java
@@ -383,8 +383,13 @@
             return UserDictionary.open(reader); // return null if empty
         } catch (Throwable e) {
             throw new UDFArgumentException(
-                "Failed to parse the file in CSV format (UTF-8 encoding is expected): "
-                        + userDictURL + '\n' + ExceptionUtils.prettyPrintStackTrace(e));
+                "Failed to parse the dictionary CSV file: " + userDictURL + '\n'
+                + "Please ensure that \n"
+                + "  1) file encoding is UTF-8, \n"
+                + "  2) no duplicate entry.\"\n"
+                + "  3) the maximum dictionary size is limited to 32MB (SHOULD be compressed using gzip with .gz suffix)\n"
+                + "  4) read timeout is set to 60 sec and connection must be established in 10 sec.\n"
+                        +  ExceptionUtils.prettyPrintStackTrace(e));
         }
     }
 
diff --git a/nlp/src/main/java/hivemall/nlp/tokenizer/TokenizeKoUDF.java b/nlp/src/main/java/hivemall/nlp/tokenizer/TokenizeKoUDF.java
index fb61633..1486b7f 100644
--- a/nlp/src/main/java/hivemall/nlp/tokenizer/TokenizeKoUDF.java
+++ b/nlp/src/main/java/hivemall/nlp/tokenizer/TokenizeKoUDF.java
@@ -267,7 +267,6 @@
         return stopTags;
     }
 
-
     @Nullable
     private static UserDictionary userDictionary(@Nullable final String[] userDictArray)
             throws UDFArgumentException {
@@ -375,8 +374,13 @@
             return UserDictionary.open(reader); // return null if empty
         } catch (Throwable e) {
             throw new UDFArgumentException(
-                "Failed to parse the file in CSV format (UTF-8 encoding is expected): "
-                        + userDictURL + '\n' + ExceptionUtils.prettyPrintStackTrace(e));
+                "Failed to parse the dictionary CSV file: " + userDictURL + '\n'
+                + "Please ensure that \n"
+                + "  1) file encoding is UTF-8, \n"
+                + "  2) no duplicate entry.\"\n"
+                + "  3) the maximum dictionary size is limited to 32MB (SHOULD be compressed using gzip with .gz suffix)\n"
+                + "  4) read timeout is set to 60 sec and connection must be established in 10 sec.\n"
+                        +  ExceptionUtils.prettyPrintStackTrace(e));
         }
     }
 
