BayesianClassifierの動作概要ツイートのbioおよび本文に出現する名詞に関して,それらがあるプロファイルに特徴的な名詞である dịch - BayesianClassifierの動作概要ツイートのbioおよび本文に出現する名詞に関して,それらがあるプロファイルに特徴的な名詞である Việt làm thế nào để nói

BayesianClassifierの動作概要ツイートのbioおよび本

BayesianClassifierの動作
概要
ツイートのbioおよび本文に出現する名詞に関して,それらがあるプロファイルに特徴的な名詞であるかどうかを調べることでプロファイルを推測するプロファイラを表現したクラスです.



このクラスはコンストラクタでFileオブジェクトとしきい値を受け取り,Fileオブジェクトに書かれた各プロファイルごとの単語の出現数をロードする必要があります.

classifyメソッドは,ツイートを表すオブジェクトを受け取り,それをポストしたユーザのプロファイルをルールに基づいて推定して返します. この時nullを返すことは許されません.

判定手順
BayesianClassifierは,すべてのプロファイルについて,あるツイートがそのプロファイルに属する確率を計算し,それがもっとも高いプロファイルを返すことでツイートをポストしたユーザのプロファイルを推定します.

この判定手順は,A plan to spam(http://www.paulgraham.com/spam.html)を参考にしています. これと矛盾している,間違ったアルゴリズムを使っていると思われる場合は教えてください.

その手順は次のようになります.

ツイート1つについて,それが男性のものである確率,女性のものである確率,10代のものである確率,20代のものである確率,...,50代のものである確率を計算する
ユーザの性別について,確率の高い方を選ぶ.ただし,設定されたしきい値を下回った場合は不明扱いにする
ユーザの年代について,確率の高い方を選ぶ.ただし,設定されたしきい値を下回った場合は不明扱いにする
性別・年代が確定したら,対応したプロファイルを返す.どちらか一方でも不明であった場合はUNKNOWNを返す
あるツイートが,ある属性を持つユーザの(例えば男性の)ツイートである確率は,次のように計算します.

ツイートのbioと本文を形態素解析し,出現する名詞をリストアップする
ある単語wについて,それをポストしたユーザの 属性がpである確率を式1により求める. これをprob(p,w)とする.
|prob(p,w) - 0.5|が大きい順に,最大で15個の名詞を選ぶ. ただしこの値が0であるものは除く. 名詞の集合をWとする.
Wから,ツイートをポストしたユーザの属性がpである確率を,式2によって計算する.
プロファイルのうちもっとも確率の大きなものを返すただしこのとき,しきい値を超えない場合はUNKNOWとして返す.
プロファイルを判定する時,性別と年代を別々に判定するのではなく,M10である確率,M20である確率……というように判定する方法も考えられますが,そうしない理由は,それではデータ量が少なくなりすぎるからです.

男性でなければ女性であるという判定を行わない理由は,男性のものとも女性のものともわからない発言があると思われるからです.

式1
pでない属性をall_but(p)とする.

属性kを持つユーザによってポストされたツイートの中に単語wが出現した回数をnum(k,w),属性kを持つユーザによってポストされたツイートの総数をallnum(k)とする.

すると式1は次のように表現できる.

def prob(p,w) :
if num(p,w) + num(all_but(p),w) < 5 :
return 0.5
p_prob = min(1, 2 * num(p,w) / allnum(p))
q_prob = min(1, num(all_but(p),w) / allnum(all_but(p)))
return min(0.99, max(0.01, p_prob / ( p_prob + q_prob )))
式2
単語wを含むツイートをポストしたユーザが属性pを持つ確率をprob(w,p)とすると,式2は次のように表現できる.

def expr2(W, p) :
p_prob = 1
for w in W :
p_prob = p_prob * prob(w,p)
n_prob = 1
for w in W :
n_prob = n_prob * (1 - prob(w,p))
return p_prob / ( n_prob + p_prob )
初期化に使用されるファイルの書式
BayesianClassifierが初期化時に受け取るファイルは, 属性の一覧,各属性に属する総ツイート数, および単語と,プロファイルごとの出現数が記録されたCSVファイルです. ファイルはUTF-8でエンコードされているものとします.

具体的には,ファイルの内容は次のようになります.

profiles,M,F,10,20,30,40,50
num_of_tweets,172,139,172,93,129,126,87
word1,72,31,38,82,59,109,22
この場合,1行目が属性の一覧, 2行目が各属性に属する総ツイート数, 3行目以降が単語と属性ごとの出現数を表しています.

次のような場合,初期化時に例外を発生させるべきです

属性一覧および総ツイート数がない場合
属性の一覧に,属性として解釈できない文字が含まれていた場合
総ツイート数がどれか1つでもマイナスの値であった場合
3行目以降は,次のような行は無視してください.

空行
単語の出現数一覧のカラム数が属性の一覧のカラム数より小さい場合 (出現数と属性を対応付けられない場合)
単語の出現数に1つでもマイナスの値が含まれていた場合
テスト観点
正常系
次のようなルールファイルによってインスタンスが正常に初期化されることを確認してください.

正しいフォーマットのルールのみを含もの
プロファイル一覧とツイート総数だけを含むもの
空行を含むもの
出現数がマイナスになっている単語を含むもの
単語の出現数を表すカラムの数が足りない行を含むもの
単語の出現数を表すカラムの数が多すぎる行を含むもの
classifyメソッドが,次の場合に正しく動作することを確認してください.

単語の出現数がすべて0であるようなファイルを読んだ時. メソッドは常にUNKNOWNを返すはずです.
異常系
次の場合,例外を発生させるべきです.

初期化時,単語の出現数ファイルの書式が異常である場合
しきい値が0以下,あるいは1以上であった場合
ResultWriterクラス
ユーザの名前とプロファイルをタブで区切って1行に1人出力した テキストファイルを,gz圧縮した形式で出力するようにしてください.

q.v. GZipOutputStream

プログラムの起動
プログラムを実行するためにはいくつかの情報を与える必要があります. それは次のようなオプションで与えられるべきです.

rule
RuleBaseClassifierが使う判定ルールを含むファイル名
model
BayesianClassifierが使う判定モデルを含むファイル名
threshold
BayesianClassifierが使うしきい値
to
結果ファイルを書き込むためのディレクトリ名
実際のプログラムは次のように起動されることになります.

profiler --rule RuleFile.tsv --model model.txt --threshold 0.8
--to /home/profiler/result /path/to/raw/data/2014/11/01/
この場合,プログラムは判定ルールに「RuleFile.tsv」を, BayesianClassifierの判定モデルに「model.txt」を使い, しきい値を0.8として判定器を初期化し, 「/path/to/raw/data/2014/11/01/」にあるRAWデータファイルを読み込んで 「/home/profiler/result」に出力する.

コマンドラインオプションのパースに関しては,Apache Commons CLIを参照してください.

ログ出力仕様
slf4jを使用し,ログを出力してください.

ログは1回につき1行を出力してください. このとき,ログはLTSVフォーマットに従うようにしてください. このフォーマットは,Mapを1行になるよう文字列化したもので,キーと値を:(コロン)で区切って並べたものを,タブで連結した形式です.

これは後でログをPerlなどで解析する時に都合の良い形式です.

ログは,自動的に行われる処理について,どの処理が成功し,どの処理がなぜ失敗したのかということと,成功した場合はどれくらい時間がかかったのかということ,失敗して再処理を手動で行う時,どのような問題への対処を行い,どのような引数をわたせばよいのかということを知るために残されます. そうした情報を残すために,log4jのPatternLayoutを利用して,次のことが常に出力されるようにしてください.

プログラムのプロセスID
ログを出力した時間
ログのレベル
ログを発生させたクラス
ログメッセージ
プログラムからログ出力までにかかった時間
コードに添付されたlog4.propertiesファイルを参考にしてください.

処理が正常に進行した時,次のタイミングで,レベルINFOのログが出力されるべきです.

プログラムが開始された時.プログラムが開始されたというメッセージを残してください.
各Classifierが正常に初期化された時.
プログラムが正常に終了した時.プログラムが終了したというメッセージを残してください.
また,例外が発生した時,それがプログラムを終了させる例外である場合, なるべく上のレベルで例外をキャッチし,レベルERRORのログを出力させてから終了させるべきです.

その他,必要と思われるログを,DEBUGレベルで出力して構いません.

例外処理
次の例外が発生した時,プログラムは終了するべきです.

RuleBaseClassifierおよびBayesianClassifierの初期化に失敗した場合
RawDataParserがIOExceptionを発生させた時
ResultWriterが出力に失敗した時
テスト仕様
#### 性能系(速度) DummyRawDataWriterを使うとダミーのRAWデータを生成することができます. 1日分のRAWデータを生成し,実行にかかった時間を測定して報告してください. #### 性能系(負荷、スケーラビリティ) 1日分のRAWデータを生成し,それを処理したときのgclogを添付してください. このときjvmに与えるメモリは2GBとし,それでOutOfMemoryExceptionが 発生しないことを確認して下さい.
0/5000
Từ: -
Sang: -
Kết quả (Việt) 1: [Sao chép]
Sao chép!
BayesianClassifier hành viTổng quanHồ sơ danh từ sinh học tweets và văn bản xuất hiện, họ đã bày tỏ hồ sơ để đoán cấu hình bằng cách kiểm tra cho dù các lớp học đặc trưng danh từ.Bạn cần phải tải một số lần xuất hiện của từ viết bằng một đối tượng tập tin cho mỗi cấu hình mỗi, lớp này mất tập tin đối tượng và ngưỡng trong các nhà xây dựng.phân loại phương pháp mất đối tượng đại diện cho tweet, trả lại, ước tính theo quy định rằng nó đăng hồ sơ người dùng. Không được phép trở về null tại thời điểm này.Quyết định quy trìnhBayesianClassifier, tính toán xác suất của tất cả các thông tin hồ sơ, thuộc cấu hình đó một tweet, ước tính các Tweets đăng bằng cách trả lại nó là hồ sơ người dùng hồ sơ cao nhất.Thủ tục quyết định này là một kế hoạch để thư rác (http://www.paulgraham.com/spam.html) đề cập đến. Xin vui lòng cho tôi biết nếu bạn dường như sử dụng các thuật toán sai mâu thuẫn với điều này.Các thủ tục trông như thế này.Để tính toán xác suất cho một tweet, nó là người đàn ông, các xác suất của phụ nữ trong, xác suất của thiếu niên, xác suất của 20-somethings, xác suất... fifties trongVề giới tính của người dùng, chọn một xác suất cao. Tuy nhiên, nếu falls dưới ngưỡng thiết lập để xử lý không rõTuổi của người dùng, chọn một xác suất cao. Tuy nhiên, nếu falls dưới ngưỡng thiết lập để xử lý không rõTrả về tương ứng, xác định cấu hình giới tính và tuổi tác. Trở lại chưa biết nếu một trong hai là không rõ ràng nhưng một) ( Ví dụ quần tweets một tweet, với một xác suất thuộc tính được tính như sau.Vào danh sách danh từ tweets sinh học và phân tích hình Thái văn bản đầy đủ, và xuất hiệnCác thuộc tính của một người dùng đăng nó về một chữ w, p xác suất cho công thức 1. Và prob (p, w) để làm điều này.| prob (p, w)-0.5 | tối đa, trong thứ tự giảm dần bằng cách chọn 15 danh từ. Ngoại trừ những gì giá trị này là 0. Danh từ tập thể để W.Bởi phương trình 2 tính toán xác suất bạn gửi tweets từ W, thuộc tính người dùng trong các p.Chỉ khi ngưỡng này không vượt quá nếu các cấu hình của hầu hết các tỷ lệ cược lớn để trở về sự trở lại như UNKNOW.Xác suất chứ không phải thời gian để xác định các hồ sơ, giới tính và tuổi để xác định một cách riêng biệt M10, M20 xác suất. Và các lý do như vậy không phải để làm như vậy có thể là cách để xác định, do đó, từ các dữ liệu khối lượng là quá thấp.Tại sao các bản án ở nam giới là người đàn bà, và một trong những người đàn ông là từ dường như đã nói và những gì phụ nữ không biết.Công thức 1all_but (p) với các thuộc tính trong các p.Tổng số Tweets đăng bởi người dùng với thuộc tính k lần xuất hiện của từ w là trong các tweet đã được đăng bởi người dùng có thuộc tính k num (k, w) để allnum (k).Sau đó công thức 1 có thể được biểu thị dưới dạng:.def prob (p, w): Nếu in a (p, w) + num (all_but (p), w) < 5: trở về 0,5 p_prob = min (1, 2 * num (p, w) / allnum (p)) q_prob = min (1, num (all_but (p), w) / allnum (all_but (p))) trở về phút (0,99, tối đa (0.01, p_prob / (p_prob + q _ prob)))Biểu hiện 2Xác suất với thuộc tính p người dùng gửi Tweets có chứa từ w để prob (w, p), và loại 2 có thể được đại diện như:.def expr2 (W, p): p_prob = 1 cho w trong W: p_prob = p_prob * prob (w, p) n_prob = 1 cho w trong W: n_prob = n_prob * (1-prob (w, p)) trở lại p_prob / (n_prob + p _ prob)Định dạng của tập tin được sử dụng để khởi tạo cácBayesianClassifier nhận được một tập tin khởi tạo là một tập tin CSV ghi lại tất cả các tweets số thuộc về danh sách các thuộc tính, mỗi thuộc tính, và số lần xuất hiện của từ, và cho mỗi cấu hình. Tập tin được mã hóa theo UTF-8.Cụ thể, các nội dung của tập tin trông như thế này.Hồ sơ, M, F, 10, 20, 30, 40,50num_of_tweets, 172, 139,172, 93,129, 126, 87word1, 72, 31, 38, 82, 59,109, 22Trong trường hợp này, đại diện cho số lần xuất hiện của từ và thuộc tính mỗi dòng số tweets tất cả thuộc về mỗi thuộc tính danh sách thuộc tính, dòng 2, dòng 3 và sau đó.Nếu bạn thích, trong quá trình khởi tạo nên nâng cao một ngoại lệNếu không thuộc tính danh sách và tổng số tweetsNếu chứa ký tự không thể được hiểu là các thuộc tính trong danh sách thuộc tính,Nếu ngay cả một giá trị tiêu cực là các tweets tất cảBỏ qua thứ ba hàng là dòng tiếp theo.Dòng sản phẩm nàoCột Số lần xuất hiện từ danh sách số là ít hơn các cột trong danh sách các thuộc tính nếu (số và thuộc tính không được ánh xạ)Nếu số lần xuất hiện của từ chứa ít nhất một giá trị tiêu cựcKiểm tra quan điểmHệ thống bình thườngĐảm bảo rằng trường hợp được khởi tạo đúng bởi các quy tắc như sau.Chỉ các quy tắc chính xác định dạng bao gồm.Bao gồm chỉ là danh sách cấu hình và tổng số TweetsBao gồm các dòng sản phẩm nàoNhững người có số từ là tiêu cựcNhững gì có hàng số cột đại diện cho số lần xuất hiện của từ là không đủSố cột đại diện cho số lần xuất hiện của từ rất nhiều bao gồm dòng quáXin vui lòng kiểm tra, phân loại các phương pháp để hoạt động được nếu sau đây.Số lần xuất hiện của từ trong tất cả 0 khi tôi đọc nó, chẳng hạn như một tập tin. Phương pháp nên luôn luôn trở lại chưa biết.Loạt các bất thườngNếu sau đây nên là một ngoại lệ.Nếu từ sự xuất hiện số định dạng tập tin là bất thường trong quá trình khởi tạo,Nếu ngưỡng là 0 hoặc ít hơn, hoặc nhiều hơn mộtResultWriter lớpHãy chắc chắn để đầu ra trong văn bản tập tin là in một mỗi dòng, phân tách bằng tab trong tên của người dùng và hồ sơ, định dạng nén gz.q. v. GZipOutputStreamBắt đầu chương trìnhBạn nên cung cấp một số thông tin để chạy chương trình. Nó nên được đưa ra với các tùy chọn sau.quy tắcTên tệp có chứa một quy tắc quyết định được sử dụng bởi RuleBaseClassifierMô hìnhTrong đó có quyết định mô hình sử dụng tên tập tin BayesianClassifierngưỡngSử dụng ngưỡng BayesianClassifierđểKết quả viết để tên tập tin thư mụcChương trình thực tế sẽ bắt đầu sau đây.Hồ sơ - 0,8-quy tắc RuleFile.tsv - mẫu model.txt - ngưỡng - / -/ home/hồ sơ/kết quả /path/to/raw/data/2014/11/01Trong trường hợp này các chương trình bản án quy tắc bằng cách sử dụng mô hình quyết định của BayesianClassifier 'model.txt', 'RuleFile.tsv', tải ngưỡng giá trị khởi tester là 0,8, /path/to/raw/data/2014/11/01 và các tập tin dữ liệu thô, sản lượng để '/ home/hồ sơ/kết quả'.Phân tích của các tùy chọn dòng lệnh cho Apache Commons CLI.Đăng nhập đầu ra chi tiết kỹ thuậtXin vui lòng sử dụng hilf4j, đầu ra đăng nhập.Đăng nhập, đầu ra một dòng / 1. Hãy chắc chắn bạn đăng nhập theo định dạng LTSV. Một loạt các định dạng này, bản đồ đường như, phím và giá trị: ) ( ruột kết nối và phân tách bằng tab trong các hình thức.Thật tốt khi bạn sau đó đăng nhập phân tích chẳng hạn như trong định dạng Perl.Để biết khi nào bằng tay tái xử lý các thất bại rằng sự thành công một đó là lý do tại sao không thành công, thành công các bản ghi mà xử lý thông tin được thực hiện tự động, và làm thế nào lâu nó mất, và đối phó với bất kỳ vấn đề, tốt wataseba bất kỳ đối số mà còn lại. Hãy chắc chắn để lại thông tin như vậy, bằng cách sử dụng log4j PatternLayout, luôn luôn phát ra sau.ID quá trình của chương trìnhThời gian đăng nhập đầu raMức độ đăng nhậpMà lớn lên các lớp học đăng nhậpThông điệp ghiThời gian đăng nhập đầu ra từ chương trìnhXin vui lòng tham khảo log4.properties tệp được đính kèm vào mã.Khi bạn tiến bộ thành công, thời gian sau, mức độ thông tin đăng nhập sẽ được đăng nhập.Khi chương trình được bắt đầu. Xin vui lòng để lại một tin nhắn rằng chương trình được bắt đầu.Khi mỗi loại đã được khởi tạo thành công.Khi chương trình kết thúc bình thường. Xin vui lòng để lại một tin nhắn mà chương trình kết thúc.Ngoài ra, nên chấm dứt với một ngoại lệ khi ngoại lệ xảy ra, nó chấm dứt chương trình nếu việc nắm bắt ngoại lệ ở cấp độ đầu càng nhiều càng tốt, để đầu ra mức độ lỗi đăng nhập từ.Các dường như yêu cầu khác, mức độ của bản ghi gỡ lỗi.Xử lý ngoại lệNgoại lệ sau đây xảy ra, chương trình nên là để kết thúc.Nếu bạn thất bại trong việc khởi tạo các RuleBaseClassifier và BayesianClassifierRawDataParser IOException một được nêu ra:Khi ResultWriter thất bại để đầu raKiểm tra các thông số kỹ thuậtBạn có thể tạo ra các dữ liệu thô của dummy ### hiệu năng hệ thống (tốc độ) DummyRawDataWriter. Đo thời gian nó đã để chạy và sản xuất dữ liệu thô nọ, xin vui lòng báo cáo nó. Xin vui lòng đính kèm các ### tạo ra hiệu năng hệ thống (tải và khả năng mở rộng) và 1 ngày của dữ liệu thô và xử lý nó khi gclog. Kiểm tra sau đó, nó không phải là một OutOfMemoryException khi jvm bộ nhớ 2 GB.
đang được dịch, vui lòng đợi..
Kết quả (Việt) 2:[Sao chép]
Sao chép!
BayesianClassifierの動作
概要
ツイートのbioおよび本文に出現する名詞に関して,それらがあるプロファイルに特徴的な名詞であるかどうかを調べることでプロファイルを推測するプロファイラを表現したクラスです.



このクラスはコンストラクタでFileオブジェクトとしきい値を受け取り,Fileオブジェクトに書かれた各プロファイルごとの単語の出現数をロードする必要があります.

classifyメソッドは,ツイートを表すオブジェクトを受け取り,それをポストしたユーザのプロファイルをルールに基づいて推定して返します. この時nullを返すことは許されません.

判定手順
BayesianClassifierは,すべてのプロファイルについて,あるツイートがそのプロファイルに属する確率を計算し,それがもっとも高いプロファイルを返すことでツイートをポストしたユーザのプロファイルを推定します.

この判定手順は,A plan to spam(http://www.paulgraham.com/spam.html)を参考にしています. これと矛盾している,間違ったアルゴリズムを使っていると思われる場合は教えてください.

その手順は次のようになります.

ツイート1つについて,それが男性のものである確率,女性のものである確率,10代のものである確率,20代のものである確率,...,50代のものである確率を計算する
ユーザの性別について,確率の高い方を選ぶ.ただし,設定されたしきい値を下回った場合は不明扱いにする
ユーザの年代について,確率の高い方を選ぶ.ただし,設定されたしきい値を下回った場合は不明扱いにする
性別・年代が確定したら,対応したプロファイルを返す.どちらか一方でも不明であった場合はUNKNOWNを返す
あるツイートが,ある属性を持つユーザの(例えば男性の)ツイートである確率は,次のように計算します.

ツイートのbioと本文を形態素解析し,出現する名詞をリストアップする
ある単語wについて,それをポストしたユーザの 属性がpである確率を式1により求める. これをprob(p,w)とする.
|prob(p,w) - 0.5|が大きい順に,最大で15個の名詞を選ぶ. ただしこの値が0であるものは除く. 名詞の集合をWとする.
Wから,ツイートをポストしたユーザの属性がpである確率を,式2によって計算する.
プロファイルのうちもっとも確率の大きなものを返すただしこのとき,しきい値を超えない場合はUNKNOWとして返す.
プロファイルを判定する時,性別と年代を別々に判定するのではなく,M10である確率,M20である確率……というように判定する方法も考えられますが,そうしない理由は,それではデータ量が少なくなりすぎるからです.

男性でなければ女性であるという判定を行わない理由は,男性のものとも女性のものともわからない発言があると思われるからです.

式1
pでない属性をall_but(p)とする.

属性kを持つユーザによってポストされたツイートの中に単語wが出現した回数をnum(k,w),属性kを持つユーザによってポストされたツイートの総数をallnum(k)とする.

すると式1は次のように表現できる.

def prob(p,w) :
if num(p,w) + num(all_but(p),w) < 5 :
return 0.5
p_prob = min(1, 2 * num(p,w) / allnum(p))
q_prob = min(1, num(all_but(p),w) / allnum(all_but(p)))
return min(0.99, max(0.01, p_prob / ( p_prob + q_prob )))
式2
単語wを含むツイートをポストしたユーザが属性pを持つ確率をprob(w,p)とすると,式2は次のように表現できる.

def expr2(W, p) :
p_prob = 1
for w in W :
p_prob = p_prob * prob(w,p)
n_prob = 1
for w in W :
n_prob = n_prob * (1 - prob(w,p))
return p_prob / ( n_prob + p_prob )
初期化に使用されるファイルの書式
BayesianClassifierが初期化時に受け取るファイルは, 属性の一覧,各属性に属する総ツイート数, および単語と,プロファイルごとの出現数が記録されたCSVファイルです. ファイルはUTF-8でエンコードされているものとします.

具体的には,ファイルの内容は次のようになります.

profiles,M,F,10,20,30,40,50
num_of_tweets,172,139,172,93,129,126,87
word1,72,31,38,82,59,109,22
この場合,1行目が属性の一覧, 2行目が各属性に属する総ツイート数, 3行目以降が単語と属性ごとの出現数を表しています.

次のような場合,初期化時に例外を発生させるべきです

属性一覧および総ツイート数がない場合
属性の一覧に,属性として解釈できない文字が含まれていた場合
総ツイート数がどれか1つでもマイナスの値であった場合
3行目以降は,次のような行は無視してください.

空行
単語の出現数一覧のカラム数が属性の一覧のカラム数より小さい場合 (出現数と属性を対応付けられない場合)
単語の出現数に1つでもマイナスの値が含まれていた場合
テスト観点
正常系
次のようなルールファイルによってインスタンスが正常に初期化されることを確認してください.

正しいフォーマットのルールのみを含もの
プロファイル一覧とツイート総数だけを含むもの
空行を含むもの
出現数がマイナスになっている単語を含むもの
単語の出現数を表すカラムの数が足りない行を含むもの
単語の出現数を表すカラムの数が多すぎる行を含むもの
classifyメソッドが,次の場合に正しく動作することを確認してください.

単語の出現数がすべて0であるようなファイルを読んだ時. メソッドは常にUNKNOWNを返すはずです.
異常系
次の場合,例外を発生させるべきです.

初期化時,単語の出現数ファイルの書式が異常である場合
しきい値が0以下,あるいは1以上であった場合
ResultWriterクラス
ユーザの名前とプロファイルをタブで区切って1行に1人出力した テキストファイルを,gz圧縮した形式で出力するようにしてください.

q.v. GZipOutputStream

プログラムの起動
プログラムを実行するためにはいくつかの情報を与える必要があります. それは次のようなオプションで与えられるべきです.

rule
RuleBaseClassifierが使う判定ルールを含むファイル名
model
BayesianClassifierが使う判定モデルを含むファイル名
threshold
BayesianClassifierが使うしきい値
to
結果ファイルを書き込むためのディレクトリ名
実際のプログラムは次のように起動されることになります.

profiler --rule RuleFile.tsv --model model.txt --threshold 0.8
--to /home/profiler/result /path/to/raw/data/2014/11/01/
この場合,プログラムは判定ルールに「RuleFile.tsv」を, BayesianClassifierの判定モデルに「model.txt」を使い, しきい値を0.8として判定器を初期化し, 「/path/to/raw/data/2014/11/01/」にあるRAWデータファイルを読み込んで 「/home/profiler/result」に出力する.

コマンドラインオプションのパースに関しては,Apache Commons CLIを参照してください.

ログ出力仕様
slf4jを使用し,ログを出力してください.

ログは1回につき1行を出力してください. このとき,ログはLTSVフォーマットに従うようにしてください. このフォーマットは,Mapを1行になるよう文字列化したもので,キーと値を:(コロン)で区切って並べたものを,タブで連結した形式です.

これは後でログをPerlなどで解析する時に都合の良い形式です.

ログは,自動的に行われる処理について,どの処理が成功し,どの処理がなぜ失敗したのかということと,成功した場合はどれくらい時間がかかったのかということ,失敗して再処理を手動で行う時,どのような問題への対処を行い,どのような引数をわたせばよいのかということを知るために残されます. そうした情報を残すために,log4jのPatternLayoutを利用して,次のことが常に出力されるようにしてください.

プログラムのプロセスID
ログを出力した時間
ログのレベル
ログを発生させたクラス
ログメッセージ
プログラムからログ出力までにかかった時間
コードに添付されたlog4.propertiesファイルを参考にしてください.

処理が正常に進行した時,次のタイミングで,レベルINFOのログが出力されるべきです.

プログラムが開始された時.プログラムが開始されたというメッセージを残してください.
各Classifierが正常に初期化された時.
プログラムが正常に終了した時.プログラムが終了したというメッセージを残してください.
また,例外が発生した時,それがプログラムを終了させる例外である場合, なるべく上のレベルで例外をキャッチし,レベルERRORのログを出力させてから終了させるべきです.

その他,必要と思われるログを,DEBUGレベルで出力して構いません.

例外処理
次の例外が発生した時,プログラムは終了するべきです.

RuleBaseClassifierおよびBayesianClassifierの初期化に失敗した場合
RawDataParserがIOExceptionを発生させた時
ResultWriterが出力に失敗した時
テスト仕様
#### 性能系(速度) DummyRawDataWriterを使うとダミーのRAWデータを生成することができます. 1日分のRAWデータを生成し,実行にかかった時間を測定して報告してください. #### 性能系(負荷、スケーラビリティ) 1日分のRAWデータを生成し,それを処理したときのgclogを添付してください. このときjvmに与えるメモリは2GBとし,それでOutOfMemoryExceptionが 発生しないことを確認して下さい.
đang được dịch, vui lòng đợi..
 
Các ngôn ngữ khác
Hỗ trợ công cụ dịch thuật: Albania, Amharic, Anh, Armenia, Azerbaijan, Ba Lan, Ba Tư, Bantu, Basque, Belarus, Bengal, Bosnia, Bulgaria, Bồ Đào Nha, Catalan, Cebuano, Chichewa, Corsi, Creole (Haiti), Croatia, Do Thái, Estonia, Filipino, Frisia, Gael Scotland, Galicia, George, Gujarat, Hausa, Hawaii, Hindi, Hmong, Hungary, Hy Lạp, Hà Lan, Hà Lan (Nam Phi), Hàn, Iceland, Igbo, Ireland, Java, Kannada, Kazakh, Khmer, Kinyarwanda, Klingon, Kurd, Kyrgyz, Latinh, Latvia, Litva, Luxembourg, Lào, Macedonia, Malagasy, Malayalam, Malta, Maori, Marathi, Myanmar, Mã Lai, Mông Cổ, Na Uy, Nepal, Nga, Nhật, Odia (Oriya), Pashto, Pháp, Phát hiện ngôn ngữ, Phần Lan, Punjab, Quốc tế ngữ, Rumani, Samoa, Serbia, Sesotho, Shona, Sindhi, Sinhala, Slovak, Slovenia, Somali, Sunda, Swahili, Séc, Tajik, Tamil, Tatar, Telugu, Thái, Thổ Nhĩ Kỳ, Thụy Điển, Tiếng Indonesia, Tiếng Ý, Trung, Trung (Phồn thể), Turkmen, Tây Ban Nha, Ukraina, Urdu, Uyghur, Uzbek, Việt, Xứ Wales, Yiddish, Yoruba, Zulu, Đan Mạch, Đức, Ả Rập, dịch ngôn ngữ.

Copyright ©2025 I Love Translation. All reserved.

E-mail: