her*_*sma 3 php mysql sql mysql-management
我正在研究内容重写器,基本上它将用他们的同义词替换单词.
我在mySQL数据库中有synonms,该表包含3列
id int(11)
keyword varchar(50)
synonyms varchar(255)
Run Code Online (Sandbox Code Playgroud)
参赛作品如下:
50 slake abate,slack,decrease,lessen,minify
51 abate slake,slack,decrease,lessen,minify
52 slack slake,abate,decrease,lessen,minify
53 decrease slake,abate,slack,lessen,minify
54 lessen slake,abate,slack,decrease,minify
55 minify slake,abate,slack,decrease,lessen
Run Code Online (Sandbox Code Playgroud)
所以我的第一个想法是首先让文本中的每个单词重写(忽略黑名单中的一些关键字),然后进行SQL查询以查看数据库中是否存在该单词的同义词.但如果我有一个1000字的文本,1000 sql查询会不会太多?还有一些同义词有两个单词(比如"扔掉"),所以我最终可能要比文本中的单词做更多的查询.
有没有更好的方法来实现这一目标?
这不会像规范化架构那样更好地建模:
Word Table:
id int(11)
word varchar(50)
Synonym Table
WordId int(11)
SynonymId int(11)
Run Code Online (Sandbox Code Playgroud)
例如,单词的同义词是:
Select W2.Word
from SynonymTable S
join WordTable W on S.WordId = W.Id
join WordTable W2 on S.SynonymId = W2.Id
where W.word = 'slake'
Run Code Online (Sandbox Code Playgroud)
在WordTable(Word),SynonymTable(WordId)和SynonymTable(SynonymId)上创建索引
使用此方法有几个原因:
| 归档时间: |
|
| 查看次数: |
249 次 |
| 最近记录: |