タグ

ブックマーク / engineering.linecorp.com (4)

  • 類似文字列検索ライブラリResemblaを公開しました

    LINE株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。 LINEヤフー Tech Blog LINEでClovaの開発をしている上村です。これはLINE Advent Calendar 2017の13日目の記事です。今日は文字列の話をします。 はじめに 与えられた文字列によく似たものを大きな文字列集合から探すということは、古典的でありふれていながら奥が深く難しい問題です。文字列の類似度を正確に見積もるには複雑な計算が必要ですが、膨大な量のコーパスが与えられたときも可能な限り高速に応答を返す必要があります。 検索する文字列の性質をよく把握することも、品質のよい類似文字列検索を行うためには極めて大切です。ここで、今回考える問題の例を見てみます。 この例では、1文字ずつ違いを見つけ出したり、単語単位で見たり、文全体が疑問文

    類似文字列検索ライブラリResemblaを公開しました
  • Go言語のGCについて - LINE ENGINEERING

    なぜGo言語はコンパクションを採用していないのか GoogleのRick Hudson氏によるISMM 2018 Keynote “Getting To Go”を参照すると、以下のことがわかります。 2014年の時点では”Read barrier free concurrent copying GC”を計画していた しかし期間的な制約から断念し、CMSに舵を切った(この時期に彼らは、ランタイムをCからGoに書き換える作業も行う必要がありました。Changes to the runtime) TCMallocをベースとしたメモリアロケーターを採用することで、断片化およびアロケーションの速度の問題を解決した Go言語のメモリアロケーションについては、ランタイムのコードのコメントにも詳しく記載されています。 malloc.go This was originally based on tcmal

    Go言語のGCについて - LINE ENGINEERING
  • 新語・固有表現に強い「mecab-ipadic-NEologd」の効果を調べてみた

    このようにすることで、 そもそも mecab-ipadic-NEologd に意味はあるの? mecab-ipadic-NEologd で分かち書きして悪影響は無いの? mecab-ipadic-NEologd を週2回も更新することに意味はあるの? などの典型的な疑問について考察する材料を得たいと考えました。 学習器と特徴ベクトルの作り方 学習器は LIBLINEAR を使用しました。LIBLINEAR で学習するときのパラメーターですが、今回は辞書やデータごとに最適なパラメーターを探すことが今回の目的ではありません。そこで、別の期間のデータと MeCab 用の辞書を用意して、事前に実験と相対的に同様なデータと辞書の関係を作って探索することにしました。その結果、「s=5, c=0.8, B=-1」という設定が比較対象の UniDic にとって総合的に有利だったのでそれを採用しました。 各

    新語・固有表現に強い「mecab-ipadic-NEologd」の効果を調べてみた
  • 類似文字列検索ライブラリResemblaを公開しました - LINE ENGINEERING

    LINEでClovaの開発をしている上村です。これはLINE Advent Calendar 2017の13日目の記事です。今日は文字列の話をします。 はじめに 与えられた文字列によく似たものを大きな文字列集合から探すということは、古典的でありふれていながら奥が深く難しい問題です。文字列の類似度を正確に見積もるには複雑な計算が必要ですが、膨大な量のコーパスが与えられたときも可能な限り高速に応答を返す必要があります。 検索する文字列の性質をよく把握することも、品質のよい類似文字列検索を行うためには極めて大切です。ここで、今回考える問題の例を見てみます。 この例では、1文字ずつ違いを見つけ出したり、単語単位で見たり、文全体が疑問文や否定文であるかどうかを調べ、それらを総合的に見ることで最終的な判断を下しています。文字だけを見た場合、1文字の違いによって全く違う単語になることは見つけられませんし

    類似文字列検索ライブラリResemblaを公開しました - LINE ENGINEERING
  • 1