JpTokenPreprocessing 是用于令牌预处理的 Python 库。
项目描述
JpTokenPreprocessing – 日本令牌预处理
JpTokenPreprocessing 是一个用于令牌预处理的 Python 库。它支持过滤噪声(例如太短的token,只有数字或只有符号token)和规范化(支持字母大小写和unicode规范化)。自然语言处理 (NLP) 有常见的预处理。
用法
#coding: utf-8
# Python3
from jp_token_preprocessing import JpTokenPreprocessing
import MeCab
# Return japanese word tokens using morphological analyzer MeCab.
# And select only noun.
def tokenize(text):
tagger = MeCab.Tagger()
node = tagger.parseToNode(text)
while node:
if '名詞' in node.feature:
surface = node.surface
yield surface
node = node.next
if __name__=='__main__':
text = """
これは自然言語処理に必須な前処理のためのモジュールです。
形態素解析や、n-gramでトークン化した後のフィルタリング、正規化を補助します。
一語だけのトークンや'1234'のような数字だけのトークン、'!!'のような記号だけのトークンのフィルタリング、
全角文字'PYTHON'の半角化、英単語'Word'の小文字化といった正規化も行えます。
さらに必ず除外したいトークンをストップワードに設定することもできます。
"""
stopwords = ['これ', 'こと']
tokens = tokenize(text)
"""
>>> print(list(tokens))
['', '', '言語', '処理', '必須', '前', '処理', 'ため', 'モジュール', '形態素',
'解析', 'n', '-', 'gram', 'トー', 'クン', '化', '後', 'フィルタ', 'リング', '正規',
'化', '補助', '一語', 'トーク', 'ン', "'", '1234', "'", 'よう', '数字','トー',
'クン', "'!!'", 'よう', '記号', 'トー', 'クン', 'フィルタ', 'リング', '全角',
'文字', "'", 'PYTHON', "'", '半角', '化', '英単語', "'", 'Word',"'", '小文字',
'化', '正規', '化', '除外', 'トーク', 'ン', 'ストップ', 'ワード', '設定', 'こと']
"""
tokens = tokenize(text)
preprocessor = JpTokenPreprocessing(number=False,
symbol=False,
case='lower',
unicode='NFKC',
min_len=2,
stopwords=stopwords)
tokens = preprocessor.preprocessing(tokens)
# Return iterator of tokens. Using list() for print sample.
"""
>>> print(list(tokens))
['言語', '処理', '必須', '処理', 'ため', 'モジュール', '形態素', '解析', 'gram',
'トー', 'クン', 'フィルタ', 'リング', '正規', '補助', '一語', 'トーク', 'よう',
'数字', 'トー', 'クン', 'よう', '記号', 'トー', 'クン', 'フィルタ', 'リング',
'全角', '文字', 'python', '半角', '英単語', 'word', '小文字', '正規', '除外',
'トーク', 'ストップ', 'ワード', '設定']
"""
安装
pip install JpTokenPreprocessing
用于 python3 的 MeCab
请申请以下补丁以通过 python3 安装和使用 MeCab 模块。(2014/09/07 MeCab 0.996)
方法
JpTokenPreprocessing(args)
number = BOOL(默认值:False)
仅允许数字令牌。
符号 = 布尔(默认值:假)
仅允许符号令牌。
case = 'lower' 或 'upper' 或 'capitalize'
规范化字母大小写。
unicode = 'NFC' 或 'NFKC' 或 'NFD' 或 'NFKD'a (默认值:'NFKC')
使用 unicodedata.normalize() 规范化 unicode 字符串。
min_len = int(默认值:2)
过滤掉几个字符标记。如果 min_len = 2 过滤掉只有 1 或 0 个字符的标记。
停用词 = 列表(默认值:[])
过滤掉包含在停用词列表中的任何标记。
JpTokenPreprocessing.preprocessing(可迭代)
返回预处理的令牌迭代器。
未来的工作
添加一些挂钩点以扩展自己的预处理。
执照
麻省理工学院许可证
项目详情
关
JpTokenPreprocessing -0.1.5a2.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | b3c4d4520cf676f2fb236aed302195c4761751569332ebd11f2ee3ab07766f85 |
|
| MD5 | 715b704f4992e85162806a33636c88ca |
|
| 布莱克2-256 | b9cbc5c3d000513afaad2c8b2216da83cd64cc4a7b1801d10d9a80f6bc607559 |