Hexo

凡事预则立,不预则废


  • Home

  • Tags

  • Archives

  • Navigation

  • Search

NLP——关于英文单词的处理总结


保留词根

  • 安装相关库:

    1
    pip install pattern
  • 导入和使用

    1
    2
    3
    4
    5
    from pattern.text.en import lemma
    lemma("describing")

    # output:
    # describe
    • 需要nltk中的几个语料库包, 如果没有以下包,导入时会报出zip文件相关的错,按装这几个语料库包直接使用nltk.download(“wordent”)等语句就行
      1
      "wordnet", "wordnet_ic", "sentiwordnet"

保留词干

  • 安装相关库:
    • 安装 nltk 即可
  • 导入和使用:
    1
    2
    3
    4
    5
    6
    7
    from nltk.stem.porter import PorterStemmer

    stemmer = PorterStemmer()
    stemmer.stem("describing")

    # output:
    # describ

Python——ProcessPoolExecutor和ThreadPoolExecutor

Python 中如何使用CPU的多个核


全局解释器锁(GIL)

  • 由于CPython解释器本身就不是线程安全的,所以需要一个全局解释器锁,以保证同一时刻仅有一个线程在执行Python的字节码
  • 由于GIL的存在,造成了Python多线程不是不能真正并行,尽管有多个CPU核心也不能全都用上
  • 由于标准库中执行所有阻塞型IO操作的函数,在等待操作系统返回结果时都会释放GIL,这意味着Python在这个层次上可以使用多线程,所以对于IO密集型任务来说,多线程是有作用的

ThreadPoolExecutor

  • 使用多线程,适用于IO密集型的任务
    1
    2



ProcessPoolExecutor

  • 使用多进程,突破GIL的限制,绕开GIL,成功使用多个CPU核
    1
    2


1…256257258…352
San Ye

San Ye

Stay Hungry. Stay Foolish.

704 posts
53 tags
© 2026 San Ye
Powered by Hexo
|
Theme — NexT.Gemini v5.1.4