个人主页:道友老李
欢迎加入社区:道友老李的学习社区
**自然语言处理(Natural Language Processing,NLP)**是计算机科学领域与人工智能领域中的一个重要方向。它研究的是人类(自然)语言与计算机之间的交互。NLP的目标是让计算机能够理解、解析、生成人类语言,并且能够以有意义的方式回应和操作这些信息。
NLP的任务可以分为多个层次,包括但不限于:
NLP技术的发展依赖于算法的进步、计算能力的提升以及大规模标注数据集的可用性。近年来,深度学习方法,特别是基于神经网络的语言模型,如BERT、GPT系列等,在许多NLP任务上取得了显著的成功。随着技术的进步,NLP正在被应用到越来越多的领域,包括客户服务、智能搜索、内容推荐、医疗健康等。
pip install jieba -i https://pypi.tuna.tsinghua.edu.cn/simple
导入
import jieba
查看路径
jieba.__path__
text = '我爱中华人民共和国'
注意精确模式返回的是生成器
gen = jieba.cut(text)
next(gen)
返回
'我'
for word in gen:
print(word)
返回
我
爱
中华人民共和国
转化为列表
list(gen)
返回
['我', '爱', '中华人民共和国']
或者使用lcut l=list 返回的就是列表了
words = jieba.lcut(text)
words
['我', '爱', '中华人民共和国']
cut_all=True
jieba.lcut(text, cut_all=True)
['我', '爱', '中华', '中华人民', '中华人民共和国', '华人', '人民', '人民共和国', '共和', '共和国']
jieba.lcut_for_search(text)
['我', '爱', '中华', '华人', '人民', '共和', '共和国', '中华人民共和国']
from jieba import posseg
posseg.lcut(text)
[pair('我', 'r'), pair('爱', 'v'), pair('中华人民共和国', 'ns')]
另一个示例
text = '自然语言处理是计算机科学领域与人工智能领域中的一个重要方向'
jieba.lcut(text)
返回
['自然语言',
'处理',
'是',
'计算机科学',
'领域',
'与',
'人工智能',
'领域',
'中',
'的',
'一个',
'重要',
'方向']
临时加一个词
jieba.add_word('机器学习')
对词频进行调整
jieba.suggest_freq('机器学习')
jieba.load_userdict('D:\.venv\Lib\site-packages\jieba\dict2.txt')
示例代码:
import jieba
from collections import Counter
# 待分词的文本
text = "自然语言处理是计算机科学领域与人工智能领域中的一个重要方向"
# 进行分词
words = jieba.lcut(text)
# 统计词频
word_freq = Counter(words)
# 查看词频
for word, freq in word_freq.items():
print(f"{word}: {freq}")
from jieba import analyse
text = 'NLP技术的发展依赖于算法的进步、计算能力的提升以及大规模标注数据集的可用性。近年来,深度学习方法,特别是基于神经网络的语言模型,如BERT、GPT系列等,在许多NLP任务上取得了显著的成功。随着技术的进步,NLP正在被应用到越来越多的领域,包括客户服务、智能搜索、内容推荐、医疗健康等。'
提取关键词, 其实就是根据tfidf算出来的值
analyse.extract_tags(text, topK=10, withWeight=True)
# 或
analyse.tfidf(text, topK=10, withWeight=True)
在分词的同时,返回词语的位置信息
jieba.tokenize(sentence, mode='default', HMM=True)
参数
返回值
该方法会返回一个生成器,生成的每个元素是一个包含三个元素的元组,具体如下:
示例代码
gen = jieba.tokenize(text)
for g in gen:
print(g)
('NLP', 0, 3)
('技术', 3, 5)
('的', 5, 6)
('发展', 6, 8)
('依赖于', 8, 11)
('算法', 11, 13)
('的', 13, 14)
('进步', 14, 16)
('、', 16, 17)
('计算能力', 17, 21)
('的', 21, 22)
('提升', 22, 24)
('以及', 24, 26)
('大规模', 26, 29)
('标注', 29, 31)
('数据', 31, 33)
('集', 33, 34)
('的', 34, 35)
('可用性', 35, 38)
('。', 38, 39)
('近年来', 39, 42)
(',', 42, 43)
('深度', 43, 45)
('学习', 45, 47)
('方法', 47, 49)
(',', 49, 50)
('特别', 50, 52)
('是', 52, 53)
('基于', 53, 55)
('神经网络', 55, 59)
('的', 59, 60)
('语言', 60, 62)
('模型', 62, 64)
(',', 64, 65)
('如', 65, 66)
('BERT', 66, 70)
('、', 70, 71)
('GPT', 71, 74)
('系列', 74, 76)
('等', 76, 77)
(',', 77, 78)
('在', 78, 79)
('许多', 79, 81)
('NLP', 81, 84)
('任务', 84, 86)
('上', 86, 87)
('取得', 87, 89)
('了', 89, 90)
('显著', 90, 92)
('的', 92, 93)
('成功', 93, 95)
('。', 95, 96)
('随着', 96, 98)
('技术', 98, 100)
('的', 100, 101)
('进步', 101, 103)
(',', 103, 104)
('NLP', 104, 107)
('正在', 107, 109)
('被', 109, 110)
('应用', 110, 112)
('到', 112, 113)
('越来越', 113, 116)
('多', 116, 117)
('的', 117, 118)
('领域', 118, 120)
(',', 120, 121)
('包括', 121, 123)
('客户服务', 123, 127)
('、', 127, 128)
('智能', 128, 130)
('搜索', 130, 132)
('、', 132, 133)
('内容', 133, 135)
('推荐', 135, 137)
('、', 137, 138)
('医疗', 138, 140)
('健康', 140, 142)
('等', 142, 143)
注意事项