Permalink
Browse files

more MASU formal to casual pattern

  • Loading branch information...
1 parent 6c559ba commit c8b88029d46334e02128175f4274276aa594aca5 @tomill committed Dec 15, 2010
Showing with 42 additions and 13 deletions.
  1. +11 −3 lib/Acme/Ikamusume/Rule.pm
  2. +31 −10 t/01_geso.t
View
@@ -70,15 +70,23 @@ sub rules {
# formal MASU to casual
'node.readable' => sub {
my ($self, $node, $words) = @_;
- if ($words->[CURR] eq 'ます' and $node->features->{pos} eq '助動詞' and
- $node->prev->features->{pos} eq '動詞') {
+ unless ($node->features->{original} eq 'ます' and
+ $node->features->{pos} eq '助動詞' and
+ $node->prev->features->{pos} eq '動詞') {
+ return NEXT;
+ }
+ if ($node->features->{inflect_type} eq '基本形') { # ます
$words->[PREV] = $node->prev->features->{original};
$words->[CURR] = '';
if ($node->next->features->{pos} =~ /^助詞/) {
$words->[CURR] .= 'でゲソ';
}
}
+ if ($node->features->{inflect_type} eq '連用形' and # ます
+ $node->features->{category3} !~ /五段/) { # 五段 => { -i/っ/ん/い }
+ $words->[CURR] = '';
+ }
NEXT;
},
@@ -203,7 +211,7 @@ sub rules {
}
if ($node->features->{pos} eq '動詞' and
- $node->features->{inflect_type} eq '基本形' and
+ $node->features->{inflect_type} =~ '基本形' and
$node->next->features->{pos} =~ /^助詞/) {
$words->[CURR] .= 'でゲソ';
}
View
@@ -424,37 +424,58 @@ __DATA__
--- match: 名古屋と言えばエビ.+フリャー
-=== formal MASU to casual 五段
+=== formal MASU 基本形 to casual 五段
--- input: 今やります。
--- expected: 今やるでゲソ。
-=== formal MASU to casual 五段 + 助詞 / GESO pos
+=== formal MASU 基本形 to casual 五段 + 助詞 / GESO eos
--- input: 言いますか。
--- expected: 言うでゲソか。
-=== formal MASU to casual 上一段
+=== formal MASU 基本形 to casual 上一段
--- input: います。
--- expected: いるでゲソ。
-=== formal MASU to casual 上一段 + 助詞 / GESO pos
+=== formal MASU 基本形 to casual 上一段 + 助詞 / GESO eos
--- input: いますか。
--- expected: いるでゲソか。
-=== formal MASU to casual 下一段
+=== formal MASU 基本形 to casual 下一段
--- input: 見えます。
--- expected: 見えるでゲソ。
-=== formal MASU to casual 下一段 + 助詞 / GESO pos
+=== formal MASU 基本形 to casual 下一段 + 助詞 / GESO eos
--- input: 見えますか。
--- expected: 見えるでゲソか。
-=== formal MASU to casual カ変
+=== formal MASU 基本形 to casual カ変
--- input: 来ます。
--- expected: 来るでゲソ。
-=== formal MASU to casual カ変 + 助詞 / GESO pos
+=== formal MASU 基本形 to casual カ変 + 助詞 / GESO eos
--- input: 来ますか。
--- expected: 来るでゲソか。
-=== formal MASU to casual サ変
+=== formal MASU 基本形 to casual サ変
--- input: します。
--- expected: するでゲソ。
-=== formal MASU to casual サ変 + 助詞 / GESO pos
+=== formal MASU 基本形 to casual サ変 + 助詞 / GESO eos
--- input: しますか。
--- expected: するでゲソか。
+=== formal MASU 連用形 to casual 五段
+--- input: 書きました。
+--- expected: 書いたでゲソ。
+--- SKIP
+=== formal MASU 連用形 to casual 五段
+--- input: やりました。
+--- expected: やったでゲソ。
+--- SKIP
+=== formal MASU 連用形 to casual 下一
+--- input: 受けました。
+--- expected: 受けたでゲソ。
+=== formal MASU 連用形 to casual 上一
+--- input: 起きました。
+--- expected: 起きたでゲソ。
+=== formal MASU 連用形 to casual カ変
+--- input: 来ました。
+--- expected: 来たでゲソ。
+=== formal MASU 連用形 to casual サ変
+--- input: しました。
+--- expected: したでゲソ。
+
=== formal to casual userdic
--- input: そうでした。

0 comments on commit c8b8802

Please sign in to comment.