temp

さくっとtfidfプログラム。
重すぎて話にならない。

共起DBの形式は
語のid, それと共起した語のid, 共起回数

| srcid | cofreq | num |
|-------+--------+-----|
|     2 |     16 |   1 |
|     2 |     28 |   1 |
|     2 |     56 |   1 |
|     2 |     57 |   1 |
|     2 |     62 |   1 |
|     2 |     63 |   4 |
|   ... |        |     |
|     3 |        |     |
|     4 |     94 |   4 |
|     4 |     98 |   4 |
|     4 |   1613 |   1 |
|     4 |   6252 |   1 |
|   ... |        |     |
#!/usr/bin/env python
# -*- coding:utf-8 -*-

## 共起DBにtfidf適用しよう。

##オプション解析用
from optparse import OptionParser, OptionValueError
import os
usage = "usage: %prog -d dirname [options]"
parser = OptionParser(usage)
parser.add_option("-d", "--db", action="store", help=u"処理対象DB") #オブション-dに続くDBファイルを処理
parser.add_option("-o", "--output", action="store", help=u"出力ファイ

研究室紹介

研究室紹介があったのでnal研の発表資料でも…
アップロードサイズMAXで2MBかい。

tomaken.pdf

作業報告

今週やった事

  • wordnetを利用して語にメタデータをつける

メタデータ付け

  • ipadicにメタデータを付けて拡張しました。
  1. ipadicのデータをそのままDBに突っ込む
    <wordテーブル>

    |    id | lemma | pos1 | pos2 | pos3 | pos4 | orig | yomi |
    |-------+-------+------+------+------+------+------+------|
    | 332222 | 踊る   | 動詞 | 自立 | * | * | 踊る | オドル   |
    | 332223 | 踊ら   | 動詞 | 自立 | * | * | 踊る | オドラ   |
    | 332224 | 踊ん   | 動詞 | 自立 | * | * | 踊る | オドン   |
    | 332225 | 踊ろ   | 動詞 | 自立 | * | * | 踊る | オドロ   |
    | 332226 | 踊り   | 動詞 | 自立 | * | * | 踊る | オドリ   |
    | 332227 | 踊っ   | 動詞 | 自立 | * | * | 踊る | オドッ   |
    | 332228 | 踊れ   | 動詞 | 自立 | * | * | 踊る | オドレ   |
    | 332229 | 踊れ   | 動詞 | 自立 | * | * | 踊る | オドレ   |
    | 332230 | 踊りゃ | 動詞 | 自立 | * | * | 踊る | オドリャ |
    | 332231 | 踊ん   | 動詞 | 自立 | * | * | 踊る | オドン   |
    | 332232 | 踊     | 動詞 | 自立 | * | * | 踊る | オド     |
  2. ipadicのままだと、動詞の活用形が全部違う語として登録されているので、原型だけ取り出したテーブル作成
    <origテーブル>
  3. | origid | orig       | pos1 |
    |--------+------------+------|
    |  13524 | 踊る       | 動詞 |
  4. origテーブルの各語をwordnetで引いて上位語をメタデータとしてとる。
    <wn_metaテーブル>

    | origid | selfsyn    | sefname | hypesyn    | hypename |
    |--------+------------+---------+------------+----------|
    |  13524 | 01894649-v | dance   | 01831531-v | move     |
    |  13524 | 01708676-v | dance   | 01831531-v | move     |

問題点

  • wordnetでは読みが考慮されない。
    空(そら) も空(から)も同じと見なされることが
  • wordnetでは名詞、動詞、形容詞、副詞しか登録されてないので、助詞とかは判断不能(まぁ助詞は必要ないかも)
  • wordnetだと不足している語が多い。
    ipadicは全39万語、抽出された原型は21万語、wordnetは8万語前後。
    今回wordnetで引いて、語がwordnetに登録されていたのは3万2千、うち上位語があるのは2万9千くらいでした。少ないかも。
  • wordnetでは、形容詞・副詞は 上位語を持たない。=メタデータが付けられない。
  • メタデータは上位語だけでいいのか?

[objc]辞書.appをコマンドラインから引く

辞書.appをコマンドラインから引く。

  • 辞書指定
  • 語義が複数ある場合は全部表示
  • 見出しが複数ある場合も全部表示
  • html出力

ソースコード(objective-c)

// compile: gcc -Wall -fobjc-gc -O2 -std=c99 dict.m -framework carbon -framework cocoa
// export definition as html

#import <Cocoa/Cocoa.h>
#import <CoreServices/CoreServices.h>

DCSDictionaryRef DCSDictionaryCreate(CFURLRef url);
CFArrayRef DCSCopyRecordsForSearchString(DCSDictionaryRef dictionary, CFStringRef string, void *u1, void *u2);
CFDataRef DCSRecordCopyData(CFTypeRef record);
CFStringRef DCSDictionaryGetName(DCSDictionaryRef dictionary);

int main(int argc, char *argv[])
{
if(argc <= 1){
printf("Usage: %s searchterm \n”,argv[0]);
return 1;
}

NSString *word = [[NSString alloc] initWithUTF8String:argv[1]];
//検索ワード指定
NSURL *url = [NSURL fileURLWithPath:@”/Library/Dictionaries/Shogakukan Daijisen.dictionary”];
//検索する辞書指定

CFTypeRef dictionary = DCSDictionaryCreate((CFURLRef) url);
CFArrayRef records = DCSCopyRecordsForSearchString(dictionary, (CFStringRef)word, 0, 0);

for (id record in (NSArray *)records) {
NSLog(@”dict %@”, DCSRecordCopyData(record) );
}
return 0;
}

CFTypeRef DCSDictionaryCreate((CFURLRef) url);
でファイルパスから辞書への参照を作れるらしい。

CFArrayRef DCSCopyRecordsForSearchString(dictionary, (CFStringRef)word, 0, 0);
で指定辞書からwordをhtml形式で引く。みたいです。
品詞、読み、意味がclassで分かれているから使いやすい かも。

ちなみに実行結果

$ ./a.out “林檎”
2009-11-08 15:05:07.507 a.out[4067:10b] dict

りゅう‐ごう
檎】
リウ‐
《「りんごん」の「ん」を「う」と表記したもの》りんご」に同じ。〈和名抄〉

2009-11-08 15:05:07.511 a.out[4067:10b] dict

りん‐ご
【林檎】
バラ科の落葉高木。また、その果実。葉は卵円形。4、5月ごろ、葉とともに白または淡紅色の5弁花を開き、のち球状の赤色などの実を結ぶ。甘酸っぱく白い食用部は、花托の発達したもの。ヨーロッパ中部から南東部の原産。日本には明治時代に欧米から紅玉デリシャスなどの品種が導入され、青森長野などで栽培。古くは、在来の和林檎などをさした。りゅうごう。 実=秋 花=春》「—噛む歯に青春をかがやかす/麦南」

参考

http://code.google.com/p/undocumented-goodness/source/browse/trunk/UndocumentedGoodness/?r=12

Hello world!

Welcome to 琉球大学 工学部情報工学科. This is your first post. Edit or delete it, then start blogging!