gpt4 book ai didi

java - 文本解析: Distinguish between "dictionary words" and names

转载 作者:行者123 更新时间:2023-12-01 04:48:32 27 4
gpt4 key购买 nike

我有包含“词典单词”和名称的英语和德语文本。

e.g. "... In Florence the painter Leonardo built ..."

我有一个 Java 程序,需要确定每个单词是否是相应语言的名称或单词。

e.g. names={..., Florence, Leonardo, ...}, language words={..., In, the, painter, built, ...}

我看到两种方法:

  1. 使用相应的字典列表,将其加载到哈希结构中,查看该单词是否在其中(语言单词)或不存在(名称/拼写错误)。

    问题/问题:

    我找不到排除姓名的德语单词列表

    单词屈折(德语中较复杂)可能不在列表中

  2. 使用服务/API 将单个单词翻译成另一种语言,查看该单词是否已更改(语言单词)或未更改(名称/拼写错误)。

    问题/问题:

    名称也可以翻译,例如佛罗伦萨 > 弗洛伦斯

    我找不到离线词典列表/api。因此,我认为使用在线服务是正确的选择,但像谷歌翻译这样的大型服务并不是免费的。

当然,有些名称类似于字典单词,并且在这两种方法中它们都被识别为字典单词,这很好。

主要问题是:是否有没有英语和德语名称的综合词典列表,最多有单词弯曲?

或者:是否有免费(在线)API 来完成该任务?还有其他解决办法吗?

最佳答案

通过检查第一个字母是否大写,你可以找到很多名字。之后,您将排除所有尾随句末字符 {".", "!", "?"} 的字符。

假设这更像是一个故事,那么可以肯定地假设一个名字会出现多次。使用您已经找到的所有名称,并根据句子结尾字符后出现的所有大写单词列表进行检查。添加那些相等的。

仅当您想要每一次发生而不仅仅是发生的事件时才应完成第二部分。

至少,这就是我的处理方式。

编辑:我对德语不太熟悉,但我的方法确实会对德语有一些问题。请参阅 Joop Eggen 针对该语言的解决方案。

关于java - 文本解析: Distinguish between "dictionary words" and names,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15415540/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com