1

我如何确定一个罗马化的名字是否可能或不太可能是一个日本名字?

"Yukihiro Matsumoto".likely_to_be_japanese? # => true
"John Smith".likely_to_be_japanese? # => false

理想情况下,我还想输入自由格式的文本,并检测文本中是否有可能是日语的名称、不太可能是日语的名称,或者其中没有任何名称。最好忽略误报。

"call Koichi on (02) 5550 5555".has_japanese_name_in_it? # => true
"call John on (02) 5550 5556".has_non_japanese_name_in_it? # => true
"utility bill to be shared equally".has_non_japanese_name_in_it? => false

是否有任何库可以帮助我做到这一点,最好是在 Ruby 中?还是我必须找到一个包含日语和非日语名称的语料库并构建自己的解决方案?

4

2 回答 2

1

你可以使用谷歌翻译之类的东西。将 matsumoto 从英语翻译成日语会给你一个 2 kanji 结果(matsu + moto),因为它是日语。

于 2012-07-11T04:28:38.173 回答
0

如果你想获得真正的花哨,请使用这个连接到斯坦福解析器,并破解你的句子和名称。

您正在寻找 NNP,因此您的输出如下所示

Parsing [sent. 1 len. 5]: Matsumoto was a nice guy
(ROOT
  (S
    (NP (NNP Matsumoto))
    (VP (VBD was)
      (NP (DT a) (JJ nice) (NN guy)))))

然后你会使用一些字典查找日语部分

但是,实际上,您可能会很好地拆分字符串并自己进行字典查找。

于 2012-07-11T00:13:22.883 回答