Warning: session_start(): open(/var/lib/php/sessions/sess_fel3l7fc1qs4jtuff2qsl93m9k, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
static Triple ai_tripelize(S s) {
S x = "";
if (endsWith(s, "?")) x = " (?)"; // statement with question mark, e.g. "Al Gore invented the Internet?"
Triple t = ai_tripelize_impl(dropPunctuationAtEnd(s));
if (t != null && !endsWith(t.b, "?")) t.b += x;
ret t;
}
static Triple ai_tripelize_impl(S s) {
L tok = nlTok(s);
S a = get(tok, 1);
if (a == null) null;
if (ai_questionWord_1(a)) { tok = subList(tok, 2); a = get(tok, 1); }
if (ai_yesNoQuestionWord_1(a) && neqicOneOf(a, "am", "are", "is")) {
L tok2 = subList(tok, 2);
int i = indexOfFirstVerb(tok2);
S v = get(tok2, i);
if (v != null) {
S before = trimJoinSubList(tok, 0, indexOfSubList(tok, tok2));
S middle = trimJoinSubList(tok2, 0, i);
S rest = trimJoinSubList(tok2, i+1);
// a = "do", middle, v = "love", rest = "me"
if (eqic(a, "does")) v = verbToThirdPerson(v) + "?";
else if (eqic(a, "do")) v = v + "?";
else if (eqic(a, "did")) v = verbToPast(v) + "?";
else v = a + " " + v + "?";
ret triple(joinWithSpace(before, middle), v, rest);
}
}
if (isVerb(a)) {
tok = subList(tok, 2);
//int i = ai_splitTwoNounPhrases(tok);
int i = ai_endOfNounPhrase(tok);
ret triple(
trimJoinSubList(tok, 0, i),
a + "?",
trimJoinSubList(tok, i));
}
int i = ai_endOfNounPhrase(tok);
int j = indexOfFirstVerb(tok, i);
ret triple(
trimJoinSubList(tok, 0, j),
tok.get(j),
trimJoinSubList(tok, j+2));
}