gpt4 book ai didi

java - 在 Linux 中使用 PostgreSQL 在基于 Java/Scala 的应用程序中访问(英语) 'dictionary' 的最快、最简单的方法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:18:39 25 4
gpt4 key购买 nike

我有一个基于 Scala 的应用程序(因此可以访问标准的 Java 内容),利用 PostgreSQL 数据库,在 Linux 上运行。

我提到数据库和操作系统是因为,我知道 Postgres 有某种字典可以用来做 its text-search indexing ,而且我认为大多数 Linux 系统都会有某种基线词典,至少对于像拼写检查这样的简单事情。不过,利用这些工具是否容易或实用是另一回事。

我不需要完整的单词定义,但我需要能够回答如下问题:

  • 一个词属于哪个词性? (例如,单词 X 是名词吗?它是动词吗?)
  • 一个词是复数吗?如果是这样,它的单数形式是什么? (反之亦然。)

该解决方案不需要超快,但如果它至少可用于服务组合使用缓存解决方案的 Web 请求,那就太好了。

我知道那里有很多选择——谷歌搜索“java 字典”会挖掘出一个负载,但完全不清楚这些项目中哪些仍然活跃,哪些更有用(主观的,我知道 :P ),这对我的目的来说也可能是矫枉过正。

此外,理想的解决方案是 (a) 与我已有的堆栈一起工作,或 (b) 作为简单的 sbt 依赖项!

最佳答案

如评论中所述,您可以在 Linux 系统上使用字典。我的在 /usr/share/dict/american-english 中安装了 american-english。这本词典包括将近 100,000 个单词,可以用来进行简单的拼写检查。如果您需要其他语言或语言变体,您可以通过包管理器安装它。

使用 Scala 和该词典可以通过测试给定单词是否存在于单词集中来进行简单的拼写检查。

scala> scala.io.Source.fromFile("/usr/share/dict/american-english").getLines.toSet
//Removed some apostrophes for the mark down.
res0: scala.collection.immutable.Set[String] = Set(professed, groundbreakings, slenderized, Nickelodeons, pathogens, OCasey, metacarpals, pokeys, chary, purifies, Borgs, ...
scala> res0.contains("foo")
res1: Boolean = false

scala> res0.contains("computer")
res2: Boolean = true

dict 是另一个 Linux 实用程序,可用于查找单词的词性和复数。我将从它的手册页中借用描述:

dict is a client for the Dictionary Server Protocol (DICT), a TCP transaction based query/response protocol that provides access to dictionary definitions from a set of natural language dictionary databases.

dict 命令可以在本地运行,也可以在服务器上运行。困难的部分是你必须解析输出以获得你想要的信息,这可以在 Scala 或你选择的文本解析工具中完成。例如,dict run 给出了分别以 nv 开头的输出给出的名词和动词的几个定义。

n 1: a score in baseball made by a runner touching all four bases safely; ...
v 1: move fast by using one's feet, with one foot off the ground at any given time;...

对于复数,dict goose 输出以下复数形式的 goose,您还必须解析才能找到它。

pl. {Geese} 

关于java - 在 Linux 中使用 PostgreSQL 在基于 Java/Scala 的应用程序中访问(英语) 'dictionary' 的最快、最简单的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26227839/

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