Skip to main content

Extract phrases in Japanese text by using the part-of-speeches based rules you defined.

Project description

Negima

Negima is a Python package to extract phrases in Japanese text by using the part-of-speeches based rules you defined.

Negimaは日本語の文章の中から定義した品詞のルールにあてはまるフレーズを抽出するPythonパッケージです。

Installing

Install and update using pip:

$ pip install -U negima

Install using setup.py:

$ python setup.py install

Dependencies

A Simple Example

sample.py

from negima import MorphemeMerger
mm = MorphemeMerger()
# csv
mm.set_rule_from_csv('rules/1_noun.csv')
# tsv
# mm.set_rule_from_csv('rules/1_noun.tsv', sep='\t')
# # excel
# mm.set_rule_from_excel('rules/rules.xlsx', sheet_name='1_noun')

words, _ = mm.get_rule_pattern('今日はいい天気')
print(words)
$ python sample.py
  ['今日', '天気']

Rule

You can define rules in a csv, tsv or excel format.
A rule file requires following 9 columns.
Define one of part-of-speeches each row.

*ルールはcsv, tsv, excelファイルの形式で定義することができるます。
ルールには以下の9種のカラムが必要になります。また、1行には1形態素の品詞の情報を定義します。 *

  • id
    • A rule starts with non-empty id column.
      idが空でなければ、ルールのスタートを示す
    • id has to be unique.
      idはユニークである必要がある
    • Rules are applied in ascendings order of id (ids are compared as UTF-8 strings, not as byte arrays).
      ex: id:000_XXX has priority over id:999_ZZZ
      idは文字列としてsortされて小さい順にそのルールの優先度が定義される
      例: id:000_XXXのルールはid:999_ZZZのルールよりも優先度が高い
  • min
    • Minimum repeat number. 0 means that morpheme is optional.
      形態素の最小繰り返し回数。0に設定するとそのパーツはあってもなくても良い
    • default=1
  • max
    • Maximum repeat number
      形態素の最大繰り返し回数
    • default=1
  • pos0, pos1, pos2, pos3, pos4, pos5
    • Part of speeches of morphemes parsed by mecab.
      mecabでparseされた形態素の品詞や活用の名前
      • pos0: 表層 (ex: 名詞)
      • pos1: 品詞1 (ex: 副詞可能)
      • pos2: 品詞2
      • pos3: 品詞3
      • pos4: 活用1
      • pos5: 活用2
    • To represent OR condition, concatenate part-of-speeches with | as a separator.
      |で品詞を接続することでOR条件の定義が可能である

You can add arbitrary columns to your rule file. other columns are just ignored. An example is available at rule/3_independent_phrase.csv, which has a row example that describes an example sentence for the rule.

上記以外にも任意の列の追加が可能です。
rule/3_independent_phrase.csvではexampleという列を追加し、ルールにあてはまるサンプルを記述しています。

Simple rule (csv)

A rule to extract compound noun. このようなルールを定義することで、複合名詞を抽出できます

id min max pos0 pos1 pos2 pos3 pos4 pos5
1 0 2 接頭詞
1 4 名詞 一般|サ変接続|数
0 2 名詞 接尾

Caution Don't insert empty row between rules.

注意 ルール同士の間に空行をはさまないようにすること

Rule samples

rule/1_noun.csv

Extract nouns.
名詞の抽出

  • 約5000人が国立競技場に駆けつけた -> 5000 国立 競技
  • 場所がわかりにくいのでたどり着けなかった -> 場所

rule/2_nouns.csv

Extract compound nouns.
複合名詞の抽出

  • 約5000人が国立競技場に駆けつけた -> 約5000人 国立競技場
  • 場所がわかりにくいのでたどり着けなかった -> 場所

rule/3_independent_phrase.csv

Extract a little complex phrase.
形容詞や否定の「ない」を含んだ少し複雑なルールのフェーズの抽出

  • 新人研修のレベルは高い -> 新人研修 レベルは高い
  • あのサイトはホテルの比較がしやすくないので好きではない -> サイト ホテル 比較がしやすくない 好きではない

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

negima-0.1.3.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

negima-0.1.3-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

Details for the file negima-0.1.3.tar.gz.

File metadata

  • Download URL: negima-0.1.3.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.4.7

File hashes

Hashes for negima-0.1.3.tar.gz
Algorithm Hash digest
SHA256 70d13d89c63cde2d978349debaba69f1b2baac96f3c2d9e9600ed1fe15a2c350
MD5 3a56cda731667064800cbed41fa807c3
BLAKE2b-256 dde2920889fc985905e54c0dc5a4f51f87f71b743398714a126fcca70cc653a1

See more details on using hashes here.

File details

Details for the file negima-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: negima-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 7.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.4.7

File hashes

Hashes for negima-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 51a226b88ab0038dae9679de3c5dd1aee02f7c0de3955357187aecc9e60aa0dd
MD5 59568855dcbb90416c16c2e19c70f6dc
BLAKE2b-256 c96e8a416d9cb6c3f479404e3d48a0d32a326de09745550658ba0989aac8acfb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page