あなたは、例えば次のように、このような問題が発生したかどうか、Pythonの友人を学びます:
「私は私の祖国を誇りに思います」
私たちが行くように単語の途中を抽出する必要がある場合はどうなりますか?
自然は、文字列に分割()関数を呼び出しています
そして、これらは、「私は私の国を誇りに思う」、まだ中国語に変換し、再言葉は何が起こるのだろうか?
中国は、テキストとして英語の語彙のようなものではなく、空白または句読点で区別することができます
これは、「傲慢」を開くには、このような「誇り」に「誇り」つながる、または、「私」は「私」などにまとめ「に」
これらの問題を回避する方法それ?これは、今日は紹介し--jieba Pythonライブラリの基本ライブラリを使用しています
まず、jiebaライブラリは何ですか?
jiebaライブラリは中国のサードパーティのライブラリの優れた言葉で、それは可能な文字間の会合の確率を決定するために、中国の辞書を使用して、
フレーズ、単語形成結果の組成物との間の大きな漢字の確率は、中国語のテキストは、単語によって、単一の単語を取得します。
3つのモードのjiebaワード:ファインモード、フルモード、検索エンジンモード
- 正確なモデル:テキスト正確なカットを分離するには、何の冗長ワードはありません
- フルモード:テキスト内のすべての可能な単語がスキャンされ、冗長
- 検索エンジンモード:長期的な再分割に基づいて正確なモード
第二に、インストールjiebaライブラリ
Jiebaライブラリのインストールには、私はいくつかの簡単な方法を紹介し、比較的簡単です
1.自動インストール
CMDコマンドプロンプトを開き、コードを入力してください
easy_installをjieba
jiebaをインストールするPIP
PIP3 jiebaをインストール
コードの三つのセクションのいずれかを自動的にダウンロードしてインストールするには
2.半自動インストール
まずオープンjiebaライブラリーのウェブサイト:のhttp://pypi.python.org/pypi/jieba/
然后下载并运行python setup.py install
最后将 jieba 目录放置于当前目录或者 site-packages 目录
3.软件安装
许多编辑软件都可以在软件内部安装,以pycharm2019为例子
首先打开pycharm,在左上角文件中可以找到设置,然后打开设置
右侧项目相关可以找到 project interpreter,进入可以查看项目引用的模块
点击右侧的加号,在available packages 中搜索jieba 选中后点击左下角安装即可
4.检测安装
打开命令提示符(cmd)进入python环境
输入import jieba 如下图所示即为安装成功
三、主要函数
jieba.cut(s)
被运用于精确模式,将会返回一个可迭代的数据类型
jieba.cut(s,cut_all=True)
被运用于全模式,输出文本s中的所有可能单词
jieba.cut_for_search(s)
搜索引擎模式,适合搜索引擎建立索引的分词结果
jieba.lcut(s)
被运用于精确模式,将会返回一个列表类型
jieba.lcut(s,cut_all=True)
被运用于全模式,返回一个列表类型
jieba.lcut_for_search(s)
搜索引擎模式,返回一个列表类型
jieba.add_word(w)
向分词词典加入新词
相信不少同学已经看得有点蒙,那么接下来我将通过代码来实际对比不同点
首先我们对比三个不同的模式 ,之前的介绍可以看出:
精确模式将不会出现冗余,所有词汇都是根据最大可能性而进行组合的出结果
全模式与精确模式最大区别在于,全模式将会把所有可能拼接的词汇全部展现
搜索引擎模式则是在精确模式的前提下对较长词汇进行再一次分割
我们以“我因自己是中华人民共和国的一份子而感到骄傲”为例
*精确模式结果如下 :
['我', '因', '自己', '是', '中华人民共和国', '的', '一份', '子', '而', '感到', '骄傲']
*全模式结果如下:
['我', '因', '自己', '是', '中华', '中华人民', '中华人民共和国', '华人', '人民', '人民共和国', '共和', '共和国', '的', '一份', '份子', '而', '感到', '骄傲']
*搜索引擎模式结果如下:
['我', '因', '自己', '是', '中华', '华人', '人民', '共和', '共和国', '中华人民共和国', '的', '一份', '子', '而', '感到', '骄傲']
可以很明显的对比出来,全模式将所有课能出现的词汇进行罗列,而搜索引擎模式与精确模式十分相似,但对“中华人名共和国“”这一词汇进行分词
至于有的同学发现有些函数十分相似,比如说cut()与lcut()
两者之间其实差距不大,主要不同在于返回类型,加“l”的一般返回为列表类型。
如果觉得有所帮助,还望各位大佬点赞支持谢谢