mysql,想请教一下我的想法怎么实现(方向或者有关知识就行)
1.我的数据是英文的,能不能按特定方法翻译?
假设我要翻译的单词是river,正常翻译肯定是河流,但我想翻译成河水(举个例子),简单来讲我就是想让一个单词翻译成我设置的词汇
2.怎么把无规则数据重新按特定字段分类
举个例子:
id 1 2 3
1 包子 足球 烤鸭
更改之后
id food1 food2 tag3
1 包子 烤鸭 足球
只要表之间能建立好关联关系就可以
1.如果每个单词都固定翻译就可以的话,那么技术栈很多,但基本和mysql无关。例如vue提供vue-i18n,gcc提供gettext,微软自有一套专门的globalization kit(我忘了叫什么了……),但都是前端或后端来处理,我个人没听说过用数据库来做的。当然,你愿意的话也可以,用一个专门的表放两列,一列中文一列英文也可以,用英文列作为主键。但极少有这么做的!我还是建议你考虑用前端或后端来处理翻译问题。
2.这个用数据库应该也做不到吧……可以人工标记(label),就是人工地重新组织整个表。也可以考虑写分类器,但我不是做AI的,对自动处理这种东西没有什么特殊想法。主要是NLP一般是处理整句的,一般是给单词标记好训练识别整句的AI(标记过程往往是纯手工的,当然也有无监督机器学习,但那也是有句子的情况啊),我还没有听说过没有句子直接让AI自己标记词性的。
补充:其实也不一定需要句子,但一般的机器学习,至少要有词云或者其他什么东西体现词汇间有什么关联性,直接无监督无标记自动打标记的,那确实没见过。当然也许大数据量往里喂,硬算也能算出来……但这工作量已经比你手动重新输入表还要大了。
自动化的思路就是训练好模型后再往里送数据;但这也和mysql无关。训练好模型再去分类,那就和一般的NLP流程没有太大差异。不过你的这个问题本质就是在问“如何自动给单词打标记”,但训练模型本身就需要标记;如果有别人做好的工作那倒是好办了,没有的话,恐怕工作量还是比手动重新建表要大。
楼上include_iostream_ 说得不错,但关于第一点要纠正下,翻译数据当然是要放数据库里(不一定是mysql),因为这个东西会不断扩充及修正,没有什么比一句insert或者update更简单的了,前端或者后端是不可能在代码里固定好那么多翻译的数据的。
然后,根据每次需要翻译的量来说,如果是每次只翻译几个,丢给前端或后端无所谓,但如果是超多行数据要进行翻译,当然是丢数据库里关联一下更轻松。
最后,无论什么方案,最终还是要看细化的场景,目前这题里透露的信息不够选择明确的方向