thedevil7
V2EX  ›  问与答

数据库新人, 请教前辈这样的数据量, 是否需要用到数据库?

  •  
  •   thedevil7 · Nov 9, 2012 · 4145 views
    This topic created in 4932 days ago, the information mentioned may be changed or developed.
    我想用 python 写一个拼写检查脚本, 需要收集正确的词汇以及对应的错误的词汇.

    正确的词汇可能有 1W 个以上, 但每一个正确的词汇对应的错误词汇可能有成千上万个.

    所以最后的数据就有可能有数百万个. 那么这样的数据量是否需要用到数据库呢?

    如果需要用到数据库, 应该用什么样类型的数据库?

    多谢各位指点.
    14 replies    1970-01-01 08:00:00 +08:00
    clino
        1
    clino  
       Nov 9, 2012
    要看你要怎么使用这些数据了
    如果要用数据库,那你要想清楚如何用数据库来表达
    013231
        2
    013231  
       Nov 9, 2012
    thedevil7
        3
    thedevil7  
    OP
       Nov 9, 2012
    @clino
    因为没学过数据库, 我有一个比较直观的想法不知行不行得通.

    1.一个表:
    正确词汇 - 错误词汇(们).

    因为可能的错误词汇成百上千, 所以不知这样效率会不会不高.

    2.两个表:
    1. 正确词汇. 可能附带其他内容.
    2. 错误词汇 - 正确词汇(可能有多项).

    这样只要在错误词汇表里面找到了对应的项目就能得到正确词汇.


    @013231
    真巧, 我看的是下面这篇文章.
    http://blog.youxu.info/spell-correct.html
    clino
        4
    clino  
       Nov 9, 2012
    @thedevil7 同意楼上所说"拼寫檢查通常是用貝葉斯算法做的, 不是靠蠻力收集錯詞"
    你用记错词的办法比较生硬,不能鉴别没有碰到过的新的错词
    thedevil7
        5
    thedevil7  
    OP
       Nov 9, 2012
    @clino 我原本打算产生编辑距离为 1, 2 的错词, 看来这个方法比较笨, 请问如何做才是比较聪明的办法? 感谢指教.
    clino
        6
    clino  
       Nov 9, 2012
    @thedevil7 上面贴的那个阮一峰的blog讲得很清楚啊,连代码都有的
    thedevil7
        7
    thedevil7  
    OP
       Nov 9, 2012
    @clino 那个帖子就是我这个方法.......... 况且那个博文(至少代码)是抄的... 原文译文为 3l 中给出的地址, 其中有原文地址.
    clino
        8
    clino  
       Nov 9, 2012
    @thedevil7 你是说那篇blog里有记[错词]的做法?我怎么没看到?
    013231
        9
    013231  
       Nov 9, 2012
    @clino
    @thedevil7
    你們都沒仔細看代碼呀. 那個`edits1`和`edits2`函數就是用來生成距離為1和2的錯詞的.
    thedevil7
        10
    thedevil7  
    OP
       Nov 9, 2012
    @013231 我知道算法是这样的, 可是我觉得如果我要重复利用的话, 需要一个合适的数据结构. 所以我想到了数据库. 因为从没用过, 学过相关知识, 所以不知道这个想法是否合适.
    @clino


    我想问如何才能安排好这些数据, 还各位前辈请指点一下.
    013231
        11
    013231  
       Nov 9, 2012
    @thedevil7 實時生成就可以了. 頂多在內存中建個緩存.
    thedevil7
        12
    thedevil7  
    OP
       Nov 9, 2012
    @013231 可是这样的数据既然需要反复利用, 干嘛不存起来呢? 诚心求解惑.
    013231
        13
    013231  
       Nov 9, 2012   ❤️ 1
    @thedevil7 你計算過這樣一個數據庫會有多大嗎? 建立這樣的數據庫根本不現實.
    thedevil7
        14
    thedevil7  
    OP
       Nov 9, 2012
    @013231 原来是这样. 只知道其中的数据可能有上千万条, 不知道如何计算数据库的大小.
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5683 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 58ms · UTC 07:57 · PVG 15:57 · LAX 00:57 · JFK 03:57
    ♥ Do have faith in what you're doing.