构建反向语言词典

我想知道构建一个反向语言词典需要什么。

用户输入类似这样的内容:“红色 可食用 水果”,然后应用程序返回:“西红柿、草莓、…”

我假设这些结果应该基于某种形式的关键词,比如同义词,或者某种形式的字符串搜索。

这是一个该概念的在线实现

那里发生了什么,涉及哪些方面?

EDIT 1:
这个问题更多是关于“如何”做,而不是“用哪个工具”; 但是,请随意提供您认为可以完成这项工作的工具。


回答:

任何方法基本上都涉及拥有一个规范化的数据库。这是一个你的数据库结构可能是什么样子的基本示例:

// terms
+-------------------+
| id | name         |
| 1  | tomatoes     |
| 2  | strawberries |
| 3  | peaches      |
| 4  | plums        |
+-------------------+

// descriptions
+-------------------+
| id | name         |
| 1  | red          |
| 2  | edible       |
| 3  | fruit        |
| 4  | purple       |
| 5  | orange       |
+-------------------+

// connections
+-------------------------+
| terms_id | descript_id  |
| 1        | 1            |
| 1        | 2            |
| 1        | 3            |
| 2        | 1            |
| 2        | 2            |
| 2        | 3            |
| 3        | 1            |
| 3        | 2            |
| 3        | 5            |
| 4        | 1            |
| 4        | 2            |
| 4        | 4            |
+-------------------------+

这是一个相当基本的设置,但是它应该让你了解使用查找表的多对多关系如何在数据库中工作。

您的应用程序必须分解字符串,并且能够处理用户输入规范化,例如消除后缀。然后脚本将查询connections表并返回结果。

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注