1
4

1 回答 1

1

这实际上很难做到。MeCab、KuromojiSudachiKyTeaRakuten- MA——所有这些日本解析器和它们使用的字典数据库(IPADIC、UniDic、Neologd 等)都选择解析词素,即最小的意义单位,而不是你所说的“单词”,如您的示例所示,通常包含多个语素。

人们通常会结合一些策略来改进这一点。

  1. 尝试使用不同的字典。我注意到 UniDic 有时比 IPADIC 更一致。
  2. 使用像 J.DepP 这样的bunsetsu分块器,它使用 MeCab 的输出将词素分块到bunsetsu中。根据这篇论文,“我们使用 bunsetsu 的概念,它大致对应于英语中的最小短语,由实词(基本上是名词或动词)和围绕它们的功能词组成。” J.DepP 的 bunsetsu 输出通常对应于“单词”。我个人不认为,比如说,一个名词+助词短语是一个“词”,但你可能会——这两个通常在一个 bunsetsu 中。(J.DepP 也很漂亮,因为它还输出了 bunsetsu 之间的依赖关系树,因此您可以看到哪个修改或次要于另一个。请参阅我的示例。)
  3. 最后一个你不应该忽略的技术是扫描字典(JMdict)以查找相邻语素的运行;这有助于找到成语或成语。它可能会变得复杂,因为字典可能在您的句子中有一个短语的反共轭形式,因此您可能必须同时搜索MeCab 输出的字面句子形式和反共轭(引理)形式。

我有一个开源包,它结合了上述所有内容,称为Curtiz:它通过 MeCab 运行文本,使用 J.DepP 将它们分块成 bunsetsu 以查找属于一起的词素组,通过在字典中查找来识别词汇,分离助词和共轭词组等在日语 NLP 中。

希望这会有所帮助。我很高兴就上述任何主题进行更多详细说明。

于 2021-04-11T03:36:18.557 回答