• python实现分词器


    在Python中实现分词有很多方法,具体取决于你的应用场景和数据。下面我会介绍一种常用的分词库——jieba。如果你的数据是英文,你也可以使用nltk库。

    中文分词

    使用jieba进行中文分词:

    首先,你需要安装jieba库。如果还未安装,请在命令行输入以下命令:

    pip install jieba

    使用下面的代码进行分词

    1. import jieba
    2. sentence = "我来到北京清华大学"
    3. words = jieba.cut(sentence)
    4. print(' '.join(words))

    运行以上代码,输出结果为:“我 来 到 北京 清华大学”

    jieba.cut`方法返回的是一个可迭代的generator,也可以直接在for循环中使用它。

    英文分词

    首先,需要安装nltk库。如果还未安装,请在命令行输入以下命令

    pip install nltk

    然后使用下面的代码进行分词: 

    1. import nltk
    2. sentence = "I am going to the park"
    3. words = nltk.word_tokenize(sentence)
    4. print(words)

    运行以上代码,输出结果为:['I', 'am', 'going', 'to', 'the', 'park']

    注意:对于nltk库,如果你的数据是英文,可以直接使用nltk.word_tokenize方法;如果是中文,需要先下载并使用nltk.download('punkt')来下载英文分词器。

    多种语言分词

    使用spacy可以完成多国语言分词

    spacy官网

    https://spacy.io/

     

    Models & Languages · spaCy Usage Documentation 

    安装spacy(时间微长)

    pip install spacy

    安装字典这里以英文中文为例,其他参考官网

    1. #中文
    2. python -m spacy download zh_core_web_sm
    3. #英文
    4. python -m spacy download en_core_web_sm

    分词(判断是不是一个句子)

    1. def is_a_word(lang_code, text):
    2. print(">>>>>>>>>>>>>>>>>>>>>>>>>>>>is_a_word")
    3. print(lang_code)
    4. if lang_code.lower() == "en":
    5. nlp = spacy.load("en_core_web_sm") # 加载英文模型
    6. elif lang_code.lower() == "zh":
    7. nlp = spacy.load("zh_core_web_sm") # 加载中文模型
    8. elif lang_code.lower() == "fr":
    9. nlp = spacy.load("fr_core_news_sm") # 加载法语模型
    10. elif lang_code.lower() == "de":
    11. nlp = spacy.load("de_core_news_sm") # 加载德语模型
    12. elif lang_code.lower() == "es":
    13. nlp = spacy.load("es_core_news_sm") # 加载西班牙语模型
    14. elif lang_code.lower() == "it":
    15. nlp = spacy.load("it_core_news_sm") # 加载意大利模型
    16. else:
    17. print("输入了非法的语言Code")
    18. return False
    19. doc = nlp(text)
    20. tokens = [token.text for token in doc]
    21. return len(tokens) == 1 and tokens[0] == text

  • 相关阅读:
    02--大数据Hadoop集群实战
    docker源码编译
    2022杭电多校6(总结+补题)
    Day14--商品详情-渲染商品导航区域
    数据结构——二叉树【堆】
    学习Kotlin编程语言
    MySQL中CHANGE REPLICATION FILTER 语句详解
    中国钨粉行业市场研究与投资预测报告(2022版)
    Python从0到1丨详解图像锐化的Sobel、Laplacian算子
    Kind 挂载LocalPath到Node再由Pod访问
  • 原文地址:https://blog.csdn.net/qq_34491508/article/details/133810752