タグ

2015年12月9日のブックマーク (11件)

  • MySQL FullText Indexで、Lightに日本語検索 | ビズリーチラボ

    お疲れ様です。 イリュ-ジョニスト鈴木です。 MySQLのFullText Index(全文Index)を使うと、全文検索をライトにできます。 Solrや、Senner,Groongaに比べて、機能的には劣りますが、MySQLだけでできますので、Hard,MiddleWare的にもLightだと思います。サーバー数台でやってるような小さいWebサービスで、ちょっと全文検索いれたい時にはぴったりです。 ## そもそもMySQLのFullTextIndexとは何なのか?## MySQLがデフォルトで持っている全文検索機能です。 ですが、現時点(MySQLVer5.5)では、データベースエンジンはMyISAMのみ、スペースで区切られているような言語しかサポートされていません。 つまり、そのままでは日語の全文検索機能としては使えません。 日語で使用したいときは、何らかの方法で文

  • MySQL Fulltext Index × Ngram × 日本語検索は遅い | ビズリーチラボ

    イリュージョニスト鈴木です。 今回は前回の続きで、 「MySQLのFullText Index」について書きたいと思います。 前回は、MySQLのFulltext Index はライトでいいよという話でした。 今回は、MySQL FullText Index × Ngramでの日語検索は遅いですよ つまり、使えないよ~という話をします。 矛盾してるじゃねーか!と、お叱りを受けそうですが、 MySQL Fulltext Indexが遅いといっているわけではありません。 技術の使い方を間違えると、来のポテンシャル(性能)を引き出ないという話です。 ちょっとした失敗事例でもありますので、参考になればと思います。 前回の記事:MySQL FullText Indexで、Lightに日語検索 ## おさらい。MySQLのFullTextIndexで日語検索する場合どうするの?##

  • MacにTermExtractをインストールして使ってみる - Furudateのブログ

    こんにちは。 最近自然言語処理のツールを色々といじっています。 今回は専門用語自動抽出ツールであるTermExtractというものをインストールして使ってみたいと思います。 ツールのページはこちら。 Web版もありますが今回は自分のシステムに組み込みたいこともあったのでPerlモジュールを使います。 基的にこちらにインストールから使い方まで書いてありますが若干詰まったのでそこも含めてメモしておきます。 実行環境 以下私の環境になります。 OS: OS X Mavericks Perl v5.21.6 plenvでインストールしています。インストール方法はこちら。 Perl DB_Fileモジュール TermExtractは学習機能を有していますが、学習機能を使うためにはこのモジュールのインストールが必要です。今回は使わないのでなくても良いですが、一応インストールしておきました。インストー

    MacにTermExtractをインストールして使ってみる - Furudateのブログ
  • IPADIC(IPA辞書)とはなにものか?

    ※私は言語処理に関する知識は無いので、あくまで「IPADICとは何ものなのか?」という点に絞ってのみ記述しています。まあ、ここまで突っ込んだのは戯れですが、一応の目的として現在から未来にわたって無料で入手できる形態素解析を使うに当たり、「メンテナンスが継続されている辞書」が入手できるかを調べたかったという意図もあります。 日語を処理する上で形態素解析というのはわりと欠かせないものです。 Webのサービスでよく用いられている形態素解析器にはChaSenとmecabがありますが、これらのエンジンは何らかの辞書を利用して日語を解析します。 ちなみに形態素解析器と言うのはChaSenの表現を帰りれば「形態素解析器とは、入力文を単語単位に分割し品詞を付与するツールである。」ということです。形態素解析器の開発の歴史はMeCab の開発経緯をご覧ください。 ここでChaSenにもMeCabにも、標準

    IPADIC(IPA辞書)とはなにものか?
  • php_mecab API

    php_mecab-0.2.0の関数一覧を整形してみました。 mecab_version - Get the version number of MeCab. mecab_split - Split string into an array of morphemes. mecab_new - Create new tagger resource of MeCab. mecab_destroy - Free the tagger. mecab_sparse_tostr - Get the parse result as a string. mecab_sparse_tonode - Get the parse result as a node. mecab_nbest_sparse_tostr - Get the N-Best list as a string. mecab_nbest_in

  • MeCab と php-mecab のインストールメモ(CentOS7.1)

    MeCab は、日語の文章を解析して、単語に分割してくれるソフトウェアです。WEBサービスを作るにあたって MeCab を PHP から使う必要があったので、今回は php-mecab もインストールしました。MeCab(めーきゃぶ)の名称は、開発者さんの好物「めかぶ」にちなんで付けられたそうです。ふと、めかぶをつまみに一杯やりたくなりました。(^^) MeCab のインストール・MeCab のダウンロード wget http://mecab.googlecode.com/files/mecab-0.996.tar.gz ・MeCab のインストール tar xvzf mecab-0.996.tar.gz cd mecab-0.996/ ./configure make make check sudo make install IPA辞書のインストール文章の解析に使う辞書をインストールし

    MeCab と php-mecab のインストールメモ(CentOS7.1)
  • MySQL :: MySQL 8.4 Reference Manual :: 14.9.6 Fine-Tuning MySQL Full-Text Search

    WhatAmILookingFor
    WhatAmILookingFor 2015/12/09
    InnoDBとMyISAMでfulltextインデックスの設定が違うのか“The minimum and maximum lengths of words to be indexed are defined by the innodb_ft_min_token_size and innodb_ft_max_token_size for InnoDB search indexes,”
  • 音楽のカバー曲について質問します。著作権? - 日本のJ-popがいろいろな国で曲がカバーされたり、また日本も外国アーティス... - Yahoo!知恵袋

    知ってる用語をみんな並べましたね(笑。内容が混乱しているし、話すと長くなるので、手短に書きます。 まず曲を使用する(カバーをする)のに、基的に人同意は必要ありません。日ならJASRACに届出さえすれば、使用できます。日では慣例で「使いますよ」と事務所間で連絡はしますが、ほとんど人に連絡は行かないと思います。「著作権」は「権利の名称」であり、「印税」などのように金銭が発生するものではありません。多分君が思ってる「著作権」は、「原盤権」にあたります。「原盤権」とは「Aさん」が歌った「B」という歌に発生する権利で、これがないと「AさんのBの歌」は使えません。ただしカバーに使用するために「B」の歌を使うならば、JASRACに届ければ、使えます。この場合発生するのが「印税」になります。作詞・作曲に対する印税を支払わなければいけません。そう考えると、カバー曲は利益が少ないと考えられます。ただ

    音楽のカバー曲について質問します。著作権? - 日本のJ-popがいろいろな国で曲がカバーされたり、また日本も外国アーティス... - Yahoo!知恵袋
  • Swiftオープンソース化の衝撃 - Hatena Developer Blog

    エンジニアの id:cockscomb です。この記事ははてなデベロッパーアドベントカレンダー2015の8日目の記事です。昨日は id:Songmu による Markdownドキュメントをgithubで管理して、はてなブログでホストする ~ Mackerelの場合 でした。 Swiftがオープンソース化されて数日が過ぎました。皆さんいかがお過ごしでしょうか。 Swiftのオープンソース化そのものは今夏のWWDCでアナウンスされていた通りです。しかし私を含めた多くのSwiftプログラマーは、このオープンソース化にとても興奮しています。 WWDC 2015のキーノートで、Swiftが今年中にオープンソースになり、OS Xに加えてLinux上での動作がサポートされると発表されたとき*1、私たちはそれを予感していたにも関わらず熱狂しました。しかし同時に、いったいどこまでがオープンソースになるのか、

    Swiftオープンソース化の衝撃 - Hatena Developer Blog
  • PHP で MySQL FULLTEXT + MeCab で簡単に全文検索を実装する

    大量のデータがあるサイトに検索機能を実装することになりました。LIKE 演算子で %keyword% と検索してみたところ、結果が1分経っても返って来なかったのでで Ngram もしくは MeCab を使った全文検索をできるように仕組みを実装しました。 自分の勉強のために改めて自分で解説してみることにします。初心者の視点から書いてるので、全文検索をやったことがない方やこれから全文検索をしようと思ってる人は入門の参考にしてください。 MySQL での日語全文検索について MySQL の FULLTEXT 型とは そもそも MySQL の FULLTEXT 型というインデックスを使えばそれだけで全文検索をできます。しかし英語のように単語がスペースで区切られてる時だけであり、日語のように全て繋がっている場合は機能しません。 そのため MeCab などの日形態素解析で日語から単語を抽出し

  • Elasticsearch 日本語で全文検索 その2

    Elasticsearch では、すでに日語で全文検索する為のトークナイザーやノーマライズなどの加工処理で使用するフィルターなどがビルトインまたは、サードパーティ製のプラグインとして多数存在します。 ここでは、日語全文検索で使用しそうなトークナイザーやフィルターなどを説明します。 主要モジュールNGram Tokenizer N-グラムを提供するトークナイザーです。Elasticsearch にバンドルされています。Japanese (kuromoji) Analysis for Elasticsearch 日形態素解析を提供するプラグインです。各種 Analyzer、Tokenizer、TokenFilterが含まれます。cjk_width Token Filter 半角・全角などを統一するためのフィルターです。Elasticsearch にバンドルされています。Lowercas

    Elasticsearch 日本語で全文検索 その2