掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1308|回复: 6

[求助] 想写一个词典词组提取工具(带界面)

[复制链接]
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

    发表于 2019-1-30 20:16:44 | 显示全部楼层 |阅读模式
    本帖最后由 jonah_w 于 2019-1-30 20:26 编辑 & `, `# G7 i3 p

    % [, Z" A+ w+ K  O, {  E9 Y: t初步想到希望可以做到几点:5 G2 u+ ^% N* F0 [# [. m
    ' b9 @- s. }# _! t% N8 \- A
    • 跨平台,支持Windows、Mac OS、Linux
    • 性能尽量好
      ) A5 d0 G& E* @0 b. g4 E1 p

    3 c5 V- z, r  G% g
    9 ~9 C& i  _% P$ u+ E不知道现在比较好的跨平台框架有哪些。' `( h$ q: g8 R9 M

    1 x, l  `8 Q5 [  u# m目前做的几个词组提取版的Mac词典基本是通过python代码实现的。: ]1 A0 d+ N# W8 Q$ U
    所以应该用下PyQt5?
    : L* K8 x7 r2 M( e& j
    " f) R( @! W3 A8 V2 L" x我自己倾向于Electron框架,但好像这个是用nodejs写,可能需要重写已有功能,不确定nodejs是否可以实现。
    - K% t/ ^; p# V6 g  Npython的实现里涉及的技术点主要包括lxml库、beautifulsoup、xpath还有正则。
    8 ]: _* s9 n  B/ H
    . T- W+ U9 c8 X: O% @也不确定nodejs是否都支持这些库,以及性能是否足够好。# J! S. J) P, o  J

    $ f: E. H. Q5 w4 v! v3 n另外因为最近想学习一下Rust语言,不知道Rust在这方面咋样,尤其是是否有成熟的跨平台UI框架,考虑到Rust语言本身现在都不是很成熟。
    9 P/ @9 Z. e& p4 P
    - ^% i( ~+ r1 E考虑Rust是因为它的性能太好了… 前几天推荐给大家的那个rg全文搜索命令就是Rust写的,可以说吊打了一切其他类似命令了。) C& t$ P: N$ c: p( E7 m, g

    % y' r) l6 W2 {" w1 crg相关帖子:【2019.01.22更新】Microsoft Bing Dictionary 语料库
    % J% c+ K+ b# s; M: Fhttps://www.pdawiki.com/forum/thread-32693-1-1.html?x=294297) H7 i8 n! u) K+ |
    - q) A+ h- n4 E; l9 ]+ V6 |

    % c6 {; O, n5 k  y( L所以很是心动。/ ^; r0 H, Z2 O& `' i  U# C9 ^
    0 h' q6 I) @" [3 j' O+ s6 ~
    但我怀疑Rust无法满足所有需求。不知道论坛里是否有Rust大佬,或者nodejs大佬,可以指点一二。0 r2 T6 W1 L! B
    , W1 v( \) N( E4 H& z
    / ]- M# b  X5 G
    另外,这个工具目前只是一个想法,没有任何保证什么时候写出来或者能不能写出来,不想有太大压力… 做GDoS Mac词组提取词典的时候压力极大,有时候毫无进展,技术难点无法突破,当时心情很沮丧。还好最后在各种技术群不知羞耻的请教最后做出来了。! X0 |4 P0 U+ v
    * f( h( ]6 C* p( \
    GDos 俚语词典的词组提取的效果如何,请参考:18.4 万词条:GDoS 最全俚语词典 词组完全提取版 Green Dict Mac版/ j5 n" U3 a* E4 s5 F* M
    https://www.pdawiki.com/forum/thread-32839-1-1.html?x=2942979 O. ~8 K9 C  f8 B- A0 l# ]
    5 |# w$ ?3 T8 V( u
    大家有任何意见或者建议(技术上的、非技术上的)还望不吝赐教。
    9 a! b/ l% l7 \# I! E' I
      O& q, E4 N; S6 @" b% j4 }7 a1 G8 i5 u/ e0 ]& L0 V4 }7 q
    先谢谢了。& Z1 U3 _6 d( a4 w# p+ z5 {' [
    0 M& {- Z. b2 J
    ) C  ^0 S6 T5 C  T/ l9 U

    - @. O& u! G6 r. r7 X6 R4 C8 }

    评分

    1

    查看全部评分

  • TA的每日心情
    开心
    2020-4-12 13:04
  • 签到天数: 453 天

    [LV.9]以坛为家II

    发表于 2019-1-30 22:37:47 | 显示全部楼层
    我的天哪。要是有这个工具。那简直是神作啊。
  • TA的每日心情

    2020-5-14 13:56
  • 签到天数: 334 天

    [LV.8]以坛为家I

    发表于 2019-1-31 23:33:23 | 显示全部楼层
    如果会用 PtQT,用C++做也是个解决方案( ]; U  q2 b' `$ N: h, n
    其实用Python 先做出来,有需要或者兴趣 改成别的语言 会容易很多。
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

     楼主| 发表于 2019-4-30 21:30:17 | 显示全部楼层
    ogrishman 发表于 2019-4-30 20:40& E6 M: U# y- [2 s6 x+ e
    楼主的思路是错的,你用Rust、C++还是Python或者Golang,差异都不大。因为这是个词典提取工具,根本就不是 ...
    . |4 u! O- _5 I( D/ M1 b4 t
    执行效率还是影响心情… 比如朗文5++ 5分钟提取完 和5个小时提取完 体验差别太大了…
  • TA的每日心情
    开心
    2019-8-21 08:44
  • 签到天数: 163 天

    [LV.7]常住居民III

    发表于 2019-5-1 07:17:22 | 显示全部楼层
    本帖最后由 mikeee 于 2019-5-1 07:19 编辑
    ! _: n) ?) v9 b4 S: U
    不确定nodejs是否可以实现。: ?1 T: ?+ }* P' x% h
    python的实现里涉及的技术点主要包括lxml库、beautifulsoup、xpath还有正则。
    - B  k! v2 G; B1 ^9 ^# J3 m* T, P% D" X
    也不确定nodejs是否都支持这些库,以及性能是否足够好。

    , k" i6 o0 u1 O, \4 |! g我对 nodejs 以及 python 的了解其实也有限,乱说一通供楼主参考。说错了高人指点一下。你说的python2 B4 j8 \; h- Q+ x
    实现里涉及的技术点主要包括lxml库、beautifulsoup、xpath还有正则等等,nodejs实现应该都是没有问题的。3 W4 w# j4 G! S; C$ }: |/ v' b
    lxml基于elementtree,nodejs可以搜到相应的包。beautifulsoup不知道有没有对应的包,但大可以用更好的包
    8 p$ b( W4 ^5 x2 H' w" qpyquery(nodejs里的jquery/cheerio) 代替,nodejs整xpath以及正则自然没有问题。其实nodejs的内置正则' R3 y5 r  r2 `2 F" m- I
    比引擎python的内置正则引擎还强大一些,比如前者支持变宽肯定逆流序环视(variable-length positive 9 l3 B; v: ]. h/ [* i% h* r' W
    lookbehind)后者不支持, python要另装名为regex的包才支持变宽肯定逆流序环视。
    9 O: F# I% ?6 C2 ^9 w4 P3 M* h
    % o7 ^3 l. a& q* w但个人觉得 nodejs 可能不如 python 适合你要做的。我的理解,你要做的(本质是搜索吧)属于计算强度较; n6 m, D8 O3 n: _
    大的任务而并不是I/O强度较 大的任务。
  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

     楼主| 发表于 2019-5-1 09:53:57 | 显示全部楼层
    mikeee 发表于 2019-5-1 07:175 N1 l0 K/ D$ I1 S
    我对 nodejs 以及 python 的了解其实也有限,乱说一通供楼主参考。说错了高人指点一下。你说的python
    / a$ s; h/ E& x实现 ...

    ; h3 _  e" I8 `" I3 U嗯好的 感谢提供这些信息 很有用
  • TA的每日心情
    开心
    2022-1-21 00:52
  • 签到天数: 699 天

    [LV.9]以坛为家II

    发表于 2019-5-4 11:57:13 | 显示全部楼层
    可以从这个列表开始4 Y0 C* w/ G$ j. h. b1 k
    atomore 整理了(Vocabulary.com + Collins + 雅思 + 牛津)中的高频短语词组
    $ }! H) W8 \1 h内容包括:
    $ z: x" ?4 C* r% thttps://www.pdawiki.com/forum/thread-33730-1-1.html?x=180507
    ! f, K/ r/ R) x+ Z! W' {$ P1. Vocabulary.com词典中词频小于20000的词组 (1977个,按词频排序);# w, E! m( n! R& z
    2. 柯林斯双解词典中 五星词组 (4692个, 按五级分组排序);4 v! y# B8 q' U8 F3 g
    3. 剑桥双解词典中 雅思词组 (2452个,按A1-C2分组);
    * a9 u& ?6 x. r- H7 h6 k" @* H4. 牛津双解词典中 星标词组 (298个)。' x6 l7 u, |5 V  |1 I. h
    ) @' B8 o8 A, I0 a! C
    要是合并起来,制作成anki记忆库(反面是相应词典中该短语词组的内容)就好了
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2025-4-28 18:11 , Processed in 0.021333 second(s), 25 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表