{"id":17212044,"url":"https://github.com/whitead/wordmodel","last_synced_at":"2025-09-09T15:34:08.758Z","repository":{"id":145846602,"uuid":"21846028","full_name":"whitead/WordModel","owner":"whitead","description":"A C++ library for syntax and topic modeling","archived":false,"fork":false,"pushed_at":"2015-03-22T13:49:44.000Z","size":2871,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-30T11:29:52.108Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/whitead.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-07-15T04:18:36.000Z","updated_at":"2015-03-22T13:49:45.000Z","dependencies_parsed_at":"2023-04-05T18:49:17.459Z","dependency_job_id":null,"html_url":"https://github.com/whitead/WordModel","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whitead%2FWordModel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whitead%2FWordModel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whitead%2FWordModel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/whitead%2FWordModel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/whitead","download_url":"https://codeload.github.com/whitead/WordModel/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245466387,"owners_count":20620193,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-15T02:59:06.764Z","updated_at":"2025-03-25T12:41:01.788Z","avatar_url":"https://github.com/whitead.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"Word Model Written in C++\n======\n\nThis is a C++ implementation of a word model\n\nExecutables\n====\n\nsrc/echo_server\n---\nAn async io server that echos what's passed to it. \n\nsrc/stdin_tcp\n---\n\nAn async io package that sends stdin to a server as a tcp packet. This\ncombined with echo server can test the custom packet definition I\nhave.\n\nsrc/model_server.cpp\n---\n\nThis the async io model server that handles creating and sending data\nto models. Theoretically can handle multiple models-connections.\n\nNodeJS Files\n===\n\nnodejs/local_client.js\n---\n\nThis creates a local server to host the interaction webpage. \n\nnodejs/socket_server.js\n----\n\nThis is the websocket server that communicates with the webpage being served. \n\nnodejs/model_adaptor.js\n---\n\nThis is what presents a model for the socket_server to interact\nwith. Handles packet definition and communication with the async io\nmodel server.\n\nnodejs/packet.js\n---\nThs packet definition reimplemented in js. \n\nDev Environment\n====\n\n1. Start the model-server\n2. Start the socket-server, generally as root so you can bind port 80.\n3. Start the local-server. \n\n====\n\nImplementation Notes =====\n\nThe C++ program can run as a daemon and communicate via sockets to\nsend training data and receive predictions. See the [boost asio daemon\nexample](http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/example/cpp03/fork/daemon.cpp)\nfor making a daemon. See the [boost asio udp server\nexample](http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/example/cpp11/echo/blocking_tcp_echo_server.cpp)\nfor receiving training text and sending/requesting predictions. I can\nthen write a simple NodeJS server to communicatet instead of\nimplemeting the server in C++.\n\nBounded context Tree\n----\n\nDealing with new tokens: Should come in at average for each vector. ","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhitead%2Fwordmodel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwhitead%2Fwordmodel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwhitead%2Fwordmodel/lists"}