NLTK中文分句 自定义词典 Mr. 不分词

本文介绍了如何使用NLTK库在英文文本中进行句子切割,特别强调了自定义词典对分词效果的影响。通过实例展示,注意到专有名词如'Mr.Smith'未被正确拆分,探讨了如何改进参数设置以提高准确性。

因为我这里已经下载过NLTK了,所以就不提供安装教程了,搜一搜都能找到。

这里就直接演示对英文句子切分:

from nltk.tokenize.punkt import PunktSentenceTokenizer, PunktParameters


def cut_sentences_en(content):
    punkt_param = PunktParameters()
    abbreviation = ['i.e.', 'dr', 'vs', 'mr', 'mrs', 'prof', 'inc']  # 自定义的词典
    punkt_param.abbrev_types = set(abbreviation)
    tokenizer = PunktSentenceTokenizer(punkt_param)
    sentences = tokenizer.tokenize(content)
    return sentences

测试: 

可以发现Mr. Smith并没有被分开。

 

NLTK (Natural Language Toolkit) 是Python中用于处理自然语言数据的强大库,它允许用户添加自定义词典来扩展其功能。如果你想将特定词汇或短语纳入NLTK的分析,可以按照以下步骤操作: 1. **下载停用词(如果需要)**:首先,确保你已经安装了`nltk.corpus.stopwords`。这包含了常见的英文停用词,如果你有自己的自定义需要这个,可以直接跳过。 2. **创建词典文件**:将你的自定义单词保存在一个文本文件中,每行一个单词,例如`custom_words.txt`。 3. **加载词典**:使用`nltk.corpus.reader.DictionaryReader`加载自定义词典,你可以这样操作: ```python from nltk.corpus import Dictionary custom_dict = Dictionary.load_from_text('custom_words.txt') ``` 4. **添加到NLTK环境**:将自定义词典添加到NLTK的数据路径下,通常是`~/.nltk_data/corpora`目录。如果词典在那里,可以用`nltk.download`下载: ```shell python -m nltk.downloader punkt python -m nltk.downloader self.added_corpus_name # 替换self.added_corpus_name为你给词典起的名字 ``` 5. **更新分词器**:为了让新的词典生效,你需要重新加载分词器或者词料库,比如`word_tokenize`函数: ```python from nltk.tokenize import word_tokenize sentence = "这是我的自定义词" words = word_tokenize(sentence, include_custom=True) ``` `include_custom=True`表示在分词时考虑你的自定义词典。 6. **测试**:现在,当你对包含自定义词汇的句子进行处理时,它们会被识别并计入分析结果。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值