README.md

# CaboCha-Elixir

**Elixir bindings for CaboCha, a Japanese dependency structure analyzer**

## Installation

If [available in Hex](https://hex.pm/docs/publish), the package can be installed as:

1.Add `cabo_cha` to your list of dependencies in `mix.exs`:

```elixir
def deps do
  [
    {:cabo_cha, "~> 1.0.0"}
  ]
end
```

2.Add `cabocha` command for your environment:

```bash
# macOS
brew install cabocha
```

## Usage
For more details, go to [Hex Online Documentation](https://hexdocs.pm/cabo_cha).

The way of parsing string is as follows:

```elixir
iex(1)> CaboCha.parse("太郎は花子が読んでいる本を次郎に渡した")
[
  %{
    "chunk" => %{
      "func" => 1,
      "head" => 0,
      "id" => 0,
      "link" => 5,
      "rel" => "D",
      "score" => -0.742128
    },
    "morphs" => [
      %{
        "base" => "太郎",
        "conjugation" => "",
        "conjugation_form" => "",
        "id" => 0,
        "pos" => "名詞",
        "pos1" => "固有名詞",
        "pos2" => "人名",
        "pos3" => "名",
        "pronunciation" => "タロー",
        "surface" => "太郎",
        "yomi" => "タロウ"
      },
      %{
        "base" => "は",
        "conjugation" => "",
        "conjugation_form" => "",
        "id" => 1,
        "pos" => "助詞",
        "pos1" => "係助詞",
        "pos2" => "",
        "pos3" => "",
        "pronunciation" => "ワ",
        "surface" => "は",
        "yomi" => "ハ"
      }
    ]
  },
  %{
    "chunk" => %{
      "func" => 3,
      "head" => 2,
      "id" => 1,
      "link" => 2,
      "rel" => "D",
      "score" => 1.700175
    },
    "morphs" => [
      %{
        "base" => "花子",
        "conjugation" => "",
        "conjugation_form" => "",
        "id" => 2,
        "pos" => "名詞",
        "pos1" => "固有名詞",
        "pos2" => "人名",
        "pos3" => "名",
        "pronunciation" => "ハナコ",
        "surface" => "花子",
        "yomi" => "ハナコ"
      },
      %{
        "base" => "が",
        "conjugation" => "",
        "conjugation_form" => "",
        "id" => 3,
        "pos" => "助詞",
        "pos1" => "格助詞",
        "pos2" => "一般",
        "pos3" => "",
        "pronunciation" => "ガ",
        "surface" => "が",
        "yomi" => "ガ"
      }
    ]
  },
  %{
    "chunk" => %{
      "func" => 6,
      "head" => 4,
      "id" => 2,
      "link" => 3,
      "rel" => "D",
      "score" => 1.825021
    },
    "morphs" => [
      %{
        "base" => "読む",
        "conjugation" => "連用タ接続",
        "conjugation_form" => "五段・マ行",
        "id" => 4,
        "pos" => "動詞",
        "pos1" => "自立",
        "pos2" => "",
        "pos3" => "",
        "pronunciation" => "ヨン",
        "surface" => "読ん",
        "yomi" => "ヨン"
      },
      %{
        "base" => "で",
        "conjugation" => "",
        "conjugation_form" => "",
        "id" => 5,
        "pos" => "助詞",
        "pos1" => "接続助詞",
        "pos2" => "",
        "pos3" => "",
        "pronunciation" => "デ",
        "surface" => "で",
        "yomi" => "デ"
      },
      %{
        "base" => "いる",
        "conjugation" => "基本形",
        "conjugation_form" => "一段",
        "id" => 6,
        "pos" => "動詞",
        "pos1" => "非自立",
        "pos2" => "",
        "pos3" => "",
        "pronunciation" => "イル",
        "surface" => "いる",
        "yomi" => "イル"
      }
    ]
  },
  %{
    "chunk" => %{
      "func" => 8,
      "head" => 7,
      "id" => 3,
      "link" => 5,
      "rel" => "D",
      "score" => -0.742128
    },
    "morphs" => [
      %{
        "base" => "本",
        "conjugation" => "",
        "conjugation_form" => "",
        "id" => 7,
        "pos" => "名詞",
        "pos1" => "一般",
        "pos2" => "",
        "pos3" => "",
        "pronunciation" => "ホン",
        "surface" => "本",
        "yomi" => "ホン"
      },
      %{
        "base" => "を",
        "conjugation" => "",
        "conjugation_form" => "",
        "id" => 8,
        "pos" => "助詞",
        "pos1" => "格助詞",
        "pos2" => "一般",
        "pos3" => "",
        "pronunciation" => "ヲ",
        "surface" => "を",
        "yomi" => "ヲ"
      }
    ]
  },
  %{
    "chunk" => %{
      "func" => 11,
      "head" => 10,
      "id" => 4,
      "link" => 5,
      "rel" => "D",
      "score" => -0.742128
    },
    "morphs" => [
      %{
        "base" => "次",
        "conjugation" => "",
        "conjugation_form" => "",
        "id" => 9,
        "pos" => "名詞",
        "pos1" => "一般",
        "pos2" => "",
        "pos3" => "",
        "pronunciation" => "ツギ",
        "surface" => "次",
        "yomi" => "ツギ"
      },
      %{
        "base" => "郎",
        "conjugation" => "",
        "conjugation_form" => "",
        "id" => 10,
        "pos" => "名詞",
        "pos1" => "一般",
        "pos2" => "",
        "pos3" => "",
        "pronunciation" => "ロー",
        "surface" => "郎",
        "yomi" => "ロウ"
      },
      %{
        "base" => "に",
        "conjugation" => "",
        "conjugation_form" => "",
        "id" => 11,
        "pos" => "助詞",
        "pos1" => "格助詞",
        "pos2" => "一般",
        "pos3" => "",
        "pronunciation" => "ニ",
        "surface" => "に",
        "yomi" => "ニ"
      }
    ]
  },
  %{
    "chunk" => %{
      "func" => 13,
      "head" => 12,
      "id" => 5,
      "link" => -1,
      "rel" => "D",
      "score" => 0.0
    },
    "morphs" => [
      %{
        "base" => "渡す",
        "conjugation" => "連用形",
        "conjugation_form" => "五段・サ行",
        "id" => 12,
        "pos" => "動詞",
        "pos1" => "自立",
        "pos2" => "",
        "pos3" => "",
        "pronunciation" => "ワタシ",
        "surface" => "渡し",
        "yomi" => "ワタシ"
      },
      %{
        "base" => "た",
        "conjugation" => "基本形",
        "conjugation_form" => "特殊・タ",
        "id" => 13,
        "pos" => "助動詞",
        "pos1" => "",
        "pos2" => "",
        "pos3" => "",
        "pronunciation" => "タ",
        "surface" => "た",
        "yomi" => "タ"
      }
    ]
  }
]
```